(Updated as of 21/04/2022)
This is an epic-type issue to track of our TypeScript migration of the core package. Feel free to edit this as we go along.
Interested migration developers can get started by checking out the Migrating to TypeScript page in our developer's guide.
Dependency graph of remaining js files
(There are some files not presented that are still under consideration on whether to be adapted to TypeScript or leave as-is)
Click the image to view it all full resolution:

The green files are ones that do not have any static dependencies to another file and are highly recommended to migrate first. However, the graph is not 100% accurate, as there are green files that have dynamic imports (like in Plugin.js) or have constants documented to be typed as other files' classes (like PageConfig.js and SiteConfig.js)
Which one should I adapt first?
As mentioned, it is highly recommended that we go through files that do not have any dependencies, and collectively work through the dependency graph upwards until the root, meaning that we perform the migration in topological order.
Though possible to migrate not in topological order, the effort will be much more as you have to be able to infer simple types as a "stand-in" of the dependencies that are not yet migrated.
You can adapt multiple related files residing in the same folder in one migration. For example, you might adapt Plugin.js and PluginManager.js together.
Note that when you adapt a file, you also have to adapt the associated tests as well. For example, adapt linkProcessor.js together with linkProcessor.test.js.
Files checklist
(There are some files not presented that are still under consideration on whether to be adapted to TypeScript or leave as-is)
package root
src
template
test/unit
(Updated as of 21/04/2022)
This is an epic-type issue to track of our TypeScript migration of the
corepackage. Feel free to edit this as we go along.Interested migration developers can get started by checking out the Migrating to TypeScript page in our developer's guide.
Dependency graph of remaining
jsfiles(There are some files not presented that are still under consideration on whether to be adapted to TypeScript or leave as-is)
Click the image to view it all full resolution:
The green files are ones that do not have any static dependencies to another file and are highly recommended to migrate first. However, the graph is not 100% accurate, as there are green files that have dynamic imports (like in Plugin.js) or have constants documented to be typed as other files' classes (like PageConfig.js and SiteConfig.js)
Which one should I adapt first?
As mentioned, it is highly recommended that we go through files that do not have any dependencies, and collectively work through the dependency graph upwards until the root, meaning that we perform the migration in topological order.
You can adapt multiple related files residing in the same folder in one migration. For example, you might adapt Plugin.js and PluginManager.js together.
Note that when you adapt a file, you also have to adapt the associated tests as well. For example, adapt linkProcessor.js together with linkProcessor.test.js.
Files checklist
(There are some files not presented that are still under consideration on whether to be adapted to TypeScript or leave as-is)
package root
srctemplatetest/unithtmlplugins/defaultlib/nunjucks-extensionsutils