jnpkg
v2.2.0
Published
npm module packing tool
Downloads
18
Maintainers
Readme
This is a node module packaging tool, which supports Typescript and Standard Javascript languages.
Table of Contents
Background
To publish multiple modules to NPM, it is best to have a common packaging tool that automatically exports CJS version and standard ESM version, as well as type support.
Installation
# local
npm install --save-dev jnpkg
# global
npm install -g jnpkg
Usage
Use the jnpkg init
command to generate the package.json
file.
Set main and module to distinguish between CJS and ESM, which is conducive to the optimization of users when packaging.
The watch mode will be automatically packaged to the target according to the modification of the source file.
{
"main": "lib/index.js",
"module": "es/index.js",
"scripts": {
"watch": "jnpkg watch",
"build": "jnpkg build"
}
}
We put the source files into the src folder of the root directory. (E.g. ./src/index.ts).
Then running npm run build will generate cjs (lib directory) and esm (es directory) in the root directory.
Finally, we can publish to npm normally through the npm publish command.
Or you can set semantic-release
to automatically publish to npm.
The jnpkg init
command automatically generates semantic-release
related files.
NPM Token and GITHUB Token can refer to the following URL
https://github.com/settings/tokens
https://www.npmjs.com/settings/{username}/tokens
Setting
// .jnpkgrc
{
"lib": true,
"es": true,
"browser": true,
"pkgName": "pkg",
"entry": "./src/index.ts",
"binEntry": ["./src/index.bin.ts"], // only cli build mode
}
Maintainers
JuLong - jl917
Contributing
Anyone is welcome to participate in the maintenance and development of this project, and can also submit Issues and PR's