Files
ionic-framework/scripts/gulp/tasks/demos.dev.ts
Manuel Mtz-Almeida c10f72b1e2 fix(keyboard): big keyboard/input refactor
fixes #9699
fixes #11484
fixes #11389
fixes #11325
fixes #11291
fixes #10828
fixes #11291
fixes #10393
fixes #10257
fixes #9434
fixes #8933
fixes #7178
fixes #7047
fixes #10552
fixes #10393
fixes #10183
fixes #10187
fixes #10852
fixes #11578
2017-06-12 22:31:22 +02:00

45 lines
1.7 KiB
TypeScript

import { join } from 'path';
import { task } from 'gulp';
import { DEMOS_ROOT, DIST_DEMOS_ROOT, ES_2015, PROJECT_ROOT } from '../constants';
import { createTempTsConfig, getFolderInfo, runAppScriptsServe } from '../util';
task('demos.watch', ['demos.prepare'], (done: Function) => {
const folderInfo = getFolderInfo();
if (!folderInfo || !folderInfo.componentName ) {
done(new Error(`Usage: gulp e2e.watch --folder modal`));
}
serveDemo(folderInfo.componentName, folderInfo.devApp).then(() => {
done();
}).catch((err: Error) => {
done(err);
});
});
function serveDemo(folderName: any, devApp: boolean) {
const ionicAngularDir = join(PROJECT_ROOT, 'src');
const srcTestRoot = join(DEMOS_ROOT, 'src', folderName);
const distDemoRoot = join(DIST_DEMOS_ROOT, folderName);
const includeGlob = [ join(ionicAngularDir, '**', '*.ts'),
join(srcTestRoot, '**', '*.ts')];
const pathToWriteFile = join(distDemoRoot, 'tsconfig.json');
const pathToReadFile = join(PROJECT_ROOT, 'tsconfig.json');
createTempTsConfig(includeGlob, ES_2015, ES_2015, pathToReadFile, pathToWriteFile, { removeComments: true});
const sassConfigPath = join('scripts', 'demos', 'sass.config.js');
const copyConfigPath = join('scripts', 'demos', 'copy.config.js');
const watchConfigPath = join('scripts', 'demos', 'watch.config.js');
const appEntryPoint = join(srcTestRoot, 'app', 'main.ts');
const appNgModulePath = join(srcTestRoot, 'app', 'app.module.ts');
const distDir = join(distDemoRoot, 'www');
return runAppScriptsServe(folderName, appEntryPoint, appNgModulePath, ionicAngularDir, distDir, pathToWriteFile, ionicAngularDir, sassConfigPath, copyConfigPath, watchConfigPath, devApp);
}