@let-value/translate-extract 1.0.12 → 1.0.14
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/dist/bin/cli.cjs +24 -18
- package/dist/bin/cli.d.cts +1 -2
- package/dist/bin/cli.d.ts +1 -2
- package/dist/bin/cli.js +21 -17
- package/dist/bin/cli.js.map +1 -1
- package/dist/{run-Dl-tr2kf.js → run-C_k3ujlk.js} +45 -20
- package/dist/run-C_k3ujlk.js.map +1 -0
- package/dist/{run-XkKxn8kJ.cjs → run-DpRfSHSy.cjs} +45 -20
- package/dist/src/index.cjs +51 -53
- package/dist/src/index.d.cts +11 -8
- package/dist/src/index.d.cts.map +1 -1
- package/dist/src/index.d.ts +11 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +51 -53
- package/dist/src/index.js.map +1 -1
- package/package.json +10 -9
- package/dist/run-Dl-tr2kf.js.map +0 -1
package/dist/bin/cli.cjs
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const require_run = require('../run-
|
|
2
|
+
const require_run = require('../run-DpRfSHSy.cjs');
|
|
3
3
|
let node_util = require("node:util");
|
|
4
4
|
node_util = require_run.__toESM(node_util);
|
|
5
5
|
let cosmiconfig = require("cosmiconfig");
|
|
6
6
|
cosmiconfig = require_run.__toESM(cosmiconfig);
|
|
7
|
-
let
|
|
8
|
-
|
|
7
|
+
let chalk = require("chalk");
|
|
8
|
+
chalk = require_run.__toESM(chalk);
|
|
9
|
+
let loglevel = require("loglevel");
|
|
10
|
+
loglevel = require_run.__toESM(loglevel);
|
|
11
|
+
let loglevel_plugin_prefix = require("loglevel-plugin-prefix");
|
|
12
|
+
loglevel_plugin_prefix = require_run.__toESM(loglevel_plugin_prefix);
|
|
9
13
|
|
|
10
14
|
//#region src/logger.ts
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
const colors = {
|
|
16
|
+
trace: chalk.default.magenta,
|
|
17
|
+
debug: chalk.default.cyan,
|
|
18
|
+
info: chalk.default.blue,
|
|
19
|
+
warn: chalk.default.yellow,
|
|
20
|
+
error: chalk.default.red
|
|
21
|
+
};
|
|
22
|
+
loglevel_plugin_prefix.default.reg(loglevel.default);
|
|
23
|
+
loglevel_plugin_prefix.default.apply(loglevel.default, { format(level, name) {
|
|
24
|
+
const color = colors[level] ?? ((value) => value);
|
|
25
|
+
const scope = name ? ` ${chalk.default.green(`${name}:`)}` : "";
|
|
26
|
+
return `${color(level)}${scope}`;
|
|
27
|
+
} });
|
|
28
|
+
const logger = loglevel.default;
|
|
20
29
|
|
|
21
30
|
//#endregion
|
|
22
31
|
//#region bin/cli.ts
|
|
@@ -29,8 +38,7 @@ async function main() {
|
|
|
29
38
|
short: "l"
|
|
30
39
|
} }
|
|
31
40
|
});
|
|
32
|
-
const
|
|
33
|
-
const explorer = (0, cosmiconfig.cosmiconfig)(moduleName, { searchPlaces: [
|
|
41
|
+
const result = await (0, cosmiconfig.cosmiconfig)(moduleName, { searchPlaces: [
|
|
34
42
|
`.${moduleName}rc.js`,
|
|
35
43
|
`.${moduleName}rc.ts`,
|
|
36
44
|
`.${moduleName}rc.mjs`,
|
|
@@ -43,15 +51,14 @@ async function main() {
|
|
|
43
51
|
`${moduleName}.config.ts`,
|
|
44
52
|
`${moduleName}.config.mjs`,
|
|
45
53
|
`${moduleName}.config.cjs`
|
|
46
|
-
] });
|
|
47
|
-
const result = await explorer.search();
|
|
54
|
+
] }).search();
|
|
48
55
|
if (!result || !result.config) {
|
|
49
56
|
logger.error("No configuration file found");
|
|
50
57
|
process.exit(1);
|
|
51
58
|
}
|
|
52
59
|
const config = result.config;
|
|
53
60
|
config.logLevel = logLevel ?? config.logLevel;
|
|
54
|
-
logger.
|
|
61
|
+
logger.setLevel(config.logLevel);
|
|
55
62
|
const tasks = [];
|
|
56
63
|
for (const entrypoint of config.entrypoints) tasks.push(require_run.run(entrypoint, {
|
|
57
64
|
config,
|
|
@@ -60,7 +67,6 @@ async function main() {
|
|
|
60
67
|
await Promise.all(tasks);
|
|
61
68
|
}
|
|
62
69
|
main().catch((err) => {
|
|
63
|
-
const logger = createLogger();
|
|
64
70
|
logger.error(err);
|
|
65
71
|
process.exit(1);
|
|
66
72
|
});
|
package/dist/bin/cli.d.cts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export {};
|
|
1
|
+
export { };
|
package/dist/bin/cli.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export {};
|
|
1
|
+
export { };
|
package/dist/bin/cli.js
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { run } from "../run-
|
|
2
|
+
import { run } from "../run-C_k3ujlk.js";
|
|
3
3
|
import { parseArgs } from "node:util";
|
|
4
4
|
import { cosmiconfig } from "cosmiconfig";
|
|
5
|
-
import
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
import log from "loglevel";
|
|
7
|
+
import prefix from "loglevel-plugin-prefix";
|
|
6
8
|
|
|
7
9
|
//#region src/logger.ts
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const colors = {
|
|
11
|
+
trace: chalk.magenta,
|
|
12
|
+
debug: chalk.cyan,
|
|
13
|
+
info: chalk.blue,
|
|
14
|
+
warn: chalk.yellow,
|
|
15
|
+
error: chalk.red
|
|
16
|
+
};
|
|
17
|
+
prefix.reg(log);
|
|
18
|
+
prefix.apply(log, { format(level, name) {
|
|
19
|
+
const color = colors[level] ?? ((value) => value);
|
|
20
|
+
const scope = name ? ` ${chalk.green(`${name}:`)}` : "";
|
|
21
|
+
return `${color(level)}${scope}`;
|
|
22
|
+
} });
|
|
23
|
+
const logger = log;
|
|
17
24
|
|
|
18
25
|
//#endregion
|
|
19
26
|
//#region bin/cli.ts
|
|
@@ -26,8 +33,7 @@ async function main() {
|
|
|
26
33
|
short: "l"
|
|
27
34
|
} }
|
|
28
35
|
});
|
|
29
|
-
const
|
|
30
|
-
const explorer = cosmiconfig(moduleName, { searchPlaces: [
|
|
36
|
+
const result = await cosmiconfig(moduleName, { searchPlaces: [
|
|
31
37
|
`.${moduleName}rc.js`,
|
|
32
38
|
`.${moduleName}rc.ts`,
|
|
33
39
|
`.${moduleName}rc.mjs`,
|
|
@@ -40,15 +46,14 @@ async function main() {
|
|
|
40
46
|
`${moduleName}.config.ts`,
|
|
41
47
|
`${moduleName}.config.mjs`,
|
|
42
48
|
`${moduleName}.config.cjs`
|
|
43
|
-
] });
|
|
44
|
-
const result = await explorer.search();
|
|
49
|
+
] }).search();
|
|
45
50
|
if (!result || !result.config) {
|
|
46
51
|
logger.error("No configuration file found");
|
|
47
52
|
process.exit(1);
|
|
48
53
|
}
|
|
49
54
|
const config = result.config;
|
|
50
55
|
config.logLevel = logLevel ?? config.logLevel;
|
|
51
|
-
logger.
|
|
56
|
+
logger.setLevel(config.logLevel);
|
|
52
57
|
const tasks = [];
|
|
53
58
|
for (const entrypoint of config.entrypoints) tasks.push(run(entrypoint, {
|
|
54
59
|
config,
|
|
@@ -57,7 +62,6 @@ async function main() {
|
|
|
57
62
|
await Promise.all(tasks);
|
|
58
63
|
}
|
|
59
64
|
main().catch((err) => {
|
|
60
|
-
const logger = createLogger();
|
|
61
65
|
logger.error(err);
|
|
62
66
|
process.exit(1);
|
|
63
67
|
});
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","names":["tasks: Promise<unknown>[]"],"sources":["../../src/logger.ts","../../bin/cli.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"cli.js","names":["colors: Record<LogLevel, ChalkInstance>","tasks: Promise<unknown>[]"],"sources":["../../src/logger.ts","../../bin/cli.ts"],"sourcesContent":["import chalk, { type ChalkInstance } from \"chalk\";\nimport log, { type Logger, type LogLevelNames } from \"loglevel\";\nimport prefix from \"loglevel-plugin-prefix\";\n\nexport type LogLevel = LogLevelNames;\n\nconst colors: Record<LogLevel, ChalkInstance> = {\n trace: chalk.magenta,\n debug: chalk.cyan,\n info: chalk.blue,\n warn: chalk.yellow,\n error: chalk.red,\n};\n\nprefix.reg(log);\nprefix.apply(log, {\n format(level, name) {\n const color = colors[level as LogLevelNames] ?? ((value: string) => value);\n const scope = name ? ` ${chalk.green(`${name}:`)}` : \"\";\n\n return `${color(level)}${scope}`;\n },\n});\n\nexport const logger = log;\nexport type { Logger };\n","#!/usr/bin/env node\nimport { parseArgs } from \"node:util\";\nimport { cosmiconfig } from \"cosmiconfig\";\nimport type { ResolvedConfig } from \"../src/configuration.ts\";\nimport { type LogLevel, logger } from \"../src/logger.ts\";\nimport { run } from \"../src/run.ts\";\n\nconst moduleName = \"translate\";\n\nasync function main() {\n const {\n values: { logLevel },\n } = parseArgs({\n args: process.argv.slice(2),\n options: {\n logLevel: { type: \"string\", short: \"l\" },\n },\n });\n\n const explorer = cosmiconfig(moduleName, {\n searchPlaces: [\n `.${moduleName}rc.js`,\n `.${moduleName}rc.ts`,\n `.${moduleName}rc.mjs`,\n `.${moduleName}rc.cjs`,\n `.config/${moduleName}rc.js`,\n `.config/${moduleName}rc.ts`,\n `.config/${moduleName}rc.mjs`,\n `.config/${moduleName}rc.cjs`,\n `${moduleName}.config.js`,\n `${moduleName}.config.ts`,\n `${moduleName}.config.mjs`,\n `${moduleName}.config.cjs`,\n ],\n });\n\n const result = await explorer.search();\n if (!result || !result.config) {\n logger.error(\"No configuration file found\");\n process.exit(1);\n }\n\n const config = result.config as ResolvedConfig;\n config.logLevel = (logLevel as LogLevel) ?? config.logLevel;\n logger.setLevel(config.logLevel);\n\n const tasks: Promise<unknown>[] = [];\n for (const entrypoint of config.entrypoints) {\n tasks.push(run(entrypoint, { config, logger }));\n }\n\n await Promise.all(tasks);\n}\n\nvoid main().catch((err) => {\n logger.error(err);\n process.exit(1);\n});\n"],"mappings":";;;;;;;;;AAMA,MAAMA,SAA0C;CAC5C,OAAO,MAAM;CACb,OAAO,MAAM;CACb,MAAM,MAAM;CACZ,MAAM,MAAM;CACZ,OAAO,MAAM;CAChB;AAED,OAAO,IAAI,IAAI;AACf,OAAO,MAAM,KAAK,EACd,OAAO,OAAO,MAAM;CAChB,MAAM,QAAQ,OAAO,YAA6B,UAAkB;CACpE,MAAM,QAAQ,OAAO,IAAI,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK;AAErD,QAAO,GAAG,MAAM,MAAM,GAAG;GAEhC,CAAC;AAEF,MAAa,SAAS;;;;ACjBtB,MAAM,aAAa;AAEnB,eAAe,OAAO;CAClB,MAAM,EACF,QAAQ,EAAE,eACV,UAAU;EACV,MAAM,QAAQ,KAAK,MAAM,EAAE;EAC3B,SAAS,EACL,UAAU;GAAE,MAAM;GAAU,OAAO;GAAK,EAC3C;EACJ,CAAC;CAmBF,MAAM,SAAS,MAjBE,YAAY,YAAY,EACrC,cAAc;EACV,IAAI,WAAW;EACf,IAAI,WAAW;EACf,IAAI,WAAW;EACf,IAAI,WAAW;EACf,WAAW,WAAW;EACtB,WAAW,WAAW;EACtB,WAAW,WAAW;EACtB,WAAW,WAAW;EACtB,GAAG,WAAW;EACd,GAAG,WAAW;EACd,GAAG,WAAW;EACd,GAAG,WAAW;EACjB,EACJ,CAAC,CAE4B,QAAQ;AACtC,KAAI,CAAC,UAAU,CAAC,OAAO,QAAQ;AAC3B,SAAO,MAAM,8BAA8B;AAC3C,UAAQ,KAAK,EAAE;;CAGnB,MAAM,SAAS,OAAO;AACtB,QAAO,WAAY,YAAyB,OAAO;AACnD,QAAO,SAAS,OAAO,SAAS;CAEhC,MAAMC,QAA4B,EAAE;AACpC,MAAK,MAAM,cAAc,OAAO,YAC5B,OAAM,KAAK,IAAI,YAAY;EAAE;EAAQ;EAAQ,CAAC,CAAC;AAGnD,OAAM,QAAQ,IAAI,MAAM;;AAGvB,MAAM,CAAC,OAAO,QAAQ;AACvB,QAAO,MAAM,IAAI;AACjB,SAAQ,KAAK,EAAE;EACjB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import glob from "fast-glob";
|
|
2
2
|
|
|
3
3
|
//#region src/defer.ts
|
|
4
4
|
var Defer = class {
|
|
@@ -33,7 +33,7 @@ async function run(entrypoint, { config, logger }) {
|
|
|
33
33
|
generatedAt: /* @__PURE__ */ new Date(),
|
|
34
34
|
logger
|
|
35
35
|
};
|
|
36
|
-
logger?.info(
|
|
36
|
+
logger?.info(entrypoint, "starting extraction");
|
|
37
37
|
const resolvers = [];
|
|
38
38
|
const loaders = [];
|
|
39
39
|
const processors = [];
|
|
@@ -53,30 +53,49 @@ async function run(entrypoint, { config, logger }) {
|
|
|
53
53
|
return defer$1;
|
|
54
54
|
}
|
|
55
55
|
function defer(namespace) {
|
|
56
|
-
|
|
57
|
-
return defer$1.promise;
|
|
56
|
+
return getDeferred(namespace).promise;
|
|
58
57
|
}
|
|
59
58
|
function resolve(args) {
|
|
60
|
-
|
|
59
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
60
|
+
const skipped = args.path !== args.entrypoint && !context.config.walk || context.config.exclude.some((ex) => typeof ex === "function" ? ex(args) : ex.test(args.path));
|
|
61
|
+
logger?.debug({
|
|
62
|
+
entrypoint: entrypoint$1,
|
|
63
|
+
path,
|
|
64
|
+
namespace,
|
|
65
|
+
skipped
|
|
66
|
+
}, "resolve");
|
|
67
|
+
if (skipped) return;
|
|
61
68
|
queue.push({
|
|
62
69
|
type: "resolve",
|
|
63
70
|
args
|
|
64
71
|
});
|
|
65
|
-
getDeferred(
|
|
72
|
+
getDeferred(namespace).enqueue();
|
|
66
73
|
}
|
|
67
74
|
function load(args) {
|
|
75
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
76
|
+
logger?.debug({
|
|
77
|
+
entrypoint: entrypoint$1,
|
|
78
|
+
path,
|
|
79
|
+
namespace
|
|
80
|
+
}, "load");
|
|
68
81
|
queue.push({
|
|
69
82
|
type: "load",
|
|
70
83
|
args
|
|
71
84
|
});
|
|
72
|
-
getDeferred(
|
|
85
|
+
getDeferred(namespace).enqueue();
|
|
73
86
|
}
|
|
74
87
|
function process(args) {
|
|
88
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
89
|
+
logger?.debug({
|
|
90
|
+
entrypoint: entrypoint$1,
|
|
91
|
+
path,
|
|
92
|
+
namespace
|
|
93
|
+
}, "process");
|
|
75
94
|
queue.push({
|
|
76
95
|
type: "process",
|
|
77
96
|
args
|
|
78
97
|
});
|
|
79
|
-
getDeferred(
|
|
98
|
+
getDeferred(namespace).enqueue();
|
|
80
99
|
}
|
|
81
100
|
const build = {
|
|
82
101
|
context,
|
|
@@ -107,13 +126,12 @@ async function run(entrypoint, { config, logger }) {
|
|
|
107
126
|
logger?.debug({ plugin: plugin.name }, "setting up plugin");
|
|
108
127
|
plugin.setup(build);
|
|
109
128
|
}
|
|
110
|
-
const paths =
|
|
111
|
-
|
|
129
|
+
const paths = glob.isDynamicPattern(entrypoint.entrypoint) ? await glob(entrypoint.entrypoint, { onlyFiles: true }) : [entrypoint.entrypoint];
|
|
130
|
+
logger?.debug({
|
|
112
131
|
entrypoint: entrypoint.entrypoint,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
else for (const path of paths) resolve({
|
|
132
|
+
paths
|
|
133
|
+
}, "resolved paths");
|
|
134
|
+
for (const path of paths) resolve({
|
|
117
135
|
entrypoint: path,
|
|
118
136
|
path,
|
|
119
137
|
namespace: "source"
|
|
@@ -121,9 +139,16 @@ async function run(entrypoint, { config, logger }) {
|
|
|
121
139
|
async function processTask(task) {
|
|
122
140
|
const { type } = task;
|
|
123
141
|
let args = task.args;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
142
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
143
|
+
logger?.trace({
|
|
144
|
+
type,
|
|
145
|
+
entrypoint: entrypoint$1,
|
|
146
|
+
path,
|
|
147
|
+
namespace
|
|
148
|
+
}, "processing task");
|
|
149
|
+
for (const { filter, hook } of hooks[type]) {
|
|
150
|
+
if (filter.namespace !== namespace) continue;
|
|
151
|
+
if (filter.filter && !filter.filter.test(path)) continue;
|
|
127
152
|
const result = await hook(args);
|
|
128
153
|
if (result !== void 0) args = result;
|
|
129
154
|
}
|
|
@@ -131,7 +156,7 @@ async function run(entrypoint, { config, logger }) {
|
|
|
131
156
|
if (type === "resolve") load(args);
|
|
132
157
|
else if (type === "load") process(args);
|
|
133
158
|
}
|
|
134
|
-
getDeferred(
|
|
159
|
+
getDeferred(namespace).dequeue();
|
|
135
160
|
}
|
|
136
161
|
while (queue.length || Array.from(pending.values()).some((d) => d.pending > 0)) {
|
|
137
162
|
while (queue.length) {
|
|
@@ -142,9 +167,9 @@ async function run(entrypoint, { config, logger }) {
|
|
|
142
167
|
await Promise.all(Array.from(pending.values()).map((d) => d.promise));
|
|
143
168
|
await Promise.resolve();
|
|
144
169
|
}
|
|
145
|
-
logger?.info(
|
|
170
|
+
logger?.info(entrypoint, "extraction completed");
|
|
146
171
|
}
|
|
147
172
|
|
|
148
173
|
//#endregion
|
|
149
174
|
export { run };
|
|
150
|
-
//# sourceMappingURL=run-
|
|
175
|
+
//# sourceMappingURL=run-C_k3ujlk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-C_k3ujlk.js","names":["context: Context","resolvers: { filter: Filter; hook: ResolveHook }[]","loaders: { filter: Filter; hook: LoadHook }[]","processors: { filter: Filter; hook: ProcessHook }[]","queue: Task[]","defer","build: Build"],"sources":["../src/defer.ts","../src/run.ts"],"sourcesContent":["export class Defer {\n pending = 0;\n promise: Promise<void> = Promise.resolve();\n resolve?: () => void;\n\n enqueue() {\n if (this.pending++ === 0) {\n this.promise = new Promise<void>((res) => {\n this.resolve = res;\n });\n }\n }\n dequeue() {\n if (this.pending > 0 && --this.pending === 0) {\n this.resolve?.();\n }\n }\n}\n","import glob from \"fast-glob\";\nimport type { ResolvedConfig, ResolvedEntrypoint } from \"./configuration.ts\";\nimport { Defer } from \"./defer.ts\";\nimport type { Logger } from \"./logger.ts\";\nimport type {\n Build,\n Context,\n Filter,\n LoadArgs,\n LoadHook,\n ProcessArgs,\n ProcessHook,\n ResolveArgs,\n ResolveHook,\n} from \"./plugin.ts\";\n\nexport type Task =\n | {\n type: \"resolve\";\n args: ResolveArgs;\n }\n | {\n type: \"load\";\n args: LoadArgs;\n }\n | {\n type: \"process\";\n args: ProcessArgs;\n };\n\nexport async function run(\n entrypoint: ResolvedEntrypoint,\n { config, logger }: { config: ResolvedConfig; logger?: Logger },\n) {\n const destination = entrypoint?.destination ?? config.destination;\n const obsolete = entrypoint?.obsolete ?? config.obsolete;\n const exclude = entrypoint?.exclude ?? config.exclude;\n const walk = entrypoint?.walk ?? config.walk;\n\n const context: Context = {\n config: { ...config, destination, obsolete, exclude, walk },\n generatedAt: new Date(),\n logger,\n };\n\n logger?.info(entrypoint, \"starting extraction\");\n\n const resolvers: { filter: Filter; hook: ResolveHook }[] = [];\n const loaders: { filter: Filter; hook: LoadHook }[] = [];\n const processors: { filter: Filter; hook: ProcessHook }[] = [];\n const hooks = {\n resolve: resolvers,\n load: loaders,\n process: processors,\n };\n\n const pending = new Map<string, Defer>();\n const queue: Task[] = [];\n\n function getDeferred(namespace: string) {\n let defer = pending.get(namespace);\n if (defer === undefined) {\n defer = new Defer();\n pending.set(namespace, defer);\n }\n return defer;\n }\n\n function defer(namespace: string) {\n const defer = getDeferred(namespace);\n return defer.promise;\n }\n\n function resolve(args: ResolveArgs) {\n const { entrypoint, path, namespace } = args;\n const skipped =\n (args.path !== args.entrypoint && !context.config.walk) ||\n context.config.exclude.some((ex) => (typeof ex === \"function\" ? ex(args) : ex.test(args.path)));\n logger?.debug({ entrypoint, path, namespace, skipped }, \"resolve\");\n\n if (skipped) {\n return;\n }\n\n queue.push({ type: \"resolve\", args });\n getDeferred(namespace).enqueue();\n }\n\n function load(args: LoadArgs) {\n const { entrypoint, path, namespace } = args;\n logger?.debug({ entrypoint, path, namespace }, \"load\");\n\n queue.push({ type: \"load\", args });\n getDeferred(namespace).enqueue();\n }\n\n function process(args: ProcessArgs) {\n const { entrypoint, path, namespace } = args;\n logger?.debug({ entrypoint, path, namespace }, \"process\");\n\n queue.push({ type: \"process\", args });\n getDeferred(namespace).enqueue();\n }\n\n const build: Build = {\n context,\n resolve,\n load,\n process,\n defer,\n onResolve(filter, hook) {\n resolvers.push({ filter, hook });\n },\n onLoad(filter, hook) {\n loaders.push({ filter, hook });\n },\n onProcess(filter, hook) {\n processors.push({ filter, hook });\n },\n };\n\n for (const plugin of config.plugins) {\n logger?.debug({ plugin: plugin.name }, \"setting up plugin\");\n plugin.setup(build);\n }\n\n const paths = glob.isDynamicPattern(entrypoint.entrypoint)\n ? await glob(entrypoint.entrypoint, { onlyFiles: true })\n : [entrypoint.entrypoint];\n logger?.debug({ entrypoint: entrypoint.entrypoint, paths }, \"resolved paths\");\n\n for (const path of paths) {\n resolve({ entrypoint: path, path, namespace: \"source\" });\n }\n\n async function processTask(task: Task) {\n const { type } = task;\n let args = task.args;\n const { entrypoint, path, namespace } = args;\n logger?.trace({ type, entrypoint, path, namespace }, \"processing task\");\n\n for (const { filter, hook } of hooks[type]) {\n if (filter.namespace !== namespace) continue;\n if (filter.filter && !filter.filter.test(path)) continue;\n\n const result = await hook(args as never);\n if (result !== undefined) {\n args = result as never;\n }\n }\n\n if (args !== undefined) {\n if (type === \"resolve\") {\n load(args as never);\n } else if (type === \"load\") {\n process(args as never);\n }\n }\n\n getDeferred(namespace).dequeue();\n }\n\n while (queue.length || Array.from(pending.values()).some((d) => d.pending > 0)) {\n while (queue.length) {\n const task = queue.shift();\n if (!task) {\n break;\n }\n\n await processTask(task);\n }\n\n await Promise.all(Array.from(pending.values()).map((d) => d.promise));\n await Promise.resolve();\n }\n\n logger?.info(entrypoint, \"extraction completed\");\n}\n"],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
}) : target, mod));
|
|
22
22
|
|
|
23
23
|
//#endregion
|
|
24
|
-
let
|
|
25
|
-
|
|
24
|
+
let fast_glob = require("fast-glob");
|
|
25
|
+
fast_glob = __toESM(fast_glob);
|
|
26
26
|
|
|
27
27
|
//#region src/defer.ts
|
|
28
28
|
var Defer = class {
|
|
@@ -57,7 +57,7 @@ async function run(entrypoint, { config, logger }) {
|
|
|
57
57
|
generatedAt: /* @__PURE__ */ new Date(),
|
|
58
58
|
logger
|
|
59
59
|
};
|
|
60
|
-
logger?.info(
|
|
60
|
+
logger?.info(entrypoint, "starting extraction");
|
|
61
61
|
const resolvers = [];
|
|
62
62
|
const loaders = [];
|
|
63
63
|
const processors = [];
|
|
@@ -77,30 +77,49 @@ async function run(entrypoint, { config, logger }) {
|
|
|
77
77
|
return defer$1;
|
|
78
78
|
}
|
|
79
79
|
function defer(namespace) {
|
|
80
|
-
|
|
81
|
-
return defer$1.promise;
|
|
80
|
+
return getDeferred(namespace).promise;
|
|
82
81
|
}
|
|
83
82
|
function resolve(args) {
|
|
84
|
-
|
|
83
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
84
|
+
const skipped = args.path !== args.entrypoint && !context.config.walk || context.config.exclude.some((ex) => typeof ex === "function" ? ex(args) : ex.test(args.path));
|
|
85
|
+
logger?.debug({
|
|
86
|
+
entrypoint: entrypoint$1,
|
|
87
|
+
path,
|
|
88
|
+
namespace,
|
|
89
|
+
skipped
|
|
90
|
+
}, "resolve");
|
|
91
|
+
if (skipped) return;
|
|
85
92
|
queue.push({
|
|
86
93
|
type: "resolve",
|
|
87
94
|
args
|
|
88
95
|
});
|
|
89
|
-
getDeferred(
|
|
96
|
+
getDeferred(namespace).enqueue();
|
|
90
97
|
}
|
|
91
98
|
function load(args) {
|
|
99
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
100
|
+
logger?.debug({
|
|
101
|
+
entrypoint: entrypoint$1,
|
|
102
|
+
path,
|
|
103
|
+
namespace
|
|
104
|
+
}, "load");
|
|
92
105
|
queue.push({
|
|
93
106
|
type: "load",
|
|
94
107
|
args
|
|
95
108
|
});
|
|
96
|
-
getDeferred(
|
|
109
|
+
getDeferred(namespace).enqueue();
|
|
97
110
|
}
|
|
98
111
|
function process(args) {
|
|
112
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
113
|
+
logger?.debug({
|
|
114
|
+
entrypoint: entrypoint$1,
|
|
115
|
+
path,
|
|
116
|
+
namespace
|
|
117
|
+
}, "process");
|
|
99
118
|
queue.push({
|
|
100
119
|
type: "process",
|
|
101
120
|
args
|
|
102
121
|
});
|
|
103
|
-
getDeferred(
|
|
122
|
+
getDeferred(namespace).enqueue();
|
|
104
123
|
}
|
|
105
124
|
const build = {
|
|
106
125
|
context,
|
|
@@ -131,13 +150,12 @@ async function run(entrypoint, { config, logger }) {
|
|
|
131
150
|
logger?.debug({ plugin: plugin.name }, "setting up plugin");
|
|
132
151
|
plugin.setup(build);
|
|
133
152
|
}
|
|
134
|
-
const paths = (0,
|
|
135
|
-
|
|
153
|
+
const paths = fast_glob.default.isDynamicPattern(entrypoint.entrypoint) ? await (0, fast_glob.default)(entrypoint.entrypoint, { onlyFiles: true }) : [entrypoint.entrypoint];
|
|
154
|
+
logger?.debug({
|
|
136
155
|
entrypoint: entrypoint.entrypoint,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
else for (const path of paths) resolve({
|
|
156
|
+
paths
|
|
157
|
+
}, "resolved paths");
|
|
158
|
+
for (const path of paths) resolve({
|
|
141
159
|
entrypoint: path,
|
|
142
160
|
path,
|
|
143
161
|
namespace: "source"
|
|
@@ -145,9 +163,16 @@ async function run(entrypoint, { config, logger }) {
|
|
|
145
163
|
async function processTask(task) {
|
|
146
164
|
const { type } = task;
|
|
147
165
|
let args = task.args;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
166
|
+
const { entrypoint: entrypoint$1, path, namespace } = args;
|
|
167
|
+
logger?.trace({
|
|
168
|
+
type,
|
|
169
|
+
entrypoint: entrypoint$1,
|
|
170
|
+
path,
|
|
171
|
+
namespace
|
|
172
|
+
}, "processing task");
|
|
173
|
+
for (const { filter, hook } of hooks[type]) {
|
|
174
|
+
if (filter.namespace !== namespace) continue;
|
|
175
|
+
if (filter.filter && !filter.filter.test(path)) continue;
|
|
151
176
|
const result = await hook(args);
|
|
152
177
|
if (result !== void 0) args = result;
|
|
153
178
|
}
|
|
@@ -155,7 +180,7 @@ async function run(entrypoint, { config, logger }) {
|
|
|
155
180
|
if (type === "resolve") load(args);
|
|
156
181
|
else if (type === "load") process(args);
|
|
157
182
|
}
|
|
158
|
-
getDeferred(
|
|
183
|
+
getDeferred(namespace).dequeue();
|
|
159
184
|
}
|
|
160
185
|
while (queue.length || Array.from(pending.values()).some((d) => d.pending > 0)) {
|
|
161
186
|
while (queue.length) {
|
|
@@ -166,7 +191,7 @@ async function run(entrypoint, { config, logger }) {
|
|
|
166
191
|
await Promise.all(Array.from(pending.values()).map((d) => d.promise));
|
|
167
192
|
await Promise.resolve();
|
|
168
193
|
}
|
|
169
|
-
logger?.info(
|
|
194
|
+
logger?.info(entrypoint, "extraction completed");
|
|
170
195
|
}
|
|
171
196
|
|
|
172
197
|
//#endregion
|