@ttsc/unplugin 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -16
  3. package/lib/api.js +13 -18
  4. package/lib/api.js.map +1 -1
  5. package/lib/api.mjs +4 -0
  6. package/lib/api.mjs.map +1 -0
  7. package/lib/bun.js +13 -12
  8. package/lib/bun.js.map +1 -1
  9. package/lib/bun.mjs +31 -0
  10. package/lib/bun.mjs.map +1 -0
  11. package/lib/core/index.d.ts +2 -2
  12. package/lib/core/index.js +28 -18
  13. package/lib/core/index.js.map +1 -1
  14. package/lib/core/index.mjs +46 -0
  15. package/lib/core/index.mjs.map +1 -0
  16. package/lib/core/options.d.ts +3 -3
  17. package/lib/core/options.js +5 -5
  18. package/lib/core/options.js.map +1 -1
  19. package/lib/core/options.mjs +14 -0
  20. package/lib/core/options.mjs.map +1 -0
  21. package/lib/core/transform.d.ts +10 -2
  22. package/lib/core/transform.js +264 -119
  23. package/lib/core/transform.js.map +1 -1
  24. package/lib/core/transform.mjs +446 -0
  25. package/lib/core/transform.mjs.map +1 -0
  26. package/lib/esbuild.js +9 -8
  27. package/lib/esbuild.js.map +1 -1
  28. package/lib/esbuild.mjs +6 -0
  29. package/lib/esbuild.mjs.map +1 -0
  30. package/lib/farm.js +9 -8
  31. package/lib/farm.js.map +1 -1
  32. package/lib/farm.mjs +6 -0
  33. package/lib/farm.mjs.map +1 -0
  34. package/lib/index.js +10 -8
  35. package/lib/index.js.map +1 -1
  36. package/lib/index.mjs +6 -0
  37. package/lib/index.mjs.map +1 -0
  38. package/lib/next.js +10 -9
  39. package/lib/next.js.map +1 -1
  40. package/lib/next.mjs +18 -0
  41. package/lib/next.mjs.map +1 -0
  42. package/lib/rolldown.js +9 -8
  43. package/lib/rolldown.js.map +1 -1
  44. package/lib/rolldown.mjs +6 -0
  45. package/lib/rolldown.mjs.map +1 -0
  46. package/lib/rollup.js +9 -8
  47. package/lib/rollup.js.map +1 -1
  48. package/lib/rollup.mjs +6 -0
  49. package/lib/rollup.mjs.map +1 -0
  50. package/lib/rspack.js +9 -8
  51. package/lib/rspack.js.map +1 -1
  52. package/lib/rspack.mjs +6 -0
  53. package/lib/rspack.mjs.map +1 -0
  54. package/lib/vite.js +9 -8
  55. package/lib/vite.js.map +1 -1
  56. package/lib/vite.mjs +6 -0
  57. package/lib/vite.mjs.map +1 -0
  58. package/lib/webpack.js +9 -8
  59. package/lib/webpack.js.map +1 -1
  60. package/lib/webpack.mjs +6 -0
  61. package/lib/webpack.mjs.map +1 -0
  62. package/package.json +30 -18
  63. package/src/bun.ts +1 -1
  64. package/src/core/index.ts +16 -4
  65. package/src/core/options.ts +3 -3
  66. package/src/core/transform.ts +306 -61
@@ -0,0 +1,446 @@
1
+ import fs from 'node:fs';
2
+ import crypto from 'node:crypto';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { TtscCompiler } from 'ttsc';
6
+
7
+ function createTtscTransformCache() {
8
+ return new Map();
9
+ }
10
+ async function transformTtsc(id, source, options, aliases, cache) {
11
+ const clean = stripQuery(id);
12
+ if (clean.includes("\0")) {
13
+ return undefined;
14
+ }
15
+ const file = path.resolve(clean);
16
+ if (isDeclarationFile(file)) {
17
+ return undefined;
18
+ }
19
+ const tsconfig = resolveTsconfig(file, options.project);
20
+ const tsconfigDir = path.dirname(tsconfig);
21
+ const baseUrl = resolveBaseUrl(tsconfigDir, options.compilerOptions);
22
+ const aliasPaths = createAliasPaths(baseUrl, aliases);
23
+ const key = createTransformCacheKey({
24
+ aliasPaths,
25
+ compilerOptions: options.compilerOptions,
26
+ plugins: options.plugins,
27
+ tsconfig,
28
+ });
29
+ let transformed = cache?.get(key);
30
+ if (transformed !== undefined) {
31
+ const cached = await transformed;
32
+ if (matchesCachedSource(cached, file, source)) {
33
+ reportSuccessDiagnostics(cached.result);
34
+ const code = selectTransformedSource({
35
+ file,
36
+ projectRoot: cached.projectRoot,
37
+ result: cached.result,
38
+ });
39
+ return createTransformResult(source, code);
40
+ }
41
+ cache?.delete(key);
42
+ transformed = undefined;
43
+ }
44
+ if (transformed === undefined) {
45
+ transformed = transformProject({
46
+ aliasPaths,
47
+ baseUrl,
48
+ compilerOptions: options.compilerOptions,
49
+ currentFile: file,
50
+ currentSource: source,
51
+ plugins: options.plugins,
52
+ tsconfig,
53
+ });
54
+ cache?.set(key, transformed);
55
+ }
56
+ const { projectRoot, result } = await transformed;
57
+ reportSuccessDiagnostics(result);
58
+ const code = selectTransformedSource({ file, projectRoot, result });
59
+ return createTransformResult(source, code);
60
+ }
61
+ function stripQuery(id) {
62
+ const query = id.search(/[?#]/);
63
+ const clean = query === -1 ? id : id.slice(0, query);
64
+ return clean.endsWith("?__rslib_entry__")
65
+ ? clean.slice(0, -"?__rslib_entry__".length)
66
+ : clean;
67
+ }
68
+ function isDeclarationFile(id) {
69
+ return id.endsWith(".d.ts") || id.endsWith(".d.mts") || id.endsWith(".d.cts");
70
+ }
71
+ function createTransformResult(source, code) {
72
+ if (source === code) {
73
+ return undefined;
74
+ }
75
+ return { code };
76
+ }
77
+ function matchesCachedSource(cached, file, source) {
78
+ const currentKey = toProjectKey(cached.projectRoot, file);
79
+ const currentHashes = collectProjectInputHashes(cached.projectRoot);
80
+ currentHashes[currentKey] = hashText(source);
81
+ return sameHashes(cached.inputHashes, currentHashes);
82
+ }
83
+ function collectInputHashes(props) {
84
+ const hashes = collectProjectInputHashes(props.projectRoot);
85
+ if (props.result.type !== "exception") {
86
+ for (const key of Object.keys(props.result.typescript)) {
87
+ const file = path.resolve(props.projectRoot, key);
88
+ try {
89
+ hashes[key] = hashText(fs.readFileSync(file, "utf8"));
90
+ }
91
+ catch {
92
+ // A plugin may synthesize a virtual TypeScript file. It should not
93
+ // decide cache reuse for real source files.
94
+ }
95
+ }
96
+ }
97
+ hashes[toProjectKey(props.projectRoot, props.currentFile)] = hashText(props.currentSource);
98
+ return hashes;
99
+ }
100
+ function collectProjectInputHashes(projectRoot) {
101
+ const hashes = {};
102
+ for (const file of listProjectInputFiles(projectRoot)) {
103
+ try {
104
+ hashes[toProjectKey(projectRoot, file)] = hashText(fs.readFileSync(file));
105
+ }
106
+ catch {
107
+ // File watchers may observe a transform while another process is moving
108
+ // or deleting files. The missing key invalidates older cache entries.
109
+ }
110
+ }
111
+ return hashes;
112
+ }
113
+ function listProjectInputFiles(root) {
114
+ const out = [];
115
+ const stack = [root];
116
+ while (stack.length !== 0) {
117
+ const current = stack.pop();
118
+ let entries;
119
+ try {
120
+ entries = fs.readdirSync(current, { withFileTypes: true });
121
+ }
122
+ catch {
123
+ continue;
124
+ }
125
+ for (const entry of entries) {
126
+ if (isIgnoredProjectDirectory(entry.name)) {
127
+ continue;
128
+ }
129
+ const file = path.join(current, entry.name);
130
+ if (entry.isDirectory()) {
131
+ stack.push(file);
132
+ }
133
+ else if (entry.isFile()) {
134
+ out.push(file);
135
+ }
136
+ }
137
+ }
138
+ out.sort();
139
+ return out;
140
+ }
141
+ function isIgnoredProjectDirectory(name) {
142
+ return (name === ".git" ||
143
+ name === ".ttsc" ||
144
+ name === ".cache" ||
145
+ name === ".next" ||
146
+ name === ".nuxt" ||
147
+ name === ".svelte-kit" ||
148
+ name === ".turbo" ||
149
+ name === ".vite" ||
150
+ name === "build" ||
151
+ name === "coverage" ||
152
+ name === "dist" ||
153
+ name === "node_modules" ||
154
+ name === "out" ||
155
+ name === "temp" ||
156
+ name === "tmp");
157
+ }
158
+ function sameHashes(left, right) {
159
+ const leftKeys = Object.keys(left);
160
+ const rightKeys = Object.keys(right);
161
+ if (leftKeys.length !== rightKeys.length) {
162
+ return false;
163
+ }
164
+ return leftKeys.every((key) => right[key] === left[key]);
165
+ }
166
+ function hashText(input) {
167
+ return crypto.createHash("sha256").update(input).digest("hex");
168
+ }
169
+ async function transformProject(props) {
170
+ const configured = createTransformTsconfig(props);
171
+ const projectRoot = path.dirname(props.tsconfig);
172
+ try {
173
+ const result = new TtscCompiler({
174
+ cwd: projectRoot,
175
+ plugins: props.plugins,
176
+ projectRoot,
177
+ tsconfig: configured.path,
178
+ }).transform();
179
+ return {
180
+ inputHashes: collectInputHashes({
181
+ currentFile: props.currentFile,
182
+ currentSource: props.currentSource,
183
+ projectRoot,
184
+ result,
185
+ }),
186
+ projectRoot,
187
+ result,
188
+ };
189
+ }
190
+ finally {
191
+ configured.dispose();
192
+ }
193
+ }
194
+ function createTransformTsconfig(props) {
195
+ const compilerOptions = normalizeCompilerOptionsForGeneratedTsconfig({
196
+ ...props.compilerOptions,
197
+ ...createAliasCompilerOptions(props),
198
+ }, path.dirname(props.tsconfig));
199
+ if (Object.keys(compilerOptions).length === 0) {
200
+ return {
201
+ path: props.tsconfig,
202
+ dispose: () => undefined,
203
+ };
204
+ }
205
+ const directory = fs.mkdtempSync(path.join(os.tmpdir(), "ttsc-unplugin-"));
206
+ const file = path.join(directory, "tsconfig.json");
207
+ fs.writeFileSync(file, JSON.stringify({
208
+ extends: normalizePath(props.tsconfig),
209
+ compilerOptions,
210
+ }, null, 2), "utf8");
211
+ return {
212
+ path: file,
213
+ dispose: () => fs.rmSync(directory, { force: true, recursive: true }),
214
+ };
215
+ }
216
+ function normalizeCompilerOptionsForGeneratedTsconfig(compilerOptions, tsconfigDir) {
217
+ const output = { ...compilerOptions };
218
+ for (const key of ["baseUrl", "declarationDir", "outDir", "rootDir"]) {
219
+ if (typeof output[key] === "string") {
220
+ output[key] = path.resolve(tsconfigDir, output[key]);
221
+ }
222
+ }
223
+ for (const key of ["rootDirs", "typeRoots"]) {
224
+ if (Array.isArray(output[key])) {
225
+ output[key] = output[key].map((entry) => typeof entry === "string" ? path.resolve(tsconfigDir, entry) : entry);
226
+ }
227
+ }
228
+ if (hasPaths(output.paths) && typeof output.baseUrl !== "string") {
229
+ output.baseUrl = tsconfigDir;
230
+ }
231
+ if (Array.isArray(output.plugins)) {
232
+ output.plugins = output.plugins.map((entry) => normalizePluginConfigForGeneratedTsconfig(entry, tsconfigDir));
233
+ }
234
+ return output;
235
+ }
236
+ function normalizePluginConfigForGeneratedTsconfig(entry, tsconfigDir) {
237
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
238
+ return entry;
239
+ }
240
+ const output = { ...entry };
241
+ for (const key of ["config", "source", "transform"]) {
242
+ const value = output[key];
243
+ if (typeof value === "string" && isRelativeSpecifier(value)) {
244
+ output[key] = path.resolve(tsconfigDir, value);
245
+ }
246
+ }
247
+ return output;
248
+ }
249
+ function createAliasCompilerOptions(props) {
250
+ if (Object.keys(props.aliasPaths).length === 0) {
251
+ return {};
252
+ }
253
+ return {
254
+ baseUrl: toCompilerPath(props.baseUrl, props.compilerOptions),
255
+ paths: {
256
+ ...readPaths(props.compilerOptions.paths),
257
+ ...props.aliasPaths,
258
+ },
259
+ };
260
+ }
261
+ function hasPaths(value) {
262
+ return (typeof value === "object" &&
263
+ value !== null &&
264
+ !Array.isArray(value) &&
265
+ Object.keys(value).length !== 0);
266
+ }
267
+ function readPaths(value) {
268
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
269
+ return {};
270
+ }
271
+ const output = {};
272
+ for (const [key, paths] of Object.entries(value)) {
273
+ if (!Array.isArray(paths)) {
274
+ continue;
275
+ }
276
+ const filtered = paths.filter((entry) => typeof entry === "string");
277
+ if (filtered.length !== 0) {
278
+ output[key] = filtered;
279
+ }
280
+ }
281
+ return output;
282
+ }
283
+ function resolveBaseUrl(tsconfigDir, compilerOptions) {
284
+ return typeof compilerOptions.baseUrl === "string"
285
+ ? path.resolve(tsconfigDir, compilerOptions.baseUrl)
286
+ : tsconfigDir;
287
+ }
288
+ function toCompilerPath(absoluteBaseUrl, compilerOptions) {
289
+ return typeof compilerOptions.baseUrl === "string"
290
+ ? compilerOptions.baseUrl
291
+ : absoluteBaseUrl;
292
+ }
293
+ function createAliasPaths(baseUrl, aliases) {
294
+ const paths = {};
295
+ for (const alias of normalizeAliases(aliases)) {
296
+ if (typeof alias.find !== "string" || alias.find.length === 0) {
297
+ continue;
298
+ }
299
+ if (alias.find.includes("*")) {
300
+ continue;
301
+ }
302
+ const key = alias.find.replace(/\/+$/, "");
303
+ if (key.length === 0) {
304
+ continue;
305
+ }
306
+ const replacement = path.isAbsolute(alias.replacement)
307
+ ? alias.replacement
308
+ : path.resolve(process.cwd(), alias.replacement);
309
+ const target = normalizePath(path.relative(baseUrl, replacement) || ".");
310
+ paths[key] = [target];
311
+ paths[`${key}/*`] = [`${target}/*`];
312
+ }
313
+ return paths;
314
+ }
315
+ function normalizeAliases(aliases) {
316
+ if (Array.isArray(aliases)) {
317
+ return aliases.filter(isAlias);
318
+ }
319
+ if (typeof aliases === "object" && aliases !== null) {
320
+ return Object.entries(aliases)
321
+ .filter((entry) => typeof entry[1] === "string")
322
+ .map(([find, replacement]) => ({ find, replacement }));
323
+ }
324
+ return [];
325
+ }
326
+ function createTransformCacheKey(props) {
327
+ return stableStringify({
328
+ aliasPaths: props.aliasPaths,
329
+ compilerOptions: props.compilerOptions,
330
+ plugins: props.plugins,
331
+ tsconfig: path.resolve(props.tsconfig),
332
+ });
333
+ }
334
+ function stableStringify(value) {
335
+ if (Array.isArray(value)) {
336
+ return `[${value.map(stableStringify).join(",")}]`;
337
+ }
338
+ if (value && typeof value === "object") {
339
+ return `{${Object.entries(value)
340
+ .sort(([a], [b]) => a.localeCompare(b))
341
+ .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
342
+ .join(",")}}`;
343
+ }
344
+ return JSON.stringify(value);
345
+ }
346
+ function isRelativeSpecifier(value) {
347
+ return (value === "." ||
348
+ value === ".." ||
349
+ value.startsWith("./") ||
350
+ value.startsWith("../") ||
351
+ value.startsWith(".\\") ||
352
+ value.startsWith("..\\"));
353
+ }
354
+ function isAlias(value) {
355
+ return (typeof value === "object" &&
356
+ value !== null &&
357
+ "find" in value &&
358
+ "replacement" in value &&
359
+ (typeof value.find === "string" || value.find instanceof RegExp) &&
360
+ typeof value.replacement === "string");
361
+ }
362
+ function selectTransformedSource(props) {
363
+ if (props.result.type === "exception") {
364
+ throw new Error(formatUnknownError(props.result.error));
365
+ }
366
+ if (props.result.type === "failure") {
367
+ throw new Error(formatDiagnostics(props.result.diagnostics));
368
+ }
369
+ const key = toProjectKey(props.projectRoot, props.file);
370
+ const direct = props.result.typescript[key];
371
+ if (direct !== undefined) {
372
+ return direct;
373
+ }
374
+ for (const [candidate, source] of Object.entries(props.result.typescript)) {
375
+ if (path.resolve(props.projectRoot, candidate) === props.file) {
376
+ return source;
377
+ }
378
+ }
379
+ throw new Error(`ttsc transform did not return output for ${props.file}`);
380
+ }
381
+ function reportSuccessDiagnostics(result) {
382
+ if (result.type !== "success" || result.diagnostics === undefined) {
383
+ return;
384
+ }
385
+ const text = formatDiagnostics(result.diagnostics);
386
+ if (text.length !== 0) {
387
+ process.stderr.write(`${text}\n`);
388
+ }
389
+ }
390
+ function formatDiagnostics(diagnostics) {
391
+ if (diagnostics.length === 0) {
392
+ return "ttsc transform failed";
393
+ }
394
+ return diagnostics
395
+ .map((diag) => [
396
+ diag.file ?? "ttsc",
397
+ diag.line === undefined
398
+ ? undefined
399
+ : `${diag.line}:${diag.character ?? 1}`,
400
+ diag.messageText,
401
+ ]
402
+ .filter((part) => part !== undefined && part !== "")
403
+ .join(": "))
404
+ .join("\n");
405
+ }
406
+ function formatUnknownError(error) {
407
+ if (error instanceof Error) {
408
+ return error.message;
409
+ }
410
+ if (typeof error === "object" &&
411
+ error !== null &&
412
+ "message" in error &&
413
+ typeof error.message === "string") {
414
+ return error.message;
415
+ }
416
+ return String(error);
417
+ }
418
+ function resolveTsconfig(file, tsconfig) {
419
+ if (tsconfig !== undefined) {
420
+ return path.isAbsolute(tsconfig)
421
+ ? tsconfig
422
+ : path.resolve(process.cwd(), tsconfig);
423
+ }
424
+ let current = path.dirname(file);
425
+ while (true) {
426
+ const candidate = path.join(current, "tsconfig.json");
427
+ if (fs.existsSync(candidate)) {
428
+ return candidate;
429
+ }
430
+ const parent = path.dirname(current);
431
+ if (parent === current) {
432
+ break;
433
+ }
434
+ current = parent;
435
+ }
436
+ return path.resolve(process.cwd(), "tsconfig.json");
437
+ }
438
+ function toProjectKey(root, file) {
439
+ return normalizePath(path.relative(root, file));
440
+ }
441
+ function normalizePath(file) {
442
+ return file.replace(/\\/g, "/");
443
+ }
444
+
445
+ export { createTransformResult, createTtscTransformCache, isDeclarationFile, stripQuery, transformTtsc };
446
+ //# sourceMappingURL=transform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.mjs","sources":["../../src/core/transform.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;SAkCgB,wBAAwB,GAAA;IACtC,OAAO,IAAI,GAAG,EAAE;AAClB;AAEO,eAAe,aAAa,CACjC,EAAU,EACV,MAAc,EACd,OAAoC,EACpC,OAAiB,EACjB,KAA0B,EAAA;AAE1B,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC;AAC5B,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACxB,QAAA,OAAO,SAAS;IAClB;IACA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAChC,IAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC3B,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC;IACpE,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;IACrD,MAAM,GAAG,GAAG,uBAAuB,CAAC;QAClC,UAAU;QACV,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ;AACT,KAAA,CAAC;IAEF,IAAI,WAAW,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;AACjC,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,QAAA,MAAM,MAAM,GAAG,MAAM,WAAW;QAChC,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;AAC7C,YAAA,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,MAAM,IAAI,GAAG,uBAAuB,CAAC;gBACnC,IAAI;gBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,aAAA,CAAC;AACF,YAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5C;AACA,QAAA,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;QAClB,WAAW,GAAG,SAAS;IACzB;AAEA,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,WAAW,GAAG,gBAAgB,CAAC;YAC7B,UAAU;YACV,OAAO;YACP,eAAe,EAAE,OAAO,CAAC,eAAe;AACxC,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;AACT,SAAA,CAAC;AACF,QAAA,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;IAC9B;IACA,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW;IACjD,wBAAwB,CAAC,MAAM,CAAC;AAChC,IAAA,MAAM,IAAI,GAAG,uBAAuB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACnE,IAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC5C;AAEM,SAAU,UAAU,CAAC,EAAU,EAAA;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AACpD,IAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,kBAAkB;UACpC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM;UACzC,KAAK;AACX;AAEM,SAAU,iBAAiB,CAAC,EAAU,EAAA;IAC1C,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC/E;AAEM,SAAU,qBAAqB,CACnC,MAAc,EACd,IAAY,EAAA;AAEZ,IAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,QAAA,OAAO,SAAS;IAClB;IACA,OAAO,EAAE,IAAI,EAAE;AACjB;AAEA,SAAS,mBAAmB,CAC1B,MAAkC,EAClC,IAAY,EACZ,MAAc,EAAA;IAEd,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;IACzD,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC;IACnE,aAAa,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;AACtD;AAEA,SAAS,kBAAkB,CAAC,KAK3B,EAAA;IACC,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;IAC3D,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACtD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;AACjD,YAAA,IAAI;AACF,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvD;AAAE,YAAA,MAAM;;;YAGR;QACF;IACF;AACA,IAAA,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CACnE,KAAK,CAAC,aAAa,CACpB;AACD,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,yBAAyB,CAChC,WAAmB,EAAA;IAEnB,MAAM,MAAM,GAA2B,EAAE;IACzC,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE;AACrD,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3E;AAAE,QAAA,MAAM;;;QAGR;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,qBAAqB,CAAC,IAAY,EAAA;IACzC,MAAM,GAAG,GAAa,EAAE;AACxB,IAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,IAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG;AAC5B,QAAA,IAAI,OAAoB;AACxB,QAAA,IAAI;AACF,YAAA,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC5D;AAAE,QAAA,MAAM;YACN;QACF;AACA,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,YAAA,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACzC;YACF;AACA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;AAC3C,YAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;AACvB,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB;AAAO,iBAAA,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AACzB,gBAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB;QACF;IACF;IACA,GAAG,CAAC,IAAI,EAAE;AACV,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,yBAAyB,CAAC,IAAY,EAAA;IAC7C,QACE,IAAI,KAAK,MAAM;AACf,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,QAAQ;AACjB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,aAAa;AACtB,QAAA,IAAI,KAAK,QAAQ;AACjB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,OAAO;AAChB,QAAA,IAAI,KAAK,UAAU;AACnB,QAAA,IAAI,KAAK,MAAM;AACf,QAAA,IAAI,KAAK,cAAc;AACvB,QAAA,IAAI,KAAK,KAAK;AACd,QAAA,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,KAAK;AAElB;AAEA,SAAS,UAAU,CACjB,IAA4B,EAC5B,KAA6B,EAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;AACxC,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D;AAEA,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAChE;AAEA,eAAe,gBAAgB,CAAC,KAQ/B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAChD,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;AAC9B,YAAA,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW;YACX,QAAQ,EAAE,UAAU,CAAC,IAAI;SAC1B,CAAC,CAAC,SAAS,EAAE;QACd,OAAO;YACL,WAAW,EAAE,kBAAkB,CAAC;gBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW;gBACX,MAAM;aACP,CAAC;YACF,WAAW;YACX,MAAM;SACP;IACH;YAAU;QACR,UAAU,CAAC,OAAO,EAAE;IACtB;AACF;AAEA,SAAS,uBAAuB,CAAC,KAKhC,EAAA;IACC,MAAM,eAAe,GAAG,4CAA4C,CAClE;QACE,GAAG,KAAK,CAAC,eAAe;QACxB,GAAG,0BAA0B,CAAC,KAAK,CAAC;KACrC,EACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC7B;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,QAAQ;AACpB,YAAA,OAAO,EAAE,MAAM,SAAS;SACzB;IACH;AAEA,IAAA,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAClD,EAAE,CAAC,aAAa,CACd,IAAI,EACJ,IAAI,CAAC,SAAS,CACZ;AACE,QAAA,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,eAAe;AAChB,KAAA,EACD,IAAI,EACJ,CAAC,CACF,EACD,MAAM,CACP;IACD,OAAO;AACL,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACtE;AACH;AAEA,SAAS,4CAA4C,CACnD,eAAwC,EACxC,WAAmB,EAAA;AAEnB,IAAA,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE;AACrC,IAAA,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;QACpE,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD;IACF;IACA,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9B,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAClC,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,CACrE;QACH;IACF;AACA,IAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;AAChE,QAAA,MAAM,CAAC,OAAO,GAAG,WAAW;IAC9B;IACA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KACxC,yCAAyC,CAAC,KAAK,EAAE,WAAW,CAAC,CAC9D;IACH;AACA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,yCAAyC,CAChD,KAAc,EACd,WAAmB,EAAA;AAEnB,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,KAAK;IACd;AACA,IAAA,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE;IACpD,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;AACnD,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAC3D,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QAChD;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,0BAA0B,CAAC,KAInC,EAAA;AACC,IAAA,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,QAAA,OAAO,EAAE;IACX;IACA,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;AAC7D,QAAA,KAAK,EAAE;AACL,YAAA,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;YACzC,GAAG,KAAK,CAAC,UAAU;AACpB,SAAA;KACF;AACH;AAEA,SAAS,QAAQ,CAAC,KAAc,EAAA;AAC9B,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;AAEnC;AAEA,SAAS,SAAS,CAAC,KAAc,EAAA;AAC/B,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE;IACX;IACA,MAAM,MAAM,GAA6B,EAAE;AAC3C,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,KAAK,KAAsB,OAAO,KAAK,KAAK,QAAQ,CACtD;AACD,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ;QACxB;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,cAAc,CACrB,WAAmB,EACnB,eAAwC,EAAA;AAExC,IAAA,OAAO,OAAO,eAAe,CAAC,OAAO,KAAK;UACtC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO;UACjD,WAAW;AACjB;AAEA,SAAS,cAAc,CACrB,eAAuB,EACvB,eAAwC,EAAA;AAExC,IAAA,OAAO,OAAO,eAAe,CAAC,OAAO,KAAK;UACtC,eAAe,CAAC;UAChB,eAAe;AACrB;AAEA,SAAS,gBAAgB,CACvB,OAAe,EACf,OAAgB,EAAA;IAEhB,MAAM,KAAK,GAA6B,EAAE;IAC1C,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;AAC7C,QAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7D;QACF;QACA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B;QACF;AACA,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB;QACF;QACA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW;cACjD,KAAK,CAAC;AACR,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC;AAClD,QAAA,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC;AACxE,QAAA,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QACrB,KAAK,CAAC,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CAAC;IACrC;AACA,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,gBAAgB,CAAC,OAAgB,EAAA;AACxC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;IAChC;IACA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AACnD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO;AAC1B,aAAA,MAAM,CACL,CAAC,KAAK,KAAgC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;AAEnE,aAAA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1D;AACA,IAAA,OAAO,EAAE;AACX;AAEA,SAAS,uBAAuB,CAAC,KAKhC,EAAA;AACC,IAAA,OAAO,eAAe,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvC,KAAA,CAAC;AACJ;AAEA,SAAS,eAAe,CAAC,KAAc,EAAA;AACrC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,CAAA,CAAA,EAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;IACpD;AACA,IAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK;AAC5B,aAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,eAAe,CAAC,IAAI,CAAC,CAAA,CAAE;AACtE,aAAA,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;IACjB;AACA,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9B;AAEA,SAAS,mBAAmB,CAAC,KAAa,EAAA;IACxC,QACE,KAAK,KAAK,GAAG;AACb,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;AAE5B;AAEA,SAAS,OAAO,CAAC,KAAc,EAAA;AAC7B,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,MAAM,IAAI,KAAK;AACf,QAAA,aAAa,IAAI,KAAK;AACtB,SAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,YAAY,MAAM,CAAC;AAChE,QAAA,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;AAEzC;AAEA,SAAS,uBAAuB,CAAC,KAIhC,EAAA;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD;IACA,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACnC,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D;AAEA,IAAA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AAC3C,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,OAAO,MAAM;IACf;AACA,IAAA,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACzE,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE;AAC7D,YAAA,OAAO,MAAM;QACf;IACF;IACA,MAAM,IAAI,KAAK,CAAC,CAAA,yCAAA,EAA4C,KAAK,CAAC,IAAI,CAAA,CAAE,CAAC;AAC3E;AAEA,SAAS,wBAAwB,CAAC,MAAmC,EAAA;AACnE,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;QACjE;IACF;IACA,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC;AAClD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC;IACnC;AACF;AAEA,SAAS,iBAAiB,CAAC,WAAsC,EAAA;AAC/D,IAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,OAAO,uBAAuB;IAChC;AACA,IAAA,OAAO;AACJ,SAAA,GAAG,CAAC,CAAC,IAAI,KACR;QACE,IAAI,CAAC,IAAI,IAAI,MAAM;QACnB,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;cACA,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA,CAAE;AACzC,QAAA,IAAI,CAAC,WAAW;AACjB;AACE,SAAA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;SAClD,IAAI,CAAC,IAAI,CAAC;SAEd,IAAI,CAAC,IAAI,CAAC;AACf;AAEA,SAAS,kBAAkB,CAAC,KAAc,EAAA;AACxC,IAAA,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,OAAO;IACtB;IACA,IACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,SAAS,IAAI,KAAK;AAClB,QAAA,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC;QACA,OAAO,KAAK,CAAC,OAAO;IACtB;AACA,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB;AAEA,SAAS,eAAe,CAAC,IAAY,EAAE,QAAiB,EAAA;AACtD,IAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ;AAC7B,cAAE;AACF,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;IAC3C;IAEA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,OAAO,IAAI,EAAE;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;AACrD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC5B,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACpC,QAAA,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB;QACF;QACA,OAAO,GAAG,MAAM;IAClB;IACA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;AACrD;AAEA,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAA;IAC9C,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD;AAEA,SAAS,aAAa,CAAC,IAAY,EAAA;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACjC;;;;"}
package/lib/esbuild.js CHANGED
@@ -1,9 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = __importDefault(require("./core/index"));
7
- const esbuild = index_1.default.esbuild;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index = require('./core/index.js');
6
+
7
+ const esbuild = index.default.esbuild;
8
+
8
9
  exports.default = esbuild;
9
- //# sourceMappingURL=esbuild.js.map
10
+ //# sourceMappingURL=esbuild.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../src/esbuild.ts"],"names":[],"mappings":";;;;;AAAA,yDAAoC;AAEpC,MAAM,OAAO,GAA4B,eAAQ,CAAC,OAAO,CAAC;kBAE3C,OAAO"}
1
+ {"version":3,"file":"esbuild.js","sources":["../src/esbuild.ts"],"sourcesContent":[null],"names":["unplugin"],"mappings":";;;;;;AAEA,MAAM,OAAO,GAA4BA,aAAQ,CAAC;;;;"}
@@ -0,0 +1,6 @@
1
+ import unplugin from './core/index.mjs';
2
+
3
+ const esbuild = unplugin.esbuild;
4
+
5
+ export { esbuild as default };
6
+ //# sourceMappingURL=esbuild.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild.mjs","sources":["../src/esbuild.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,MAAM,OAAO,GAA4B,QAAQ,CAAC;;;;"}
package/lib/farm.js CHANGED
@@ -1,9 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = __importDefault(require("./core/index"));
7
- const farm = index_1.default.farm;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index = require('./core/index.js');
6
+
7
+ const farm = index.default.farm;
8
+
8
9
  exports.default = farm;
9
- //# sourceMappingURL=farm.js.map
10
+ //# sourceMappingURL=farm.js.map
package/lib/farm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"farm.js","sourceRoot":"","sources":["../src/farm.ts"],"names":[],"mappings":";;;;;AAAA,yDAAoC;AAEpC,MAAM,IAAI,GAAyB,eAAQ,CAAC,IAAI,CAAC;kBAElC,IAAI"}
1
+ {"version":3,"file":"farm.js","sources":["../src/farm.ts"],"sourcesContent":[null],"names":["unplugin"],"mappings":";;;;;;AAEA,MAAM,IAAI,GAAyBA,aAAQ,CAAC;;;;"}
package/lib/farm.mjs ADDED
@@ -0,0 +1,6 @@
1
+ import unplugin from './core/index.mjs';
2
+
3
+ const farm = unplugin.farm;
4
+
5
+ export { farm as default };
6
+ //# sourceMappingURL=farm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farm.mjs","sources":["../src/farm.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,MAAM,IAAI,GAAyB,QAAQ,CAAC;;;;"}
package/lib/index.js CHANGED
@@ -1,8 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = __importDefault(require("./core/index"));
7
- exports.default = index_1.default;
8
- //# sourceMappingURL=index.js.map
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index = require('./core/index.js');
6
+
7
+
8
+
9
+ exports.default = index.default;
10
+ //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,yDAAoC;kBAIrB,eAAQ"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/lib/index.mjs ADDED
@@ -0,0 +1,6 @@
1
+ import unplugin from './core/index.mjs';
2
+
3
+
4
+
5
+ export { unplugin as default };
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/lib/next.js CHANGED
@@ -1,16 +1,15 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = next;
7
- const webpack_1 = __importDefault(require("./webpack"));
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var webpack = require('./webpack.js');
6
+
8
7
  function next(nextConfig = {}, options) {
9
8
  return {
10
9
  ...nextConfig,
11
10
  webpack(config, webpackOptions) {
12
11
  config.plugins = Array.isArray(config.plugins) ? config.plugins : [];
13
- config.plugins.unshift((0, webpack_1.default)(options));
12
+ config.plugins.unshift(webpack.default(options));
14
13
  if (typeof nextConfig.webpack === "function") {
15
14
  return nextConfig.webpack(config, webpackOptions);
16
15
  }
@@ -18,4 +17,6 @@ function next(nextConfig = {}, options) {
18
17
  },
19
18
  };
20
19
  }
21
- //# sourceMappingURL=next.js.map
20
+
21
+ exports.default = next;
22
+ //# sourceMappingURL=next.js.map
package/lib/next.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":";;;;;;AACA,wDAAgC;AAUhC,cACE,UAAU,GAAmB,EAAE,EAC/B,OAA6B;IAE7B,OAAO;QACL,GAAG,UAAU;QACb,OAAO,CAAC,MAAyB,EAAE,cAAuB;YACxD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC,CAAC;YACzC,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"next.js","sources":["../src/next.ts"],"sourcesContent":[null],"names":["webpack"],"mappings":";;;;;;AAWc,SAAU,IAAI,CAC1B,UAAA,GAA6B,EAAE,EAC/B,OAA6B,EAAA;IAE7B,OAAO;AACL,QAAA,GAAG,UAAU;QACb,OAAO,CAAC,MAAyB,EAAE,cAAuB,EAAA;YACxD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE;YACpE,MAAM,CAAC,OAAO,CAAC,OAAO,CAACA,eAAO,CAAC,OAAO,CAAC,CAAC;AACxC,YAAA,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE;gBAC5C,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;YACnD;AACA,YAAA,OAAO,MAAM;QACf,CAAC;KACF;AACH;;;;"}
package/lib/next.mjs ADDED
@@ -0,0 +1,18 @@
1
+ import webpack from './webpack.mjs';
2
+
3
+ function next(nextConfig = {}, options) {
4
+ return {
5
+ ...nextConfig,
6
+ webpack(config, webpackOptions) {
7
+ config.plugins = Array.isArray(config.plugins) ? config.plugins : [];
8
+ config.plugins.unshift(webpack(options));
9
+ if (typeof nextConfig.webpack === "function") {
10
+ return nextConfig.webpack(config, webpackOptions);
11
+ }
12
+ return config;
13
+ },
14
+ };
15
+ }
16
+
17
+ export { next as default };
18
+ //# sourceMappingURL=next.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.mjs","sources":["../src/next.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAWc,SAAU,IAAI,CAC1B,UAAA,GAA6B,EAAE,EAC/B,OAA6B,EAAA;IAE7B,OAAO;AACL,QAAA,GAAG,UAAU;QACb,OAAO,CAAC,MAAyB,EAAE,cAAuB,EAAA;YACxD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE;YACpE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxC,YAAA,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE;gBAC5C,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;YACnD;AACA,YAAA,OAAO,MAAM;QACf,CAAC;KACF;AACH;;;;"}
package/lib/rolldown.js CHANGED
@@ -1,9 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = __importDefault(require("./core/index"));
7
- const rolldown = index_1.default.rolldown;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index = require('./core/index.js');
6
+
7
+ const rolldown = index.default.rolldown;
8
+
8
9
  exports.default = rolldown;
9
- //# sourceMappingURL=rolldown.js.map
10
+ //# sourceMappingURL=rolldown.js.map