Skip to content
This repository has been archived by the owner on May 1, 2022. It is now read-only.
/ npm-build-tools Public archive

Cross-platform command-line tools to help use npm as a build tool.

License

Notifications You must be signed in to change notification settings

Deathspike/npm-build-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm-build-tools

Cross-platform command-line tools to help use npm as a build tool. This collection of command-line tools was inspired by the following blog post by Keith Cirkel: How to Use npm as a Build Tool. Incorporating the described approach is a hard when aiming for cross-platform support, and this collection of tools emerged to solve the pitfalls I encountered.

Commands

n-clean

Cleans a directory or file. The effect is similar to rm -rf. Example:

n-clean www

n-concat

Concatenates the matched files and prints to stdout. Example:

n-concat --source src --ignore "scripts/assets/**" "scripts/**/*.js"

Globs are supported. Additional command line options:

  • -s, --source <s> contains the source path.
  • -i, --ignore <s> Add a pattern or an array of patterns to exclude matches.

n-copy

Copies the matched files to the destination folder. Example:

n-copy --source src --destination www --ignore "scripts/assets/**" "*" "content/**/*"

Globs are supported. Additional command line options:

  • -d, --divider<s> contains the divider (default \n).
  • -s, --source <s> contains the source path.
  • -i, --ignore <s> Add a pattern or an array of patterns to exclude matches.

n-embed

Transforms HTML files into an embedded angular $templateCache wrapper module.

n-embed --source src "views/**/*.html"

Additional command line options:

  • -m, --module <s> contains the module name (default: tml).
  • -s, --source <s> contains the source path.
  • -i, --ignore <s> Add a pattern or an array of patterns to exclude matches.

n-pipe

Pipe stdin to a file. Similar to > file. Example:

n-pipe non/existent/file.dat

Unlike built-in commands, n-pipe creates directories when necessary.

n-run

Executes command(s) in parallel. Example:

n-run "echo Hello world!" "echo Hello world!"

A watcher can be created to run command(s) on a file change. Example:

n-run -w "*.js" "echo The file changed!"

Glob expansions are supported with $g[]. Example:

n-run "jshint $g[*.js]"

Variable expansions (from package.json/config) are supported with $v[]. Example:

n-run "n-concat $v[js-bower-dependencies]"

Additional command line options:

  • -s, --source <s> contains the source path (for expand/watch).
  • -w, --watch <s> contains the watched files.

Examples

Concatenate dependency files and pipe to www/scripts/dep.min.js:

n-concat angular.min.js bootstrap.min.js jquery.min.js | n-pipe www/scripts/dep.min.js

Copy static assets from the src directory to the www directory:

n-copy --source src --destination www "*" "content/**/*"

Compiling with browserify to www/scripts/apps.min.js:

browserify src/scripts/app.js | n-pipe www/scripts/app.min.js

Deleting the www folder:

n-clean www

About

Cross-platform command-line tools to help use npm as a build tool.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published