Compare commits

...

32 Commits

Author SHA1 Message Date
a5d1927dcb 1.0.20 2019-04-30 16:08:10 +02:00
69bdb3796d fix(core): update 2019-04-30 16:08:09 +02:00
72af757ea0 1.0.19 2019-04-30 16:00:38 +02:00
a7d87f7e20 fix(core): update 2019-04-30 16:00:38 +02:00
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
12 changed files with 1244 additions and 217 deletions

3
.gitignore vendored
View File

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

View File

@ -1,6 +0,0 @@
const plugins = [
'@babel/plugin-proposal-class-properties',
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true } ],
];
module.exports = { plugins };

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');

1259
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbundle", "name": "@gitzone/tsbundle",
"version": "1.0.4", "version": "1.0.20",
"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",
@ -8,27 +8,36 @@
"author": "Lossless GmbH", "author": "Lossless GmbH",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"test": "(tstest test/)", "test": "cd test && node ../cli.ts.js",
"build": "(tsbuild)", "build": "(tsbuild)",
"format": "(gitzone format)" "format": "(gitzone format)"
}, },
"bin": {
"tsbundle": "cli.js"
},
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.0.22", "@gitzone/tsbuild": "^2.1.11",
"@gitzone/tsrun": "^1.2.6",
"@gitzone/tstest": "^1.0.15", "@gitzone/tstest": "^1.0.15",
"@pushrocks/tapbundle": "^3.0.7", "@pushrocks/tapbundle": "^3.0.7",
"@types/node": "^10.11.7", "@types/node": "^11.13.8",
"tslint": "^5.11.0", "tslint": "^5.11.0",
"tslint-config-prettier": "^1.15.0" "tslint-config-prettier": "^1.15.0"
}, },
"dependencies": { "dependencies": {
"@babel/core": "^7.4.3", "@babel/core": "^7.4.4",
"@babel/plugin-proposal-class-properties": "^7.4.4", "@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/plugin-proposal-decorators": "^7.4.4", "@babel/plugin-proposal-decorators": "^7.4.4",
"@babel/plugin-transform-runtime": "^7.4.4",
"@babel/preset-env": "^7.4.4",
"@babel/runtime": "^7.4.4",
"@pushrocks/early": "^3.0.3",
"@pushrocks/smartcli": "^3.0.7",
"rollup": "^1.10.1", "rollup": "^1.10.1",
"rollup-plugin-babel": "^4.3.2", "rollup-plugin-babel": "^4.3.2",
"rollup-plugin-commonjs": "^9.3.4", "rollup-plugin-commonjs": "^9.3.4",
"rollup-plugin-node-resolve": "^4.2.3", "rollup-plugin-node-resolve": "^4.2.3",
"rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-sourcemaps": "^0.4.2",
"rollup-plugin-typescript2": "^0.20.1" "rollup-plugin-typescript2": "^0.21.0"
} }
} }

View File

@ -17,10 +17,18 @@ a bundler using rollup for painless bundling of web projects
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/) [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/)
## Usage ## Usage
Use TypeScript for best in class intellisense. 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. 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) > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)

View File

@ -1,38 +1,57 @@
import resolve from 'rollup-plugin-node-resolve' import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs' import commonjs from 'rollup-plugin-commonjs';
import sourceMaps from 'rollup-plugin-sourcemaps' import sourceMaps from 'rollup-plugin-sourcemaps';
import camelCase from 'lodash.camelcase' import typescript from 'rollup-plugin-typescript2';
import typescript from 'rollup-plugin-typescript2' import json from 'rollup-plugin-json';
import json from 'rollup-plugin-json' import babel from 'rollup-plugin-babel';
const pkg = require('./package.json') const pkg = require('./package.json');
export default { export default {
input: `src/index.ts`, input: `ts_web/index.ts`,
output: { output: {
file: 'ts/index.ts', name: 'tsbundle',
format: 'es', // file: 'dist_web/bundle.js',
sourcemap: true file: 'dist_web/bundle.js',
}, format: 'iife',
sourcemap: true
},
// Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash') // Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
external: [], external: [],
watch: { watch: {
include: 'src/**', include: 'src/**'
}, },
plugins: [ plugins: [
// Allow json resolution // Allow json resolution
json(), json(),
// Compile TypeScript files // Compile TypeScript files
typescript({ useTsconfigDeclarationDir: true }), typescript({ useTsconfigDeclarationDir: true, tsconfigOverride: {
// Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs) compilerOptions: {
commonjs(), 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 // Allow node_modules resolution, so you can use 'external' to control
// which external modules to include in the bundle // which external modules to include in the bundle
// https://github.com/rollup/rollup-plugin-node-resolve#usage // https://github.com/rollup/rollup-plugin-node-resolve#usage
resolve(), resolve(),
commonjs({
namedExports: {
'node_modules/@pushrocks/smartstate/dist/index.js': ['Smartstate']
}
}),
// Resolve source maps to the original source // Resolve source maps to the original source
sourceMaps(), sourceMaps(),
babel() 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,80 @@
import * as plugins from './tsbundle.plugins'; 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({
runtimeHelpers: true,
extensions: ['.js', '.jsx', '.ts', '.tsx'],
babelrc: false,
presets: [
[
'@babel/preset-env',
{
modules: false,
targets: {
chrome: '41'
}
}
]
],
plugins: [
[
'@babel/plugin-transform-runtime',
{
regenerator: true
}
]
]
})
]
};
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 = {}; import * as rollup from 'rollup';
export { removeme }; 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';