TSFIX
This tool ensures that your compiled JavaScript files are valid ESM by replacing or appending missing extensions in the output files.
Features
Automatically detects typescript configuration and paths.
Handles all types of imports (absolute, relative, internal, dynamic etc.)
Install
npm install --save-dev @2bad/tsfix
Usage
You can use tsfix
as a post-build script in your project. Add the following script to your package.json:
{
"scripts": {
"build": "tsc",
"postbuild": "tsfix"
}
}
This will run tsfix
automatically after your TypeScript compilation. Alternatively, you can run tsfix manually:
npx @2bad/tsfix
Example
Consider the following TypeScript files:
import { helper } from './utils/helper.ts'
export const helper = () => 'helper function'
After running tsc, the compiled JavaScript files might look like this:
import { helper } from './utils/helper.ts'
export const helper = () => 'helper function'
Running tsfix will transform the import paths to:
import { helper } from './utils/helper.js'
Contributing
We welcome contributions! If you find a bug or want to request a new feature, please open an issue. If you want to submit a bug fix or new feature, please open a pull request.