Giter Club home page Giter Club logo

npm-build-tools's Introduction

Preamble

This repository was originally forked from https://github.com/Deathspike/npm-build-tools to update a vulnerable dependency.

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

npm-build-tools's People

Contributors

mnowotny avatar

Forkers

hlsolutions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.