@git.zone/tsbundle 2.3.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +3 -3
- package/dist_ts/interfaces/index.d.ts +1 -1
- package/dist_ts/mod_esbuild/index.child.js +2 -2
- package/dist_ts/mod_rolldown/index.child.js +11 -3
- package/dist_ts/{mod_parcel → mod_rspack}/index.child.d.ts +3 -2
- package/dist_ts/mod_rspack/index.child.js +210 -0
- package/dist_ts/mod_rspack/plugins.d.ts +3 -0
- package/dist_ts/mod_rspack/plugins.js +4 -0
- package/dist_ts/tsbundle.class.tsbundle.js +3 -5
- package/package.json +4 -3
- package/readme.hints.md +17 -6
- package/ts/00_commitinfo_data.ts +2 -2
- package/ts/interfaces/index.ts +1 -1
- package/ts/mod_esbuild/index.child.ts +1 -1
- package/ts/mod_rolldown/index.child.ts +12 -2
- package/ts/mod_rspack/index.child.ts +236 -0
- package/ts/mod_rspack/plugins.ts +5 -0
- package/ts/tsbundle.class.tsbundle.ts +2 -4
- package/dist_ts/mod_parcel/index.child.js +0 -42
- package/dist_ts/mod_parcel/plugins.d.ts +0 -3
- package/dist_ts/mod_parcel/plugins.js +0 -4
- package/dist_ts/mod_rollup/htmlhandler.d.ts +0 -7
- package/dist_ts/mod_rollup/htmlhandler.js +0 -37
- package/dist_ts/mod_rollup/index.child.d.ts +0 -18
- package/dist_ts/mod_rollup/index.child.js +0 -128
- package/dist_ts/mod_rollup/plugins.d.ts +0 -10
- package/dist_ts/mod_rollup/plugins.js +0 -12
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tsbundle',
|
|
6
|
-
version: '2.
|
|
7
|
-
description: 'a bundler
|
|
6
|
+
version: '2.4.1',
|
|
7
|
+
description: 'a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxvQkFBb0I7SUFDMUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFHQUFxRztDQUNuSCxDQUFBIn0=
|
|
@@ -56,7 +56,7 @@ export class TsBundleProcess {
|
|
|
56
56
|
format: 'esm',
|
|
57
57
|
target: 'es2022',
|
|
58
58
|
minify: true,
|
|
59
|
-
entryNames:
|
|
59
|
+
entryNames: plugins.path.parse(toArg).name,
|
|
60
60
|
outdir: plugins.path.parse(toArg).dir,
|
|
61
61
|
tsconfig: paths.tsconfigPath,
|
|
62
62
|
splitting: false,
|
|
@@ -84,4 +84,4 @@ const run = async () => {
|
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
run();
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZXNidWlsZC9pbmRleC5jaGlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxNQUFNLE9BQU8sZUFBZTtJQUMxQjtRQUNFLGVBQWU7SUFDakIsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7WUFDL0MsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUNyRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUM5QyxDQUFDO1lBQ0YsSUFBSSxhQUFhLENBQUMsZUFBZSxJQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pFLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3JFLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoRSxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO2dCQUNqQyxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUM7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
|
|
@@ -34,10 +34,14 @@ export class TsBundleProcess {
|
|
|
34
34
|
tsconfigFilename: paths.tsconfigPath,
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
38
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
37
39
|
await result.write({
|
|
38
|
-
|
|
40
|
+
dir: outputDir,
|
|
41
|
+
entryFileNames: outputFilename,
|
|
39
42
|
format: 'es',
|
|
40
43
|
sourcemap: true,
|
|
44
|
+
inlineDynamicImports: true,
|
|
41
45
|
});
|
|
42
46
|
}
|
|
43
47
|
/**
|
|
@@ -58,11 +62,15 @@ export class TsBundleProcess {
|
|
|
58
62
|
enableComposingJsPlugins: true,
|
|
59
63
|
},
|
|
60
64
|
});
|
|
65
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
66
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
61
67
|
await result.write({
|
|
62
|
-
|
|
68
|
+
dir: outputDir,
|
|
69
|
+
entryFileNames: outputFilename,
|
|
63
70
|
format: 'es',
|
|
64
71
|
sourcemap: true,
|
|
65
72
|
minify: true,
|
|
73
|
+
inlineDynamicImports: true,
|
|
66
74
|
});
|
|
67
75
|
}
|
|
68
76
|
}
|
|
@@ -84,4 +92,4 @@ const run = async () => {
|
|
|
84
92
|
}
|
|
85
93
|
};
|
|
86
94
|
run();
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2Rfcm9sbGRvd24vaW5kZXguY2hpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEQsTUFBTSxPQUFPLGVBQWU7SUFDMUI7UUFDRSxlQUFlO0lBQ2pCLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVTtRQUNyQixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO1lBQy9DLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDckQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FDOUMsQ0FBQztZQUNGLElBQUksYUFBYSxDQUFDLGVBQWUsSUFBSSxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6RSxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNyRSxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDaEUsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDakMsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFD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
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export declare class TsBundleProcess {
|
|
2
2
|
constructor();
|
|
3
|
+
getAliases(): Promise<Record<string, string>>;
|
|
3
4
|
/**
|
|
4
5
|
* creates a bundle for the test enviroment
|
|
5
6
|
*/
|
|
6
|
-
buildTest(fromArg: string, toArg: string, argvArg: any): Promise<
|
|
7
|
+
buildTest(fromArg: string, toArg: string, argvArg: any): Promise<unknown>;
|
|
7
8
|
/**
|
|
8
9
|
* creates a bundle for the production environment
|
|
9
10
|
*/
|
|
10
|
-
buildProduction(fromArg: string, toArg: string, argvArg: any): Promise<
|
|
11
|
+
buildProduction(fromArg: string, toArg: string, argvArg: any): Promise<unknown>;
|
|
11
12
|
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from '../paths.js';
|
|
3
|
+
import * as interfaces from '../interfaces/index.js';
|
|
4
|
+
import { logger } from '../tsbundle.logging.js';
|
|
5
|
+
export class TsBundleProcess {
|
|
6
|
+
constructor() {
|
|
7
|
+
// Nothing here
|
|
8
|
+
}
|
|
9
|
+
async getAliases() {
|
|
10
|
+
try {
|
|
11
|
+
const aliasObject = {};
|
|
12
|
+
const localTsConfig = plugins.smartfile.fs.toObjectSync(plugins.path.join(paths.cwd, 'tsconfig.json'));
|
|
13
|
+
if (localTsConfig.compilerOptions && localTsConfig.compilerOptions.paths) {
|
|
14
|
+
for (const alias of Object.keys(localTsConfig.compilerOptions.paths)) {
|
|
15
|
+
const aliasPath = localTsConfig.compilerOptions.paths[alias][0];
|
|
16
|
+
// Convert TypeScript path to absolute path for rspack
|
|
17
|
+
aliasObject[alias.replace('/*', '')] = plugins.path.resolve(paths.cwd, aliasPath.replace('/*', ''));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return aliasObject;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return {};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* creates a bundle for the test enviroment
|
|
28
|
+
*/
|
|
29
|
+
async buildTest(fromArg, toArg, argvArg) {
|
|
30
|
+
const aliases = await this.getAliases();
|
|
31
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
32
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
33
|
+
const config = {
|
|
34
|
+
mode: 'development',
|
|
35
|
+
entry: {
|
|
36
|
+
main: fromArg,
|
|
37
|
+
},
|
|
38
|
+
output: {
|
|
39
|
+
path: outputDir,
|
|
40
|
+
filename: outputFilename,
|
|
41
|
+
library: {
|
|
42
|
+
type: 'module',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
devtool: 'source-map',
|
|
46
|
+
resolve: {
|
|
47
|
+
alias: aliases,
|
|
48
|
+
extensions: ['.ts', '.tsx', '.js', '.jsx'],
|
|
49
|
+
},
|
|
50
|
+
module: {
|
|
51
|
+
rules: [
|
|
52
|
+
{
|
|
53
|
+
test: /\.tsx?$/,
|
|
54
|
+
exclude: /node_modules/,
|
|
55
|
+
use: {
|
|
56
|
+
loader: 'builtin:swc-loader',
|
|
57
|
+
options: {
|
|
58
|
+
jsc: {
|
|
59
|
+
parser: {
|
|
60
|
+
syntax: 'typescript',
|
|
61
|
+
tsx: true,
|
|
62
|
+
decorators: true,
|
|
63
|
+
},
|
|
64
|
+
target: 'es2022',
|
|
65
|
+
transform: {
|
|
66
|
+
decoratorVersion: '2022-03',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
type: 'javascript/auto',
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
experiments: {
|
|
76
|
+
outputModule: true,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
return new Promise((resolve, reject) => {
|
|
80
|
+
plugins.rspack(config, (err, stats) => {
|
|
81
|
+
if (err) {
|
|
82
|
+
console.error(err.stack || err);
|
|
83
|
+
reject(err);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (stats.hasErrors()) {
|
|
87
|
+
console.error(stats.toString());
|
|
88
|
+
reject(new Error('Build failed with errors'));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
console.log(stats.toString({
|
|
92
|
+
colors: true,
|
|
93
|
+
modules: false,
|
|
94
|
+
children: false,
|
|
95
|
+
chunks: false,
|
|
96
|
+
chunkModules: false,
|
|
97
|
+
}));
|
|
98
|
+
resolve(undefined);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* creates a bundle for the production environment
|
|
104
|
+
*/
|
|
105
|
+
async buildProduction(fromArg, toArg, argvArg) {
|
|
106
|
+
console.log('rspack specific:');
|
|
107
|
+
console.log(`from: ${fromArg}`);
|
|
108
|
+
console.log(`to: ${toArg}`);
|
|
109
|
+
const aliases = await this.getAliases();
|
|
110
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
111
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
112
|
+
const config = {
|
|
113
|
+
mode: 'production',
|
|
114
|
+
entry: {
|
|
115
|
+
main: fromArg,
|
|
116
|
+
},
|
|
117
|
+
output: {
|
|
118
|
+
path: outputDir,
|
|
119
|
+
filename: outputFilename,
|
|
120
|
+
library: {
|
|
121
|
+
type: 'module',
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
devtool: 'source-map',
|
|
125
|
+
resolve: {
|
|
126
|
+
alias: aliases,
|
|
127
|
+
extensions: ['.ts', '.tsx', '.js', '.jsx'],
|
|
128
|
+
},
|
|
129
|
+
module: {
|
|
130
|
+
rules: [
|
|
131
|
+
{
|
|
132
|
+
test: /\.tsx?$/,
|
|
133
|
+
exclude: /node_modules/,
|
|
134
|
+
use: {
|
|
135
|
+
loader: 'builtin:swc-loader',
|
|
136
|
+
options: {
|
|
137
|
+
jsc: {
|
|
138
|
+
parser: {
|
|
139
|
+
syntax: 'typescript',
|
|
140
|
+
tsx: true,
|
|
141
|
+
decorators: true,
|
|
142
|
+
},
|
|
143
|
+
target: 'es2022',
|
|
144
|
+
transform: {
|
|
145
|
+
decoratorVersion: '2022-03',
|
|
146
|
+
},
|
|
147
|
+
minify: {
|
|
148
|
+
compress: true,
|
|
149
|
+
mangle: true,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
type: 'javascript/auto',
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
optimization: {
|
|
159
|
+
minimize: true,
|
|
160
|
+
concatenateModules: true,
|
|
161
|
+
usedExports: true,
|
|
162
|
+
sideEffects: true,
|
|
163
|
+
},
|
|
164
|
+
experiments: {
|
|
165
|
+
outputModule: true,
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
return new Promise((resolve, reject) => {
|
|
169
|
+
plugins.rspack(config, (err, stats) => {
|
|
170
|
+
if (err) {
|
|
171
|
+
console.error(err.stack || err);
|
|
172
|
+
reject(err);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (stats.hasErrors()) {
|
|
176
|
+
console.error(stats.toString());
|
|
177
|
+
reject(new Error('Build failed with errors'));
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
console.log(stats.toString({
|
|
181
|
+
colors: true,
|
|
182
|
+
modules: false,
|
|
183
|
+
children: false,
|
|
184
|
+
chunks: false,
|
|
185
|
+
chunkModules: false,
|
|
186
|
+
}));
|
|
187
|
+
resolve(undefined);
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const run = async () => {
|
|
193
|
+
console.log('running spawned compilation process');
|
|
194
|
+
const transportOptions = JSON.parse(process.env.transportOptions);
|
|
195
|
+
console.log('=======> RSPACK');
|
|
196
|
+
console.log(transportOptions);
|
|
197
|
+
process.chdir(transportOptions.cwd);
|
|
198
|
+
console.log(`switched to ${process.cwd()}`);
|
|
199
|
+
const tsbundleProcessInstance = new TsBundleProcess();
|
|
200
|
+
if (transportOptions.mode === 'test') {
|
|
201
|
+
console.log('building for test:');
|
|
202
|
+
await tsbundleProcessInstance.buildTest(plugins.smartpath.transform.makeAbsolute(transportOptions.from, process.cwd()), plugins.smartpath.transform.makeAbsolute(transportOptions.to, process.cwd()), transportOptions.argv);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
console.log('building for production:');
|
|
206
|
+
await tsbundleProcessInstance.buildProduction(plugins.smartpath.transform.makeAbsolute(transportOptions.from, process.cwd()), plugins.smartpath.transform.makeAbsolute(transportOptions.to, process.cwd()), transportOptions.argv);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
run();
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfcnNwYWNrL2luZGV4LmNoaWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWhELE1BQU0sT0FBTyxlQUFlO0lBQzFCO1FBQ0UsZUFBZTtJQUNqQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQTJCLEVBQUUsQ0FBQztZQUMvQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQzlDLENBQUM7WUFDRixJQUFJLGFBQWEsQ0FBQyxlQUFlLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekUsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDckUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hFLHNEQUFzRDtvQkFDdEQsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMs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
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from '../plugins.js';
|
|
2
|
+
import { rspack } from '@rspack/core';
|
|
3
|
+
export { rspack };
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9yc3BhY2svcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQSJ9
|
|
@@ -8,10 +8,8 @@ export class TsBundle {
|
|
|
8
8
|
switch (argvArg.bundler) {
|
|
9
9
|
case 'rolldown':
|
|
10
10
|
return './mod_rolldown/index.child.js';
|
|
11
|
-
case '
|
|
12
|
-
return './
|
|
13
|
-
case 'parcel':
|
|
14
|
-
return './mod_parcel/index.child.js';
|
|
11
|
+
case 'rspack':
|
|
12
|
+
return './mod_rspack/index.child.js';
|
|
15
13
|
case 'esbuild':
|
|
16
14
|
default:
|
|
17
15
|
return './mod_esbuild/index.child.js';
|
|
@@ -39,4 +37,4 @@ export class TsBundle {
|
|
|
39
37
|
await done.promise;
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNidW5kbGUuY2xhc3MudHNidW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90c2J1bmRsZS5jbGFzcy50c2J1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sUUFBUTtJQUVaLEtBQUssQ0FBQyxLQUFLLENBQ2hCLE1BQWMsRUFDZCxVQUFrQixtQkFBbUIsRUFDckMsUUFBZ0IseUJBQXlCLEVBQ3pDLE9BQStCO1FBRS9CLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQzFCLFFBQVEsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixLQUFLLFVBQVU7b0JBQ2IsT0FBTywrQkFBK0IsQ0FBQztnQkFDekMsS0FBSyxRQUFRO29CQUNYLE9BQU8sNkJBQTZCLENBQUM7Z0JBQ3ZDLEtBQUssU0FBUyxDQUFDO2dCQUNmO29CQUNFLE9BQU8sOEJBQThCLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FBQTtRQUNELE1BQU0sZ0JBQWdCLEdBQW9DO1lBQ3hELEdBQUcsRUFBRSxNQUFNO1lBQ1gsSUFBSSxFQUFFLE9BQU87WUFDYixFQUFFLEVBQUUsS0FBSztZQUNULElBQUksRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQzNELElBQUksRUFBRztnQkFDTCxHQUFHLE9BQU87YUFDWDtTQUNGLENBQUE7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUN0RCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDZixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUMvRCxjQUFjLEVBQUUsQ0FDakIsRUFDRCxFQUFFLEVBQ0Y7WUFDRSxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRztnQkFDZCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO2FBQ25EO1NBQ0YsQ0FDRixDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tsbundle",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"private": false,
|
|
5
|
-
"description": "a bundler
|
|
5
|
+
"description": "a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
7
7
|
"typings": "dist_ts/index.d.ts",
|
|
8
8
|
"type": "module",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"esbuild": "^0.25.5",
|
|
33
33
|
"html-minifier": "^4.0.0",
|
|
34
34
|
"rolldown": "^1.0.0-beta.18",
|
|
35
|
+
"@rspack/core": "^1.1.8",
|
|
35
36
|
"typescript": "5.8.3"
|
|
36
37
|
},
|
|
37
38
|
"files": [
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
"last 1 chrome versions"
|
|
51
52
|
],
|
|
52
53
|
"scripts": {
|
|
53
|
-
"test": "npm run build && (tstest test/
|
|
54
|
+
"test": "npm run build && (tstest test/ --verbose)",
|
|
54
55
|
"build": "(tsbuild --web --allowimplicitany)"
|
|
55
56
|
}
|
|
56
57
|
}
|
package/readme.hints.md
CHANGED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
- The main class `TsBundle` spawns child processes using `smartspawn.ThreadSimple`
|
|
7
7
|
|
|
8
8
|
## Bundler Implementations
|
|
9
|
-
- **esbuild** (default): Fully implemented, production ready
|
|
10
|
-
- **rolldown**: Implemented and working (beta), produces
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
9
|
+
- **esbuild** (default): Fully implemented, production ready, 2.2K minified
|
|
10
|
+
- **rolldown**: Implemented and working (beta), produces smallest bundles (1.5K minified)
|
|
11
|
+
- **rspack**: Implemented and working, webpack-compatible API, 6.1K minified
|
|
12
|
+
- **rollup**: Removed (was never implemented)
|
|
13
|
+
- **parcel**: Removed (was never implemented)
|
|
13
14
|
|
|
14
15
|
## Adding New Bundlers
|
|
15
16
|
To add a new bundler, you need:
|
|
@@ -24,12 +25,22 @@ To add a new bundler, you need:
|
|
|
24
25
|
- Rolldown is in beta (v1.0.0-beta.18) but working well
|
|
25
26
|
- API: Use `rolldown()` function directly, not `rolldown.rolldown()`
|
|
26
27
|
- Output options go in the `write()` method, not the initial config
|
|
28
|
+
- Uses `dir` and `entryFileNames` instead of `file` for output (handles dynamic imports)
|
|
29
|
+
- Includes `inlineDynamicImports: true` to avoid chunk splitting issues
|
|
27
30
|
- Produces smaller minified bundles than esbuild (1.5K vs 2.2K in tests)
|
|
28
31
|
- Supports TypeScript via `resolve.tsconfigFilename`
|
|
29
32
|
|
|
33
|
+
## Rspack Specific Notes
|
|
34
|
+
- Rspack v1.3.15 - stable and production ready
|
|
35
|
+
- Uses webpack-compatible API (callback-based)
|
|
36
|
+
- Built-in SWC loader for TypeScript transpilation
|
|
37
|
+
- Produces larger bundles than esbuild/rolldown due to webpack runtime overhead
|
|
38
|
+
- Best choice if you need webpack compatibility or advanced features
|
|
39
|
+
- Supports ES modules output via `experiments.outputModule: true`
|
|
40
|
+
|
|
30
41
|
## CLI Usage
|
|
31
|
-
- Default bundler: `tsbundle`
|
|
32
|
-
- Specify bundler: `tsbundle --bundler=rolldown`
|
|
42
|
+
- Default bundler: `tsbundle` (uses esbuild)
|
|
43
|
+
- Specify bundler: `tsbundle --bundler=rolldown` or `tsbundle --bundler=rspack`
|
|
33
44
|
- Production mode: `tsbundle --production`
|
|
34
45
|
- Combined: `tsbundle --bundler=rolldown --production`
|
|
35
46
|
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tsbundle',
|
|
6
|
-
version: '2.
|
|
7
|
-
description: 'a bundler
|
|
6
|
+
version: '2.4.1',
|
|
7
|
+
description: 'a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects'
|
|
8
8
|
}
|
package/ts/interfaces/index.ts
CHANGED
|
@@ -39,10 +39,15 @@ export class TsBundleProcess {
|
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
43
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
44
|
+
|
|
42
45
|
await result.write({
|
|
43
|
-
|
|
46
|
+
dir: outputDir,
|
|
47
|
+
entryFileNames: outputFilename,
|
|
44
48
|
format: 'es',
|
|
45
49
|
sourcemap: true,
|
|
50
|
+
inlineDynamicImports: true,
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
|
|
@@ -66,11 +71,16 @@ export class TsBundleProcess {
|
|
|
66
71
|
},
|
|
67
72
|
});
|
|
68
73
|
|
|
74
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
75
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
76
|
+
|
|
69
77
|
await result.write({
|
|
70
|
-
|
|
78
|
+
dir: outputDir,
|
|
79
|
+
entryFileNames: outputFilename,
|
|
71
80
|
format: 'es',
|
|
72
81
|
sourcemap: true,
|
|
73
82
|
minify: true,
|
|
83
|
+
inlineDynamicImports: true,
|
|
74
84
|
});
|
|
75
85
|
}
|
|
76
86
|
}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from '../paths.js';
|
|
3
|
+
import * as interfaces from '../interfaces/index.js';
|
|
4
|
+
import { logger } from '../tsbundle.logging.js';
|
|
5
|
+
|
|
6
|
+
export class TsBundleProcess {
|
|
7
|
+
constructor() {
|
|
8
|
+
// Nothing here
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public async getAliases() {
|
|
12
|
+
try {
|
|
13
|
+
const aliasObject: Record<string, string> = {};
|
|
14
|
+
const localTsConfig = plugins.smartfile.fs.toObjectSync(
|
|
15
|
+
plugins.path.join(paths.cwd, 'tsconfig.json')
|
|
16
|
+
);
|
|
17
|
+
if (localTsConfig.compilerOptions && localTsConfig.compilerOptions.paths) {
|
|
18
|
+
for (const alias of Object.keys(localTsConfig.compilerOptions.paths)) {
|
|
19
|
+
const aliasPath = localTsConfig.compilerOptions.paths[alias][0];
|
|
20
|
+
// Convert TypeScript path to absolute path for rspack
|
|
21
|
+
aliasObject[alias.replace('/*', '')] = plugins.path.resolve(paths.cwd, aliasPath.replace('/*', ''));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return aliasObject;
|
|
25
|
+
} catch (error) {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* creates a bundle for the test enviroment
|
|
32
|
+
*/
|
|
33
|
+
public async buildTest(fromArg: string, toArg: string, argvArg: any) {
|
|
34
|
+
const aliases = await this.getAliases();
|
|
35
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
36
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
37
|
+
|
|
38
|
+
const config = {
|
|
39
|
+
mode: 'development' as const,
|
|
40
|
+
entry: {
|
|
41
|
+
main: fromArg,
|
|
42
|
+
},
|
|
43
|
+
output: {
|
|
44
|
+
path: outputDir,
|
|
45
|
+
filename: outputFilename,
|
|
46
|
+
library: {
|
|
47
|
+
type: 'module' as const,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
devtool: 'source-map' as const,
|
|
51
|
+
resolve: {
|
|
52
|
+
alias: aliases,
|
|
53
|
+
extensions: ['.ts', '.tsx', '.js', '.jsx'],
|
|
54
|
+
},
|
|
55
|
+
module: {
|
|
56
|
+
rules: [
|
|
57
|
+
{
|
|
58
|
+
test: /\.tsx?$/,
|
|
59
|
+
exclude: /node_modules/,
|
|
60
|
+
use: {
|
|
61
|
+
loader: 'builtin:swc-loader',
|
|
62
|
+
options: {
|
|
63
|
+
jsc: {
|
|
64
|
+
parser: {
|
|
65
|
+
syntax: 'typescript',
|
|
66
|
+
tsx: true,
|
|
67
|
+
decorators: true,
|
|
68
|
+
},
|
|
69
|
+
target: 'es2022',
|
|
70
|
+
transform: {
|
|
71
|
+
decoratorVersion: '2022-03',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
type: 'javascript/auto',
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
experiments: {
|
|
81
|
+
outputModule: true,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
return new Promise((resolve, reject) => {
|
|
86
|
+
plugins.rspack(config, (err, stats) => {
|
|
87
|
+
if (err) {
|
|
88
|
+
console.error(err.stack || err);
|
|
89
|
+
reject(err);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (stats.hasErrors()) {
|
|
94
|
+
console.error(stats.toString());
|
|
95
|
+
reject(new Error('Build failed with errors'));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
console.log(stats.toString({
|
|
100
|
+
colors: true,
|
|
101
|
+
modules: false,
|
|
102
|
+
children: false,
|
|
103
|
+
chunks: false,
|
|
104
|
+
chunkModules: false,
|
|
105
|
+
}));
|
|
106
|
+
|
|
107
|
+
resolve(undefined);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* creates a bundle for the production environment
|
|
114
|
+
*/
|
|
115
|
+
public async buildProduction(fromArg: string, toArg: string, argvArg: any) {
|
|
116
|
+
console.log('rspack specific:');
|
|
117
|
+
console.log(`from: ${fromArg}`);
|
|
118
|
+
console.log(`to: ${toArg}`);
|
|
119
|
+
|
|
120
|
+
const aliases = await this.getAliases();
|
|
121
|
+
const outputDir = plugins.path.dirname(toArg);
|
|
122
|
+
const outputFilename = plugins.path.basename(toArg);
|
|
123
|
+
|
|
124
|
+
const config = {
|
|
125
|
+
mode: 'production' as const,
|
|
126
|
+
entry: {
|
|
127
|
+
main: fromArg,
|
|
128
|
+
},
|
|
129
|
+
output: {
|
|
130
|
+
path: outputDir,
|
|
131
|
+
filename: outputFilename,
|
|
132
|
+
library: {
|
|
133
|
+
type: 'module' as const,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
devtool: 'source-map' as const,
|
|
137
|
+
resolve: {
|
|
138
|
+
alias: aliases,
|
|
139
|
+
extensions: ['.ts', '.tsx', '.js', '.jsx'],
|
|
140
|
+
},
|
|
141
|
+
module: {
|
|
142
|
+
rules: [
|
|
143
|
+
{
|
|
144
|
+
test: /\.tsx?$/,
|
|
145
|
+
exclude: /node_modules/,
|
|
146
|
+
use: {
|
|
147
|
+
loader: 'builtin:swc-loader',
|
|
148
|
+
options: {
|
|
149
|
+
jsc: {
|
|
150
|
+
parser: {
|
|
151
|
+
syntax: 'typescript',
|
|
152
|
+
tsx: true,
|
|
153
|
+
decorators: true,
|
|
154
|
+
},
|
|
155
|
+
target: 'es2022',
|
|
156
|
+
transform: {
|
|
157
|
+
decoratorVersion: '2022-03',
|
|
158
|
+
},
|
|
159
|
+
minify: {
|
|
160
|
+
compress: true,
|
|
161
|
+
mangle: true,
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
type: 'javascript/auto',
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
optimization: {
|
|
171
|
+
minimize: true,
|
|
172
|
+
concatenateModules: true,
|
|
173
|
+
usedExports: true,
|
|
174
|
+
sideEffects: true,
|
|
175
|
+
},
|
|
176
|
+
experiments: {
|
|
177
|
+
outputModule: true,
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
return new Promise((resolve, reject) => {
|
|
182
|
+
plugins.rspack(config, (err, stats) => {
|
|
183
|
+
if (err) {
|
|
184
|
+
console.error(err.stack || err);
|
|
185
|
+
reject(err);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (stats.hasErrors()) {
|
|
190
|
+
console.error(stats.toString());
|
|
191
|
+
reject(new Error('Build failed with errors'));
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
console.log(stats.toString({
|
|
196
|
+
colors: true,
|
|
197
|
+
modules: false,
|
|
198
|
+
children: false,
|
|
199
|
+
chunks: false,
|
|
200
|
+
chunkModules: false,
|
|
201
|
+
}));
|
|
202
|
+
|
|
203
|
+
resolve(undefined);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
const run = async () => {
|
|
210
|
+
console.log('running spawned compilation process');
|
|
211
|
+
const transportOptions: interfaces.IEnvTransportOptions = JSON.parse(
|
|
212
|
+
process.env.transportOptions
|
|
213
|
+
);
|
|
214
|
+
console.log('=======> RSPACK');
|
|
215
|
+
console.log(transportOptions);
|
|
216
|
+
process.chdir(transportOptions.cwd);
|
|
217
|
+
console.log(`switched to ${process.cwd()}`);
|
|
218
|
+
const tsbundleProcessInstance = new TsBundleProcess();
|
|
219
|
+
if (transportOptions.mode === 'test') {
|
|
220
|
+
console.log('building for test:');
|
|
221
|
+
await tsbundleProcessInstance.buildTest(
|
|
222
|
+
plugins.smartpath.transform.makeAbsolute(transportOptions.from, process.cwd()),
|
|
223
|
+
plugins.smartpath.transform.makeAbsolute(transportOptions.to, process.cwd()),
|
|
224
|
+
transportOptions.argv
|
|
225
|
+
);
|
|
226
|
+
} else {
|
|
227
|
+
console.log('building for production:');
|
|
228
|
+
await tsbundleProcessInstance.buildProduction(
|
|
229
|
+
plugins.smartpath.transform.makeAbsolute(transportOptions.from, process.cwd()),
|
|
230
|
+
plugins.smartpath.transform.makeAbsolute(transportOptions.to, process.cwd()),
|
|
231
|
+
transportOptions.argv
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
run();
|
|
@@ -15,10 +15,8 @@ export class TsBundle {
|
|
|
15
15
|
switch (argvArg.bundler) {
|
|
16
16
|
case 'rolldown':
|
|
17
17
|
return './mod_rolldown/index.child.js';
|
|
18
|
-
case '
|
|
19
|
-
return './
|
|
20
|
-
case 'parcel':
|
|
21
|
-
return './mod_parcel/index.child.js';
|
|
18
|
+
case 'rspack':
|
|
19
|
+
return './mod_rspack/index.child.js';
|
|
22
20
|
case 'esbuild':
|
|
23
21
|
default:
|
|
24
22
|
return './mod_esbuild/index.child.js';
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
import '../interfaces/index.js';
|
|
3
|
-
import '../tsbundle.logging.js';
|
|
4
|
-
export class TsBundleProcess {
|
|
5
|
-
constructor() {
|
|
6
|
-
// Nothing here
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* creates a bundle for the test enviroment
|
|
10
|
-
*/
|
|
11
|
-
async buildTest(fromArg, toArg, argvArg) {
|
|
12
|
-
const parsedPath = plugins.path.parse(toArg);
|
|
13
|
-
const parcelInstance = new plugins.smartparcel.Parcel(fromArg, parsedPath.dir, parsedPath.base);
|
|
14
|
-
await parcelInstance.build();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* creates a bundle for the production environment
|
|
18
|
-
*/
|
|
19
|
-
async buildProduction(fromArg, toArg, argvArg) {
|
|
20
|
-
// create a bundle
|
|
21
|
-
const parsedPath = plugins.path.parse(toArg);
|
|
22
|
-
const parcelInstance = new plugins.smartparcel.Parcel(fromArg, parsedPath.dir, parsedPath.base);
|
|
23
|
-
await parcelInstance.build();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const run = async () => {
|
|
27
|
-
console.log('running spawned compilation process');
|
|
28
|
-
const transportOptions = JSON.parse(process.env.transportOptions);
|
|
29
|
-
console.log('bundling with parcel:');
|
|
30
|
-
console.log(transportOptions);
|
|
31
|
-
process.chdir(transportOptions.cwd);
|
|
32
|
-
console.log(`switched to ${process.cwd()}`);
|
|
33
|
-
const tsbundleProcessInstance = new TsBundleProcess();
|
|
34
|
-
if (transportOptions.mode === 'test') {
|
|
35
|
-
tsbundleProcessInstance.buildTest(transportOptions.from, transportOptions.to, transportOptions.argv);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
tsbundleProcessInstance.buildProduction(transportOptions.from, transportOptions.to, transportOptions.argv);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
run();
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfcGFyY2VsL2luZGV4LmNoaWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQTRCLHdCQUF3QixDQUFDO0FBQ3JELE9BQXVCLHdCQUF3QixDQUFDO0FBRWhELE1BQU0sT0FBTyxlQUFlO0lBRTFCO1FBQ0UsZUFBZTtJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUNwQixPQUFlLEVBQ2YsS0FBYSxFQUNiLE9BQVk7UUFFWixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUNuRCxPQUFPLEVBQ1AsVUFBVSxDQUFDLEdBQUcsRUFDZCxVQUFVLENBQUMsSUFBSSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWUsQ0FDMUIsT0FBZSxFQUNmLEtBQWEsRUFDYixPQUFZO1FBRVosa0JBQWtCO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQ25ELE9BQU8sRUFDUCxVQUFVLENBQUMsR0FBRyxFQUNkLFVBQVUsQ0FBQyxJQUFJLENBQ2hCLENBQUM7UUFDRixNQUFNLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBb0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUN0RCxJQUFJLGdCQUFnQixDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7UUFDcEMsdUJBQXVCLENBQUMsU0FBUyxDQUMvQixnQkFBZ0IsQ0FBQyxJQUFJLEVBQ3JCLGdCQUFnQixDQUFDLEVBQUUsRUFDbkIsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QixDQUFDO0tBQ0g7U0FBTTtRQUNMLHVCQUF1QixDQUFDLGVBQWUsQ0FDckMsZ0JBQWdCLENBQUMsSUFBSSxFQUNyQixnQkFBZ0IsQ0FBQyxFQUFFLEVBQ25CLGdCQUFnQixDQUFDLElBQUksQ0FDdEIsQ0FBQztLQUNIO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsR0FBRyxFQUFFLENBQUMifQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from '../plugins.js';
|
|
2
|
-
import * as smartparcel from '@pushrocks/smartparcel';
|
|
3
|
-
export { smartparcel };
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9wYXJjZWwvcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQTtBQUU3QixPQUFPLEtBQUssV0FBVyxNQUFNLHdCQUF3QixDQUFDO0FBRXRELE9BQU8sRUFDTCxXQUFXLEVBQ1osQ0FBQSJ9
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
import * as paths from '../paths.js';
|
|
3
|
-
export class HtmlHandler {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.sourceFilePath = plugins.path.join(paths.htmlDir, 'index.html');
|
|
6
|
-
this.targetFilePath = plugins.path.join(paths.distServeDir, 'index.html');
|
|
7
|
-
}
|
|
8
|
-
async checkIfExists() {
|
|
9
|
-
return plugins.smartfile.fs.fileExists(this.sourceFilePath);
|
|
10
|
-
}
|
|
11
|
-
// copies the html
|
|
12
|
-
async copyHtml(targetPathArg = this.targetFilePath) {
|
|
13
|
-
if (!(await this.checkIfExists())) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
await plugins.smartfile.fs.copy(this.sourceFilePath, targetPathArg);
|
|
17
|
-
}
|
|
18
|
-
// copies and minifies the html
|
|
19
|
-
async minifyHtml(targetPathArg = this.targetFilePath) {
|
|
20
|
-
if (!(await this.checkIfExists())) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const fileString = plugins.smartfile.fs.toStringSync(this.sourceFilePath);
|
|
24
|
-
const minifiedHtml = plugins.htmlMinifier.minify(fileString, {
|
|
25
|
-
minifyCSS: true,
|
|
26
|
-
minifyJS: true,
|
|
27
|
-
sortAttributes: true,
|
|
28
|
-
sortClassName: true,
|
|
29
|
-
removeAttributeQuotes: true,
|
|
30
|
-
collapseWhitespace: true,
|
|
31
|
-
collapseInlineTagWhitespace: true,
|
|
32
|
-
removeComments: true,
|
|
33
|
-
});
|
|
34
|
-
plugins.smartfile.memory.toFsSync(minifiedHtml, targetPathArg);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbGhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2Rfcm9sbHVwL2h0bWxoYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBQ1MsbUJBQWMsR0FBVyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLG1CQUFjLEdBQVcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQWdDdEYsQ0FBQztJQTlCUSxLQUFLLENBQUMsYUFBYTtRQUN4QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGtCQUFrQjtJQUNYLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjO1FBQ3ZELElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsK0JBQStCO0lBQ3hCLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjO1FBQ3pELElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDM0QsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLHFCQUFxQixFQUFFLElBQUk7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QiwyQkFBMkIsRUFBRSxJQUFJO1lBQ2pDLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGIn0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
export declare class TsBundleProcess {
|
|
3
|
-
/**
|
|
4
|
-
* the basic default options for rollup
|
|
5
|
-
*/
|
|
6
|
-
getBaseOptions(fromArg: string, toArg: string, argvArg: any): plugins.rollup.RollupOptions;
|
|
7
|
-
getOptionsTest(fromArg: string, toArg: string, argvArg: any): plugins.rollup.RollupOptions;
|
|
8
|
-
getOptionsProduction(fromArg: string, toArg: string, argvArg: any): plugins.rollup.RollupOptions;
|
|
9
|
-
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* creates a bundle for the test enviroment
|
|
12
|
-
*/
|
|
13
|
-
buildTest(fromArg: string, toArg: string, argvArg: any): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* creates a bundle for the production environment
|
|
16
|
-
*/
|
|
17
|
-
buildProduction(fromArg: string, toArg: string, argvArg: any): Promise<void>;
|
|
18
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
import '../interfaces/index.js';
|
|
3
|
-
import { logger } from '../tsbundle.logging.js';
|
|
4
|
-
export class TsBundleProcess {
|
|
5
|
-
/**
|
|
6
|
-
* the basic default options for rollup
|
|
7
|
-
*/
|
|
8
|
-
getBaseOptions(fromArg = `ts_web/index.ts`, toArg = 'dist_bundle/bundle.js', argvArg) {
|
|
9
|
-
logger.log('info', `from: ${fromArg}`);
|
|
10
|
-
logger.log('info', `to: ${toArg}`);
|
|
11
|
-
const baseOptions = {
|
|
12
|
-
input: fromArg,
|
|
13
|
-
output: {
|
|
14
|
-
name: 'tsbundle',
|
|
15
|
-
file: toArg,
|
|
16
|
-
format: 'iife',
|
|
17
|
-
sourcemap: true,
|
|
18
|
-
},
|
|
19
|
-
// Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash')
|
|
20
|
-
external: [],
|
|
21
|
-
watch: {
|
|
22
|
-
include: ['src/**'],
|
|
23
|
-
},
|
|
24
|
-
plugins: [
|
|
25
|
-
// Compile TypeScript files
|
|
26
|
-
plugins.rollupTypescript({
|
|
27
|
-
include: plugins.path.parse(fromArg).dir
|
|
28
|
-
? plugins.path.parse(fromArg).dir + '/**/*.ts'
|
|
29
|
-
: '**/*.ts',
|
|
30
|
-
declaration: false,
|
|
31
|
-
emitDecoratorMetadata: true,
|
|
32
|
-
experimentalDecorators: true,
|
|
33
|
-
inlineSourceMap: true,
|
|
34
|
-
noEmitOnError: true,
|
|
35
|
-
lib: ['dom'],
|
|
36
|
-
noImplicitAny: false,
|
|
37
|
-
target: 'es2020',
|
|
38
|
-
module: 'es2020',
|
|
39
|
-
moduleResolution: 'node12',
|
|
40
|
-
allowSyntheticDefaultImports: true,
|
|
41
|
-
importsNotUsedAsValues: 'preserve',
|
|
42
|
-
...(argvArg && argvArg.skiplibcheck
|
|
43
|
-
? {
|
|
44
|
-
skipLibCheck: true,
|
|
45
|
-
}
|
|
46
|
-
: {}),
|
|
47
|
-
...(argvArg && argvArg.allowimplicitany
|
|
48
|
-
? {
|
|
49
|
-
noImplicitAny: false,
|
|
50
|
-
}
|
|
51
|
-
: {}),
|
|
52
|
-
...(argvArg && argvArg.commonjs
|
|
53
|
-
? {
|
|
54
|
-
module: 'commonjs',
|
|
55
|
-
moduleResolution: 'node',
|
|
56
|
-
}
|
|
57
|
-
: {}),
|
|
58
|
-
}),
|
|
59
|
-
plugins.rollupJson(),
|
|
60
|
-
// Allow node_modules resolution, so you can use 'external' to control
|
|
61
|
-
// which external modules to include in the bundle
|
|
62
|
-
// https://github.com/rollup/rollup-plugin-node-resolve#usage
|
|
63
|
-
plugins.rollupResolve(),
|
|
64
|
-
plugins.rollupCommonjs({}),
|
|
65
|
-
// Resolve source maps to the original source
|
|
66
|
-
plugins.rollupSourceMaps(),
|
|
67
|
-
],
|
|
68
|
-
};
|
|
69
|
-
return baseOptions;
|
|
70
|
-
}
|
|
71
|
-
getOptionsTest(fromArg, toArg, argvArg) {
|
|
72
|
-
return this.getBaseOptions(fromArg, toArg, argvArg);
|
|
73
|
-
}
|
|
74
|
-
getOptionsProduction(fromArg, toArg, argvArg) {
|
|
75
|
-
const productionOptions = this.getBaseOptions(fromArg, toArg, argvArg);
|
|
76
|
-
productionOptions.plugins.push(plugins.rollupTerser({
|
|
77
|
-
compress: true,
|
|
78
|
-
mangle: true,
|
|
79
|
-
}));
|
|
80
|
-
return productionOptions;
|
|
81
|
-
}
|
|
82
|
-
constructor() {
|
|
83
|
-
// Nothing here
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* creates a bundle for the test enviroment
|
|
87
|
-
*/
|
|
88
|
-
async buildTest(fromArg, toArg, argvArg) {
|
|
89
|
-
// create a bundle
|
|
90
|
-
logger.log('info', `bundling for TEST!`);
|
|
91
|
-
const buildOptions = this.getOptionsTest(fromArg, toArg, argvArg);
|
|
92
|
-
const bundle = await plugins.rollup.rollup(buildOptions);
|
|
93
|
-
bundle.generate(buildOptions.output);
|
|
94
|
-
await bundle.write(buildOptions.output);
|
|
95
|
-
logger.log('ok', `Successfully bundled files!`);
|
|
96
|
-
process.exit(0);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* creates a bundle for the production environment
|
|
100
|
-
*/
|
|
101
|
-
async buildProduction(fromArg, toArg, argvArg) {
|
|
102
|
-
// create a bundle
|
|
103
|
-
logger.log('info', `bundling for PRODUCTION!`);
|
|
104
|
-
const buildOptions = this.getOptionsProduction(fromArg, toArg, argvArg);
|
|
105
|
-
const bundle = await plugins.rollup.rollup(buildOptions);
|
|
106
|
-
bundle.generate(buildOptions.output);
|
|
107
|
-
await bundle.write(buildOptions.output);
|
|
108
|
-
logger.log('ok', `Successfully bundled files!`);
|
|
109
|
-
process.exit(0);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const run = async () => {
|
|
113
|
-
console.log('running spawned compilation process');
|
|
114
|
-
const transportOptions = JSON.parse(process.env.transportOptions);
|
|
115
|
-
console.log('bundling with rollup:');
|
|
116
|
-
console.log(transportOptions);
|
|
117
|
-
process.chdir(transportOptions.cwd);
|
|
118
|
-
console.log(`switched to ${process.cwd()}`);
|
|
119
|
-
const tsbundleProcessInstance = new TsBundleProcess();
|
|
120
|
-
if (transportOptions.mode === 'test') {
|
|
121
|
-
tsbundleProcessInstance.buildTest(transportOptions.from, transportOptions.to, transportOptions.argv);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
tsbundleProcessInstance.buildProduction(transportOptions.from, transportOptions.to, transportOptions.argv);
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
run();
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2Rfcm9sbHVwL2luZGV4LmNoaWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQTRCLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7T0FFRztJQUNJLGNBQWMsQ0FDbkIsVUFBa0IsaUJBQWlCLEVBQ25DLFFBQWdCLHVCQUF1QixFQUN2QyxPQUFZO1FBRVosTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVuQyxNQUFNLFdBQVcsR0FBaUM7WUFDaEQsS0FBSyxFQUFFLE9BQU87WUFDZCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxLQUFLO2dCQUNYLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2FBQ2hCO1lBQ0QseUZBQXlGO1lBQ3pGLFFBQVEsRUFBRSxFQUFFO1lBQ1osS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNwQjtZQUNELE9BQU8sRUFBRTtnQkFDUCwyQkFBMkI7Z0JBQzFCLE9BQU8sQ0FBQyxnQkFBd0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUc7d0JBQ3RDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsVUFBVTt3QkFDOUMsQ0FBQyxDQUFDLFNBQVM7b0JB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
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from '../plugins.js';
|
|
2
|
-
import * as rollup from 'rollup';
|
|
3
|
-
import rollupBabel from 'rollup-plugin-babel';
|
|
4
|
-
import rollupCommonjs from '@rollup/plugin-commonjs';
|
|
5
|
-
import rollupJson from '@rollup/plugin-json';
|
|
6
|
-
import rollupResolve from '@rollup/plugin-node-resolve';
|
|
7
|
-
import rollupSourceMaps from 'rollup-plugin-sourcemaps';
|
|
8
|
-
import { terser as rollupTerser } from 'rollup-plugin-terser';
|
|
9
|
-
import rollupTypescript from '@rollup/plugin-typescript';
|
|
10
|
-
export { rollup, rollupBabel, rollupCommonjs, rollupJson, rollupResolve, rollupSourceMaps, rollupTerser, rollupTypescript, };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from '../plugins.js';
|
|
2
|
-
// third party scope
|
|
3
|
-
import * as rollup from 'rollup';
|
|
4
|
-
import rollupBabel from 'rollup-plugin-babel';
|
|
5
|
-
import rollupCommonjs from '@rollup/plugin-commonjs';
|
|
6
|
-
import rollupJson from '@rollup/plugin-json';
|
|
7
|
-
import rollupResolve from '@rollup/plugin-node-resolve';
|
|
8
|
-
import rollupSourceMaps from 'rollup-plugin-sourcemaps';
|
|
9
|
-
import { terser as rollupTerser } from 'rollup-plugin-terser';
|
|
10
|
-
import rollupTypescript from '@rollup/plugin-typescript';
|
|
11
|
-
export { rollup, rollupBabel, rollupCommonjs, rollupJson, rollupResolve, rollupSourceMaps, rollupTerser, rollupTypescript, };
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21vZF9yb2xsdXAvcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixvQkFBb0I7QUFDcEIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxXQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxjQUFjLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxhQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxnQkFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxJQUFJLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sZ0JBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsY0FBYyxFQUNkLFVBQVUsRUFDVixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixnQkFBZ0IsR0FDakIsQ0FBQyJ9
|