Compare commits

...

6 Commits
v2.8.4 ... main

Author SHA1 Message Date
5a5f6c6944 v2.9.2
Some checks failed
Default (tags) / security (push) Successful in 43s
Default (tags) / test (push) Failing after 38s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-03-11 19:34:52 +00:00
54ac7e7188 fix(mod_esbuild): preserve function and class names in esbuild output by enabling keepNames in both dev and prod configs 2026-03-11 19:34:52 +00:00
5f0507b2c7 v2.9.1
Some checks failed
Default (tags) / security (push) Successful in 41s
Default (tags) / test (push) Failing after 34s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-03-05 16:47:47 +00:00
ecfd7600e2 fix(mod_custom): use absolute smartfs entry.path instead of joining with dirPath when building fullPath 2026-03-05 16:47:47 +00:00
9cf173293d v2.9.0
Some checks failed
Default (tags) / security (push) Successful in 43s
Default (tags) / test (push) Failing after 39s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-02-24 19:00:42 +00:00
3a53fffe3d feat(exports): expose mod_custom, mod_output and interfaces from entry; make processSingleBundle public 2026-02-24 19:00:42 +00:00
6 changed files with 29 additions and 4 deletions

View File

@@ -1,5 +1,24 @@
# Changelog # Changelog
## 2026-03-11 - 2.9.2 - fix(mod_esbuild)
preserve function and class names in esbuild output by enabling keepNames in both dev and prod configs
- Added keepNames: true to esbuild options in ts/mod_esbuild/index.child.ts for the non-minified/dev build
- Added keepNames: true to esbuild options in ts/mod_esbuild/index.child.ts for the minified/production build to improve stack traces, debugging, and runtime reflection
## 2026-03-05 - 2.9.1 - fix(mod_custom)
use absolute smartfs entry.path instead of joining with dirPath when building fullPath
- entry.path is already absolute (from smartfs); avoid joining it with dirPath which produced incorrect paths
- Fixes file copy path construction so plugins.fs.file(fullPath).copy(destPath) uses the correct source path
## 2026-02-24 - 2.9.0 - feat(exports)
expose mod_custom, mod_output and interfaces from entry; make processSingleBundle public
- Exported ./mod_custom, ./mod_output and ./interfaces from ts/index.ts to expose these modules in the public API.
- Changed processSingleBundle in ts/mod_custom/index.ts from private to public to allow programmatic invocation.
- Non-breaking API expansion; recommend a minor version bump.
## 2026-02-24 - 2.8.4 - fix() ## 2026-02-24 - 2.8.4 - fix()
no changes — empty diff, nothing to commit no changes — empty diff, nothing to commit

View File

@@ -1,6 +1,6 @@
{ {
"name": "@git.zone/tsbundle", "name": "@git.zone/tsbundle",
"version": "2.8.4", "version": "2.9.2",
"private": false, "private": false,
"description": "a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects", "description": "a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@git.zone/tsbundle', name: '@git.zone/tsbundle',
version: '2.8.4', version: '2.9.2',
description: 'a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects' description: 'a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects'
} }

View File

@@ -11,4 +11,7 @@ early.stop();
export * from './tsbundle.class.tsbundle.js'; export * from './tsbundle.class.tsbundle.js';
export * from './mod_assets/index.js'; export * from './mod_assets/index.js';
export * from './mod_html/index.js'; export * from './mod_html/index.js';
export * from './mod_custom/index.js';
export * from './mod_output/index.js';
export * from './interfaces/index.js';
export { runCli }; export { runCli };

View File

@@ -48,7 +48,7 @@ export class CustomBundleHandler {
/** /**
* Process a single bundle configuration * Process a single bundle configuration
*/ */
private async processSingleBundle(bundleConfig: interfaces.IBundleConfig): Promise<void> { public async processSingleBundle(bundleConfig: interfaces.IBundleConfig): Promise<void> {
const outputMode = bundleConfig.outputMode || 'bundle'; const outputMode = bundleConfig.outputMode || 'bundle';
const bundler = bundleConfig.bundler || 'esbuild'; const bundler = bundleConfig.bundler || 'esbuild';
@@ -176,7 +176,8 @@ export class CustomBundleHandler {
for (const entry of entries) { for (const entry of entries) {
if (!entry.isDirectory && regex.test(entry.name)) { if (!entry.isDirectory && regex.test(entry.name)) {
const fullPath = plugins.path.join(dirPath, entry.path); // entry.path is already absolute from smartfs
const fullPath = entry.path;
const relativePath = plugins.path.relative(this.cwd, fullPath); const relativePath = plugins.path.relative(this.cwd, fullPath);
const destPath = plugins.path.join(outputDir, plugins.path.basename(entry.path)); const destPath = plugins.path.join(outputDir, plugins.path.basename(entry.path));
await plugins.fs.directory(plugins.path.dirname(destPath)).create(); await plugins.fs.directory(plugins.path.dirname(destPath)).create();

View File

@@ -43,6 +43,7 @@ export class TsBundleProcess {
sourcemap: true, sourcemap: true,
format: 'esm', format: 'esm',
target: 'es2022', target: 'es2022',
keepNames: true,
entryNames: plugins.path.parse(toArg).name, entryNames: plugins.path.parse(toArg).name,
outdir: plugins.path.parse(toArg).dir, outdir: plugins.path.parse(toArg).dir,
splitting: false, splitting: false,
@@ -67,6 +68,7 @@ export class TsBundleProcess {
format: 'esm', format: 'esm',
target: 'es2022', target: 'es2022',
minify: true, minify: true,
keepNames: true,
entryNames: plugins.path.parse(toArg).name, entryNames: plugins.path.parse(toArg).name,
outdir: plugins.path.parse(toArg).dir, outdir: plugins.path.parse(toArg).dir,
tsconfig: paths.tsconfigPath, tsconfig: paths.tsconfigPath,