fix(core): update

This commit is contained in:
Philipp Kunz 2019-07-18 18:15:24 +02:00
parent 93fda3944a
commit 31967ab846
2 changed files with 45 additions and 41 deletions

View File

@ -2,49 +2,15 @@ import * as plugins from './tsbundle.plugins';
import { logger } from './tsbundle.logging'; import { logger } from './tsbundle.logging';
export class TsBundle { export class TsBundle {
public optionsTest: plugins.rollup.RollupOptions = this.getBaseOptions();
public optionsProduction: plugins.rollup.RollupOptions = (() => {
const productionOptions = this.getBaseOptions();
productionOptions.plugins.push(plugins.rollupTerser());
return productionOptions;
})();
constructor() {}
/**
* creates a bundle for the test enviroment
*/
public async buildTest() {
// create a bundle
logger.log('info', `bundling for TEST!`);
const bundle = await plugins.rollup.rollup(this.optionsTest);
bundle.generate(this.optionsTest.output);
await bundle.write(this.optionsTest.output);
logger.log('ok', `Successfully bundled files!`);
}
/**
* creates a bundle for the production environment
*/
public async buildProduction() {
// create a bundle
logger.log('info', `bundling for PRODUCTION!`);
const bundle = await plugins.rollup.rollup(this.optionsProduction);
bundle.generate(this.optionsProduction.output);
await bundle.write(this.optionsProduction.output);
logger.log('ok', `Successfully bundled files!`);
}
/** /**
* the basic default options for rollup * the basic default options for rollup
*/ */
public getBaseOptions() { public getBaseOptions(fromArg: string = `ts_web/index.ts`, toArg: string = 'dist_web/bundle.js') {
const baseOptions: plugins.rollup.RollupOptions = { const baseOptions: plugins.rollup.RollupOptions = {
input: `ts_web/index.ts`, input: fromArg,
output: { output: {
name: 'tsbundle', name: 'tsbundle',
// file: 'dist_web/bundle.js', file: toArg,
file: 'dist_web/bundle.js',
format: 'iife', format: 'iife',
sourcemap: true sourcemap: true
}, },
@ -82,7 +48,7 @@ export class TsBundle {
// Resolve source maps to the original source // Resolve source maps to the original source
plugins.rollupSourceMaps(), plugins.rollupSourceMaps(),
plugins.rollupBabel({ /*plugins.rollupBabel({
runtimeHelpers: true, runtimeHelpers: true,
extensions: ['.js', '.jsx', '.ts', '.tsx'], extensions: ['.js', '.jsx', '.ts', '.tsx'],
babelrc: false, babelrc: false,
@ -105,9 +71,45 @@ export class TsBundle {
} }
] ]
] ]
}) })*/
] ]
}; };
return baseOptions; return baseOptions;
} }
public getOptionsTest(fromArg: string, toArg: string): plugins.rollup.RollupOptions {
return this.getBaseOptions();
}
public getOptionsProduction(fromArg: string, toArg: string): plugins.rollup.RollupOptions {
const productionOptions = this.getBaseOptions();
productionOptions.plugins.push(plugins.rollupTerser());
return productionOptions;
}
constructor() {}
/**
* creates a bundle for the test enviroment
*/
public async buildTest(fromArg: string, toArg: string) {
// create a bundle
logger.log('info', `bundling for TEST!`);
const bundle = await plugins.rollup.rollup(this.getOptionsTest(fromArg, toArg));
bundle.generate(this.getOptionsTest(fromArg, toArg).output);
await bundle.write(this.getOptionsTest(fromArg, toArg).output);
logger.log('ok', `Successfully bundled files!`);
}
/**
* creates a bundle for the production environment
*/
public async buildProduction(fromArg: string, toArg: string) {
// create a bundle
logger.log('info', `bundling for PRODUCTION!`);
const bundle = await plugins.rollup.rollup(this.getOptionsProduction(fromArg, toArg));
bundle.generate(this.getOptionsProduction(fromArg, toArg).output);
await bundle.write(this.getOptionsProduction(fromArg, toArg).output);
logger.log('ok', `Successfully bundled files!`);
}
} }

View File

@ -10,16 +10,18 @@ export const runCli = async () => {
const htmlHandler = new HtmlHandler(); const htmlHandler = new HtmlHandler();
switch (true) { switch (true) {
case argvArg.production || process.env.CI: case argvArg.production || process.env.CI:
await tsbundle.buildProduction(); await tsbundle.buildProduction(null, null);
await htmlHandler.minifyHtml(); await htmlHandler.minifyHtml();
break; break;
case argvArg.test: case argvArg.test:
default: default:
await tsbundle.buildTest(); await tsbundle.buildTest(null, null);
await htmlHandler.copyHtml(); await htmlHandler.copyHtml();
return; return;
} }
}); });
tsBundleCli.startParse(); tsBundleCli.startParse();
}; };