2.0.0 • Published 1 year ago

@abledevs/nps-utils v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

This repository has been forked from nps-utils

nps-utils

Utilities for nps (npm-package-scripts)

version

The problem

nps is a great package to empower your scripts and there are some common things you wind up doing to keep your package-scripts.js file clean, useful, and maintainable. So you wind up duplicating utility functions across projects.

This solution

This has several utility functions you'll often want when using nps.

Installation

This module is distributed via npm which is bundled with node and should be installed as one of your project's dependencies:

npm install nps-utils

Usage

You'll most likely use this in your package-scripts.js file:

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    validate: npsUtils.concurrentNPS('lint', 'build', 'test --coverage'),
    lint: 'eslint .',
    build: 'webpack --env.production',
    test: 'jest'
  }
}

Available methods:

Series Commands

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    validate: npsUtils.series('nps build', 'nps lint', 'nps test'),
    lint: 'eslint .',
    build: 'webpack --env.production',
    test: 'jest'
  }
}

Rimraf Commands

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    clean: npsUtils.rimraf('build'),
  }
}

Copy Commands

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    copy: npsUtils.copy('dist', 'build'),
  }
}

Cross-Env Commands

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    copy: npsUtils.crossEnv('NODE_ENV=production nps build'),
    build: 'webpack --env.production'
  }
}

isDocker Commands

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    copy: npsUtils.isDocker() ? 'nps watchInsideDocker' : 'nps watch',
    watchInsideDocker: 'webpack --env.production',
    watch: 'webpack --env.production'
  }
}

Concurrently Commands - Experimental

const npsUtils = require('nps-utils')

module.exports = {
  scripts: {
    validate: npsUtils.concurrentNPS('build', 'lint', 'test'),
    lint: 'eslint .',
    build: 'webpack --env.production',
    test: 'jest'
  }
}

LICENSE

MIT