@quillmark/registry 0.1.10 → 0.2.1
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/format.d.ts +22 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +45 -0
- package/dist/format.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7 -4
- package/dist/registry.js.map +1 -1
- package/dist/sources/file-system-source.d.ts +26 -5
- package/dist/sources/file-system-source.d.ts.map +1 -1
- package/dist/sources/file-system-source.js +143 -62
- package/dist/sources/file-system-source.js.map +1 -1
- package/dist/sources/http-source.d.ts.map +1 -1
- package/dist/sources/http-source.js +2 -1
- package/dist/sources/http-source.js.map +1 -1
- package/dist/types.d.ts +15 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/format.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a flat `Record<string, Uint8Array>` (as produced internally by sources)
|
|
3
|
+
* into the nested file-tree object that `@quillmark/wasm`'s `registerQuill()` expects.
|
|
4
|
+
*
|
|
5
|
+
* The resulting shape is:
|
|
6
|
+
* ```
|
|
7
|
+
* {
|
|
8
|
+
* files: {
|
|
9
|
+
* 'Quill.yaml': { contents: '...' },
|
|
10
|
+
* assets: {
|
|
11
|
+
* 'image.jpg': { contents: [0xff, 0xd8, ...] }
|
|
12
|
+
* }
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Text files are decoded to strings; binary files (matched by extension) become `number[]`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function toEngineFileTree(flatFiles: Record<string, Uint8Array>): {
|
|
20
|
+
files: Record<string, unknown>;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG;IACxE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAqBA"}
|
package/dist/format.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File-extension pattern for binary assets.
|
|
3
|
+
* Files matching this pattern get `number[]` contents in the engine tree;
|
|
4
|
+
* everything else gets decoded as UTF-8 strings.
|
|
5
|
+
*/
|
|
6
|
+
const BINARY_EXT = /\.(ttf|otf|woff2?|jpg|jpeg|png|gif|pdf|zip)$/i;
|
|
7
|
+
/**
|
|
8
|
+
* Converts a flat `Record<string, Uint8Array>` (as produced internally by sources)
|
|
9
|
+
* into the nested file-tree object that `@quillmark/wasm`'s `registerQuill()` expects.
|
|
10
|
+
*
|
|
11
|
+
* The resulting shape is:
|
|
12
|
+
* ```
|
|
13
|
+
* {
|
|
14
|
+
* files: {
|
|
15
|
+
* 'Quill.yaml': { contents: '...' },
|
|
16
|
+
* assets: {
|
|
17
|
+
* 'image.jpg': { contents: [0xff, 0xd8, ...] }
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Text files are decoded to strings; binary files (matched by extension) become `number[]`.
|
|
24
|
+
*/
|
|
25
|
+
export function toEngineFileTree(flatFiles) {
|
|
26
|
+
const decoder = new TextDecoder('utf-8', { fatal: false });
|
|
27
|
+
const tree = {};
|
|
28
|
+
for (const [filePath, bytes] of Object.entries(flatFiles)) {
|
|
29
|
+
const parts = filePath.split(/[/\\]/);
|
|
30
|
+
let current = tree;
|
|
31
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
32
|
+
const existing = current[parts[i]];
|
|
33
|
+
if (existing === undefined || existing === null) {
|
|
34
|
+
current[parts[i]] = {};
|
|
35
|
+
}
|
|
36
|
+
current = current[parts[i]];
|
|
37
|
+
}
|
|
38
|
+
const fileName = parts[parts.length - 1];
|
|
39
|
+
current[fileName] = {
|
|
40
|
+
contents: BINARY_EXT.test(fileName) ? Array.from(bytes) : decoder.decode(bytes),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return { files: tree };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,GAAG,+CAA+C,CAAC;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAqC;IAGrE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,IAA+C,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAA6B,CAAC;YACnD,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAA4C,CAAC;QACxE,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAmC,CAAC,QAAQ,CAAC,GAAG;YAChD,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { QuillData, QuillMetadata, QuillManifest, QuillBundle, QuillSource, QuillInfo, QuillmarkEngine, } from './types.js';
|
|
2
2
|
export { RegistryError } from './errors.js';
|
|
3
3
|
export type { RegistryErrorCode } from './errors.js';
|
|
4
|
+
export { toEngineFileTree } from './format.js';
|
|
4
5
|
export { FileSystemSource } from './sources/file-system-source.js';
|
|
5
6
|
export { HttpSource } from './sources/http-source.js';
|
|
6
7
|
export type { HttpSourceOptions } from './sources/http-source.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Errors
|
|
2
2
|
export { RegistryError } from './errors.js';
|
|
3
|
+
// Format utilities
|
|
4
|
+
export { toEngineFileTree } from './format.js';
|
|
3
5
|
// Sources
|
|
4
6
|
export { FileSystemSource } from './sources/file-system-source.js';
|
|
5
7
|
export { HttpSource } from './sources/http-source.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,gFAAgF;IAChF,OAAO,CAAC,KAAK,CAAuC;gBAExC,OAAO,EAAE,oBAAoB;IAKzC,uDAAuD;IACjD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAI3C,0EAA0E;IACpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,gFAAgF;IAChF,OAAO,CAAC,KAAK,CAAuC;gBAExC,OAAO,EAAE,oBAAoB;IAKzC,uDAAuD;IACjD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAI3C,0EAA0E;IACpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqCnE;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG/B"}
|
package/dist/registry.js
CHANGED
|
@@ -41,10 +41,13 @@ export class QuillRegistry {
|
|
|
41
41
|
const quillRef = version ? `${name}@${version}` : name;
|
|
42
42
|
const engineInfo = this.engine.resolveQuill(quillRef);
|
|
43
43
|
if (engineInfo) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
const engineVersion = engineInfo.metadata?.version;
|
|
45
|
+
if (typeof engineVersion === 'string') {
|
|
46
|
+
const cacheKey = `${engineInfo.name}@${engineVersion}`;
|
|
47
|
+
const cached = this.cache.get(cacheKey);
|
|
48
|
+
if (cached) {
|
|
49
|
+
return cached;
|
|
50
|
+
}
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
// 2. Check registry cache
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IACjB,MAAM,CAAc;IACpB,MAAM,CAAkB;IAChC,gFAAgF;IACxE,KAAK,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEpD,YAAY,OAA6B;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,kBAAkB;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAgB;QAC3C,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IACjB,MAAM,CAAc;IACpB,MAAM,CAAkB;IAChC,gFAAgF;IACxE,KAAK,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEpD,YAAY,OAA6B;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,kBAAkB;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAgB;QAC3C,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;YACnD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,MAAM,CAAC;gBACf,CAAC;YACF,CAAC;QACF,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1D,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvC,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEjC,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,KAAe;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAChD,CAAC;CACD"}
|
|
@@ -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` file. Name and version are
|
|
23
|
+
* derived from the directory structure; Quill.yaml content is validated by the
|
|
24
|
+
* @quillmark/wasm engine at registration time.
|
|
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":"
|
|
1
|
+
{"version":3,"file":"file-system-source.d.ts","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AAyE1F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IACnD,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAIvB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoDrE;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtD;;;OAGG;YACW,oBAAoB;CA+BlC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as fs from 'node:fs/promises';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import JSZip from 'jszip';
|
|
4
|
-
import { parse as parseYaml } from 'yaml';
|
|
5
4
|
import { RegistryError } from '../errors.js';
|
|
5
|
+
import { toEngineFileTree } from '../format.js';
|
|
6
6
|
/** Reads files from a directory recursively, returning a map of relative paths to contents. */
|
|
7
7
|
async function readDirRecursive(dirPath, basePath = dirPath) {
|
|
8
8
|
const files = {};
|
|
@@ -20,33 +20,71 @@ async function readDirRecursive(dirPath, basePath = dirPath) {
|
|
|
20
20
|
}
|
|
21
21
|
return files;
|
|
22
22
|
}
|
|
23
|
-
/**
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Verifies that a Quill.yaml file exists in the given quill directory.
|
|
25
|
+
* Name and version are derived from the directory structure; Quill.yaml
|
|
26
|
+
* content is parsed by the @quillmark/wasm engine at registration time.
|
|
27
|
+
*/
|
|
28
|
+
async function assertQuillYamlExists(quillDir) {
|
|
25
29
|
const yamlPath = path.join(quillDir, 'Quill.yaml');
|
|
26
|
-
let content;
|
|
27
30
|
try {
|
|
28
|
-
|
|
31
|
+
await fs.access(yamlPath);
|
|
29
32
|
}
|
|
30
|
-
catch
|
|
31
|
-
throw new RegistryError('load_error', `
|
|
32
|
-
cause: err,
|
|
33
|
-
});
|
|
33
|
+
catch {
|
|
34
|
+
throw new RegistryError('load_error', `Missing Quill.yaml in ${quillDir}`);
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
}
|
|
37
|
+
/** Lists subdirectories of a given directory. Filters out dot-prefixed entries. */
|
|
38
|
+
async function listSubdirectories(dirPath) {
|
|
39
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
40
|
+
return entries
|
|
41
|
+
.filter((e) => e.isDirectory() && !e.name.startsWith('.'))
|
|
42
|
+
.map((e) => e.name);
|
|
43
|
+
}
|
|
44
|
+
/** Returns true if the string looks like a semver version (digits and dots only). */
|
|
45
|
+
function isSemver(value) {
|
|
46
|
+
return /^\d+\.\d+\.\d+/.test(value);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Compares two semver version strings. Returns a negative number if a < b,
|
|
50
|
+
* zero if equal, positive if a > b. Handles versions with any number of
|
|
51
|
+
* numeric segments (e.g., "1.0.0", "0.1", "2.1.0").
|
|
52
|
+
*/
|
|
53
|
+
function compareSemver(a, b) {
|
|
54
|
+
const partsA = a.split('.').map(Number);
|
|
55
|
+
const partsB = b.split('.').map(Number);
|
|
56
|
+
const len = Math.max(partsA.length, partsB.length);
|
|
57
|
+
for (let i = 0; i < len; i++) {
|
|
58
|
+
const numA = partsA[i] ?? 0;
|
|
59
|
+
const numB = partsB[i] ?? 0;
|
|
60
|
+
if (numA !== numB)
|
|
61
|
+
return numA - numB;
|
|
38
62
|
}
|
|
39
|
-
return
|
|
40
|
-
name: parsed.name,
|
|
41
|
-
version: parsed.version,
|
|
42
|
-
...(typeof parsed.description === 'string' ? { description: parsed.description } : {}),
|
|
43
|
-
};
|
|
63
|
+
return 0;
|
|
44
64
|
}
|
|
45
65
|
/**
|
|
46
66
|
* Node.js-only QuillSource that reads Quill directories from the local filesystem.
|
|
47
67
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
68
|
+
* Expects a versioned directory layout:
|
|
69
|
+
*
|
|
70
|
+
* ```
|
|
71
|
+
* quillsDir/
|
|
72
|
+
* usaf_memo/
|
|
73
|
+
* 0.1.0/
|
|
74
|
+
* Quill.yaml
|
|
75
|
+
* template.typ
|
|
76
|
+
* 1.0.0/
|
|
77
|
+
* Quill.yaml
|
|
78
|
+
* template.typ
|
|
79
|
+
* classic_resume/
|
|
80
|
+
* 2.1.0/
|
|
81
|
+
* Quill.yaml
|
|
82
|
+
* template.typ
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* Each version directory must contain a `Quill.yaml` file. Name and version are
|
|
86
|
+
* derived from the directory structure; Quill.yaml content is validated by the
|
|
87
|
+
* @quillmark/wasm engine at registration time.
|
|
50
88
|
*
|
|
51
89
|
* Also exposes `packageForHttp(outputDir)` to zip quills and write a manifest
|
|
52
90
|
* for static hosting.
|
|
@@ -57,35 +95,68 @@ export class FileSystemSource {
|
|
|
57
95
|
this.quillsDir = quillsDir;
|
|
58
96
|
}
|
|
59
97
|
async getManifest() {
|
|
60
|
-
let
|
|
98
|
+
let quillNames;
|
|
61
99
|
try {
|
|
62
|
-
|
|
63
|
-
entries = dirEntries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
100
|
+
quillNames = await listSubdirectories(this.quillsDir);
|
|
64
101
|
}
|
|
65
102
|
catch (err) {
|
|
66
103
|
throw new RegistryError('source_unavailable', `Failed to read quills directory: ${this.quillsDir}`, { cause: err });
|
|
67
104
|
}
|
|
68
105
|
const quills = [];
|
|
69
|
-
for (const
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
106
|
+
for (const quillName of quillNames) {
|
|
107
|
+
const quillNameDir = path.join(this.quillsDir, quillName);
|
|
108
|
+
let versionDirs;
|
|
109
|
+
try {
|
|
110
|
+
versionDirs = await listSubdirectories(quillNameDir);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Skip entries that aren't readable directories
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
for (const versionDir of versionDirs) {
|
|
117
|
+
if (!isSemver(versionDir))
|
|
118
|
+
continue;
|
|
119
|
+
const versionPath = path.join(quillNameDir, versionDir);
|
|
120
|
+
try {
|
|
121
|
+
await assertQuillYamlExists(versionPath);
|
|
122
|
+
quills.push({ name: quillName, version: versionDir });
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
if (err instanceof RegistryError)
|
|
126
|
+
throw err;
|
|
127
|
+
// Skip directories without valid Quill.yaml
|
|
128
|
+
}
|
|
129
|
+
}
|
|
73
130
|
}
|
|
74
131
|
return { quills };
|
|
75
132
|
}
|
|
76
133
|
async loadQuill(name, version) {
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
134
|
+
// If no version specified, resolve to latest
|
|
135
|
+
const resolvedVersion = version ?? (await this.resolveLatestVersion(name));
|
|
136
|
+
const quillDir = path.join(this.quillsDir, name, resolvedVersion);
|
|
137
|
+
// Verify directory exists
|
|
138
|
+
try {
|
|
139
|
+
await fs.access(quillDir);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// Check if the quill name exists at all to give a better error
|
|
143
|
+
const nameDir = path.join(this.quillsDir, name);
|
|
144
|
+
try {
|
|
145
|
+
await fs.access(nameDir);
|
|
146
|
+
// Name exists but version doesn't
|
|
147
|
+
throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${resolvedVersion}" was not found`, { quillName: name, version: resolvedVersion });
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
if (err instanceof RegistryError)
|
|
151
|
+
throw err;
|
|
152
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
153
|
+
quillName: name,
|
|
154
|
+
version: resolvedVersion,
|
|
155
|
+
});
|
|
82
156
|
}
|
|
83
|
-
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
84
|
-
quillName: name,
|
|
85
|
-
version,
|
|
86
|
-
});
|
|
87
157
|
}
|
|
88
|
-
|
|
158
|
+
await assertQuillYamlExists(quillDir);
|
|
159
|
+
const metadata = { name, version: resolvedVersion };
|
|
89
160
|
let files;
|
|
90
161
|
try {
|
|
91
162
|
files = await readDirRecursive(quillDir);
|
|
@@ -93,26 +164,26 @@ export class FileSystemSource {
|
|
|
93
164
|
catch (err) {
|
|
94
165
|
throw new RegistryError('load_error', `Failed to read quill directory: ${quillDir}`, {
|
|
95
166
|
quillName: name,
|
|
96
|
-
version:
|
|
167
|
+
version: resolvedVersion,
|
|
97
168
|
cause: err,
|
|
98
169
|
});
|
|
99
170
|
}
|
|
100
171
|
return {
|
|
101
|
-
name
|
|
102
|
-
version:
|
|
103
|
-
data: files,
|
|
104
|
-
metadata
|
|
172
|
+
name,
|
|
173
|
+
version: resolvedVersion,
|
|
174
|
+
data: toEngineFileTree(files),
|
|
175
|
+
metadata,
|
|
105
176
|
};
|
|
106
177
|
}
|
|
107
178
|
/**
|
|
108
179
|
* Packages all quills for HTTP static hosting.
|
|
109
|
-
* Zips each quill directory and writes the zips plus a `manifest.json` to `outputDir`.
|
|
180
|
+
* Zips each quill version directory and writes the zips plus a `manifest.json` to `outputDir`.
|
|
110
181
|
*/
|
|
111
182
|
async packageForHttp(outputDir) {
|
|
112
183
|
await fs.mkdir(outputDir, { recursive: true });
|
|
113
184
|
const manifest = await this.getManifest();
|
|
114
185
|
for (const entry of manifest.quills) {
|
|
115
|
-
const quillDir =
|
|
186
|
+
const quillDir = path.join(this.quillsDir, entry.name, entry.version);
|
|
116
187
|
const files = await readDirRecursive(quillDir);
|
|
117
188
|
const zip = new JSZip();
|
|
118
189
|
for (const [relativePath, content] of Object.entries(files)) {
|
|
@@ -124,26 +195,36 @@ export class FileSystemSource {
|
|
|
124
195
|
}
|
|
125
196
|
await fs.writeFile(path.join(outputDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
126
197
|
}
|
|
127
|
-
/**
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
198
|
+
/**
|
|
199
|
+
* Resolves the latest version for a quill by listing version directories
|
|
200
|
+
* and picking the highest semver.
|
|
201
|
+
*/
|
|
202
|
+
async resolveLatestVersion(name) {
|
|
203
|
+
const nameDir = path.join(this.quillsDir, name);
|
|
204
|
+
let versionDirs;
|
|
205
|
+
try {
|
|
206
|
+
versionDirs = await listSubdirectories(nameDir);
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
210
|
+
quillName: name,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
if (versionDirs.length === 0) {
|
|
214
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" has no versions`, {
|
|
215
|
+
quillName: name,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
// Filter to valid semver directories only
|
|
219
|
+
const semverDirs = versionDirs.filter(isSemver);
|
|
220
|
+
if (semverDirs.length === 0) {
|
|
221
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" has no valid version directories`, {
|
|
222
|
+
quillName: name,
|
|
223
|
+
});
|
|
142
224
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
});
|
|
225
|
+
// Sort by semver descending, return highest
|
|
226
|
+
semverDirs.sort((a, b) => compareSemver(b, a));
|
|
227
|
+
return semverDirs[0];
|
|
147
228
|
}
|
|
148
229
|
}
|
|
149
230
|
//# 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;
|
|
1
|
+
{"version":3,"file":"file-system-source.js","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-source.d.ts","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"http-source.d.ts","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI3E,MAAM,WAAW,iBAAiB;IACjC,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,EAAE,iBAAiB;IAOhC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA4ErE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import JSZip from 'jszip';
|
|
2
2
|
import { RegistryError } from '../errors.js';
|
|
3
|
+
import { toEngineFileTree } from '../format.js';
|
|
3
4
|
/**
|
|
4
5
|
* QuillSource that fetches quill zips and manifest from any HTTP endpoint.
|
|
5
6
|
*
|
|
@@ -105,7 +106,7 @@ export class HttpSource {
|
|
|
105
106
|
return {
|
|
106
107
|
name: entry.name,
|
|
107
108
|
version: resolvedVersion,
|
|
108
|
-
data: files,
|
|
109
|
+
data: toEngineFileTree(files),
|
|
109
110
|
metadata: entry,
|
|
110
111
|
};
|
|
111
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-source.js","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"http-source.js","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -20,8 +20,7 @@ export interface QuillBundle {
|
|
|
20
20
|
version: string;
|
|
21
21
|
/** Opaque payload passed to engine.registerQuill().
|
|
22
22
|
* Shape is defined by @quillmark/wasm — the registry passes it through untouched.
|
|
23
|
-
* Currently: the
|
|
24
|
-
* filesystem read (template files, assets, fonts, Typst packages). */
|
|
23
|
+
* Currently: the nested file-tree structure expected by `registerQuill()`. */
|
|
25
24
|
data: QuillData;
|
|
26
25
|
metadata: QuillMetadata;
|
|
27
26
|
}
|
|
@@ -30,14 +29,26 @@ export interface QuillSource {
|
|
|
30
29
|
getManifest(): Promise<QuillManifest>;
|
|
31
30
|
loadQuill(name: string, version?: string): Promise<QuillBundle>;
|
|
32
31
|
}
|
|
33
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Info returned by the engine after registering or resolving a quill.
|
|
34
|
+
* Matches the shape returned by `@quillmark/wasm`'s `Quillmark` class.
|
|
35
|
+
*/
|
|
34
36
|
export interface QuillInfo {
|
|
35
37
|
name: string;
|
|
36
|
-
|
|
38
|
+
backend: string;
|
|
39
|
+
metadata: Record<string, unknown>;
|
|
40
|
+
example?: string;
|
|
41
|
+
schema: Record<string, unknown>;
|
|
42
|
+
defaults: Record<string, unknown>;
|
|
43
|
+
examples: Record<string, unknown[]>;
|
|
44
|
+
supportedFormats: string[];
|
|
37
45
|
}
|
|
38
46
|
/**
|
|
39
47
|
* Minimal interface for the @quillmark/wasm engine instance.
|
|
40
48
|
* The registry only calls these methods — it never imports or instantiates the engine.
|
|
49
|
+
*
|
|
50
|
+
* Structurally compatible with `@quillmark/wasm`'s `Quillmark` class so
|
|
51
|
+
* you can pass a `Quillmark` instance directly without adapters.
|
|
41
52
|
*/
|
|
42
53
|
export interface QuillmarkEngine {
|
|
43
54
|
registerQuill(quill_json: unknown): QuillInfo;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;mFAE+E;IAC/E,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACxB;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC3B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAClD,UAAU,IAAI,MAAM,EAAE,CAAC;CACvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quillmark/registry",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Unified API for discovering, loading, packaging, and registering Quills with the WASM engine",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
},
|
|
38
38
|
"homepage": "https://github.com/nibsbin/quillmark-registry#readme",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"jszip": "^3.10.1"
|
|
41
|
-
"yaml": "^2.8.2"
|
|
40
|
+
"jszip": "^3.10.1"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
43
|
+
"@quillmark/wasm": "^0.36.0",
|
|
44
44
|
"@types/node": "^25.3.3",
|
|
45
45
|
"typescript": "^5.9.3",
|
|
46
46
|
"vitest": "^4.0.18"
|