Compare commits

..

6 Commits

Author SHA1 Message Date
62ad70ac6c 1.0.36 2019-07-19 10:52:28 +02:00
455e33488d fix(core): update 2019-07-19 10:52:27 +02:00
1af1908e1d 1.0.35 2019-07-18 18:15:25 +02:00
31967ab846 fix(core): update 2019-07-18 18:15:24 +02:00
93fda3944a 1.0.34 2019-07-17 13:50:24 +02:00
d0ce17299a 1.0.33 2019-07-17 12:55:26 +02:00
5 changed files with 57 additions and 43 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbundle", "name": "@gitzone/tsbundle",
"version": "1.0.32", "version": "1.0.36",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbundle", "name": "@gitzone/tsbundle",
"version": "1.0.32", "version": "1.0.36",
"private": false, "private": false,
"description": "a bundler using rollup for painless bundling of web projects", "description": "a bundler using rollup for painless bundling of web projects",
"main": "dist/index.js", "main": "dist/index.js",

View File

@ -10,3 +10,6 @@ early.stop();
if (process.env.CLI_CALL) { if (process.env.CLI_CALL) {
runCli(); runCli();
} }
// lets make this usable programmatically
export * from './tsbundle.class.tsbundle';

View File

@ -2,49 +2,18 @@ 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') {
logger.log('info', `from: ${fromArg}`);
logger.log('info', `to: ${toArg}`);
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 +51,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 +74,49 @@ 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() {
// Nothing here
}
/**
* creates a bundle for the test enviroment
*/
public async buildTest(fromArg: string, toArg: string) {
// create a bundle
logger.log('info', `bundling for TEST!`);
const buildOptions = this.getOptionsTest(fromArg, toArg);
const bundle = await plugins.rollup.rollup(buildOptions);
bundle.generate(buildOptions.output);
await bundle.write(buildOptions.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 buildOptions = this.getOptionsProduction(fromArg, toArg);
const bundle = await plugins.rollup.rollup(buildOptions);
bundle.generate(buildOptions.output);
await bundle.write(buildOptions.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(argvArg.from, argvArg.to);
await htmlHandler.minifyHtml(); await htmlHandler.minifyHtml();
break; break;
case argvArg.test: case argvArg.test:
default: default:
await tsbundle.buildTest(); await tsbundle.buildTest(argvArg.from, argvArg.to);
await htmlHandler.copyHtml(); await htmlHandler.copyHtml();
return; return;
} }
}); });
tsBundleCli.startParse(); tsBundleCli.startParse();
}; };