UNPKG

gia-cli

Version:

Guardian US Interactive CLI tool

65 lines (54 loc) 1.6 kB
/*global require, module */ const path = require( 'path' ); const gobble = require( 'gobble' ); const gia = require( './giafile' ); const deploy = gobble.env() === 'production'; const baseUrl = deploy ? `https://interactive.guim.co.uk/${gia.path}` : ''; const version = `v/${deploy ? Date.now() : 'dev'}`; const replacements = { baseUrl, version }; const external = Object.keys( require( './package.json' ).dependencies ) .filter( name => { const pkg = require( `${name}/package.json` ); return !pkg[ 'jsnext:main' ] && !pkg[ 'module' ]; }); module.exports = gobble([ // index.html gobble( 'src/index.html' ), // non-bundled dependencies gobble([ gobble( 'node_modules/ractive/ractive.runtime.js' ) ]).moveTo( path.join( version, 'lib' ) ), // boot.js gobble( 'src/boot.js' ) .transform( 'replace', replacements ) .transform( 'rollup', { entry: 'boot.js', dest: 'boot.js', format: 'amd', plugins: [ require( 'rollup-plugin-buble' )() ] }), // app gobble( 'src/app' ) .transform( 'replace', replacements ) .transform( 'rollup', { entry: 'app.js', format: 'amd', sourceMap: true, external, plugins: [ require( 'rollup-plugin-json' )(), require( 'rollup-plugin-node-resolve' )({ jsnext: true, skip: external }), require( 'rollup-plugin-ractive' )(), require( 'rollup-plugin-buble' )() ], paths: { ractive: `${baseUrl}/${version}/lib/ractive.runtime.js` } }) .moveTo( `${version}/js` ), // files gobble( 'src/files' ).moveTo( path.join( version, 'files' ) ) ]).transformIf( deploy, 'uglifyjs' );