chore(build): add main.html files

add main.html files
This commit is contained in:
Dan Bucholtz
2016-09-16 17:39:20 -05:00
parent 4236d57ad8
commit d9c3b19768
62 changed files with 781 additions and 209 deletions

View File

@@ -1,2 +1,3 @@
declare module 'google-closure-compiler-js';
declare module 'rollup';
declare module 'rollup-plugin-node-resolve';

View File

@@ -6,7 +6,7 @@ import * as rollup from 'rollup';
import * as nodeResolve from 'rollup-plugin-node-resolve';
import { DEMOS_ROOT, DEMOS_SRC_ROOT} from '../constants';
import { deleteFiles, runNgc } from '../util';
import { compileSass, copyFonts, createTimestamp, deleteFiles, runNgc, setSassIonicVersion } from '../util';
function doNpmInstall() {
return new Promise((resolve, reject) => {
@@ -65,8 +65,8 @@ function recursiveRollupHelper(files: string[]) {
} else if ( files.length === 0) {
return Promise.resolve();
} else {
const outputFileName = join(dirname(files[0]), 'app.bundle.js');
return runRollup(files[0], outputFileName).then(() => {
const outputFileName = join(dirname(files[0]), 'main.es6.js');
return bundle(files[0], outputFileName).then(() => {
const remainingFiles = files.concat();
remainingFiles.shift();
return recursiveRollupHelper(remainingFiles);
@@ -76,19 +76,45 @@ function recursiveRollupHelper(files: string[]) {
}
}
function runRollup(inputFile: string, outputFile: string): Promise<any> {
function bundle(inputFile: string, outputFile: string): Promise<any> {
console.log(`Starting rollup on ${inputFile} ... writing to ${outputFile}`);
return rollup.rollup({
entry: inputFile,
plugins: [
rollupNG2(),
nodeResolve()
nodeResolve({
module: true,
jsnext: true,
main: true,
extensions: ['.js']
})
]
}).then(function(bundle){
return bundle.write({
format: 'iife',
dest: outputFile,
});
}).then(bundle => {
return bundle.write({
format: 'iife',
dest: outputFile,
});
}).then(() => {
// transpile the file
console.log('Starting transpile to ES5 ...');
const es5BundleName = join(dirname(outputFile), 'main.bundle.js');
return transpile(outputFile, es5BundleName);
});
}
function transpile(inputFile: string, outputFile: string) {
console.log(`Transpiling ${inputFile}`);
return new Promise((resolve, reject) => {
const command = `./node_modules/.bin/tsc --out ${outputFile} --target es5 --allowJs --sourceMap ${inputFile}`;
exec(command, (err, stdout, stderr) => {
if (err) {
console.log(stdout);
console.log(stderr);
reject(err);
} else {
resolve();
}
});
});
}
@@ -105,17 +131,13 @@ function buildDemos(done: Function) {
});
}
task('demos.build', (done: Function) => {
buildDemos(done);
});
export function rollupNG2() {
return {
name: 'rollupNG2',
resolveId(id: string) {
if (id.startsWith('rxjs/')) {
return `${process.cwd()}/node_modules/rxjs-es/${id.split('rxjs/').pop()}.js`;
return `${process.cwd()}/demos/node_modules/rxjs-es/${id.split('rxjs/').pop()}.js`;
}
}
};
@@ -125,6 +147,21 @@ function cleanDemos(done: Function) {
deleteFiles([`${DEMOS_SRC_ROOT}/**/*.js`, `${DEMOS_SRC_ROOT}/**/*.d.ts`, `${DEMOS_SRC_ROOT}/**/*.ngfactory.ts`, `${DEMOS_SRC_ROOT}/**/*.metadata.json`], done);
}
task('demos.build', ['demos.sass', 'demos.fonts'], (done: Function) => {
buildDemos(done);
});
task('demos.clean', (done: Function) => {
cleanDemos(done);
});
task('demos.sass', () => {
// ensure there is a version.scss file
setSassIonicVersion(`E2E-${createTimestamp()}`);
return compileSass(`${DEMOS_ROOT}/css`);
});
task('demos.fonts', () => {
return copyFonts(`${DEMOS_ROOT}/fonts`);
});

View File

@@ -3,7 +3,7 @@ import {dest, src, start, task} from 'gulp';
import * as path from 'path';
import * as fs from 'fs';
import { compileSass, copyFonts, createTempTsConfig, deleteFiles, runNgc, runWebpack, setSassIonicVersion, createTimestamp } from '../util';
import { compileSass, copyFonts, createTempTsConfig, createTimestamp, deleteFiles, runNgc, runWebpack, setSassIonicVersion } from '../util';
task('e2e', e2eBuild);