JSPM

transform-package-json

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 30
  • Score
    100M100P100Q46289F
  • License MIT

Utility script to transform package.json - Remove scripts, devDependencies and change properties.

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 NPM version

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