39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
#! /usr/bin/env node
|
|
|
|
/**
|
|
* TODO: remove this file when license is included in RxJS bundles.
|
|
* https://github.com/ReactiveX/RxJS/issues/1067
|
|
*
|
|
* This script runs after bundles have already been copied to the build-path,
|
|
* to prepend the license to each bundle.
|
|
**/
|
|
var fs = require('fs');
|
|
var args = require('minimist')(process.argv);
|
|
|
|
var license = fs.readFileSync(args['license-path']);
|
|
// Make the license block into a JS comment
|
|
license = `/**
|
|
${license}
|
|
**/
|
|
`;
|
|
|
|
var bundles = fs.readdirSync(args['build-path'])
|
|
// Match files that begin with Rx and end with js
|
|
.filter(bundle => /^Rx\.?.*\.js$/.test(bundle))
|
|
// Load file contents
|
|
.map(bundle => {
|
|
return {
|
|
path: bundle,
|
|
contents: fs.readFileSync(`${args['build-path']}/${bundle}`).toString()
|
|
};
|
|
})
|
|
// Concatenate license to bundle
|
|
.map(bundle => {
|
|
return {
|
|
path: bundle.path,
|
|
contents: `${license}${bundle.contents}`
|
|
};
|
|
})
|
|
// Write file to disk
|
|
.forEach(bundle => fs.writeFileSync(`${args['build-path']}/${bundle.path}`, bundle.contents));
|