@git.zone/tsbundle 2.7.4 → 2.8.0
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 +1 -1
- package/dist_ts/interfaces/index.d.ts +1 -0
- package/dist_ts/mod_custom/index.js +13 -6
- package/dist_ts/mod_esbuild/index.child.js +38 -14
- package/dist_ts/mod_output/index.d.ts +5 -2
- package/dist_ts/mod_output/index.js +18 -8
- package/dist_ts/tsbundle.class.tsbundle.js +7 -2
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/interfaces/index.ts +1 -0
- package/ts/mod_custom/index.ts +16 -10
- package/ts/mod_esbuild/index.child.ts +58 -34
- package/ts/mod_output/index.ts +17 -7
- package/ts/tsbundle.class.tsbundle.ts +5 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tsbundle',
|
|
6
|
-
version: '2.
|
|
6
|
+
version: '2.8.0',
|
|
7
7
|
description: 'a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxvQkFBb0I7SUFDMUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFHQUFxRztDQUNuSCxDQUFBIn0=
|
|
@@ -50,10 +50,17 @@ export class CustomBundleHandler {
|
|
|
50
50
|
await plugins.fs.directory(tempDir).create();
|
|
51
51
|
// Build the bundle to temp location
|
|
52
52
|
const tsbundle = new TsBundle();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
try {
|
|
54
|
+
await tsbundle.build(this.cwd, bundleConfig.from, tempBundlePath, {
|
|
55
|
+
bundler,
|
|
56
|
+
production: bundleConfig.production || false,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error(`\n\x1b[31m❌ Bundle failed: ${bundleConfig.from} -> ${bundleConfig.to}\x1b[0m`);
|
|
61
|
+
// Don't re-print error details - they were already shown by the child process
|
|
62
|
+
return; // Skip output handling since build failed
|
|
63
|
+
}
|
|
57
64
|
if (outputMode === 'base64ts') {
|
|
58
65
|
await this.handleBase64TsOutput(bundleConfig, tempBundlePath);
|
|
59
66
|
}
|
|
@@ -81,7 +88,7 @@ export class CustomBundleHandler {
|
|
|
81
88
|
}
|
|
82
89
|
}
|
|
83
90
|
// Write the TypeScript output
|
|
84
|
-
await base64Output.writeToFile(bundleConfig.to);
|
|
91
|
+
await base64Output.writeToFile(bundleConfig.to, bundleConfig.maxLineLength);
|
|
85
92
|
}
|
|
86
93
|
/**
|
|
87
94
|
* Handle standard bundle output mode
|
|
@@ -164,4 +171,4 @@ export async function runCustomBundles() {
|
|
|
164
171
|
await handler.processAllBundles();
|
|
165
172
|
console.log('\nCustom bundle processing complete!');
|
|
166
173
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY3VzdG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUM7QUFFeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUN0QixHQUFHLENBQVM7SUFDWixNQUFNLENBQTZCO0lBRTNDLFlBQVksTUFBYyxLQUFLLENBQUMsR0FBRztRQUNqQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUE2QixvQkFBb0IsRUFBRTtZQUN2RixPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUNsRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSwwQkFBMEIsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLElBQUksT0FBTyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0SCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSyxDQUFDLG1CQUFtQixDQUFDLFlBQXNDO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDO1FBRWxELDZCQUE2QjtRQUM3QixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFN0UsK0JBQStCO1FBQy9CLE1BQU0sT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFN0Msb0NBQW9DO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLENBQUMsS0FBSyxDQUNsQixJQUFJLENBQUMsR0FBRyxFQUNSLFlBQVksQ0FBQyxJQUFJLEVBQ2pCLGNBQWMsRUFDZDtnQkFDRSxPQUFPO2dCQUNQLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVSxJQUFJLEtBQUs7YUFDN0MsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsWUFBWSxDQUFDLElBQUksT0FBTyxZQUFZLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM5Riw4RUFBOEU7WUFDOUUsT0FBTyxDQUFDLDBDQUEwQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxxQkFBcUI7UUFDckIsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0RSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE1BQU0sT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQyxvQkFBb0IsQ0FDaEMsWUFBc0MsRUFDdEMsY0FBc0I7UUFFdEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxELHdCQUF3QjtRQUN4QixNQUFNLGFBQWEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25FLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRWpELHFCQUFxQjtRQUNyQixJQUFJLFlBQVksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEUsS0FBSyxNQUFNLE9BQU8sSUFBSSxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2hELE1BQU0sWUFBWSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsa0JBQWtCLENBQzlCLFlBQXNDLEVBQ3RDLGNBQXNCO1FBRXRCLG1DQUFtQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFXLENBQUM7UUFDM0YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsTUFBTSxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUUzQyxNQUFNLGFBQWEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25FLE1BQU0sT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJELHFDQUFxQztRQUNyQyxJQUFJLFlBQVksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUN0QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUvQyxLQUFLLE1BQU0sT0FBTyxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDaEQsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxTQUFpQjtRQUNoRSxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQVcsQ0FBQztRQUM1RixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhELElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNDLElBQUksT0FBTyxDQUFDO1lBQ1osSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZELENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV0QyxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNqRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUMvRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ2pGLE1BQU0sT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEUsTUFBTSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxZQUFZLE9BQU8sUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixlQUFlLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN4RCxNQUFNLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsT0FBTyxPQUFPLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0I7SUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTdDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyJ9
|
|
@@ -73,21 +73,45 @@ export class TsBundleProcess {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
const run = async () => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
76
|
+
try {
|
|
77
|
+
console.log('running spawned compilation process');
|
|
78
|
+
const transportOptions = JSON.parse(process.env.transportOptions);
|
|
79
|
+
console.log('=======> ESBUILD');
|
|
80
|
+
console.log(transportOptions);
|
|
81
|
+
process.chdir(transportOptions.cwd);
|
|
82
|
+
console.log(`switched to ${process.cwd()}`);
|
|
83
|
+
const tsbundleProcessInstance = new TsBundleProcess();
|
|
84
|
+
if (transportOptions.mode === 'test') {
|
|
85
|
+
console.log('building for test:');
|
|
86
|
+
await tsbundleProcessInstance.buildTest(plugins.smartpath.transform.makeAbsolute(transportOptions.from, process.cwd()), plugins.smartpath.transform.makeAbsolute(transportOptions.to, process.cwd()), transportOptions.argv);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.log('building for production:');
|
|
90
|
+
await tsbundleProcessInstance.buildProduction(plugins.smartpath.transform.makeAbsolute(transportOptions.from, process.cwd()), plugins.smartpath.transform.makeAbsolute(transportOptions.to, process.cwd()), transportOptions.argv);
|
|
91
|
+
}
|
|
92
|
+
process.exit(0);
|
|
86
93
|
}
|
|
87
|
-
|
|
88
|
-
console.
|
|
89
|
-
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error('\n\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m');
|
|
96
|
+
console.error('\x1b[31m❌ BUILD FAILED\x1b[0m');
|
|
97
|
+
console.error('\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n');
|
|
98
|
+
if (error.errors && Array.isArray(error.errors)) {
|
|
99
|
+
// esbuild errors - format them nicely
|
|
100
|
+
console.error(`Found ${error.errors.length} error(s):\n`);
|
|
101
|
+
for (const err of error.errors) {
|
|
102
|
+
const file = err.location?.file || 'unknown';
|
|
103
|
+
const line = err.location?.line || '?';
|
|
104
|
+
const column = err.location?.column || '?';
|
|
105
|
+
console.error(` \x1b[36m${file}\x1b[0m:\x1b[33m${line}\x1b[0m:\x1b[33m${column}\x1b[0m`);
|
|
106
|
+
console.error(` ${err.text}\n`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.error(error.message || error);
|
|
111
|
+
}
|
|
112
|
+
console.error('\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n');
|
|
113
|
+
process.exit(1);
|
|
90
114
|
}
|
|
91
115
|
};
|
|
92
116
|
run();
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2hpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfZXNidWlsZC9pbmRleC5jaGlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxNQUFNLE9BQU8sZUFBZTtJQUMxQjtRQUNFLGVBQWU7SUFDakIsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7WUFDL0MsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNuRSxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxFQUFFO2lCQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDO2lCQUNsQixRQUFRLENBQUMsTUFBTSxDQUFDO2lCQUNoQixJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBeUIsQ0FBQyxDQUFDO1lBQzVELElBQ0UsYUFBYSxDQUFDLGVBQWU7Z0JBQzdCLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUNuQyxDQUFDO2dCQUNELEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3JFLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoRSxXQUFX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
|
|
@@ -13,12 +13,15 @@ export declare class Base64TsOutput {
|
|
|
13
13
|
addFilesFromGlob(pattern: string): Promise<void>;
|
|
14
14
|
/**
|
|
15
15
|
* Generate TypeScript file content
|
|
16
|
+
* @param maxLineLength - Max chars per line for base64 strings. 0 or undefined = unlimited (default)
|
|
16
17
|
*/
|
|
17
|
-
generateTypeScript(): string;
|
|
18
|
+
generateTypeScript(maxLineLength?: number): string;
|
|
18
19
|
/**
|
|
19
20
|
* Write the TypeScript file to disk
|
|
21
|
+
* @param outputPath - Output file path
|
|
22
|
+
* @param maxLineLength - Max chars per line for base64 strings. 0 or undefined = unlimited (default)
|
|
20
23
|
*/
|
|
21
|
-
writeToFile(outputPath: string): Promise<void>;
|
|
24
|
+
writeToFile(outputPath: string, maxLineLength?: number): Promise<void>;
|
|
22
25
|
/**
|
|
23
26
|
* Get all collected files
|
|
24
27
|
*/
|
|
@@ -69,16 +69,24 @@ export class Base64TsOutput {
|
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* Generate TypeScript file content
|
|
72
|
+
* @param maxLineLength - Max chars per line for base64 strings. 0 or undefined = unlimited (default)
|
|
72
73
|
*/
|
|
73
|
-
generateTypeScript() {
|
|
74
|
-
|
|
74
|
+
generateTypeScript(maxLineLength) {
|
|
75
|
+
// Default behavior: no line splitting (unlimited)
|
|
76
|
+
if (!maxLineLength || maxLineLength <= 0) {
|
|
77
|
+
const filesJson = JSON.stringify(this.files, null, 2);
|
|
78
|
+
return `// Auto-generated by tsbundle - do not edit
|
|
79
|
+
export const files: { path: string; contentBase64: string }[] = ${filesJson};
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
// Split base64 strings into chunks when maxLineLength is specified
|
|
75
83
|
const formatBase64 = (base64) => {
|
|
76
|
-
if (base64.length <=
|
|
84
|
+
if (base64.length <= maxLineLength) {
|
|
77
85
|
return `"${base64}"`;
|
|
78
86
|
}
|
|
79
87
|
const chunks = [];
|
|
80
|
-
for (let i = 0; i < base64.length; i +=
|
|
81
|
-
chunks.push(base64.slice(i, i +
|
|
88
|
+
for (let i = 0; i < base64.length; i += maxLineLength) {
|
|
89
|
+
chunks.push(base64.slice(i, i + maxLineLength));
|
|
82
90
|
}
|
|
83
91
|
return `"" +\n "${chunks.join('" +\n "')}"`;
|
|
84
92
|
};
|
|
@@ -96,12 +104,14 @@ ${filesFormatted}
|
|
|
96
104
|
}
|
|
97
105
|
/**
|
|
98
106
|
* Write the TypeScript file to disk
|
|
107
|
+
* @param outputPath - Output file path
|
|
108
|
+
* @param maxLineLength - Max chars per line for base64 strings. 0 or undefined = unlimited (default)
|
|
99
109
|
*/
|
|
100
|
-
async writeToFile(outputPath) {
|
|
110
|
+
async writeToFile(outputPath, maxLineLength) {
|
|
101
111
|
const absolutePath = plugins.smartpath.transform.toAbsolute(outputPath, this.cwd);
|
|
102
112
|
const outputDir = plugins.path.dirname(absolutePath);
|
|
103
113
|
await plugins.fs.directory(outputDir).create();
|
|
104
|
-
const content = this.generateTypeScript();
|
|
114
|
+
const content = this.generateTypeScript(maxLineLength);
|
|
105
115
|
await plugins.fs.file(absolutePath).encoding('utf8').write(content);
|
|
106
116
|
console.log(`Generated base64ts output: ${outputPath}`);
|
|
107
117
|
}
|
|
@@ -118,4 +128,4 @@ ${filesFormatted}
|
|
|
118
128
|
this.files = [];
|
|
119
129
|
}
|
|
120
130
|
}
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2Rfb3V0cHV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsTUFBTSxPQUFPLGNBQWM7SUFDakIsS0FBSyxHQUE2QixFQUFFLENBQUM7SUFDckMsR0FBRyxDQUFTO0lBRXBCLFlBQVksTUFBYyxLQUFLLENBQUMsR0FBRztRQUNqQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPLENBQUMsUUFBZ0IsRUFBRSxPQUF3QjtRQUN2RCxNQUFNLGFBQWEsR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUYsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsYUFBYTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFlO1FBQzNDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBVyxDQUFDO1FBQzVGLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFH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
|
|
@@ -32,9 +32,14 @@ export class TsBundle {
|
|
|
32
32
|
});
|
|
33
33
|
const childProcess = await threadsimple.start();
|
|
34
34
|
childProcess.on('exit', (status) => {
|
|
35
|
-
|
|
35
|
+
if (status !== 0) {
|
|
36
|
+
done.reject(new Error(`Bundle build failed with exit code ${status}`));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
done.resolve();
|
|
40
|
+
}
|
|
36
41
|
});
|
|
37
42
|
await done.promise;
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNidW5kbGUuY2xhc3MudHNidW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90c2J1bmRsZS5jbGFzcy50c2J1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssVUFBVSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sUUFBUTtJQUNaLEtBQUssQ0FBQyxLQUFLLENBQ2hCLE1BQWMsRUFDZCxVQUFrQixtQkFBbUIsRUFDckMsUUFBZ0IseUJBQXlCLEVBQ3pDLE9BQStCO1FBRS9CLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQzFCLFFBQVEsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixLQUFLLFVBQVU7b0JBQ2IsT0FBTywrQkFBK0IsQ0FBQztnQkFDekMsS0FBSyxRQUFRO29CQUNYLE9BQU8sNkJBQTZCLENBQUM7Z0JBQ3ZDLEtBQUssU0FBUyxDQUFDO2dCQUNmO29CQUNFLE9BQU8sOEJBQThCLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sZ0JBQWdCLEdBQW9DO1lBQ3hELEdBQUcsRUFBRSxNQUFNO1lBQ1gsSUFBSSxFQUFFLE9BQU87WUFDYixFQUFFLEVBQUUsS0FBSztZQUNULElBQUksRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQzNELElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU87YUFDWDtTQUNGLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUN0RCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDZixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUMvRCxjQUFjLEVBQUUsQ0FDakIsRUFDRCxFQUFFLEVBQ0Y7WUFDRSxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRztnQkFDZCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO2FBQ25EO1NBQ0YsQ0FDRixDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqQyxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/interfaces/index.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface IBundleConfig {
|
|
|
24
24
|
bundler?: TBundler;
|
|
25
25
|
production?: boolean;
|
|
26
26
|
includeFiles?: string[];
|
|
27
|
+
maxLineLength?: number; // For base64ts output: max chars per line. 0 or undefined = unlimited (default)
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export interface ITsbundleConfig {
|
package/ts/mod_custom/index.ts
CHANGED
|
@@ -61,15 +61,21 @@ export class CustomBundleHandler {
|
|
|
61
61
|
|
|
62
62
|
// Build the bundle to temp location
|
|
63
63
|
const tsbundle = new TsBundle();
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
try {
|
|
65
|
+
await tsbundle.build(
|
|
66
|
+
this.cwd,
|
|
67
|
+
bundleConfig.from,
|
|
68
|
+
tempBundlePath,
|
|
69
|
+
{
|
|
70
|
+
bundler,
|
|
71
|
+
production: bundleConfig.production || false,
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
} catch (error: any) {
|
|
75
|
+
console.error(`\n\x1b[31m❌ Bundle failed: ${bundleConfig.from} -> ${bundleConfig.to}\x1b[0m`);
|
|
76
|
+
// Don't re-print error details - they were already shown by the child process
|
|
77
|
+
return; // Skip output handling since build failed
|
|
78
|
+
}
|
|
73
79
|
|
|
74
80
|
if (outputMode === 'base64ts') {
|
|
75
81
|
await this.handleBase64TsOutput(bundleConfig, tempBundlePath);
|
|
@@ -105,7 +111,7 @@ export class CustomBundleHandler {
|
|
|
105
111
|
}
|
|
106
112
|
|
|
107
113
|
// Write the TypeScript output
|
|
108
|
-
await base64Output.writeToFile(bundleConfig.to);
|
|
114
|
+
await base64Output.writeToFile(bundleConfig.to, bundleConfig.maxLineLength);
|
|
109
115
|
}
|
|
110
116
|
|
|
111
117
|
/**
|
|
@@ -79,41 +79,65 @@ export class TsBundleProcess {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
const run = async () => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
console.log('=======> ESBUILD');
|
|
87
|
-
console.log(transportOptions);
|
|
88
|
-
process.chdir(transportOptions.cwd);
|
|
89
|
-
console.log(`switched to ${process.cwd()}`);
|
|
90
|
-
const tsbundleProcessInstance = new TsBundleProcess();
|
|
91
|
-
if (transportOptions.mode === 'test') {
|
|
92
|
-
console.log('building for test:');
|
|
93
|
-
tsbundleProcessInstance.buildTest(
|
|
94
|
-
plugins.smartpath.transform.makeAbsolute(
|
|
95
|
-
transportOptions.from,
|
|
96
|
-
process.cwd(),
|
|
97
|
-
),
|
|
98
|
-
plugins.smartpath.transform.makeAbsolute(
|
|
99
|
-
transportOptions.to,
|
|
100
|
-
process.cwd(),
|
|
101
|
-
),
|
|
102
|
-
transportOptions.argv,
|
|
103
|
-
);
|
|
104
|
-
} else {
|
|
105
|
-
console.log('building for production:');
|
|
106
|
-
tsbundleProcessInstance.buildProduction(
|
|
107
|
-
plugins.smartpath.transform.makeAbsolute(
|
|
108
|
-
transportOptions.from,
|
|
109
|
-
process.cwd(),
|
|
110
|
-
),
|
|
111
|
-
plugins.smartpath.transform.makeAbsolute(
|
|
112
|
-
transportOptions.to,
|
|
113
|
-
process.cwd(),
|
|
114
|
-
),
|
|
115
|
-
transportOptions.argv,
|
|
82
|
+
try {
|
|
83
|
+
console.log('running spawned compilation process');
|
|
84
|
+
const transportOptions: interfaces.IEnvTransportOptions = JSON.parse(
|
|
85
|
+
process.env.transportOptions,
|
|
116
86
|
);
|
|
87
|
+
console.log('=======> ESBUILD');
|
|
88
|
+
console.log(transportOptions);
|
|
89
|
+
process.chdir(transportOptions.cwd);
|
|
90
|
+
console.log(`switched to ${process.cwd()}`);
|
|
91
|
+
const tsbundleProcessInstance = new TsBundleProcess();
|
|
92
|
+
if (transportOptions.mode === 'test') {
|
|
93
|
+
console.log('building for test:');
|
|
94
|
+
await tsbundleProcessInstance.buildTest(
|
|
95
|
+
plugins.smartpath.transform.makeAbsolute(
|
|
96
|
+
transportOptions.from,
|
|
97
|
+
process.cwd(),
|
|
98
|
+
),
|
|
99
|
+
plugins.smartpath.transform.makeAbsolute(
|
|
100
|
+
transportOptions.to,
|
|
101
|
+
process.cwd(),
|
|
102
|
+
),
|
|
103
|
+
transportOptions.argv,
|
|
104
|
+
);
|
|
105
|
+
} else {
|
|
106
|
+
console.log('building for production:');
|
|
107
|
+
await tsbundleProcessInstance.buildProduction(
|
|
108
|
+
plugins.smartpath.transform.makeAbsolute(
|
|
109
|
+
transportOptions.from,
|
|
110
|
+
process.cwd(),
|
|
111
|
+
),
|
|
112
|
+
plugins.smartpath.transform.makeAbsolute(
|
|
113
|
+
transportOptions.to,
|
|
114
|
+
process.cwd(),
|
|
115
|
+
),
|
|
116
|
+
transportOptions.argv,
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
process.exit(0);
|
|
120
|
+
} catch (error: any) {
|
|
121
|
+
console.error('\n\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m');
|
|
122
|
+
console.error('\x1b[31m❌ BUILD FAILED\x1b[0m');
|
|
123
|
+
console.error('\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n');
|
|
124
|
+
|
|
125
|
+
if (error.errors && Array.isArray(error.errors)) {
|
|
126
|
+
// esbuild errors - format them nicely
|
|
127
|
+
console.error(`Found ${error.errors.length} error(s):\n`);
|
|
128
|
+
for (const err of error.errors) {
|
|
129
|
+
const file = err.location?.file || 'unknown';
|
|
130
|
+
const line = err.location?.line || '?';
|
|
131
|
+
const column = err.location?.column || '?';
|
|
132
|
+
console.error(` \x1b[36m${file}\x1b[0m:\x1b[33m${line}\x1b[0m:\x1b[33m${column}\x1b[0m`);
|
|
133
|
+
console.error(` ${err.text}\n`);
|
|
134
|
+
}
|
|
135
|
+
} else {
|
|
136
|
+
console.error(error.message || error);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
console.error('\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n');
|
|
140
|
+
process.exit(1);
|
|
117
141
|
}
|
|
118
142
|
};
|
|
119
143
|
|
package/ts/mod_output/index.ts
CHANGED
|
@@ -77,18 +77,26 @@ export class Base64TsOutput {
|
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Generate TypeScript file content
|
|
80
|
+
* @param maxLineLength - Max chars per line for base64 strings. 0 or undefined = unlimited (default)
|
|
80
81
|
*/
|
|
81
|
-
public generateTypeScript(): string {
|
|
82
|
-
|
|
82
|
+
public generateTypeScript(maxLineLength?: number): string {
|
|
83
|
+
// Default behavior: no line splitting (unlimited)
|
|
84
|
+
if (!maxLineLength || maxLineLength <= 0) {
|
|
85
|
+
const filesJson = JSON.stringify(this.files, null, 2);
|
|
86
|
+
return `// Auto-generated by tsbundle - do not edit
|
|
87
|
+
export const files: { path: string; contentBase64: string }[] = ${filesJson};
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
83
90
|
|
|
91
|
+
// Split base64 strings into chunks when maxLineLength is specified
|
|
84
92
|
const formatBase64 = (base64: string): string => {
|
|
85
|
-
if (base64.length <=
|
|
93
|
+
if (base64.length <= maxLineLength) {
|
|
86
94
|
return `"${base64}"`;
|
|
87
95
|
}
|
|
88
96
|
|
|
89
97
|
const chunks: string[] = [];
|
|
90
|
-
for (let i = 0; i < base64.length; i +=
|
|
91
|
-
chunks.push(base64.slice(i, i +
|
|
98
|
+
for (let i = 0; i < base64.length; i += maxLineLength) {
|
|
99
|
+
chunks.push(base64.slice(i, i + maxLineLength));
|
|
92
100
|
}
|
|
93
101
|
|
|
94
102
|
return `"" +\n "${chunks.join('" +\n "')}"`;
|
|
@@ -110,12 +118,14 @@ ${filesFormatted}
|
|
|
110
118
|
|
|
111
119
|
/**
|
|
112
120
|
* Write the TypeScript file to disk
|
|
121
|
+
* @param outputPath - Output file path
|
|
122
|
+
* @param maxLineLength - Max chars per line for base64 strings. 0 or undefined = unlimited (default)
|
|
113
123
|
*/
|
|
114
|
-
public async writeToFile(outputPath: string): Promise<void> {
|
|
124
|
+
public async writeToFile(outputPath: string, maxLineLength?: number): Promise<void> {
|
|
115
125
|
const absolutePath = plugins.smartpath.transform.toAbsolute(outputPath, this.cwd) as string;
|
|
116
126
|
const outputDir = plugins.path.dirname(absolutePath);
|
|
117
127
|
await plugins.fs.directory(outputDir).create();
|
|
118
|
-
const content = this.generateTypeScript();
|
|
128
|
+
const content = this.generateTypeScript(maxLineLength);
|
|
119
129
|
await plugins.fs.file(absolutePath).encoding('utf8').write(content);
|
|
120
130
|
console.log(`Generated base64ts output: ${outputPath}`);
|
|
121
131
|
}
|
|
@@ -45,7 +45,11 @@ export class TsBundle {
|
|
|
45
45
|
);
|
|
46
46
|
const childProcess = await threadsimple.start();
|
|
47
47
|
childProcess.on('exit', (status) => {
|
|
48
|
-
|
|
48
|
+
if (status !== 0) {
|
|
49
|
+
done.reject(new Error(`Bundle build failed with exit code ${status}`));
|
|
50
|
+
} else {
|
|
51
|
+
done.resolve();
|
|
52
|
+
}
|
|
49
53
|
});
|
|
50
54
|
await done.promise;
|
|
51
55
|
}
|