Browse Source

use rollup-babel for bundling self (is quicker!) and include banner/version in dist files

better-aggressive
Rich-Harris 9 years ago
parent
commit
41aac14d07
  1. 26
      gobblefile.js
  2. 2
      package.json
  3. 8
      src/banner.js
  4. 2
      src/rollup.js

26
gobblefile.js

@ -1,17 +1,29 @@
var gobble = require( 'gobble' );
var fs = require( 'fs' );
var version = require( './package.json' ).version;
var banner = fs.readFileSync( 'src/banner.js' ).toString()
.replace( '${version}', version )
.replace( '${time}', new Date() )
.replace( '${commitHash}', process.env.COMMIT_HASH || 'unknown' );
var src = gobble( 'src' );
var node = src
.transform( 'rollup', {
.transform( 'rollup-babel', {
entry: 'rollup.js',
dest: 'rollup.js',
format: 'cjs',
external: [ 'fs' ],
sourceMap: true
})
.transform( 'babel' );
sourceMap: true,
banner: banner,
load: function ( id ) {
if ( ~id.indexOf( 'rollup.js' ) ) {
return fs.readFileSync( 'src/rollup.js', 'utf-8' ).replace( /<@VERSION@>/, version );
}
}
});
var browserPlaceholders = {
fs: fs.readFileSync( 'browser/fs.js' ).toString(),
@ -24,10 +36,14 @@ var browser = src
dest: 'rollup.browser.js',
format: 'umd',
moduleName: 'rollup',
sourceMap: true,
banner: banner,
load: function ( id ) {
if ( ~id.indexOf( 'rollup.js' ) ) {
return fs.readFileSync( 'src/rollup.js', 'utf-8' ).replace( /<@VERSION@>/, version );
}
if ( ~id.indexOf( 'fs.js' ) ) return browserPlaceholders.fs;
if ( ~id.indexOf( 'es6-promise' ) ) return browserPlaceholders.promise;
return fs.readFileSync( id ).toString();
}
});

2
package.json

@ -14,7 +14,7 @@
"test-coverage": "rm -rf coverage/* && istanbul cover --report json node_modules/.bin/_mocha -- -u exports -R spec test/test.js",
"posttest-coverage": "remap-istanbul -i coverage/coverage-final.json -o coverage/coverage-remapped.json -b dist && remap-istanbul -i coverage/coverage-final.json -o coverage/coverage-remapped.lcov -t lcovonly -b dist && remap-istanbul -i coverage/coverage-final.json -o coverage/coverage-remapped -t html -b dist",
"ci": "npm run test-coverage && codecov < coverage/coverage-remapped.lcov",
"build": "gobble build -f dist",
"build": "export COMMIT_HASH=`git rev-parse HEAD` && gobble build -f dist",
"prepublish": "npm test",
"lint": "eslint src"
},

8
src/banner.js

@ -0,0 +1,8 @@
/*
Rollup.js v${version}
${time} - commit ${commitHash}
https://github.com/rollup/rollup
Released under the MIT License.
*/

2
src/rollup.js

@ -4,6 +4,8 @@ import { keys } from './utils/object';
import SOURCEMAPPING_URL from './utils/sourceMappingURL';
import Bundle from './Bundle';
export const VERSION = '<@VERSION@>';
export function rollup ( options ) {
if ( !options || !options.entry ) {
throw new Error( 'You must supply options.entry to rollup' );

Loading…
Cancel
Save