https://github.com/nlibjs/esmify
https://github.com/nlibjs/esmify
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nlibjs/esmify
- Owner: nlibjs
- License: apache-2.0
- Created: 2022-05-05T05:10:15.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-24T18:06:06.000Z (11 months ago)
- Last Synced: 2025-07-24T23:49:02.160Z (11 months ago)
- Language: TypeScript
- Size: 895 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
README
# @nlib/esmify
[](https://github.com/nlibjs/esmify/actions/workflows/test.yml)
[](https://codecov.io/gh/nlibjs/esmify)
A command line tool converts tsc output to ESM modules.
## What does it do?
Assume you have file1.js and file2.js.
```javascript
// file1.js
import {v2} from './file2';
const f2 = import('./file2');
// file2.js
import {external} from '../extenal/file';
import {v1} from './file1';
const f1 = import('./file1');
```
esmify disambiguates import sources in the code.
```javascript
// file1.js
import {v2} from './file2.js';
const f2 = import('./file2.js');
// file2.js
import {external} from '../extenal/file.js';
import {v1} from './file1.js';
const f1 = import('./file1.js');
```
## Usage
```
Usage: @nlib/esmify [options]
Arguments:
patterns File patterns passed to fast-glob
Options:
--cwd A path to the directory passed to fast-glob.
--keepSourceMap If it exists, esmify won't remove sourcemaps.
--noMjs If it exists, esmify won't change *.js to *.mjs.
-V, --version output the version number
-h, --help display help for command
```