bower_components compressor


Keywords
bower, js, css, concat
License
GPL-3.0+
Install
npm install onefile@0.3.3

Documentation

onefile Onefile NPM version Build Status Coverage Status

bower_components compressor

Installation

$ npm install onefile --global

Usage

onefile --output pkgs

Combile the main property files of dependencies to pkgs.js using ./bower.json

$ bower init
# ...
$ bower install c3-angular --save
# ...
$ onefile --output pkgs
# Found:
#    966.35 kB bower_components/angular/angular.js
#    334.22 kB bower_components/d3/d3.js
#      3.94 kB bower_components/c3/c3.css.js
#    296.62 kB bower_components/c3/c3.js
#     40.85 kB bower_components/c3-angular/c3js-directive.js
# Yield:
#      1.64 MB pkgs.js

Can use dependency files quickly.

Other options

See also onefile --help

Support

Ignore except for the following files

API

onefile(options) -> gulpTask

npm install bower --global # optional

npm init --yes
npm install onefile --save

node task.js
# !function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return ...

task.js

// Dependencies
var onefile= require('onefile');

var fs= require('fs');
var childProcess= require('child_process');

// Onefile settings
var options= {
  // in-out directory
  cwd: process.cwd(),

  // add summry comment
  summary: true,

  // write inline-sourcemap
  sourcemap: true,

  // compress output
  mangle: true,

  // export inline-sourcemap to `outputName.map`
  detachSourcemap: false,

  // output Found / Yield to console.log
  outputBytes: false,

  // rename for file(gulp-util.File instance)
  outputName: 'pkgs.js',

  // use devDependencies field <false/'inclusive'/'exclusive'>
  includeDev: false,
};

// Install bower_components
fs.writeFileSync('bower.json',JSON.stringify({name:'pkgs'}));
childProcess.spawnSync('bower',['install','jquery','--save']);

// Execute gulp task
var task= onefile(options);
task.on('data',function(file){
  console.log(file.contents.toString());
});
task.on('end',function(){
  process.exit(0);
});

Related projects

License

MIT