@atcute/lex-cli 2.5.3 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/codegen.d.ts +1 -7
  2. package/dist/codegen.d.ts.map +1 -1
  3. package/dist/codegen.js +7 -16
  4. package/dist/codegen.js.map +1 -1
  5. package/dist/commands/export.d.ts +2 -6
  6. package/dist/commands/export.d.ts.map +1 -1
  7. package/dist/commands/export.js +21 -28
  8. package/dist/commands/export.js.map +1 -1
  9. package/dist/commands/generate.d.ts +2 -6
  10. package/dist/commands/generate.d.ts.map +1 -1
  11. package/dist/commands/generate.js +22 -15
  12. package/dist/commands/generate.js.map +1 -1
  13. package/dist/commands/pull.d.ts +2 -6
  14. package/dist/commands/pull.d.ts.map +1 -1
  15. package/dist/commands/pull.js +37 -37
  16. package/dist/commands/pull.js.map +1 -1
  17. package/dist/config.d.ts +23 -2
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/config.js +21 -1
  20. package/dist/config.js.map +1 -1
  21. package/dist/formatter.d.ts +21 -0
  22. package/dist/formatter.d.ts.map +1 -0
  23. package/dist/formatter.js +122 -0
  24. package/dist/formatter.js.map +1 -0
  25. package/dist/git.d.ts.map +1 -1
  26. package/dist/git.js.map +1 -1
  27. package/dist/index.d.ts +2 -66
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/lexicon-loader.d.ts.map +1 -1
  31. package/dist/lexicon-loader.js +9 -1
  32. package/dist/lexicon-loader.js.map +1 -1
  33. package/dist/lexicon-metadata.js.map +1 -1
  34. package/dist/lsp-client.d.ts +20 -0
  35. package/dist/lsp-client.d.ts.map +1 -0
  36. package/dist/lsp-client.js +194 -0
  37. package/dist/lsp-client.js.map +1 -0
  38. package/dist/pull-sources/atproto.d.ts +3 -11
  39. package/dist/pull-sources/atproto.d.ts.map +1 -1
  40. package/dist/pull-sources/atproto.js.map +1 -1
  41. package/dist/pull-sources/git.d.ts +3 -7
  42. package/dist/pull-sources/git.d.ts.map +1 -1
  43. package/dist/pull-sources/git.js.map +1 -1
  44. package/dist/shared-options.d.ts +1 -1
  45. package/package.json +10 -9
  46. package/src/cli.ts +3 -3
  47. package/src/codegen.ts +7 -27
  48. package/src/commands/export.ts +25 -33
  49. package/src/commands/generate.ts +31 -22
  50. package/src/commands/pull.ts +43 -45
  51. package/src/config.ts +19 -1
  52. package/src/formatter.ts +157 -0
  53. package/src/index.ts +1 -1
  54. package/src/lsp-client.ts +283 -0
  55. package/src/pull-sources/atproto.ts +2 -2
  56. package/src/pull-sources/git.ts +3 -3
package/dist/codegen.d.ts CHANGED
@@ -16,12 +16,6 @@ export interface LexiconApiOptions {
16
16
  modules: {
17
17
  importSuffix: string;
18
18
  };
19
- prettier: {
20
- cwd: string;
21
- };
22
- }
23
- export interface LexiconApiResult {
24
- files: SourceFile[];
25
19
  }
26
- export declare const generateLexiconApi: (opts: LexiconApiOptions) => Promise<LexiconApiResult>;
20
+ export declare function generateLexiconApi(opts: LexiconApiOptions): Generator<SourceFile>;
27
21
  //# sourceMappingURL=codegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,UAAU,EAWV,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;CACF;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB;AA2BD,eAAO,MAAM,kBAAkB,wDA6T9B,CAAC"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,UAAU,EAWV,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AA2BD,wBAAiB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC,UAAU,CAAC,CAiTlF"}
package/dist/codegen.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { dirname as getDirname, relative as getRelativePath } from 'node:path/posix';
2
2
  import { formatLexiconRef, parseLexiconRef } from '@atcute/lexicon-doc';
3
- import * as prettier from 'prettier';
4
3
  const lit = JSON.stringify;
5
4
  const resolvePath = (from, ref) => {
6
5
  return parseLexiconRef(ref, from.nsid);
@@ -16,7 +15,7 @@ const resolveExternalImport = (nsid, mappings) => {
16
15
  });
17
16
  };
18
17
  const PURE = `/*#__PURE__*/`;
19
- export const generateLexiconApi = async (opts) => {
18
+ export function* generateLexiconApi(opts) {
20
19
  const importExt = opts.modules?.importSuffix;
21
20
  const documents = opts.documents.toSorted((a, b) => {
22
21
  if (a.id < b.id) {
@@ -28,7 +27,6 @@ export const generateLexiconApi = async (opts) => {
28
27
  return 0;
29
28
  });
30
29
  const map = new Map(documents.map((doc) => [doc.id, doc]));
31
- const files = [];
32
30
  const generatedIds = new Set();
33
31
  for (const doc of documents) {
34
32
  const filename = `types/${doc.id.replaceAll('.', '/')}.ts`;
@@ -249,7 +247,7 @@ export const generateLexiconApi = async (opts) => {
249
247
  // skip files that only have imports and no actual content
250
248
  if (file.exports) {
251
249
  generatedIds.add(doc.id);
252
- files.push({
250
+ yield {
253
251
  filename: filename,
254
252
  code: file.imports +
255
253
  `\n\n` +
@@ -266,7 +264,7 @@ export const generateLexiconApi = async (opts) => {
266
264
  file.sinterfaces +
267
265
  `\n\n` +
268
266
  file.ambients,
269
- });
267
+ };
270
268
  }
271
269
  }
272
270
  {
@@ -277,20 +275,12 @@ export const generateLexiconApi = async (opts) => {
277
275
  }
278
276
  code += `export * as ${toTitleCase(doc.id)} from ${lit(`./types/${doc.id.replaceAll('.', '/')}${importExt}`)};\n`;
279
277
  }
280
- files.push({
278
+ yield {
281
279
  filename: 'index.ts',
282
280
  code: code,
283
- });
284
- }
285
- if (opts.prettier) {
286
- const config = await prettier.resolveConfig(opts.prettier.cwd, { editorconfig: true });
287
- for (const file of files) {
288
- const formatted = await prettier.format(file.code, { ...config, parser: 'typescript' });
289
- file.code = formatted;
290
- }
281
+ };
291
282
  }
292
- return { files };
293
- };
283
+ }
294
284
  const generateXrpcQuery = (imports, path, spec) => {
295
285
  const params = generateXrpcParameters(imports, path, spec.parameters);
296
286
  const output = generateXrpcBody(imports, path, spec.output);
@@ -553,6 +543,7 @@ const generateType = (imports, path, spec, lazy = false) => {
553
543
  const refPath = resolvePath(path, ref);
554
544
  return { path: refPath, uri: formatLexiconRef(refPath) };
555
545
  })
546
+ // oxlint-disable-next-line unicorn/no-array-sort -- map already clones
556
547
  .sort((a, b) => {
557
548
  if (a.uri < b.uri) {
558
549
  return -1;
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type InferValue } from '@optique/core/parser';
2
- export declare const exportCommandSchema: import("@optique/core/parser").Parser<{
2
+ export declare const exportCommandSchema: import("@optique/core/parser").Parser<"sync", {
3
3
  readonly type: "export";
4
4
  } & {
5
5
  readonly config: string | undefined;
@@ -9,9 +9,5 @@ export type ExportCommand = InferValue<typeof exportCommandSchema>;
9
9
  * runs the export command to write lexicon documents as JSON files
10
10
  * @param args parsed command arguments
11
11
  */
12
- export declare const runExport: (args: {
13
- readonly type: "export";
14
- } & {
15
- readonly config: string | undefined;
16
- }) => Promise<void>;
12
+ export declare const runExport: (args: ExportCommand) => Promise<void>;
17
13
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASvD,eAAO,MAAM,mBAAmB;;;;mFAY/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AA0CnE;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;mBA8BrB,CAAC"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASvD,eAAO,MAAM,mBAAmB;;;;mFAY/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAgCnE;;;GAGG;AACH,eAAO,MAAM,SAAS,SAAgB,aAAa,KAAG,OAAO,CAAC,IAAI,CAgCjE,CAAC"}
@@ -5,8 +5,8 @@ import { message } from '@optique/core/message';
5
5
  import {} from '@optique/core/parser';
6
6
  import { command, constant } from '@optique/core/primitives';
7
7
  import pc from 'picocolors';
8
- import prettier from 'prettier';
9
8
  import { loadConfig } from '../config.js';
9
+ import { createFormatter } from '../formatter.js';
10
10
  import { loadLexicons } from '../lexicon-loader.js';
11
11
  import { sharedOptions } from '../shared-options.js';
12
12
  export const exportCommandSchema = command('export', merge(object({
@@ -27,21 +27,11 @@ const ensureExportConfig = (config) => {
27
27
  }
28
28
  return config.export;
29
29
  };
30
- /**
31
- * writes a lexicon document to disk as formatted JSON
32
- * @param outdir output directory
33
- * @param nsid the NSID of the lexicon
34
- * @param doc the lexicon document
35
- * @param prettierConfig prettier configuration
36
- */
37
- const writeLexicon = async (outdir, nsid, doc, prettierConfig) => {
30
+ const writeLexicon = async (outdir, nsid, doc, formatter) => {
38
31
  const nsidPath = nsid.replaceAll('.', '/');
39
32
  const target = path.join(outdir, `${nsidPath}.json`);
40
33
  const dirname = path.dirname(target);
41
- const code = await prettier.format(JSON.stringify(doc, null, 2), {
42
- ...prettierConfig,
43
- parser: 'json',
44
- });
34
+ const code = await formatter.format(JSON.stringify(doc, null, 2), target);
45
35
  await fs.mkdir(dirname, { recursive: true });
46
36
  await fs.writeFile(target, code);
47
37
  };
@@ -55,22 +45,25 @@ export const runExport = async (args) => {
55
45
  // use export.files if specified, otherwise fall back to root files config
56
46
  const files = exportConfig.files ?? config.files;
57
47
  const outdir = path.resolve(config.root, exportConfig.outdir);
58
- const prettierConfig = await prettier.resolveConfig(config.root, { editorconfig: true });
59
- // load lexicons from files
60
- const loaded = await loadLexicons(files, config.root);
61
- if (loaded.length === 0) {
62
- console.warn(pc.yellow(`warning: no lexicons found to export`));
63
- return;
64
- }
65
- // clean output directory if requested
66
- if (exportConfig.clean) {
67
- await fs.rm(outdir, { recursive: true, force: true });
48
+ const formatter = await createFormatter(config.formatter, config.root);
49
+ try {
50
+ // load lexicons from files
51
+ const loaded = await loadLexicons(files, config.root);
52
+ if (loaded.length === 0) {
53
+ console.warn(pc.yellow(`warning: no lexicons found to export`));
54
+ return;
55
+ }
56
+ // clean output directory if requested
57
+ if (exportConfig.clean) {
58
+ await fs.rm(outdir, { recursive: true, force: true });
59
+ }
60
+ await fs.mkdir(outdir, { recursive: true });
61
+ // write each lexicon as JSON
62
+ await Promise.all(loaded.map(({ nsid, doc }) => writeLexicon(outdir, nsid, doc, formatter)));
63
+ console.log(pc.green(`exported ${loaded.length} lexicon(s) to ${outdir}`));
68
64
  }
69
- await fs.mkdir(outdir, { recursive: true });
70
- // write each lexicon as JSON
71
- for (const { nsid, doc } of loaded) {
72
- await writeLexicon(outdir, nsid, doc, prettierConfig);
65
+ finally {
66
+ await formatter.dispose();
73
67
  }
74
- console.log(pc.green(`exported ${loaded.length} lexicon(s) to ${outdir}`));
75
68
  };
76
69
  //# sourceMappingURL=export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,UAAU,EAA4C,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CACzC,QAAQ,EACR,KAAK,CACJ,MAAM,CAAC;IACN,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACxB,CAAC,EACF,aAAa,CACb,EACD;IACC,KAAK,EAAE,OAAO,CAAA,wCAAwC;IACtD,WAAW,EAAE,OAAO,CAAA,uGAAuG;CAC3H,CACD,CAAC;AAIF;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAgB,EAAE,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;AAAA,CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,KAAK,EACzB,MAAc,EACd,IAAY,EACZ,GAAe,EACf,cAAuC,EACvB,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAChE,GAAG,cAAc;QACjB,MAAM,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAAA,CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAmB,EAAiB,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhD,0EAA0E;IAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzF,2BAA2B;IAC3B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IAED,sCAAsC;IACtC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,6BAA6B;IAC7B,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;QACpC,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,kBAAkB,MAAM,EAAE,CAAC,CAAC,CAAC;AAAA,CAC3E,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type InferValue } from '@optique/core/parser';
2
- export declare const generateCommandSchema: import("@optique/core/parser").Parser<{
2
+ export declare const generateCommandSchema: import("@optique/core/parser").Parser<"sync", {
3
3
  readonly type: "generate";
4
4
  } & {
5
5
  readonly config: string | undefined;
@@ -9,9 +9,5 @@ export type GenerateCommand = InferValue<typeof generateCommandSchema>;
9
9
  * runs the generate command to create type definitions from lexicon documents
10
10
  * @param args parsed command arguments
11
11
  */
12
- export declare const runGenerate: (args: {
13
- readonly type: "generate";
14
- } & {
15
- readonly config: string | undefined;
16
- }) => Promise<void>;
12
+ export declare const runGenerate: (args: GenerateCommand) => Promise<void>;
17
13
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAiHvD,eAAO,MAAM,qBAAqB;;;;mFAYjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;mBA+BvB,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAkHvD,eAAO,MAAM,qBAAqB;;;;mFAYjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAgB,eAAe,KAAG,OAAO,CAAC,IAAI,CAuCrE,CAAC"}
@@ -7,6 +7,7 @@ import { command, constant } from '@optique/core/primitives';
7
7
  import pc from 'picocolors';
8
8
  import { generateLexiconApi } from '../codegen.js';
9
9
  import { loadConfig } from '../config.js';
10
+ import { createFormatter } from '../formatter.js';
10
11
  import { loadLexicons } from '../lexicon-loader.js';
11
12
  import { packageJsonSchema } from '../lexicon-metadata.js';
12
13
  import { sharedOptions } from '../shared-options.js';
@@ -115,22 +116,28 @@ export const runGenerate = async (args) => {
115
116
  // load lexicons from files
116
117
  const loaded = await loadLexicons(config.files, config.root);
117
118
  const documents = loaded.map((l) => l.doc);
118
- const generationResult = await generateLexiconApi({
119
- documents: documents,
120
- mappings: allMappings,
121
- modules: {
122
- importSuffix: config.modules?.importSuffix ?? '.js',
123
- },
124
- prettier: {
125
- cwd: process.cwd(),
126
- },
127
- });
128
119
  const outdir = path.join(config.root, config.outdir);
129
- for (const file of generationResult.files) {
130
- const filename = path.join(outdir, file.filename);
131
- const dirname = path.dirname(filename);
132
- await fs.mkdir(dirname, { recursive: true });
133
- await fs.writeFile(filename, file.code);
120
+ const formatter = await createFormatter(config.formatter, config.root);
121
+ try {
122
+ const pending = [];
123
+ for (const file of generateLexiconApi({
124
+ documents: documents,
125
+ mappings: allMappings,
126
+ modules: {
127
+ importSuffix: config.modules?.importSuffix ?? '.js',
128
+ },
129
+ })) {
130
+ const filename = path.join(outdir, file.filename);
131
+ pending.push((async () => {
132
+ const formatted = await formatter.format(file.code, filename);
133
+ await fs.mkdir(path.dirname(filename), { recursive: true });
134
+ await fs.writeFile(filename, formatted);
135
+ })());
136
+ }
137
+ await Promise.all(pending);
138
+ }
139
+ finally {
140
+ await formatter.dispose();
134
141
  }
135
142
  };
136
143
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type InferValue } from '@optique/core/parser';
2
- export declare const pullCommandSchema: import("@optique/core/parser").Parser<{
2
+ export declare const pullCommandSchema: import("@optique/core/parser").Parser<"sync", {
3
3
  readonly type: "pull";
4
4
  } & {
5
5
  readonly config: string | undefined;
@@ -9,9 +9,5 @@ export type PullCommand = InferValue<typeof pullCommandSchema>;
9
9
  * runs the pull command to fetch lexicon documents from configured sources
10
10
  * @param args parsed command arguments
11
11
  */
12
- export declare const runPull: (args: {
13
- readonly type: "pull";
14
- } & {
15
- readonly config: string | undefined;
16
- }) => Promise<void>;
12
+ export declare const runPull: (args: PullCommand) => Promise<void>;
17
13
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWvD,eAAO,MAAM,iBAAiB;;;;mFAY7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAuJ/D;;;GAGG;AACH,eAAO,MAAM,OAAO;;;;mBA4CnB,CAAC"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWvD,eAAO,MAAM,iBAAiB;;;;mFAY7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAkJ/D;;;GAGG;AACH,eAAO,MAAM,OAAO,SAAgB,WAAW,KAAG,OAAO,CAAC,IAAI,CA+C7D,CAAC"}
@@ -6,8 +6,8 @@ import { message } from '@optique/core/message';
6
6
  import {} from '@optique/core/parser';
7
7
  import { command, constant } from '@optique/core/primitives';
8
8
  import pc from 'picocolors';
9
- import prettier from 'prettier';
10
9
  import { loadConfig } from '../config.js';
10
+ import { createFormatter } from '../formatter.js';
11
11
  import { pullAtprotoSource } from '../pull-sources/atproto.js';
12
12
  import { pullGitSource } from '../pull-sources/git.js';
13
13
  import { sharedOptions } from '../shared-options.js';
@@ -66,14 +66,11 @@ const parseLexiconFile = async (loc) => {
66
66
  }
67
67
  return result.value;
68
68
  };
69
- const writeLexicon = async (outdir, nsid, doc, prettierConfig) => {
69
+ const writeLexicon = async (outdir, nsid, doc, formatter) => {
70
70
  const nsidPath = nsid.replaceAll('.', '/');
71
71
  const target = path.join(outdir, `${nsidPath}.json`);
72
72
  const dirname = path.dirname(target);
73
- const code = await prettier.format(JSON.stringify(doc, null, 2), {
74
- ...prettierConfig,
75
- parser: 'json',
76
- });
73
+ const code = await formatter.format(JSON.stringify(doc, null, 2), target);
77
74
  await fs.mkdir(dirname, { recursive: true });
78
75
  await fs.writeFile(target, code);
79
76
  };
@@ -87,7 +84,7 @@ const pullSource = async (source) => {
87
84
  }
88
85
  }
89
86
  };
90
- const writeSourceReadme = async (outdir, revisions, prettierConfig) => {
87
+ const writeSourceReadme = async (outdir, revisions, formatter) => {
91
88
  const lines = [
92
89
  '# lexicon sources',
93
90
  '',
@@ -116,11 +113,9 @@ const writeSourceReadme = async (outdir, revisions, prettierConfig) => {
116
113
  }
117
114
  lines.push('');
118
115
  const content = lines.join('\n');
119
- const formatted = await prettier.format(content, {
120
- ...prettierConfig,
121
- parser: 'markdown',
122
- });
123
- await fs.writeFile(path.join(outdir, 'README.md'), formatted);
116
+ const target = path.join(outdir, 'README.md');
117
+ const formatted = await formatter.format(content, target);
118
+ await fs.writeFile(target, formatted);
124
119
  };
125
120
  /**
126
121
  * runs the pull command to fetch lexicon documents from configured sources
@@ -130,34 +125,39 @@ export const runPull = async (args) => {
130
125
  const config = await loadConfig(args.config);
131
126
  const pullConfig = ensurePullConfig(config);
132
127
  const outdir = path.resolve(config.root, pullConfig.outdir);
133
- const prettierConfig = await prettier.resolveConfig(config.root, { editorconfig: true });
134
- const seen = new Map();
135
- const collected = [];
136
- const sourceRevisions = [];
137
- for (const source of pullConfig.sources) {
138
- const result = await pullSource(source);
139
- sourceRevisions.push({ source, rev: result.rev });
140
- for (const [nsid, entry] of result.pulled) {
141
- const existing = seen.get(nsid);
142
- if (existing) {
143
- console.error(pc.bold(pc.red(`duplicate lexicon "${nsid}"`)));
144
- console.error(`- found ${entry.location.relativePath} from ${entry.location.sourceDescription}`);
145
- console.error(` at ${entry.location.absolutePath}`);
146
- console.error(`- already found ${existing.relativePath} from ${existing.sourceDescription}`);
147
- console.error(` at ${existing.absolutePath}`);
148
- process.exit(1);
128
+ const formatter = await createFormatter(config.formatter, config.root);
129
+ try {
130
+ const seen = new Map();
131
+ const collected = [];
132
+ const sourceRevisions = [];
133
+ for (const source of pullConfig.sources) {
134
+ const result = await pullSource(source);
135
+ sourceRevisions.push({ source, rev: result.rev });
136
+ for (const [nsid, entry] of result.pulled) {
137
+ const existing = seen.get(nsid);
138
+ if (existing) {
139
+ console.error(pc.bold(pc.red(`duplicate lexicon "${nsid}"`)));
140
+ console.error(`- found ${entry.location.relativePath} from ${entry.location.sourceDescription}`);
141
+ console.error(` at ${entry.location.absolutePath}`);
142
+ console.error(`- already found ${existing.relativePath} from ${existing.sourceDescription}`);
143
+ console.error(` at ${existing.absolutePath}`);
144
+ process.exit(1);
145
+ }
146
+ seen.set(nsid, entry.location);
147
+ collected.push(entry);
149
148
  }
150
- seen.set(nsid, entry.location);
151
- collected.push(entry);
152
149
  }
150
+ if (pullConfig.clean) {
151
+ await fs.rm(outdir, { recursive: true, force: true });
152
+ }
153
+ await fs.mkdir(outdir, { recursive: true });
154
+ await Promise.all([
155
+ ...collected.map((entry) => writeLexicon(outdir, entry.nsid, entry.doc, formatter)),
156
+ writeSourceReadme(outdir, sourceRevisions, formatter),
157
+ ]);
153
158
  }
154
- if (pullConfig.clean) {
155
- await fs.rm(outdir, { recursive: true, force: true });
156
- }
157
- await fs.mkdir(outdir, { recursive: true });
158
- for (const entry of collected) {
159
- await writeLexicon(outdir, entry.nsid, entry.doc, prettierConfig);
159
+ finally {
160
+ await formatter.dispose();
160
161
  }
161
- await writeSourceReadme(outdir, sourceRevisions, prettierConfig);
162
162
  };
163
163
  //# sourceMappingURL=pull.js.map