@fgiova/cjs-esm-ts-builder
v1.2.0
Published
Build tool for CJS and ESM modules in TypeScript
Downloads
27
Maintainers
Readme
Typescript CommonJS and ESM Builder for Node.js
Description
This module is a Typescript CommonJS and ESM Builder for Node.js.
It provides a simple way to build your Typescript projects as CommonJS and ESM modules.
It uses tsc and default tsconfig.json to build the project then rewrote import and export of esm files adding .mjs extension and indexes.
Install
npm i @fgiova/cjs-esm-ts-builderCLI usage
npx @fgiova/cjs-esm-ts-builderor
npm install --save-dev @fgiova/cjs-esm-ts-builder
esmBuilderCli options
--target: The target version of ECMAScript to compile to. Default ises2020.--esmFolder: The folder where the ESM files will be generated. Default isesm.--cjsFolder: The folder where the CommonJS files will be generated. Default iscjs.--buildFolder: The folder where the build files will be generated. Default isdist.--help: Show help message.
Programmatic usage
const { build } = require("@fgiova/cjs-esm-ts-builder");
const options = {
target: "es2020",
esmFolder: "esm",
cjsFolder: "cjs",
buildFolder: "dist"
};
build(options)
.then(() => {
console.log("Build completed");
})
.catch((err) => {
console.error(err);
});Configure package.json
{
...
"main": "./dist/cjs/index.js",
"types": "./dist/cjs/index.d.ts",
"module": "./dist/esm/index.mjs",
"exports": {
".": {
"import": {
"types": "./dist/esm/index.d.mts",
"default": "./dist/esm/index.mjs"
},
"require": {
"types": "./dist/cjs/index.d.ts",
"default": "./dist/cjs/index.js"
}
}
},
"files": [
"dist"
],
...
}Options
target: The target version of ECMAScript to compile to. Default ises2020.esmFolder: The folder where the ESM files will be generated. Default isesm.cjsFolder: The folder where the CommonJS files will be generated. Default iscjs.buildFolder: The folder where the build files will be generated. Default isdist.
Notes
- Tested with Node.js >= 20
- Work only on *nix systems (Linux, MacOS, etc.)
License
Licensed under MIT.
