Use when publishing npm packages - covers package.json configuration, versioning, and provenance
{
"name": "lea-lang",
"version": "1.0.0",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": ["dist"],
"scripts": {
"build": "tsc",
"prepublishOnly": "npm run build && npm test"
}
}
{
"name": "lea-lang",
"version": "1.1.3",
"description": "Pipe-oriented functional programming language",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"bin": {
"lea": "./dist/cli/index.js"
},
"files": [
"dist",
"README.md"
],
"keywords": ["language", "interpreter", "functional", "pipes"],
"author": "Your Name",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/user/lea.git"
},
"engines": {
"node": ">=18"
}
}
{
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./parser": {
"types": "./dist/parser.d.ts",
"import": "./dist/parser.mjs",
"require": "./dist/parser.js"
}
}
}
MAJOR.MINOR.PATCH
1.0.0 → 1.0.1 # Patch: bug fixes
1.0.1 → 1.1.0 # Minor: new features (backwards compatible)
1.1.0 → 2.0.0 # Major: breaking changes
npm version patch # 1.0.0 → 1.0.1
npm version minor # 1.0.0 → 1.1.0
npm version major # 1.0.0 → 2.0.0
npm login
npm publish --access public # For scoped packages
npm publish --provenance --access public
npm publish --dry-run
npm pack # Creates tarball to inspect
src/
__tests__/
tests/
*.test.ts
.github/
docs/
{
"files": [
"dist",
"README.md",
"LICENSE"
]
}
{
"scripts": {
"prepublishOnly": "npm run build && npm test && npm run lint"
}
}