@kubb/fabric-core 0.1.6 → 0.1.7
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/{App-Dvetv2V_.d.ts → App-DVWD6TgC.d.cts} +17 -6
- package/dist/{App-Cplfh8QA.d.cts → App-_vPNh477.d.ts} +17 -6
- package/dist/defineProperty-BtekiGIK.js +332 -0
- package/dist/defineProperty-BtekiGIK.js.map +1 -0
- package/dist/defineProperty-CspRhtP3.cjs +364 -0
- package/dist/defineProperty-CspRhtP3.cjs.map +1 -0
- package/dist/{index-Agz-2M75.d.ts → index-CfV-59_M.d.ts} +5 -5
- package/dist/{index-C3GyFwE1.d.cts → index-DVok6g82.d.cts} +5 -5
- package/dist/index.cjs +32 -26
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +32 -25
- package/dist/index.js.map +1 -1
- package/dist/parsers/typescript.d.cts +2 -2
- package/dist/parsers/typescript.d.ts +2 -2
- package/dist/parsers.d.cts +2 -2
- package/dist/parsers.d.ts +2 -2
- package/dist/plugins.cjs +66 -27
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.d.cts +29 -12
- package/dist/plugins.d.ts +29 -12
- package/dist/plugins.js +65 -29
- package/dist/plugins.js.map +1 -1
- package/dist/types.d.cts +2 -2
- package/dist/types.d.ts +2 -2
- package/dist/{typescriptParser-CxGhFQXh.d.cts → typescriptParser-BM90H8Tx.d.cts} +2 -2
- package/dist/{typescriptParser-B49WHoGL.d.ts → typescriptParser-Chjs-RhT.d.ts} +2 -2
- package/package.json +4 -2
- package/src/App.ts +12 -3
- package/src/FileProcessor.ts +41 -17
- package/src/defineApp.ts +3 -3
- package/src/plugins/barrelPlugin.ts +24 -6
- package/src/plugins/fsPlugin.ts +30 -29
- package/src/plugins/index.ts +1 -0
- package/src/plugins/progressPlugin.ts +48 -0
- package/dist/defineProperty-3OJdpith.js +0 -168
- package/dist/defineProperty-3OJdpith.js.map +0 -1
- package/dist/defineProperty-CjCLDutJ.cjs +0 -201
- package/dist/defineProperty-CjCLDutJ.cjs.map +0 -1
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
const require_trimExtName = require('./trimExtName-Bb4zGVF1.cjs');
|
|
2
|
+
let natural_orderby = require("natural-orderby");
|
|
3
|
+
natural_orderby = require_trimExtName.__toESM(natural_orderby);
|
|
4
|
+
let node_crypto = require("node:crypto");
|
|
5
|
+
node_crypto = require_trimExtName.__toESM(node_crypto);
|
|
6
|
+
let node_path = require("node:path");
|
|
7
|
+
node_path = require_trimExtName.__toESM(node_path);
|
|
8
|
+
|
|
9
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/checkPrivateRedeclaration.js
|
|
10
|
+
function _checkPrivateRedeclaration(e$2, t$5) {
|
|
11
|
+
if (t$5.has(e$2)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldInitSpec.js
|
|
16
|
+
function _classPrivateFieldInitSpec(e$2, t$5, a$1) {
|
|
17
|
+
_checkPrivateRedeclaration(e$2, t$5), t$5.set(e$2, a$1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/assertClassBrand.js
|
|
22
|
+
function _assertClassBrand(e$2, t$5, n$4) {
|
|
23
|
+
if ("function" == typeof e$2 ? e$2 === t$5 : e$2.has(t$5)) return arguments.length < 3 ? t$5 : n$4;
|
|
24
|
+
throw new TypeError("Private element is not present on this object");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateFieldGet2.js
|
|
29
|
+
function _classPrivateFieldGet2(s, a$1) {
|
|
30
|
+
return s.get(_assertClassBrand(s, a$1));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/lazyDataLastImpl-BDhrIOwR.js
|
|
35
|
+
function e$1(e$2, t$5, n$4) {
|
|
36
|
+
let r$4 = (n$5) => e$2(n$5, ...t$5);
|
|
37
|
+
return n$4 === void 0 ? r$4 : Object.assign(r$4, {
|
|
38
|
+
lazy: n$4,
|
|
39
|
+
lazyArgs: t$5
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purry-DH9cw9sy.js
|
|
45
|
+
function t$3(t$5, n$4, r$4) {
|
|
46
|
+
let i$2 = t$5.length - n$4.length;
|
|
47
|
+
if (i$2 === 0) return t$5(...n$4);
|
|
48
|
+
if (i$2 === 1) return e$1(t$5, n$4, r$4);
|
|
49
|
+
throw Error(`Wrong number of arguments`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/utilityEvaluators-DORpnx39.js
|
|
54
|
+
const e = {
|
|
55
|
+
done: !0,
|
|
56
|
+
hasNext: !1
|
|
57
|
+
}, t$1 = {
|
|
58
|
+
done: !1,
|
|
59
|
+
hasNext: !1
|
|
60
|
+
}, n$3 = () => e, r$3 = (e$2) => ({
|
|
61
|
+
hasNext: !0,
|
|
62
|
+
next: e$2,
|
|
63
|
+
done: !1
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/pipe-jLehR9-P.js
|
|
68
|
+
function t$4(e$2, ...t$5) {
|
|
69
|
+
let a$1 = e$2, o = t$5.map((e$3) => `lazy` in e$3 ? r$2(e$3) : void 0), s = 0;
|
|
70
|
+
for (; s < t$5.length;) {
|
|
71
|
+
if (o[s] === void 0 || !i$1(a$1)) {
|
|
72
|
+
let e$4 = t$5[s];
|
|
73
|
+
a$1 = e$4(a$1), s += 1;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
let e$3 = [];
|
|
77
|
+
for (let n$4 = s; n$4 < t$5.length; n$4++) {
|
|
78
|
+
let t$6 = o[n$4];
|
|
79
|
+
if (t$6 === void 0 || (e$3.push(t$6), t$6.isSingle)) break;
|
|
80
|
+
}
|
|
81
|
+
let r$4 = [];
|
|
82
|
+
for (let t$6 of a$1) if (n$2(t$6, r$4, e$3)) break;
|
|
83
|
+
let { isSingle: c } = e$3.at(-1);
|
|
84
|
+
a$1 = c ? r$4[0] : r$4, s += e$3.length;
|
|
85
|
+
}
|
|
86
|
+
return a$1;
|
|
87
|
+
}
|
|
88
|
+
function n$2(t$5, r$4, i$2) {
|
|
89
|
+
if (i$2.length === 0) return r$4.push(t$5), !1;
|
|
90
|
+
let a$1 = t$5, o = t$1, s = !1;
|
|
91
|
+
for (let [e$2, t$6] of i$2.entries()) {
|
|
92
|
+
let { index: c, items: l } = t$6;
|
|
93
|
+
if (l.push(a$1), o = t$6(a$1, c, l), t$6.index += 1, o.hasNext) {
|
|
94
|
+
var _o$hasMany;
|
|
95
|
+
if ((_o$hasMany = o.hasMany) !== null && _o$hasMany !== void 0 ? _o$hasMany : !1) {
|
|
96
|
+
for (let t$7 of o.next) if (n$2(t$7, r$4, i$2.slice(e$2 + 1))) return !0;
|
|
97
|
+
return s;
|
|
98
|
+
}
|
|
99
|
+
a$1 = o.next;
|
|
100
|
+
}
|
|
101
|
+
if (!o.hasNext) break;
|
|
102
|
+
o.done && (s = !0);
|
|
103
|
+
}
|
|
104
|
+
return o.hasNext && r$4.push(a$1), s;
|
|
105
|
+
}
|
|
106
|
+
function r$2(e$2) {
|
|
107
|
+
var _t$single;
|
|
108
|
+
let { lazy: t$5, lazyArgs: n$4 } = e$2, r$4 = t$5(...n$4);
|
|
109
|
+
return Object.assign(r$4, {
|
|
110
|
+
isSingle: (_t$single = t$5.single) !== null && _t$single !== void 0 ? _t$single : !1,
|
|
111
|
+
index: 0,
|
|
112
|
+
items: []
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function i$1(e$2) {
|
|
116
|
+
return typeof e$2 == `string` || typeof e$2 == `object` && !!e$2 && Symbol.iterator in e$2;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purryFromLazy-3oywCNIb.js
|
|
121
|
+
function t$2(t$5, n$4) {
|
|
122
|
+
let r$4 = n$4.length - t$5.length;
|
|
123
|
+
if (r$4 === 1) {
|
|
124
|
+
let [r$5, ...i$2] = n$4;
|
|
125
|
+
return t$4(r$5, {
|
|
126
|
+
lazy: t$5,
|
|
127
|
+
lazyArgs: i$2
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (r$4 === 0) {
|
|
131
|
+
let r$5 = {
|
|
132
|
+
lazy: t$5,
|
|
133
|
+
lazyArgs: n$4
|
|
134
|
+
};
|
|
135
|
+
return Object.assign((t$6) => t$4(t$6, r$5), r$5);
|
|
136
|
+
}
|
|
137
|
+
throw Error(`Wrong number of arguments`);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isDeepEqual-jLo35Woq.js
|
|
142
|
+
function t(...t$5) {
|
|
143
|
+
return t$3(n$1, t$5);
|
|
144
|
+
}
|
|
145
|
+
function n$1(e$2, t$5) {
|
|
146
|
+
if (e$2 === t$5 || Object.is(e$2, t$5)) return !0;
|
|
147
|
+
if (typeof e$2 != `object` || typeof t$5 != `object` || e$2 === null || t$5 === null || Object.getPrototypeOf(e$2) !== Object.getPrototypeOf(t$5)) return !1;
|
|
148
|
+
if (Array.isArray(e$2)) return r$1(e$2, t$5);
|
|
149
|
+
if (e$2 instanceof Map) return i(e$2, t$5);
|
|
150
|
+
if (e$2 instanceof Set) return a(e$2, t$5);
|
|
151
|
+
if (e$2 instanceof Date) return e$2.getTime() === t$5.getTime();
|
|
152
|
+
if (e$2 instanceof RegExp) return e$2.toString() === t$5.toString();
|
|
153
|
+
if (Object.keys(e$2).length !== Object.keys(t$5).length) return !1;
|
|
154
|
+
for (let [r$4, i$2] of Object.entries(e$2)) if (!(r$4 in t$5) || !n$1(i$2, t$5[r$4])) return !1;
|
|
155
|
+
return !0;
|
|
156
|
+
}
|
|
157
|
+
function r$1(e$2, t$5) {
|
|
158
|
+
if (e$2.length !== t$5.length) return !1;
|
|
159
|
+
for (let [r$4, i$2] of e$2.entries()) if (!n$1(i$2, t$5[r$4])) return !1;
|
|
160
|
+
return !0;
|
|
161
|
+
}
|
|
162
|
+
function i(e$2, t$5) {
|
|
163
|
+
if (e$2.size !== t$5.size) return !1;
|
|
164
|
+
for (let [r$4, i$2] of e$2.entries()) if (!t$5.has(r$4) || !n$1(i$2, t$5.get(r$4))) return !1;
|
|
165
|
+
return !0;
|
|
166
|
+
}
|
|
167
|
+
function a(e$2, t$5) {
|
|
168
|
+
if (e$2.size !== t$5.size) return !1;
|
|
169
|
+
let r$4 = [...t$5];
|
|
170
|
+
for (let t$6 of e$2) {
|
|
171
|
+
let e$3 = !1;
|
|
172
|
+
for (let [i$2, a$1] of r$4.entries()) if (n$1(t$6, a$1)) {
|
|
173
|
+
e$3 = !0, r$4.splice(i$2, 1);
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
if (!e$3) return !1;
|
|
177
|
+
}
|
|
178
|
+
return !0;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
//#endregion
|
|
182
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/uniqueBy-C_PxkF_D.js
|
|
183
|
+
function n(...e$2) {
|
|
184
|
+
return t$2(r, e$2);
|
|
185
|
+
}
|
|
186
|
+
function r(t$5) {
|
|
187
|
+
let n$4 = t$5, r$4 = /* @__PURE__ */ new Set();
|
|
188
|
+
return (t$6, i$2, a$1) => {
|
|
189
|
+
let o = n$4(t$6, i$2, a$1);
|
|
190
|
+
return r$4.has(o) ? t$1 : (r$4.add(o), {
|
|
191
|
+
done: !1,
|
|
192
|
+
hasNext: !0,
|
|
193
|
+
next: t$6
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
//#endregion
|
|
199
|
+
//#region src/createFile.ts
|
|
200
|
+
function hashObject(obj) {
|
|
201
|
+
const str = JSON.stringify(obj, Object.keys(obj).sort());
|
|
202
|
+
return (0, node_crypto.createHash)("sha256").update(str).digest("hex");
|
|
203
|
+
}
|
|
204
|
+
function combineSources(sources) {
|
|
205
|
+
return n(sources, (obj) => [
|
|
206
|
+
obj.name,
|
|
207
|
+
obj.isExportable,
|
|
208
|
+
obj.isTypeOnly
|
|
209
|
+
]);
|
|
210
|
+
}
|
|
211
|
+
function combineExports(exports$1) {
|
|
212
|
+
return (0, natural_orderby.orderBy)(exports$1, [
|
|
213
|
+
(v) => !!Array.isArray(v.name),
|
|
214
|
+
(v) => !v.isTypeOnly,
|
|
215
|
+
(v) => v.path,
|
|
216
|
+
(v) => !!v.name,
|
|
217
|
+
(v) => Array.isArray(v.name) ? (0, natural_orderby.orderBy)(v.name) : v.name
|
|
218
|
+
]).reduce((prev, curr) => {
|
|
219
|
+
const name = curr.name;
|
|
220
|
+
const prevByPath = prev.findLast((imp) => imp.path === curr.path);
|
|
221
|
+
if (prev.findLast((imp) => imp.path === curr.path && t(imp.name, name) && imp.isTypeOnly)) return prev;
|
|
222
|
+
if (prev.findLast((imp) => imp.path === curr.path && t(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias) || Array.isArray(name) && !name.length || (prevByPath === null || prevByPath === void 0 ? void 0 : prevByPath.asAlias) && !curr.asAlias) return prev;
|
|
223
|
+
if (!prevByPath) return [...prev, {
|
|
224
|
+
...curr,
|
|
225
|
+
name: Array.isArray(name) ? [...new Set(name)] : name
|
|
226
|
+
}];
|
|
227
|
+
if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {
|
|
228
|
+
prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])];
|
|
229
|
+
return prev;
|
|
230
|
+
}
|
|
231
|
+
return [...prev, curr];
|
|
232
|
+
}, []);
|
|
233
|
+
}
|
|
234
|
+
function combineImports(imports, exports$1, source) {
|
|
235
|
+
return (0, natural_orderby.orderBy)(imports, [
|
|
236
|
+
(v) => !!Array.isArray(v.name),
|
|
237
|
+
(v) => !v.isTypeOnly,
|
|
238
|
+
(v) => v.path,
|
|
239
|
+
(v) => !!v.name,
|
|
240
|
+
(v) => Array.isArray(v.name) ? (0, natural_orderby.orderBy)(v.name) : v.name
|
|
241
|
+
]).reduce((prev, curr) => {
|
|
242
|
+
let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name;
|
|
243
|
+
const hasImportInSource = (importName) => {
|
|
244
|
+
if (!source) return true;
|
|
245
|
+
const checker = (name$1) => {
|
|
246
|
+
return name$1 && source.includes(name$1);
|
|
247
|
+
};
|
|
248
|
+
return checker(importName) || exports$1.some(({ name: name$1 }) => Array.isArray(name$1) ? name$1.some(checker) : checker(name$1));
|
|
249
|
+
};
|
|
250
|
+
if (curr.path === curr.root) return prev;
|
|
251
|
+
if (Array.isArray(name)) name = name.filter((item) => typeof item === "string" ? hasImportInSource(item) : hasImportInSource(item.propertyName));
|
|
252
|
+
const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly);
|
|
253
|
+
const uniquePrev = prev.findLast((imp) => imp.path === curr.path && t(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly);
|
|
254
|
+
if (prev.findLast((imp) => imp.path === curr.path && t(imp.name, name) && imp.isTypeOnly)) return prev;
|
|
255
|
+
if (uniquePrev || Array.isArray(name) && !name.length) return prev;
|
|
256
|
+
if (!prevByPath) return [...prev, {
|
|
257
|
+
...curr,
|
|
258
|
+
name
|
|
259
|
+
}];
|
|
260
|
+
if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {
|
|
261
|
+
prevByPath.name = [...new Set([...prevByPath.name, ...name])];
|
|
262
|
+
return prev;
|
|
263
|
+
}
|
|
264
|
+
if (!Array.isArray(name) && name && !hasImportInSource(name)) return prev;
|
|
265
|
+
return [...prev, curr];
|
|
266
|
+
}, []);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Helper to create a file with name and id set
|
|
270
|
+
*/
|
|
271
|
+
function createFile(file) {
|
|
272
|
+
var _file$exports, _file$imports, _file$sources;
|
|
273
|
+
const extname = node_path.default.extname(file.baseName);
|
|
274
|
+
if (!extname) throw new Error(`No extname found for ${file.baseName}`);
|
|
275
|
+
const source = file.sources.map((item) => item.value).join("\n\n");
|
|
276
|
+
const exports$1 = ((_file$exports = file.exports) === null || _file$exports === void 0 ? void 0 : _file$exports.length) ? combineExports(file.exports) : [];
|
|
277
|
+
const imports = ((_file$imports = file.imports) === null || _file$imports === void 0 ? void 0 : _file$imports.length) && source ? combineImports(file.imports, exports$1, source) : [];
|
|
278
|
+
const sources = ((_file$sources = file.sources) === null || _file$sources === void 0 ? void 0 : _file$sources.length) ? combineSources(file.sources) : [];
|
|
279
|
+
return {
|
|
280
|
+
...file,
|
|
281
|
+
id: hashObject({ path: file.path }),
|
|
282
|
+
name: require_trimExtName.trimExtName(file.baseName),
|
|
283
|
+
extname,
|
|
284
|
+
imports,
|
|
285
|
+
exports: exports$1,
|
|
286
|
+
sources,
|
|
287
|
+
meta: file.meta || {}
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
//#endregion
|
|
292
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/typeof.js
|
|
293
|
+
function _typeof(o) {
|
|
294
|
+
"@babel/helpers - typeof";
|
|
295
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o$1) {
|
|
296
|
+
return typeof o$1;
|
|
297
|
+
} : function(o$1) {
|
|
298
|
+
return o$1 && "function" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? "symbol" : typeof o$1;
|
|
299
|
+
}, _typeof(o);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
//#endregion
|
|
303
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/toPrimitive.js
|
|
304
|
+
function toPrimitive(t$5, r$4) {
|
|
305
|
+
if ("object" != _typeof(t$5) || !t$5) return t$5;
|
|
306
|
+
var e$2 = t$5[Symbol.toPrimitive];
|
|
307
|
+
if (void 0 !== e$2) {
|
|
308
|
+
var i$2 = e$2.call(t$5, r$4 || "default");
|
|
309
|
+
if ("object" != _typeof(i$2)) return i$2;
|
|
310
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
311
|
+
}
|
|
312
|
+
return ("string" === r$4 ? String : Number)(t$5);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
//#endregion
|
|
316
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/toPropertyKey.js
|
|
317
|
+
function toPropertyKey(t$5) {
|
|
318
|
+
var i$2 = toPrimitive(t$5, "string");
|
|
319
|
+
return "symbol" == _typeof(i$2) ? i$2 : i$2 + "";
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
//#endregion
|
|
323
|
+
//#region \0@oxc-project+runtime@0.95.0/helpers/defineProperty.js
|
|
324
|
+
function _defineProperty(e$2, r$4, t$5) {
|
|
325
|
+
return (r$4 = toPropertyKey(r$4)) in e$2 ? Object.defineProperty(e$2, r$4, {
|
|
326
|
+
value: t$5,
|
|
327
|
+
enumerable: !0,
|
|
328
|
+
configurable: !0,
|
|
329
|
+
writable: !0
|
|
330
|
+
}) : e$2[r$4] = t$5, e$2;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
//#endregion
|
|
334
|
+
Object.defineProperty(exports, '_assertClassBrand', {
|
|
335
|
+
enumerable: true,
|
|
336
|
+
get: function () {
|
|
337
|
+
return _assertClassBrand;
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
Object.defineProperty(exports, '_classPrivateFieldGet2', {
|
|
341
|
+
enumerable: true,
|
|
342
|
+
get: function () {
|
|
343
|
+
return _classPrivateFieldGet2;
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
Object.defineProperty(exports, '_classPrivateFieldInitSpec', {
|
|
347
|
+
enumerable: true,
|
|
348
|
+
get: function () {
|
|
349
|
+
return _classPrivateFieldInitSpec;
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
Object.defineProperty(exports, '_defineProperty', {
|
|
353
|
+
enumerable: true,
|
|
354
|
+
get: function () {
|
|
355
|
+
return _defineProperty;
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
Object.defineProperty(exports, 'createFile', {
|
|
359
|
+
enumerable: true,
|
|
360
|
+
get: function () {
|
|
361
|
+
return createFile;
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
//# sourceMappingURL=defineProperty-CspRhtP3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineProperty-CspRhtP3.cjs","names":["e","r","n","t","t","i","n","e","r","t","n","r","e","t","a","e","r","i","n","t","r","n","i","e","t","e","n","r","i","a","e","t","n","r","i","a","uniqueBy","exports","isDeepEqual","name","path","trimExtName"],"sources":["../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/lazyDataLastImpl-BDhrIOwR.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purry-DH9cw9sy.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/utilityEvaluators-DORpnx39.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/pipe-jLehR9-P.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/purryFromLazy-3oywCNIb.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isDeepEqual-jLo35Woq.js","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/uniqueBy-C_PxkF_D.js","../src/createFile.ts"],"sourcesContent":["function e(e,t,n){let r=n=>e(n,...t);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:t})}export{e as lazyDataLastImpl};\n//# sourceMappingURL=lazyDataLastImpl-BDhrIOwR.js.map","import{lazyDataLastImpl as e}from\"./lazyDataLastImpl-BDhrIOwR.js\";function t(t,n,r){let i=t.length-n.length;if(i===0)return t(...n);if(i===1)return e(t,n,r);throw Error(`Wrong number of arguments`)}export{t as purry};\n//# sourceMappingURL=purry-DH9cw9sy.js.map","const e={done:!0,hasNext:!1},t={done:!1,hasNext:!1},n=()=>e,r=e=>({hasNext:!0,next:e,done:!1});export{t as SKIP_ITEM,n as lazyEmptyEvaluator,r as lazyIdentityEvaluator};\n//# sourceMappingURL=utilityEvaluators-DORpnx39.js.map","import{SKIP_ITEM as e}from\"./utilityEvaluators-DORpnx39.js\";function t(e,...t){let a=e,o=t.map(e=>`lazy`in e?r(e):void 0),s=0;for(;s<t.length;){if(o[s]===void 0||!i(a)){let e=t[s];a=e(a),s+=1;continue}let e=[];for(let n=s;n<t.length;n++){let t=o[n];if(t===void 0||(e.push(t),t.isSingle))break}let r=[];for(let t of a)if(n(t,r,e))break;let{isSingle:c}=e.at(-1);a=c?r[0]:r,s+=e.length}return a}function n(t,r,i){if(i.length===0)return r.push(t),!1;let a=t,o=e,s=!1;for(let[e,t]of i.entries()){let{index:c,items:l}=t;if(l.push(a),o=t(a,c,l),t.index+=1,o.hasNext){if(o.hasMany??!1){for(let t of o.next)if(n(t,r,i.slice(e+1)))return!0;return s}a=o.next}if(!o.hasNext)break;o.done&&(s=!0)}return o.hasNext&&r.push(a),s}function r(e){let{lazy:t,lazyArgs:n}=e,r=t(...n);return Object.assign(r,{isSingle:t.single??!1,index:0,items:[]})}function i(e){return typeof e==`string`||typeof e==`object`&&!!e&&Symbol.iterator in e}export{t as pipe};\n//# sourceMappingURL=pipe-jLehR9-P.js.map","import{pipe as e}from\"./pipe-jLehR9-P.js\";function t(t,n){let r=n.length-t.length;if(r===1){let[r,...i]=n;return e(r,{lazy:t,lazyArgs:i})}if(r===0){let r={lazy:t,lazyArgs:n};return Object.assign(t=>e(t,r),r)}throw Error(`Wrong number of arguments`)}export{t as purryFromLazy};\n//# sourceMappingURL=purryFromLazy-3oywCNIb.js.map","import{purry as e}from\"./purry-DH9cw9sy.js\";function t(...t){return e(n,t)}function n(e,t){if(e===t||Object.is(e,t))return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Array.isArray(e))return r(e,t);if(e instanceof Map)return i(e,t);if(e instanceof Set)return a(e,t);if(e instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp)return e.toString()===t.toString();if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let[r,i]of Object.entries(e))if(!(r in t)||!n(i,t[r]))return!1;return!0}function r(e,t){if(e.length!==t.length)return!1;for(let[r,i]of e.entries())if(!n(i,t[r]))return!1;return!0}function i(e,t){if(e.size!==t.size)return!1;for(let[r,i]of e.entries())if(!t.has(r)||!n(i,t.get(r)))return!1;return!0}function a(e,t){if(e.size!==t.size)return!1;let r=[...t];for(let t of e){let e=!1;for(let[i,a]of r.entries())if(n(t,a)){e=!0,r.splice(i,1);break}if(!e)return!1}return!0}export{t as isDeepEqual};\n//# sourceMappingURL=isDeepEqual-jLo35Woq.js.map","import{SKIP_ITEM as e}from\"./utilityEvaluators-DORpnx39.js\";import{purryFromLazy as t}from\"./purryFromLazy-3oywCNIb.js\";function n(...e){return t(r,e)}function r(t){let n=t,r=new Set;return(t,i,a)=>{let o=n(t,i,a);return r.has(o)?e:(r.add(o),{done:!1,hasNext:!0,next:t})}}export{n as uniqueBy};\n//# sourceMappingURL=uniqueBy-C_PxkF_D.js.map","import type * as KubbFile from './KubbFile.ts'\nimport { trimExtName } from './utils/trimExtName.ts'\nimport { createHash } from 'node:crypto'\nimport path from 'node:path'\nimport { isDeepEqual, uniqueBy } from 'remeda'\nimport { orderBy } from 'natural-orderby'\n\nfunction hashObject(obj: Record<string, unknown>): string {\n const str = JSON.stringify(obj, Object.keys(obj).sort())\n return createHash('sha256').update(str).digest('hex')\n}\n\nexport function combineSources(sources: Array<KubbFile.Source>): Array<KubbFile.Source> {\n return uniqueBy(sources, (obj) => [obj.name, obj.isExportable, obj.isTypeOnly] as const)\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n return orderBy(exports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\n\n // we already have an item that was unique enough or name field is empty or prev asAlias is set but current has no changes\n if (uniquePrev || (Array.isArray(name) && !name.length) || (prevByPath?.asAlias && !curr.asAlias)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])]\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\n}\n\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n return orderBy(imports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).reduce(\n (prev, curr) => {\n let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name\n\n const hasImportInSource = (importName: string) => {\n if (!source) {\n return true\n }\n\n const checker = (name?: string) => {\n return name && source.includes(name)\n }\n\n return checker(importName) || exports.some(({ name }) => (Array.isArray(name) ? name.some(checker) : checker(name)))\n }\n\n if (curr.path === curr.root) {\n // root and path are the same file, remove the \"./\" import\n return prev\n }\n\n // merge all names and check if the importName is being used in the generated source and if not filter those imports out\n if (Array.isArray(name)) {\n name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))\n }\n\n const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n // new item, append name\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...name])]\n\n return prev\n }\n\n // no import was found in the source, ignore import\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Import>,\n )\n}\n\n/**\n * Helper to create a file with name and id set\n */\nexport function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta> {\n const extname = path.extname(file.baseName) as KubbFile.Extname\n if (!extname) {\n throw new Error(`No extname found for ${file.baseName}`)\n }\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n const exports = file.exports?.length ? combineExports(file.exports) : []\n const imports = file.imports?.length && source ? combineImports(file.imports, exports, source) : []\n const sources = file.sources?.length ? combineSources(file.sources) : []\n\n return {\n ...file,\n id: hashObject({ path: file.path }),\n name: trimExtName(file.baseName),\n extname,\n imports: imports,\n exports: exports,\n sources: sources,\n meta: file.meta || ({} as TMeta),\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { d as File, p as ResolvedFile, r as
|
|
1
|
+
import { d as File, p as ResolvedFile, r as AppOptions, t as App } from "./App-_vPNh477.js";
|
|
2
2
|
|
|
3
3
|
//#region src/defineApp.d.ts
|
|
4
4
|
type RootRenderFunction<TApp extends App> = (app: TApp) => void | Promise<void>;
|
|
5
|
-
type DefineApp<TOptions> = (
|
|
6
|
-
declare function defineApp<TOptions
|
|
5
|
+
type DefineApp<TOptions> = (options?: TOptions) => App;
|
|
6
|
+
declare function defineApp<TOptions extends AppOptions>(instance?: RootRenderFunction<App<TOptions>>): DefineApp<TOptions>;
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/createApp.d.ts
|
|
9
|
-
declare const createApp: DefineApp<
|
|
9
|
+
declare const createApp: DefineApp<AppOptions>;
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/createFile.d.ts
|
|
12
12
|
/**
|
|
@@ -15,4 +15,4 @@ declare const createApp: DefineApp<unknown>;
|
|
|
15
15
|
declare function createFile<TMeta extends object = object>(file: File<TMeta>): ResolvedFile<TMeta>;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { defineApp as i, createApp as n, DefineApp as r, createFile as t };
|
|
18
|
-
//# sourceMappingURL=index-
|
|
18
|
+
//# sourceMappingURL=index-CfV-59_M.d.ts.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { d as File, p as ResolvedFile, r as
|
|
1
|
+
import { d as File, p as ResolvedFile, r as AppOptions, t as App } from "./App-DVWD6TgC.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/defineApp.d.ts
|
|
4
4
|
type RootRenderFunction<TApp extends App> = (app: TApp) => void | Promise<void>;
|
|
5
|
-
type DefineApp<TOptions> = (
|
|
6
|
-
declare function defineApp<TOptions
|
|
5
|
+
type DefineApp<TOptions> = (options?: TOptions) => App;
|
|
6
|
+
declare function defineApp<TOptions extends AppOptions>(instance?: RootRenderFunction<App<TOptions>>): DefineApp<TOptions>;
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/createApp.d.ts
|
|
9
|
-
declare const createApp: DefineApp<
|
|
9
|
+
declare const createApp: DefineApp<AppOptions>;
|
|
10
10
|
//#endregion
|
|
11
11
|
//#region src/createFile.d.ts
|
|
12
12
|
/**
|
|
@@ -15,4 +15,4 @@ declare const createApp: DefineApp<unknown>;
|
|
|
15
15
|
declare function createFile<TMeta extends object = object>(file: File<TMeta>): ResolvedFile<TMeta>;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { defineApp as i, createApp as n, DefineApp as r, createFile as t };
|
|
18
|
-
//# sourceMappingURL=index-
|
|
18
|
+
//# sourceMappingURL=index-DVok6g82.d.cts.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
const require_trimExtName = require('./trimExtName-Bb4zGVF1.cjs');
|
|
2
|
-
const require_defineProperty = require('./defineProperty-
|
|
2
|
+
const require_defineProperty = require('./defineProperty-CspRhtP3.cjs');
|
|
3
3
|
require('./createParser-C4IkyTs5.cjs');
|
|
4
4
|
const require_defaultParser = require('./defaultParser-n9VW2iVf.cjs');
|
|
5
5
|
let natural_orderby = require("natural-orderby");
|
|
6
6
|
natural_orderby = require_trimExtName.__toESM(natural_orderby);
|
|
7
|
-
let remeda = require("remeda");
|
|
8
|
-
remeda = require_trimExtName.__toESM(remeda);
|
|
9
7
|
let p_limit = require("p-limit");
|
|
10
8
|
p_limit = require_trimExtName.__toESM(p_limit);
|
|
11
9
|
let node_events = require("node:events");
|
|
@@ -39,6 +37,10 @@ var Cache = class {
|
|
|
39
37
|
flush() {}
|
|
40
38
|
};
|
|
41
39
|
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region ../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isFunction-BJjFuZR7.js
|
|
42
|
+
const e = (e$1) => typeof e$1 == `function`;
|
|
43
|
+
|
|
42
44
|
//#endregion
|
|
43
45
|
//#region src/utils/AsyncEventEmitter.ts
|
|
44
46
|
var _emitter = /* @__PURE__ */ new WeakMap();
|
|
@@ -104,40 +106,44 @@ var FileProcessor = class {
|
|
|
104
106
|
if (!parser) return require_defaultParser.defaultParser.parse(file, { extname: parseExtName });
|
|
105
107
|
return parser.parse(file, { extname: parseExtName });
|
|
106
108
|
}
|
|
107
|
-
async run(files, { parsers, dryRun, extension } = {}) {
|
|
109
|
+
async run(files, { parsers, mode = "sequential", dryRun, extension } = {}) {
|
|
108
110
|
await this.events.emit("process:start", { files });
|
|
109
111
|
let processed = 0;
|
|
110
112
|
const total = files.length;
|
|
111
|
-
const
|
|
113
|
+
const processOne = async (resolvedFile, index) => {
|
|
114
|
+
const percentage = processed / total * 100;
|
|
112
115
|
await this.events.emit("file:start", {
|
|
113
116
|
file: resolvedFile,
|
|
114
117
|
index,
|
|
115
118
|
total
|
|
116
119
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
processed
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
percentage,
|
|
130
|
-
total
|
|
131
|
-
});
|
|
132
|
-
}
|
|
120
|
+
const source = dryRun ? void 0 : await this.parse(resolvedFile, {
|
|
121
|
+
extension,
|
|
122
|
+
parsers
|
|
123
|
+
});
|
|
124
|
+
await this.events.emit("process:progress", {
|
|
125
|
+
file: resolvedFile,
|
|
126
|
+
source,
|
|
127
|
+
processed,
|
|
128
|
+
percentage,
|
|
129
|
+
total
|
|
130
|
+
});
|
|
131
|
+
processed++;
|
|
133
132
|
await this.events.emit("file:end", {
|
|
134
133
|
file: resolvedFile,
|
|
135
134
|
index,
|
|
136
135
|
total
|
|
137
136
|
});
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
};
|
|
138
|
+
if (mode === "sequential") {
|
|
139
|
+
async function* asyncFiles() {
|
|
140
|
+
for (let index = 0; index < files.length; index++) yield [files[index], index];
|
|
141
|
+
}
|
|
142
|
+
for await (const [file, index] of asyncFiles()) if (file) await processOne(file, index);
|
|
143
|
+
} else {
|
|
144
|
+
const promises = files.map((resolvedFile, index) => require_defineProperty._classPrivateFieldGet2(_limit, this).call(this, () => processOne(resolvedFile, index)));
|
|
145
|
+
await Promise.all(promises);
|
|
146
|
+
}
|
|
141
147
|
await this.events.emit("process:end", { files });
|
|
142
148
|
return files;
|
|
143
149
|
}
|
|
@@ -229,7 +235,7 @@ function defineApp(instance) {
|
|
|
229
235
|
if (pluginOrParser.type === "plugin") {
|
|
230
236
|
if (installedPlugins.has(pluginOrParser)) console.warn("Plugin has already been applied to target app.");
|
|
231
237
|
else installedPlugins.add(pluginOrParser);
|
|
232
|
-
if (pluginOrParser.inject && (
|
|
238
|
+
if (pluginOrParser.inject && e(pluginOrParser.inject)) {
|
|
233
239
|
const injecter = pluginOrParser.inject;
|
|
234
240
|
const extraApp = injecter(app, ...args);
|
|
235
241
|
Object.assign(app, extraApp);
|
|
@@ -237,7 +243,7 @@ function defineApp(instance) {
|
|
|
237
243
|
}
|
|
238
244
|
if (pluginOrParser.type === "parser") if (installedParsers.has(pluginOrParser)) console.warn("Parser has already been applied to target app.");
|
|
239
245
|
else installedParsers.add(pluginOrParser);
|
|
240
|
-
if (pluginOrParser && (
|
|
246
|
+
if (pluginOrParser && e(pluginOrParser.install)) {
|
|
241
247
|
const installer = pluginOrParser.install;
|
|
242
248
|
await installer(app, ...args);
|
|
243
249
|
}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["NodeEventEmitter","defaultParser","parser: Parser | undefined","resolvedFiles: Array<KubbFile.ResolvedFile>","createFile","trimExtName","createApp","options"],"sources":["../src/utils/Cache.ts","../src/utils/AsyncEventEmitter.ts","../src/FileProcessor.ts","../src/FileManager.ts","../src/defineApp.ts","../src/createApp.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n get(key: string): T | null {\n return this.#buffer.get(key) ?? null\n }\n\n set(key: string, value: T): void {\n this.#buffer.set(key, value)\n }\n\n delete(key: string): void {\n this.#buffer.delete(key)\n }\n\n clear(): void {\n this.#buffer.clear()\n }\n\n keys(): string[] {\n return [...this.#buffer.keys()]\n }\n\n values(): Array<T> {\n return [...this.#buffer.values()]\n }\n\n flush(): void {\n // No-op for base cache\n }\n}\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class AsyncEventEmitter<TEvents extends Record<string, any>> {\n constructor(maxListener = 100) {\n this.#emitter.setMaxListeners(maxListener)\n }\n #emitter = new NodeEventEmitter()\n\n async emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArgs: TEvents[TEventName]): Promise<void> {\n const listeners = this.#emitter.listeners(eventName) as Array<(...args: TEvents[TEventName]) => any>\n\n if (listeners.length === 0) {\n return undefined\n }\n\n await Promise.all(\n listeners.map(async (listener) => {\n try {\n return await listener(...eventArgs)\n } catch (err) {\n console.error(`Error in async listener for \"${eventName}\":`, err)\n }\n }),\n )\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n onOnce<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArgs: TEvents[TEventName]) => void): void {\n const wrapper = (...args: TEvents[TEventName]) => {\n this.off(eventName, wrapper)\n handler(...args)\n }\n this.on(eventName, wrapper)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","import type * as KubbFile from './KubbFile.ts'\nimport pLimit from 'p-limit'\n\nimport type { Parser } from './parsers/types.ts'\nimport { defaultParser } from './parsers/defaultParser.ts'\nimport { AsyncEventEmitter } from './utils/AsyncEventEmitter.ts'\nimport type { AppEvents } from './App.ts'\n\nexport type ProcessFilesProps = {\n parsers?: Set<Parser>\n extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>\n dryRun?: boolean\n}\n\ntype GetParseOptions = {\n parsers?: Set<Parser>\n extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>\n}\n\ntype Options = {\n events?: AsyncEventEmitter<AppEvents>\n}\n\nexport class FileProcessor {\n #limit = pLimit(100)\n events: AsyncEventEmitter<AppEvents>\n\n constructor({ events = new AsyncEventEmitter<AppEvents>() }: Options = {}) {\n this.events = events\n\n return this\n }\n\n async parse(file: KubbFile.ResolvedFile, { parsers, extension }: GetParseOptions = {}): Promise<string> {\n const parseExtName = extension?.[file.extname] || undefined\n\n if (!parsers) {\n console.warn('No parsers provided, using default parser. If you want to use a specific parser, please provide it in the options.')\n\n return defaultParser.parse(file, { extname: parseExtName })\n }\n\n if (!file.extname) {\n return defaultParser.parse(file, { extname: parseExtName })\n }\n\n let parser: Parser | undefined\n for (const item of parsers) {\n if (item.extNames?.includes(file.extname)) {\n parser = item\n break\n }\n }\n\n if (!parser) {\n return defaultParser.parse(file, { extname: parseExtName })\n }\n\n return parser.parse(file, { extname: parseExtName })\n }\n\n async run(files: Array<KubbFile.ResolvedFile>, { parsers, dryRun, extension }: ProcessFilesProps = {}): Promise<KubbFile.ResolvedFile[]> {\n await this.events.emit('process:start', { files })\n\n let processed = 0\n const total = files.length\n\n const promises = files.map((resolvedFile, index) =>\n this.#limit(async () => {\n await this.events.emit('file:start', { file: resolvedFile, index, total })\n\n if (!dryRun) {\n const source = await this.parse(resolvedFile, { extension, parsers })\n const nextProcessed = processed + 1\n const percentage = (nextProcessed / total) * 100\n processed = nextProcessed\n await this.events.emit('process:progress', { file: resolvedFile, source, processed, percentage, total })\n }\n\n await this.events.emit('file:end', { file: resolvedFile, index, total })\n\n processed++\n }),\n )\n\n await Promise.all(promises)\n\n await this.events.emit('process:end', { files })\n\n return files\n }\n}\n","import type * as KubbFile from './KubbFile.ts'\nimport { Cache } from './utils/Cache.ts'\nimport { trimExtName } from './utils/trimExtName.ts'\nimport { orderBy } from 'natural-orderby'\nimport { createFile } from './createFile.ts'\nimport { FileProcessor, type ProcessFilesProps } from './FileProcessor.ts'\nimport { AsyncEventEmitter } from './utils/AsyncEventEmitter.ts'\nimport type { AppEvents } from './App.ts'\n\nfunction mergeFile<TMeta extends object = object>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {\n return {\n ...a,\n sources: [...(a.sources || []), ...(b.sources || [])],\n imports: [...(a.imports || []), ...(b.imports || [])],\n exports: [...(a.exports || []), ...(b.exports || [])],\n }\n}\n\ntype Options = {\n events?: AsyncEventEmitter<AppEvents>\n}\n\nexport class FileManager {\n #cache = new Cache<KubbFile.ResolvedFile>()\n events: AsyncEventEmitter<AppEvents>\n processor: FileProcessor\n\n constructor({ events = new AsyncEventEmitter<AppEvents>() }: Options = {}) {\n this.processor = new FileProcessor({ events })\n\n this.events = events\n return this\n }\n\n async add(...files: Array<KubbFile.File>) {\n const resolvedFiles: Array<KubbFile.ResolvedFile> = []\n\n const mergedFiles = new Map<string, KubbFile.File>()\n\n files.forEach((file) => {\n const existing = mergedFiles.get(file.path)\n if (existing) {\n mergedFiles.set(file.path, mergeFile(existing, file))\n } else {\n mergedFiles.set(file.path, file)\n }\n })\n\n for (const file of mergedFiles.values()) {\n const existing = this.#cache.get(file.path)\n\n const merged = existing ? mergeFile(existing, file) : file\n const resolvedFile = createFile(merged)\n\n this.#cache.set(resolvedFile.path, resolvedFile)\n this.flush()\n\n resolvedFiles.push(resolvedFile)\n }\n\n return resolvedFiles\n }\n\n flush() {\n this.#cache.flush()\n }\n\n getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | null {\n return this.#cache.get(path)\n }\n\n deleteByPath(path: KubbFile.Path): void {\n this.#cache.delete(path)\n }\n\n clear(): void {\n this.#cache.clear()\n }\n\n get files(): Array<KubbFile.ResolvedFile> {\n const cachedKeys = this.#cache.keys()\n\n // order by path length and if file is a barrel file\n const keys = orderBy(cachedKeys, [(v) => v.length, (v) => trimExtName(v).endsWith('index')])\n\n const files = keys.map((key) => this.#cache.get(key))\n\n return files.filter(Boolean)\n }\n\n async write(options: ProcessFilesProps): Promise<KubbFile.ResolvedFile[]> {\n const resolvedFiles = await this.processor.run(this.files, options)\n\n this.clear()\n\n return resolvedFiles\n }\n}\n","import { FileManager } from './FileManager.ts'\nimport { isFunction } from 'remeda'\nimport type { Plugin } from './plugins/types.ts'\nimport type { Parser } from './parsers/types.ts'\nimport { AsyncEventEmitter } from './utils/AsyncEventEmitter.ts'\nimport type { AppContext, Component, AppEvents } from './App.ts'\n\nimport type { App } from './index.ts'\n\ntype RootRenderFunction<TApp extends App> = (app: TApp) => void | Promise<void>\n\nexport type DefineApp<TOptions> = (rootComponent?: Component, options?: TOptions) => App\n\nexport function defineApp<TOptions = unknown>(instance?: RootRenderFunction<App<TOptions>>): DefineApp<TOptions> {\n function createApp(options?: TOptions): App {\n const events = new AsyncEventEmitter<AppEvents>()\n const installedPlugins = new Set<Plugin<any>>()\n const installedParsers = new Set<Parser<any>>()\n const fileManager = new FileManager({ events })\n const context = {\n events,\n options,\n fileManager,\n installedPlugins,\n installedParsers,\n } as AppContext<TOptions>\n\n const app = {\n context,\n get files() {\n return fileManager.files\n },\n async addFile(...newFiles) {\n await fileManager.add(...newFiles)\n },\n async use(pluginOrParser, ...options) {\n const args = options\n\n if (pluginOrParser.type === 'plugin') {\n if (installedPlugins.has(pluginOrParser)) {\n console.warn('Plugin has already been applied to target app.')\n } else {\n installedPlugins.add(pluginOrParser)\n }\n\n if (pluginOrParser.inject && isFunction(pluginOrParser.inject)) {\n const injecter = pluginOrParser.inject\n\n const extraApp = (injecter as any)(app, ...args)\n Object.assign(app, extraApp)\n }\n }\n if (pluginOrParser.type === 'parser') {\n if (installedParsers.has(pluginOrParser)) {\n console.warn('Parser has already been applied to target app.')\n } else {\n installedParsers.add(pluginOrParser)\n }\n }\n\n if (pluginOrParser && isFunction(pluginOrParser.install)) {\n const installer = pluginOrParser.install\n\n await (installer as any)(app, ...args)\n }\n\n return app\n },\n } as App<TOptions>\n\n if (instance) {\n instance(app)\n }\n\n return app\n }\n\n return createApp\n}\n","import { defineApp } from './defineApp.ts'\n\nexport const createApp = defineApp()\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["e","NodeEventEmitter","defaultParser","parser: Parser | undefined","resolvedFiles: Array<KubbFile.ResolvedFile>","createFile","trimExtName","createApp","options","isFunction"],"sources":["../src/utils/Cache.ts","../../../node_modules/.pnpm/remeda@2.32.0/node_modules/remeda/dist/isFunction-BJjFuZR7.js","../src/utils/AsyncEventEmitter.ts","../src/FileProcessor.ts","../src/FileManager.ts","../src/defineApp.ts","../src/createApp.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n get(key: string): T | null {\n return this.#buffer.get(key) ?? null\n }\n\n set(key: string, value: T): void {\n this.#buffer.set(key, value)\n }\n\n delete(key: string): void {\n this.#buffer.delete(key)\n }\n\n clear(): void {\n this.#buffer.clear()\n }\n\n keys(): string[] {\n return [...this.#buffer.keys()]\n }\n\n values(): Array<T> {\n return [...this.#buffer.values()]\n }\n\n flush(): void {\n // No-op for base cache\n }\n}\n","const e=e=>typeof e==`function`;export{e as isFunction};\n//# sourceMappingURL=isFunction-BJjFuZR7.js.map","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class AsyncEventEmitter<TEvents extends Record<string, any>> {\n constructor(maxListener = 100) {\n this.#emitter.setMaxListeners(maxListener)\n }\n #emitter = new NodeEventEmitter()\n\n async emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArgs: TEvents[TEventName]): Promise<void> {\n const listeners = this.#emitter.listeners(eventName) as Array<(...args: TEvents[TEventName]) => any>\n\n if (listeners.length === 0) {\n return undefined\n }\n\n await Promise.all(\n listeners.map(async (listener) => {\n try {\n return await listener(...eventArgs)\n } catch (err) {\n console.error(`Error in async listener for \"${eventName}\":`, err)\n }\n }),\n )\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n onOnce<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArgs: TEvents[TEventName]) => void): void {\n const wrapper = (...args: TEvents[TEventName]) => {\n this.off(eventName, wrapper)\n handler(...args)\n }\n this.on(eventName, wrapper)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n","import type * as KubbFile from './KubbFile.ts'\nimport pLimit from 'p-limit'\n\nimport type { Parser } from './parsers/types.ts'\nimport { defaultParser } from './parsers/defaultParser.ts'\nimport { AsyncEventEmitter } from './utils/AsyncEventEmitter.ts'\nimport type { AppEvents, AppMode } from './App.ts'\n\nexport type ProcessFilesProps = {\n parsers?: Set<Parser>\n extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>\n dryRun?: boolean\n /**\n * @default 'sequential'\n */\n mode?: AppMode\n}\n\ntype GetParseOptions = {\n parsers?: Set<Parser>\n extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>\n}\n\ntype Options = {\n events?: AsyncEventEmitter<AppEvents>\n}\n\nexport class FileProcessor {\n #limit = pLimit(100)\n events: AsyncEventEmitter<AppEvents>\n\n constructor({ events = new AsyncEventEmitter<AppEvents>() }: Options = {}) {\n this.events = events\n\n return this\n }\n\n async parse(file: KubbFile.ResolvedFile, { parsers, extension }: GetParseOptions = {}): Promise<string> {\n const parseExtName = extension?.[file.extname] || undefined\n\n if (!parsers) {\n console.warn('No parsers provided, using default parser. If you want to use a specific parser, please provide it in the options.')\n\n return defaultParser.parse(file, { extname: parseExtName })\n }\n\n if (!file.extname) {\n return defaultParser.parse(file, { extname: parseExtName })\n }\n\n let parser: Parser | undefined\n for (const item of parsers) {\n if (item.extNames?.includes(file.extname)) {\n parser = item\n break\n }\n }\n\n if (!parser) {\n return defaultParser.parse(file, { extname: parseExtName })\n }\n\n return parser.parse(file, { extname: parseExtName })\n }\n\n async run(\n files: Array<KubbFile.ResolvedFile>,\n { parsers, mode = 'sequential', dryRun, extension }: ProcessFilesProps = {},\n ): Promise<KubbFile.ResolvedFile[]> {\n await this.events.emit('process:start', { files })\n\n let processed = 0\n const total = files.length\n\n const processOne = async (resolvedFile: KubbFile.ResolvedFile, index: number) => {\n const percentage = (processed / total) * 100\n\n await this.events.emit('file:start', { file: resolvedFile, index, total })\n\n const source = dryRun ? undefined : await this.parse(resolvedFile, { extension, parsers })\n\n await this.events.emit('process:progress', {\n file: resolvedFile,\n source,\n processed,\n percentage,\n total,\n })\n\n processed++\n\n await this.events.emit('file:end', { file: resolvedFile, index, total })\n }\n\n if (mode === 'sequential') {\n async function* asyncFiles() {\n for (let index = 0; index < files.length; index++) {\n yield [files[index], index] as const\n }\n }\n\n for await (const [file, index] of asyncFiles()) {\n if (file) {\n await processOne(file, index)\n }\n }\n } else {\n const promises = files.map((resolvedFile, index) => this.#limit(() => processOne(resolvedFile, index)))\n await Promise.all(promises)\n }\n\n await this.events.emit('process:end', { files })\n\n return files\n }\n}\n","import type * as KubbFile from './KubbFile.ts'\nimport { Cache } from './utils/Cache.ts'\nimport { trimExtName } from './utils/trimExtName.ts'\nimport { orderBy } from 'natural-orderby'\nimport { createFile } from './createFile.ts'\nimport { FileProcessor, type ProcessFilesProps } from './FileProcessor.ts'\nimport { AsyncEventEmitter } from './utils/AsyncEventEmitter.ts'\nimport type { AppEvents } from './App.ts'\n\nfunction mergeFile<TMeta extends object = object>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {\n return {\n ...a,\n sources: [...(a.sources || []), ...(b.sources || [])],\n imports: [...(a.imports || []), ...(b.imports || [])],\n exports: [...(a.exports || []), ...(b.exports || [])],\n }\n}\n\ntype Options = {\n events?: AsyncEventEmitter<AppEvents>\n}\n\nexport class FileManager {\n #cache = new Cache<KubbFile.ResolvedFile>()\n events: AsyncEventEmitter<AppEvents>\n processor: FileProcessor\n\n constructor({ events = new AsyncEventEmitter<AppEvents>() }: Options = {}) {\n this.processor = new FileProcessor({ events })\n\n this.events = events\n return this\n }\n\n async add(...files: Array<KubbFile.File>) {\n const resolvedFiles: Array<KubbFile.ResolvedFile> = []\n\n const mergedFiles = new Map<string, KubbFile.File>()\n\n files.forEach((file) => {\n const existing = mergedFiles.get(file.path)\n if (existing) {\n mergedFiles.set(file.path, mergeFile(existing, file))\n } else {\n mergedFiles.set(file.path, file)\n }\n })\n\n for (const file of mergedFiles.values()) {\n const existing = this.#cache.get(file.path)\n\n const merged = existing ? mergeFile(existing, file) : file\n const resolvedFile = createFile(merged)\n\n this.#cache.set(resolvedFile.path, resolvedFile)\n this.flush()\n\n resolvedFiles.push(resolvedFile)\n }\n\n return resolvedFiles\n }\n\n flush() {\n this.#cache.flush()\n }\n\n getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | null {\n return this.#cache.get(path)\n }\n\n deleteByPath(path: KubbFile.Path): void {\n this.#cache.delete(path)\n }\n\n clear(): void {\n this.#cache.clear()\n }\n\n get files(): Array<KubbFile.ResolvedFile> {\n const cachedKeys = this.#cache.keys()\n\n // order by path length and if file is a barrel file\n const keys = orderBy(cachedKeys, [(v) => v.length, (v) => trimExtName(v).endsWith('index')])\n\n const files = keys.map((key) => this.#cache.get(key))\n\n return files.filter(Boolean)\n }\n\n async write(options: ProcessFilesProps): Promise<KubbFile.ResolvedFile[]> {\n const resolvedFiles = await this.processor.run(this.files, options)\n\n this.clear()\n\n return resolvedFiles\n }\n}\n","import { FileManager } from './FileManager.ts'\nimport { isFunction } from 'remeda'\nimport type { Plugin } from './plugins/types.ts'\nimport type { Parser } from './parsers/types.ts'\nimport { AsyncEventEmitter } from './utils/AsyncEventEmitter.ts'\nimport type { AppContext, AppEvents, AppOptions } from './App.ts'\n\nimport type { App } from './index.ts'\n\ntype RootRenderFunction<TApp extends App> = (app: TApp) => void | Promise<void>\n\nexport type DefineApp<TOptions> = (options?: TOptions) => App\n\nexport function defineApp<TOptions extends AppOptions>(instance?: RootRenderFunction<App<TOptions>>): DefineApp<TOptions> {\n function createApp(options?: TOptions): App {\n const events = new AsyncEventEmitter<AppEvents>()\n const installedPlugins = new Set<Plugin<any>>()\n const installedParsers = new Set<Parser<any>>()\n const fileManager = new FileManager({ events })\n const context = {\n events,\n options,\n fileManager,\n installedPlugins,\n installedParsers,\n } as AppContext<TOptions>\n\n const app = {\n context,\n get files() {\n return fileManager.files\n },\n async addFile(...newFiles) {\n await fileManager.add(...newFiles)\n },\n async use(pluginOrParser, ...options) {\n const args = options\n\n if (pluginOrParser.type === 'plugin') {\n if (installedPlugins.has(pluginOrParser)) {\n console.warn('Plugin has already been applied to target app.')\n } else {\n installedPlugins.add(pluginOrParser)\n }\n\n if (pluginOrParser.inject && isFunction(pluginOrParser.inject)) {\n const injecter = pluginOrParser.inject\n\n const extraApp = (injecter as any)(app, ...args)\n Object.assign(app, extraApp)\n }\n }\n if (pluginOrParser.type === 'parser') {\n if (installedParsers.has(pluginOrParser)) {\n console.warn('Parser has already been applied to target app.')\n } else {\n installedParsers.add(pluginOrParser)\n }\n }\n\n if (pluginOrParser && isFunction(pluginOrParser.install)) {\n const installer = pluginOrParser.install\n\n await (installer as any)(app, ...args)\n }\n\n return app\n },\n } as App<TOptions>\n\n if (instance) {\n instance(app)\n }\n\n return app\n }\n\n return createApp\n}\n","import { defineApp } from './defineApp.ts'\n\nexport const createApp = defineApp()\n"],"x_google_ignoreList":[1],"mappings":"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"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as FileProcessor, i as FileManager, t as App } from "./App-
|
|
2
|
-
import { i as defineApp, n as createApp, t as createFile } from "./index-
|
|
1
|
+
import { a as FileProcessor, i as FileManager, t as App } from "./App-DVWD6TgC.cjs";
|
|
2
|
+
import { i as defineApp, n as createApp, t as createFile } from "./index-DVok6g82.cjs";
|
|
3
3
|
export { App, FileManager, FileProcessor, createApp, createFile, defineApp };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as FileProcessor, i as FileManager, t as App } from "./App-
|
|
2
|
-
import { i as defineApp, n as createApp, t as createFile } from "./index-
|
|
1
|
+
import { a as FileProcessor, i as FileManager, t as App } from "./App-_vPNh477.js";
|
|
2
|
+
import { i as defineApp, n as createApp, t as createFile } from "./index-CfV-59_M.js";
|
|
3
3
|
export { App, FileManager, FileProcessor, createApp, createFile, defineApp };
|