@wuchale/jsx 0.4.1 → 0.5.1

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/README.md CHANGED
@@ -1,20 +1,14 @@
1
1
  # `@wuchale/jsx`
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@wuchale/jsx)](https://www.npmjs.com/package/@wuchale/jsx) ![License](https://img.shields.io/github/license/wuchalejs/wuchale)
3
+ [![npm version](https://img.shields.io/npm/v/@wuchale/jsx?logo=npm&logoColor=red&color=blue)](https://www.npmjs.com/package/@wuchale/jsx) ![License](https://img.shields.io/github/license/wuchalejs/wuchale)
4
4
 
5
5
  An adapter to integrate `wuchale` in JSX projects.
6
6
 
7
- **`wuchale`** is a non-invasive, normal code based compile-time internationalization (i18n) toolkit.
7
+ **`wuchale`** is a compile-time internationalization (i18n) toolkit that
8
+ requires zero code changes. Write your components naturally, and `wuchale`
9
+ automatically extracts and replaces translatable strings at build time.
8
10
 
9
- - **🔤 No extra syntax!** - your normal code is enough
10
- - **📦 Tiny catalogs to bundle** - Text catalogs are just arrays, no keys necessary, like Protobuf
11
- - **🔧 Zero-effort integration** - Add i18n to existing projects without rewriting code
12
- - **🤖 Optional AI translation** - Gemini integration for automatic on-the-fly translations
13
- - **🔄 Full, granular HMR support** - Live updates during development, including AI auto-translation
14
- - **📦 Tiny footprint** - Only 2 or 3 additional dependencies (`wuchale` + `pofile`), no bloated `node_modules`
15
- - **🎯 Smart extraction** - Uses AST analysis: handles nested markup, conditionals, loops, and complex interpolations
16
- - **🌍 Standard .po files** - Compatible with existing translation tools and workflows
17
-
18
- ## 📚 Documentation
19
-
20
- See the full guide at: [wuchale.dev/adapter/jsx](https://wuchale.dev/adapters/jsx).
11
+ - Main documentation: [wuchale.dev](https://wuchale.dev)
12
+ - Setup instructions: [Getting started](https://wuchale.dev/intro/start/)
13
+ - Adapter docs: [JSX](https://wuchale.dev/adapters/jsx)
14
+ - Repository: [wuchalejs/wuchale](https://github.com/wuchalejs/wuchale)
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { Adapter, AdapterArgs } from 'wuchale';
2
+ import { type JSXLib } from "./transformer.js";
2
3
  type JSXArgs = AdapterArgs & {
3
- variant?: "default" | "solidjs";
4
+ variant?: JSXLib;
4
5
  };
5
6
  export declare const adapter: (args?: JSXArgs) => Adapter;
6
7
  export {};
7
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { defaultGenerateLoadID, defaultHeuristic, deepMergeObjects } from 'wuchale';
2
- import { adapter as vanillaAdapter } from 'wuchale/adapter-vanilla';
2
+ import { adapter as vanillaAdapter, initRuntimeStmt } from 'wuchale/adapter-vanilla';
3
3
  import { JSXTransformer } from "./transformer.js";
4
+ import { getDependencies } from 'wuchale/adapter-utils';
4
5
  const ignoreElements = ['style', 'path'];
5
- const jsxHeuristic = (text, details) => {
6
- if (!defaultHeuristic(text, details)) {
6
+ const jsxHeuristic = (msgStr, details) => {
7
+ if (!defaultHeuristic(msgStr, details)) {
7
8
  return false;
8
9
  }
9
10
  if (ignoreElements.includes(details.element)) {
@@ -26,36 +27,36 @@ const defaultArgs = {
26
27
  bundleLoad: false,
27
28
  generateLoadID: defaultGenerateLoadID,
28
29
  writeFiles: {},
29
- importName: '_w_load_',
30
- runtime: {
31
- initInScope: ({ funcName }) => funcName != null,
32
- wrapInit: init => init,
33
- wrapExpr: expr => expr,
34
- },
35
30
  variant: 'default',
36
31
  };
37
32
  export const adapter = (args = defaultArgs) => {
38
- const { heuristic, pluralsFunc, runtime, variant, ...rest } = deepMergeObjects(args, defaultArgs);
33
+ const { heuristic, pluralsFunc, variant, ...rest } = deepMergeObjects(args, defaultArgs);
39
34
  return {
40
- transform: ({ content, filename, index, header }) => new JSXTransformer(content, filename, index, heuristic, pluralsFunc, runtime, header.expr).transformJx(header, variant === 'solidjs'),
35
+ transform: ({ content, filename, index, header }) => {
36
+ return new JSXTransformer(content, filename, index, heuristic, pluralsFunc, initRuntimeStmt(header.expr)).transformJx(header.head, variant);
37
+ },
41
38
  loaderExts: ['.js', '.ts'],
42
- defaultLoaders: dependencies => {
39
+ defaultLoaders: async () => {
40
+ const deps = await getDependencies();
43
41
  const loaders = ['default'];
44
- if (dependencies.has('react') || dependencies.has('preact')) {
42
+ if (deps.has('react') || deps.has('preact')) {
45
43
  loaders.unshift('react');
46
44
  }
47
- // if (dependencies.has('solid-js')) {
48
- // loaders.unshift('solidjs')
49
- // }
45
+ if (deps.has('solid-js')) {
46
+ loaders.unshift('solidjs');
47
+ }
50
48
  return loaders;
51
49
  },
52
50
  defaultLoaderPath: (loader) => {
53
51
  if (loader === 'default') {
54
- return vanillaAdapter().defaultLoaderPath('vite');
52
+ return vanillaAdapter({ bundleLoad: rest.bundleLoad }).defaultLoaderPath('vite');
53
+ }
54
+ if (rest.bundleLoad) {
55
+ loader += '.bundle';
55
56
  }
56
57
  return new URL(`../src/loaders/${loader}.js`, import.meta.url).pathname;
57
58
  },
58
- ...rest
59
+ ...rest,
60
+ docsUrl: 'https://wuchale.dev/adapters/jsx'
59
61
  };
60
62
  };
61
- //# sourceMappingURL=index.js.map
package/dist/runtime.d.ts CHANGED
@@ -8,4 +8,3 @@ export type WuchaleComponentProps = {
8
8
  export declare function selectFragment({ nest, ctx, tags, args }: WuchaleComponentProps, i: number): string | Mixed | Composite;
9
9
  declare const _default: (props: WuchaleComponentProps) => (string | Composite | Mixed)[];
10
10
  export default _default;
11
- //# sourceMappingURL=runtime.d.ts.map
package/dist/runtime.jsx CHANGED
@@ -20,4 +20,3 @@ export function selectFragment({ nest, ctx, tags, args }, i) {
20
20
  export default (props) => {
21
21
  return props.ctx.map((fragment, i) => selectFragment({ ...props, ctx: fragment }, i));
22
22
  };
23
- //# sourceMappingURL=runtime.jsx.map
@@ -1,4 +1,3 @@
1
1
  import { type WuchaleComponentProps } from './runtime.jsx';
2
2
  declare const _default: (props: WuchaleComponentProps) => any;
3
3
  export default _default;
4
- //# sourceMappingURL=runtime.solid.d.ts.map
@@ -5,4 +5,3 @@ export default (props) => {
5
5
  {(fragment, i) => <>{selectFragment({ ...props, ctx: fragment }, i())}</>}
6
6
  </For>;
7
7
  };
8
- //# sourceMappingURL=runtime.solid.jsx.map
@@ -1,11 +1,12 @@
1
1
  import { type Program } from "acorn";
2
- import { NestText } from 'wuchale';
2
+ import { Message } from 'wuchale';
3
3
  import type * as JX from 'estree-jsx';
4
4
  import { Transformer } from 'wuchale/adapter-vanilla';
5
- import type { IndexTracker, HeuristicFunc, TransformOutput, CommentDirectives, TransformHeader, RuntimeOptions } from 'wuchale';
5
+ import type { IndexTracker, HeuristicFunc, TransformOutput, CommentDirectives } from 'wuchale';
6
6
  import { MixedVisitor } from "wuchale/adapter-utils";
7
7
  export declare function parseScript(content: string): [Program, JX.Comment[][]];
8
8
  type MixedNodesTypes = JX.JSXElement | JX.JSXFragment | JX.JSXText | JX.JSXExpressionContainer | JX.JSXSpreadChild;
9
+ export type JSXLib = 'default' | 'solidjs';
9
10
  export declare class JSXTransformer extends Transformer {
10
11
  currentElement?: string;
11
12
  inCompoundText: boolean;
@@ -13,23 +14,22 @@ export declare class JSXTransformer extends Transformer {
13
14
  lastVisitIsComment: boolean;
14
15
  currentElementI: number;
15
16
  mixedVisitor: MixedVisitor<MixedNodesTypes>;
16
- constructor(content: string, filename: string, index: IndexTracker, heuristic: HeuristicFunc, pluralsFunc: string, runtimeOpts: RuntimeOptions, initRuntimeExpr: string | null);
17
+ constructor(content: string, filename: string, index: IndexTracker, heuristic: HeuristicFunc, pluralsFunc: string, initRuntime: string);
17
18
  initMixedVisitor: () => MixedVisitor<MixedNodesTypes>;
18
- visitChildrenJ: (node: JX.JSXElement | JX.JSXFragment) => NestText[];
19
+ visitChildrenJ: (node: JX.JSXElement | JX.JSXFragment) => Message[];
19
20
  visitNameJSXNamespacedName: (node: JX.JSXNamespacedName) => string;
20
21
  visitNameJSXMemberExpression: (node: JX.JSXMemberExpression) => string;
21
22
  visitNameJSXIdentifier: (node: JX.JSXIdentifier) => string;
22
23
  visitName: (node: JX.JSXIdentifier | JX.JSXMemberExpression | JX.JSXNamespacedName) => string;
23
- visitJSXElement: (node: JX.JSXElement) => NestText[];
24
- visitJSXText: (node: JX.JSXText) => NestText[];
25
- visitJSXFragment: (node: JX.JSXFragment) => NestText[];
24
+ visitJSXElement: (node: JX.JSXElement) => Message[];
25
+ visitJSXText: (node: JX.JSXText) => Message[];
26
+ visitJSXFragment: (node: JX.JSXFragment) => Message[];
26
27
  getMarkupCommentBody: (node: JX.JSXEmptyExpression) => string;
27
- visitJSXExpressionContainer: (node: JX.JSXExpressionContainer) => NestText[];
28
- visitJSXAttribute: (node: JX.JSXAttribute) => NestText[];
29
- visitJSXSpreadAttribute: (node: JX.JSXSpreadAttribute) => NestText[];
30
- visitJSXEmptyExpression: (node: JX.JSXEmptyExpression) => NestText[];
31
- visitJx: (node: JX.Node | JX.JSXSpreadChild | Program) => NestText[];
32
- transformJx: (header: TransformHeader, solidVariant: boolean) => TransformOutput;
28
+ visitJSXExpressionContainer: (node: JX.JSXExpressionContainer) => Message[];
29
+ visitJSXAttribute: (node: JX.JSXAttribute) => Message[];
30
+ visitJSXSpreadAttribute: (node: JX.JSXSpreadAttribute) => Message[];
31
+ visitJSXEmptyExpression: (node: JX.JSXEmptyExpression) => Message[];
32
+ visitJx: (node: JX.Node | JX.JSXSpreadChild | Program) => Message[];
33
+ transformJx: (headerHead: string, lib: JSXLib) => TransformOutput;
33
34
  }
34
35
  export {};
35
- //# sourceMappingURL=transformer.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import MagicString from "magic-string";
2
2
  import { Parser } from "acorn";
3
- import { NestText } from 'wuchale';
3
+ import { Message } from 'wuchale';
4
4
  import { tsPlugin } from '@sveltejs/acorn-typescript';
5
5
  import jsx from 'acorn-jsx';
6
6
  import { Transformer, scriptParseOptionsWithComments } from 'wuchale/adapter-vanilla';
7
- import { nonWhitespaceText, MixedVisitor } from "wuchale/adapter-utils";
7
+ import { nonWhitespaceText, MixedVisitor, runtimeVars } from "wuchale/adapter-utils";
8
8
  const JsxParser = Parser.extend(tsPlugin(), jsx());
9
9
  export function parseScript(content) {
10
10
  const [opts, comments] = scriptParseOptionsWithComments();
@@ -20,12 +20,11 @@ export class JSXTransformer extends Transformer {
20
20
  lastVisitIsComment = false;
21
21
  currentElementI = 0;
22
22
  mixedVisitor;
23
- constructor(content, filename, index, heuristic, pluralsFunc, runtimeOpts, initRuntimeExpr) {
24
- super(content, filename, index, heuristic, pluralsFunc, runtimeOpts, initRuntimeExpr);
23
+ constructor(content, filename, index, heuristic, pluralsFunc, initRuntime) {
24
+ super(content, filename, index, heuristic, pluralsFunc, initRuntime);
25
25
  }
26
26
  initMixedVisitor = () => new MixedVisitor({
27
27
  mstr: this.mstr,
28
- vars: this.vars,
29
28
  getRange: node => ({
30
29
  // @ts-expect-error
31
30
  start: node.start,
@@ -49,9 +48,9 @@ export class JSXTransformer extends Transformer {
49
48
  return childTxts;
50
49
  },
51
50
  visitExpressionTag: this.visitJSXExpressionContainer,
52
- checkHeuristic: txt => this.checkHeuristic(txt, { scope: 'markup', element: this.currentElement })[0],
51
+ checkHeuristic: this.checkHeuristicBool,
53
52
  index: this.index,
54
- wrapNested: (txt, hasExprs, nestedRanges, lastChildEnd) => {
53
+ wrapNested: (msgInfo, hasExprs, nestedRanges, lastChildEnd) => {
55
54
  for (const [i, [childStart, _, haveCtx]] of nestedRanges.entries()) {
56
55
  let toAppend;
57
56
  if (i === 0) {
@@ -60,15 +59,15 @@ export class JSXTransformer extends Transformer {
60
59
  else {
61
60
  toAppend = ', ';
62
61
  }
63
- this.mstr.appendRight(childStart, `${toAppend}${haveCtx ? this.vars.nestCtx : '()'} => `);
62
+ this.mstr.appendRight(childStart, `${toAppend}${haveCtx ? runtimeVars.nestCtx : '()'} => `);
64
63
  }
65
64
  let begin = `]} ctx=`;
66
65
  if (this.inCompoundText) {
67
- begin += `{${this.vars.nestCtx}} nest`;
66
+ begin += `{${runtimeVars.nestCtx}} nest`;
68
67
  }
69
68
  else {
70
- const index = this.index.get(txt.toKey());
71
- begin += `{${this.vars.rtCtx}(${index})}`;
69
+ const index = this.index.get(msgInfo.toKey());
70
+ begin += `{${runtimeVars.rtCtx}(${index})}`;
72
71
  }
73
72
  let end = ' />';
74
73
  if (hasExprs) {
@@ -83,6 +82,8 @@ export class JSXTransformer extends Transformer {
83
82
  children: node.children,
84
83
  commentDirectives: this.commentDirectives,
85
84
  inCompoundText: this.inCompoundText,
85
+ scope: 'markup',
86
+ element: this.currentElement,
86
87
  });
87
88
  visitNameJSXNamespacedName = (node) => {
88
89
  return `${this.visitName(node.namespace)}:${this.visitName(node.name)}`;
@@ -97,9 +98,9 @@ export class JSXTransformer extends Transformer {
97
98
  visitJSXElement = (node) => {
98
99
  const currentElement = this.currentElement;
99
100
  this.currentElement = this.visitName(node.openingElement.name);
100
- const txts = this.visitChildrenJ(node);
101
+ const msgs = this.visitChildrenJ(node);
101
102
  for (const attr of node.openingElement.attributes) {
102
- txts.push(...this.visitJx(attr));
103
+ msgs.push(...this.visitJx(attr));
103
104
  }
104
105
  if (this.inCompoundText) {
105
106
  this.mstr.appendLeft(
@@ -107,11 +108,11 @@ export class JSXTransformer extends Transformer {
107
108
  node.openingElement.name.end, ` key="_${this.currentElementI}"`);
108
109
  }
109
110
  this.currentElement = currentElement;
110
- return txts;
111
+ return msgs;
111
112
  };
112
113
  visitJSXText = (node) => {
113
114
  const [startWh, trimmed, endWh] = nonWhitespaceText(node.value);
114
- const [pass, txt] = this.checkHeuristic(trimmed, {
115
+ const [pass, msgInfo] = this.checkHeuristic(trimmed, {
115
116
  scope: 'markup',
116
117
  element: this.currentElement,
117
118
  });
@@ -122,8 +123,8 @@ export class JSXTransformer extends Transformer {
122
123
  // @ts-expect-error
123
124
  node.start + startWh,
124
125
  // @ts-expect-error
125
- node.end - endWh, `{${this.vars.rtTrans}(${this.index.get(txt.toKey())})}`);
126
- return [txt];
126
+ node.end - endWh, `{${runtimeVars.rtTrans}(${this.index.get(msgInfo.toKey())})}`);
127
+ return [msgInfo];
127
128
  };
128
129
  visitJSXFragment = (node) => this.visitChildrenJ(node);
129
130
  getMarkupCommentBody = (node) => {
@@ -152,7 +153,7 @@ export class JSXTransformer extends Transformer {
152
153
  else {
153
154
  name = node.name.name.name;
154
155
  }
155
- const [pass, txt] = this.checkHeuristic(node.value.value, {
156
+ const [pass, msgInfo] = this.checkHeuristic(node.value.value, {
156
157
  scope: 'attribute',
157
158
  element: this.currentElement,
158
159
  attribute: name,
@@ -164,8 +165,8 @@ export class JSXTransformer extends Transformer {
164
165
  // @ts-expect-error
165
166
  value.start,
166
167
  // @ts-expect-error
167
- value.end, `{${this.vars.rtTrans}(${this.index.get(txt.toKey())})}`);
168
- return [txt];
168
+ value.end, `{${runtimeVars.rtTrans}(${this.index.get(msgInfo.toKey())})}`);
169
+ return [msgInfo];
169
170
  };
170
171
  visitJSXSpreadAttribute = (node) => this.visit(node.argument);
171
172
  visitJSXEmptyExpression = (node) => {
@@ -190,34 +191,34 @@ export class JSXTransformer extends Transformer {
190
191
  if (node.type === 'JSXExpressionContainer' && node.expression.type === 'JSXEmptyExpression') { // markup comment
191
192
  return this.visitJSXEmptyExpression(node.expression);
192
193
  }
193
- let txts = [];
194
+ let msgs = [];
194
195
  const commentDirectivesPrev = this.commentDirectives;
195
196
  if (this.lastVisitIsComment) {
196
197
  this.commentDirectives = this.commentDirectivesStack.pop();
197
198
  this.lastVisitIsComment = false;
198
199
  }
199
200
  if (this.commentDirectives.forceInclude !== false) {
200
- txts = this.visit(node);
201
+ msgs = this.visit(node);
201
202
  }
202
203
  this.commentDirectives = commentDirectivesPrev;
203
- return txts;
204
+ return msgs;
204
205
  };
205
- transformJx = (header, solidVariant) => {
206
+ transformJx = (headerHead, lib) => {
206
207
  const [ast, comments] = parseScript(this.content);
207
208
  this.comments = comments;
208
209
  this.mstr = new MagicString(this.content);
209
210
  this.mixedVisitor = this.initMixedVisitor();
210
- const txts = this.visitJx(ast);
211
- if (!txts.length) {
212
- return this.finalize(txts);
211
+ const msgs = this.visitJx(ast);
212
+ if (!msgs.length) {
213
+ return this.finalize(msgs, 0);
213
214
  }
215
+ let devInit = '';
214
216
  const headerFin = [
215
- `import ${rtComponent} from "@wuchale/jsx/runtime${solidVariant ? '.solid' : ''}.jsx"`,
216
- header.head,
217
- this.runtimeOpts.initInScope({ funcName: null, file: this.filename }) ? `const ${this.vars.rtConst} = ${header.expr}\n` : '',
217
+ `import ${rtComponent} from "@wuchale/jsx/runtime${lib === 'solidjs' ? '.solid' : ''}.jsx"`,
218
+ headerHead,
219
+ devInit,
218
220
  ].join('\n');
219
221
  this.mstr.appendRight(0, headerFin + '\n');
220
- return this.finalize(txts);
222
+ return this.finalize(msgs, 0);
221
223
  };
222
224
  }
223
- //# sourceMappingURL=transformer.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wuchale/jsx",
3
- "version": "0.4.1",
4
- "description": "Protobuf-like i18n from normal code for JSX",
3
+ "version": "0.5.1",
4
+ "description": "Protobuf-like i18n from plain code: JSX adapter",
5
5
  "scripts": {
6
6
  "dev": "tsc --watch",
7
7
  "build": "tsc",
@@ -72,7 +72,7 @@
72
72
  "@sveltejs/acorn-typescript": "^1.0.5",
73
73
  "acorn": "^8.15.0",
74
74
  "acorn-jsx": "^5.3.2",
75
- "wuchale": "^0.13.0"
75
+ "wuchale": "^0.14.2"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@types/estree-jsx": "^1.0.5",
@@ -0,0 +1,25 @@
1
+ // This is just the default loader.
2
+ // You can customize it however you want, it will not be overwritten once it exists and is not empty.
3
+
4
+ /// <reference types="wuchale/virtual" />
5
+
6
+ import { useState, useEffect } from 'react'
7
+
8
+ const callbacks = new Set()
9
+
10
+ /**
11
+ * @param {string} locale
12
+ */
13
+ export function setLocale(locale) {
14
+ for (const callback of callbacks) {
15
+ callback(locale)
16
+ }
17
+ }
18
+
19
+ export default (/** @type {{[locale: string]: import('wuchale/runtime').CatalogModule }} */ catalogs) => {
20
+ const [locale, setLocale] = useState('en')
21
+ useEffect(() => {
22
+ callbacks.add((/** @type {string} */ locale) => setLocale(locale))
23
+ })
24
+ return catalogs[locale]
25
+ }
@@ -5,24 +5,28 @@
5
5
 
6
6
  import { loadCatalog, loadIDs, key } from 'virtual:wuchale/proxy' // or proxy/sync
7
7
  import { registerLoaders } from 'wuchale/load-utils'
8
- import { Runtime } from 'wuchale/runtime'
9
8
  import { useState, useEffect } from 'react'
10
9
 
11
10
  const callbacks = {}
11
+ const store = {}
12
12
 
13
13
  const collection = {
14
- get: () => null, // not needed, using useState
15
- set: (loadID, catalog) => {
14
+ get: loadID => store[loadID],
15
+ set: (/** @type {string} */ loadID, /** @type {import('wuchale/runtime').CatalogModule} */ catalog) => {
16
+ store[loadID] = catalog // for when useEffect hasn't run yet
16
17
  callbacks[loadID]?.(catalog)
17
18
  }
18
19
  }
19
20
 
20
21
  registerLoaders(key, loadCatalog, loadIDs, collection)
21
22
 
23
+ /**
24
+ * @param { string } loadID
25
+ */
22
26
  export default loadID => {
23
- const [runtime, setRuntime] = useState(new Runtime())
27
+ const [catalog, setCatalog] = useState(collection.get(loadID))
24
28
  useEffect(() => {
25
- callbacks[loadID] = catalog => setRuntime(new Runtime(catalog))
29
+ callbacks[loadID] = (/** @type {import('wuchale/runtime').CatalogModule} */ catalog) => setCatalog(catalog)
26
30
  })
27
- return runtime
31
+ return catalog
28
32
  }
@@ -0,0 +1,14 @@
1
+ // This is just the default loader.
2
+ // You can customize it however you want, it will not be overwritten once it exists and is not empty.
3
+ // The content is this way because you have enabled bundleLoad in the config.
4
+
5
+ import { createSignal } from "solid-js"
6
+
7
+ const [locale, setLocale] = createSignal('en')
8
+
9
+ export { setLocale }
10
+
11
+ /**
12
+ * @param {{ [locale: string]: import('wuchale/runtime').CatalogModule }} catalogs
13
+ */
14
+ export default catalogs => catalogs[locale()]
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAER,OAAO,EACP,WAAW,EAGd,MAAM,SAAS,CAAA;AAqBhB,KAAK,OAAO,GAAG,WAAW,GAAG;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAClC,CAAA;AAoBD,eAAO,MAAM,OAAO,GAAI,OAAM,OAAqB,KAAG,OAqCrD,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/C,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,SAAS,CAAA;IACd,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,EAAE,CAAA;CACd,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAepH;yBAEe,OAAO,qBAAqB;AAA5C,wBAEC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.jsx","sourceRoot":"","sources":["../src/runtime.tsx"],"names":[],"mappings":"AASA,MAAM,UAAU,cAAc,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAwB,EAAE,CAAS;IACpF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAA;IACd,CAAC;IAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAA;QAClC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACd,OAAO,cAAc,CAAA;QACzB,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;AACL,CAAC;AAED,eAAe,CAAC,KAA4B,EAAE,EAAE;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAC,GAAG,KAAK,EAAE,GAAG,EAAE,QAAqB,EAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACpG,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.solid.d.ts","sourceRoot":"","sources":["../src/runtime.solid.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAkB,MAAM,eAAe,CAAA;yBAG1D,OAAO,qBAAqB;AAA5C,wBAIC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.solid.jsx","sourceRoot":"","sources":["../src/runtime.solid.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8B,cAAc,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,eAAe,CAAC,KAA4B,EAAE,EAAE;IAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACxB;QAAA,CAAC,CAAC,QAAmB,EAAE,CAAe,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,EAAC,GAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CACpG;IAAA,EAAE,GAAG,CAAC,CAAA;AACV,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,WAAW,EAAkC,MAAM,yBAAyB,CAAA;AACrF,OAAO,KAAK,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAqB,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIvE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAGtE;AAKD,KAAK,eAAe,GAAG,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC,cAAc,CAAA;AAElH,qBAAa,cAAe,SAAQ,WAAW;IAG3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,OAAO,CAAQ;IAC/B,sBAAsB,EAAE,iBAAiB,EAAE,CAAK;IAChD,kBAAkB,EAAE,OAAO,CAAQ;IACnC,eAAe,SAAI;IAEnB,YAAY,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;gBAE/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAI9K,gBAAgB,sCAqDd;IAEF,cAAc,GAAI,MAAM,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,WAAW,KAAG,QAAQ,EAAE,CAIjE;IAEF,0BAA0B,GAAI,MAAM,EAAE,CAAC,iBAAiB,KAAG,MAAM,CAEhE;IAED,4BAA4B,GAAI,MAAM,EAAE,CAAC,mBAAmB,KAAG,MAAM,CAEpE;IAED,sBAAsB,GAAI,MAAM,EAAE,CAAC,aAAa,KAAG,MAAM,CAAa;IAEtE,SAAS,GAAI,MAAM,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,iBAAiB,KAAG,MAAM,CAE3F;IAED,eAAe,GAAI,MAAM,EAAE,CAAC,UAAU,KAAG,QAAQ,EAAE,CAgBlD;IAED,YAAY,GAAI,MAAM,EAAE,CAAC,OAAO,KAAG,QAAQ,EAAE,CAiB5C;IAED,gBAAgB,GAAI,MAAM,EAAE,CAAC,WAAW,KAAG,QAAQ,EAAE,CAA6B;IAElF,oBAAoB,GAAI,MAAM,EAAE,CAAC,kBAAkB,KAAG,MAAM,CAO3D;IAED,2BAA2B,GAAI,MAAM,EAAE,CAAC,sBAAsB,KAAG,QAAQ,EAAE,CAE1E;IAED,iBAAiB,GAAI,MAAM,EAAE,CAAC,YAAY,KAAG,QAAQ,EAAE,CA8BtD;IAED,uBAAuB,GAAI,MAAM,EAAE,CAAC,kBAAkB,KAAG,QAAQ,EAAE,CAA6B;IAEhG,uBAAuB,GAAI,MAAM,EAAE,CAAC,kBAAkB,KAAG,QAAQ,EAAE,CAalE;IAED,OAAO,GAAI,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,cAAc,GAAG,OAAO,KAAG,QAAQ,EAAE,CAkBlE;IAED,WAAW,GAAI,QAAQ,eAAe,EAAE,cAAc,OAAO,KAAG,eAAe,CAgB9E;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}