garfish-wasm-esm-plugin 0.1.2 → 0.1.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # garfish-wasm-esm-plugin
2
2
 
3
+ ## 0.1.3
4
+
5
+ ### Patch Changes
6
+
7
+ - db55d5e: Match Garfish external prefixes only when the external key uses import-map-style trailing slash syntax.
8
+ - cf4ba9a: Fix module execution races and make export rewrites rely on OXC AST spans.
9
+
3
10
  ## 0.1.2
4
11
 
5
12
  ### Patch Changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # garfish-wasm-esm-plugin
2
2
 
3
- ![Coverage](./badges/coverage.svg)
3
+ [![codecov](https://codecov.io/gh/Justinidlerz/garfish-wasm-esm-plugin/branch/master/graph/badge.svg)](https://app.codecov.io/gh/Justinidlerz/garfish-wasm-esm-plugin)
4
4
 
5
5
  Garfish plugin for running `<script type="module">` resources through a browser
6
6
  WebAssembly transformer. The wasm core uses OXC to parse ESM syntax and rewrites
@@ -42,29 +42,40 @@ HTML import maps are read from the sub application's HTML entry:
42
42
  Bare imports that are not provided by Garfish externals are resolved with
43
43
  `@jspm/import-map` against the current module URL.
44
44
 
45
- Garfish externals are read from `Garfish.externals` and can be imported by exact
46
- module id or by subpath when the external key is a package root:
45
+ Garfish externals are read from `Garfish.externals`. The matching rule follows
46
+ import map semantics:
47
+
48
+ - keys without a trailing slash match only the exact module id;
49
+ - keys with a trailing slash match that full prefix, so `@abc/def/` externalizes
50
+ imports such as `@abc/def/test.js`;
51
+ - the longest matching external prefix wins when multiple prefix keys match.
52
+ Every matching subpath reads from the external module value registered under
53
+ that prefix key.
47
54
 
48
55
  ```ts
49
56
  import React from 'react';
50
- import ReactDOM from 'react-dom/client';
57
+ import * as sharedWidgets from '@abc/def';
51
58
  import Garfish from 'garfish';
52
59
  import { GarfishEsModule } from 'garfish-wasm-esm-plugin';
53
60
 
54
61
  Garfish.externals = {
55
62
  react: React,
56
- 'react-dom': ReactDOM,
63
+ '@abc/def/': sharedWidgets,
57
64
  };
58
65
 
59
66
  Garfish.run({
60
67
  plugins: [
61
68
  GarfishEsModule({
62
- garfishExternals: ['react', 'react-dom'],
69
+ garfishExternals: ['react', '@abc/def/'],
63
70
  }),
64
71
  ],
65
72
  });
66
73
  ```
67
74
 
75
+ With the config above, `import React from 'react'` is exact-matched, while
76
+ `import { Button } from '@abc/def/button.js'` is treated as external because it
77
+ matches the `@abc/def/` prefix. `@abc/defx/button.js` does not match that prefix.
78
+
68
79
  Runtime-generated namespace modules stay live: exported getters read the current
69
80
  value from the backing module object instead of capturing an initial snapshot.
70
81
 
@@ -116,31 +127,39 @@ pnpm test
116
127
  pnpm test:coverage
117
128
  ```
118
129
 
119
- `pnpm test` builds the wasm transformer and runs Vitest in Node. Coverage writes
120
- `coverage/coverage-summary.json` and refreshes `badges/coverage.svg`.
130
+ `pnpm test` builds the wasm transformer and runs Vitest in Node.
131
+ `pnpm test:coverage` writes `coverage/coverage-summary.json` and
132
+ `coverage/lcov.info`; CI uploads that report to Codecov.
133
+
134
+ On pull requests, GitHub Actions uploads the coverage report with
135
+ `codecov/codecov-action`; Codecov owns the coverage PR comment and status checks.
136
+ The workflow also updates a repository PR comment with Codecov report links and
137
+ the latest benchmark table.
121
138
 
122
139
  ## Benchmark
123
140
 
124
141
  ```sh
125
142
  pnpm benchmark
126
- pnpm benchmark:update-readme
143
+ pnpm benchmark:update
127
144
  ```
128
145
 
129
146
  `pnpm benchmark` measures the wasm transform path against fixed ESM fixtures.
130
- `pnpm benchmark:update-readme` refreshes the table below.
147
+ `pnpm benchmark:update` refreshes both `benchmarks/transform.md` and the table
148
+ below.
131
149
 
132
150
  <!-- benchmark-results:start -->
133
151
 
134
152
  | Fixture | Source bytes | Mean | p75 | p99 | Throughput | Samples |
135
153
  | --- | ---: | ---: | ---: | ---: | ---: | ---: |
136
- | `small-live-bindings` | 255 | 0.011 ms | 0.011 ms | 0.016 ms | 90,832 ops/sec | 89,147 |
137
- | `medium-dashboard` | 1,247 | 0.064 ms | 0.064 ms | 0.098 ms | 15,734 ops/sec | 15,560 |
138
- | `large-re-export` | 5,314 | 0.250 ms | 0.251 ms | 0.371 ms | 4,025 ops/sec | 3,999 |
154
+ | `small-live-bindings` | 255 | 0.011 ms | 0.011 ms | 0.014 ms | 90,876 ops/sec | 90,215 |
155
+ | `medium-dashboard` | 1,247 | 0.064 ms | 0.063 ms | 0.078 ms | 15,850 ops/sec | 15,707 |
156
+ | `large-re-export` | 5,314 | 0.250 ms | 0.250 ms | 0.348 ms | 4,010 ops/sec | 3,993 |
139
157
 
140
158
  Measured on Node v22.23.1 with `BENCH_TIME_MS=1000` and `BENCH_WARMUP_MS=250`.
141
159
 
142
160
  <!-- benchmark-results:end -->
143
161
 
162
+
144
163
  ## Vite Example
145
164
 
146
165
  ```sh
@@ -1 +1 @@
1
- {"version":3,"file":"pluginify.d.ts","sourceRoot":"","sources":["../src/pluginify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EAEtB,sBAAsB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC7C,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAqGD,wBAAgB,eAAe,CAAC,OAAO,GAAE,OAAY,IAClC,SAAS,UAAU,CAAC,OAAO,KAAG,UAAU,CAAC,MAAM,CAoHjE"}
1
+ {"version":3,"file":"pluginify.d.ts","sourceRoot":"","sources":["../src/pluginify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAEV,mBAAmB,EACnB,sBAAsB,EAEtB,sBAAsB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC7C,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAqGD,wBAAgB,eAAe,CAAC,OAAO,GAAE,OAAY,IAClC,SAAS,UAAU,CAAC,OAAO,KAAG,UAAU,CAAC,MAAM,CAoHjE"}
package/dist/pluginify.js CHANGED
@@ -115,7 +115,7 @@ function GarfishEsModule(options = {}) {
115
115
  Object.assign(env, appEnv);
116
116
  if (execOptions?.isModule) {
117
117
  const codeRef = { code };
118
- runtime.options.execCode = function (output, provider) {
118
+ const execCode = (output, provider) => {
119
119
  Object.assign(env, provider);
120
120
  codeRef.code = `(() => {'use strict';\n${output.code}\n})()`;
121
121
  sandbox?.hooks.lifecycle.beforeInvoke.emit(codeRef, url, env, execOptions);
@@ -147,8 +147,8 @@ function GarfishEsModule(options = {}) {
147
147
  if (url) {
148
148
  appInstance.esmQueue.add(async () => {
149
149
  execOptions.isInline
150
- ? await runtime.importByCode(codeRef.code, url)
151
- : await runtime.importByUrl(url, url);
150
+ ? await runtime.importByCode(codeRef.code, url, url, execCode)
151
+ : await runtime.importByUrl(url, url, execCode);
152
152
  });
153
153
  }
154
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pluginify.js","sources":["../src/pluginify.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginify.js","sources":["../src/pluginify.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -25,6 +25,7 @@ export interface ModuleResource {
25
25
  realUrl: string;
26
26
  exports: string[];
27
27
  }
28
+ export type RuntimeExecCode = (output: ModuleResource, provider: Record<string, unknown>) => void;
28
29
  export interface RuntimeImportMap {
29
30
  imports?: Record<string, string>;
30
31
  scopes?: Record<string, Record<string, string>>;
@@ -41,13 +42,14 @@ export interface RuntimeOptions {
41
42
  wasm?: WasmInitInput;
42
43
  garfishExternals?: Record<string, unknown>;
43
44
  garfishExternalMatcher?: RuntimeExternalMatcher;
44
- execCode?: (output: ModuleResource, provider: ReturnType<Runtime['generateProvider']>) => void;
45
+ execCode?: RuntimeExecCode;
45
46
  }
46
47
  export declare const clearRuntimeCompileCache: () => void;
47
48
  export declare class Runtime {
48
49
  private modules;
49
50
  private importMap?;
50
51
  private memoryModules;
52
+ private codeImportRegistry;
51
53
  private loadRegistry;
52
54
  private activeLoads;
53
55
  private loadQueue;
@@ -79,7 +81,7 @@ export declare class Runtime {
79
81
  private fetchAndCompileLoad;
80
82
  private compileAndFetchCode;
81
83
  import(storeId: string): MemoryModule;
82
- importByUrl(storeId: string, requestUrl?: string): Promise<Module | undefined>;
83
- importByCode(code: string, storeId: string, metaUrl?: string): Promise<Module | undefined>;
84
+ importByUrl(storeId: string, requestUrl?: string, execCode?: RuntimeExecCode): Promise<Module | undefined>;
85
+ importByCode(code: string, storeId: string, metaUrl?: string, execCode?: RuntimeExecCode): Promise<Module | undefined>;
84
86
  }
85
87
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -4,7 +4,7 @@ import { ImportMap } from '@jspm/import-map';
4
4
  import { transformModuleWithWasm } from './wasm.js';
5
5
  import { createModule, createImportMeta } from './module.js';
6
6
 
7
- const PACKAGE_VERSION = "0.1.2";
7
+ const PACKAGE_VERSION = "0.1.3";
8
8
  const TRANSFORMER_VERSION = `garfish-wasm-esm-plugin@${PACKAGE_VERSION}:oxc-wasm`;
9
9
  const MAX_CONCURRENT_LOADS = 24;
10
10
  const GARFISH_IMPORT = '__GARFISH_IMPORT__';
@@ -35,11 +35,8 @@ const hashText = (text) => {
35
35
  const isRelativeModuleId = (moduleId) => moduleId.startsWith('./') ||
36
36
  moduleId.startsWith('../') ||
37
37
  (moduleId.startsWith('/') && !moduleId.startsWith('//'));
38
- const isExternalSubpath = (moduleId, externalKey) => {
39
- if (!externalKey || moduleId === externalKey)
40
- return false;
41
- const boundary = externalKey.endsWith('/') ? externalKey : `${externalKey}/`;
42
- return moduleId.startsWith(boundary);
38
+ const isExternalPrefixMatch = (moduleId, externalKey) => {
39
+ return externalKey.endsWith('/') && moduleId.startsWith(externalKey);
43
40
  };
44
41
  const isObjectLike = (value) => (typeof value === 'object' && value !== null) || typeof value === 'function';
45
42
  const toMemoryModule = (value) => {
@@ -88,6 +85,7 @@ class Runtime {
88
85
  constructor(options) {
89
86
  this.modules = new WeakMap();
90
87
  this.memoryModules = {};
88
+ this.codeImportRegistry = {};
91
89
  this.loadRegistry = {};
92
90
  this.activeLoads = 0;
93
91
  this.loadQueue = [];
@@ -148,10 +146,11 @@ class Runtime {
148
146
  getCompileCacheKey(code, storeId, realUrl) {
149
147
  return [TRANSFORMER_VERSION, realUrl, storeId, hashText(code)].join('\n');
150
148
  }
151
- execCode(output, memoryModule) {
152
- const provider = this.generateProvider(output, memoryModule);
153
- if (this.options.execCode) {
154
- this.options.execCode(output, provider);
149
+ execCode(output, memoryModule, execCode) {
150
+ const provider = this.generateProvider(output, memoryModule, execCode);
151
+ const executor = execCode || this.options.execCode;
152
+ if (executor) {
153
+ executor(output, provider);
155
154
  }
156
155
  else {
157
156
  const evalStart = now();
@@ -165,17 +164,20 @@ class Runtime {
165
164
  });
166
165
  }
167
166
  }
168
- importModule(storeId, requestUrl) {
167
+ importModule(storeId, requestUrl, execCode) {
169
168
  let memoryModule = this.memoryModules[storeId];
170
169
  if (!memoryModule) {
171
170
  const get = () => {
171
+ memoryModule = this.memoryModules[storeId];
172
+ if (memoryModule)
173
+ return memoryModule;
172
174
  const output = this.resources[storeId];
173
175
  if (!output) {
174
176
  throw new Error(`Module '${storeId}' not found`);
175
177
  }
176
178
  memoryModule = this.memoryModules[storeId] = {};
177
179
  try {
178
- this.execCode(output, memoryModule);
180
+ this.execCode(output, memoryModule, execCode);
179
181
  }
180
182
  catch (error) {
181
183
  delete this.memoryModules[storeId];
@@ -200,7 +202,7 @@ class Runtime {
200
202
  }
201
203
  return this.modules.get(memoryModule);
202
204
  }
203
- generateProvider(output, memoryModule) {
205
+ generateProvider(output, memoryModule, execCode) {
204
206
  return {
205
207
  [GARFISH_IMPORT_META]: createImportMeta(output.realUrl),
206
208
  [GARFISH_NAMESPACE]: (memoryModule) => {
@@ -215,7 +217,7 @@ class Runtime {
215
217
  return this.getExternalModule(moduleId);
216
218
  }
217
219
  const storeId = this.resolveModuleUrl(output.storeId, moduleId);
218
- return this.import(storeId);
220
+ return this.importModule(storeId, undefined, execCode);
219
221
  },
220
222
  [GARFISH_DYNAMIC_IMPORT]: (moduleId) => {
221
223
  if (this.isExternalModule(moduleId)) {
@@ -224,7 +226,7 @@ class Runtime {
224
226
  this.ensureImportMapForModule(moduleId);
225
227
  const storeId = this.resolveModuleUrl(output.storeId, moduleId);
226
228
  const requestUrl = this.resolveModuleUrl(output.realUrl, moduleId);
227
- return this.importByUrl(storeId, requestUrl);
229
+ return this.importByUrl(storeId, requestUrl, execCode);
228
230
  },
229
231
  [GARFISH_EXPORT]: (exportObject) => {
230
232
  Object.keys(exportObject).forEach((key) => {
@@ -266,7 +268,7 @@ class Runtime {
266
268
  if (hasOwn(externals, moduleId))
267
269
  return moduleId;
268
270
  return this.getExternalKeys()
269
- .filter((key) => isExternalSubpath(moduleId, key))
271
+ .filter((key) => isExternalPrefixMatch(moduleId, key))
270
272
  .sort((a, b) => b.length - a.length)[0];
271
273
  }
272
274
  matchesExternalOption(moduleId) {
@@ -274,12 +276,12 @@ class Runtime {
274
276
  if (!matcher)
275
277
  return false;
276
278
  if (Array.isArray(matcher)) {
277
- return matcher.some((item) => item === moduleId || isExternalSubpath(moduleId, item));
279
+ return matcher.some((item) => item === moduleId || isExternalPrefixMatch(moduleId, item));
278
280
  }
279
281
  if (matcher instanceof Set) {
280
282
  if (matcher.has(moduleId))
281
283
  return true;
282
- return [...matcher].some((item) => isExternalSubpath(moduleId, item));
284
+ return [...matcher].some((item) => isExternalPrefixMatch(moduleId, item));
283
285
  }
284
286
  return matcher(moduleId);
285
287
  }
@@ -441,19 +443,49 @@ class Runtime {
441
443
  import(storeId) {
442
444
  return this.importModule(storeId);
443
445
  }
444
- importByUrl(storeId, requestUrl) {
445
- const result = this.importModule(storeId, requestUrl || storeId);
446
+ importByUrl(storeId, requestUrl, execCode) {
447
+ const result = this.importModule(storeId, requestUrl || storeId, execCode);
446
448
  return Promise.resolve(result).then((memoryModule) => {
447
449
  return this.getModule(memoryModule);
448
450
  });
449
451
  }
450
- async importByCode(code, storeId, metaUrl) {
452
+ async importByCode(code, storeId, metaUrl, execCode) {
453
+ const existingModule = this.memoryModules[storeId];
454
+ if (existingModule) {
455
+ return this.getModule(existingModule);
456
+ }
457
+ const inFlightModule = this.codeImportRegistry[storeId];
458
+ if (inFlightModule) {
459
+ const memoryModule = await inFlightModule;
460
+ return this.getModule(memoryModule);
461
+ }
451
462
  if (!metaUrl)
452
463
  metaUrl = storeId;
453
- const memoryModule = {};
454
- const output = await this.analysisModule(code, storeId, metaUrl);
455
- this.resources[storeId] = output;
456
- this.execCode(output, memoryModule);
464
+ const modulePromise = (async () => {
465
+ const output = await this.analysisModule(code, storeId, metaUrl);
466
+ const loadedModule = this.memoryModules[storeId];
467
+ if (loadedModule)
468
+ return loadedModule;
469
+ const memoryModule = {};
470
+ this.resources[storeId] = output;
471
+ this.memoryModules[storeId] = memoryModule;
472
+ try {
473
+ this.execCode(output, memoryModule, execCode);
474
+ }
475
+ catch (error) {
476
+ delete this.memoryModules[storeId];
477
+ delete this.resources[storeId];
478
+ delete this.loadRegistry[storeId];
479
+ throw error;
480
+ }
481
+ return memoryModule;
482
+ })();
483
+ this.codeImportRegistry[storeId] = modulePromise;
484
+ const memoryModule = await modulePromise.finally(() => {
485
+ if (this.codeImportRegistry[storeId] === modulePromise) {
486
+ delete this.codeImportRegistry[storeId];
487
+ }
488
+ });
457
489
  return this.getModule(memoryModule);
458
490
  }
459
491
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sources":["../src/runtime.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sources":["../src/runtime.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAsBA,MAAM,eAAe,GAAG,OAAA;AACxB,MAAM,mBAAmB,GAAG,CAAA,wBAAA,EAA2B,eAAe,WAAW;AACjF,MAAM,oBAAoB,GAAG,EAAE;AAE/B,MAAM,cAAc,GAAG,oBAAoB;AAC3C,MAAM,cAAc,GAAG,oBAAoB;AAC3C,MAAM,iBAAiB,GAAG,uBAAuB;AACjD,MAAM,mBAAmB,GAAG,yBAAyB;AACrD,MAAM,sBAAsB,GAAG,4BAA4B;AAC3D,MAAM,sBAAsB,GAAG,4BAA4B;AAC3D,MAAM,mBAAmB,GAAG,yBAAyB;AAErD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,GAAW,KACzC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AAEnD,MAAM,GAAG,GAAG,MACV,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC;AAChD,MAAE,WAAW,CAAC,GAAG;AACjB,MAAE,IAAI,CAAC,GAAG,EAAE;AAEhB,MAAM,YAAY,GAAG,CAAC,IAAY,KAAI;AACpC,IAAA,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;QACtC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;IAC9C;IACA,OAAO,IAAI,CAAC,MAAM;AACpB,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,IAAY,KAAI;IAChC,IAAI,IAAI,GAAG,UAAU;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;IAClC;IACA,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,QAAgB,KAC1C,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACzB,IAAA,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1B,KAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAE1D,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,WAAmB,KAAI;AACtE,IAAA,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;AACtE,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,KAAc,KAClC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,OAAO,KAAK,KAAK,UAAU;AAE9E,MAAM,cAAc,GAAG,CAAC,KAAc,KAAkB;IACtD,IAAI,YAAY,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAqB;AACrD,IAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;AAC3B,CAAC;AAED,MAAM,oBAAoB,GAAG,CAC3B,MAAsB,EACtB,MAAsB,EACtB,GAAQ,KACN;AACF,IAAA,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AAC7B,QAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/C;AACF,CAAC;AAkED,MAAM,sBAAsB,CAAA;AAG1B,IAAA,WAAA,CAA6B,aAAa,GAAG,EAAA;QAAhB,IAAA,CAAA,UAAU,GAAV,UAAU;AAF/B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAoD;IAE5B;AAEhD,IAAA,GAAG,CAAC,GAAW,EAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAClC,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;QAC7B;AACA,QAAA,OAAO,KAAK;IACd;IAEA,GAAG,CAAC,GAAW,EAAE,KAA+C,EAAA;QAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AAChE,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;AAChD,YAAA,IAAI,QAAQ;AAAE,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C;QACA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;IAC7B;AAEA,IAAA,MAAM,CAAC,GAAW,EAAA;AAChB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IACzB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;IACrB;AACD;AAED,MAAM,0BAA0B,GAAG,IAAI,sBAAsB,EAAE;AAExD,MAAM,wBAAwB,GAAG,MAAK;IAC3C,0BAA0B,CAAC,KAAK,EAAE;AACpC;MAEa,OAAO,CAAA;AAYlB,IAAA,WAAA,CAAY,OAAwB,EAAA;AAX5B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAwB;QAE7C,IAAA,CAAA,aAAa,GAAiC,EAAE;QAChD,IAAA,CAAA,kBAAkB,GAA0C,EAAE;QAC9D,IAAA,CAAA,YAAY,GAAqC,EAAE;QACnD,IAAA,CAAA,WAAW,GAAG,CAAC;QACf,IAAA,CAAA,SAAS,GAAsB,EAAE;QAGlC,IAAA,CAAA,SAAS,GAAmC,EAAE;AAGnD,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,YAAY,EAAE,IAAI;SACnB;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO;AAClC,cAAE,SAAS,CAAC,cAAc,EAAE,OAAO;cACjC,cAAc;AAClB,QAAA,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;YAC1B,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;YAC3D,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;YACvD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,wBAAwB,CAAC;YACrE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC;YAC/D,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;YACzD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;YAC3D,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;YACtD,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;QACrD;AACA,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACtD;IAEQ,eAAe,GAAA;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI;IACnD;IAEQ,eAAe,GAAA;QACrB,IAAI,IAAI,CAAC,SAAS;YAAE;AACpB,QAAA,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;AAC9B,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;AAC/B,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AAEQ,IAAA,wBAAwB,CAAC,QAAgB,EAAA;AAC/C,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACrE,IAAI,CAAC,eAAe,EAAE;QACxB;IACF;IAEO,gBAAgB,CAAC,OAAe,EAAE,QAAgB,EAAA;AACvD,QAAA,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;AAChC,YAAA,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;QACxC;QACA,IAAI,CAAC,eAAe,EAAE;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IACnD;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,KAAK;YAAE;AACzC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE;AACnE,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY;QAClC;AACA,QAAA,OAAO,0BAA0B;IACnC;AAEQ,IAAA,kBAAkB,CAAC,IAAY,EAAE,OAAe,EAAE,OAAe,EAAA;AACvE,QAAA,OAAO,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3E;AAEQ,IAAA,QAAQ,CACd,MAAsB,EACtB,YAA0B,EAC1B,QAA0B,EAAA;AAE1B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QACtE,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;QAElD,IAAI,QAAQ,EAAE;AACZ,YAAA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B;aAAO;AACL,YAAA,MAAM,SAAS,GAAG,GAAG,EAAE;AACvB,YAAA,WAAW,CAAC,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC;AACjF,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;AACvB,gBAAA,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;AAC7B,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS;AAC1B,aAAA,CAAC;QACJ;IACF;AAEQ,IAAA,YAAY,CAClB,OAAe,EACf,UAAmB,EACnB,QAA0B,EAAA;QAE1B,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,GAAG,GAAG,MAAK;AACf,gBAAA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1C,gBAAA,IAAI,YAAY;AAAE,oBAAA,OAAO,YAAY;gBAErC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,MAAM,EAAE;AACX,oBAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,WAAA,CAAa,CAAC;gBAClD;gBACA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;AAC/C,gBAAA,IAAI;oBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;gBAC/C;gBAAE,OAAO,KAAK,EAAE;AACd,oBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAClC,oBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC9B,oBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACjC,oBAAA,MAAM,KAAK;gBACb;AACA,gBAAA,OAAO,YAAY;AACrB,YAAA,CAAC;YACD,IAAI,UAAU,EAAE;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;AACzD,gBAAA,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACvC;YACA,OAAO,GAAG,EAAE;QACd;AACA,QAAA,OAAO,YAAY;IACrB;AAEQ,IAAA,SAAS,CAAC,YAA0B,EAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5D;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvC;AAEQ,IAAA,gBAAgB,CACtB,MAAsB,EACtB,YAA0B,EAC1B,QAA0B,EAAA;QAE1B,OAAO;YACL,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;AAEvD,YAAA,CAAC,iBAAiB,GAAG,CAAC,YAA0B,KAAI;AAClD,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YACrC,CAAC;AAED,YAAA,CAAC,sBAAsB,GAAG,CAAC,YAA0B,KAAI;gBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAE;AAC5C,gBAAA,OAAO,SAAS,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM;YACtD,CAAC;AAED,YAAA,CAAC,cAAc,GAAG,CAAC,QAAgB,KAAI;AACrC,gBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;AACnC,oBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBACzC;AACA,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAC/D,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;YACxD,CAAC;AAED,YAAA,CAAC,sBAAsB,GAAG,CAAC,QAAgB,KAAI;AAC7C,gBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;AACnC,oBAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1E;AACA,gBAAA,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;AACvC,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC/D,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAClE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;YACxD,CAAC;AAED,YAAA,CAAC,cAAc,GAAG,CAAC,YAAuC,KAAI;gBAC5D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACxC,oBAAA,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE;AACvC,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC;wBACtB,GAAG,EAAE,MAAK;AACR,4BAAA,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC;wBACzD,CAAC;AACF,qBAAA,CAAC;AACJ,gBAAA,CAAC,CAAC;YACJ,CAAC;YAED,CAAC,mBAAmB,GAAG,CACrB,YAA0B,EAC1B,QAAA,GAA0B,EAAE,KAC1B;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAE;AAC5C,gBAAA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;gBAEvD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;oBACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAE;AAC7B,oBAAA,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;wBAAE;AAEzD,oBAAA,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE;AACvC,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,GAAG,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC;wBACtB,GAAG,EAAE,MAAK;AACR,4BAAA,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC;wBACzD,CAAC;AACF,qBAAA,CAAC;AACJ,gBAAA,CAAC,CAAC;YACJ,CAAC;SACF;IACH;IAEQ,eAAe,GAAA;AACrB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACzD;AAEQ,IAAA,wBAAwB,CAAC,QAAgB,EAAA;AAC/C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB;AAC/C,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,IAAI,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;AAAE,YAAA,OAAO,QAAQ;QAEhD,OAAO,IAAI,CAAC,eAAe;AACxB,aAAA,MAAM,CAAC,CAAC,GAAG,KAAK,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC;AACpD,aAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3C;AAEQ,IAAA,qBAAqB,CAAC,QAAgB,EAAA;AAC5C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB;AACnD,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,KAAK;AAC1B,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ,IAAI,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CACrE;QACH;AACA,QAAA,IAAI,OAAO,YAAY,GAAG,EAAE;AAC1B,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAO,IAAI;AACtC,YAAA,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAC5B,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CACtC;QACH;AACA,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B;AAEO,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AACtC,QAAA,OAAO,OAAO,CACZ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;AACrC,YAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CACvC;IACH;AAEQ,IAAA,iBAAiB,CAAC,QAAgB,EAAA;AACxC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;AAE3D,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CACb,oBAAoB,QAAQ,CAAA,mCAAA,CAAqC,CAClE;QACH;AAEA,QAAA,OAAO,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C;IAEQ,MAAM,cAAc,CAC1B,IAAY,EACZ,OAAe,EACf,WAAmB,EACnB,UAAA,GAA4C,EAAE,EAAA;AAE9C,QAAA,MAAM,MAAM,GAAyB;YACnC,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC;AAC7B,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,GAAG,UAAU;SACd;AACD,QAAA,MAAM,WAAW,GAAG,GAAG,EAAE;AACzB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE;AAC3C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC;AAEpE,QAAA,IAAI;YACF,IAAI,YAAY,EAAE;gBAChB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACzC,IAAI,MAAM,EAAE;AACV,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;AACtB,oBAAA,MAAM,MAAM,GAAG,MAAM,MAAM;oBAC3B,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;gBACrD;YACF;YAEA,IAAI,YAAY,EAAE;gBAChB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CACvC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,MAAM,CACP,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAChB,oBAAA,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7B,oBAAA,MAAM,KAAK;AACb,gBAAA,CAAC,CAAC;AACF,gBAAA,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC;AAC1C,gBAAA,MAAM,MAAM,GAAG,MAAM,cAAc;AACnC,gBAAA,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClC,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;YACrD;AAEA,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;QAC/D;gBAAU;AACR,YAAA,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,WAAW;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACvC;IACF;IAEQ,MAAM,aAAa,CACzB,IAAY,EACZ,OAAe,EACf,WAAmB,EACnB,MAA4B,EAAA;AAE5B,QAAA,MAAM,cAAc,GAAG,GAAG,EAAE;AAC5B,QAAA,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,IAAI,EACJ,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAClB;AACD,QAAA,MAAM,CAAC,WAAW,GAAG,GAAG,EAAE,GAAG,cAAc;AAE3C,QAAA,MAAM,eAAe,GAAG,GAAG,EAAE;AAC7B,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,MAAM,CAAC,YAAY,GAAG,GAAG,EAAE,GAAG,eAAe;QAE7C,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;SACrB;IACH;AAEQ,IAAA,oBAAoB,CAC1B,MAA2B,EAC3B,OAAe,EACf,WAAmB,EAAA;QAEnB,OAAO,MAAM,CAAC;AACX,aAAA,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAI;AACpB,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;gBAAE;AACrC,YAAA,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACjD,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC;aACzD;AACH,QAAA,CAAC;aACA,MAAM,CAAC,OAAO,CAAmD;IACtE;AAEQ,IAAA,cAAc,CAAC,GAAW,EAAA;QAChC,OAAO,IAAI,OAAO,CAAgC,CAAC,OAAO,EAAE,MAAM,KAAI;YACpE,MAAM,GAAG,GAAG,MAAK;gBACf,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC;AACF,qBAAA,IAAI,CAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;AAC1D,qBAAA,IAAI,CAAC,OAAO,EAAE,MAAM;qBACpB,OAAO,CAAC,MAAK;oBACZ,IAAI,CAAC,WAAW,EAAE;AAClB,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI;AAC5B,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC;AAED,YAAA,IAAI,IAAI,CAAC,WAAW,GAAG,oBAAoB,EAAE;AAC3C,gBAAA,GAAG,EAAE;YACP;iBAAO;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B;AACF,QAAA,CAAC,CAAC;IACJ;IAEQ,MAAM,gBAAgB,CAC5B,IAAoD,EAAA;AAEpD,QAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC;AACG,aAAA,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAC3B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;AAE9C,aAAA,MAAM,CAAC,OAAO,CAAmC,CACrD;AACD,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAC3B,CAAC,MAAM,KAAsC,MAAM,CAAC,MAAM,KAAK,UAAU,CAC1E;AAED,QAAA,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC,MAAM;IACrC;IAEQ,eAAe,CAAC,OAAe,EAAE,UAAkB,EAAA;AACzD,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO;gBACL,OAAO;gBACP,UAAU;AACV,gBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAClC;QACH;QAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AAC3C,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,QAAQ;QAE7B,MAAM,IAAI,IAAsB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG;YAC3D,OAAO;YACP,UAAU;AACX,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAC5D,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACjC,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC9B,YAAA,MAAM,KAAK;AACb,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,IAAI;IACb;IAEQ,MAAM,mBAAmB,CAAC,IAAsB,EAAA;AACtD,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;AACtE,QAAA,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,UAAU;QAElC,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,CAAA,WAAA,CAAa,CAAC;AAC7D,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACnB,YAAA,MAAM,KAAK;QACb;AAEA,QAAA,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,eAAe;QAC3C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,CAAA,oBAAA,CAAsB,CAAC;QAChE;AAEA,QAAA,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC;AAC9B,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACtE,OAAO;AACR,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM;AACrC,QAAA,OAAO,MAAM;IACf;IAEQ,mBAAmB,CACzB,OAAe,EACf,GAAY,EAAA;AAEZ,QAAA,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,OAAO;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ;YAAE;QACnB,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,MAAM,CAAC,OAAe,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAiB;IACnD;AAEA,IAAA,WAAW,CACT,OAAe,EACf,UAAmB,EACnB,QAA0B,EAAA;AAE1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,QAAQ,CAAC;AAC1E,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,KAAI;AACnD,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AACrC,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,YAAY,CAChB,IAAY,EACZ,OAAe,EACf,OAAgB,EAChB,QAA0B,EAAA;QAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAClD,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QACvC;QACA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACvD,IAAI,cAAc,EAAE;AAClB,YAAA,MAAM,YAAY,GAAG,MAAM,cAAc;AACzC,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACrC;AAEA,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,OAAO;AAC/B,QAAA,MAAM,aAAa,GAAG,CAAC,YAAW;AAChC,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;YAChE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAChD,YAAA,IAAI,YAAY;AAAE,gBAAA,OAAO,YAAY;YAErC,MAAM,YAAY,GAAG,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM;AAChC,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY;AAE1C,YAAA,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;YAC/C;YAAE,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAClC,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC9B,gBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACjC,gBAAA,MAAM,KAAK;YACb;AAEA,YAAA,OAAO,YAAY;QACrB,CAAC,GAAG;AAEJ,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,aAAa;QAChD,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAK;YACpD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,aAAa,EAAE;AACtD,gBAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACzC;AACF,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrC;AACD;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "garfish-wasm-esm-plugin",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Garfish ES module runtime plugin backed by an OXC WebAssembly transformer.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,7 +25,6 @@
25
25
  }
26
26
  },
27
27
  "files": [
28
- "badges/coverage.svg",
29
28
  "dist",
30
29
  "pkg/garfish_wasm_esm_plugin.d.ts",
31
30
  "pkg/garfish_wasm_esm_plugin.js",
@@ -40,6 +39,24 @@
40
39
  "registry": "https://registry.npmjs.org/",
41
40
  "provenance": true
42
41
  },
42
+ "scripts": {
43
+ "build": "pnpm run build:wasm && pnpm run build:js",
44
+ "build:wasm": "wasm-pack build --target web --out-dir pkg",
45
+ "build:js": "rollup -c",
46
+ "changeset": "changeset",
47
+ "example:build": "pnpm run build:wasm && vite build --config examples/vite/vite.config.ts",
48
+ "example:dev": "pnpm run build:wasm && vite --config examples/vite/vite.config.ts",
49
+ "example:preview": "vite preview --config examples/vite/vite.config.ts",
50
+ "publish:beta": "pnpm run build && npm publish --tag beta",
51
+ "release": "pnpm run build && npm publish",
52
+ "test": "pnpm run build:wasm && vitest run",
53
+ "test:coverage": "pnpm run build:wasm && vitest run --coverage",
54
+ "test:watch": "vitest",
55
+ "benchmark": "pnpm run build:wasm && node scripts/benchmark-transform.mjs",
56
+ "benchmark:update": "pnpm run build:wasm && node scripts/benchmark-transform.mjs --update-readme --output benchmarks/transform.md",
57
+ "benchmark:update-readme": "pnpm run benchmark:update",
58
+ "typecheck": "tsc -p tsconfig.lib.json --noEmit"
59
+ },
43
60
  "dependencies": {
44
61
  "@garfish/loader": "1.19.8",
45
62
  "@garfish/utils": "1.19.8",
@@ -60,21 +77,5 @@
60
77
  "vite": "^7.0.0",
61
78
  "vitest": "^4.1.10"
62
79
  },
63
- "scripts": {
64
- "build": "pnpm run build:wasm && pnpm run build:js",
65
- "build:wasm": "wasm-pack build --target web --out-dir pkg",
66
- "build:js": "rollup -c",
67
- "changeset": "changeset",
68
- "example:build": "pnpm run build:wasm && vite build --config examples/vite/vite.config.ts",
69
- "example:dev": "pnpm run build:wasm && vite --config examples/vite/vite.config.ts",
70
- "example:preview": "vite preview --config examples/vite/vite.config.ts",
71
- "publish:beta": "pnpm run build && pnpm publish --tag beta --no-git-checks",
72
- "release": "pnpm run build && changeset publish",
73
- "test": "pnpm run build:wasm && vitest run",
74
- "test:coverage": "pnpm run build:wasm && vitest run --coverage && node scripts/update-coverage-badge.mjs",
75
- "test:watch": "vitest",
76
- "benchmark": "pnpm run build:wasm && node scripts/benchmark-transform.mjs",
77
- "benchmark:update-readme": "pnpm run build:wasm && node scripts/benchmark-transform.mjs --update-readme",
78
- "typecheck": "tsc -p tsconfig.lib.json --noEmit"
79
- }
80
- }
80
+ "packageManager": "pnpm@9.15.9"
81
+ }
Binary file
@@ -1,21 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="122" height="20" role="img" aria-label="coverage: 58.2%">
2
- <title>coverage: 58.2%</title>
3
- <linearGradient id="s" x2="0" y2="100%">
4
- <stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
5
- <stop offset="1" stop-opacity=".1"/>
6
- </linearGradient>
7
- <clipPath id="r">
8
- <rect width="122" height="20" rx="3" fill="#fff"/>
9
- </clipPath>
10
- <g clip-path="url(#r)">
11
- <rect width="67" height="20" fill="#555"/>
12
- <rect x="67" width="55" height="20" fill="#e05d44"/>
13
- <rect width="122" height="20" fill="url(#s)"/>
14
- </g>
15
- <g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,sans-serif" text-rendering="geometricPrecision" font-size="110">
16
- <text aria-hidden="true" x="335" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="570">coverage</text>
17
- <text x="335" y="140" transform="scale(.1)" fill="#fff" textLength="570">coverage</text>
18
- <text aria-hidden="true" x="945" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="450">58.2%</text>
19
- <text x="945" y="140" transform="scale(.1)" fill="#fff" textLength="450">58.2%</text>
20
- </g>
21
- </svg>