@mdzip/core-js 1.2.4 → 1.3.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.
@@ -262,6 +262,26 @@ export interface MdzArchiveMutationResult {
262
262
  /** Archive file paths present after mutation. */
263
263
  archivePaths: string[];
264
264
  }
265
+ /**
266
+ * One file write applied by {@link MdzArchiveCore.updateFiles}.
267
+ */
268
+ export interface MdzArchiveWriteSpec {
269
+ /** Archive-relative entry path. Replaces any existing entry with the same path (case-insensitive). */
270
+ path: string;
271
+ /** Entry content. Strings are written as UTF-8 text with normalized line endings for text files. */
272
+ content: MdzArchiveMutationInput;
273
+ }
274
+ /**
275
+ * Controls for {@link MdzArchiveCore.updateFiles}.
276
+ */
277
+ export interface MdzUpdateFilesOptions {
278
+ /**
279
+ * Replacement manifest object written as `manifest.json` (validated and
280
+ * timestamp-stamped). When omitted, the archive's existing manifest is
281
+ * refreshed in place. Ignored when `writes` already targets `manifest.json`.
282
+ */
283
+ manifest?: MdzManifest | null;
284
+ }
265
285
  /**
266
286
  * Controls archive path/entry listing output.
267
287
  */
@@ -339,6 +359,13 @@ export interface MdzOpenWorkspaceOptions {
339
359
  orphanedAssetScanMode?: 'entrypoint' | 'all-markdown';
340
360
  /** Include lazy `readBytes` and `readDataUri` functions on assets. Defaults to `true`. */
341
361
  includeLazyAssetReaders?: boolean;
362
+ /**
363
+ * When `true`, non-entry-point documents are opened with `text = ''` and a
364
+ * `readText` lazy reader instead of being read eagerly. The entry-point document
365
+ * is always read eagerly so the initial view renders without a round-trip.
366
+ * Defaults to `false`.
367
+ */
368
+ includeLazyDocumentReaders?: boolean;
342
369
  }
343
370
  /**
344
371
  * One Markdown document in an opened workspace.
@@ -348,10 +375,28 @@ export interface MdzWorkspaceDocument {
348
375
  path: string;
349
376
  /** Human-readable title for app navigation. */
350
377
  title: string;
351
- /** UTF-8 Markdown source text. */
378
+ /**
379
+ * UTF-8 Markdown source text. Empty string when `includeLazyDocumentReaders`
380
+ * was enabled and this document has not yet been read — call `readText()` first.
381
+ */
352
382
  text: string;
353
383
  /** True when this document is the resolved archive entry point. */
354
384
  isEntryPoint: boolean;
385
+ /**
386
+ * Present only when `includeLazyDocumentReaders` is enabled and the document
387
+ * text has not yet been read eagerly. Consumers should populate `text` from the
388
+ * result and delete this function so subsequent reads are served from memory.
389
+ */
390
+ readText?: () => Promise<string>;
391
+ /**
392
+ * True when the document was opened lazily and `text` has not been
393
+ * materialized yet. Unlike `readText`, this flag survives serialization
394
+ * boundaries (structured clone, JSON, `postMessage`), so the far side can
395
+ * distinguish a dropped `readText` closure from a genuinely empty document.
396
+ * Consumers that materialize `text` should clear this flag together with
397
+ * `readText`.
398
+ */
399
+ isLazy?: boolean;
355
400
  }
356
401
  /**
357
402
  * One non-Markdown, non-manifest asset in an opened workspace.
@@ -524,6 +569,45 @@ export declare class MdzArchiveCore {
524
569
  * @param archiveEntryPaths - Archive-relative paths to remove.
525
570
  */
526
571
  static removeFiles(input: MdzCoreArchiveBinary, archiveEntryPaths: string[]): Promise<MdzArchiveMutationResult>;
572
+ /**
573
+ * Applies multiple entry writes and removals in one mutation, patching the
574
+ * archive at the byte level.
575
+ *
576
+ * Unchanged entries are copied verbatim — their compressed data is never
577
+ * decompressed or recompressed — so mutations cost milliseconds instead of
578
+ * many seconds on a 100MB+ archive. Only new or replaced entries are
579
+ * compressed. {@link addFile}, {@link removeFile}, and {@link removeFiles}
580
+ * delegate here. Falls back to a full JSZip rebuild when the source archive
581
+ * uses features the patcher does not support (ZIP64, encryption, non-UTF-8
582
+ * names).
583
+ *
584
+ * Matches the semantics of the single-entry mutation helpers: paths are
585
+ * validated, removals must exist, entry-point integrity is enforced, and the
586
+ * manifest (existing or provided via `options.manifest`) is refreshed and
587
+ * rewritten.
588
+ *
589
+ * @param input - Existing archive bytes.
590
+ * @param writes - Entries to add or replace.
591
+ * @param removals - Entry paths to remove.
592
+ * @param options - Manifest override controls.
593
+ */
594
+ static updateFiles(input: MdzCoreArchiveBinary, writes: MdzArchiveWriteSpec[], removals?: string[], options?: MdzUpdateFilesOptions): Promise<MdzArchiveMutationResult>;
595
+ private static readArchiveInputBytes;
596
+ /**
597
+ * Rewrites archive bytes by copying unchanged entries' raw compressed data
598
+ * and appending freshly compressed data for written entries.
599
+ *
600
+ * Throws `ERR_ZIP_UNSUPPORTED` for archives the copier cannot handle
601
+ * losslessly: ZIP64, encrypted entries, multi-disk archives, and non-UTF-8
602
+ * entry names.
603
+ */
604
+ private static patchArchiveBytes;
605
+ private static parseRawZipEntries;
606
+ private static isStoredAssetPath;
607
+ private static deflateRawBytes;
608
+ private static crc32Table;
609
+ private static crc32;
610
+ private static toDosDateTime;
527
611
  /**
528
612
  * Finds orphaned image assets in an archive.
529
613
  *
@@ -840,6 +924,12 @@ export declare class MdzPackagerCore {
840
924
  /**
841
925
  * Builds an `.mdz` archive from a normalized workspace.
842
926
  *
927
+ * Documents opened lazily (`includeLazyDocumentReaders`) are resolved via
928
+ * their `readText()` reader before packing, so unopened documents keep their
929
+ * content. Throws `ERR_LAZY_TEXT_UNAVAILABLE` when a lazy document has empty
930
+ * `text` and no `readText` reader (e.g. the closure was dropped by a
931
+ * serialization boundary), instead of silently writing an empty file.
932
+ *
843
933
  * @param workspace - Workspace model.
844
934
  * @param options - Build controls and metadata overrides.
845
935
  * @param zipWriterFactory - Optional custom zip writer.
@@ -847,6 +937,7 @@ export declare class MdzPackagerCore {
847
937
  static buildWorkspace(workspace: MdzWorkspace, options?: MdzBuildWorkspaceOptions, zipWriterFactory?: ZipWriterFactoryLike): Promise<MdzPackBuildResult>;
848
938
  private static normalizeLf;
849
939
  private static isTextFile;
940
+ private static isImagePath;
850
941
  private static readProvidedManifest;
851
942
  private static ensureCanonicalManifest;
852
943
  private static readBinarySource;
@@ -1 +1 @@
1
- {"version":3,"file":"mdz-core.d.ts","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdz-core.d.ts","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"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"}
package/dist/mdz-core.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import JSZip from '@progress/jszip-esm';
2
2
  const PRODUCER_SPEC_VERSION = '1.1.0';
3
- const CORE_LIBRARY_VERSION = '1.2.0';
3
+ // Must match package.json "version" — guarded by a unit test.
4
+ const CORE_LIBRARY_VERSION = '1.3.0';
4
5
  const CORE_LIBRARY_URL = 'https://github.com/mdzip-project/mdzip-core-js';
5
6
  /**
6
7
  * Extension-to-MIME map for common image assets in MDZip archives.
@@ -69,38 +70,7 @@ export class MdzArchiveCore {
69
70
  * @param content - New entry content.
70
71
  */
71
72
  static async addFile(input, archiveEntryPath, content) {
72
- const targetPath = MdzPackagerCore.normalizePath(archiveEntryPath);
73
- const pathError = MdzArchiveCore.validateArchivePath(targetPath);
74
- if (pathError) {
75
- throw new Error(`ERR_PATH_INVALID: ${pathError}`);
76
- }
77
- const zip = await MdzArchiveCore.loadZip(input);
78
- const targetLower = targetPath.toLowerCase();
79
- const archivePaths = MdzArchiveCore.getArchivePaths(zip);
80
- const nextArchivePaths = archivePaths.filter((p) => p.toLowerCase() !== targetLower);
81
- nextArchivePaths.push(targetPath);
82
- if (targetLower === 'manifest.json') {
83
- const replacement = await MdzArchiveCore.parseManifestObjectContent(content, true);
84
- const preparedManifest = MdzArchiveCore.stampManifestObject(replacement, true);
85
- MdzArchiveCore.validateManifest(preparedManifest);
86
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, preparedManifest);
87
- MdzArchiveCore.removeEntryIgnoreCase(zip, targetPath);
88
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(preparedManifest, null, 2)));
89
- return MdzArchiveCore.finalizeMutation(zip);
90
- }
91
- const existingManifestObject = await MdzArchiveCore.readExistingManifestObject(zip, true);
92
- if (existingManifestObject) {
93
- MdzArchiveCore.validateManifest(existingManifestObject);
94
- }
95
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, existingManifestObject);
96
- MdzArchiveCore.removeEntryIgnoreCase(zip, targetPath);
97
- await MdzArchiveCore.writeZipEntry(zip, targetPath, content);
98
- if (existingManifestObject) {
99
- const refreshed = MdzArchiveCore.stampManifestObject(existingManifestObject, false);
100
- MdzArchiveCore.removeEntryIgnoreCase(zip, 'manifest.json');
101
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(refreshed, null, 2)));
102
- }
103
- return MdzArchiveCore.finalizeMutation(zip);
73
+ return MdzArchiveCore.updateFiles(input, [{ path: archiveEntryPath, content }]);
104
74
  }
105
75
  /**
106
76
  * Removes an archive entry and returns a newly generated archive blob.
@@ -111,31 +81,7 @@ export class MdzArchiveCore {
111
81
  * @param archiveEntryPath - Archive-relative path to remove.
112
82
  */
113
83
  static async removeFile(input, archiveEntryPath) {
114
- const targetPath = MdzPackagerCore.normalizePath(archiveEntryPath);
115
- const pathError = MdzArchiveCore.validateArchivePath(targetPath);
116
- if (pathError) {
117
- throw new Error(`ERR_PATH_INVALID: ${pathError}`);
118
- }
119
- const zip = await MdzArchiveCore.loadZip(input);
120
- const targetLower = targetPath.toLowerCase();
121
- const archivePaths = MdzArchiveCore.getArchivePaths(zip);
122
- const exists = archivePaths.some((p) => p.toLowerCase() === targetLower);
123
- if (!exists) {
124
- throw new Error(`ERR_NOT_FOUND: Entry "${targetPath}" was not found in archive.`);
125
- }
126
- const nextArchivePaths = archivePaths.filter((p) => p.toLowerCase() !== targetLower);
127
- const existingManifestObject = targetLower === 'manifest.json' ? null : await MdzArchiveCore.readExistingManifestObject(zip, true);
128
- if (existingManifestObject) {
129
- MdzArchiveCore.validateManifest(existingManifestObject);
130
- }
131
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, existingManifestObject);
132
- MdzArchiveCore.removeEntryIgnoreCase(zip, targetPath);
133
- if (existingManifestObject) {
134
- const refreshed = MdzArchiveCore.stampManifestObject(existingManifestObject, false);
135
- MdzArchiveCore.removeEntryIgnoreCase(zip, 'manifest.json');
136
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(refreshed, null, 2)));
137
- }
138
- return MdzArchiveCore.finalizeMutation(zip);
84
+ return MdzArchiveCore.updateFiles(input, [], [archiveEntryPath]);
139
85
  }
140
86
  /**
141
87
  * Removes multiple archive entries in one mutation operation.
@@ -144,42 +90,376 @@ export class MdzArchiveCore {
144
90
  * @param archiveEntryPaths - Archive-relative paths to remove.
145
91
  */
146
92
  static async removeFiles(input, archiveEntryPaths) {
147
- const targets = archiveEntryPaths.map((p) => {
148
- const normalized = MdzPackagerCore.normalizePath(p);
149
- const pathError = MdzArchiveCore.validateArchivePath(normalized);
93
+ return MdzArchiveCore.updateFiles(input, [], archiveEntryPaths);
94
+ }
95
+ /**
96
+ * Applies multiple entry writes and removals in one mutation, patching the
97
+ * archive at the byte level.
98
+ *
99
+ * Unchanged entries are copied verbatim — their compressed data is never
100
+ * decompressed or recompressed — so mutations cost milliseconds instead of
101
+ * many seconds on a 100MB+ archive. Only new or replaced entries are
102
+ * compressed. {@link addFile}, {@link removeFile}, and {@link removeFiles}
103
+ * delegate here. Falls back to a full JSZip rebuild when the source archive
104
+ * uses features the patcher does not support (ZIP64, encryption, non-UTF-8
105
+ * names).
106
+ *
107
+ * Matches the semantics of the single-entry mutation helpers: paths are
108
+ * validated, removals must exist, entry-point integrity is enforced, and the
109
+ * manifest (existing or provided via `options.manifest`) is refreshed and
110
+ * rewritten.
111
+ *
112
+ * @param input - Existing archive bytes.
113
+ * @param writes - Entries to add or replace.
114
+ * @param removals - Entry paths to remove.
115
+ * @param options - Manifest override controls.
116
+ */
117
+ static async updateFiles(input, writes, removals = [], options) {
118
+ const normalizedWrites = new Map();
119
+ for (const write of writes) {
120
+ const path = MdzPackagerCore.normalizePath(write.path);
121
+ const pathError = MdzArchiveCore.validateArchivePath(path);
150
122
  if (pathError) {
151
123
  throw new Error(`ERR_PATH_INVALID: ${pathError}`);
152
124
  }
153
- return normalized;
154
- });
155
- if (targets.length === 0) {
156
- const zip = await MdzArchiveCore.loadZip(input);
125
+ normalizedWrites.set(path.toLowerCase(), { path, content: write.content });
126
+ }
127
+ const normalizedRemovals = new Map();
128
+ for (const removal of removals) {
129
+ const path = MdzPackagerCore.normalizePath(removal);
130
+ const pathError = MdzArchiveCore.validateArchivePath(path);
131
+ if (pathError) {
132
+ throw new Error(`ERR_PATH_INVALID: ${pathError}`);
133
+ }
134
+ normalizedRemovals.delete(path.toLowerCase());
135
+ normalizedRemovals.set(path.toLowerCase(), path);
136
+ }
137
+ for (const lower of normalizedRemovals.keys()) {
138
+ normalizedWrites.delete(lower);
139
+ }
140
+ const sourceBytes = await MdzArchiveCore.readArchiveInputBytes(input);
141
+ const archive = await MdzArchiveCore.open(sourceBytes);
142
+ const existingPaths = archive.listPaths();
143
+ const existingLower = new Set(existingPaths.map((p) => p.toLowerCase()));
144
+ for (const [lower, path] of normalizedRemovals) {
145
+ if (!existingLower.has(lower)) {
146
+ throw new Error(`ERR_NOT_FOUND: Entry "${path.toLowerCase()}" was not found in archive.`);
147
+ }
148
+ }
149
+ // Resolve the manifest entry to write: explicit write > options.manifest > existing refresh.
150
+ const manifestWrite = normalizedWrites.get('manifest.json');
151
+ let manifestObject = null;
152
+ if (manifestWrite) {
153
+ manifestObject = MdzArchiveCore.stampManifestObject(await MdzArchiveCore.parseManifestObjectContent(manifestWrite.content, true), true);
154
+ }
155
+ else if (options?.manifest) {
156
+ manifestObject = MdzArchiveCore.stampManifestObject(options.manifest, false);
157
+ }
158
+ else if ((normalizedWrites.size > 0 || normalizedRemovals.size > 0)
159
+ && !normalizedRemovals.has('manifest.json')
160
+ && existingLower.has('manifest.json')) {
161
+ const existing = await archive.readManifest();
162
+ if (existing) {
163
+ manifestObject = MdzArchiveCore.stampManifestObject(existing, false);
164
+ }
165
+ }
166
+ if (manifestObject) {
167
+ MdzArchiveCore.validateManifest(manifestObject);
168
+ normalizedWrites.set('manifest.json', {
169
+ path: 'manifest.json',
170
+ content: MdzArchiveCore.normaliseLf(JSON.stringify(manifestObject, null, 2))
171
+ });
172
+ }
173
+ const nextPaths = [
174
+ ...existingPaths.filter((p) => !normalizedRemovals.has(p.toLowerCase()) && !normalizedWrites.has(p.toLowerCase())),
175
+ ...[...normalizedWrites.values()].map((w) => w.path)
176
+ ];
177
+ MdzArchiveCore.ensureCreatableEntryPoint(nextPaths, manifestObject);
178
+ let patchedBytes;
179
+ try {
180
+ patchedBytes = await MdzArchiveCore.patchArchiveBytes(sourceBytes, normalizedWrites, normalizedRemovals);
181
+ }
182
+ catch (error) {
183
+ if (!(error instanceof Error) || !error.message.startsWith('ERR_ZIP_UNSUPPORTED')) {
184
+ throw error;
185
+ }
186
+ // Source archive uses features the raw patcher cannot copy — rebuild via JSZip.
187
+ const zip = await MdzArchiveCore.loadZip(sourceBytes);
188
+ for (const path of normalizedRemovals.values()) {
189
+ MdzArchiveCore.removeEntryIgnoreCase(zip, path);
190
+ }
191
+ for (const write of normalizedWrites.values()) {
192
+ MdzArchiveCore.removeEntryIgnoreCase(zip, write.path);
193
+ await MdzArchiveCore.writeZipEntry(zip, write.path, write.content);
194
+ }
157
195
  return MdzArchiveCore.finalizeMutation(zip);
158
196
  }
159
- const zip = await MdzArchiveCore.loadZip(input);
160
- const targetSet = new Set(targets.map((p) => p.toLowerCase()));
161
- const archivePaths = MdzArchiveCore.getArchivePaths(zip);
162
- for (const target of targetSet) {
163
- if (!archivePaths.some((p) => p.toLowerCase() === target)) {
164
- throw new Error(`ERR_NOT_FOUND: Entry "${target}" was not found in archive.`);
197
+ const blob = new Blob([patchedBytes], { type: 'application/zip' });
198
+ const patched = await MdzArchiveCore.open(patchedBytes);
199
+ const manifest = await patched.readManifest();
200
+ const resolvedEntryPoint = await patched.resolveEntryPoint().catch(() => null);
201
+ return {
202
+ blob,
203
+ manifest,
204
+ resolvedEntryPoint,
205
+ archivePaths: patched.listPaths()
206
+ };
207
+ }
208
+ static async readArchiveInputBytes(input) {
209
+ if (input instanceof Uint8Array)
210
+ return input;
211
+ if (input instanceof ArrayBuffer)
212
+ return new Uint8Array(input);
213
+ return new Uint8Array(await input.arrayBuffer());
214
+ }
215
+ /**
216
+ * Rewrites archive bytes by copying unchanged entries' raw compressed data
217
+ * and appending freshly compressed data for written entries.
218
+ *
219
+ * Throws `ERR_ZIP_UNSUPPORTED` for archives the copier cannot handle
220
+ * losslessly: ZIP64, encrypted entries, multi-disk archives, and non-UTF-8
221
+ * entry names.
222
+ */
223
+ static async patchArchiveBytes(source, writes, removals) {
224
+ const entries = MdzArchiveCore.parseRawZipEntries(source);
225
+ const view = new DataView(source.buffer, source.byteOffset, source.byteLength);
226
+ const output = [];
227
+ for (const entry of entries) {
228
+ const lower = entry.name.toLowerCase();
229
+ if (removals.has(lower) || writes.has(lower)) {
230
+ continue;
231
+ }
232
+ if (entry.localOffset + 30 > source.length || view.getUint32(entry.localOffset, true) !== 0x04034b50) {
233
+ throw new Error(`ERR_ZIP_UNSUPPORTED: malformed local header for "${entry.name}"`);
234
+ }
235
+ const localNameLen = view.getUint16(entry.localOffset + 26, true);
236
+ const localExtraLen = view.getUint16(entry.localOffset + 28, true);
237
+ const dataStart = entry.localOffset + 30 + localNameLen + localExtraLen;
238
+ if (dataStart + entry.compressedSize > source.length) {
239
+ throw new Error(`ERR_ZIP_UNSUPPORTED: entry data out of bounds for "${entry.name}"`);
240
+ }
241
+ output.push({
242
+ nameBytes: entry.nameBytes,
243
+ // Clear bit 3 (trailing data descriptor): sizes are written in the header instead.
244
+ flags: entry.flags & ~0x0008,
245
+ method: entry.method,
246
+ time: entry.time,
247
+ date: entry.date,
248
+ crc: entry.crc,
249
+ compressedSize: entry.compressedSize,
250
+ uncompressedSize: entry.uncompressedSize,
251
+ versionMadeBy: entry.versionMadeBy,
252
+ versionNeeded: entry.versionNeeded,
253
+ intAttr: entry.intAttr,
254
+ extAttr: entry.extAttr,
255
+ data: source.subarray(dataStart, dataStart + entry.compressedSize),
256
+ localOffset: 0
257
+ });
258
+ }
259
+ const { time: dosTime, date: dosDate } = MdzArchiveCore.toDosDateTime(new Date());
260
+ for (const write of writes.values()) {
261
+ let bytes;
262
+ if (MdzArchiveCore.isTextFile(write.path)) {
263
+ const text = await MdzArchiveCore.readMutationInputAsText(write.content);
264
+ bytes = new TextEncoder().encode(MdzArchiveCore.normaliseLf(text));
265
+ }
266
+ else {
267
+ const binary = await MdzArchiveCore.readMutationInputAsBinary(write.content);
268
+ bytes = binary instanceof Uint8Array ? binary : new Uint8Array(binary);
165
269
  }
270
+ // Mirror the packer policy: images are stored uncompressed; everything
271
+ // else is deflated when the platform provides CompressionStream.
272
+ let method = 0;
273
+ let data = bytes;
274
+ if (!MdzArchiveCore.isStoredAssetPath(write.path)) {
275
+ const deflated = await MdzArchiveCore.deflateRawBytes(bytes);
276
+ if (deflated && deflated.length < bytes.length) {
277
+ method = 8;
278
+ data = deflated;
279
+ }
280
+ }
281
+ output.push({
282
+ nameBytes: new TextEncoder().encode(write.path),
283
+ flags: 0x0800, // UTF-8 entry name
284
+ method,
285
+ time: dosTime,
286
+ date: dosDate,
287
+ crc: MdzArchiveCore.crc32(bytes),
288
+ compressedSize: data.length,
289
+ uncompressedSize: bytes.length,
290
+ versionMadeBy: 20,
291
+ versionNeeded: 20,
292
+ intAttr: 0,
293
+ extAttr: 0,
294
+ data,
295
+ localOffset: 0
296
+ });
166
297
  }
167
- const nextArchivePaths = archivePaths.filter((p) => !targetSet.has(p.toLowerCase()));
168
- const removesManifest = targetSet.has('manifest.json');
169
- const existingManifestObject = removesManifest ? null : await MdzArchiveCore.readExistingManifestObject(zip, true);
170
- if (existingManifestObject) {
171
- MdzArchiveCore.validateManifest(existingManifestObject);
298
+ let localSize = 0;
299
+ let centralSize = 0;
300
+ for (const entry of output) {
301
+ localSize += 30 + entry.nameBytes.length + entry.data.length;
302
+ centralSize += 46 + entry.nameBytes.length;
303
+ }
304
+ const out = new Uint8Array(localSize + centralSize + 22);
305
+ const outView = new DataView(out.buffer);
306
+ let cursor = 0;
307
+ for (const entry of output) {
308
+ entry.localOffset = cursor;
309
+ outView.setUint32(cursor, 0x04034b50, true);
310
+ outView.setUint16(cursor + 4, entry.versionNeeded, true);
311
+ outView.setUint16(cursor + 6, entry.flags, true);
312
+ outView.setUint16(cursor + 8, entry.method, true);
313
+ outView.setUint16(cursor + 10, entry.time, true);
314
+ outView.setUint16(cursor + 12, entry.date, true);
315
+ outView.setUint32(cursor + 14, entry.crc, true);
316
+ outView.setUint32(cursor + 18, entry.compressedSize, true);
317
+ outView.setUint32(cursor + 22, entry.uncompressedSize, true);
318
+ outView.setUint16(cursor + 26, entry.nameBytes.length, true);
319
+ outView.setUint16(cursor + 28, 0, true);
320
+ out.set(entry.nameBytes, cursor + 30);
321
+ out.set(entry.data, cursor + 30 + entry.nameBytes.length);
322
+ cursor += 30 + entry.nameBytes.length + entry.data.length;
323
+ }
324
+ const centralOffset = cursor;
325
+ for (const entry of output) {
326
+ outView.setUint32(cursor, 0x02014b50, true);
327
+ outView.setUint16(cursor + 4, entry.versionMadeBy, true);
328
+ outView.setUint16(cursor + 6, entry.versionNeeded, true);
329
+ outView.setUint16(cursor + 8, entry.flags, true);
330
+ outView.setUint16(cursor + 10, entry.method, true);
331
+ outView.setUint16(cursor + 12, entry.time, true);
332
+ outView.setUint16(cursor + 14, entry.date, true);
333
+ outView.setUint32(cursor + 16, entry.crc, true);
334
+ outView.setUint32(cursor + 20, entry.compressedSize, true);
335
+ outView.setUint32(cursor + 24, entry.uncompressedSize, true);
336
+ outView.setUint16(cursor + 28, entry.nameBytes.length, true);
337
+ outView.setUint16(cursor + 30, 0, true);
338
+ outView.setUint16(cursor + 32, 0, true);
339
+ outView.setUint16(cursor + 34, 0, true);
340
+ outView.setUint16(cursor + 36, entry.intAttr, true);
341
+ outView.setUint32(cursor + 38, entry.extAttr, true);
342
+ outView.setUint32(cursor + 42, entry.localOffset, true);
343
+ out.set(entry.nameBytes, cursor + 46);
344
+ cursor += 46 + entry.nameBytes.length;
345
+ }
346
+ outView.setUint32(cursor, 0x06054b50, true);
347
+ outView.setUint16(cursor + 4, 0, true);
348
+ outView.setUint16(cursor + 6, 0, true);
349
+ outView.setUint16(cursor + 8, output.length, true);
350
+ outView.setUint16(cursor + 10, output.length, true);
351
+ outView.setUint32(cursor + 12, centralSize, true);
352
+ outView.setUint32(cursor + 16, centralOffset, true);
353
+ outView.setUint16(cursor + 20, 0, true);
354
+ return out;
355
+ }
356
+ static parseRawZipEntries(source) {
357
+ const view = new DataView(source.buffer, source.byteOffset, source.byteLength);
358
+ let eocd = -1;
359
+ const scanEnd = Math.max(0, source.length - 22 - 0xffff);
360
+ for (let i = source.length - 22; i >= scanEnd; i--) {
361
+ if (source[i] === 0x50 && source[i + 1] === 0x4b && source[i + 2] === 0x05 && source[i + 3] === 0x06) {
362
+ eocd = i;
363
+ break;
364
+ }
172
365
  }
173
- MdzArchiveCore.ensureCreatableEntryPoint(nextArchivePaths, existingManifestObject);
174
- for (const target of targetSet) {
175
- MdzArchiveCore.removeEntryIgnoreCase(zip, target);
366
+ if (eocd < 0) {
367
+ throw new Error('ERR_ZIP_UNSUPPORTED: end of central directory not found');
176
368
  }
177
- if (existingManifestObject) {
178
- const refreshed = MdzArchiveCore.stampManifestObject(existingManifestObject, false);
179
- MdzArchiveCore.removeEntryIgnoreCase(zip, 'manifest.json');
180
- zip.file('manifest.json', MdzArchiveCore.normaliseLf(JSON.stringify(refreshed, null, 2)));
369
+ if (view.getUint16(eocd + 4, true) !== 0 || view.getUint16(eocd + 6, true) !== 0) {
370
+ throw new Error('ERR_ZIP_UNSUPPORTED: multi-disk archives are not supported');
371
+ }
372
+ const totalEntries = view.getUint16(eocd + 10, true);
373
+ const centralSize = view.getUint32(eocd + 12, true);
374
+ const centralOffset = view.getUint32(eocd + 16, true);
375
+ if (totalEntries === 0xffff || centralSize === 0xffffffff || centralOffset === 0xffffffff) {
376
+ throw new Error('ERR_ZIP_UNSUPPORTED: ZIP64 archives are not supported');
377
+ }
378
+ const entries = [];
379
+ const decoder = new TextDecoder('utf-8', { fatal: false });
380
+ let pos = centralOffset;
381
+ for (let i = 0; i < totalEntries; i++) {
382
+ if (pos + 46 > source.length || view.getUint32(pos, true) !== 0x02014b50) {
383
+ throw new Error('ERR_ZIP_UNSUPPORTED: malformed central directory');
384
+ }
385
+ const flags = view.getUint16(pos + 8, true);
386
+ if ((flags & 0x0001) !== 0) {
387
+ throw new Error('ERR_ZIP_UNSUPPORTED: encrypted entries are not supported');
388
+ }
389
+ const compressedSize = view.getUint32(pos + 20, true);
390
+ const uncompressedSize = view.getUint32(pos + 24, true);
391
+ const nameLen = view.getUint16(pos + 28, true);
392
+ const extraLen = view.getUint16(pos + 30, true);
393
+ const commentLen = view.getUint16(pos + 32, true);
394
+ const localOffset = view.getUint32(pos + 42, true);
395
+ if (compressedSize === 0xffffffff || uncompressedSize === 0xffffffff || localOffset === 0xffffffff) {
396
+ throw new Error('ERR_ZIP_UNSUPPORTED: ZIP64 archives are not supported');
397
+ }
398
+ const nameBytes = source.slice(pos + 46, pos + 46 + nameLen);
399
+ if ((flags & 0x0800) === 0 && nameBytes.some((byte) => byte > 0x7f)) {
400
+ throw new Error('ERR_ZIP_UNSUPPORTED: non-UTF-8 entry names are not supported');
401
+ }
402
+ entries.push({
403
+ name: MdzArchiveCore.normalizePath(decoder.decode(nameBytes)),
404
+ nameBytes,
405
+ flags,
406
+ method: view.getUint16(pos + 10, true),
407
+ time: view.getUint16(pos + 12, true),
408
+ date: view.getUint16(pos + 14, true),
409
+ crc: view.getUint32(pos + 16, true),
410
+ compressedSize,
411
+ uncompressedSize,
412
+ versionMadeBy: view.getUint16(pos + 4, true),
413
+ versionNeeded: view.getUint16(pos + 6, true),
414
+ intAttr: view.getUint16(pos + 36, true),
415
+ extAttr: view.getUint32(pos + 38, true),
416
+ localOffset
417
+ });
418
+ pos += 46 + nameLen + extraLen + commentLen;
181
419
  }
182
- return MdzArchiveCore.finalizeMutation(zip);
420
+ return entries;
421
+ }
422
+ static isStoredAssetPath(path) {
423
+ return /\.(png|jpg|jpeg|gif|webp|bmp|ico|webm|mp4|mp3|wav|ogg)$/i.test(path);
424
+ }
425
+ static async deflateRawBytes(bytes) {
426
+ if (typeof CompressionStream === 'undefined') {
427
+ return null;
428
+ }
429
+ try {
430
+ const stream = new Blob([bytes]).stream().pipeThrough(new CompressionStream('deflate-raw'));
431
+ return new Uint8Array(await new Response(stream).arrayBuffer());
432
+ }
433
+ catch {
434
+ return null;
435
+ }
436
+ }
437
+ static crc32Table = null;
438
+ static crc32(bytes) {
439
+ if (!MdzArchiveCore.crc32Table) {
440
+ const table = new Uint32Array(256);
441
+ for (let i = 0; i < 256; i++) {
442
+ let c = i;
443
+ for (let k = 0; k < 8; k++) {
444
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
445
+ }
446
+ table[i] = c >>> 0;
447
+ }
448
+ MdzArchiveCore.crc32Table = table;
449
+ }
450
+ const table = MdzArchiveCore.crc32Table;
451
+ let crc = 0xffffffff;
452
+ for (let i = 0; i < bytes.length; i++) {
453
+ crc = table[(crc ^ bytes[i]) & 0xff] ^ (crc >>> 8);
454
+ }
455
+ return (crc ^ 0xffffffff) >>> 0;
456
+ }
457
+ static toDosDateTime(date) {
458
+ const year = Math.max(1980, date.getFullYear());
459
+ return {
460
+ time: (date.getHours() << 11) | (date.getMinutes() << 5) | (date.getSeconds() >> 1),
461
+ date: ((year - 1980) << 9) | ((date.getMonth() + 1) << 5) | date.getDate()
462
+ };
183
463
  }
184
464
  /**
185
465
  * Finds orphaned image assets in an archive.
@@ -605,14 +885,22 @@ export class MdzArchiveCore {
605
885
  const entryPoint = await this.resolveEntryPoint().catch(() => null);
606
886
  const entries = this.listEntries();
607
887
  const includeLazyReaders = options?.includeLazyAssetReaders !== false;
888
+ const includeLazyDocReaders = options?.includeLazyDocumentReaders === true;
608
889
  const documents = [];
609
890
  for (const entry of entries.filter((item) => item.isMarkdown)) {
610
- documents.push({
891
+ const isEntryPt = !!entryPoint && entry.path.toLowerCase() === entryPoint.toLowerCase();
892
+ const useLazy = includeLazyDocReaders && !isEntryPt;
893
+ const doc = {
611
894
  path: entry.path,
612
895
  title: MdzArchiveCore.getDocumentTitle(entry.path, manifest),
613
- text: await this.readText(entry.path),
614
- isEntryPoint: !!entryPoint && entry.path.toLowerCase() === entryPoint.toLowerCase()
615
- });
896
+ text: useLazy ? '' : await this.readText(entry.path),
897
+ isEntryPoint: isEntryPt
898
+ };
899
+ if (useLazy) {
900
+ doc.readText = () => this.readText(entry.path);
901
+ doc.isLazy = true;
902
+ }
903
+ documents.push(doc);
616
904
  }
617
905
  const assets = [];
618
906
  for (const entry of entries.filter((item) => !item.isMarkdown && !item.isDirectory && item.path.toLowerCase() !== 'manifest.json')) {
@@ -1527,6 +1815,12 @@ export class MdzPackagerCore {
1527
1815
  /**
1528
1816
  * Builds an `.mdz` archive from a normalized workspace.
1529
1817
  *
1818
+ * Documents opened lazily (`includeLazyDocumentReaders`) are resolved via
1819
+ * their `readText()` reader before packing, so unopened documents keep their
1820
+ * content. Throws `ERR_LAZY_TEXT_UNAVAILABLE` when a lazy document has empty
1821
+ * `text` and no `readText` reader (e.g. the closure was dropped by a
1822
+ * serialization boundary), instead of silently writing an empty file.
1823
+ *
1530
1824
  * @param workspace - Workspace model.
1531
1825
  * @param options - Build controls and metadata overrides.
1532
1826
  * @param zipWriterFactory - Optional custom zip writer.
@@ -1542,10 +1836,16 @@ export class MdzPackagerCore {
1542
1836
  entryPoint
1543
1837
  });
1544
1838
  const files = [
1545
- ...workspace.documents.map((document) => ({
1546
- path: document.path,
1547
- text: document.text
1548
- })),
1839
+ ...(await Promise.all(workspace.documents.map(async (document) => {
1840
+ let text = document.text;
1841
+ if (!text && document.readText) {
1842
+ text = await document.readText();
1843
+ }
1844
+ else if (!text && document.isLazy) {
1845
+ throw new Error(`ERR_LAZY_TEXT_UNAVAILABLE: document "${document.path}" was opened lazily but has no readText() reader (likely dropped by serialization); building would write an empty file`);
1846
+ }
1847
+ return { path: document.path, text };
1848
+ }))),
1549
1849
  ...(await Promise.all(workspace.assets.map(async (asset) => ({
1550
1850
  path: asset.path,
1551
1851
  data: await MdzPackagerCore.readWorkspaceAssetBytes(asset)
@@ -1567,6 +1867,9 @@ export class MdzPackagerCore {
1567
1867
  static isTextFile(path) {
1568
1868
  return /\.(md|markdown|json|txt|css|html|htm|xml|svg|yaml|yml|toml)$/i.test(path);
1569
1869
  }
1870
+ static isImagePath(path) {
1871
+ return /\.(png|jpg|jpeg|gif|webp|bmp|ico|webm|mp4|mp3|wav|ogg)$/i.test(path);
1872
+ }
1570
1873
  static async readProvidedManifest(selected) {
1571
1874
  const manifestItem = selected.find((item) => item.archivePath.toLowerCase() === 'manifest.json');
1572
1875
  if (!manifestItem)
@@ -1720,6 +2023,7 @@ export class MdzPackagerCore {
1720
2023
  const factory = zipWriterFactory ?? MdzPackagerCore.getDefaultZipWriterFactory();
1721
2024
  const zip = factory.create();
1722
2025
  for (const item of selected) {
2026
+ const isImage = MdzPackagerCore.isImagePath(item.archivePath);
1723
2027
  if (item.file) {
1724
2028
  if (MdzPackagerCore.isTextFile(item.archivePath)) {
1725
2029
  const text = await item.file.text();
@@ -1727,7 +2031,8 @@ export class MdzPackagerCore {
1727
2031
  }
1728
2032
  else {
1729
2033
  const buffer = await item.file.arrayBuffer();
1730
- zip.file(item.archivePath, buffer);
2034
+ // Use STORE (no compression) for images. Vastly faster than DEFLATE with no size penalty.
2035
+ zip.file(item.archivePath, buffer, isImage ? { compression: 'STORE' } : undefined);
1731
2036
  }
1732
2037
  }
1733
2038
  else if (item.data) {
@@ -1738,7 +2043,7 @@ export class MdzPackagerCore {
1738
2043
  }
1739
2044
  else {
1740
2045
  const bytes = await MdzPackagerCore.readBinarySource(item.data);
1741
- zip.file(item.archivePath, bytes);
2046
+ zip.file(item.archivePath, bytes, isImage ? { compression: 'STORE' } : undefined);
1742
2047
  }
1743
2048
  }
1744
2049
  else {
@@ -1747,7 +2052,7 @@ export class MdzPackagerCore {
1747
2052
  zip.file(item.archivePath, MdzPackagerCore.normalizeLf(content));
1748
2053
  }
1749
2054
  else {
1750
- zip.file(item.archivePath, content);
2055
+ zip.file(item.archivePath, content, isImage ? { compression: 'STORE' } : undefined);
1751
2056
  }
1752
2057
  }
1753
2058
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mdz-core.js","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mdz-core.js","sourceRoot":"","sources":["../src/mdz-core.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,49 +1,49 @@
1
- {
2
- "name": "@mdzip/core-js",
3
- "version": "1.2.4",
4
- "description": "Core TypeScript/JavaScript library for MDZip (.mdz): pack, unpack, validate, and resolve entry points.",
5
- "license": "Apache-2.0",
6
- "type": "module",
7
- "main": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "./node": {
15
- "types": "./dist/node.d.ts",
16
- "import": "./dist/node.js"
17
- }
18
- },
19
- "files": [
20
- "dist",
21
- "AGENTS.md"
22
- ],
23
- "scripts": {
24
- "build": "tsc -p tsconfig.json",
25
- "clean": "node -e \"import('node:fs').then(fs=>fs.rmSync('dist',{recursive:true,force:true}))\"",
26
- "typecheck": "tsc -p tsconfig.json --noEmit",
27
- "test": "npm run build && node --test tests/*.test.mjs"
28
- },
29
- "keywords": [
30
- "mdzip",
31
- "mdz",
32
- "markdown",
33
- "zip"
34
- ],
35
- "repository": {
36
- "type": "git",
37
- "url": "git+https://github.com/mdzip-project/mdzip-core-js.git"
38
- },
39
- "dependencies": {
40
- "@progress/jszip-esm": "^1.0.4"
41
- },
42
- "devDependencies": {
43
- "@types/node": "^22.19.20",
44
- "typescript": "^5.8.2"
45
- },
46
- "publishConfig": {
47
- "access": "public"
48
- }
49
- }
1
+ {
2
+ "name": "@mdzip/core-js",
3
+ "version": "1.3.0",
4
+ "description": "Core TypeScript/JavaScript library for MDZip (.mdz): pack, unpack, validate, and resolve entry points.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./node": {
15
+ "types": "./dist/node.d.ts",
16
+ "import": "./dist/node.js"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "AGENTS.md"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.json",
25
+ "clean": "node -e \"import('node:fs').then(fs=>fs.rmSync('dist',{recursive:true,force:true}))\"",
26
+ "typecheck": "tsc -p tsconfig.json --noEmit",
27
+ "test": "npm run build && node --test tests/*.test.mjs"
28
+ },
29
+ "keywords": [
30
+ "mdzip",
31
+ "mdz",
32
+ "markdown",
33
+ "zip"
34
+ ],
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/mdzip-project/mdzip-core-js.git"
38
+ },
39
+ "dependencies": {
40
+ "@progress/jszip-esm": "^1.0.4"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^22.19.20",
44
+ "typescript": "^5.8.2"
45
+ },
46
+ "publishConfig": {
47
+ "access": "public"
48
+ }
49
+ }