@quillmark/registry 0.1.10 → 0.2.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.
|
@@ -2,8 +2,26 @@ import type { QuillBundle, QuillManifest, QuillSource } from '../types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Node.js-only QuillSource that reads Quill directories from the local filesystem.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Expects a versioned directory layout:
|
|
6
|
+
*
|
|
7
|
+
* ```
|
|
8
|
+
* quillsDir/
|
|
9
|
+
* usaf_memo/
|
|
10
|
+
* 0.1.0/
|
|
11
|
+
* Quill.yaml
|
|
12
|
+
* template.typ
|
|
13
|
+
* 1.0.0/
|
|
14
|
+
* Quill.yaml
|
|
15
|
+
* template.typ
|
|
16
|
+
* classic_resume/
|
|
17
|
+
* 2.1.0/
|
|
18
|
+
* Quill.yaml
|
|
19
|
+
* template.typ
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* Each version directory must contain a `Quill.yaml` with at least `name` and `version`
|
|
23
|
+
* fields. The `name` must match the parent directory and `version` must match the
|
|
24
|
+
* version directory name.
|
|
7
25
|
*
|
|
8
26
|
* Also exposes `packageForHttp(outputDir)` to zip quills and write a manifest
|
|
9
27
|
* for static hosting.
|
|
@@ -15,10 +33,13 @@ export declare class FileSystemSource implements QuillSource {
|
|
|
15
33
|
loadQuill(name: string, version?: string): Promise<QuillBundle>;
|
|
16
34
|
/**
|
|
17
35
|
* Packages all quills for HTTP static hosting.
|
|
18
|
-
* Zips each quill directory and writes the zips plus a `manifest.json` to `outputDir`.
|
|
36
|
+
* Zips each quill version directory and writes the zips plus a `manifest.json` to `outputDir`.
|
|
19
37
|
*/
|
|
20
38
|
packageForHttp(outputDir: string): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Resolves the latest version for a quill by listing version directories
|
|
41
|
+
* and picking the highest semver.
|
|
42
|
+
*/
|
|
43
|
+
private resolveLatestVersion;
|
|
23
44
|
}
|
|
24
45
|
//# sourceMappingURL=file-system-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-source.d.ts","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"file-system-source.d.ts","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AAuF1F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IACnD,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAIvB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAsDrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAkErE;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtD;;;OAGG;YACW,oBAAoB;CA+BlC"}
|
|
@@ -42,11 +42,57 @@ async function readQuillMetadata(quillDir) {
|
|
|
42
42
|
...(typeof parsed.description === 'string' ? { description: parsed.description } : {}),
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
+
/** Lists subdirectories of a given directory. Filters out dot-prefixed entries. */
|
|
46
|
+
async function listSubdirectories(dirPath) {
|
|
47
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
48
|
+
return entries
|
|
49
|
+
.filter((e) => e.isDirectory() && !e.name.startsWith('.'))
|
|
50
|
+
.map((e) => e.name);
|
|
51
|
+
}
|
|
52
|
+
/** Returns true if the string looks like a semver version (digits and dots only). */
|
|
53
|
+
function isSemver(value) {
|
|
54
|
+
return /^\d+\.\d+\.\d+/.test(value);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Compares two semver version strings. Returns a negative number if a < b,
|
|
58
|
+
* zero if equal, positive if a > b. Handles versions with any number of
|
|
59
|
+
* numeric segments (e.g., "1.0.0", "0.1", "2.1.0").
|
|
60
|
+
*/
|
|
61
|
+
function compareSemver(a, b) {
|
|
62
|
+
const partsA = a.split('.').map(Number);
|
|
63
|
+
const partsB = b.split('.').map(Number);
|
|
64
|
+
const len = Math.max(partsA.length, partsB.length);
|
|
65
|
+
for (let i = 0; i < len; i++) {
|
|
66
|
+
const numA = partsA[i] ?? 0;
|
|
67
|
+
const numB = partsB[i] ?? 0;
|
|
68
|
+
if (numA !== numB)
|
|
69
|
+
return numA - numB;
|
|
70
|
+
}
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
45
73
|
/**
|
|
46
74
|
* Node.js-only QuillSource that reads Quill directories from the local filesystem.
|
|
47
75
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
76
|
+
* Expects a versioned directory layout:
|
|
77
|
+
*
|
|
78
|
+
* ```
|
|
79
|
+
* quillsDir/
|
|
80
|
+
* usaf_memo/
|
|
81
|
+
* 0.1.0/
|
|
82
|
+
* Quill.yaml
|
|
83
|
+
* template.typ
|
|
84
|
+
* 1.0.0/
|
|
85
|
+
* Quill.yaml
|
|
86
|
+
* template.typ
|
|
87
|
+
* classic_resume/
|
|
88
|
+
* 2.1.0/
|
|
89
|
+
* Quill.yaml
|
|
90
|
+
* template.typ
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* Each version directory must contain a `Quill.yaml` with at least `name` and `version`
|
|
94
|
+
* fields. The `name` must match the parent directory and `version` must match the
|
|
95
|
+
* version directory name.
|
|
50
96
|
*
|
|
51
97
|
* Also exposes `packageForHttp(outputDir)` to zip quills and write a manifest
|
|
52
98
|
* for static hosting.
|
|
@@ -57,35 +103,81 @@ export class FileSystemSource {
|
|
|
57
103
|
this.quillsDir = quillsDir;
|
|
58
104
|
}
|
|
59
105
|
async getManifest() {
|
|
60
|
-
let
|
|
106
|
+
let quillNames;
|
|
61
107
|
try {
|
|
62
|
-
|
|
63
|
-
entries = dirEntries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
108
|
+
quillNames = await listSubdirectories(this.quillsDir);
|
|
64
109
|
}
|
|
65
110
|
catch (err) {
|
|
66
111
|
throw new RegistryError('source_unavailable', `Failed to read quills directory: ${this.quillsDir}`, { cause: err });
|
|
67
112
|
}
|
|
68
113
|
const quills = [];
|
|
69
|
-
for (const
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
114
|
+
for (const quillName of quillNames) {
|
|
115
|
+
const quillNameDir = path.join(this.quillsDir, quillName);
|
|
116
|
+
let versionDirs;
|
|
117
|
+
try {
|
|
118
|
+
versionDirs = await listSubdirectories(quillNameDir);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
// Skip entries that aren't readable directories
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
for (const versionDir of versionDirs) {
|
|
125
|
+
if (!isSemver(versionDir))
|
|
126
|
+
continue;
|
|
127
|
+
const versionPath = path.join(quillNameDir, versionDir);
|
|
128
|
+
try {
|
|
129
|
+
const metadata = await readQuillMetadata(versionPath);
|
|
130
|
+
// Validate name/version match directory names
|
|
131
|
+
if (metadata.name !== quillName) {
|
|
132
|
+
throw new RegistryError('load_error', `Quill.yaml name "${metadata.name}" does not match directory name "${quillName}"`);
|
|
133
|
+
}
|
|
134
|
+
if (metadata.version !== versionDir) {
|
|
135
|
+
throw new RegistryError('load_error', `Quill.yaml version "${metadata.version}" does not match directory name "${versionDir}"`);
|
|
136
|
+
}
|
|
137
|
+
quills.push(metadata);
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
if (err instanceof RegistryError)
|
|
141
|
+
throw err;
|
|
142
|
+
// Skip directories without valid Quill.yaml
|
|
143
|
+
}
|
|
144
|
+
}
|
|
73
145
|
}
|
|
74
146
|
return { quills };
|
|
75
147
|
}
|
|
76
148
|
async loadQuill(name, version) {
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
149
|
+
// If no version specified, resolve to latest
|
|
150
|
+
const resolvedVersion = version ?? (await this.resolveLatestVersion(name));
|
|
151
|
+
const quillDir = path.join(this.quillsDir, name, resolvedVersion);
|
|
152
|
+
// Verify directory exists
|
|
153
|
+
try {
|
|
154
|
+
await fs.access(quillDir);
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// Check if the quill name exists at all to give a better error
|
|
158
|
+
const nameDir = path.join(this.quillsDir, name);
|
|
159
|
+
try {
|
|
160
|
+
await fs.access(nameDir);
|
|
161
|
+
// Name exists but version doesn't
|
|
162
|
+
throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${resolvedVersion}" was not found`, { quillName: name, version: resolvedVersion });
|
|
82
163
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
164
|
+
catch (err) {
|
|
165
|
+
if (err instanceof RegistryError)
|
|
166
|
+
throw err;
|
|
167
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
168
|
+
quillName: name,
|
|
169
|
+
version: resolvedVersion,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const metadata = await readQuillMetadata(quillDir);
|
|
174
|
+
// Validate name/version match directory path
|
|
175
|
+
if (metadata.name !== name) {
|
|
176
|
+
throw new RegistryError('load_error', `Quill.yaml name "${metadata.name}" does not match expected name "${name}"`, { quillName: name, version: resolvedVersion });
|
|
177
|
+
}
|
|
178
|
+
if (metadata.version !== resolvedVersion) {
|
|
179
|
+
throw new RegistryError('load_error', `Quill.yaml version "${metadata.version}" does not match expected version "${resolvedVersion}"`, { quillName: name, version: resolvedVersion });
|
|
87
180
|
}
|
|
88
|
-
const quillDir = await this.findQuillDir(entry.name, entry.version);
|
|
89
181
|
let files;
|
|
90
182
|
try {
|
|
91
183
|
files = await readDirRecursive(quillDir);
|
|
@@ -93,26 +185,26 @@ export class FileSystemSource {
|
|
|
93
185
|
catch (err) {
|
|
94
186
|
throw new RegistryError('load_error', `Failed to read quill directory: ${quillDir}`, {
|
|
95
187
|
quillName: name,
|
|
96
|
-
version:
|
|
188
|
+
version: resolvedVersion,
|
|
97
189
|
cause: err,
|
|
98
190
|
});
|
|
99
191
|
}
|
|
100
192
|
return {
|
|
101
|
-
name:
|
|
102
|
-
version:
|
|
193
|
+
name: metadata.name,
|
|
194
|
+
version: metadata.version,
|
|
103
195
|
data: files,
|
|
104
|
-
metadata
|
|
196
|
+
metadata,
|
|
105
197
|
};
|
|
106
198
|
}
|
|
107
199
|
/**
|
|
108
200
|
* Packages all quills for HTTP static hosting.
|
|
109
|
-
* Zips each quill directory and writes the zips plus a `manifest.json` to `outputDir`.
|
|
201
|
+
* Zips each quill version directory and writes the zips plus a `manifest.json` to `outputDir`.
|
|
110
202
|
*/
|
|
111
203
|
async packageForHttp(outputDir) {
|
|
112
204
|
await fs.mkdir(outputDir, { recursive: true });
|
|
113
205
|
const manifest = await this.getManifest();
|
|
114
206
|
for (const entry of manifest.quills) {
|
|
115
|
-
const quillDir =
|
|
207
|
+
const quillDir = path.join(this.quillsDir, entry.name, entry.version);
|
|
116
208
|
const files = await readDirRecursive(quillDir);
|
|
117
209
|
const zip = new JSZip();
|
|
118
210
|
for (const [relativePath, content] of Object.entries(files)) {
|
|
@@ -124,26 +216,36 @@ export class FileSystemSource {
|
|
|
124
216
|
}
|
|
125
217
|
await fs.writeFile(path.join(outputDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
126
218
|
}
|
|
127
|
-
/**
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return quillDir;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
catch {
|
|
140
|
-
// Skip directories that don't have valid Quill.yaml
|
|
141
|
-
}
|
|
219
|
+
/**
|
|
220
|
+
* Resolves the latest version for a quill by listing version directories
|
|
221
|
+
* and picking the highest semver.
|
|
222
|
+
*/
|
|
223
|
+
async resolveLatestVersion(name) {
|
|
224
|
+
const nameDir = path.join(this.quillsDir, name);
|
|
225
|
+
let versionDirs;
|
|
226
|
+
try {
|
|
227
|
+
versionDirs = await listSubdirectories(nameDir);
|
|
142
228
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
229
|
+
catch {
|
|
230
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
231
|
+
quillName: name,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
if (versionDirs.length === 0) {
|
|
235
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" has no versions`, {
|
|
236
|
+
quillName: name,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
// Filter to valid semver directories only
|
|
240
|
+
const semverDirs = versionDirs.filter(isSemver);
|
|
241
|
+
if (semverDirs.length === 0) {
|
|
242
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" has no valid version directories`, {
|
|
243
|
+
quillName: name,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
// Sort by semver descending, return highest
|
|
247
|
+
semverDirs.sort((a, b) => compareSemver(b, a));
|
|
248
|
+
return semverDirs[0];
|
|
147
249
|
}
|
|
148
250
|
}
|
|
149
251
|
//# sourceMappingURL=file-system-source.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-source.js","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,+FAA+F;AAC/F,KAAK,UAAU,gBAAgB,CAC9B,OAAe,EACf,WAAmB,OAAO;IAE1B,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,gCAAgC,QAAQ,EAAE,EAAE;YACjF,KAAK,EAAE,GAAG;SACV,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtF,MAAM,IAAI,aAAa,CACtB,YAAY,EACZ,yBAAyB,QAAQ,2BAA2B,CAC5D,CAAC;IACH,CAAC;IAED,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtF,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"file-system-source.js","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED