@musnows/scriverse 0.7.4 → 0.7.6

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.
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const APP_VERSION = "0.7.4";
1
+ export const APP_VERSION = "0.7.6";
2
2
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,149 @@
1
+ import { Readable } from "node:stream";
2
+ import { createDeflateRaw } from "node:zlib";
3
+ const ZIP32_MAX = 0xffff_ffff;
4
+ const UTF8_FLAG = 0x0800;
5
+ const DATA_DESCRIPTOR_FLAG = 0x0008;
6
+ const crcTable = Array.from({ length: 256 }, (_, value) => {
7
+ let crc = value;
8
+ for (let bit = 0; bit < 8; bit += 1)
9
+ crc = (crc & 1) ? 0xedb8_8320 ^ (crc >>> 1) : crc >>> 1;
10
+ return crc >>> 0;
11
+ });
12
+ function crc32(content) {
13
+ let crc = 0xffff_ffff;
14
+ for (const byte of content)
15
+ crc = crcTable[(crc ^ byte) & 0xff] ^ (crc >>> 8);
16
+ return (crc ^ 0xffff_ffff) >>> 0;
17
+ }
18
+ function dosTimestamp(date) {
19
+ const year = Math.min(2107, Math.max(1980, date.getFullYear()));
20
+ return {
21
+ dosTime: (date.getHours() << 11) | (date.getMinutes() << 5) | Math.floor(date.getSeconds() / 2),
22
+ dosDate: ((year - 1980) << 9) | ((date.getMonth() + 1) << 5) | date.getDate()
23
+ };
24
+ }
25
+ function assertZip32(value, label) {
26
+ if (!Number.isSafeInteger(value) || value < 0 || value > ZIP32_MAX) {
27
+ throw new Error(`ZIP32_LIMIT_EXCEEDED: ${label}`);
28
+ }
29
+ }
30
+ function localHeader(input, streamed) {
31
+ const header = Buffer.allocUnsafe(30 + input.name.length);
32
+ header.writeUInt32LE(0x0403_4b50, 0);
33
+ header.writeUInt16LE(20, 4);
34
+ header.writeUInt16LE(input.flags, 6);
35
+ header.writeUInt16LE(input.method, 8);
36
+ header.writeUInt16LE(input.dosTime, 10);
37
+ header.writeUInt16LE(input.dosDate, 12);
38
+ header.writeUInt32LE(streamed ? 0 : input.crc, 14);
39
+ header.writeUInt32LE(streamed ? 0 : input.compressedSize, 18);
40
+ header.writeUInt32LE(streamed ? 0 : input.uncompressedSize, 22);
41
+ header.writeUInt16LE(input.name.length, 26);
42
+ header.writeUInt16LE(0, 28);
43
+ input.name.copy(header, 30);
44
+ return header;
45
+ }
46
+ function dataDescriptor(input) {
47
+ const descriptor = Buffer.allocUnsafe(16);
48
+ descriptor.writeUInt32LE(0x0807_4b50, 0);
49
+ descriptor.writeUInt32LE(input.crc, 4);
50
+ descriptor.writeUInt32LE(input.compressedSize, 8);
51
+ descriptor.writeUInt32LE(input.uncompressedSize, 12);
52
+ return descriptor;
53
+ }
54
+ function centralHeader(input) {
55
+ const header = Buffer.allocUnsafe(46 + input.name.length);
56
+ header.writeUInt32LE(0x0201_4b50, 0);
57
+ header.writeUInt16LE(20, 4);
58
+ header.writeUInt16LE(20, 6);
59
+ header.writeUInt16LE(input.flags, 8);
60
+ header.writeUInt16LE(input.method, 10);
61
+ header.writeUInt16LE(input.dosTime, 12);
62
+ header.writeUInt16LE(input.dosDate, 14);
63
+ header.writeUInt32LE(input.crc, 16);
64
+ header.writeUInt32LE(input.compressedSize, 20);
65
+ header.writeUInt32LE(input.uncompressedSize, 24);
66
+ header.writeUInt16LE(input.name.length, 28);
67
+ header.writeUInt16LE(0, 30);
68
+ header.writeUInt16LE(0, 32);
69
+ header.writeUInt16LE(0, 34);
70
+ header.writeUInt16LE(0, 36);
71
+ header.writeUInt32LE(0, 38);
72
+ header.writeUInt32LE(input.offset, 42);
73
+ input.name.copy(header, 46);
74
+ return header;
75
+ }
76
+ function endOfCentralDirectory(entryCount, centralSize, centralOffset) {
77
+ if (entryCount > 0xffff)
78
+ throw new Error("ZIP32_LIMIT_EXCEEDED: entry count");
79
+ const footer = Buffer.allocUnsafe(22);
80
+ footer.writeUInt32LE(0x0605_4b50, 0);
81
+ footer.writeUInt16LE(0, 4);
82
+ footer.writeUInt16LE(0, 6);
83
+ footer.writeUInt16LE(entryCount, 8);
84
+ footer.writeUInt16LE(entryCount, 10);
85
+ footer.writeUInt32LE(centralSize, 12);
86
+ footer.writeUInt32LE(centralOffset, 16);
87
+ footer.writeUInt16LE(0, 20);
88
+ return footer;
89
+ }
90
+ async function* generateZip(entries, date) {
91
+ const directory = [];
92
+ const timestamp = dosTimestamp(date);
93
+ let offset = 0;
94
+ const tracked = (chunk) => {
95
+ offset += chunk.length;
96
+ assertZip32(offset, "archive offset");
97
+ return chunk;
98
+ };
99
+ for (const source of entries) {
100
+ const name = Buffer.from(source.name, "utf8");
101
+ if (name.length > 0xffff)
102
+ throw new Error("ZIP32_LIMIT_EXCEEDED: file name");
103
+ const resolved = typeof source.content === "function" ? source.content() : source.content;
104
+ const content = Buffer.isBuffer(resolved) ? resolved : Buffer.from(resolved, "utf8");
105
+ assertZip32(content.length, "entry size");
106
+ const streamed = source.compression !== "STORE";
107
+ const record = {
108
+ name,
109
+ flags: UTF8_FLAG | (streamed ? DATA_DESCRIPTOR_FLAG : 0),
110
+ method: streamed ? 8 : 0,
111
+ ...timestamp,
112
+ crc: crc32(content),
113
+ compressedSize: streamed ? 0 : content.length,
114
+ uncompressedSize: content.length,
115
+ offset
116
+ };
117
+ yield tracked(localHeader(record, streamed));
118
+ if (!streamed) {
119
+ yield tracked(content);
120
+ }
121
+ else {
122
+ const compressor = createDeflateRaw({ level: 6 });
123
+ try {
124
+ compressor.end(content);
125
+ for await (const chunk of compressor) {
126
+ const compressed = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
127
+ record.compressedSize += compressed.length;
128
+ assertZip32(record.compressedSize, "compressed entry size");
129
+ yield tracked(compressed);
130
+ }
131
+ }
132
+ finally {
133
+ compressor.destroy();
134
+ }
135
+ yield tracked(dataDescriptor(record));
136
+ }
137
+ directory.push(record);
138
+ }
139
+ const centralOffset = offset;
140
+ for (const entry of directory)
141
+ yield tracked(centralHeader(entry));
142
+ const centralSize = offset - centralOffset;
143
+ assertZip32(centralSize, "central directory size");
144
+ yield endOfCentralDirectory(directory.length, centralSize, centralOffset);
145
+ }
146
+ export function createZipStream(entries, date) {
147
+ return Readable.from(generateZip(entries, date), { objectMode: false });
148
+ }
149
+ //# sourceMappingURL=zip-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-stream.js","sourceRoot":"","sources":["../src/zip-stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@musnows/scriverse",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "description": "Command-line client and local server for the Scriverse long-form fiction workspace",
5
5
  "license": "AGPL-3.0-only",
6
6
  "author": "musnows",