@quillmark/registry 0.10.2 → 0.12.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.
- package/README.md +22 -8
- package/dist/errors.d.ts +7 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +93 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +27 -11
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +193 -52
- package/dist/registry.js.map +1 -1
- package/dist/sources/file-system-source.d.ts +1 -6
- package/dist/sources/file-system-source.d.ts.map +1 -1
- package/dist/sources/file-system-source.js +16 -58
- package/dist/sources/file-system-source.js.map +1 -1
- package/dist/sources/http-source.d.ts +1 -1
- package/dist/sources/http-source.d.ts.map +1 -1
- package/dist/sources/http-source.js +3 -2
- package/dist/sources/http-source.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +2 -1
- package/dist/validate.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -15,15 +15,21 @@ npm install @quillmark/registry
|
|
|
15
15
|
### Browser (HTTP source)
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
|
-
import { Quillmark } from '@quillmark/wasm';
|
|
18
|
+
import { Quillmark, init } from '@quillmark/wasm';
|
|
19
19
|
import { QuillRegistry, HttpSource } from '@quillmark/registry';
|
|
20
20
|
|
|
21
|
-
const engine = new Quillmark();
|
|
22
21
|
const source = new HttpSource({ baseUrl: 'https://cdn.example.com/quills/' });
|
|
23
|
-
const registry = new QuillRegistry({ source
|
|
22
|
+
const registry = new QuillRegistry({ source });
|
|
23
|
+
|
|
24
|
+
// Start fetching while @quillmark/wasm initializes
|
|
25
|
+
const fetched = registry.fetch('usaf_memo@1.0.0');
|
|
26
|
+
init();
|
|
27
|
+
const engine = new Quillmark();
|
|
28
|
+
registry.setEngine(engine);
|
|
29
|
+
await fetched;
|
|
24
30
|
|
|
25
31
|
// Resolve a quill — fetches, caches, and registers with the engine
|
|
26
|
-
const bundle = await registry.resolve('usaf_memo');
|
|
32
|
+
const bundle = await registry.resolve('usaf_memo'); // or await registry.resolve('usaf_memo@1.0.0')
|
|
27
33
|
|
|
28
34
|
// Engine is now ready to render
|
|
29
35
|
const parsed = Quillmark.parseMarkdown(myMarkdown);
|
|
@@ -55,8 +61,9 @@ const registry = new QuillRegistry({ source, engine });
|
|
|
55
61
|
|
|
56
62
|
| Method | Description |
|
|
57
63
|
|---|---|
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
64
|
+
| `fetch(canonicalRef)` | Fetches a quill bundle by canonical ref (`name@version`, full semver) and caches it. Does not register with the engine. |
|
|
65
|
+
| `resolve(ref)` | Resolves a quill reference (`name`, `name@version`, or semver selector like `name@1` / `name@1.2`). Reuses fetched bundles when present, otherwise fetches on demand, then registers with the engine. Returns a `QuillBundle`. |
|
|
66
|
+
| `setEngine(engine)` | Attaches or replaces the engine used by `resolve()`. Useful when fetching before `@quillmark/wasm` initialization completes. |
|
|
60
67
|
| `getManifest()` | Returns the full `QuillManifest` from the source. |
|
|
61
68
|
| `getAvailableQuills()` | Returns `QuillMetadata[]` for all quills in the source. |
|
|
62
69
|
| `isLoaded(name)` | Returns `true` if the quill is registered in the engine. |
|
|
@@ -97,7 +104,7 @@ Implement this to create custom sources:
|
|
|
97
104
|
```ts
|
|
98
105
|
interface QuillSource {
|
|
99
106
|
getManifest(): Promise<QuillManifest>;
|
|
100
|
-
loadQuill(name: string, version
|
|
107
|
+
loadQuill(name: string, version: string): Promise<QuillBundle>;
|
|
101
108
|
}
|
|
102
109
|
```
|
|
103
110
|
|
|
@@ -126,7 +133,14 @@ try {
|
|
|
126
133
|
|
|
127
134
|
## Version Resolution
|
|
128
135
|
|
|
129
|
-
|
|
136
|
+
`fetch()` requires a canonical ref (`name@version`) using full semver (for example, `usaf_memo@1.0.0`). `resolve()` accepts `name`, canonical `name@version`, or semver selectors with missing segments (for example, `usaf_memo@1` or `usaf_memo@1.2`) and picks the highest matching version from a manifest that is loaded eagerly when the registry is constructed. Fetches are deduplicated in-memory to prevent duplicate source loads under races.
|
|
137
|
+
|
|
138
|
+
When you need a canonical ref for caching, deduping, or telemetry, derive it from the resolved bundle:
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
const bundle = await registry.resolve('usaf_memo@1');
|
|
142
|
+
const canonicalRef = `${bundle.name}@${bundle.version}`;
|
|
143
|
+
```
|
|
130
144
|
|
|
131
145
|
## License
|
|
132
146
|
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
export type RegistryErrorCode = 'quill_not_found' | 'version_not_found' | 'load_error' | 'source_unavailable';
|
|
2
|
+
/**
|
|
3
|
+
* Converts unknown thrown values into a readable, stable string.
|
|
4
|
+
*
|
|
5
|
+
* Keeps plain Error messages concise while preserving structure for
|
|
6
|
+
* non-Error payloads (e.g. Map diagnostics from WASM bindings).
|
|
7
|
+
*/
|
|
8
|
+
export declare function formatUnknownError(err: unknown): string;
|
|
2
9
|
export declare class RegistryError extends Error {
|
|
3
10
|
code: RegistryErrorCode;
|
|
4
11
|
quillName?: string;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,oBAAoB,CAAC;AAiFxB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAmBvD;AAED,qBAAa,aAAc,SAAQ,KAAK;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAGhB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQpE"}
|
package/dist/errors.js
CHANGED
|
@@ -1,3 +1,96 @@
|
|
|
1
|
+
function toJsonSafeValue(value, seen) {
|
|
2
|
+
if (value === null ||
|
|
3
|
+
typeof value === 'string' ||
|
|
4
|
+
typeof value === 'number' ||
|
|
5
|
+
typeof value === 'boolean') {
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
if (typeof value === 'bigint') {
|
|
9
|
+
return `${value.toString()}n`;
|
|
10
|
+
}
|
|
11
|
+
if (typeof value === 'undefined') {
|
|
12
|
+
return '[undefined]';
|
|
13
|
+
}
|
|
14
|
+
if (typeof value === 'function') {
|
|
15
|
+
return `[Function ${value.name || 'anonymous'}]`;
|
|
16
|
+
}
|
|
17
|
+
if (value instanceof Map) {
|
|
18
|
+
return {
|
|
19
|
+
type: 'Map',
|
|
20
|
+
size: value.size,
|
|
21
|
+
entries: Array.from(value.entries(), ([k, v]) => [
|
|
22
|
+
toJsonSafeValue(k, seen),
|
|
23
|
+
toJsonSafeValue(v, seen),
|
|
24
|
+
]),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (value instanceof Set) {
|
|
28
|
+
return {
|
|
29
|
+
type: 'Set',
|
|
30
|
+
size: value.size,
|
|
31
|
+
values: Array.from(value.values(), (v) => toJsonSafeValue(v, seen)),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (value instanceof Uint8Array) {
|
|
35
|
+
return {
|
|
36
|
+
type: 'Uint8Array',
|
|
37
|
+
length: value.length,
|
|
38
|
+
bytes: Array.from(value),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (value instanceof Error) {
|
|
42
|
+
const errorRecord = {
|
|
43
|
+
name: value.name,
|
|
44
|
+
message: value.message,
|
|
45
|
+
};
|
|
46
|
+
const causeValue = value.cause;
|
|
47
|
+
if (causeValue !== undefined) {
|
|
48
|
+
errorRecord.cause = toJsonSafeValue(causeValue, seen);
|
|
49
|
+
}
|
|
50
|
+
return errorRecord;
|
|
51
|
+
}
|
|
52
|
+
if (Array.isArray(value)) {
|
|
53
|
+
return value.map((item) => toJsonSafeValue(item, seen));
|
|
54
|
+
}
|
|
55
|
+
if (typeof value === 'object') {
|
|
56
|
+
const obj = value;
|
|
57
|
+
if (seen.has(obj))
|
|
58
|
+
return '[Circular]';
|
|
59
|
+
seen.add(obj);
|
|
60
|
+
const out = {};
|
|
61
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
62
|
+
out[k] = toJsonSafeValue(v, seen);
|
|
63
|
+
}
|
|
64
|
+
return out;
|
|
65
|
+
}
|
|
66
|
+
return String(value);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Converts unknown thrown values into a readable, stable string.
|
|
70
|
+
*
|
|
71
|
+
* Keeps plain Error messages concise while preserving structure for
|
|
72
|
+
* non-Error payloads (e.g. Map diagnostics from WASM bindings).
|
|
73
|
+
*/
|
|
74
|
+
export function formatUnknownError(err) {
|
|
75
|
+
if (err instanceof Error) {
|
|
76
|
+
const base = err.message || err.name;
|
|
77
|
+
const causeValue = err.cause;
|
|
78
|
+
if (causeValue === undefined)
|
|
79
|
+
return base;
|
|
80
|
+
return `${base}. Cause: ${formatUnknownError(causeValue)}`;
|
|
81
|
+
}
|
|
82
|
+
const safeValue = toJsonSafeValue(err, new WeakSet());
|
|
83
|
+
try {
|
|
84
|
+
const serialized = JSON.stringify(safeValue, null, 2);
|
|
85
|
+
if (serialized && serialized !== '{}') {
|
|
86
|
+
return serialized;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Fall through to string coercion for non-serializable values.
|
|
91
|
+
}
|
|
92
|
+
return String(err);
|
|
93
|
+
}
|
|
1
94
|
export class RegistryError extends Error {
|
|
2
95
|
code;
|
|
3
96
|
quillName;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACvC,IAAI,CAAoB;IACxB,SAAS,CAAU;IACnB,OAAO,CAAU;IAEjB,YACC,IAAuB,EACvB,OAAe,EACf,OAAmE;QAEnE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IACjC,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { QuillData, QuillMetadata, QuillManifest, QuillBundle, QuillSource, QuillInfo, QuillmarkEngine, } from './types.js';
|
|
2
2
|
export { RegistryError } from './errors.js';
|
|
3
|
+
export { formatUnknownError } from './errors.js';
|
|
3
4
|
export type { RegistryErrorCode } from './errors.js';
|
|
4
5
|
export { toEngineFileTree } from './format.js';
|
|
5
6
|
export { FileSystemSource } from './sources/file-system-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,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;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACpB,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,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,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;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,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;AAG9C,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { QuillBundle, QuillManifest, QuillmarkEngine, QuillMetadata, QuillSource } from './types.js';
|
|
2
2
|
export interface QuillRegistryOptions {
|
|
3
3
|
source: QuillSource;
|
|
4
|
-
engine
|
|
4
|
+
engine?: QuillmarkEngine;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Orchestrates quill sources, resolves versions, caches loaded quills,
|
|
@@ -15,37 +15,53 @@ export interface QuillRegistryOptions {
|
|
|
15
15
|
export declare class QuillRegistry {
|
|
16
16
|
private source;
|
|
17
17
|
private engine;
|
|
18
|
+
private manifestPromise;
|
|
19
|
+
/**
|
|
20
|
+
* In-memory cache of in-flight and settled fetch operations.
|
|
21
|
+
* Keyed by quill ref (`name` or `name@version`).
|
|
22
|
+
*/
|
|
23
|
+
private fetched;
|
|
18
24
|
/**
|
|
19
25
|
* In-memory cache of in-flight and settled resolve operations.
|
|
20
26
|
* Keyed by quill ref (`name` or `name@version`).
|
|
21
27
|
*/
|
|
22
|
-
private
|
|
28
|
+
private resolving;
|
|
29
|
+
/** Coalesces registration to avoid duplicate registerQuill() races. */
|
|
30
|
+
private registering;
|
|
23
31
|
constructor(options: QuillRegistryOptions);
|
|
32
|
+
/** Attaches or replaces the engine instance used by resolve(). */
|
|
33
|
+
setEngine(engine: QuillmarkEngine): void;
|
|
24
34
|
/** Returns the manifest from the underlying source. */
|
|
25
35
|
getManifest(): Promise<QuillManifest>;
|
|
26
36
|
/** Returns metadata for all available quills from the source manifest. */
|
|
27
37
|
getAvailableQuills(): Promise<QuillMetadata[]>;
|
|
28
38
|
/**
|
|
29
|
-
*
|
|
39
|
+
* Fetches a quill by canonical ref (`name@version`) without registering it.
|
|
40
|
+
* Intended for loading in parallel before engine initialization.
|
|
41
|
+
*/
|
|
42
|
+
fetch(canonicalRef: string): Promise<QuillBundle>;
|
|
43
|
+
/**
|
|
44
|
+
* Resolves a quill by reference (e.g., `name@version` or `name`) and
|
|
45
|
+
* ensures it is registered with the attached engine.
|
|
46
|
+
*
|
|
47
|
+
* For callers that need a canonical ref, derive it from the returned bundle:
|
|
48
|
+
* `${bundle.name}@${bundle.version}`.
|
|
30
49
|
*
|
|
31
50
|
* Resolution flow:
|
|
32
|
-
* 1. Check
|
|
33
|
-
* 2.
|
|
51
|
+
* 1. Check resolve cache — return if cached
|
|
52
|
+
* 2. Fetch bundle (or reuse fetch cache)
|
|
34
53
|
* 3. Ask source for the bundle (or throw version_not_found / quill_not_found)
|
|
35
|
-
* 4. Register with engine via registerQuill()
|
|
54
|
+
* 4. Register with engine via registerQuill() (coalesced by canonical ref)
|
|
36
55
|
*
|
|
37
56
|
* When no version is specified, resolves to latest available.
|
|
38
57
|
*/
|
|
39
58
|
resolve(ref: string): Promise<QuillBundle>;
|
|
40
|
-
/**
|
|
41
|
-
* Preloads multiple quills using reference strings (e.g., `name@version`).
|
|
42
|
-
* Fail-fast: if any quill fails to load, rejects immediately.
|
|
43
|
-
*/
|
|
44
|
-
preload(refs: string[]): Promise<void>;
|
|
45
59
|
/**
|
|
46
60
|
* Checks whether a quill is currently loaded in the engine.
|
|
47
61
|
* Delegates to engine.resolveQuill().
|
|
48
62
|
*/
|
|
49
63
|
isLoaded(name: string): boolean;
|
|
64
|
+
private fetchForResolve;
|
|
65
|
+
private ensureRegistered;
|
|
50
66
|
}
|
|
51
67
|
//# sourceMappingURL=registry.d.ts.map
|
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;
|
|
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;AAGpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;CACzB;AAkDD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,eAAe,CAAyB;IAChD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAgD;IAC/D;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAgD;IACjE,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAAyC;gBAEhD,OAAO,EAAE,oBAAoB;IASzC,kEAAkE;IAClE,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIxC,uDAAuD;IACjD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAI3C,0EAA0E;IACpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;;OAGG;IACG,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBvD;;;;;;;;;;;;;;OAcG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA+BhD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;YAIjB,eAAe;YAgEf,gBAAgB;CA4B9B"}
|
package/dist/registry.js
CHANGED
|
@@ -1,3 +1,48 @@
|
|
|
1
|
+
import { RegistryError } from './errors.js';
|
|
2
|
+
function compareSemver(a, b) {
|
|
3
|
+
const partsA = a.split('.').map(Number);
|
|
4
|
+
const partsB = b.split('.').map(Number);
|
|
5
|
+
const len = Math.max(partsA.length, partsB.length);
|
|
6
|
+
for (let i = 0; i < len; i++) {
|
|
7
|
+
const numA = partsA[i] ?? 0;
|
|
8
|
+
const numB = partsB[i] ?? 0;
|
|
9
|
+
if (numA !== numB)
|
|
10
|
+
return numA - numB;
|
|
11
|
+
}
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
function isCanonicalSemver(version) {
|
|
15
|
+
return /^\d+\.\d+\.\d+$/.test(version);
|
|
16
|
+
}
|
|
17
|
+
function matchesSemverSelector(version, selector) {
|
|
18
|
+
if (selector === version)
|
|
19
|
+
return true;
|
|
20
|
+
const selectorParts = selector.split('.');
|
|
21
|
+
const versionParts = version.split('.');
|
|
22
|
+
if (selectorParts.length === 0 ||
|
|
23
|
+
selectorParts.length > 3 ||
|
|
24
|
+
selectorParts.some((p) => p.length === 0 || Number.isNaN(Number(p)))) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (selectorParts.length > versionParts.length)
|
|
28
|
+
return false;
|
|
29
|
+
for (let i = 0; i < selectorParts.length; i++) {
|
|
30
|
+
if (selectorParts[i] !== versionParts[i])
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
function chooseHighestVersion(versions) {
|
|
36
|
+
if (versions.length === 0)
|
|
37
|
+
return null;
|
|
38
|
+
const copy = [...versions];
|
|
39
|
+
copy.sort((a, b) => compareSemver(b, a));
|
|
40
|
+
return copy[0] ?? null;
|
|
41
|
+
}
|
|
42
|
+
function isCanonicalRef(ref) {
|
|
43
|
+
const [name, version, ...rest] = ref.split('@');
|
|
44
|
+
return Boolean(name && version && rest.length === 0 && isCanonicalSemver(version));
|
|
45
|
+
}
|
|
1
46
|
/**
|
|
2
47
|
* Orchestrates quill sources, resolves versions, caches loaded quills,
|
|
3
48
|
* and registers them with the engine.
|
|
@@ -10,93 +55,189 @@
|
|
|
10
55
|
export class QuillRegistry {
|
|
11
56
|
source;
|
|
12
57
|
engine;
|
|
58
|
+
manifestPromise;
|
|
59
|
+
/**
|
|
60
|
+
* In-memory cache of in-flight and settled fetch operations.
|
|
61
|
+
* Keyed by quill ref (`name` or `name@version`).
|
|
62
|
+
*/
|
|
63
|
+
fetched = new Map();
|
|
13
64
|
/**
|
|
14
65
|
* In-memory cache of in-flight and settled resolve operations.
|
|
15
66
|
* Keyed by quill ref (`name` or `name@version`).
|
|
16
67
|
*/
|
|
17
|
-
|
|
68
|
+
resolving = new Map();
|
|
69
|
+
/** Coalesces registration to avoid duplicate registerQuill() races. */
|
|
70
|
+
registering = new Map();
|
|
18
71
|
constructor(options) {
|
|
19
72
|
this.source = options.source;
|
|
20
|
-
this.engine = options.engine;
|
|
73
|
+
this.engine = options.engine ?? null;
|
|
74
|
+
// Eagerly load the manifest at startup so resolve() can assume availability.
|
|
75
|
+
this.manifestPromise = this.source.getManifest();
|
|
76
|
+
// Prevent unhandled rejection noise if consumers never await manifest-dependent APIs.
|
|
77
|
+
void this.manifestPromise.catch(() => undefined);
|
|
78
|
+
}
|
|
79
|
+
/** Attaches or replaces the engine instance used by resolve(). */
|
|
80
|
+
setEngine(engine) {
|
|
81
|
+
this.engine = engine;
|
|
21
82
|
}
|
|
22
83
|
/** Returns the manifest from the underlying source. */
|
|
23
84
|
async getManifest() {
|
|
24
|
-
return this.
|
|
85
|
+
return this.manifestPromise;
|
|
25
86
|
}
|
|
26
87
|
/** Returns metadata for all available quills from the source manifest. */
|
|
27
88
|
async getAvailableQuills() {
|
|
28
|
-
const manifest = await this.
|
|
89
|
+
const manifest = await this.manifestPromise;
|
|
29
90
|
return manifest.quills;
|
|
30
91
|
}
|
|
31
92
|
/**
|
|
32
|
-
*
|
|
93
|
+
* Fetches a quill by canonical ref (`name@version`) without registering it.
|
|
94
|
+
* Intended for loading in parallel before engine initialization.
|
|
95
|
+
*/
|
|
96
|
+
async fetch(canonicalRef) {
|
|
97
|
+
const [name, version, ...rest] = canonicalRef.split('@');
|
|
98
|
+
if (!name || !version || rest.length > 0 || !isCanonicalSemver(version)) {
|
|
99
|
+
throw new Error(`fetch() requires a canonical ref in the form "name@version". Received "${canonicalRef}"`);
|
|
100
|
+
}
|
|
101
|
+
const cacheKey = `${name}@${version}`;
|
|
102
|
+
const cachedPromise = this.fetched.get(cacheKey);
|
|
103
|
+
if (cachedPromise)
|
|
104
|
+
return cachedPromise;
|
|
105
|
+
const fetchPromise = this.source.loadQuill(name, version).catch((error) => {
|
|
106
|
+
this.fetched.delete(cacheKey);
|
|
107
|
+
throw error;
|
|
108
|
+
});
|
|
109
|
+
this.fetched.set(cacheKey, fetchPromise);
|
|
110
|
+
return fetchPromise;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Resolves a quill by reference (e.g., `name@version` or `name`) and
|
|
114
|
+
* ensures it is registered with the attached engine.
|
|
115
|
+
*
|
|
116
|
+
* For callers that need a canonical ref, derive it from the returned bundle:
|
|
117
|
+
* `${bundle.name}@${bundle.version}`.
|
|
33
118
|
*
|
|
34
119
|
* Resolution flow:
|
|
35
|
-
* 1. Check
|
|
36
|
-
* 2.
|
|
120
|
+
* 1. Check resolve cache — return if cached
|
|
121
|
+
* 2. Fetch bundle (or reuse fetch cache)
|
|
37
122
|
* 3. Ask source for the bundle (or throw version_not_found / quill_not_found)
|
|
38
|
-
* 4. Register with engine via registerQuill()
|
|
123
|
+
* 4. Register with engine via registerQuill() (coalesced by canonical ref)
|
|
39
124
|
*
|
|
40
125
|
* When no version is specified, resolves to latest available.
|
|
41
126
|
*/
|
|
42
127
|
async resolve(ref) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return cachedPromise;
|
|
128
|
+
if (!this.engine) {
|
|
129
|
+
throw new Error('resolve() requires an attached engine. Provide one in constructor or call setEngine().');
|
|
46
130
|
}
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (engineInfo) {
|
|
52
|
-
const engineVersion = engineInfo.metadata?.version;
|
|
53
|
-
if (typeof engineVersion === 'string') {
|
|
54
|
-
const cacheKey = `${engineInfo.name}@${engineVersion}`;
|
|
55
|
-
const cached = this.inflight.get(cacheKey);
|
|
56
|
-
if (cached) {
|
|
57
|
-
this.inflight.set(ref, cached);
|
|
58
|
-
return cached;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
131
|
+
const canonicalInput = isCanonicalRef(ref);
|
|
132
|
+
const inFlight = this.resolving.get(ref);
|
|
133
|
+
if (inFlight) {
|
|
134
|
+
return inFlight;
|
|
61
135
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const cached = this.inflight.get(cacheKey);
|
|
66
|
-
if (cached) {
|
|
67
|
-
this.inflight.set(ref, cached);
|
|
68
|
-
return cached;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
const resolvePromise = this.source
|
|
72
|
-
.loadQuill(name, version)
|
|
73
|
-
.then((bundle) => {
|
|
74
|
-
this.engine.registerQuill(bundle.data);
|
|
136
|
+
const resolvePromise = this.fetchForResolve(ref)
|
|
137
|
+
.then(async (bundle) => {
|
|
138
|
+
await this.ensureRegistered(bundle);
|
|
75
139
|
const resolvedKey = `${bundle.name}@${bundle.version}`;
|
|
76
|
-
this.
|
|
77
|
-
this.inflight.set(ref, resolvePromise);
|
|
140
|
+
this.resolving.set(resolvedKey, resolvePromise);
|
|
78
141
|
return bundle;
|
|
79
142
|
})
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
|
|
143
|
+
.finally(() => {
|
|
144
|
+
// Keep canonical refs cached, but do not pin selector/name refs.
|
|
145
|
+
if (!canonicalInput) {
|
|
146
|
+
this.resolving.delete(ref);
|
|
147
|
+
}
|
|
83
148
|
});
|
|
84
|
-
this.
|
|
149
|
+
this.resolving.set(ref, resolvePromise);
|
|
85
150
|
return resolvePromise;
|
|
86
151
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Preloads multiple quills using reference strings (e.g., `name@version`).
|
|
89
|
-
* Fail-fast: if any quill fails to load, rejects immediately.
|
|
90
|
-
*/
|
|
91
|
-
async preload(refs) {
|
|
92
|
-
await Promise.all(refs.map((ref) => this.resolve(ref)));
|
|
93
|
-
}
|
|
94
152
|
/**
|
|
95
153
|
* Checks whether a quill is currently loaded in the engine.
|
|
96
154
|
* Delegates to engine.resolveQuill().
|
|
97
155
|
*/
|
|
98
156
|
isLoaded(name) {
|
|
99
|
-
return this.engine
|
|
157
|
+
return this.engine?.resolveQuill(name) !== null;
|
|
158
|
+
}
|
|
159
|
+
async fetchForResolve(ref) {
|
|
160
|
+
if (isCanonicalRef(ref)) {
|
|
161
|
+
const cached = this.fetched.get(ref);
|
|
162
|
+
if (cached)
|
|
163
|
+
return cached;
|
|
164
|
+
}
|
|
165
|
+
const [name, version] = ref.split('@');
|
|
166
|
+
if (version) {
|
|
167
|
+
if (!isCanonicalSemver(version)) {
|
|
168
|
+
const selector = version;
|
|
169
|
+
const candidateVersionsFromCache = [];
|
|
170
|
+
for (const key of this.fetched.keys()) {
|
|
171
|
+
if (!key.startsWith(`${name}@`))
|
|
172
|
+
continue;
|
|
173
|
+
const candidateVersion = key.slice(name.length + 1);
|
|
174
|
+
if (matchesSemverSelector(candidateVersion, selector)) {
|
|
175
|
+
candidateVersionsFromCache.push(candidateVersion);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
const manifest = await this.getManifest();
|
|
179
|
+
const manifestByName = manifest.quills.filter((q) => q.name === name);
|
|
180
|
+
const candidateVersionsFromManifest = manifestByName
|
|
181
|
+
.filter((q) => matchesSemverSelector(q.version, selector))
|
|
182
|
+
.map((q) => q.version);
|
|
183
|
+
const candidateVersions = [
|
|
184
|
+
...new Set([...candidateVersionsFromCache, ...candidateVersionsFromManifest]),
|
|
185
|
+
];
|
|
186
|
+
if (candidateVersions.length === 0) {
|
|
187
|
+
const hasQuillInCache = [...this.fetched.keys()].some((k) => k.startsWith(`${name}@`));
|
|
188
|
+
const hasQuillInManifest = manifestByName.length > 0;
|
|
189
|
+
if (!hasQuillInCache && !hasQuillInManifest) {
|
|
190
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
191
|
+
quillName: name,
|
|
192
|
+
version: selector,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
throw new RegistryError('version_not_found', `Quill "${name}" exists but version selector "${selector}" was not found`, { quillName: name, version: selector });
|
|
196
|
+
}
|
|
197
|
+
const canonicalVersion = chooseHighestVersion(candidateVersions);
|
|
198
|
+
const canonicalRef = `${name}@${canonicalVersion}`;
|
|
199
|
+
return this.fetch(canonicalRef);
|
|
200
|
+
}
|
|
201
|
+
return this.fetch(`${name}@${version}`);
|
|
202
|
+
}
|
|
203
|
+
const manifest = await this.getManifest();
|
|
204
|
+
const manifestByName = manifest.quills.filter((q) => q.name === name).map((q) => q.version);
|
|
205
|
+
const cachedVersionsByName = [...this.fetched.keys()]
|
|
206
|
+
.filter((k) => k.startsWith(`${name}@`))
|
|
207
|
+
.map((k) => k.slice(name.length + 1));
|
|
208
|
+
const latestVersion = chooseHighestVersion([...new Set([...manifestByName, ...cachedVersionsByName])]);
|
|
209
|
+
if (!latestVersion) {
|
|
210
|
+
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
211
|
+
quillName: name,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
return this.fetch(`${name}@${latestVersion}`);
|
|
215
|
+
}
|
|
216
|
+
async ensureRegistered(bundle) {
|
|
217
|
+
if (!this.engine) {
|
|
218
|
+
throw new Error('resolve() requires an attached engine. Provide one in constructor or call setEngine().');
|
|
219
|
+
}
|
|
220
|
+
const canonical = `${bundle.name}@${bundle.version}`;
|
|
221
|
+
const existing = this.registering.get(canonical);
|
|
222
|
+
if (existing) {
|
|
223
|
+
return existing;
|
|
224
|
+
}
|
|
225
|
+
const registerPromise = Promise.resolve()
|
|
226
|
+
.then(() => {
|
|
227
|
+
const exactInfo = this.engine.resolveQuill(canonical);
|
|
228
|
+
const byNameInfo = this.engine.resolveQuill(bundle.name);
|
|
229
|
+
const info = exactInfo ?? byNameInfo;
|
|
230
|
+
const existingVersion = info?.metadata?.version;
|
|
231
|
+
if (typeof existingVersion === 'string' && existingVersion === bundle.version) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
this.engine.registerQuill(bundle.data);
|
|
235
|
+
})
|
|
236
|
+
.finally(() => {
|
|
237
|
+
this.registering.delete(canonical);
|
|
238
|
+
});
|
|
239
|
+
this.registering.set(canonical, registerPromise);
|
|
240
|
+
return registerPromise;
|
|
100
241
|
}
|
|
101
242
|
}
|
|
102
243
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,17 +30,12 @@ export declare class FileSystemSource implements QuillSource {
|
|
|
30
30
|
private quillsDir;
|
|
31
31
|
constructor(quillsDir: string);
|
|
32
32
|
getManifest(): Promise<QuillManifest>;
|
|
33
|
-
loadQuill(name: string, version
|
|
33
|
+
loadQuill(name: string, version: string): Promise<QuillBundle>;
|
|
34
34
|
/**
|
|
35
35
|
* Packages all quills for HTTP static hosting.
|
|
36
36
|
* Creates a zip archive of each quill version and writes
|
|
37
37
|
* `.zip` bundles plus a `manifest.json` to `outputDir`.
|
|
38
38
|
*/
|
|
39
39
|
packageForHttp(outputDir: string): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Resolves the latest version for a quill by listing version directories
|
|
42
|
-
* and picking the highest semver.
|
|
43
|
-
*/
|
|
44
|
-
private resolveLatestVersion;
|
|
45
40
|
}
|
|
46
41
|
//# 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":"AAEA,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":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AA4E1F;;;;;;;;;;;;;;;;;;;;;;;;;;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,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiDpE;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BtD"}
|
|
@@ -56,26 +56,9 @@ async function listSubdirectories(dirPath) {
|
|
|
56
56
|
.filter((e) => e.isDirectory() && !e.name.startsWith('.'))
|
|
57
57
|
.map((e) => e.name);
|
|
58
58
|
}
|
|
59
|
-
/** Returns true if the string
|
|
59
|
+
/** Returns true if the string is exactly a three-part semver version (digits and dots only). */
|
|
60
60
|
function isSemver(value) {
|
|
61
|
-
return /^\d+\.\d+\.\d
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Compares two semver version strings. Returns a negative number if a < b,
|
|
65
|
-
* zero if equal, positive if a > b. Handles versions with any number of
|
|
66
|
-
* numeric segments (e.g., "1.0.0", "0.1", "2.1.0").
|
|
67
|
-
*/
|
|
68
|
-
function compareSemver(a, b) {
|
|
69
|
-
const partsA = a.split('.').map(Number);
|
|
70
|
-
const partsB = b.split('.').map(Number);
|
|
71
|
-
const len = Math.max(partsA.length, partsB.length);
|
|
72
|
-
for (let i = 0; i < len; i++) {
|
|
73
|
-
const numA = partsA[i] ?? 0;
|
|
74
|
-
const numB = partsB[i] ?? 0;
|
|
75
|
-
if (numA !== numB)
|
|
76
|
-
return numA - numB;
|
|
77
|
-
}
|
|
78
|
-
return 0;
|
|
61
|
+
return /^\d+\.\d+\.\d+$/.test(value);
|
|
79
62
|
}
|
|
80
63
|
/**
|
|
81
64
|
* Node.js-only QuillSource that reads Quill directories from the local filesystem.
|
|
@@ -146,9 +129,7 @@ export class FileSystemSource {
|
|
|
146
129
|
return { quills };
|
|
147
130
|
}
|
|
148
131
|
async loadQuill(name, version) {
|
|
149
|
-
|
|
150
|
-
const resolvedVersion = version ?? (await this.resolveLatestVersion(name));
|
|
151
|
-
const quillDir = path.join(this.quillsDir, name, resolvedVersion);
|
|
132
|
+
const quillDir = path.join(this.quillsDir, name, version);
|
|
152
133
|
// Verify directory exists
|
|
153
134
|
try {
|
|
154
135
|
await fs.access(quillDir);
|
|
@@ -159,19 +140,19 @@ export class FileSystemSource {
|
|
|
159
140
|
try {
|
|
160
141
|
await fs.access(nameDir);
|
|
161
142
|
// Name exists but version doesn't
|
|
162
|
-
throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${
|
|
143
|
+
throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${version}" was not found`, { quillName: name, version });
|
|
163
144
|
}
|
|
164
145
|
catch (err) {
|
|
165
146
|
if (err instanceof RegistryError)
|
|
166
147
|
throw err;
|
|
167
148
|
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
168
149
|
quillName: name,
|
|
169
|
-
version
|
|
150
|
+
version,
|
|
170
151
|
});
|
|
171
152
|
}
|
|
172
153
|
}
|
|
173
154
|
await assertQuillYamlExists(quillDir);
|
|
174
|
-
const metadata = { name, version
|
|
155
|
+
const metadata = { name, version };
|
|
175
156
|
let files;
|
|
176
157
|
try {
|
|
177
158
|
files = await readDirRecursive(quillDir);
|
|
@@ -179,13 +160,13 @@ export class FileSystemSource {
|
|
|
179
160
|
catch (err) {
|
|
180
161
|
throw new RegistryError('load_error', `Failed to read quill directory: ${quillDir}`, {
|
|
181
162
|
quillName: name,
|
|
182
|
-
version
|
|
163
|
+
version,
|
|
183
164
|
cause: err,
|
|
184
165
|
});
|
|
185
166
|
}
|
|
186
167
|
return {
|
|
187
168
|
name,
|
|
188
|
-
version
|
|
169
|
+
version,
|
|
189
170
|
data: toEngineFileTree(files),
|
|
190
171
|
metadata,
|
|
191
172
|
};
|
|
@@ -198,6 +179,14 @@ export class FileSystemSource {
|
|
|
198
179
|
async packageForHttp(outputDir) {
|
|
199
180
|
await fs.mkdir(outputDir, { recursive: true });
|
|
200
181
|
const manifest = await this.getManifest();
|
|
182
|
+
const seenRefs = new Set();
|
|
183
|
+
for (const entry of manifest.quills) {
|
|
184
|
+
const ref = `${entry.name}@${entry.version}`;
|
|
185
|
+
if (seenRefs.has(ref)) {
|
|
186
|
+
throw new RegistryError('load_error', `Duplicate quill entry "${ref}" found while packaging manifest`);
|
|
187
|
+
}
|
|
188
|
+
seenRefs.add(ref);
|
|
189
|
+
}
|
|
201
190
|
for (const entry of manifest.quills) {
|
|
202
191
|
const quillDir = path.join(this.quillsDir, entry.name, entry.version);
|
|
203
192
|
const fileList = await listFilesRecursive(quillDir);
|
|
@@ -207,36 +196,5 @@ export class FileSystemSource {
|
|
|
207
196
|
}
|
|
208
197
|
await fs.writeFile(path.join(outputDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
209
198
|
}
|
|
210
|
-
/**
|
|
211
|
-
* Resolves the latest version for a quill by listing version directories
|
|
212
|
-
* and picking the highest semver.
|
|
213
|
-
*/
|
|
214
|
-
async resolveLatestVersion(name) {
|
|
215
|
-
const nameDir = path.join(this.quillsDir, name);
|
|
216
|
-
let versionDirs;
|
|
217
|
-
try {
|
|
218
|
-
versionDirs = await listSubdirectories(nameDir);
|
|
219
|
-
}
|
|
220
|
-
catch {
|
|
221
|
-
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
222
|
-
quillName: name,
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
if (versionDirs.length === 0) {
|
|
226
|
-
throw new RegistryError('quill_not_found', `Quill "${name}" has no versions`, {
|
|
227
|
-
quillName: name,
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
// Filter to valid semver directories only
|
|
231
|
-
const semverDirs = versionDirs.filter(isSemver);
|
|
232
|
-
if (semverDirs.length === 0) {
|
|
233
|
-
throw new RegistryError('quill_not_found', `Quill "${name}" has no valid version directories`, {
|
|
234
|
-
quillName: name,
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
// Sort by semver descending, return highest
|
|
238
|
-
semverDirs.sort((a, b) => compareSemver(b, a));
|
|
239
|
-
return semverDirs[0];
|
|
240
|
-
}
|
|
241
199
|
}
|
|
242
200
|
//# 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":"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
|
|
1
|
+
{"version":3,"file":"file-system-source.js","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,6 @@ export declare class HttpSource implements QuillSource {
|
|
|
20
20
|
private fetchFn;
|
|
21
21
|
constructor(options: HttpSourceOptions);
|
|
22
22
|
getManifest(): Promise<QuillManifest>;
|
|
23
|
-
loadQuill(name: string, version
|
|
23
|
+
loadQuill(name: string, version: string): Promise<QuillBundle>;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=http-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-source.d.ts","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK3E,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;;;;;GAKG;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,
|
|
1
|
+
{"version":3,"file":"http-source.d.ts","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK3E,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;;;;;GAKG;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,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA6DpE"}
|
|
@@ -52,9 +52,10 @@ export class HttpSource {
|
|
|
52
52
|
}
|
|
53
53
|
async loadQuill(name, version) {
|
|
54
54
|
const manifest = await this.getManifest();
|
|
55
|
-
const
|
|
55
|
+
const matchingByName = manifest.quills.filter((q) => q.name === name);
|
|
56
|
+
const entry = matchingByName.find((q) => q.version === version);
|
|
56
57
|
if (!entry) {
|
|
57
|
-
if (version &&
|
|
58
|
+
if (version && matchingByName.length > 0) {
|
|
58
59
|
throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${version}" was not found`, { quillName: name, version });
|
|
59
60
|
}
|
|
60
61
|
throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-source.js","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAW3C;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACd,OAAO,CAAS;IAChB,iBAAiB,CAAiB;IAClC,cAAc,CAAiB;IAC/B,OAAO,CAA0B;IAEzC,YAAY,OAA0B;QACrC,mEAAmE;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACvF,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,eAAe,CAAC;QAC3C,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,iCAAiC,GAAG,EAAE,EAAE;gBACrF,KAAK,EAAE,GAAG;aACV,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,aAAa,CACtB,oBAAoB,EACpB,6BAA6B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACrE,CAAC;QACH,CAAC;QAED,IAAI,QAAuB,CAAC;QAC5B,IAAI,CAAC;YACJ,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,+BAA+B,EAAE;gBAC9E,KAAK,EAAE,GAAG;aACV,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,
|
|
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
|
@@ -27,7 +27,7 @@ export interface QuillBundle {
|
|
|
27
27
|
/** Pluggable backend that knows how to list and fetch Quills from a specific location. */
|
|
28
28
|
export interface QuillSource {
|
|
29
29
|
getManifest(): Promise<QuillManifest>;
|
|
30
|
-
loadQuill(name: string, version
|
|
30
|
+
loadQuill(name: string, version: string): Promise<QuillBundle>;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Info returned by the engine after registering or resolving a quill.
|
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;;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,
|
|
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,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/D;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/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,YAAY,CAAC;AAG7D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,MAAM,CACL,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC9D,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB;QAAE,SAAS,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,UAAU,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,qBAAqB;IACrC,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;OAEG;IACH,aAAa,EAAE,CACd,QAAQ,EAAE,MAAM,KACZ;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAkD/B"}
|
package/dist/validate.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FileSystemSource } from './sources/file-system-source.js';
|
|
2
2
|
import { QuillRegistry } from './registry.js';
|
|
3
|
+
import { formatUnknownError } from './errors.js';
|
|
3
4
|
/**
|
|
4
5
|
* Validates every quill in a directory by registering it with the WASM engine
|
|
5
6
|
* and rendering its example document.
|
|
@@ -53,7 +54,7 @@ export async function validateQuills(options) {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
catch (err) {
|
|
56
|
-
entry.error =
|
|
57
|
+
entry.error = formatUnknownError(err);
|
|
57
58
|
}
|
|
58
59
|
results.push(entry);
|
|
59
60
|
}
|
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAsFjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,OAA8B;IAE9B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAyB;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,CAAC;YACJ,uDAAuD;YACvD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAExB,uCAAuC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;YACjE,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,iEAAiE;gBACjE,uDAAuD;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACpC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;iBAChC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,KAAK,CAAC,KAAK,GAAG,qCAAqC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quillmark/registry",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
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": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://github.com/nibsbin/quillmark-registry#readme",
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@quillmark/wasm": "^0.
|
|
39
|
+
"@quillmark/wasm": "^0.49.0",
|
|
40
40
|
"@types/node": "^25.3.3",
|
|
41
41
|
"typescript": "^5.9.3",
|
|
42
42
|
"vitest": "^4.0.18"
|