@let-value/translate-extract 1.0.9 → 1.0.10

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,73 +1,74 @@
1
+ import { Locale } from "@let-value/translate";
1
2
  import { LevelWithSilent, Logger } from "pino";
2
3
  import { GetTextTranslationRecord } from "gettext-parser";
3
4
 
4
5
  //#region src/plugin.d.ts
5
6
  type MaybePromise<T> = T | Promise<T>;
6
- interface ExtractContext {
7
- entrypoint: string;
7
+ interface Context {
8
8
  config: ResolvedConfig;
9
9
  generatedAt: Date;
10
- locale: string;
11
10
  logger?: Logger;
12
11
  }
13
- interface ResolveArgs {
12
+ interface ResolveArgs<TInput = unknown> {
14
13
  entrypoint: string;
15
14
  path: string;
15
+ namespace: string;
16
+ data?: TInput;
16
17
  }
17
- type ResolveResult = ResolveArgs & {
18
+ interface ResolveResult<TInput = unknown> {
18
19
  entrypoint: string;
19
20
  path: string;
20
- };
21
- type ResolveHook = (args: ResolveArgs, ctx: ExtractContext) => MaybePromise<ResolveResult>;
22
- type LoadArgs = ResolveResult;
23
- type LoadResult = LoadArgs & {
24
- contents: string;
25
- };
26
- type LoadHook = (args: LoadArgs, ctx: ExtractContext) => MaybePromise<LoadResult | undefined>;
27
- type ExtractArgs = LoadResult;
28
- type ExtractResult = ResolveResult & {
29
- translations: unknown;
30
- };
31
- type ExtractHook = (args: ExtractArgs, ctx: ExtractContext) => MaybePromise<ExtractResult | undefined>;
32
- type CollectArgs = ExtractResult & {
33
- destination: string;
34
- };
35
- type CollectResult = ExtractResult & {
36
- destination: string;
37
- };
38
- type CollectHook = (args: CollectArgs, ctx: ExtractContext) => MaybePromise<CollectResult | undefined>;
39
- type GenerateArgs = {
21
+ namespace: string;
22
+ data?: TInput;
23
+ }
24
+ interface LoadArgs<TInput = unknown> {
40
25
  entrypoint: string;
41
26
  path: string;
42
- collected: CollectResult[];
27
+ namespace: string;
28
+ data?: TInput;
29
+ }
30
+ interface LoadResult<TInput = unknown> {
31
+ entrypoint: string;
32
+ path: string;
33
+ namespace: string;
34
+ data: TInput;
35
+ }
36
+ interface ProcessArgs<TInput = unknown> {
37
+ entrypoint: string;
38
+ path: string;
39
+ namespace: string;
40
+ data: TInput;
41
+ }
42
+ interface ProcessResult<TOutput = unknown> {
43
+ entrypoint: string;
44
+ path: string;
45
+ namespace: string;
46
+ data: TOutput;
47
+ }
48
+ type Filter = {
49
+ filter: RegExp;
50
+ namespace?: string;
43
51
  };
44
- type GenerateHook = (args: GenerateArgs, ctx: ExtractContext) => MaybePromise<void>;
45
- interface ExtractBuild {
46
- onResolve(options: {
47
- filter: RegExp;
48
- }, hook: ResolveHook): void;
49
- onLoad(options: {
50
- filter: RegExp;
51
- }, hook: LoadHook): void;
52
- onExtract(options: {
53
- filter: RegExp;
54
- }, hook: ExtractHook): void;
55
- onCollect(options: {
56
- filter: RegExp;
57
- }, hook: CollectHook): void;
58
- onGenerate(options: {
59
- filter: RegExp;
60
- }, hook: GenerateHook): void;
61
- resolvePath(args: ResolveArgs): void;
62
- context: ExtractContext;
63
- }
64
- interface ExtractorPlugin {
52
+ type ResolveHook<TInput = unknown> = (args: ResolveArgs<TInput>) => MaybePromise<ResolveResult<TInput> | undefined>;
53
+ type LoadHook<TInput = unknown> = (args: LoadArgs<TInput>) => MaybePromise<LoadResult<TInput> | undefined>;
54
+ type ProcessHook<TInput = unknown, TOutput = unknown> = (args: ProcessArgs<TInput>) => MaybePromise<ProcessResult<TOutput> | undefined>;
55
+ interface Build<TInput = unknown, TOutput = unknown> {
56
+ context: Context;
57
+ resolve(args: ResolveArgs<unknown>): void;
58
+ load(args: LoadArgs<unknown>): void;
59
+ process(args: ProcessArgs<unknown>): void;
60
+ defer(namespace: string): Promise<void>;
61
+ onResolve(options: Filter, hook: ResolveHook<TInput>): void;
62
+ onLoad(options: Filter, hook: LoadHook<TInput>): void;
63
+ onProcess(options: Filter, hook: ProcessHook<TInput, TOutput>): void;
64
+ }
65
+ interface Plugin<TInput = unknown, TOutput = unknown> {
65
66
  name: string;
66
- setup(build: ExtractBuild): void;
67
+ setup(build: Build<TInput, TOutput>): void;
67
68
  }
68
69
  //#endregion
69
- //#region src/plugins/core/core.d.ts
70
- declare function core(): ExtractorPlugin;
70
+ //#region src/plugins/cleanup/cleanup.d.ts
71
+ declare function cleanup(): Plugin;
71
72
  //#endregion
72
73
  //#region src/plugins/core/queries/types.d.ts
73
74
  interface Comments {
@@ -86,11 +87,17 @@ interface Translation {
86
87
  obsolete?: boolean;
87
88
  }
88
89
  //#endregion
90
+ //#region src/plugins/core/core.d.ts
91
+ declare function core(): Plugin<string, Translation[]>;
92
+ //#endregion
89
93
  //#region src/plugins/po/po.d.ts
94
+ interface Collected {
95
+ translations: GetTextTranslationRecord;
96
+ }
90
97
  declare function formatDate(date: Date): string;
91
98
  declare function collect(source: Translation[], locale?: string): GetTextTranslationRecord;
92
- declare function merge(sources: CollectResult[], existing: string | Buffer | undefined, obsolete: ObsoleteStrategy, locale: string, generatedAt: Date): string;
93
- declare function po(): ExtractorPlugin;
99
+ declare function merge(sources: Collected[], existing: string | Buffer | undefined, obsolete: ObsoleteStrategy, locale: string, generatedAt: Date): string;
100
+ declare function po(): Plugin;
94
101
  //#endregion
95
102
  //#region src/configuration.d.ts
96
103
  type DestinationFn = (args: {
@@ -98,36 +105,94 @@ type DestinationFn = (args: {
98
105
  entrypoint: string;
99
106
  path: string;
100
107
  }) => string;
101
- type ExcludeFn = (path: string) => boolean;
108
+ type ExcludeFn = (args: {
109
+ entrypoint: string;
110
+ path: string;
111
+ }) => boolean;
102
112
  type Exclude = RegExp | ExcludeFn;
103
113
  declare const defaultPlugins: {
104
114
  core: typeof core;
105
115
  po: typeof po;
116
+ cleanup: typeof cleanup;
106
117
  };
107
118
  type DefaultPlugins = typeof defaultPlugins;
119
+ /**
120
+ * Strategy to handle obsolete translations in existing locale files:
121
+ * - "mark": keep obsolete entries in the locale file but mark them as obsolete
122
+ * - "remove": remove obsolete entries from the locale file
123
+ */
108
124
  type ObsoleteStrategy = "mark" | "remove";
109
125
  interface EntrypointConfig {
110
126
  entrypoint: string;
111
127
  destination?: DestinationFn;
112
128
  obsolete?: ObsoleteStrategy;
129
+ walk?: boolean;
113
130
  exclude?: Exclude | Exclude[];
114
131
  }
115
132
  interface UserConfig {
116
- plugins?: ExtractorPlugin[] | ((defaultPlugins: DefaultPlugins) => ExtractorPlugin[]);
133
+ /**
134
+ * Default locale to use as the base for extraction
135
+ * @default "en"
136
+ * @see {@link Locale} for available locales
137
+ */
138
+ defaultLocale?: Locale;
139
+ /**
140
+ * Array of locales to extract translations for
141
+ * @default [defaultLocale]
142
+ * @see {@link Locale} for available locales
143
+ */
144
+ locales?: Locale[];
145
+ /**
146
+ * Array of plugins to use or a function to override the default plugins
147
+ * @default DefaultPlugins
148
+ * @see {@link DefaultPlugins} for available plugins
149
+ */
150
+ plugins?: Plugin[] | ((defaultPlugins: DefaultPlugins) => Plugin[]);
151
+ /**
152
+ * One or more entrypoints to extract translations from, could be:
153
+ * - file path, will be treated as a single file entrypoint
154
+ * - glob pattern will be expanded to match files, each treated as a separate entrypoint
155
+ * - configuration object with options for the entrypoint
156
+ * @see {@link EntrypointConfig} for configuration options
157
+ */
117
158
  entrypoints: string | EntrypointConfig | Array<string | EntrypointConfig>;
118
- defaultLocale?: string;
119
- locales?: string[];
159
+ /**
160
+ * Function to determine the destination path for each extracted locale file
161
+ * @default `./translations/entrypoint.locale.po`
162
+ * @see {@link DestinationFn}
163
+ * @see Can be overridden per entrypoint via `destination` in {@link EntrypointConfig
164
+ */
120
165
  destination?: DestinationFn;
166
+ /**
167
+ * Strategy to handle obsolete translations in existing locale files
168
+ * @default "mark"
169
+ * @see {@link ObsoleteStrategy} for available strategies
170
+ * @see Can be overridden per entrypoint via `obsolete` in {@link EntrypointConfig
171
+ */
121
172
  obsolete?: ObsoleteStrategy;
173
+ /**
174
+ * Whether to recursively walk dependencies of the entrypoints
175
+ * @default true
176
+ * @see Can be overridden per entrypoint via `walk` in {@link EntrypointConfig}.
177
+ */
122
178
  walk?: boolean;
123
- logLevel?: LevelWithSilent;
179
+ /**
180
+ * Paths or patterns to exclude from extraction, applied to all entrypoints
181
+ * @default [/node_modules/, /dist/, /build/]
182
+ * @see Can be overridden per entrypoint via `exclude` in {@link EntrypointConfig}.
183
+ */
124
184
  exclude?: Exclude | Exclude[];
185
+ /**
186
+ * Log level for the extraction process
187
+ * @default "info"
188
+ */
189
+ logLevel?: LevelWithSilent;
125
190
  }
126
191
  interface ResolvedEntrypoint extends Omit<EntrypointConfig, "exclude"> {
127
192
  exclude?: Exclude[];
128
193
  }
129
194
  interface ResolvedConfig {
130
- plugins: ExtractorPlugin[];
195
+ plugins: Plugin[];
131
196
  entrypoints: ResolvedEntrypoint[];
132
197
  defaultLocale: string;
133
198
  locales: string[];
@@ -137,19 +202,33 @@ interface ResolvedConfig {
137
202
  logLevel: LevelWithSilent;
138
203
  exclude: Exclude[];
139
204
  }
205
+ /**
206
+ * Type helper to make it easier to use translate.config.ts
207
+ * @param config - {@link UserConfig}.
208
+ */
140
209
  declare function defineConfig(config: UserConfig): ResolvedConfig;
141
210
  //#endregion
142
211
  //#region src/plugins/react/react.d.ts
143
- declare function react(): ExtractorPlugin;
212
+ declare function react(): Plugin<string, Translation[]>;
144
213
  //#endregion
145
214
  //#region src/run.d.ts
146
- declare function run(entrypoint: string, {
215
+ type Task = {
216
+ type: "resolve";
217
+ args: ResolveArgs;
218
+ } | {
219
+ type: "load";
220
+ args: LoadArgs;
221
+ } | {
222
+ type: "process";
223
+ args: ProcessArgs;
224
+ };
225
+ declare function run(entrypoint: ResolvedEntrypoint, {
147
226
  config,
148
227
  logger
149
228
  }: {
150
229
  config: ResolvedConfig;
151
230
  logger?: Logger;
152
- }): Promise<ExtractResult[]>;
231
+ }): Promise<void>;
153
232
  //#endregion
154
- export { CollectArgs, CollectHook, CollectResult, DestinationFn, EntrypointConfig, Exclude, ExcludeFn, ExtractArgs, ExtractBuild, ExtractContext, ExtractHook, ExtractResult, ExtractorPlugin, GenerateArgs, GenerateHook, LoadArgs, LoadHook, LoadResult, ObsoleteStrategy, ResolveArgs, ResolveHook, ResolveResult, ResolvedConfig, ResolvedEntrypoint, UserConfig, collect, core, defineConfig, formatDate, merge, po, react, run };
233
+ export { Build, Collected, Context, DestinationFn, EntrypointConfig, Exclude, ExcludeFn, Filter, LoadArgs, LoadHook, LoadResult, ObsoleteStrategy, Plugin, ProcessArgs, ProcessHook, ProcessResult, ResolveArgs, ResolveHook, ResolveResult, ResolvedConfig, ResolvedEntrypoint, Task, UserConfig, cleanup, collect, core, defineConfig, formatDate, merge, po, react, run };
155
234
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../../src/plugin.ts","../../../../src/plugins/core/core.ts","../../../../src/plugins/core/queries/types.ts","../../../../src/plugins/po/po.ts","../../../../src/configuration.ts","../../../../src/plugins/react/react.ts","../../../../src/run.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../../src/plugin.ts","../../../../src/plugins/cleanup/cleanup.ts","../../../../src/plugins/core/queries/types.ts","../../../../src/plugins/core/core.ts","../../../../src/plugins/po/po.ts","../../../../src/configuration.ts","../../../../src/plugins/react/react.ts","../../../../src/run.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,74 +1,75 @@
1
1
  import { LevelWithSilent, Logger } from "pino";
2
- import Parser from "tree-sitter";
3
2
  import { GetTextTranslationRecord } from "gettext-parser";
3
+ import Parser from "tree-sitter";
4
+ import { Locale } from "@let-value/translate";
4
5
 
5
6
  //#region src/plugin.d.ts
6
7
  type MaybePromise<T> = T | Promise<T>;
7
- interface ExtractContext {
8
- entrypoint: string;
8
+ interface Context {
9
9
  config: ResolvedConfig;
10
10
  generatedAt: Date;
11
- locale: string;
12
11
  logger?: Logger;
13
12
  }
14
- interface ResolveArgs {
13
+ interface ResolveArgs<TInput = unknown> {
15
14
  entrypoint: string;
16
15
  path: string;
16
+ namespace: string;
17
+ data?: TInput;
17
18
  }
18
- type ResolveResult = ResolveArgs & {
19
+ interface ResolveResult<TInput = unknown> {
19
20
  entrypoint: string;
20
21
  path: string;
21
- };
22
- type ResolveHook = (args: ResolveArgs, ctx: ExtractContext) => MaybePromise<ResolveResult>;
23
- type LoadArgs = ResolveResult;
24
- type LoadResult = LoadArgs & {
25
- contents: string;
26
- };
27
- type LoadHook = (args: LoadArgs, ctx: ExtractContext) => MaybePromise<LoadResult | undefined>;
28
- type ExtractArgs = LoadResult;
29
- type ExtractResult = ResolveResult & {
30
- translations: unknown;
31
- };
32
- type ExtractHook = (args: ExtractArgs, ctx: ExtractContext) => MaybePromise<ExtractResult | undefined>;
33
- type CollectArgs = ExtractResult & {
34
- destination: string;
35
- };
36
- type CollectResult = ExtractResult & {
37
- destination: string;
38
- };
39
- type CollectHook = (args: CollectArgs, ctx: ExtractContext) => MaybePromise<CollectResult | undefined>;
40
- type GenerateArgs = {
22
+ namespace: string;
23
+ data?: TInput;
24
+ }
25
+ interface LoadArgs<TInput = unknown> {
26
+ entrypoint: string;
27
+ path: string;
28
+ namespace: string;
29
+ data?: TInput;
30
+ }
31
+ interface LoadResult<TInput = unknown> {
32
+ entrypoint: string;
33
+ path: string;
34
+ namespace: string;
35
+ data: TInput;
36
+ }
37
+ interface ProcessArgs<TInput = unknown> {
41
38
  entrypoint: string;
42
39
  path: string;
43
- collected: CollectResult[];
40
+ namespace: string;
41
+ data: TInput;
42
+ }
43
+ interface ProcessResult<TOutput = unknown> {
44
+ entrypoint: string;
45
+ path: string;
46
+ namespace: string;
47
+ data: TOutput;
48
+ }
49
+ type Filter = {
50
+ filter: RegExp;
51
+ namespace?: string;
44
52
  };
45
- type GenerateHook = (args: GenerateArgs, ctx: ExtractContext) => MaybePromise<void>;
46
- interface ExtractBuild {
47
- onResolve(options: {
48
- filter: RegExp;
49
- }, hook: ResolveHook): void;
50
- onLoad(options: {
51
- filter: RegExp;
52
- }, hook: LoadHook): void;
53
- onExtract(options: {
54
- filter: RegExp;
55
- }, hook: ExtractHook): void;
56
- onCollect(options: {
57
- filter: RegExp;
58
- }, hook: CollectHook): void;
59
- onGenerate(options: {
60
- filter: RegExp;
61
- }, hook: GenerateHook): void;
62
- resolvePath(args: ResolveArgs): void;
63
- context: ExtractContext;
64
- }
65
- interface ExtractorPlugin {
53
+ type ResolveHook<TInput = unknown> = (args: ResolveArgs<TInput>) => MaybePromise<ResolveResult<TInput> | undefined>;
54
+ type LoadHook<TInput = unknown> = (args: LoadArgs<TInput>) => MaybePromise<LoadResult<TInput> | undefined>;
55
+ type ProcessHook<TInput = unknown, TOutput = unknown> = (args: ProcessArgs<TInput>) => MaybePromise<ProcessResult<TOutput> | undefined>;
56
+ interface Build<TInput = unknown, TOutput = unknown> {
57
+ context: Context;
58
+ resolve(args: ResolveArgs<unknown>): void;
59
+ load(args: LoadArgs<unknown>): void;
60
+ process(args: ProcessArgs<unknown>): void;
61
+ defer(namespace: string): Promise<void>;
62
+ onResolve(options: Filter, hook: ResolveHook<TInput>): void;
63
+ onLoad(options: Filter, hook: LoadHook<TInput>): void;
64
+ onProcess(options: Filter, hook: ProcessHook<TInput, TOutput>): void;
65
+ }
66
+ interface Plugin<TInput = unknown, TOutput = unknown> {
66
67
  name: string;
67
- setup(build: ExtractBuild): void;
68
+ setup(build: Build<TInput, TOutput>): void;
68
69
  }
69
70
  //#endregion
70
- //#region src/plugins/core/core.d.ts
71
- declare function core(): ExtractorPlugin;
71
+ //#region src/plugins/cleanup/cleanup.d.ts
72
+ declare function cleanup(): Plugin;
72
73
  //#endregion
73
74
  //#region src/plugins/core/queries/types.d.ts
74
75
  interface Comments {
@@ -87,11 +88,17 @@ interface Translation {
87
88
  obsolete?: boolean;
88
89
  }
89
90
  //#endregion
91
+ //#region src/plugins/core/core.d.ts
92
+ declare function core(): Plugin<string, Translation[]>;
93
+ //#endregion
90
94
  //#region src/plugins/po/po.d.ts
95
+ interface Collected {
96
+ translations: GetTextTranslationRecord;
97
+ }
91
98
  declare function formatDate(date: Date): string;
92
99
  declare function collect(source: Translation[], locale?: string): GetTextTranslationRecord;
93
- declare function merge(sources: CollectResult[], existing: string | Buffer | undefined, obsolete: ObsoleteStrategy, locale: string, generatedAt: Date): string;
94
- declare function po(): ExtractorPlugin;
100
+ declare function merge(sources: Collected[], existing: string | Buffer | undefined, obsolete: ObsoleteStrategy, locale: string, generatedAt: Date): string;
101
+ declare function po(): Plugin;
95
102
  //#endregion
96
103
  //#region src/configuration.d.ts
97
104
  type DestinationFn = (args: {
@@ -99,36 +106,94 @@ type DestinationFn = (args: {
99
106
  entrypoint: string;
100
107
  path: string;
101
108
  }) => string;
102
- type ExcludeFn = (path: string) => boolean;
109
+ type ExcludeFn = (args: {
110
+ entrypoint: string;
111
+ path: string;
112
+ }) => boolean;
103
113
  type Exclude = RegExp | ExcludeFn;
104
114
  declare const defaultPlugins: {
105
115
  core: typeof core;
106
116
  po: typeof po;
117
+ cleanup: typeof cleanup;
107
118
  };
108
119
  type DefaultPlugins = typeof defaultPlugins;
120
+ /**
121
+ * Strategy to handle obsolete translations in existing locale files:
122
+ * - "mark": keep obsolete entries in the locale file but mark them as obsolete
123
+ * - "remove": remove obsolete entries from the locale file
124
+ */
109
125
  type ObsoleteStrategy = "mark" | "remove";
110
126
  interface EntrypointConfig {
111
127
  entrypoint: string;
112
128
  destination?: DestinationFn;
113
129
  obsolete?: ObsoleteStrategy;
130
+ walk?: boolean;
114
131
  exclude?: Exclude | Exclude[];
115
132
  }
116
133
  interface UserConfig {
117
- plugins?: ExtractorPlugin[] | ((defaultPlugins: DefaultPlugins) => ExtractorPlugin[]);
134
+ /**
135
+ * Default locale to use as the base for extraction
136
+ * @default "en"
137
+ * @see {@link Locale} for available locales
138
+ */
139
+ defaultLocale?: Locale;
140
+ /**
141
+ * Array of locales to extract translations for
142
+ * @default [defaultLocale]
143
+ * @see {@link Locale} for available locales
144
+ */
145
+ locales?: Locale[];
146
+ /**
147
+ * Array of plugins to use or a function to override the default plugins
148
+ * @default DefaultPlugins
149
+ * @see {@link DefaultPlugins} for available plugins
150
+ */
151
+ plugins?: Plugin[] | ((defaultPlugins: DefaultPlugins) => Plugin[]);
152
+ /**
153
+ * One or more entrypoints to extract translations from, could be:
154
+ * - file path, will be treated as a single file entrypoint
155
+ * - glob pattern will be expanded to match files, each treated as a separate entrypoint
156
+ * - configuration object with options for the entrypoint
157
+ * @see {@link EntrypointConfig} for configuration options
158
+ */
118
159
  entrypoints: string | EntrypointConfig | Array<string | EntrypointConfig>;
119
- defaultLocale?: string;
120
- locales?: string[];
160
+ /**
161
+ * Function to determine the destination path for each extracted locale file
162
+ * @default `./translations/entrypoint.locale.po`
163
+ * @see {@link DestinationFn}
164
+ * @see Can be overridden per entrypoint via `destination` in {@link EntrypointConfig
165
+ */
121
166
  destination?: DestinationFn;
167
+ /**
168
+ * Strategy to handle obsolete translations in existing locale files
169
+ * @default "mark"
170
+ * @see {@link ObsoleteStrategy} for available strategies
171
+ * @see Can be overridden per entrypoint via `obsolete` in {@link EntrypointConfig
172
+ */
122
173
  obsolete?: ObsoleteStrategy;
174
+ /**
175
+ * Whether to recursively walk dependencies of the entrypoints
176
+ * @default true
177
+ * @see Can be overridden per entrypoint via `walk` in {@link EntrypointConfig}.
178
+ */
123
179
  walk?: boolean;
124
- logLevel?: LevelWithSilent;
180
+ /**
181
+ * Paths or patterns to exclude from extraction, applied to all entrypoints
182
+ * @default [/node_modules/, /dist/, /build/]
183
+ * @see Can be overridden per entrypoint via `exclude` in {@link EntrypointConfig}.
184
+ */
125
185
  exclude?: Exclude | Exclude[];
186
+ /**
187
+ * Log level for the extraction process
188
+ * @default "info"
189
+ */
190
+ logLevel?: LevelWithSilent;
126
191
  }
127
192
  interface ResolvedEntrypoint extends Omit<EntrypointConfig, "exclude"> {
128
193
  exclude?: Exclude[];
129
194
  }
130
195
  interface ResolvedConfig {
131
- plugins: ExtractorPlugin[];
196
+ plugins: Plugin[];
132
197
  entrypoints: ResolvedEntrypoint[];
133
198
  defaultLocale: string;
134
199
  locales: string[];
@@ -138,19 +203,33 @@ interface ResolvedConfig {
138
203
  logLevel: LevelWithSilent;
139
204
  exclude: Exclude[];
140
205
  }
206
+ /**
207
+ * Type helper to make it easier to use translate.config.ts
208
+ * @param config - {@link UserConfig}.
209
+ */
141
210
  declare function defineConfig(config: UserConfig): ResolvedConfig;
142
211
  //#endregion
143
212
  //#region src/plugins/react/react.d.ts
144
- declare function react(): ExtractorPlugin;
213
+ declare function react(): Plugin<string, Translation[]>;
145
214
  //#endregion
146
215
  //#region src/run.d.ts
147
- declare function run(entrypoint: string, {
216
+ type Task = {
217
+ type: "resolve";
218
+ args: ResolveArgs;
219
+ } | {
220
+ type: "load";
221
+ args: LoadArgs;
222
+ } | {
223
+ type: "process";
224
+ args: ProcessArgs;
225
+ };
226
+ declare function run(entrypoint: ResolvedEntrypoint, {
148
227
  config,
149
228
  logger
150
229
  }: {
151
230
  config: ResolvedConfig;
152
231
  logger?: Logger;
153
- }): Promise<ExtractResult[]>;
232
+ }): Promise<void>;
154
233
  //#endregion
155
- export { CollectArgs, CollectHook, CollectResult, DestinationFn, EntrypointConfig, Exclude, ExcludeFn, ExtractArgs, ExtractBuild, ExtractContext, ExtractHook, ExtractResult, ExtractorPlugin, GenerateArgs, GenerateHook, LoadArgs, LoadHook, LoadResult, ObsoleteStrategy, ResolveArgs, ResolveHook, ResolveResult, ResolvedConfig, ResolvedEntrypoint, UserConfig, collect, core, defineConfig, formatDate, merge, po, react, run };
234
+ export { Build, Collected, Context, DestinationFn, EntrypointConfig, Exclude, ExcludeFn, Filter, LoadArgs, LoadHook, LoadResult, ObsoleteStrategy, Plugin, ProcessArgs, ProcessHook, ProcessResult, ResolveArgs, ResolveHook, ResolveResult, ResolvedConfig, ResolvedEntrypoint, Task, UserConfig, cleanup, collect, core, defineConfig, formatDate, merge, po, react, run };
156
235
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/plugin.ts","../../../../src/plugins/core/core.ts","../../../../src/plugins/core/queries/types.ts","../../../../src/plugins/po/po.ts","../../../../src/configuration.ts","../../../../src/plugins/react/react.ts","../../../../src/run.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/plugin.ts","../../../../src/plugins/cleanup/cleanup.ts","../../../../src/plugins/core/queries/types.ts","../../../../src/plugins/core/core.ts","../../../../src/plugins/po/po.ts","../../../../src/configuration.ts","../../../../src/plugins/react/react.ts","../../../../src/run.ts"],"sourcesContent":[],"mappings":"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"}