Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5a5f6c6944 | |||
| 54ac7e7188 | |||
| 5f0507b2c7 | |||
| ecfd7600e2 | |||
| 9cf173293d | |||
| 3a53fffe3d |
19
changelog.md
19
changelog.md
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 };
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user