angular-docs-cn/tools/code.angularjs.org/add-license-to-rx.js

43 lines
1.3 KiB
JavaScript

#! /usr/bin/env node
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* 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));