mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
chore(build): add main.html files
add main.html files
This commit is contained in:
1
scripts/gulp/declarations.d.ts
vendored
1
scripts/gulp/declarations.d.ts
vendored
@@ -1,2 +1,3 @@
|
||||
declare module 'google-closure-compiler-js';
|
||||
declare module 'rollup';
|
||||
declare module 'rollup-plugin-node-resolve';
|
||||
@@ -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`);
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user