@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.
@@ -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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"}
@@ -31,8 +31,8 @@ class LexInstaller {
31
31
  async [Symbol.asyncDispose]() {
32
32
  await this.indexer[Symbol.asyncDispose]();
33
33
  }
34
- matches(manifest) {
35
- return (0, lex_data_1.lexEquals)(this.manifest, manifest);
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 document = this.options.update
107
+ const { lexicon, cid } = this.options.update
108
108
  ? await this.fetch(uri)
109
- : await this.indexer.get(uri.rkey).then((document) => {
109
+ : await this.indexer.get(uri.rkey).then(async (lexicon) => {
110
110
  console.debug(`Re-using existing lexicon ${uri.rkey} from indexer`);
111
- return document;
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(document.id), document);
118
- this.manifest.resolutions[document.id] = {
119
- cid: (await (0, lex_cbor_1.cidForLex)(document)).toString(),
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 { document, uri };
123
+ return { lexicon, uri };
123
124
  }
124
125
  async fetch(uri) {
125
126
  console.debug(`Fetching lexicon from ${uri}...`);
126
- const document = await this.lexiconResolver.fetch(uri, {
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, ...document.id.split('.'));
130
- await (0, fs_js_1.writeJsonFile)(`${basePath}.json`, document);
131
- return document;
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.lexiconsManifestSchema.parse({
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<`${string}.${string}.${string}`>;
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
- readonly required: readonly ["cid", "uri"];
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;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBlC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
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
- }, { required: ['version', 'lexicons', 'resolutions'] });
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":";;;AAAA,oDAAuC;AAE1B,QAAA,sBAAsB,GAAG,cAAC,CAAC,MAAM,CAC5C;IACE,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,CACN;QACE,GAAG,EAAE,cAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAChC,GAAG,EAAE,cAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACpC,EACD;QACE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;KACzB,CACF,CACF;CACF,EACD,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,CACrD,CAAA","sourcesContent":["import { l } from '@atproto/lex-schema'\n\nexport const lexiconsManifestSchema = l.object(\n {\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 {\n cid: l.string({ format: 'cid' }),\n uri: l.string({ format: 'at-uri' }),\n },\n {\n required: ['cid', 'uri'],\n },\n ),\n ),\n },\n { required: ['version', 'lexicons', 'resolutions'] },\n)\n\nexport type LexiconsManifest = l.Infer<typeof lexiconsManifestSchema>\n"]}
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.4",
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
- "./dist"
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.4",
37
- "@atproto/lex-cbor": "0.0.1",
38
- "@atproto/lex-data": "0.0.1",
39
- "@atproto/lex-document": "0.0.3",
40
- "@atproto/lex-resolver": "0.0.3",
41
- "@atproto/lex-schema": "0.0.2",
42
- "@atproto/syntax": "0.4.1"
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.matches(manifest))) {
33
+ if (options.ci && (!manifest || !installer.equals(manifest))) {
34
34
  throw new Error('Lexicons manifest is out of date')
35
35
  }
36
36
 
@@ -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 { AtUri as AtUriString, Nsid as NsidString } from '@atproto/lex-schema'
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
- lexiconsManifestSchema,
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
- matches(manifest: LexiconsManifest): boolean {
54
- return lexEquals(this.manifest, manifest)
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
- document: LexiconDocument
160
+ lexicon: LexiconDocument
158
161
  uri: AtUri
159
162
  }> {
160
- const document = this.options.update
163
+ const { lexicon, cid } = this.options.update
161
164
  ? await this.fetch(uri)
162
165
  : await this.indexer.get(uri.rkey).then(
163
- (document) => {
166
+ async (lexicon) => {
164
167
  console.debug(`Re-using existing lexicon ${uri.rkey} from indexer`)
165
- return document
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(document.id), document)
174
- this.manifest.resolutions[document.id] = {
175
- cid: (await cidForLex(document)).toString(),
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 { document, uri }
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 document = await this.lexiconResolver.fetch(uri, {
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, ...document.id.split('.'))
190
- await writeJsonFile(`${basePath}.json`, document)
193
+ const basePath = join(this.options.lexicons, ...lexicon.id.split('.'))
194
+ await writeJsonFile(`${basePath}.json`, lexicon)
191
195
 
192
- return document
196
+ return { lexicon, cid }
193
197
  }
194
198
 
195
199
  async save(): Promise<void> {
196
200
  await writeJsonFile(
197
201
  this.options.manifest,
198
- lexiconsManifestSchema.parse({
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
  }
@@ -1,23 +1,38 @@
1
1
  import { l } from '@atproto/lex-schema'
2
2
 
3
- export const lexiconsManifestSchema = l.object(
4
- {
5
- version: l.literal(1),
6
- lexicons: l.array(l.string({ format: 'nsid' })),
7
- resolutions: l.dict(
8
- l.string({ format: 'nsid' }),
9
- l.object(
10
- {
11
- cid: l.string({ format: 'cid' }),
12
- uri: l.string({ format: 'at-uri' }),
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
@@ -0,0 +1,7 @@
1
+ {
2
+ "include": [],
3
+ "references": [
4
+ { "path": "./tsconfig.build.json" },
5
+ { "path": "./tsconfig.tests.json" }
6
+ ]
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../../tsconfig/tests.json",
3
+ "include": ["./tests", "./src/**.test.ts"],
4
+ "compilerOptions": {
5
+ "noImplicitAny": true,
6
+ "rootDir": "./",
7
+ "baseUrl": "./"
8
+ }
9
+ }