@atcute/lex-cli 2.8.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -29
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +6 -7
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +26 -9
- package/dist/commands/pull.js.map +1 -1
- package/dist/config.d.ts +60 -157
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +68 -137
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lexicon-loader.d.ts.map +1 -1
- package/dist/lexicon-loader.js +7 -8
- package/dist/lexicon-loader.js.map +1 -1
- package/dist/lexicon-metadata.d.ts +2 -2
- package/dist/lexicon-metadata.d.ts.map +1 -1
- package/dist/lexicon-metadata.js +13 -34
- package/dist/lexicon-metadata.js.map +1 -1
- package/dist/pull-sources/atproto.d.ts.map +1 -1
- package/dist/pull-sources/atproto.js +5 -3
- package/dist/pull-sources/atproto.js.map +1 -1
- package/dist/utils/issues.d.ts +4 -0
- package/dist/utils/issues.d.ts.map +1 -0
- package/dist/utils/issues.js +9 -0
- package/dist/utils/issues.js.map +1 -0
- package/dist/utils/nsid-pattern.d.ts +6 -0
- package/dist/utils/nsid-pattern.d.ts.map +1 -0
- package/dist/utils/nsid-pattern.js +12 -0
- package/dist/utils/nsid-pattern.js.map +1 -0
- package/package.json +7 -7
- package/src/commands/generate.ts +6 -9
- package/src/commands/pull.ts +28 -11
- package/src/config.ts +172 -189
- package/src/index.ts +3 -1
- package/src/lexicon-loader.ts +8 -10
- package/src/lexicon-metadata.ts +19 -36
- package/src/pull-sources/atproto.ts +4 -3
- package/src/utils/issues.ts +9 -0
- package/src/utils/nsid-pattern.ts +12 -0
package/README.md
CHANGED
|
@@ -16,8 +16,10 @@ where it should put the generated TypeScript schemas:
|
|
|
16
16
|
import { defineLexiconConfig } from '@atcute/lex-cli';
|
|
17
17
|
|
|
18
18
|
export default defineLexiconConfig({
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
generate: {
|
|
20
|
+
files: ['lexicons/**/*.json'],
|
|
21
|
+
outdir: 'src/lexicons/',
|
|
22
|
+
},
|
|
21
23
|
});
|
|
22
24
|
```
|
|
23
25
|
|
|
@@ -61,8 +63,10 @@ update your config to point to TypeScript files:
|
|
|
61
63
|
import { defineLexiconConfig } from '@atcute/lex-cli';
|
|
62
64
|
|
|
63
65
|
export default defineLexiconConfig({
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
generate: {
|
|
67
|
+
files: ['lexicons-src/**/*.ts'],
|
|
68
|
+
outdir: 'src/lexicons/',
|
|
69
|
+
},
|
|
66
70
|
});
|
|
67
71
|
```
|
|
68
72
|
|
|
@@ -73,8 +77,10 @@ export command:
|
|
|
73
77
|
|
|
74
78
|
```ts
|
|
75
79
|
export default defineLexiconConfig({
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
generate: {
|
|
81
|
+
files: ['lexicons-src/**/*.ts'],
|
|
82
|
+
outdir: 'src/lexicons/',
|
|
83
|
+
},
|
|
78
84
|
export: {
|
|
79
85
|
outdir: 'lexicons/',
|
|
80
86
|
clean: true,
|
|
@@ -101,8 +107,10 @@ pull lexicons from git repositories using sparse checkout:
|
|
|
101
107
|
import { defineLexiconConfig } from '@atcute/lex-cli';
|
|
102
108
|
|
|
103
109
|
export default defineLexiconConfig({
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
generate: {
|
|
111
|
+
files: ['lexicons/**/*.json'],
|
|
112
|
+
outdir: 'src/lexicons/',
|
|
113
|
+
},
|
|
106
114
|
pull: {
|
|
107
115
|
outdir: 'lexicons/',
|
|
108
116
|
clean: true,
|
|
@@ -124,8 +132,10 @@ pull lexicons directly from the AT Protocol network.
|
|
|
124
132
|
|
|
125
133
|
```ts
|
|
126
134
|
export default defineLexiconConfig({
|
|
127
|
-
|
|
128
|
-
|
|
135
|
+
generate: {
|
|
136
|
+
files: ['lexicons/**/*.json'],
|
|
137
|
+
outdir: 'src/lexicons/',
|
|
138
|
+
},
|
|
129
139
|
pull: {
|
|
130
140
|
outdir: 'lexicons/',
|
|
131
141
|
sources: [
|
|
@@ -219,9 +229,11 @@ provide the `atcute:lexicons` metadata:
|
|
|
219
229
|
import { defineLexiconConfig } from '@atcute/lex-cli';
|
|
220
230
|
|
|
221
231
|
export default defineLexiconConfig({
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
232
|
+
generate: {
|
|
233
|
+
files: ['lexicons/**/*.json'],
|
|
234
|
+
outdir: 'src/lexicons/',
|
|
235
|
+
imports: ['@atcute/atproto', '@atcute/bluesky'],
|
|
236
|
+
},
|
|
225
237
|
});
|
|
226
238
|
```
|
|
227
239
|
|
|
@@ -236,23 +248,25 @@ use the `mappings` configuration instead:
|
|
|
236
248
|
import { defineLexiconConfig } from '@atcute/lex-cli';
|
|
237
249
|
|
|
238
250
|
export default defineLexiconConfig({
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
251
|
+
generate: {
|
|
252
|
+
files: ['lexicons/**/*.json'],
|
|
253
|
+
outdir: 'src/lexicons/',
|
|
254
|
+
mappings: [
|
|
255
|
+
{
|
|
256
|
+
nsid: ['com.atproto.*'],
|
|
257
|
+
imports: (nsid) => {
|
|
258
|
+
const specifier = nsid.slice('com.atproto.'.length).replaceAll('.', '/');
|
|
259
|
+
return { type: 'namespace', from: `@atcute/atproto/types/${specifier}` };
|
|
260
|
+
},
|
|
247
261
|
},
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
262
|
+
{
|
|
263
|
+
nsid: ['app.bsky.*'],
|
|
264
|
+
imports: (nsid) => {
|
|
265
|
+
const specifier = nsid.slice('app.bsky.'.length).replaceAll('.', '/');
|
|
266
|
+
return { type: 'namespace', from: `@atcute/bluesky/types/app/${specifier}` };
|
|
267
|
+
},
|
|
254
268
|
},
|
|
255
|
-
|
|
256
|
-
|
|
269
|
+
],
|
|
270
|
+
},
|
|
257
271
|
});
|
|
258
272
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AA4IjD;;;GAGG;AACH,eAAO,MAAM,OAAO,SAAgB,eAAe,KAAG,OAAO,CAAC,IAAI,CA8CjE,CAAC"}
|
|
@@ -2,11 +2,13 @@ import * as fs from 'node:fs/promises';
|
|
|
2
2
|
import * as module from 'node:module';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import pc from 'picocolors';
|
|
5
|
+
import * as v from 'valibot';
|
|
5
6
|
import { generateLexiconApi } from '../codegen.js';
|
|
6
7
|
import { loadConfig } from '../config.js';
|
|
7
8
|
import { createFormatter } from '../formatter.js';
|
|
8
9
|
import { loadLexicons } from '../lexicon-loader.js';
|
|
9
10
|
import { packageJsonSchema } from '../lexicon-metadata.js';
|
|
11
|
+
import { printValibotIssues } from '../utils/issues.js';
|
|
10
12
|
/**
|
|
11
13
|
* resolves package imports to ImportMapping[]
|
|
12
14
|
*/
|
|
@@ -51,16 +53,13 @@ const resolveImportsToMappings = async (imports, configDirname) => {
|
|
|
51
53
|
console.error(pc.bold(pc.red(`failed to locate package.json for "${packageName}"`)));
|
|
52
54
|
process.exit(1);
|
|
53
55
|
}
|
|
54
|
-
const result =
|
|
55
|
-
if (!result.
|
|
56
|
+
const result = v.safeParse(packageJsonSchema, packageJson);
|
|
57
|
+
if (!result.success) {
|
|
56
58
|
console.error(pc.bold(pc.red(`invalid atcute:lexicons in "${packageName}":`)));
|
|
57
|
-
|
|
58
|
-
for (const issue of result.issues) {
|
|
59
|
-
console.log(`- ${issue.code} at .${issue.path.join('.')}`);
|
|
60
|
-
}
|
|
59
|
+
printValibotIssues(result.issues);
|
|
61
60
|
process.exit(1);
|
|
62
61
|
}
|
|
63
|
-
const lexicons = result.
|
|
62
|
+
const lexicons = result.output['atcute:lexicons'];
|
|
64
63
|
if (!lexicons?.mappings) {
|
|
65
64
|
continue;
|
|
66
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAuK7C;;;GAGG;AACH,eAAO,MAAM,OAAO,SAAgB,WAAW,KAAG,OAAO,CAAC,IAAI,CA+C7D,CAAC"}
|
package/dist/commands/pull.js
CHANGED
|
@@ -2,10 +2,12 @@ import * as fs from 'node:fs/promises';
|
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import { lexiconDoc, refineLexiconDoc } from '@atcute/lexicon-doc';
|
|
4
4
|
import pc from 'picocolors';
|
|
5
|
+
import * as v from 'valibot';
|
|
5
6
|
import { loadConfig } from '../config.js';
|
|
6
7
|
import { createFormatter } from '../formatter.js';
|
|
7
8
|
import { pullAtprotoSource } from '../pull-sources/atproto.js';
|
|
8
9
|
import { pullGitSource } from '../pull-sources/git.js';
|
|
10
|
+
import { printValibotIssues } from '../utils/issues.js';
|
|
9
11
|
const ensurePullConfig = (config) => {
|
|
10
12
|
if (!config.pull) {
|
|
11
13
|
console.error(pc.bold(pc.red(`pull configuration missing`)));
|
|
@@ -34,17 +36,14 @@ const parseLexiconFile = async (loc) => {
|
|
|
34
36
|
console.error(err);
|
|
35
37
|
process.exit(1);
|
|
36
38
|
}
|
|
37
|
-
const result =
|
|
38
|
-
if (!result.
|
|
39
|
+
const result = v.safeParse(lexiconDoc, json);
|
|
40
|
+
if (!result.success) {
|
|
39
41
|
console.error(pc.bold(pc.red(`schema validation failed for ${loc.relativePath} when pulling ${loc.sourceDescription}`)));
|
|
40
42
|
console.error(`found in ${loc.absolutePath}`);
|
|
41
|
-
|
|
42
|
-
for (const issue of result.issues) {
|
|
43
|
-
console.log(`- ${issue.code} at .${issue.path.join('.')}`);
|
|
44
|
-
}
|
|
43
|
+
printValibotIssues(result.issues);
|
|
45
44
|
process.exit(1);
|
|
46
45
|
}
|
|
47
|
-
const issues = refineLexiconDoc(result.
|
|
46
|
+
const issues = refineLexiconDoc(result.output, true);
|
|
48
47
|
if (issues.length > 0) {
|
|
49
48
|
console.error(pc.bold(pc.red(`lint validation failed for ${loc.relativePath} when pulling ${loc.sourceDescription}`)));
|
|
50
49
|
console.error(`found in ${loc.absolutePath}`);
|
|
@@ -53,13 +52,31 @@ const parseLexiconFile = async (loc) => {
|
|
|
53
52
|
}
|
|
54
53
|
process.exit(1);
|
|
55
54
|
}
|
|
56
|
-
return result.
|
|
55
|
+
return result.output;
|
|
56
|
+
};
|
|
57
|
+
// valibot rebuilds objects in schema key order; reorder back into dag-cbor
|
|
58
|
+
// canonical order (shorter keys first, then lexicographic) so writes are
|
|
59
|
+
// deterministic regardless of schema field declaration order
|
|
60
|
+
const canonicalize = (value) => {
|
|
61
|
+
if (Array.isArray(value)) {
|
|
62
|
+
return value.map(canonicalize);
|
|
63
|
+
}
|
|
64
|
+
if (value !== null && typeof value === 'object') {
|
|
65
|
+
const obj = value;
|
|
66
|
+
const keys = Object.keys(obj).toSorted((a, b) => a.length - b.length || (a < b ? -1 : 1));
|
|
67
|
+
const result = {};
|
|
68
|
+
for (const key of keys) {
|
|
69
|
+
result[key] = canonicalize(obj[key]);
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
return value;
|
|
57
74
|
};
|
|
58
75
|
const writeLexicon = async (outdir, nsid, doc, formatter) => {
|
|
59
76
|
const nsidPath = nsid.replaceAll('.', '/');
|
|
60
77
|
const target = path.join(outdir, `${nsidPath}.json`);
|
|
61
78
|
const dirname = path.dirname(target);
|
|
62
|
-
const code = await formatter.format(JSON.stringify(doc, null, 2), target);
|
|
79
|
+
const code = await formatter.format(JSON.stringify(canonicalize(doc), null, 2), target);
|
|
63
80
|
await fs.mkdir(dirname, { recursive: true });
|
|
64
81
|
await fs.writeFile(target, code);
|
|
65
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,163 +1,66 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Nsid } from '@atcute/lexicons/syntax';
|
|
2
|
+
import * as v from 'valibot';
|
|
2
3
|
import type { ImportMapping } from './codegen.ts';
|
|
3
|
-
|
|
4
|
-
type:
|
|
5
|
-
remote:
|
|
6
|
-
ref
|
|
7
|
-
pattern:
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
type:
|
|
11
|
-
mode:
|
|
12
|
-
nsids:
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
type:
|
|
16
|
-
mode:
|
|
17
|
-
authority:
|
|
18
|
-
pattern
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
outdir
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
ref?: string | undefined;
|
|
61
|
-
pattern: string[];
|
|
62
|
-
})[]>;
|
|
63
|
-
}, undefined>;
|
|
64
|
-
declare const exportConfigSchema: v.ObjectType<{
|
|
65
|
-
outdir: v.Type<string>;
|
|
66
|
-
files: v.Optional<string[]>;
|
|
67
|
-
clean: v.Optional<boolean>;
|
|
68
|
-
}, undefined>;
|
|
69
|
-
declare const formatterConfigSchema: v.UnionType<[v.ObjectType<{
|
|
70
|
-
type: v.Type<"prettier">;
|
|
71
|
-
}, undefined>, v.ObjectType<{
|
|
72
|
-
type: v.Type<"command">;
|
|
73
|
-
command: v.Type<string>;
|
|
74
|
-
concurrency: v.Type<number>;
|
|
75
|
-
}, undefined>, v.ObjectType<{
|
|
76
|
-
type: v.Type<"lsp">;
|
|
77
|
-
command: v.Type<string>;
|
|
78
|
-
}, undefined>]>;
|
|
79
|
-
declare const generateConfigSchema: v.ObjectType<{
|
|
80
|
-
outdir: v.Optional<string>;
|
|
81
|
-
files: v.Optional<string[]>;
|
|
82
|
-
imports: v.Optional<string[]>;
|
|
83
|
-
mappings: v.Optional<ImportMapping[]>;
|
|
84
|
-
modules: v.Optional<{
|
|
85
|
-
importSuffix?: string | undefined;
|
|
86
|
-
}>;
|
|
87
|
-
clean: v.Optional<boolean>;
|
|
88
|
-
}, undefined>;
|
|
89
|
-
export type GitSourceConfig = v.Infer<typeof gitSourceConfigSchema>;
|
|
90
|
-
export type AtprotoNsidsSourceConfig = v.Infer<typeof atprotoNsidsSourceConfigSchema>;
|
|
91
|
-
export type AtprotoAuthoritySourceConfig = v.Infer<typeof atprotoAuthoritySourceConfigSchema>;
|
|
92
|
-
export type AtprotoSourceConfig = v.Infer<typeof atprotoSourceConfigSchema>;
|
|
93
|
-
export type SourceConfig = v.Infer<typeof sourceConfigSchema>;
|
|
94
|
-
export type PullConfig = v.Infer<typeof pullConfigSchema>;
|
|
95
|
-
export type ExportConfig = v.Infer<typeof exportConfigSchema>;
|
|
96
|
-
export type FormatterConfig = v.Infer<typeof formatterConfigSchema>;
|
|
97
|
-
export type GenerateConfig = v.Infer<typeof generateConfigSchema>;
|
|
98
|
-
export declare const lexiconConfigSchema: v.ObjectType<{
|
|
99
|
-
/** @deprecated moved to `generate.outdir` */
|
|
100
|
-
outdir: v.Optional<string>;
|
|
101
|
-
/** @deprecated moved to `generate.files` */
|
|
102
|
-
files: v.Optional<string[]>;
|
|
103
|
-
/** @deprecated moved to `generate.imports` */
|
|
104
|
-
imports: v.Optional<string[]>;
|
|
105
|
-
/** @deprecated moved to `generate.mappings` */
|
|
106
|
-
mappings: v.Optional<ImportMapping[]>;
|
|
107
|
-
/** @deprecated moved to `generate.modules` */
|
|
108
|
-
modules: v.Optional<{
|
|
109
|
-
importSuffix?: string | undefined;
|
|
110
|
-
}>;
|
|
111
|
-
formatter: v.Optional<{
|
|
112
|
-
type: "prettier";
|
|
113
|
-
} | {
|
|
114
|
-
type: "command";
|
|
115
|
-
command: string;
|
|
116
|
-
concurrency: number;
|
|
117
|
-
} | {
|
|
118
|
-
type: "lsp";
|
|
119
|
-
command: string;
|
|
120
|
-
}>;
|
|
121
|
-
generate: v.Optional<{
|
|
122
|
-
outdir?: string | undefined;
|
|
123
|
-
files?: string[] | undefined;
|
|
124
|
-
imports?: string[] | undefined;
|
|
125
|
-
mappings?: ImportMapping[] | undefined;
|
|
126
|
-
modules?: {
|
|
127
|
-
importSuffix?: string | undefined;
|
|
128
|
-
} | undefined;
|
|
129
|
-
clean?: boolean | undefined;
|
|
130
|
-
}>;
|
|
131
|
-
pull: v.Optional<{
|
|
132
|
-
outdir: string;
|
|
133
|
-
clean?: boolean | undefined;
|
|
134
|
-
sources: ({
|
|
135
|
-
type: "atproto";
|
|
136
|
-
mode: "nsids";
|
|
137
|
-
nsids: `${string}.${string}.${string}`[];
|
|
138
|
-
} | {
|
|
139
|
-
type: "atproto";
|
|
140
|
-
mode: "authority";
|
|
141
|
-
authority: `${string}.${string}` | `did:plc:${string}` | `did:web:${string}`;
|
|
142
|
-
pattern?: string[] | undefined;
|
|
143
|
-
} | {
|
|
144
|
-
type: "git";
|
|
145
|
-
remote: string;
|
|
146
|
-
ref?: string | undefined;
|
|
147
|
-
pattern: string[];
|
|
148
|
-
})[];
|
|
149
|
-
}>;
|
|
150
|
-
export: v.Optional<{
|
|
151
|
-
outdir: string;
|
|
152
|
-
files?: string[] | undefined;
|
|
153
|
-
clean?: boolean | undefined;
|
|
154
|
-
}>;
|
|
155
|
-
}, undefined>;
|
|
156
|
-
export type LexiconConfig = v.Infer<typeof lexiconConfigSchema>;
|
|
157
|
-
export type NormalizedConfig = Omit<LexiconConfig, 'formatter' | 'outdir' | 'files' | 'imports' | 'mappings' | 'modules'> & {
|
|
4
|
+
export interface GitSourceConfig {
|
|
5
|
+
type: 'git';
|
|
6
|
+
remote: string;
|
|
7
|
+
ref?: string;
|
|
8
|
+
pattern: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface AtprotoNsidsSourceConfig {
|
|
11
|
+
type: 'atproto';
|
|
12
|
+
mode: 'nsids';
|
|
13
|
+
nsids: Nsid[];
|
|
14
|
+
}
|
|
15
|
+
export interface AtprotoAuthoritySourceConfig {
|
|
16
|
+
type: 'atproto';
|
|
17
|
+
mode: 'authority';
|
|
18
|
+
authority: string;
|
|
19
|
+
pattern?: string[];
|
|
20
|
+
}
|
|
21
|
+
export type AtprotoSourceConfig = AtprotoNsidsSourceConfig | AtprotoAuthoritySourceConfig;
|
|
22
|
+
export type SourceConfig = GitSourceConfig | AtprotoSourceConfig;
|
|
23
|
+
export interface PullConfig {
|
|
24
|
+
outdir: string;
|
|
25
|
+
clean?: boolean;
|
|
26
|
+
sources: SourceConfig[];
|
|
27
|
+
}
|
|
28
|
+
export interface ExportConfig {
|
|
29
|
+
outdir: string;
|
|
30
|
+
files?: string[];
|
|
31
|
+
clean?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export type FormatterConfig = {
|
|
34
|
+
type: 'prettier';
|
|
35
|
+
} | {
|
|
36
|
+
type: 'command';
|
|
37
|
+
command: string;
|
|
38
|
+
concurrency: number;
|
|
39
|
+
} | {
|
|
40
|
+
type: 'lsp';
|
|
41
|
+
command: string;
|
|
42
|
+
};
|
|
43
|
+
export interface ModulesConfig {
|
|
44
|
+
importSuffix?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface GenerateConfig {
|
|
47
|
+
outdir?: string;
|
|
48
|
+
files?: string[];
|
|
49
|
+
imports?: string[];
|
|
50
|
+
mappings?: ImportMapping[];
|
|
51
|
+
modules?: ModulesConfig;
|
|
52
|
+
clean?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface LexiconConfig {
|
|
55
|
+
formatter?: FormatterConfig;
|
|
56
|
+
generate?: GenerateConfig;
|
|
57
|
+
pull?: PullConfig;
|
|
58
|
+
export?: ExportConfig;
|
|
59
|
+
}
|
|
60
|
+
export type NormalizedConfig = LexiconConfig & {
|
|
158
61
|
formatter: FormatterConfig;
|
|
159
62
|
root: string;
|
|
160
63
|
};
|
|
64
|
+
export declare const lexiconConfigSchema: v.GenericSchema<unknown, Omit<NormalizedConfig, 'root'>>;
|
|
161
65
|
export declare const loadConfig: (configPath?: string) => Promise<NormalizedConfig>;
|
|
162
|
-
export {};
|
|
163
66
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGtE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AASlD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACd;AAED,MAAM,WAAW,4BAA4B;IAC5C,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,4BAA4B,CAAC;AAE1F,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAEjE,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC9C,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAuHF,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAKvF,CAAC;AAEH,eAAO,MAAM,UAAU,gBAAuB,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAgD9E,CAAC"}
|