Skip to content

💥 Full-fledged CLI tool to generate and package node modules compliant with Browser and NodeJS. Packer CLI support all modern style, unit test and script transpiler tools

License

Notifications You must be signed in to change notification settings

yohangz/packer-cli

Repository files navigation

Packer CLI travis build license npm version

Packer CLI helps you to kick start new node module projects compliant with NodeJS and Browser, prescribing best practices. Packer encapsulating file-watching, live-reloading, transpiling, bundling and unit test framework integration with coverage and much more, so you don't have to. You will get to enjoy the latest latest JavaScript awesomeness with flexibility to custom fit your project needs. To do so, we provide a generator ecosystem via command line to scaffold complete projects with full control over all exposed workflows.

Explained in detail: Build Node Modules Like a Pro with Packer CLI

📖 Table of Contents

💡 Tech Stack

Rollup Gulp Babel ES Lint Typescript TS Lint Postcss LESS SASS Stylus Style Lint Karma Mocha Chai Jest Jasmine Istanbul React JSdom Handlebars Prettier SPDX NPM YARN Travis CI

✨ Usage

Proceed with next steps if your platform meet following prerequisites.

🔎 Basic Usage

Packer Intro

You can simply run the following command in a preferred directory to generate a new library project using Packer CLI,

npx packer-cli generate my-library

or

npm install packer-cli -g && packer generate my-library

Once project is generated and dependencies are installed, you can use the following NPM scripts:

# Run project on watch mode
npm run watch

# Production build
npm run build

# Run Style and script lint tasks
npm run lint

# Run style lint task
npm run lint:style

# Run script lint task
npm run lint:script

# Run auto format source task
npm run format

# Run unit test suite on development envrionemnt watch mode
npm run test

# Run unit test suite with coverage on development envrionemnt watch mode
npm run test:coverage

# Run unit test suite on continues integration environment mode
npm run test:ci

# Run unit test suite with coverage mode on continues integration environment mode
npm run test:coverage:ci

# Bump package version and push updated package config
npm version major|minor|patch

# Build project and publish to NPM
npm run release

Generated project structure can be viewed here

⚙️ Standalone Usage

You can also use packer CLI standalone on any packer compliant project to customize the NPM scripts generated.

Usage: packer [--version | -v] | [--help | -h] | <command>[<args>]

  Arguments supported with all commands

  + Logging flags
    [--trace]          set console log level to trace
    [--info]           set console log level to information
    [--warn]           set console log level to warning
    [--error]          set console log level to error
    [--silent]         set console log level to silent

  + Other Flags
    [--config | -c]    dynamic packer config path

  Generate a new library project via packer

  generate | g <project name>
    [--skipInstall | -sk]   skip dependency install after project

  These are packer commands can be used on generated project
    build | b                trigger build
      [--perf | -P]          execute build task with rollup performance monitoring
    watch | w                trigger serve on watch mode
    test | t                 execute project test suite
      [--watch | -W]         execute test on watch mode
      [--coverage | -C]      execute test suite with coverage
    clean | c                clean project build artifacts and temporary files generated
    lint | l                 execute lint for project source
      [--style | -sc]        execute only style lint
      [--script | -sr]       execute only script lint
    format | f               auto format project source

⚒️ Build Configuration

Build configuration can be updated after project generation via .packerrc.js. Refer packer configuration options for detailed configuration options list.

🌱 Contributions

Feel free to open an issue or create a PR.

©️ License

Packer-CLI is MIT licensed. Please refer LICENSE for more information.