y-src-pack
v1.0.15
Published
a js ressources bundler
Downloads
41
Maintainers
Readme
y-src-pack
A js ressources bundler for web, nodejs and webpack.
Bundle any ressource file an application may require an exploit them syncronously via an API.
Install :
npm install y-src-pack
Demo :
In command line, launch
node node_modules/y-src-pack/test
And open the file node_modules/y-src-pack/_test_src/test.html in your browser.
Options
- Options
- dir
*
:string|Array<string>|undefined
dir or list of dirs to parse. - glob
*
:object|Array<object>|undefined
object or list of objects to parse with glob.- dir :
string
glob working dir. - glob:
string|Array<string>
glob expression.
- dir :
- tgtFile :
string
the generated file path. - jsName :
string|boolean|undefined
for node : undefined (do not set), for json : true, for web : string as api root var name. - typescript :
boolean|undefined
(beta) compile as typescript API if true.
- dir
*
: At least one of dir or glob must be set.
Exemples :
const YSrcPack = require('y-src-pack');
const path = require('path');
let sp = new YSrcPack();
// ...
with commands (deprecated in favor of options and may be removed in the next major upgrade ) :
// collect all sources from a folder
sp.collect(path.resolve(__dirname,'path/to/sources'));
// use glob expressions
sp.glob(path.resolve(__dirname,'path/to/other/sources'),expr);
sp.glob(path.resolve(__dirname,'path/to/other/sources2'),[expr1,expr2]);
// every files are merged as having the same root dir
//determines the tgt file content:
let jsname;
// - for json : true
jsname=true;
// - for web var : string
jsname='mymedias';
// - for node module : falsy
jsname=0;// or just nothing :p
sp.toFile(path.resolve(__dirname,'path/to/result.js'),jsname);
with options :
YSrcPack.process({
// --- dir method (collect) (can be an array of strings)
dir:path.resolve(__dirname,'path/to/sources'),
// --- glob method (can be an array of objects)
glob:{
dir:path.resolve(__dirname,'path/to/other/sources'),
glob:[expr1,expr2]
},
tgtFile:path.resolve(__dirname,'path/to/result.js'),
jsName:jsname
});
with webpack (same options) :
// in webpack.config.js
// ...
plugins:[
new YSrcPack.WebpackPlugin({
dir:path.resolve(__dirname,'path/to/sources'),
tgtFile:path.resolve(__dirname,'path/to/result.js')
}),
// ...
],
// ...
Api reference
See the packed files api here.
see test.js and _test_src/test.html