Skip to content

Meta Issue: Getting to 1.0 - It's time for a big refactor! #335

@johnnyreilly

Description

@johnnyreilly

ts-loader has been going for a long time. It's come a long way from its humble beginnings. However, as one of the maintainers, I'd say the codebase could benefit from a tidy up. So that's what I'm planning to do. I'll track it here. Here are the aims of the refactor:

  • Modularise ts-loader. It is presently made up of 2 modules; index.ts and resolve.ts. index in particular is pretty big. To aid comprehensibility, the aim is to split up these modules and make their purpose clearer. The hope is that this will aid the maintainability of the code and make contributing less scary for users.
  • I'm planning to move the ts-loader code into an src directory to make clear where the ts-loader code lives and make it distinct from the various markdown / CI related files.
  • The tests should continue to pass - I do not plan to merge any refactor which leads to failures in either of our test packs (unless there is some acceptable reason)
  • For now at least I still intend to carry on supporting typescript all the way back to TS 1.6. If I find that's an impediment in any way then I may review. But for now at least I see no reason not to (the extra work required seems relatively marginal)

It might take a while to do, but I think it'll be worth it. Once the refactor is done and merged I plan to bump ts-loader to 1.0. I'm not anticipating that there will be any breaking changes but it feels like ts-loader should indicate it's a semi-mature project by its version number. Also, since node 0.12 is being end-of-lifed come december we're going to move to supporting Node 4 as a minimum.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions