1.0.0 • Published 4 years ago

ppjg v1.0.0

Weekly downloads
12
License
MIT
Repository
github
Last release
4 years ago

Publish Package JSON Generator

GitHub Workflow Status npm NPM

Generate a dedicated package.json for publishing without development bloat.

  • Only include properties you need for publishing
  • Override development values
  • Addition of new properties

Quick Start

  • Install the ppjg as a development dependency
node i -D ppjg
  • Create a new publish config called ppj.config.js in your project root directory
  • Define which package.json keys to persist and which to override:
module.exports = {
  persist: ['author', 'dependencies'],
  alter: {
    version: process.env.VERSION
  }
};
  • Run ppjg by executing the generatePublishPackageJson function or by executing the binary via Node
VERSION='V1' npx ppjg
  • Generated example ./out/package.json
{
  "author": "John Doe",
  "dependencies": {
    "example": "1.0.0"
  },
  "version": "V1"
}

Configuration

The Publish-Configuration

The publish-configuration defines which properties of the projects package.json are kept and which will be overwritten. By default, the publish-configuration is defined inside the ppj.config.js. To provide a differently named configuration, see the Generator Configuration section.

PropertyDescriptionConfig Property
persistAn array of property names which will be kept inside the publish-configuration{ persist: ['author', 'name'] }
alterAn object of new or altered properties and their values{ alter: { bin: './cli.js' } }

The Generator Configuration

PropertyDescriptionCLI FlagConfig Property
Output DirectoryDefines the location of the generated package.json-o, --outDir DIRECTORY{ outDir: DIRECTORY }
Publish Config FileFile name of the config used for the generation-c, --config FILE{publishConfigFileName: FILE}

Usage

Binary

The provided binary offers easy invocation via the CLI or NPM script.

CLI

  • Directly execute the binary with npx:
npx ppjg [options]

NPM script

  • Create a new script entry invoking the binary:
{
  "scripts": {
    "generatePPJ": "ppjg [options]"
  }
}
  • Run the script:
npm run generatePPJ

Programmatically

  • It is also possible to invoke the generator function directly:
import { generatePublishPackageJson, GeneratorConfigModel } from 'ppjg';

const config: Partial<GeneratorConfigModel> | undefined = { /* optional config data */ }

generatePublishPackageJson(config);
1.0.0

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago