Compare commits

...

32 Commits

Author SHA1 Message Date
4f556c35b3 1.0.18 2019-04-30 13:50:19 +02:00
8dc25d000f fix(core): update 2019-04-30 13:50:19 +02:00
b4f013d6c6 1.0.17 2019-04-30 13:38:17 +02:00
9c69c26d66 fix(core): update 2019-04-30 13:38:17 +02:00
2969d4ad7b 1.0.16 2019-04-30 13:12:58 +02:00
2dbc1bd1e1 fix(core): update 2019-04-30 13:12:57 +02:00
15c274be9e 1.0.15 2019-04-30 12:49:10 +02:00
0a6a49b7ad fix(core): update 2019-04-30 12:49:10 +02:00
0b6409b468 1.0.14 2019-04-30 11:37:06 +02:00
1c327e6526 fix(core): update 2019-04-30 11:37:05 +02:00
00ab4d3610 1.0.13 2019-04-30 11:23:00 +02:00
0adb181bbf fix(core): update 2019-04-30 11:22:59 +02:00
053ef1f770 1.0.12 2019-04-30 10:55:43 +02:00
d35f32d68f fix(core): update 2019-04-30 10:55:43 +02:00
fb6207d963 1.0.11 2019-04-30 10:54:03 +02:00
e6c2288c24 fix(core): update 2019-04-30 10:54:03 +02:00
b925fffc58 1.0.10 2019-04-30 10:39:54 +02:00
5289d2af92 fix(core): update 2019-04-30 10:39:54 +02:00
b7d1321f3f 1.0.9 2019-04-30 10:28:00 +02:00
3d32d703bf fix(core): update 2019-04-30 10:28:00 +02:00
f2c02e6afc 1.0.8 2019-04-30 10:01:23 +02:00
1a4ff7811c fix(core): update 2019-04-30 10:01:23 +02:00
93431fc2e1 1.0.7 2019-04-30 09:44:47 +02:00
1c039592ce fix(core): update 2019-04-30 09:44:46 +02:00
cb575d2427 1.0.6 2019-04-30 08:42:55 +02:00
d6ad2797cb fix(core): update 2019-04-30 08:42:55 +02:00
7256e3d0e3 1.0.5 2019-04-30 08:35:01 +02:00
fee9b56568 fix(core): update 2019-04-30 08:35:00 +02:00
14a273e5c4 1.0.4 2019-04-29 22:29:56 +02:00
453c72b87e fix(core): update 2019-04-29 22:29:56 +02:00
bf8b6e9fdb 1.0.3 2019-04-29 22:11:24 +02:00
204a4692ac fix(core): update 2019-04-29 22:11:24 +02:00
11 changed files with 2666 additions and 208 deletions

3
.gitignore vendored
View File

@ -16,4 +16,5 @@ dist_web/
dist_serve/
dist_ts_web/
# custom
# custom
.rpt2_cache

3
cli.js Normal file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env node
process.env.CLI_CALL = 'true';
require('./dist/index');

4
cli.ts.js Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env node
process.env.CLI_CALL = 'true';
require('@gitzone/tsrun');
require('./ts/index');

2690
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "@gitzone/tsbundle",
"version": "1.0.2",
"version": "1.0.18",
"private": false,
"description": "a bundler using rollup for painless bundling of web projects",
"main": "dist/index.js",
@ -8,17 +8,34 @@
"author": "Lossless GmbH",
"license": "MIT",
"scripts": {
"test": "(tstest test/)",
"test": "cd test && node ../cli.ts.js",
"build": "(tsbuild)",
"format": "(gitzone format)"
},
"bin": {
"tsbundle": "cli.js"
},
"devDependencies": {
"@gitzone/tsbuild": "^2.0.22",
"@gitzone/tsbuild": "^2.1.11",
"@gitzone/tsrun": "^1.2.6",
"@gitzone/tstest": "^1.0.15",
"@pushrocks/tapbundle": "^3.0.7",
"@types/node": "^10.11.7",
"@types/node": "^11.13.8",
"tslint": "^5.11.0",
"tslint-config-prettier": "^1.15.0"
},
"dependencies": {}
"dependencies": {
"@babel/core": "^7.4.4",
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/plugin-proposal-decorators": "^7.4.4",
"@babel/preset-env": "^7.4.4",
"@pushrocks/early": "^3.0.3",
"@pushrocks/smartcli": "^3.0.7",
"rollup": "^1.10.1",
"rollup-plugin-babel": "^4.3.2",
"rollup-plugin-commonjs": "^9.3.4",
"rollup-plugin-node-resolve": "^4.2.3",
"rollup-plugin-sourcemaps": "^0.4.2",
"rollup-plugin-typescript2": "^0.21.0"
}
}

View File

@ -18,6 +18,15 @@ a bundler using rollup for painless bundling of web projects
## Usage
Use TypeScript for best in class intellisense.
tsbundle will bundle modern JavaScript websites in an Google Bot conformant way so things like AdSense do work.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://gitzone.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)
For further information read the linked docs at the top of this readme.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)

57
rollup.config.js Normal file
View File

@ -0,0 +1,57 @@
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import sourceMaps from 'rollup-plugin-sourcemaps';
import typescript from 'rollup-plugin-typescript2';
import json from 'rollup-plugin-json';
import babel from 'rollup-plugin-babel';
const pkg = require('./package.json');
export default {
input: `ts_web/index.ts`,
output: {
name: 'tsbundle',
// file: 'dist_web/bundle.js',
file: 'dist_web/bundle.js',
format: 'iife',
sourcemap: true
},
// Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
external: [],
watch: {
include: 'src/**'
},
plugins: [
// Allow json resolution
json(),
// Compile TypeScript files
typescript({ useTsconfigDeclarationDir: true, tsconfigOverride: {
compilerOptions: {
declaration: true,
emitDecoratorMetadata: true,
experimentalDecorators: true,
inlineSourceMap: true,
noEmitOnError: true,
lib: ['es2016', 'es2017', 'dom'],
noImplicitAny: false
}
} }),
// Allow node_modules resolution, so you can use 'external' to control
// which external modules to include in the bundle
// https://github.com/rollup/rollup-plugin-node-resolve#usage
resolve(),
commonjs({
namedExports: {
'node_modules/@pushrocks/smartstate/dist/index.js': ['Smartstate']
}
}),
// Resolve source maps to the original source
sourceMaps(),
babel({
extensions: ['.js', '.jsx', '.ts', '.tsx'],
babelrc: false,
presets: [["@babel/preset-env", { modules: false }]]
})
]
};

3
test/ts_web/index.ts Normal file
View File

@ -0,0 +1,3 @@
const myConst = 'hello';
console.log(myConst);

View File

@ -1,3 +1,61 @@
import * as plugins from './tsbundle.plugins';
export let standardExport = 'Hi there! :) This is an exported string';
const rollupOptions: plugins.rollup.RollupOptions = {
input: `ts_web/index.ts`,
output: {
name: 'tsbundle',
// file: 'dist_web/bundle.js',
file: 'dist_web/bundle.js',
format: 'iife',
sourcemap: true
},
// Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
external: [],
watch: {
include: ['src/**']
},
plugins: [
// Compile TypeScript files
plugins.rollupTypescript({
useTsconfigDeclarationDir: true,
tsconfigOverride: {
compilerOptions: {
declaration: true,
emitDecoratorMetadata: true,
experimentalDecorators: true,
inlineSourceMap: true,
noEmitOnError: true,
lib: ['es2017', 'dom'],
target: 'es2017',
noImplicitAny: false
}
}
}),
// Allow node_modules resolution, so you can use 'external' to control
// which external modules to include in the bundle
// https://github.com/rollup/rollup-plugin-node-resolve#usage
plugins.rollupResolve(),
plugins.rollupCommonjs({
namedExports: {
'node_modules/@pushrocks/smartstate/dist/index.js': ['Smartstate']
}
}),
// Resolve source maps to the original source
plugins.rollupSourceMaps(),
plugins.rollupBabel({
extensions: ['.js', '.jsx', '.ts', '.tsx'],
babelrc: false,
presets: [['@babel/preset-env', { modules: false }]]
})
]
};
async function build() {
// create a bundle
const bundle = await plugins.rollup.rollup(rollupOptions);
bundle.generate(rollupOptions.output);
bundle.write(rollupOptions.output);
}
build();

View File

@ -1,2 +1,15 @@
const removeme = {};
export { removeme };
import * as rollup from 'rollup';
import rollupBabel from 'rollup-plugin-babel';
import rollupCommonjs from 'rollup-plugin-commonjs';
import rollupResolve from 'rollup-plugin-node-resolve';
import rollupSourceMaps from 'rollup-plugin-sourcemaps';
import rollupTypescript from 'rollup-plugin-typescript2';
export {
rollup,
rollupBabel,
rollupCommonjs,
rollupResolve,
rollupSourceMaps,
rollupTypescript,
};

View File

@ -0,0 +1 @@
import * as plugins from './tsbundle.plugins';