@atproto/lex-builder 0.0.3 → 0.0.5

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":"filtered-indexer.d.ts","sourceRoot":"","sources":["../src/filtered-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filtered-indexer.d.ts","sourceRoot":"","sources":["../src/filtered-indexer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { LexBuilderLoadOptions, LexBuilderSaveOptions } from './lex-builder.js';
1
+ import { LexBuilderLoadOptions, LexBuilderOptions, LexBuilderSaveOptions } from './lex-builder.js';
2
2
  export * from './lex-builder.js';
3
3
  export * from './lexicon-directory-indexer.js';
4
- export type TsProjectBuildOptions = LexBuilderLoadOptions & LexBuilderSaveOptions;
4
+ export type TsProjectBuildOptions = LexBuilderOptions & LexBuilderLoadOptions & LexBuilderSaveOptions;
5
5
  export declare function build(options: TsProjectBuildOptions): Promise<void>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AAEzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAE9C,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,GACvD,qBAAqB,CAAA;AAEvB,wBAAsB,KAAK,CAAC,OAAO,EAAE,qBAAqB,iBAIzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AAEzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAE9C,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GACnD,qBAAqB,GACrB,qBAAqB,CAAA;AAEvB,wBAAsB,KAAK,CAAC,OAAO,EAAE,qBAAqB,iBAIzD"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ const lex_builder_js_1 = require("./lex-builder.js");
6
6
  tslib_1.__exportStar(require("./lex-builder.js"), exports);
7
7
  tslib_1.__exportStar(require("./lexicon-directory-indexer.js"), exports);
8
8
  async function build(options) {
9
- const builder = new lex_builder_js_1.LexBuilder();
9
+ const builder = new lex_builder_js_1.LexBuilder(options);
10
10
  await builder.load(options);
11
11
  await builder.save(options);
12
12
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAYA,sBAIC;;AAhBD,qDAIyB;AAEzB,2DAAgC;AAChC,yEAA8C;AAKvC,KAAK,UAAU,KAAK,CAAC,OAA8B;IACxD,MAAM,OAAO,GAAG,IAAI,2BAAU,EAAE,CAAA;IAChC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC","sourcesContent":["import {\n LexBuilder,\n LexBuilderLoadOptions,\n LexBuilderSaveOptions,\n} from './lex-builder.js'\n\nexport * from './lex-builder.js'\nexport * from './lexicon-directory-indexer.js'\n\nexport type TsProjectBuildOptions = LexBuilderLoadOptions &\n LexBuilderSaveOptions\n\nexport async function build(options: TsProjectBuildOptions) {\n const builder = new LexBuilder()\n await builder.load(options)\n await builder.save(options)\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAcA,sBAIC;;AAlBD,qDAKyB;AAEzB,2DAAgC;AAChC,yEAA8C;AAMvC,KAAK,UAAU,KAAK,CAAC,OAA8B;IACxD,MAAM,OAAO,GAAG,IAAI,2BAAU,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC","sourcesContent":["import {\n LexBuilder,\n LexBuilderLoadOptions,\n LexBuilderOptions,\n LexBuilderSaveOptions,\n} from './lex-builder.js'\n\nexport * from './lex-builder.js'\nexport * from './lexicon-directory-indexer.js'\n\nexport type TsProjectBuildOptions = LexBuilderOptions &\n LexBuilderLoadOptions &\n LexBuilderSaveOptions\n\nexport async function build(options: TsProjectBuildOptions) {\n const builder = new LexBuilder(options)\n await builder.load(options)\n await builder.save(options)\n}\n"]}
@@ -2,7 +2,11 @@ import { BuildFilterOptions } from './filter.js';
2
2
  import { FormatterOptions } from './formatter.js';
3
3
  import { LexDefBuilderOptions } from './lex-def-builder.js';
4
4
  import { LexiconDirectoryIndexerOptions } from './lexicon-directory-indexer.js';
5
- export type LexBuilderLoadOptions = LexDefBuilderOptions & LexiconDirectoryIndexerOptions & BuildFilterOptions;
5
+ export type LexBuilderOptions = LexDefBuilderOptions & {
6
+ importExt?: string;
7
+ fileExt?: string;
8
+ };
9
+ export type LexBuilderLoadOptions = LexiconDirectoryIndexerOptions & BuildFilterOptions;
6
10
  export type LexBuilderSaveOptions = FormatterOptions & {
7
11
  out: string;
8
12
  clear?: boolean;
@@ -10,6 +14,10 @@ export type LexBuilderSaveOptions = FormatterOptions & {
10
14
  };
11
15
  export declare class LexBuilder {
12
16
  #private;
17
+ private readonly options;
18
+ constructor(options?: LexBuilderOptions);
19
+ get fileExt(): string;
20
+ get importExt(): string;
13
21
  load(options: LexBuilderLoadOptions): Promise<void>;
14
22
  save(options: LexBuilderSaveOptions): Promise<void>;
15
23
  private createFile;
@@ -1 +1 @@
1
- {"version":3,"file":"lex-builder.d.ts","sourceRoot":"","sources":["../src/lex-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAA;AAE7D,OAAO,EAAa,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAiB,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAEL,8BAA8B,EAC/B,MAAM,gCAAgC,CAAA;AAGvC,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GACtD,8BAA8B,GAC9B,kBAAkB,CAAA;AAEpB,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,UAAU;;IAOR,IAAI,CAAC,OAAO,EAAE,qBAAqB;IAkBnC,IAAI,CAAC,OAAO,EAAE,qBAAqB;IA4BhD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;YAID,gBAAgB;YA0ChB,cAAc;CAW7B"}
1
+ {"version":3,"file":"lex-builder.d.ts","sourceRoot":"","sources":["../src/lex-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAA;AAE7D,OAAO,EAAa,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAiB,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAEL,8BAA8B,EAC/B,MAAM,gCAAgC,CAAA;AAGvC,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IACrD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,8BAA8B,GAChE,kBAAkB,CAAA;AAEpB,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,UAAU;;IAOT,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,iBAAsB;IAE5D,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,WAEZ;IAEY,IAAI,CAAC,OAAO,EAAE,qBAAqB;IAkBnC,IAAI,CAAC,OAAO,EAAE,qBAAqB;IA4BhD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;YAID,gBAAgB;YA0ChB,cAAc;CAU7B"}
@@ -12,11 +12,21 @@ const lex_def_builder_js_1 = require("./lex-def-builder.js");
12
12
  const lexicon_directory_indexer_js_1 = require("./lexicon-directory-indexer.js");
13
13
  const ts_lang_js_1 = require("./ts-lang.js");
14
14
  class LexBuilder {
15
+ options;
15
16
  #imported = new Set();
16
17
  #project = new ts_morph_1.Project({
17
18
  useInMemoryFileSystem: true,
18
19
  manipulationSettings: { indentationText: ts_morph_1.IndentationText.TwoSpaces },
19
20
  });
21
+ constructor(options = {}) {
22
+ this.options = options;
23
+ }
24
+ get fileExt() {
25
+ return this.options.fileExt ?? '.ts';
26
+ }
27
+ get importExt() {
28
+ return this.options.importExt ?? '.js';
29
+ }
20
30
  async load(options) {
21
31
  const env_1 = { stack: [], error: void 0, hasError: false };
22
32
  try {
@@ -28,7 +38,7 @@ class LexBuilder {
28
38
  else {
29
39
  throw new Error(`Duplicate lexicon document id: ${doc.id}`);
30
40
  }
31
- await this.createDefsFile(doc, indexer, options);
41
+ await this.createDefsFile(doc, indexer);
32
42
  await this.createExportTree(doc);
33
43
  }
34
44
  }
@@ -73,8 +83,8 @@ class LexBuilder {
73
83
  const currentNs = namespaces[i];
74
84
  const childNs = namespaces[i + 1];
75
85
  const path = (0, node_path_1.join)('/', ...namespaces.slice(0, i + 1));
76
- const file = this.getFile(`${path}.ts`);
77
- const childModuleSpecifier = `./${currentNs}/${childNs}.js`;
86
+ const file = this.getFile(`${path}${this.fileExt}`);
87
+ const childModuleSpecifier = `./${currentNs}/${childNs}${this.importExt}`;
78
88
  const dec = file.getExportDeclaration(childModuleSpecifier);
79
89
  if (!dec) {
80
90
  file.addExportDeclaration({
@@ -87,24 +97,24 @@ class LexBuilder {
87
97
  }
88
98
  // The child file exports the schemas (as *)
89
99
  const path = (0, node_path_1.join)('/', ...namespaces);
90
- const file = this.getFile(`${path}.ts`);
100
+ const file = this.getFile(`${path}${this.fileExt}`);
91
101
  file.addExportDeclaration({
92
- moduleSpecifier: `./${namespaces.at(-1)}.defs.js`,
102
+ moduleSpecifier: `./${namespaces.at(-1)}.defs${this.importExt}`,
93
103
  });
94
104
  // @NOTE Individual exports exports from the defs file might conflict with
95
105
  // child namespaces. For this reason, we also add a namespace export for the
96
- // defs (export * as $defs from './xyz.defs.js'). This is an escape hatch
106
+ // defs (export * as $defs from './xyz.defs'). This is an escape hatch
97
107
  // allowing to still access the definitions if a hash get shadowed by a
98
108
  // child namespace.
99
109
  file.addExportDeclaration({
100
- moduleSpecifier: `./${namespaces.at(-1)}.defs.js`,
110
+ moduleSpecifier: `./${namespaces.at(-1)}.defs${this.importExt}`,
101
111
  namespaceExport: '$defs',
102
112
  });
103
113
  }
104
- async createDefsFile(doc, indexer, options) {
114
+ async createDefsFile(doc, indexer) {
105
115
  const path = (0, node_path_1.join)('/', ...doc.id.split('.'));
106
- const file = this.createFile(`${path}.defs.ts`);
107
- const fileBuilder = new lex_def_builder_js_1.LexDefBuilder(options, file, doc, indexer);
116
+ const file = this.createFile(`${path}.defs${this.fileExt}`);
117
+ const fileBuilder = new lex_def_builder_js_1.LexDefBuilder(this.options, file, doc, indexer);
108
118
  await fileBuilder.build();
109
119
  }
110
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lex-builder.js","sourceRoot":"","sources":["../src/lex-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdir, rm, stat, writeFile } from 'node:fs/promises'\nimport { join, resolve } from 'node:path'\nimport { IndentationText, Project } from 'ts-morph'\nimport { LexiconDocument, LexiconIndexer } from '@atproto/lex-document'\nimport { BuildFilterOptions, buildFilter } from './filter.js'\nimport { FilteredIndexer } from './filtered-indexer.js'\nimport { Formatter, FormatterOptions } from './formatter.js'\nimport { LexDefBuilder, LexDefBuilderOptions } from './lex-def-builder.js'\nimport {\n LexiconDirectoryIndexer,\n LexiconDirectoryIndexerOptions,\n} from './lexicon-directory-indexer.js'\nimport { isSafeIdentifier } from './ts-lang.js'\n\nexport type LexBuilderLoadOptions = LexDefBuilderOptions &\n LexiconDirectoryIndexerOptions &\n BuildFilterOptions\n\nexport type LexBuilderSaveOptions = FormatterOptions & {\n out: string\n clear?: boolean\n override?: boolean\n}\n\nexport class LexBuilder {\n readonly #imported = new Set<string>()\n readonly #project = new Project({\n useInMemoryFileSystem: true,\n manipulationSettings: { indentationText: IndentationText.TwoSpaces },\n })\n\n public async load(options: LexBuilderLoadOptions) {\n await using indexer = new FilteredIndexer(\n new LexiconDirectoryIndexer(options),\n buildFilter(options),\n )\n\n for await (const doc of indexer) {\n if (!this.#imported.has(doc.id)) {\n this.#imported.add(doc.id)\n } else {\n throw new Error(`Duplicate lexicon document id: ${doc.id}`)\n }\n\n await this.createDefsFile(doc, indexer, options)\n await this.createExportTree(doc)\n }\n }\n\n public async save(options: LexBuilderSaveOptions) {\n const files = this.#project.getSourceFiles()\n\n const destination = resolve(options.out)\n\n if (options.clear) {\n await rm(destination, { recursive: true, force: true })\n } else if (!options.override) {\n await Promise.all(\n files.map(async (f) =>\n assertNotFileExists(join(destination, f.getFilePath())),\n ),\n )\n }\n\n const formatter = new Formatter(options)\n\n await Promise.all(\n Array.from(files, async (file) => {\n const filePath = join(destination, file.getFilePath())\n const content = await formatter.format(file.getFullText())\n await mkdir(join(filePath, '..'), { recursive: true })\n await rm(filePath, { recursive: true, force: true })\n await writeFile(filePath, content, 'utf8')\n }),\n )\n }\n\n private createFile(path: string) {\n return this.#project.createSourceFile(path)\n }\n\n private getFile(path: string) {\n return this.#project.getSourceFile(path) || this.createFile(path)\n }\n\n private async createExportTree(doc: LexiconDocument) {\n const namespaces = doc.id.split('.')\n\n // First create the parent namespaces\n for (let i = 0; i < namespaces.length - 1; i++) {\n const currentNs = namespaces[i]\n const childNs = namespaces[i + 1]\n\n const path = join('/', ...namespaces.slice(0, i + 1))\n const file = this.getFile(`${path}.ts`)\n\n const childModuleSpecifier = `./${currentNs}/${childNs}.js`\n const dec = file.getExportDeclaration(childModuleSpecifier)\n if (!dec) {\n file.addExportDeclaration({\n moduleSpecifier: childModuleSpecifier,\n namespaceExport: isSafeIdentifier(childNs)\n ? childNs\n : JSON.stringify(childNs),\n })\n }\n }\n\n // The child file exports the schemas (as *)\n const path = join('/', ...namespaces)\n const file = this.getFile(`${path}.ts`)\n\n file.addExportDeclaration({\n moduleSpecifier: `./${namespaces.at(-1)}.defs.js`,\n })\n\n // @NOTE Individual exports exports from the defs file might conflict with\n // child namespaces. For this reason, we also add a namespace export for the\n // defs (export * as $defs from './xyz.defs.js'). This is an escape hatch\n // allowing to still access the definitions if a hash get shadowed by a\n // child namespace.\n file.addExportDeclaration({\n moduleSpecifier: `./${namespaces.at(-1)}.defs.js`,\n namespaceExport: '$defs',\n })\n }\n\n private async createDefsFile(\n doc: LexiconDocument,\n indexer: LexiconIndexer,\n options: LexDefBuilderOptions,\n ): Promise<void> {\n const path = join('/', ...doc.id.split('.'))\n const file = this.createFile(`${path}.defs.ts`)\n\n const fileBuilder = new LexDefBuilder(options, file, doc, indexer)\n await fileBuilder.build()\n }\n}\n\nasync function assertNotFileExists(file: string): Promise<void> {\n try {\n await stat(file)\n throw new Error(`File already exists: ${file}`)\n } catch (err) {\n if (err instanceof Error && 'code' in err && err.code === 'ENOENT') return\n throw err\n }\n}\n"]}
1
+ {"version":3,"file":"lex-builder.js","sourceRoot":"","sources":["../src/lex-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import { mkdir, rm, stat, writeFile } from 'node:fs/promises'\nimport { join, resolve } from 'node:path'\nimport { IndentationText, Project } from 'ts-morph'\nimport { LexiconDocument, LexiconIndexer } from '@atproto/lex-document'\nimport { BuildFilterOptions, buildFilter } from './filter.js'\nimport { FilteredIndexer } from './filtered-indexer.js'\nimport { Formatter, FormatterOptions } from './formatter.js'\nimport { LexDefBuilder, LexDefBuilderOptions } from './lex-def-builder.js'\nimport {\n LexiconDirectoryIndexer,\n LexiconDirectoryIndexerOptions,\n} from './lexicon-directory-indexer.js'\nimport { isSafeIdentifier } from './ts-lang.js'\n\nexport type LexBuilderOptions = LexDefBuilderOptions & {\n importExt?: string\n fileExt?: string\n}\n\nexport type LexBuilderLoadOptions = LexiconDirectoryIndexerOptions &\n BuildFilterOptions\n\nexport type LexBuilderSaveOptions = FormatterOptions & {\n out: string\n clear?: boolean\n override?: boolean\n}\n\nexport class LexBuilder {\n readonly #imported = new Set<string>()\n readonly #project = new Project({\n useInMemoryFileSystem: true,\n manipulationSettings: { indentationText: IndentationText.TwoSpaces },\n })\n\n constructor(private readonly options: LexBuilderOptions = {}) {}\n\n get fileExt() {\n return this.options.fileExt ?? '.ts'\n }\n\n get importExt() {\n return this.options.importExt ?? '.js'\n }\n\n public async load(options: LexBuilderLoadOptions) {\n await using indexer = new FilteredIndexer(\n new LexiconDirectoryIndexer(options),\n buildFilter(options),\n )\n\n for await (const doc of indexer) {\n if (!this.#imported.has(doc.id)) {\n this.#imported.add(doc.id)\n } else {\n throw new Error(`Duplicate lexicon document id: ${doc.id}`)\n }\n\n await this.createDefsFile(doc, indexer)\n await this.createExportTree(doc)\n }\n }\n\n public async save(options: LexBuilderSaveOptions) {\n const files = this.#project.getSourceFiles()\n\n const destination = resolve(options.out)\n\n if (options.clear) {\n await rm(destination, { recursive: true, force: true })\n } else if (!options.override) {\n await Promise.all(\n files.map(async (f) =>\n assertNotFileExists(join(destination, f.getFilePath())),\n ),\n )\n }\n\n const formatter = new Formatter(options)\n\n await Promise.all(\n Array.from(files, async (file) => {\n const filePath = join(destination, file.getFilePath())\n const content = await formatter.format(file.getFullText())\n await mkdir(join(filePath, '..'), { recursive: true })\n await rm(filePath, { recursive: true, force: true })\n await writeFile(filePath, content, 'utf8')\n }),\n )\n }\n\n private createFile(path: string) {\n return this.#project.createSourceFile(path)\n }\n\n private getFile(path: string) {\n return this.#project.getSourceFile(path) || this.createFile(path)\n }\n\n private async createExportTree(doc: LexiconDocument) {\n const namespaces = doc.id.split('.')\n\n // First create the parent namespaces\n for (let i = 0; i < namespaces.length - 1; i++) {\n const currentNs = namespaces[i]\n const childNs = namespaces[i + 1]\n\n const path = join('/', ...namespaces.slice(0, i + 1))\n const file = this.getFile(`${path}${this.fileExt}`)\n\n const childModuleSpecifier = `./${currentNs}/${childNs}${this.importExt}`\n const dec = file.getExportDeclaration(childModuleSpecifier)\n if (!dec) {\n file.addExportDeclaration({\n moduleSpecifier: childModuleSpecifier,\n namespaceExport: isSafeIdentifier(childNs)\n ? childNs\n : JSON.stringify(childNs),\n })\n }\n }\n\n // The child file exports the schemas (as *)\n const path = join('/', ...namespaces)\n const file = this.getFile(`${path}${this.fileExt}`)\n\n file.addExportDeclaration({\n moduleSpecifier: `./${namespaces.at(-1)}.defs${this.importExt}`,\n })\n\n // @NOTE Individual exports exports from the defs file might conflict with\n // child namespaces. For this reason, we also add a namespace export for the\n // defs (export * as $defs from './xyz.defs'). This is an escape hatch\n // allowing to still access the definitions if a hash get shadowed by a\n // child namespace.\n file.addExportDeclaration({\n moduleSpecifier: `./${namespaces.at(-1)}.defs${this.importExt}`,\n namespaceExport: '$defs',\n })\n }\n\n private async createDefsFile(\n doc: LexiconDocument,\n indexer: LexiconIndexer,\n ): Promise<void> {\n const path = join('/', ...doc.id.split('.'))\n const file = this.createFile(`${path}.defs${this.fileExt}`)\n\n const fileBuilder = new LexDefBuilder(this.options, file, doc, indexer)\n await fileBuilder.build()\n }\n}\n\nasync function assertNotFileExists(file: string): Promise<void> {\n try {\n await stat(file)\n throw new Error(`File already exists: ${file}`)\n } catch (err) {\n if (err instanceof Error && 'code' in err && err.code === 'ENOENT') return\n throw err\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { SourceFile } from 'ts-morph';
2
2
  import { LexiconDocument, LexiconIndexer } from '@atproto/lex-document';
3
- export type LexDefBuilderOptions = {
3
+ import { RefResolverOptions } from './ref-resolver.js';
4
+ export type LexDefBuilderOptions = RefResolverOptions & {
4
5
  lib?: string;
5
6
  allowLegacyBlobs?: boolean;
6
7
  pureAnnotations?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"lex-def-builder.d.ts","sourceRoot":"","sources":["../src/lex-def-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA2B,MAAM,UAAU,CAAA;AAC9D,OAAO,EAOL,eAAe,EAEf,cAAc,EAef,MAAM,uBAAuB,CAAA;AAS9B,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAGtB,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,eAAe,EACrC,OAAO,EAAE,cAAc;IAKzB,OAAO,CAAC,IAAI;IAIN,KAAK;IAyBX,OAAO,CAAC,QAAQ;YAgBF,MAAM;YA8BN,gBAAgB;YAqBhB,YAAY;YAkDZ,QAAQ;YAoCR,eAAe;YAoCf,SAAS;YAsBT,SAAS;YAiBT,QAAQ;YAQR,QAAQ;YAwBR,SAAS;YA2FT,cAAc;YAYd,iBAAiB;YAQjB,mBAAmB;YAYnB,aAAa;YAKb,mBAAmB;YAUnB,wBAAwB;YAkBxB,sBAAsB;YAYtB,0BAA0B;YAS1B,wBAAwB;YAoBxB,sBAAsB;YA8BtB,oBAAoB;YA8BpB,kBAAkB;YAUlB,gBAAgB;YAIhB,oBAAoB;YAIpB,kBAAkB;YAIlB,oBAAoB;YAOpB,kBAAkB;YAKlB,oBAAoB;YAuBpB,kBAAkB;YAOlB,mBAAmB;YAwBnB,iBAAiB;YA+BjB,kBAAkB;YAKlB,gBAAgB;YAIhB,iBAAiB;YAQjB,eAAe;YAMf,oBAAoB;YAKpB,kBAAkB;YAIlB,gBAAgB;YAOhB,cAAc;YAKd,qBAAqB;YAmBrB,mBAAmB;YAWnB,kBAAkB;YAUlB,gBAAgB;YAShB,iBAAiB;YAYjB,eAAe;CAK9B"}
1
+ {"version":3,"file":"lex-def-builder.d.ts","sourceRoot":"","sources":["../src/lex-def-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA2B,MAAM,UAAU,CAAA;AAC9D,OAAO,EAOL,eAAe,EAEf,cAAc,EAef,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAEL,kBAAkB,EAGnB,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAGtB,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,eAAe,EACrC,OAAO,EAAE,cAAc;IAKzB,OAAO,CAAC,IAAI;IAIN,KAAK;IAyBX,OAAO,CAAC,QAAQ;YAgBF,MAAM;YA8BN,gBAAgB;YAsBhB,YAAY;YAkDZ,QAAQ;YAoCR,eAAe;YAoCf,SAAS;YAsBT,SAAS;YAiBT,QAAQ;YAQR,QAAQ;YAuBR,SAAS;YA2FT,cAAc;YAYd,iBAAiB;YAQjB,mBAAmB;YAOnB,aAAa;YAKb,mBAAmB;YAKnB,wBAAwB;YAsBxB,sBAAsB;YAYtB,0BAA0B;YAuB1B,wBAAwB;YAoBxB,sBAAsB;YA8BtB,oBAAoB;YA8BpB,kBAAkB;YASlB,gBAAgB;YAIhB,oBAAoB;YAIpB,kBAAkB;YAIlB,oBAAoB;YASpB,kBAAkB;YAKlB,oBAAoB;YAsBpB,kBAAkB;YAOlB,mBAAmB;YAuBnB,iBAAiB;YA2CjB,kBAAkB;YAQlB,gBAAgB;YAIhB,iBAAiB;YAUjB,eAAe;YAMf,oBAAoB;YAIpB,kBAAkB;YAIlB,gBAAgB;YAOhB,cAAc;YAKd,qBAAqB;YAmBrB,mBAAmB;YAWnB,kBAAkB;YAalB,gBAAgB;YAShB,iBAAiB;YAgBjB,eAAe;CAK9B"}
@@ -19,7 +19,7 @@ class LexDefBuilder {
19
19
  this.options = options;
20
20
  this.file = file;
21
21
  this.doc = doc;
22
- this.refResolver = new ref_resolver_js_1.RefResolver(doc, file, indexer);
22
+ this.refResolver = new ref_resolver_js_1.RefResolver(doc, file, indexer, options);
23
23
  }
24
24
  pure(code) {
25
25
  return this.options.pureAnnotations ? markPure(code) : code;
@@ -89,13 +89,14 @@ class LexDefBuilder {
89
89
  }
90
90
  async addPermissionSet(hash, def) {
91
91
  const permission = def.permissions.map((def) => {
92
- const options = stringifyOptionalOptions(def, ['resource', 'type']);
92
+ const options = stringifyOptions(def, undefined, ['resource', 'type']);
93
93
  return this.pure(`l.permission(${JSON.stringify(def.resource)}, ${options})`);
94
94
  });
95
- const options = stringifyOptionalOptions(def, [
96
- 'type',
97
- 'description',
98
- 'permissions',
95
+ const options = stringifyOptions(def, [
96
+ 'title',
97
+ 'title:lang',
98
+ 'detail',
99
+ 'detail:lang',
99
100
  ]);
100
101
  await this.addSchema(hash, def, {
101
102
  schema: this.pure(`l.permissionSet($nsid, [${permission.join(',')}], ${options})`),
@@ -239,10 +240,9 @@ class LexDefBuilder {
239
240
  // This was not done (yet) as there is no easy way to name it to avoid
240
241
  // collisions.
241
242
  const itemSchema = await this.compileContainedSchema(def.items);
242
- const options = stringifyOptionalOptions(def, [
243
- 'type',
244
- 'description',
245
- 'items',
243
+ const options = stringifyOptions(def, [
244
+ 'minLength',
245
+ 'maxLength',
246
246
  ]);
247
247
  await this.addSchema(hash, def, {
248
248
  type: `(${await this.compileContainedType(def.items)})[]`,
@@ -309,10 +309,10 @@ class LexDefBuilder {
309
309
  if (hash === 'main' && validationUtils) {
310
310
  this.addUtils({
311
311
  $assert: markPure(`${ref.varName}.assert.bind(${ref.varName})`),
312
- $check: markPure(`${ref.varName}.check.bind(${ref.varName})`),
313
- $maybe: markPure(`${ref.varName}.maybe.bind(${ref.varName})`),
312
+ $ifMatches: markPure(`${ref.varName}.ifMatches.bind(${ref.varName})`),
313
+ $matches: markPure(`${ref.varName}.matches.bind(${ref.varName})`),
314
314
  $parse: markPure(`${ref.varName}.parse.bind(${ref.varName})`),
315
- $validate: markPure(`${ref.varName}.validate.bind(${ref.varName})`),
315
+ $safeParse: markPure(`${ref.varName}.safeParse.bind(${ref.varName})`),
316
316
  });
317
317
  }
318
318
  return ref;
@@ -340,12 +340,7 @@ class LexDefBuilder {
340
340
  if (!def)
341
341
  return this.pure(`l.params({})`);
342
342
  const properties = await this.compilePropertiesSchemas(def);
343
- const options = stringifyOptionalOptions(def, [
344
- 'type',
345
- 'description',
346
- 'properties',
347
- ]);
348
- return this.pure(`l.params({${properties.join(',')}}, ${options})`);
343
+ return this.pure(`l.params({${properties.join(',')}})`);
349
344
  }
350
345
  async compileErrors(defs) {
351
346
  if (!defs?.length)
@@ -354,30 +349,38 @@ class LexDefBuilder {
354
349
  }
355
350
  async compileObjectSchema(def) {
356
351
  const properties = await this.compilePropertiesSchemas(def);
357
- const options = stringifyOptionalOptions(def, [
358
- 'type',
359
- 'description',
360
- 'properties',
361
- ]);
362
- return this.pure(`l.object({${properties.join(',')}}, ${options})`);
352
+ return this.pure(`l.object({${properties.join(',')}})`);
363
353
  }
364
354
  async compilePropertiesSchemas(options) {
365
- for (const prop of options.required || []) {
366
- if (!Object.hasOwn(options.properties, prop)) {
367
- throw new Error(`Required property "${prop}" not found in properties`);
355
+ for (const opt of ['required', 'nullable']) {
356
+ if (options[opt]) {
357
+ for (const prop of options[opt]) {
358
+ if (!Object.hasOwn(options.properties, prop)) {
359
+ throw new Error(`No schema found for ${opt} property "${prop}"`);
360
+ }
361
+ }
368
362
  }
369
363
  }
370
- return Promise.all(Object.entries(options.properties).map(this.compilePropertyEntrySchema, this));
364
+ return Promise.all(Object.entries(options.properties).map((entry) => {
365
+ return this.compilePropertyEntrySchema(entry, options);
366
+ }));
371
367
  }
372
368
  async compilePropertiesTypes(options) {
373
369
  return Promise.all(Object.entries(options.properties).map((entry) => {
374
370
  return this.compilePropertyEntryType(entry, options);
375
371
  }));
376
372
  }
377
- async compilePropertyEntrySchema([key, def]) {
378
- const name = JSON.stringify(key);
379
- const schema = await this.compileContainedSchema(def);
380
- return `${name}:${schema}`;
373
+ async compilePropertyEntrySchema([key, def], options) {
374
+ const isNullable = options.nullable?.includes(key);
375
+ const isRequired = options.required?.includes(key);
376
+ let schema = await this.compileContainedSchema(def);
377
+ if (isNullable) {
378
+ schema = this.pure(`l.nullable(${schema})`);
379
+ }
380
+ if (!isRequired) {
381
+ schema = this.pure(`l.optional(${schema})`);
382
+ }
383
+ return `${JSON.stringify(key)}:${schema}`;
381
384
  }
382
385
  async compilePropertyEntryType([key, def], options) {
383
386
  const isNullable = options.nullable?.includes(key);
@@ -445,10 +448,9 @@ class LexDefBuilder {
445
448
  }
446
449
  async compileArraySchema(def) {
447
450
  const itemSchema = await this.compileContainedSchema(def.items);
448
- const options = stringifyOptionalOptions(def, [
449
- 'type',
450
- 'description',
451
- 'items',
451
+ const options = stringifyOptions(def, [
452
+ 'minLength',
453
+ 'maxLength',
452
454
  ]);
453
455
  return this.pure(`l.array(${itemSchema}, ${options})`);
454
456
  }
@@ -464,7 +466,9 @@ class LexDefBuilder {
464
466
  async compileBooleanSchema(def) {
465
467
  if (hasConst(def))
466
468
  return this.compileConstSchema(def);
467
- const options = stringifyOptionalOptions(def, ['type', 'description']);
469
+ const options = stringifyOptions(def, [
470
+ 'default',
471
+ ]);
468
472
  return this.pure(`l.boolean(${options})`);
469
473
  }
470
474
  async compileBooleanType(def) {
@@ -475,19 +479,22 @@ class LexDefBuilder {
475
479
  async compileIntegerSchema(def) {
476
480
  if (hasConst(def)) {
477
481
  const schema = lex_schema_1.l.integer(def);
478
- (0, node_assert_1.default)(schema.check(def.const), `Integer const ${def.const} is out of bounds`);
482
+ schema.assert(def.const);
479
483
  }
480
484
  if (hasEnum(def)) {
481
485
  const schema = lex_schema_1.l.integer(def);
482
- for (const val of def.enum) {
483
- (0, node_assert_1.default)(schema.check(val), `Integer enum value ${val} is out of bounds`);
484
- }
486
+ for (const val of def.enum)
487
+ schema.assert(val);
485
488
  }
486
489
  if (hasConst(def))
487
490
  return this.compileConstSchema(def);
488
491
  if (hasEnum(def))
489
492
  return this.compileEnumSchema(def);
490
- const options = stringifyOptionalOptions(def, ['type', 'description']);
493
+ const options = stringifyOptions(def, [
494
+ 'default',
495
+ 'maximum',
496
+ 'minimum',
497
+ ]);
491
498
  return this.pure(`l.integer(${options})`);
492
499
  }
493
500
  async compileIntegerType(def) {
@@ -500,19 +507,25 @@ class LexDefBuilder {
500
507
  async compileStringSchema(def) {
501
508
  if (hasConst(def)) {
502
509
  const schema = lex_schema_1.l.string(def);
503
- (0, node_assert_1.default)(schema.check(def.const), `String const "${def.const}" does not match format`);
510
+ schema.assert(def.const);
504
511
  }
505
512
  else if (hasEnum(def)) {
506
513
  const schema = lex_schema_1.l.string(def);
507
- for (const val of def.enum) {
508
- (0, node_assert_1.default)(schema.check(val), `String enum value "${val}" does not match format`);
509
- }
514
+ for (const val of def.enum)
515
+ schema.assert(val);
510
516
  }
511
517
  if (hasConst(def))
512
518
  return this.compileConstSchema(def);
513
519
  if (hasEnum(def))
514
520
  return this.compileEnumSchema(def);
515
- const options = stringifyOptionalOptions(def, ['type', 'description']);
521
+ const options = stringifyOptions(def, [
522
+ 'default',
523
+ 'format',
524
+ 'maxGraphemes',
525
+ 'minGraphemes',
526
+ 'maxLength',
527
+ 'minLength',
528
+ ]);
516
529
  return this.pure(`l.string(${options})`);
517
530
  }
518
531
  async compileStringType(def) {
@@ -521,20 +534,32 @@ class LexDefBuilder {
521
534
  if (hasEnum(def))
522
535
  return this.compileEnumType(def);
523
536
  switch (def.format) {
537
+ case undefined:
538
+ break;
524
539
  case 'datetime':
525
- return 'l.Datetime';
540
+ return 'l.DatetimeString';
526
541
  case 'uri':
527
- return 'l.Uri';
542
+ return 'l.UriString';
528
543
  case 'at-uri':
529
- return 'l.AtUri';
544
+ return 'l.AtUriString';
530
545
  case 'did':
531
- return 'l.Did';
546
+ return 'l.DidString';
532
547
  case 'handle':
533
- return 'l.Handle';
548
+ return 'l.HandleString';
534
549
  case 'at-identifier':
535
- return 'l.AtIdentifier';
550
+ return 'l.AtIdentifierString';
536
551
  case 'nsid':
537
- return 'l.Nsid';
552
+ return 'l.NsidString';
553
+ case 'tid':
554
+ return 'l.TidString';
555
+ case 'cid':
556
+ return 'l.CidString';
557
+ case 'language':
558
+ return 'l.LanguageString';
559
+ case 'record-key':
560
+ return 'l.RecordKeyString';
561
+ default:
562
+ throw new Error(`Unknown string format: ${def.format}`);
538
563
  }
539
564
  if (def.knownValues?.length) {
540
565
  return (def.knownValues.map((v) => JSON.stringify(v)).join(' | ') +
@@ -543,17 +568,22 @@ class LexDefBuilder {
543
568
  return 'string';
544
569
  }
545
570
  async compileBytesSchema(def) {
546
- const options = stringifyOptionalOptions(def, ['type', 'description']);
571
+ const options = stringifyOptions(def, [
572
+ 'minLength',
573
+ 'maxLength',
574
+ ]);
547
575
  return this.pure(`l.bytes(${options})`);
548
576
  }
549
577
  async compileBytesType(_def) {
550
578
  return 'Uint8Array';
551
579
  }
552
580
  async compileBlobSchema(def) {
553
- const opts = this.options.allowLegacyBlobs
554
- ? { ...def, allowLegacy: true }
555
- : def;
556
- const options = stringifyOptionalOptions(opts, ['type', 'description']);
581
+ const opts = { ...def, allowLegacy: this.options.allowLegacyBlobs === true };
582
+ const options = stringifyOptions(opts, [
583
+ 'maxSize',
584
+ 'accept',
585
+ 'allowLegacy',
586
+ ]);
557
587
  return this.pure(`l.blob(${options})`);
558
588
  }
559
589
  async compileBlobType(_def) {
@@ -561,12 +591,11 @@ class LexDefBuilder {
561
591
  ? 'l.BlobRef | l.LegacyBlobRef'
562
592
  : 'l.BlobRef';
563
593
  }
564
- async compileCidLinkSchema(def) {
565
- const options = stringifyOptionalOptions(def, ['type', 'description']);
566
- return this.pure(`l.cidLink(${options})`);
594
+ async compileCidLinkSchema(_def) {
595
+ return this.pure(`l.cidLink()`);
567
596
  }
568
597
  async compileCidLinkType(_def) {
569
- return 'l.CID';
598
+ return 'l.Cid';
570
599
  }
571
600
  async compileRefSchema(def) {
572
601
  const { varName, typeName } = await this.refResolver.resolve(def.ref);
@@ -603,7 +632,10 @@ class LexDefBuilder {
603
632
  if (hasEnum(def) && !def.enum.includes(def.const)) {
604
633
  return this.pure(`l.never()`);
605
634
  }
606
- return this.pure(`l.literal(${JSON.stringify(def.const)})`);
635
+ const options = stringifyOptions(def, [
636
+ 'default',
637
+ ]);
638
+ return this.pure(`l.literal(${JSON.stringify(def.const)}, ${options})`);
607
639
  }
608
640
  async compileConstType(def) {
609
641
  if (hasEnum(def) && !def.enum.includes(def.const)) {
@@ -615,10 +647,13 @@ class LexDefBuilder {
615
647
  if (def.enum.length === 0) {
616
648
  return this.pure(`l.never()`);
617
649
  }
618
- if (def.enum.length === 1) {
650
+ if (def.enum.length === 1 && def.default === undefined) {
619
651
  return this.pure(`l.literal(${JSON.stringify(def.enum[0])})`);
620
652
  }
621
- return this.pure(`l.enum(${JSON.stringify(def.enum)})`);
653
+ const options = stringifyOptions(def, [
654
+ 'default',
655
+ ]);
656
+ return this.pure(`l.enum(${JSON.stringify(def.enum)}, ${options})`);
622
657
  }
623
658
  async compileEnumType(def) {
624
659
  return def.enum.map((v) => JSON.stringify(v)).join(' | ') || 'never';
@@ -666,8 +701,8 @@ function compileJsDoc(description) {
666
701
  ? '@deprecated'
667
702
  : `@deprecated ${parsed.deprecated}`)}`;
668
703
  }
669
- function stringifyOptionalOptions(obj, omit) {
670
- const filtered = Object.entries(obj).filter(([k]) => !omit?.includes(k));
704
+ function stringifyOptions(obj, include, exclude) {
705
+ const filtered = Object.entries(obj).filter(([k]) => (!include || include.includes(k)) && !exclude?.includes(k));
671
706
  return filtered.length ? JSON.stringify(Object.fromEntries(filtered)) : '';
672
707
  }
673
708
  function hasConst(def) {