Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0900d1a605 | |||
| f0fb99c8ae | |||
| 6d88adcd1e | |||
| 4349571112 |
14
changelog.md
14
changelog.md
@@ -1,5 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-01-23 - 2.8.2 - fix(mod_output)
|
||||
resolve absolute and relative entry.path correctly when adding files
|
||||
|
||||
- Add check for plugins.path.isAbsolute(entry.path) to avoid incorrectly joining absolute paths with dirPath
|
||||
- Use entry.path directly when it's absolute, otherwise join with dirPath
|
||||
- Ensures correct relativePath calculation and prevents invalid file reads
|
||||
|
||||
## 2026-01-12 - 2.8.1 - fix(readme)
|
||||
document maxLineLength option for base64ts output and add example and tip
|
||||
|
||||
- Add documented `maxLineLength` configuration option (number, default 0 = unlimited) for `base64ts` output.
|
||||
- Include example config showing `maxLineLength: 200`.
|
||||
- Add a tip recommending setting `maxLineLength` to split long base64 strings when using AI tools with line-length limits.
|
||||
|
||||
## 2026-01-12 - 2.8.0 - feat(tsbundle)
|
||||
add configurable maxLineLength for base64ts output and improve build/error handling in child builds
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tsbundle",
|
||||
"version": "2.8.0",
|
||||
"version": "2.8.2",
|
||||
"private": false,
|
||||
"description": "a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects",
|
||||
"main": "dist_ts/index.js",
|
||||
|
||||
@@ -91,6 +91,7 @@ tsbundle uses `npmextra.json` for configuration. Here's an example:
|
||||
| `bundler` | `"esbuild"` \| `"rolldown"` \| `"rspack"` | `"esbuild"` | Which bundler to use |
|
||||
| `production` | `boolean` | `false` | Enable minification |
|
||||
| `includeFiles` | `string[]` | `[]` | Glob patterns for additional files (HTML, assets) |
|
||||
| `maxLineLength` | `number` | `0` (unlimited) | For `base64ts` mode: max chars per line in output |
|
||||
|
||||
### Output Modes
|
||||
|
||||
@@ -108,6 +109,8 @@ export const files: { path: string; contentBase64: string }[] = [
|
||||
];
|
||||
```
|
||||
|
||||
**Tip:** If you're working with AI tools that have line length limitations, set `maxLineLength` (e.g., `200`) to split long base64 strings across multiple lines.
|
||||
|
||||
## Available Bundlers 🔧
|
||||
|
||||
tsbundle supports three modern bundlers:
|
||||
@@ -241,7 +244,8 @@ Config:
|
||||
"outputMode": "base64ts",
|
||||
"bundler": "esbuild",
|
||||
"production": true,
|
||||
"includeFiles": ["./html/index.html"]
|
||||
"includeFiles": ["./html/index.html"],
|
||||
"maxLineLength": 200
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsbundle',
|
||||
version: '2.8.0',
|
||||
version: '2.8.2',
|
||||
description: 'a multi-bundler tool supporting esbuild, rolldown, and rspack for painless bundling of web projects'
|
||||
}
|
||||
|
||||
@@ -56,7 +56,10 @@ export class Base64TsOutput {
|
||||
|
||||
for (const entry of entries) {
|
||||
if (!entry.isDirectory && regex.test(entry.name)) {
|
||||
const fullPath = plugins.path.join(dirPath, entry.path);
|
||||
// entry.path may be absolute or relative - handle both cases
|
||||
const fullPath = plugins.path.isAbsolute(entry.path)
|
||||
? entry.path
|
||||
: plugins.path.join(dirPath, entry.path);
|
||||
const relativePath = plugins.path.relative(this.cwd, fullPath);
|
||||
const content = await plugins.fs.file(fullPath).read();
|
||||
this.addFile(relativePath, content);
|
||||
|
||||
Reference in New Issue
Block a user