Compare commits

...

4 Commits

Author SHA1 Message Date
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
5 changed files with 21 additions and 4 deletions

View File

@@ -1,5 +1,18 @@
# Changelog # Changelog
## 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.1",
"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.1',
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();