Package Exports
- transform-package-json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (transform-package-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
transform-package-json 
Utility script to transform package.json - Remove scripts, devDependencies and change properties.
Installation
Install this script as a dev dependency.
$ npm install transform-package-json --save-dev
Usage
CLI
Add your build script to your package.json
scripts
:
{
"scripts": {
"build-packagejson": "transform-package-json --remove scripts --remove devDependencies --version 1.0.0 package.json dist/"
}
}
Then run your script:
$ npm run build-packagejson
Programmatically
var pkgTransform = require("transform-package-json");
pkgTransform.transform("package.json", "dist/", {
remove: ["scripts", "devDependencies"],
version: "1.0.0"
});
Exemple
Using the configuration above, consider the following example package.json
to see it in action:
{
"name": "pkg-name",
"version": "0.0.1",
"description": "Package Description",
"author": "SPA Tools",
"license": "MIT",
"main": "index.js",
"repository": {
"type": "git",
"url": "https://github.com/spatools/pkg-name.git"
},
"bugs": {
"url": "https://github.com/spatools/pkg-name/issues"
},
"keywords": [
"spatools"
],
"scripts": {
"build": "npm run lint && npm run build-ts && npm run build-assets",
"build-ts": "tsc -p . --outDir dist",
"build-assets": "cpx \"{package.json,LICENSE,README.md}\" dist",
"lint": "tslint -c tslint.json -p tsconfig.json",
"release": "npm run build && cd dist && npm publish"
},
"dependencies": {
"glob": "^7.1.3",
"nopt": "^4.0.1"
},
"devDependencies": {
"@types/glob": "^7.1.1",
"@types/nopt": "^3.0.29",
"cpx": "^1.5.0",
"tslint": "^5.12.1",
"typescript": "^3.3.3"
}
}
After running the grunt task it will be stored on the samples folder as
{
"name": "pkg-name",
"version": "1.0.0",
"description": "Package Description",
"author": "SPA Tools",
"license": "MIT",
"main": "index.js",
"repository": {
"type": "git",
"url": "https://github.com/spatools/pkg-name.git"
},
"bugs": {
"url": "https://github.com/spatools/pkg-name/issues"
},
"keywords": [
"spatools"
],
"dependencies": {
"glob": "^7.1.3",
"nopt": "^4.0.1"
}
}
Options
Every option is optional.
Option | Type | Default | Description |
---|---|---|---|
remove |
Array |
["scripts", "devDependencies"] |
Removes specified properties from source package.json |
replace |
boolean |
false |
Transform package.json in-place |
basePath |
string |
null |
Keep folder structre starting from basePath . Sets to "" to keep entire folder structure. |
{prop} |
any |
Set the property of the package with given value. (eg: version: "1.0.0" sets the package version to 1.0.0 ) |
Release History
- 1.0.0 Initial Release