@atproto/lex-installer 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +80 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lex-installer.d.ts +1742 -1753
- package/dist/lex-installer.d.ts.map +1 -1
- package/dist/lex-installer.js +16 -19
- package/dist/lex-installer.js.map +1 -1
- package/dist/lexicons-manifest.d.ts +7 -18
- package/dist/lexicons-manifest.d.ts.map +1 -1
- package/dist/lexicons-manifest.js +17 -4
- package/dist/lexicons-manifest.js.map +1 -1
- package/package.json +13 -9
- package/src/index.ts +1 -1
- package/src/lex-installer.ts +24 -28
- package/src/lexicons-manifest.ts +34 -19
- package/tsconfig.build.json +13 -0
- package/tsconfig.json +7 -0
- package/tsconfig.tests.json +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lex-installer.d.ts","sourceRoot":"","sources":["../src/lex-installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lex-installer.d.ts","sourceRoot":"","sources":["../src/lex-installer.ts"],"names":[],"mappings":"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"}
|
package/dist/lex-installer.js
CHANGED
|
@@ -31,8 +31,8 @@ class LexInstaller {
|
|
|
31
31
|
async [Symbol.asyncDispose]() {
|
|
32
32
|
await this.indexer[Symbol.asyncDispose]();
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
return (0, lex_data_1.lexEquals)(
|
|
34
|
+
equals(manifest) {
|
|
35
|
+
return (0, lex_data_1.lexEquals)((0, lexicons_manifest_js_1.normalizeLexiconsManifest)(manifest), (0, lexicons_manifest_js_1.normalizeLexiconsManifest)(this.manifest));
|
|
36
36
|
}
|
|
37
37
|
async install({ additions, manifest, } = {}) {
|
|
38
38
|
const roots = new nsid_map_js_1.NsidMap();
|
|
@@ -64,7 +64,7 @@ class LexInstaller {
|
|
|
64
64
|
// Install all root lexicons (and store them in the manifest)
|
|
65
65
|
await Promise.all(Array.from(roots, async ([nsid, sourceUri]) => {
|
|
66
66
|
console.debug(`Installing lexicon: ${nsid}`);
|
|
67
|
-
const { document } = sourceUri
|
|
67
|
+
const { lexicon: document } = sourceUri
|
|
68
68
|
? await this.installFromUri(sourceUri)
|
|
69
69
|
: await this.installFromNsid(nsid);
|
|
70
70
|
// Store the direct reference in the new manifest
|
|
@@ -104,38 +104,35 @@ class LexInstaller {
|
|
|
104
104
|
return this.installFromUri(uri);
|
|
105
105
|
}
|
|
106
106
|
async installFromUri(uri) {
|
|
107
|
-
const
|
|
107
|
+
const { lexicon, cid } = this.options.update
|
|
108
108
|
? await this.fetch(uri)
|
|
109
|
-
: await this.indexer.get(uri.rkey).then((
|
|
109
|
+
: await this.indexer.get(uri.rkey).then(async (lexicon) => {
|
|
110
110
|
console.debug(`Re-using existing lexicon ${uri.rkey} from indexer`);
|
|
111
|
-
|
|
111
|
+
const cid = await (0, lex_cbor_1.cidForLex)(lexicon);
|
|
112
|
+
return { cid, lexicon };
|
|
112
113
|
}, (err) => {
|
|
113
114
|
if ((0, fs_js_1.isEnoentError)(err))
|
|
114
115
|
return this.fetch(uri);
|
|
115
116
|
throw err;
|
|
116
117
|
});
|
|
117
|
-
this.documents.set(syntax_1.NSID.from(
|
|
118
|
-
this.manifest.resolutions[
|
|
119
|
-
cid:
|
|
118
|
+
this.documents.set(syntax_1.NSID.from(lexicon.id), lexicon);
|
|
119
|
+
this.manifest.resolutions[lexicon.id] = {
|
|
120
|
+
cid: cid.toString(),
|
|
120
121
|
uri: uri.toString(),
|
|
121
122
|
};
|
|
122
|
-
return {
|
|
123
|
+
return { lexicon, uri };
|
|
123
124
|
}
|
|
124
125
|
async fetch(uri) {
|
|
125
126
|
console.debug(`Fetching lexicon from ${uri}...`);
|
|
126
|
-
const
|
|
127
|
+
const { lexicon, cid } = await this.lexiconResolver.fetch(uri, {
|
|
127
128
|
noCache: this.options.update,
|
|
128
129
|
});
|
|
129
|
-
const basePath = (0, node_path_1.join)(this.options.lexicons, ...
|
|
130
|
-
await (0, fs_js_1.writeJsonFile)(`${basePath}.json`,
|
|
131
|
-
return
|
|
130
|
+
const basePath = (0, node_path_1.join)(this.options.lexicons, ...lexicon.id.split('.'));
|
|
131
|
+
await (0, fs_js_1.writeJsonFile)(`${basePath}.json`, lexicon);
|
|
132
|
+
return { lexicon, cid };
|
|
132
133
|
}
|
|
133
134
|
async save() {
|
|
134
|
-
await (0, fs_js_1.writeJsonFile)(this.options.manifest, lexicons_manifest_js_1.
|
|
135
|
-
version: 1,
|
|
136
|
-
lexicons: [...this.manifest.lexicons].sort(),
|
|
137
|
-
resolutions: Object.fromEntries(Object.entries(this.manifest.resolutions).sort(([a], [b]) => a > b ? 1 : -1)),
|
|
138
|
-
}));
|
|
135
|
+
await (0, fs_js_1.writeJsonFile)(this.options.manifest, (0, lexicons_manifest_js_1.normalizeLexiconsManifest)(this.manifest));
|
|
139
136
|
}
|
|
140
137
|
}
|
|
141
138
|
exports.LexInstaller = LexInstaller;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lex-installer.js","sourceRoot":"","sources":["../src/lex-installer.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from 'node:path'\nimport { LexiconDirectoryIndexer } from '@atproto/lex-builder'\nimport { cidForLex } from '@atproto/lex-cbor'\nimport { lexEquals } from '@atproto/lex-data'\nimport {\n LexiconDocument,\n LexiconParameters,\n LexiconPermission,\n LexiconRef,\n LexiconRefUnion,\n LexiconUnknown,\n MainLexiconDefinition,\n NamedLexiconDefinition,\n} from '@atproto/lex-document'\nimport { LexResolver, LexResolverOptions } from '@atproto/lex-resolver'\nimport { AtUri as AtUriString, Nsid as NsidString } from '@atproto/lex-schema'\nimport { AtUri, NSID } from '@atproto/syntax'\nimport { isEnoentError, writeJsonFile } from './fs.js'\nimport {\n LexiconsManifest,\n lexiconsManifestSchema,\n} from './lexicons-manifest.js'\nimport { NsidMap } from './nsid-map.js'\nimport { NsidSet } from './nsid-set.js'\n\nexport type LexInstallerOptions = LexResolverOptions & {\n lexicons: string\n manifest: string\n update?: boolean\n}\n\nexport class LexInstaller implements AsyncDisposable {\n protected readonly lexiconResolver: LexResolver\n protected readonly indexer: LexiconDirectoryIndexer\n protected readonly documents = new NsidMap<LexiconDocument>()\n protected readonly manifest: LexiconsManifest = {\n version: 1,\n lexicons: [],\n resolutions: {},\n }\n\n constructor(protected readonly options: LexInstallerOptions) {\n this.lexiconResolver = new LexResolver(options)\n this.indexer = new LexiconDirectoryIndexer({\n lexicons: options.lexicons,\n })\n }\n\n async [Symbol.asyncDispose](): Promise<void> {\n await this.indexer[Symbol.asyncDispose]()\n }\n\n matches(manifest: LexiconsManifest): boolean {\n return lexEquals(this.manifest, manifest)\n }\n\n async install({\n additions,\n manifest,\n }: {\n additions?: Iterable<string>\n manifest?: LexiconsManifest\n } = {}): Promise<void> {\n const roots = new NsidMap<AtUri | null>()\n\n // First, process explicit additions\n for (const lexicon of new Set(additions)) {\n const [nsid, uri]: [NSID, AtUri | null] = lexicon.startsWith('at://')\n ? ((uri) => [NSID.from(uri.rkey), uri])(new AtUri(lexicon))\n : [NSID.from(lexicon), null]\n\n if (roots.has(nsid)) {\n throw new Error(\n `Duplicate lexicon addition: ${nsid} (${roots.get(nsid) ?? lexicon})`,\n )\n }\n\n roots.set(nsid, uri)\n console.debug(`Adding new lexicon: ${nsid} (${uri ?? 'from NSID'})`)\n }\n\n // Next, restore previously existing manifest entries\n if (manifest) {\n for (const lexicon of manifest.lexicons) {\n const nsid = NSID.from(lexicon)\n\n // Skip entries already added explicitly\n if (!roots.has(nsid)) {\n const uri = manifest.resolutions[lexicon]\n ? new AtUri(manifest.resolutions[lexicon].uri)\n : null\n\n roots.set(nsid, uri)\n\n console.debug(\n `Adding lexicon from manifest: ${nsid} (${uri ?? 'from NSID'})`,\n )\n }\n }\n }\n\n // Install all root lexicons (and store them in the manifest)\n await Promise.all(\n Array.from(roots, async ([nsid, sourceUri]) => {\n console.debug(`Installing lexicon: ${nsid}`)\n\n const { document } = sourceUri\n ? await this.installFromUri(sourceUri)\n : await this.installFromNsid(nsid)\n\n // Store the direct reference in the new manifest\n this.manifest.lexicons.push(document.id)\n }),\n )\n\n // Then recursively install all referenced lexicons\n let results: unknown[]\n do {\n results = await Promise.all(\n Array.from(this.getMissingIds(), async (nsid) => {\n console.debug(`Resolving dependency lexicon: ${nsid}`)\n\n const nsidStr = nsid.toString() as NsidString\n const resolvedUri = manifest?.resolutions[nsidStr]?.uri\n ? new AtUri(manifest.resolutions[nsidStr].uri)\n : null\n if (resolvedUri) {\n await this.installFromUri(resolvedUri)\n } else {\n await this.installFromNsid(nsid)\n }\n }),\n )\n } while (results.length > 0)\n }\n\n protected getMissingIds(): NsidSet {\n const missing = new NsidSet()\n\n for (const document of this.documents.values()) {\n for (const nsid of listDocumentNsidRefs(document)) {\n if (!this.documents.has(nsid)) {\n missing.add(nsid)\n }\n }\n }\n\n return missing\n }\n\n protected async installFromNsid(nsid: NSID) {\n const uri = await this.lexiconResolver.resolve(nsid)\n return this.installFromUri(uri)\n }\n\n protected async installFromUri(uri: AtUri): Promise<{\n document: LexiconDocument\n uri: AtUri\n }> {\n const document = this.options.update\n ? await this.fetch(uri)\n : await this.indexer.get(uri.rkey).then(\n (document) => {\n console.debug(`Re-using existing lexicon ${uri.rkey} from indexer`)\n return document\n },\n (err) => {\n if (isEnoentError(err)) return this.fetch(uri)\n throw err\n },\n )\n\n this.documents.set(NSID.from(document.id), document)\n this.manifest.resolutions[document.id] = {\n cid: (await cidForLex(document)).toString(),\n uri: uri.toString() as AtUriString,\n }\n\n return { document, uri }\n }\n\n async fetch(uri: AtUri): Promise<LexiconDocument> {\n console.debug(`Fetching lexicon from ${uri}...`)\n\n const document = await this.lexiconResolver.fetch(uri, {\n noCache: this.options.update,\n })\n\n const basePath = join(this.options.lexicons, ...document.id.split('.'))\n await writeJsonFile(`${basePath}.json`, document)\n\n return document\n }\n\n async save(): Promise<void> {\n await writeJsonFile(\n this.options.manifest,\n lexiconsManifestSchema.parse({\n version: 1,\n lexicons: [...this.manifest.lexicons].sort(),\n resolutions: Object.fromEntries(\n Object.entries(this.manifest.resolutions).sort(([a], [b]) =>\n a > b ? 1 : -1,\n ),\n ),\n }),\n )\n }\n}\n\nfunction* listDocumentNsidRefs(doc: LexiconDocument): Iterable<NSID> {\n try {\n for (const def of Object.values(doc.defs)) {\n if (def) {\n for (const ref of defRefs(def)) {\n const [nsid] = ref.split('#', 1)\n if (nsid) yield NSID.from(nsid)\n }\n }\n }\n } catch (cause) {\n throw new Error(`Failed to extract refs from lexicon ${doc.id}`, { cause })\n }\n}\n\nfunction* defRefs(\n def:\n | MainLexiconDefinition\n | NamedLexiconDefinition\n | LexiconPermission\n | LexiconUnknown\n | LexiconParameters\n | LexiconRef\n | LexiconRefUnion,\n): Iterable<string> {\n switch (def.type) {\n case 'string':\n if (def.knownValues) {\n for (const val of def.knownValues) {\n // Tokens ?\n const { length, 0: nsid, 1: hash } = val.split('#')\n if (length === 2 && hash) {\n try {\n NSID.from(nsid)\n yield val\n } catch {\n // ignore invalid nsid\n }\n }\n }\n }\n return\n case 'array':\n return yield* defRefs(def.items)\n case 'params':\n case 'object':\n for (const prop of Object.values(def.properties)) {\n yield* defRefs(prop)\n }\n return\n case 'union':\n yield* def.refs\n return\n case 'ref': {\n yield def.ref\n return\n }\n case 'record':\n yield* defRefs(def.record)\n return\n case 'procedure':\n if (def.input?.schema) {\n yield* defRefs(def.input.schema)\n }\n // fallthrough\n case 'query':\n if (def.output?.schema) {\n yield* defRefs(def.output.schema)\n }\n // fallthrough\n case 'subscription':\n if (def.parameters) {\n yield* defRefs(def.parameters)\n }\n if ('message' in def && def.message?.schema) {\n yield* defRefs(def.message.schema)\n }\n return\n case 'permission-set':\n for (const permission of def.permissions) {\n yield* defRefs(permission)\n }\n return\n case 'permission':\n if (def.resource === 'rpc') {\n if (Array.isArray(def.lxm)) {\n for (const lxm of def.lxm) {\n if (typeof lxm === 'string') {\n yield lxm\n }\n }\n }\n } else if (def.resource === 'repo') {\n if (Array.isArray(def.collection)) {\n for (const lxm of def.collection) {\n if (typeof lxm === 'string') {\n yield lxm\n }\n }\n }\n }\n return\n case 'boolean':\n case 'cid-link':\n case 'token':\n case 'bytes':\n case 'blob':\n case 'integer':\n case 'unknown':\n // @NOTE We explicitly list all types here to ensure exhaustiveness\n // causing TS to error if a new type is added without updating this switch\n return\n default:\n // @ts-expect-error\n throw new Error(`Unknown lexicon def type: ${def.type}`)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"lex-installer.js","sourceRoot":"","sources":["../src/lex-installer.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from 'node:path'\nimport { LexiconDirectoryIndexer } from '@atproto/lex-builder'\nimport { cidForLex } from '@atproto/lex-cbor'\nimport { Cid, lexEquals } from '@atproto/lex-data'\nimport {\n LexiconDocument,\n LexiconParameters,\n LexiconPermission,\n LexiconRef,\n LexiconRefUnion,\n LexiconUnknown,\n MainLexiconDefinition,\n NamedLexiconDefinition,\n} from '@atproto/lex-document'\nimport { LexResolver, LexResolverOptions } from '@atproto/lex-resolver'\nimport { AtUriString, NsidString } from '@atproto/lex-schema'\nimport { AtUri, NSID } from '@atproto/syntax'\nimport { isEnoentError, writeJsonFile } from './fs.js'\nimport {\n LexiconsManifest,\n normalizeLexiconsManifest,\n} from './lexicons-manifest.js'\nimport { NsidMap } from './nsid-map.js'\nimport { NsidSet } from './nsid-set.js'\n\nexport type LexInstallerOptions = LexResolverOptions & {\n lexicons: string\n manifest: string\n update?: boolean\n}\n\nexport class LexInstaller implements AsyncDisposable {\n protected readonly lexiconResolver: LexResolver\n protected readonly indexer: LexiconDirectoryIndexer\n protected readonly documents = new NsidMap<LexiconDocument>()\n protected readonly manifest: LexiconsManifest = {\n version: 1,\n lexicons: [],\n resolutions: {},\n }\n\n constructor(protected readonly options: LexInstallerOptions) {\n this.lexiconResolver = new LexResolver(options)\n this.indexer = new LexiconDirectoryIndexer({\n lexicons: options.lexicons,\n })\n }\n\n async [Symbol.asyncDispose](): Promise<void> {\n await this.indexer[Symbol.asyncDispose]()\n }\n\n equals(manifest: LexiconsManifest): boolean {\n return lexEquals(\n normalizeLexiconsManifest(manifest),\n normalizeLexiconsManifest(this.manifest),\n )\n }\n\n async install({\n additions,\n manifest,\n }: {\n additions?: Iterable<string>\n manifest?: LexiconsManifest\n } = {}): Promise<void> {\n const roots = new NsidMap<AtUri | null>()\n\n // First, process explicit additions\n for (const lexicon of new Set(additions)) {\n const [nsid, uri]: [NSID, AtUri | null] = lexicon.startsWith('at://')\n ? ((uri) => [NSID.from(uri.rkey), uri])(new AtUri(lexicon))\n : [NSID.from(lexicon), null]\n\n if (roots.has(nsid)) {\n throw new Error(\n `Duplicate lexicon addition: ${nsid} (${roots.get(nsid) ?? lexicon})`,\n )\n }\n\n roots.set(nsid, uri)\n console.debug(`Adding new lexicon: ${nsid} (${uri ?? 'from NSID'})`)\n }\n\n // Next, restore previously existing manifest entries\n if (manifest) {\n for (const lexicon of manifest.lexicons) {\n const nsid = NSID.from(lexicon)\n\n // Skip entries already added explicitly\n if (!roots.has(nsid)) {\n const uri = manifest.resolutions[lexicon]\n ? new AtUri(manifest.resolutions[lexicon].uri)\n : null\n\n roots.set(nsid, uri)\n\n console.debug(\n `Adding lexicon from manifest: ${nsid} (${uri ?? 'from NSID'})`,\n )\n }\n }\n }\n\n // Install all root lexicons (and store them in the manifest)\n await Promise.all(\n Array.from(roots, async ([nsid, sourceUri]) => {\n console.debug(`Installing lexicon: ${nsid}`)\n\n const { lexicon: document } = sourceUri\n ? await this.installFromUri(sourceUri)\n : await this.installFromNsid(nsid)\n\n // Store the direct reference in the new manifest\n this.manifest.lexicons.push(document.id)\n }),\n )\n\n // Then recursively install all referenced lexicons\n let results: unknown[]\n do {\n results = await Promise.all(\n Array.from(this.getMissingIds(), async (nsid) => {\n console.debug(`Resolving dependency lexicon: ${nsid}`)\n\n const nsidStr = nsid.toString() as NsidString\n const resolvedUri = manifest?.resolutions[nsidStr]?.uri\n ? new AtUri(manifest.resolutions[nsidStr].uri)\n : null\n if (resolvedUri) {\n await this.installFromUri(resolvedUri)\n } else {\n await this.installFromNsid(nsid)\n }\n }),\n )\n } while (results.length > 0)\n }\n\n protected getMissingIds(): NsidSet {\n const missing = new NsidSet()\n\n for (const document of this.documents.values()) {\n for (const nsid of listDocumentNsidRefs(document)) {\n if (!this.documents.has(nsid)) {\n missing.add(nsid)\n }\n }\n }\n\n return missing\n }\n\n protected async installFromNsid(nsid: NSID) {\n const uri = await this.lexiconResolver.resolve(nsid)\n return this.installFromUri(uri)\n }\n\n protected async installFromUri(uri: AtUri): Promise<{\n lexicon: LexiconDocument\n uri: AtUri\n }> {\n const { lexicon, cid } = this.options.update\n ? await this.fetch(uri)\n : await this.indexer.get(uri.rkey).then(\n async (lexicon) => {\n console.debug(`Re-using existing lexicon ${uri.rkey} from indexer`)\n const cid = await cidForLex(lexicon)\n return { cid, lexicon }\n },\n (err) => {\n if (isEnoentError(err)) return this.fetch(uri)\n throw err\n },\n )\n\n this.documents.set(NSID.from(lexicon.id), lexicon)\n this.manifest.resolutions[lexicon.id] = {\n cid: cid.toString(),\n uri: uri.toString() as AtUriString,\n }\n\n return { lexicon, uri }\n }\n\n async fetch(uri: AtUri): Promise<{ lexicon: LexiconDocument; cid: Cid }> {\n console.debug(`Fetching lexicon from ${uri}...`)\n\n const { lexicon, cid } = await this.lexiconResolver.fetch(uri, {\n noCache: this.options.update,\n })\n\n const basePath = join(this.options.lexicons, ...lexicon.id.split('.'))\n await writeJsonFile(`${basePath}.json`, lexicon)\n\n return { lexicon, cid }\n }\n\n async save(): Promise<void> {\n await writeJsonFile(\n this.options.manifest,\n normalizeLexiconsManifest(this.manifest),\n )\n }\n}\n\nfunction* listDocumentNsidRefs(doc: LexiconDocument): Iterable<NSID> {\n try {\n for (const def of Object.values(doc.defs)) {\n if (def) {\n for (const ref of defRefs(def)) {\n const [nsid] = ref.split('#', 1)\n if (nsid) yield NSID.from(nsid)\n }\n }\n }\n } catch (cause) {\n throw new Error(`Failed to extract refs from lexicon ${doc.id}`, { cause })\n }\n}\n\nfunction* defRefs(\n def:\n | MainLexiconDefinition\n | NamedLexiconDefinition\n | LexiconPermission\n | LexiconUnknown\n | LexiconParameters\n | LexiconRef\n | LexiconRefUnion,\n): Iterable<string> {\n switch (def.type) {\n case 'string':\n if (def.knownValues) {\n for (const val of def.knownValues) {\n // Tokens ?\n const { length, 0: nsid, 1: hash } = val.split('#')\n if (length === 2 && hash) {\n try {\n NSID.from(nsid)\n yield val\n } catch {\n // ignore invalid nsid\n }\n }\n }\n }\n return\n case 'array':\n return yield* defRefs(def.items)\n case 'params':\n case 'object':\n for (const prop of Object.values(def.properties)) {\n yield* defRefs(prop)\n }\n return\n case 'union':\n yield* def.refs\n return\n case 'ref': {\n yield def.ref\n return\n }\n case 'record':\n yield* defRefs(def.record)\n return\n case 'procedure':\n if (def.input?.schema) {\n yield* defRefs(def.input.schema)\n }\n // fallthrough\n case 'query':\n if (def.output?.schema) {\n yield* defRefs(def.output.schema)\n }\n // fallthrough\n case 'subscription':\n if (def.parameters) {\n yield* defRefs(def.parameters)\n }\n if ('message' in def && def.message?.schema) {\n yield* defRefs(def.message.schema)\n }\n return\n case 'permission-set':\n for (const permission of def.permissions) {\n yield* defRefs(permission)\n }\n return\n case 'permission':\n if (def.resource === 'rpc') {\n if (Array.isArray(def.lxm)) {\n for (const lxm of def.lxm) {\n if (typeof lxm === 'string') {\n yield lxm\n }\n }\n }\n } else if (def.resource === 'repo') {\n if (Array.isArray(def.collection)) {\n for (const lxm of def.collection) {\n if (typeof lxm === 'string') {\n yield lxm\n }\n }\n }\n }\n return\n case 'boolean':\n case 'cid-link':\n case 'token':\n case 'bytes':\n case 'blob':\n case 'integer':\n case 'unknown':\n // @NOTE We explicitly list all types here to ensure exhaustiveness\n // causing TS to error if a new type is added without updating this switch\n return\n default:\n // @ts-expect-error\n throw new Error(`Unknown lexicon def type: ${def.type}`)\n }\n}\n"]}
|
|
@@ -1,31 +1,20 @@
|
|
|
1
1
|
import { l } from '@atproto/lex-schema';
|
|
2
2
|
export declare const lexiconsManifestSchema: l.ObjectSchema<{
|
|
3
3
|
readonly version: l.LiteralSchema<1>;
|
|
4
|
-
readonly lexicons: l.ArraySchema
|
|
4
|
+
readonly lexicons: l.ArraySchema<l.StringSchema<{
|
|
5
|
+
readonly format: "nsid";
|
|
6
|
+
}>>;
|
|
5
7
|
readonly resolutions: l.DictSchema<l.StringSchema<{
|
|
6
8
|
readonly format: "nsid";
|
|
7
9
|
}>, l.ObjectSchema<{
|
|
8
|
-
readonly cid: l.StringSchema<{
|
|
9
|
-
readonly format: "cid";
|
|
10
|
-
}>;
|
|
11
10
|
readonly uri: l.StringSchema<{
|
|
12
11
|
readonly format: "at-uri";
|
|
13
12
|
}>;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
uri: `at://did:${string}:${string}/${string}.${string}.${string}/${string}` | `at://${string}.${string}/${string}.${string}.${string}/${string}`;
|
|
18
|
-
cid: string;
|
|
13
|
+
readonly cid: l.StringSchema<{
|
|
14
|
+
readonly format: "cid";
|
|
15
|
+
}>;
|
|
19
16
|
}>>;
|
|
20
|
-
}, {
|
|
21
|
-
readonly required: readonly ["version", "lexicons", "resolutions"];
|
|
22
|
-
}, {
|
|
23
|
-
version: 1;
|
|
24
|
-
lexicons: `${string}.${string}.${string}`[];
|
|
25
|
-
resolutions: Record<`${string}.${string}.${string}`, {
|
|
26
|
-
uri: `at://did:${string}:${string}/${string}.${string}.${string}/${string}` | `at://${string}.${string}/${string}.${string}.${string}/${string}`;
|
|
27
|
-
cid: string;
|
|
28
|
-
}>;
|
|
29
17
|
}>;
|
|
30
18
|
export type LexiconsManifest = l.Infer<typeof lexiconsManifestSchema>;
|
|
19
|
+
export declare function normalizeLexiconsManifest(manifest: LexiconsManifest): LexiconsManifest;
|
|
31
20
|
//# sourceMappingURL=lexicons-manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicons-manifest.d.ts","sourceRoot":"","sources":["../src/lexicons-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAA;AAEvC,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"lexicons-manifest.d.ts","sourceRoot":"","sources":["../src/lexicons-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAA;AAEvC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAUjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,gBAAgB,GACzB,gBAAgB,CAYlB"}
|
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.lexiconsManifestSchema = void 0;
|
|
4
|
+
exports.normalizeLexiconsManifest = normalizeLexiconsManifest;
|
|
4
5
|
const lex_schema_1 = require("@atproto/lex-schema");
|
|
5
6
|
exports.lexiconsManifestSchema = lex_schema_1.l.object({
|
|
6
7
|
version: lex_schema_1.l.literal(1),
|
|
7
8
|
lexicons: lex_schema_1.l.array(lex_schema_1.l.string({ format: 'nsid' })),
|
|
8
9
|
resolutions: lex_schema_1.l.dict(lex_schema_1.l.string({ format: 'nsid' }), lex_schema_1.l.object({
|
|
9
|
-
cid: lex_schema_1.l.string({ format: 'cid' }),
|
|
10
10
|
uri: lex_schema_1.l.string({ format: 'at-uri' }),
|
|
11
|
-
|
|
12
|
-
required: ['cid', 'uri'],
|
|
11
|
+
cid: lex_schema_1.l.string({ format: 'cid' }),
|
|
13
12
|
})),
|
|
14
|
-
}
|
|
13
|
+
});
|
|
14
|
+
function normalizeLexiconsManifest(manifest) {
|
|
15
|
+
const normalized = {
|
|
16
|
+
version: manifest.version,
|
|
17
|
+
lexicons: [...manifest.lexicons].sort(),
|
|
18
|
+
resolutions: Object.fromEntries(Object.entries(manifest.resolutions)
|
|
19
|
+
.sort(compareObjectEntriesFn)
|
|
20
|
+
.map(([k, { uri, cid }]) => [k, { uri, cid }])),
|
|
21
|
+
};
|
|
22
|
+
// For good measure:
|
|
23
|
+
return exports.lexiconsManifestSchema.parse(normalized);
|
|
24
|
+
}
|
|
25
|
+
function compareObjectEntriesFn(a, b) {
|
|
26
|
+
return a[0] > b[0] ? 1 : a[0] < b[0] ? -1 : 0;
|
|
27
|
+
}
|
|
15
28
|
//# sourceMappingURL=lexicons-manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicons-manifest.js","sourceRoot":"","sources":["../src/lexicons-manifest.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lexicons-manifest.js","sourceRoot":"","sources":["../src/lexicons-manifest.ts"],"names":[],"mappings":";;;AAgBA,8DAcC;AA9BD,oDAAuC;AAE1B,QAAA,sBAAsB,GAAG,cAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,cAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,cAAC,CAAC,KAAK,CAAC,cAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,WAAW,EAAE,cAAC,CAAC,IAAI,CACjB,cAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAC5B,cAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,cAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnC,GAAG,EAAE,cAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KACjC,CAAC,CACH;CACF,CAAC,CAAA;AAIF,SAAgB,yBAAyB,CACvC,QAA0B;IAE1B,MAAM,UAAU,GAAqB;QACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;aACjC,IAAI,CAAC,sBAAsB,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CACjD;KACF,CAAA;IACD,oBAAoB;IACpB,OAAO,8BAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,sBAAsB,CAC7B,CAAoB,EACpB,CAAoB;IAEpB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC","sourcesContent":["import { l } from '@atproto/lex-schema'\n\nexport const lexiconsManifestSchema = l.object({\n version: l.literal(1),\n lexicons: l.array(l.string({ format: 'nsid' })),\n resolutions: l.dict(\n l.string({ format: 'nsid' }),\n l.object({\n uri: l.string({ format: 'at-uri' }),\n cid: l.string({ format: 'cid' }),\n }),\n ),\n})\n\nexport type LexiconsManifest = l.Infer<typeof lexiconsManifestSchema>\n\nexport function normalizeLexiconsManifest(\n manifest: LexiconsManifest,\n): LexiconsManifest {\n const normalized: LexiconsManifest = {\n version: manifest.version,\n lexicons: [...manifest.lexicons].sort(),\n resolutions: Object.fromEntries(\n Object.entries(manifest.resolutions)\n .sort(compareObjectEntriesFn)\n .map(([k, { uri, cid }]) => [k, { uri, cid }]),\n ),\n }\n // For good measure:\n return lexiconsManifestSchema.parse(normalized)\n}\n\nfunction compareObjectEntriesFn(\n a: [string, unknown],\n b: [string, unknown],\n): number {\n return a[0] > b[0] ? 1 : a[0] < b[0] ? -1 : 0\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/lex-installer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Lexicon document packet manager for AT Lexicons",
|
|
6
6
|
"keywords": [
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"./src",
|
|
20
|
-
"./
|
|
20
|
+
"./tsconfig.build.json",
|
|
21
|
+
"./tsconfig.tests.json",
|
|
22
|
+
"./tsconfig.json",
|
|
23
|
+
"./dist",
|
|
24
|
+
"./CHANGELOG.md"
|
|
21
25
|
],
|
|
22
26
|
"sideEffects": false,
|
|
23
27
|
"type": "commonjs",
|
|
@@ -33,13 +37,13 @@
|
|
|
33
37
|
},
|
|
34
38
|
"dependencies": {
|
|
35
39
|
"tslib": "^2.8.1",
|
|
36
|
-
"@atproto/lex-builder": "0.0.
|
|
37
|
-
"@atproto/lex-cbor": "0.0.
|
|
38
|
-
"@atproto/lex-data": "0.0.
|
|
39
|
-
"@atproto/lex-document": "0.0.
|
|
40
|
-
"@atproto/lex-resolver": "0.0.
|
|
41
|
-
"@atproto/lex-schema": "0.0.
|
|
42
|
-
"@atproto/syntax": "0.4.
|
|
40
|
+
"@atproto/lex-builder": "0.0.6",
|
|
41
|
+
"@atproto/lex-cbor": "0.0.3",
|
|
42
|
+
"@atproto/lex-data": "0.0.3",
|
|
43
|
+
"@atproto/lex-document": "0.0.5",
|
|
44
|
+
"@atproto/lex-resolver": "0.0.5",
|
|
45
|
+
"@atproto/lex-schema": "0.0.4",
|
|
46
|
+
"@atproto/syntax": "0.4.2"
|
|
43
47
|
},
|
|
44
48
|
"devDependencies": {
|
|
45
49
|
"jest": "^28.1.2"
|
package/src/index.ts
CHANGED
|
@@ -30,7 +30,7 @@ export async function install(options: LexInstallOptions) {
|
|
|
30
30
|
await installer.install({ additions, manifest })
|
|
31
31
|
|
|
32
32
|
// Verify lockfile
|
|
33
|
-
if (options.ci && (!manifest || !installer.
|
|
33
|
+
if (options.ci && (!manifest || !installer.equals(manifest))) {
|
|
34
34
|
throw new Error('Lexicons manifest is out of date')
|
|
35
35
|
}
|
|
36
36
|
|
package/src/lex-installer.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { join } from 'node:path'
|
|
2
2
|
import { LexiconDirectoryIndexer } from '@atproto/lex-builder'
|
|
3
3
|
import { cidForLex } from '@atproto/lex-cbor'
|
|
4
|
-
import { lexEquals } from '@atproto/lex-data'
|
|
4
|
+
import { Cid, lexEquals } from '@atproto/lex-data'
|
|
5
5
|
import {
|
|
6
6
|
LexiconDocument,
|
|
7
7
|
LexiconParameters,
|
|
@@ -13,12 +13,12 @@ import {
|
|
|
13
13
|
NamedLexiconDefinition,
|
|
14
14
|
} from '@atproto/lex-document'
|
|
15
15
|
import { LexResolver, LexResolverOptions } from '@atproto/lex-resolver'
|
|
16
|
-
import {
|
|
16
|
+
import { AtUriString, NsidString } from '@atproto/lex-schema'
|
|
17
17
|
import { AtUri, NSID } from '@atproto/syntax'
|
|
18
18
|
import { isEnoentError, writeJsonFile } from './fs.js'
|
|
19
19
|
import {
|
|
20
20
|
LexiconsManifest,
|
|
21
|
-
|
|
21
|
+
normalizeLexiconsManifest,
|
|
22
22
|
} from './lexicons-manifest.js'
|
|
23
23
|
import { NsidMap } from './nsid-map.js'
|
|
24
24
|
import { NsidSet } from './nsid-set.js'
|
|
@@ -50,8 +50,11 @@ export class LexInstaller implements AsyncDisposable {
|
|
|
50
50
|
await this.indexer[Symbol.asyncDispose]()
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
return lexEquals(
|
|
53
|
+
equals(manifest: LexiconsManifest): boolean {
|
|
54
|
+
return lexEquals(
|
|
55
|
+
normalizeLexiconsManifest(manifest),
|
|
56
|
+
normalizeLexiconsManifest(this.manifest),
|
|
57
|
+
)
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
async install({
|
|
@@ -104,7 +107,7 @@ export class LexInstaller implements AsyncDisposable {
|
|
|
104
107
|
Array.from(roots, async ([nsid, sourceUri]) => {
|
|
105
108
|
console.debug(`Installing lexicon: ${nsid}`)
|
|
106
109
|
|
|
107
|
-
const { document } = sourceUri
|
|
110
|
+
const { lexicon: document } = sourceUri
|
|
108
111
|
? await this.installFromUri(sourceUri)
|
|
109
112
|
: await this.installFromNsid(nsid)
|
|
110
113
|
|
|
@@ -154,15 +157,16 @@ export class LexInstaller implements AsyncDisposable {
|
|
|
154
157
|
}
|
|
155
158
|
|
|
156
159
|
protected async installFromUri(uri: AtUri): Promise<{
|
|
157
|
-
|
|
160
|
+
lexicon: LexiconDocument
|
|
158
161
|
uri: AtUri
|
|
159
162
|
}> {
|
|
160
|
-
const
|
|
163
|
+
const { lexicon, cid } = this.options.update
|
|
161
164
|
? await this.fetch(uri)
|
|
162
165
|
: await this.indexer.get(uri.rkey).then(
|
|
163
|
-
(
|
|
166
|
+
async (lexicon) => {
|
|
164
167
|
console.debug(`Re-using existing lexicon ${uri.rkey} from indexer`)
|
|
165
|
-
|
|
168
|
+
const cid = await cidForLex(lexicon)
|
|
169
|
+
return { cid, lexicon }
|
|
166
170
|
},
|
|
167
171
|
(err) => {
|
|
168
172
|
if (isEnoentError(err)) return this.fetch(uri)
|
|
@@ -170,40 +174,32 @@ export class LexInstaller implements AsyncDisposable {
|
|
|
170
174
|
},
|
|
171
175
|
)
|
|
172
176
|
|
|
173
|
-
this.documents.set(NSID.from(
|
|
174
|
-
this.manifest.resolutions[
|
|
175
|
-
cid:
|
|
177
|
+
this.documents.set(NSID.from(lexicon.id), lexicon)
|
|
178
|
+
this.manifest.resolutions[lexicon.id] = {
|
|
179
|
+
cid: cid.toString(),
|
|
176
180
|
uri: uri.toString() as AtUriString,
|
|
177
181
|
}
|
|
178
182
|
|
|
179
|
-
return {
|
|
183
|
+
return { lexicon, uri }
|
|
180
184
|
}
|
|
181
185
|
|
|
182
|
-
async fetch(uri: AtUri): Promise<LexiconDocument> {
|
|
186
|
+
async fetch(uri: AtUri): Promise<{ lexicon: LexiconDocument; cid: Cid }> {
|
|
183
187
|
console.debug(`Fetching lexicon from ${uri}...`)
|
|
184
188
|
|
|
185
|
-
const
|
|
189
|
+
const { lexicon, cid } = await this.lexiconResolver.fetch(uri, {
|
|
186
190
|
noCache: this.options.update,
|
|
187
191
|
})
|
|
188
192
|
|
|
189
|
-
const basePath = join(this.options.lexicons, ...
|
|
190
|
-
await writeJsonFile(`${basePath}.json`,
|
|
193
|
+
const basePath = join(this.options.lexicons, ...lexicon.id.split('.'))
|
|
194
|
+
await writeJsonFile(`${basePath}.json`, lexicon)
|
|
191
195
|
|
|
192
|
-
return
|
|
196
|
+
return { lexicon, cid }
|
|
193
197
|
}
|
|
194
198
|
|
|
195
199
|
async save(): Promise<void> {
|
|
196
200
|
await writeJsonFile(
|
|
197
201
|
this.options.manifest,
|
|
198
|
-
|
|
199
|
-
version: 1,
|
|
200
|
-
lexicons: [...this.manifest.lexicons].sort(),
|
|
201
|
-
resolutions: Object.fromEntries(
|
|
202
|
-
Object.entries(this.manifest.resolutions).sort(([a], [b]) =>
|
|
203
|
-
a > b ? 1 : -1,
|
|
204
|
-
),
|
|
205
|
-
),
|
|
206
|
-
}),
|
|
202
|
+
normalizeLexiconsManifest(this.manifest),
|
|
207
203
|
)
|
|
208
204
|
}
|
|
209
205
|
}
|
package/src/lexicons-manifest.ts
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
import { l } from '@atproto/lex-schema'
|
|
2
2
|
|
|
3
|
-
export const lexiconsManifestSchema = l.object(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
l.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
{
|
|
15
|
-
required: ['cid', 'uri'],
|
|
16
|
-
},
|
|
17
|
-
),
|
|
18
|
-
),
|
|
19
|
-
},
|
|
20
|
-
{ required: ['version', 'lexicons', 'resolutions'] },
|
|
21
|
-
)
|
|
3
|
+
export const lexiconsManifestSchema = l.object({
|
|
4
|
+
version: l.literal(1),
|
|
5
|
+
lexicons: l.array(l.string({ format: 'nsid' })),
|
|
6
|
+
resolutions: l.dict(
|
|
7
|
+
l.string({ format: 'nsid' }),
|
|
8
|
+
l.object({
|
|
9
|
+
uri: l.string({ format: 'at-uri' }),
|
|
10
|
+
cid: l.string({ format: 'cid' }),
|
|
11
|
+
}),
|
|
12
|
+
),
|
|
13
|
+
})
|
|
22
14
|
|
|
23
15
|
export type LexiconsManifest = l.Infer<typeof lexiconsManifestSchema>
|
|
16
|
+
|
|
17
|
+
export function normalizeLexiconsManifest(
|
|
18
|
+
manifest: LexiconsManifest,
|
|
19
|
+
): LexiconsManifest {
|
|
20
|
+
const normalized: LexiconsManifest = {
|
|
21
|
+
version: manifest.version,
|
|
22
|
+
lexicons: [...manifest.lexicons].sort(),
|
|
23
|
+
resolutions: Object.fromEntries(
|
|
24
|
+
Object.entries(manifest.resolutions)
|
|
25
|
+
.sort(compareObjectEntriesFn)
|
|
26
|
+
.map(([k, { uri, cid }]) => [k, { uri, cid }]),
|
|
27
|
+
),
|
|
28
|
+
}
|
|
29
|
+
// For good measure:
|
|
30
|
+
return lexiconsManifestSchema.parse(normalized)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function compareObjectEntriesFn(
|
|
34
|
+
a: [string, unknown],
|
|
35
|
+
b: [string, unknown],
|
|
36
|
+
): number {
|
|
37
|
+
return a[0] > b[0] ? 1 : a[0] < b[0] ? -1 : 0
|
|
38
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["../../../tsconfig/node.json"],
|
|
3
|
+
"include": ["./src"],
|
|
4
|
+
"exclude": ["**/*.test.ts"],
|
|
5
|
+
"compilerOptions": {
|
|
6
|
+
"noImplicitAny": true,
|
|
7
|
+
"importHelpers": true,
|
|
8
|
+
"target": "ES2023",
|
|
9
|
+
"rootDir": "./src",
|
|
10
|
+
"outDir": "./dist",
|
|
11
|
+
"types": ["node"]
|
|
12
|
+
}
|
|
13
|
+
}
|
package/tsconfig.json
ADDED