wuchale 0.13.2 → 0.14.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.
Files changed (73) hide show
  1. package/README.md +6 -13
  2. package/dist/adapter-utils/index.d.ts +5 -4
  3. package/dist/adapter-utils/index.js +29 -15
  4. package/dist/adapter-utils/index.js.map +1 -1
  5. package/dist/adapter-utils/mixed-visitor.d.ts +7 -10
  6. package/dist/adapter-utils/mixed-visitor.js +37 -38
  7. package/dist/adapter-utils/mixed-visitor.js.map +1 -1
  8. package/dist/adapter-vanilla/index.d.ts +1 -2
  9. package/dist/adapter-vanilla/index.js +12 -12
  10. package/dist/adapter-vanilla/index.js.map +1 -1
  11. package/dist/adapter-vanilla/transformer.d.ts +38 -41
  12. package/dist/adapter-vanilla/transformer.js +74 -96
  13. package/dist/adapter-vanilla/transformer.js.map +1 -1
  14. package/dist/adapters.d.ts +19 -25
  15. package/dist/adapters.js +16 -16
  16. package/dist/adapters.js.map +1 -1
  17. package/dist/cli/extract.d.ts +2 -3
  18. package/dist/cli/extract.js +8 -6
  19. package/dist/cli/extract.js.map +1 -1
  20. package/dist/cli/index.d.ts +0 -1
  21. package/dist/cli/index.js +1 -6
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/init.d.ts +1 -2
  24. package/dist/cli/init.js +33 -28
  25. package/dist/cli/init.js.map +1 -1
  26. package/dist/cli/input.d.ts +0 -1
  27. package/dist/cli/status.d.ts +0 -1
  28. package/dist/compile.d.ts +1 -2
  29. package/dist/compile.js +16 -16
  30. package/dist/compile.js.map +1 -1
  31. package/dist/config.d.ts +0 -1
  32. package/dist/gemini.d.ts +0 -1
  33. package/dist/handler.d.ts +25 -8
  34. package/dist/handler.js +133 -78
  35. package/dist/handler.js.map +1 -1
  36. package/dist/index.d.ts +2 -3
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/load-utils/index.d.ts +2 -4
  40. package/dist/load-utils/index.js +4 -30
  41. package/dist/load-utils/index.js.map +1 -1
  42. package/dist/load-utils/pure.d.ts +2 -3
  43. package/dist/load-utils/pure.js +1 -2
  44. package/dist/load-utils/pure.js.map +1 -1
  45. package/dist/load-utils/server.d.ts +3 -4
  46. package/dist/load-utils/server.js +7 -4
  47. package/dist/load-utils/server.js.map +1 -1
  48. package/dist/log.d.ts +0 -1
  49. package/dist/runtime.d.ts +5 -5
  50. package/dist/runtime.js +19 -10
  51. package/dist/runtime.js.map +1 -1
  52. package/package.json +3 -3
  53. package/src/adapter-vanilla/loaders/bundle.js +16 -0
  54. package/dist/adapter-utils/index.d.ts.map +0 -1
  55. package/dist/adapter-utils/mixed-visitor.d.ts.map +0 -1
  56. package/dist/adapter-vanilla/index.d.ts.map +0 -1
  57. package/dist/adapter-vanilla/transformer.d.ts.map +0 -1
  58. package/dist/adapters.d.ts.map +0 -1
  59. package/dist/cli/extract.d.ts.map +0 -1
  60. package/dist/cli/index.d.ts.map +0 -1
  61. package/dist/cli/init.d.ts.map +0 -1
  62. package/dist/cli/input.d.ts.map +0 -1
  63. package/dist/cli/status.d.ts.map +0 -1
  64. package/dist/compile.d.ts.map +0 -1
  65. package/dist/config.d.ts.map +0 -1
  66. package/dist/gemini.d.ts.map +0 -1
  67. package/dist/handler.d.ts.map +0 -1
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/load-utils/index.d.ts.map +0 -1
  70. package/dist/load-utils/pure.d.ts.map +0 -1
  71. package/dist/load-utils/server.d.ts.map +0 -1
  72. package/dist/log.d.ts.map +0 -1
  73. package/dist/runtime.d.ts.map +0 -1
package/README.md CHANGED
@@ -2,17 +2,10 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/wuchale)](https://www.npmjs.com/package/wuchale) ![License](https://img.shields.io/github/license/wuchalejs/wuchale)
4
4
 
5
- **`wuchale`** is a non-invasive, normal code based compile-time internationalization (i18n) toolkit.
5
+ **`wuchale`** is a compile-time internationalization (i18n) toolkit that
6
+ requires zero code changes. Write your components naturally, and `wuchale`
7
+ automatically extracts and replaces translatable strings at build time.
6
8
 
7
- - **🔤 No extra syntax!** - your normal code is enough
8
- - **📦 Tiny catalogs to bundle** - Text catalogs are just arrays, no keys necessary, like Protobuf
9
- - **🔧 Zero-effort integration** - Add i18n to existing projects without rewriting code
10
- - **🤖 Optional AI translation** - Gemini integration for automatic on-the-fly translations
11
- - **🔄 Full, granular HMR support** - Live updates during development, including AI auto-translation
12
- - **📦 Tiny footprint** - Only 2 or 3 additional dependencies (`wuchale` + `pofile`), no bloated `node_modules`
13
- - **🎯 Smart extraction** - Uses AST analysis: handles nested markup, conditionals, loops, and complex interpolations
14
- - **🌍 Standard .po files** - Compatible with existing translation tools and workflows
15
-
16
- ## 📚 Documentation
17
-
18
- See the full guide at: [wuchale.dev](https://wuchale.dev/).
9
+ - Main documentation: [wuchale.dev](https://wuchale.dev)
10
+ - Setup instructions: [Getting started](https://wuchale.dev/intro/start/)
11
+ - Repository: [wuchalejs/wuchale](https://github.com/wuchalejs/wuchale)
@@ -1,5 +1,7 @@
1
1
  export { MixedVisitor } from './mixed-visitor.js';
2
- export declare function runtimeVars(wrapFunc: (expr: string) => string): {
2
+ export declare const runtimeVars: {
3
+ hmrUpdate: string;
4
+ rtWrap: string;
3
5
  rtConst: string;
4
6
  rtTrans: string;
5
7
  rtTPlural: string;
@@ -9,6 +11,5 @@ export declare function runtimeVars(wrapFunc: (expr: string) => string): {
9
11
  /** for when nesting, used in adapters with elements */
10
12
  nestCtx: string;
11
13
  };
12
- export type RuntimeVars = ReturnType<typeof runtimeVars>;
13
- export declare function nonWhitespaceText(text: string): [number, string, number];
14
- //# sourceMappingURL=index.d.ts.map
14
+ export declare function nonWhitespaceText(msgStr: string): [number, string, number];
15
+ export declare function getDependencies(): Promise<Set<string>>;
@@ -1,23 +1,37 @@
1
+ import { readFile } from "node:fs/promises";
1
2
  export { MixedVisitor } from './mixed-visitor.js';
2
3
  // for runtime
3
4
  const rtConst = '_w_runtime_';
4
- export function runtimeVars(wrapFunc) {
5
- return {
6
- rtConst,
7
- rtTrans: `${wrapFunc(rtConst)}.t`,
8
- rtTPlural: `${wrapFunc(rtConst)}.tp`,
9
- rtPlural: `${wrapFunc(rtConst)}._.p`,
10
- rtCtx: `${wrapFunc(rtConst)}.cx`,
11
- rtTransCtx: `${wrapFunc(rtConst)}.tx`,
12
- /** for when nesting, used in adapters with elements */
13
- nestCtx: '_w_ctx_',
14
- };
15
- }
16
- export function nonWhitespaceText(text) {
17
- let trimmedS = text.trimStart();
18
- const startWh = text.length - trimmedS.length;
5
+ export const runtimeVars = {
6
+ hmrUpdate: '_w_hmrUpdate_',
7
+ rtWrap: '_w_to_rt_',
8
+ rtConst,
9
+ rtTrans: `${rtConst}.t`,
10
+ rtTPlural: `${rtConst}.tp`,
11
+ rtPlural: `${rtConst}._.p`,
12
+ rtCtx: `${rtConst}.cx`,
13
+ rtTransCtx: `${rtConst}.tx`,
14
+ /** for when nesting, used in adapters with elements */
15
+ nestCtx: '_w_ctx_',
16
+ };
17
+ export function nonWhitespaceText(msgStr) {
18
+ let trimmedS = msgStr.trimStart();
19
+ const startWh = msgStr.length - trimmedS.length;
19
20
  let trimmed = trimmedS.trimEnd();
20
21
  const endWh = trimmedS.length - trimmed.length;
21
22
  return [startWh, trimmed, endWh];
22
23
  }
24
+ export async function getDependencies() {
25
+ let json = { devDependencies: {}, dependencies: {} };
26
+ try {
27
+ const pkgJson = await readFile('package.json');
28
+ json = JSON.parse(pkgJson.toString());
29
+ }
30
+ catch (err) {
31
+ if (err.code !== 'ENOENT') {
32
+ throw err;
33
+ }
34
+ }
35
+ return new Set(Object.keys({ ...json.devDependencies, ...json.dependencies }));
36
+ }
23
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter-utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,cAAc;AACd,MAAM,OAAO,GAAG,aAAa,CAAA;AAE7B,MAAM,UAAU,WAAW,CAAC,QAAkC;IAC1D,OAAO;QACH,OAAO;QACP,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI;QACjC,SAAS,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK;QACpC,QAAQ,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM;QACpC,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK;QAChC,UAAU,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK;QACrC,uDAAuD;QACvD,OAAO,EAAE,SAAS;KACrB,CAAA;AACL,CAAC;AAID,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC7C,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9C,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter-utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,cAAc;AACd,MAAM,OAAO,GAAG,aAAa,CAAA;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,WAAW;IACnB,OAAO;IACP,OAAO,EAAE,GAAG,OAAO,IAAI;IACvB,SAAS,EAAE,GAAG,OAAO,KAAK;IAC1B,QAAQ,EAAE,GAAG,OAAO,MAAM;IAC1B,KAAK,EAAE,GAAG,OAAO,KAAK;IACtB,UAAU,EAAE,GAAG,OAAO,KAAK;IAC3B,uDAAuD;IACvD,OAAO,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC5C,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC/C,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9C,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,IAAI,IAAI,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IACpD,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC9C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,GAAG,CAAA;QACb,CAAC;IACL,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;AAClF,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type MagicString from "magic-string";
2
- import { IndexTracker, NestText, type CommentDirectives } from "../adapters.js";
3
- import { type RuntimeVars } from "./index.js";
2
+ import { IndexTracker, Message, type CommentDirectives } from "../adapters.js";
4
3
  type NestedRanges = [number, number, boolean][];
5
4
  type InitProps<NodeT> = {
6
5
  mstr: MagicString;
@@ -14,12 +13,11 @@ type InitProps<NodeT> = {
14
13
  canHaveChildren: (node: NodeT) => boolean;
15
14
  getTextContent: (node: NodeT) => string;
16
15
  getCommentData: (node: NodeT) => string;
17
- visitFunc: (node: NodeT, inCompoundText: boolean) => NestText[];
18
- visitExpressionTag: (node: NodeT) => NestText[];
19
- checkHeuristic: (txt: string) => boolean;
20
- wrapNested: (txt: NestText, hasExprs: boolean, nestedRanges: NestedRanges, lastChildEnd: number) => void;
16
+ visitFunc: (node: NodeT, inCompoundText: boolean) => Message[];
17
+ visitExpressionTag: (node: NodeT) => Message[];
18
+ checkHeuristic: (msgStr: string) => boolean;
19
+ wrapNested: (msgInfo: Message, hasExprs: boolean, nestedRanges: NestedRanges, lastChildEnd: number) => void;
21
20
  index: IndexTracker;
22
- vars: RuntimeVars;
23
21
  };
24
22
  type VisitProps<NodeT> = {
25
23
  children: NodeT[];
@@ -30,8 +28,7 @@ export interface MixedVisitor<NodeT> extends InitProps<NodeT> {
30
28
  }
31
29
  export declare class MixedVisitor<NodeT> {
32
30
  constructor(props: InitProps<NodeT>);
33
- separatelyVisitChildren: (props: VisitProps<NodeT>) => [boolean, boolean, boolean, NestText[]];
34
- visit: (props: VisitProps<NodeT>) => NestText[];
31
+ separatelyVisitChildren: (props: VisitProps<NodeT>) => [boolean, boolean, boolean, Message[]];
32
+ visit: (props: VisitProps<NodeT>) => Message[];
35
33
  }
36
34
  export {};
37
- //# sourceMappingURL=mixed-visitor.d.ts.map
@@ -1,6 +1,6 @@
1
1
  // Shared logic between adapters for handling nested / mixed elements within elements / fragments
2
- import { IndexTracker, NestText } from "../adapters.js";
3
- import { nonWhitespaceText } from "./index.js";
2
+ import { IndexTracker, Message } from "../adapters.js";
3
+ import { nonWhitespaceText, runtimeVars } from "./index.js";
4
4
  export class MixedVisitor {
5
5
  constructor(props) {
6
6
  Object.assign(this, props);
@@ -8,17 +8,16 @@ export class MixedVisitor {
8
8
  separatelyVisitChildren = (props) => {
9
9
  let hasTextChild = false;
10
10
  let hasNonTextChild = false;
11
- let heurTxt = '';
11
+ let heurStr = '';
12
12
  let hasCommentDirectives = false;
13
13
  for (const child of props.children) {
14
14
  if (this.isText(child)) {
15
- const text = this.getTextContent(child);
16
- const txt = text.trim();
17
- if (!txt) {
15
+ const strContent = this.getTextContent(child);
16
+ if (!strContent.trim()) {
18
17
  continue;
19
18
  }
20
19
  hasTextChild = true;
21
- heurTxt += text + ' ';
20
+ heurStr += strContent + ' ';
22
21
  }
23
22
  else if (this.isComment(child)) {
24
23
  if (this.getCommentData(child).trim().startsWith('@wc-')) {
@@ -27,22 +26,22 @@ export class MixedVisitor {
27
26
  }
28
27
  else {
29
28
  hasNonTextChild = true;
30
- heurTxt += `# `;
29
+ heurStr += `# `;
31
30
  }
32
31
  }
33
- heurTxt = heurTxt.trimEnd();
34
- const passHeuristic = this.checkHeuristic(heurTxt);
32
+ heurStr = heurStr.trimEnd();
33
+ const passHeuristic = this.checkHeuristic(heurStr);
35
34
  let hasCompoundText = hasTextChild && hasNonTextChild;
36
35
  const visitAsOne = passHeuristic && !hasCommentDirectives;
37
36
  if (props.inCompoundText || hasCompoundText && visitAsOne) {
38
37
  return [false, hasTextChild, hasCompoundText, []];
39
38
  }
40
- const txts = [];
39
+ const msgs = [];
41
40
  // can't be extracted as one; visitSv each separately
42
41
  for (const child of props.children) {
43
- txts.push(...this.visitFunc(child, props.inCompoundText));
42
+ msgs.push(...this.visitFunc(child, props.inCompoundText));
44
43
  }
45
- return [true, false, false, txts];
44
+ return [true, false, false, msgs];
46
45
  };
47
46
  visit = (props) => {
48
47
  if (props.children.length === 0) {
@@ -52,13 +51,13 @@ export class MixedVisitor {
52
51
  if (visitedSeparately) {
53
52
  return separateTxts;
54
53
  }
55
- let txt = '';
54
+ let msgStr = '';
56
55
  let iArg = 0;
57
56
  let iTag = 0;
58
57
  const lastChildEnd = this.getRange(props.children.slice(-1)[0]).end;
59
58
  const childrenNestedRanges = [];
60
59
  let hasTextDescendants = false;
61
- const txts = [];
60
+ const msgs = [];
62
61
  for (const child of props.children) {
63
62
  if (this.isComment(child)) {
64
63
  continue;
@@ -66,26 +65,26 @@ export class MixedVisitor {
66
65
  const chRange = this.getRange(child);
67
66
  if (this.isText(child)) {
68
67
  const [startWh, trimmed, endWh] = nonWhitespaceText(this.getTextContent(child));
69
- const nTxt = new NestText(trimmed, 'markup', props.commentDirectives.context);
70
- if (startWh && !txt.endsWith(' ')) {
71
- txt += ' ';
68
+ const msgInfo = new Message(trimmed, 'markup', props.commentDirectives.context);
69
+ if (startWh && !msgStr.endsWith(' ')) {
70
+ msgStr += ' ';
72
71
  }
73
72
  if (!trimmed) { // whitespace
74
73
  continue;
75
74
  }
76
- txt += nTxt.text;
75
+ msgStr += msgInfo.msgStr;
77
76
  if (endWh) {
78
- txt += ' ';
77
+ msgStr += ' ';
79
78
  }
80
79
  this.mstr.remove(chRange.start, chRange.end);
81
80
  continue;
82
81
  }
83
82
  if (this.isExpression(child)) {
84
- txts.push(...this.visitExpressionTag(child));
83
+ msgs.push(...this.visitExpressionTag(child));
85
84
  if (!hasCompoundText) {
86
85
  continue;
87
86
  }
88
- txt += `{${iArg}}`;
87
+ msgStr += `{${iArg}}`;
89
88
  let moveStart = chRange.start;
90
89
  if (iArg > 0) {
91
90
  this.mstr.update(chRange.start, chRange.start + 1, ', ');
@@ -101,17 +100,17 @@ export class MixedVisitor {
101
100
  }
102
101
  // elements, components and other things as well
103
102
  const canHaveChildren = this.canHaveChildren(child);
104
- const childTxts = this.visitFunc(child, canHaveChildren);
103
+ const childMsgs = this.visitFunc(child, canHaveChildren);
105
104
  let nestedNeedsCtx = false;
106
105
  let chTxt = '';
107
- for (const txt of childTxts) {
108
- if (canHaveChildren && txt.scope === 'markup') {
109
- chTxt += txt.text[0];
106
+ for (const msgInfo of childMsgs) {
107
+ if (canHaveChildren && msgInfo.scope === 'markup') {
108
+ chTxt += msgInfo.msgStr[0];
110
109
  hasTextDescendants = true;
111
110
  nestedNeedsCtx = true;
112
111
  }
113
112
  else { // attributes, blocks
114
- txts.push(txt);
113
+ msgs.push(msgInfo);
115
114
  }
116
115
  }
117
116
  childrenNestedRanges.push([chRange.start, chRange.end, nestedNeedsCtx]);
@@ -123,31 +122,31 @@ export class MixedVisitor {
123
122
  chTxt = `<${iTag}/>`;
124
123
  }
125
124
  iTag++;
126
- txt += chTxt;
125
+ msgStr += chTxt;
127
126
  }
128
- txt = txt.trim();
129
- if (!txt) {
130
- return txts;
127
+ msgStr = msgStr.trim();
128
+ if (!msgStr) {
129
+ return msgs;
131
130
  }
132
- const nTxt = new NestText(txt, 'markup', props.commentDirectives.context);
131
+ const msgInfo = new Message(msgStr, 'markup', props.commentDirectives.context);
133
132
  if (hasTextChild || hasTextDescendants) {
134
- txts.push(nTxt);
133
+ msgs.push(msgInfo);
135
134
  }
136
135
  else {
137
- return txts;
136
+ return msgs;
138
137
  }
139
138
  if (childrenNestedRanges.length) {
140
- this.wrapNested(nTxt, iArg > 0, childrenNestedRanges, lastChildEnd);
139
+ this.wrapNested(msgInfo, iArg > 0, childrenNestedRanges, lastChildEnd);
141
140
  }
142
141
  else if (hasTextChild) {
143
142
  // no need for component use
144
143
  let begin = '{';
145
144
  let end = ')}';
146
145
  if (props.inCompoundText) {
147
- begin += `${this.vars.rtTransCtx}(${this.vars.nestCtx}`;
146
+ begin += `${runtimeVars.rtTransCtx}(${runtimeVars.nestCtx}`;
148
147
  }
149
148
  else {
150
- begin += `${this.vars.rtTrans}(${this.index.get(nTxt.toKey())}`;
149
+ begin += `${runtimeVars.rtTrans}(${this.index.get(msgInfo.toKey())}`;
151
150
  }
152
151
  if (iArg > 0) {
153
152
  begin += ', [';
@@ -156,7 +155,7 @@ export class MixedVisitor {
156
155
  this.mstr.appendLeft(lastChildEnd, begin);
157
156
  this.mstr.appendRight(lastChildEnd, end);
158
157
  }
159
- return txts;
158
+ return msgs;
160
159
  };
161
160
  }
162
161
  //# sourceMappingURL=mixed-visitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mixed-visitor.js","sourceRoot":"","sources":["../../src/adapter-utils/mixed-visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mixed-visitor.js","sourceRoot":"","sources":["../../src/adapter-utils/mixed-visitor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { AdapterArgs, Adapter } from "../adapters.js";
2
2
  import { Transformer } from "./transformer.js";
3
3
  export { Transformer };
4
- export { parseScript, scriptParseOptions, scriptParseOptionsWithComments } from './transformer.js';
4
+ export { parseScript, scriptParseOptions, scriptParseOptionsWithComments, initRuntimeStmt } from './transformer.js';
5
5
  export declare const adapter: (args?: AdapterArgs) => Adapter;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1,9 +1,10 @@
1
1
  // $$ cd .. && npm run test
2
2
  import { defaultGenerateLoadID, defaultHeuristicFuncOnly } from '../adapters.js';
3
3
  import { deepMergeObjects } from "../config.js";
4
- import { Transformer } from "./transformer.js";
4
+ import { initRuntimeStmt, Transformer } from "./transformer.js";
5
+ import { getDependencies } from '../adapter-utils/index.js';
5
6
  export { Transformer };
6
- export { parseScript, scriptParseOptions, scriptParseOptionsWithComments } from './transformer.js';
7
+ export { parseScript, scriptParseOptions, scriptParseOptionsWithComments, initRuntimeStmt } from './transformer.js';
7
8
  const defaultArgs = {
8
9
  files: { include: 'src/**/*.{js,ts}', ignore: '**/*.d.ts' },
9
10
  catalog: './src/locales/{locale}',
@@ -13,21 +14,19 @@ const defaultArgs = {
13
14
  bundleLoad: false,
14
15
  generateLoadID: defaultGenerateLoadID,
15
16
  writeFiles: {},
16
- importName: '_w_load_',
17
- runtime: {
18
- initInScope: ({ funcName }) => funcName != null,
19
- wrapInit: init => init,
20
- wrapExpr: expr => expr,
21
- }
22
17
  };
23
18
  export const adapter = (args = defaultArgs) => {
24
- const { heuristic, pluralsFunc, runtime, ...rest } = deepMergeObjects(args, defaultArgs);
19
+ const { heuristic, pluralsFunc, ...rest } = deepMergeObjects(args, defaultArgs);
25
20
  return {
26
- transform: ({ content, filename, index, header }) => new Transformer(content, filename, index, heuristic, pluralsFunc, runtime, header.expr).transform(header.head),
21
+ transform: ({ content, filename, index, header }) => new Transformer(content, filename, index, heuristic, pluralsFunc, initRuntimeStmt(header.expr)).transform(header.head),
27
22
  loaderExts: ['.js', '.ts'],
28
- defaultLoaders: async (dependencies) => {
23
+ defaultLoaders: async () => {
24
+ if (rest.bundleLoad) {
25
+ return ['bundle'];
26
+ }
27
+ const deps = await getDependencies();
29
28
  const available = ['server'];
30
- if (dependencies.has('vite')) {
29
+ if (deps.has('vite')) {
31
30
  available.unshift('vite');
32
31
  }
33
32
  return available;
@@ -36,6 +35,7 @@ export const adapter = (args = defaultArgs) => {
36
35
  return new URL(`../../src/adapter-vanilla/loaders/${loader}.js`, import.meta.url).pathname;
37
36
  },
38
37
  ...rest,
38
+ docsUrl: 'https://wuchale.dev/adapters/vanilla'
39
39
  };
40
40
  };
41
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter-vanilla/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAO/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AAElG,MAAM,WAAW,GAAgB;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE;IAC3D,OAAO,EAAE,wBAAwB;IACjC,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,wBAAwB;IACnC,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,qBAAqB;IACrC,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE;QACL,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI;QAC/C,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;QACtB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;KACzB;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAoB,WAAW,EAAW,EAAE;IAChE,MAAM,EACF,SAAS,EACT,WAAW,EACX,OAAO,EACP,GAAG,IAAI,EACV,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACvC,OAAO;QACH,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAChE,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,WAAW,EACX,OAAyB,EACzB,MAAM,CAAC,IAAI,CACd,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAC1B,cAAc,EAAE,KAAK,EAAC,YAAY,EAAC,EAAE;YACjC,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC7B,CAAC;YACD,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,iBAAiB,EAAE,CAAC,MAAc,EAAE,EAAE;YAClC,OAAO,IAAI,GAAG,CAAC,qCAAqC,MAAM,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QAC9F,CAAC;QACD,GAAG,IAA2B;KACjC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter-vanilla/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAM/C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEnH,MAAM,WAAW,GAAgB;IAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE;IAC3D,OAAO,EAAE,wBAAwB;IACjC,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,wBAAwB;IACnC,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,qBAAqB;IACrC,UAAU,EAAE,EAAE;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAoB,WAAW,EAAW,EAAE;IAChE,MAAM,EACF,SAAS,EACT,WAAW,EACX,GAAG,IAAI,EACV,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACvC,OAAO;QACH,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAChE,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,WAAW,EACX,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAC/B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAC1B,cAAc,EAAE,KAAK,IAAI,EAAE;YACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,CAAC,CAAA;YACrB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAA;YACpC,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC7B,CAAC;YACD,OAAO,SAAS,CAAA;QACpB,CAAC;QACD,iBAAiB,EAAE,CAAC,MAAc,EAAE,EAAE;YAClC,OAAO,IAAI,GAAG,CAAC,qCAAqC,MAAM,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QAC9F,CAAC;QACD,GAAG,IAA2B;QAC9B,OAAO,EAAE,sCAAsC;KAClD,CAAA;AACL,CAAC,CAAA"}
@@ -1,12 +1,12 @@
1
1
  import MagicString from "magic-string";
2
2
  import type Estree from 'estree';
3
3
  import type { Program, Options as ParserOptions } from "acorn";
4
- import { NestText } from '../adapters.js';
5
- import type { CommentDirectives, HeuristicDetailsBase, HeuristicFunc, IndexTracker, ScriptDeclType, TransformOutput, RuntimeOptions } from "../adapters.js";
6
- import { type RuntimeVars } from "../adapter-utils/index.js";
4
+ import { Message } from '../adapters.js';
5
+ import type { CommentDirectives, HeuristicDetailsBase, HeuristicFunc, IndexTracker, ScriptDeclType, TransformOutput } from "../adapters.js";
7
6
  export declare const scriptParseOptions: ParserOptions;
8
7
  export declare function scriptParseOptionsWithComments(): [ParserOptions, Estree.Comment[][]];
9
8
  export declare function parseScript(content: string): [Program, Estree.Comment[][]];
9
+ export declare function initRuntimeStmt(catalogExpr: string): string;
10
10
  export declare class Transformer {
11
11
  index: IndexTracker;
12
12
  heuristic: HeuristicFunc;
@@ -15,55 +15,52 @@ export declare class Transformer {
15
15
  filename: string;
16
16
  mstr: MagicString;
17
17
  pluralFunc: string;
18
- vars: RuntimeVars;
19
- runtimeOpts: RuntimeOptions;
20
- initRuntimeExpr: string;
18
+ initRuntime: string | null;
21
19
  commentDirectives: CommentDirectives;
22
20
  insideProgram: boolean;
23
21
  declaring: ScriptDeclType;
24
22
  currentFuncDef: string | null;
25
23
  currentCall: string;
26
24
  currentTopLevelCall: string;
27
- constructor(content: string, filename: string, index: IndexTracker, heuristic: HeuristicFunc, pluralsFunc: string, runtimeOpts: RuntimeOptions, initRuntimeExpr: string);
28
- checkHeuristic: (text: string, detailsBase: HeuristicDetailsBase) => [boolean, NestText];
25
+ constructor(content: string, filename: string, index: IndexTracker, heuristic: HeuristicFunc, pluralsFunc: string, initRuntime: string | null);
26
+ checkHeuristic: (msgStr: string, detailsBase: HeuristicDetailsBase) => [boolean, Message];
29
27
  visitLiteral: (node: Estree.Literal & {
30
28
  start: number;
31
29
  end: number;
32
- }) => NestText[];
33
- visitArrayExpression: (node: Estree.ArrayExpression) => NestText[];
34
- visitObjectExpression: (node: Estree.ObjectExpression) => NestText[];
35
- visitProperty: (node: Estree.Property) => NestText[];
36
- visitSpreadElement: (node: Estree.SpreadElement) => NestText[];
37
- visitMemberExpression: (node: Estree.MemberExpression) => NestText[];
38
- visitNewExpression: (node: Estree.NewExpression) => NestText[];
39
- defaultVisitCallExpression: (node: Estree.CallExpression) => NestText[];
40
- visitCallExpression: (node: Estree.CallExpression) => NestText[];
41
- visitBinaryExpression: (node: Estree.BinaryExpression) => NestText[];
42
- visitUnaryExpression: (node: Estree.UnaryExpression) => NestText[];
43
- visitLogicalExpression: (node: Estree.LogicalExpression) => NestText[];
44
- visitAwaitExpression: (node: Estree.AwaitExpression) => NestText[];
45
- visitAssignmentExpression: (node: Estree.BinaryExpression) => NestText[];
46
- visitExpressionStatement: (node: Estree.ExpressionStatement) => NestText[];
47
- visitForOfStatement: (node: Estree.ForOfStatement) => NestText[];
48
- visitForInStatement: (node: Estree.ForInStatement) => NestText[];
49
- visitForStatement: (node: Estree.ForStatement) => NestText[];
30
+ }) => Message[];
31
+ visitArrayExpression: (node: Estree.ArrayExpression) => Message[];
32
+ visitObjectExpression: (node: Estree.ObjectExpression) => Message[];
33
+ visitProperty: (node: Estree.Property) => Message[];
34
+ visitSpreadElement: (node: Estree.SpreadElement) => Message[];
35
+ visitMemberExpression: (node: Estree.MemberExpression) => Message[];
36
+ visitNewExpression: (node: Estree.NewExpression) => Message[];
37
+ defaultVisitCallExpression: (node: Estree.CallExpression) => Message[];
38
+ visitCallExpression: (node: Estree.CallExpression) => Message[];
39
+ visitBinaryExpression: (node: Estree.BinaryExpression) => Message[];
40
+ visitUnaryExpression: (node: Estree.UnaryExpression) => Message[];
41
+ visitLogicalExpression: (node: Estree.LogicalExpression) => Message[];
42
+ visitAwaitExpression: (node: Estree.AwaitExpression) => Message[];
43
+ visitAssignmentExpression: (node: Estree.BinaryExpression) => Message[];
44
+ visitExpressionStatement: (node: Estree.ExpressionStatement) => Message[];
45
+ visitForOfStatement: (node: Estree.ForOfStatement) => Message[];
46
+ visitForInStatement: (node: Estree.ForInStatement) => Message[];
47
+ visitForStatement: (node: Estree.ForStatement) => Message[];
50
48
  getMemberChainName: (node: Estree.MemberExpression) => string;
51
49
  getCalleeName: (callee: Estree.Expression | Estree.Super) => string;
52
- visitVariableDeclaration: (node: Estree.VariableDeclaration) => NestText[];
53
- visitExportNamedDeclaration: (node: Estree.ExportNamedDeclaration) => NestText[];
54
- visitExportDefaultDeclaration: (node: Estree.ExportNamedDeclaration) => NestText[];
55
- visitFunctionBody: (node: Estree.BlockStatement | Estree.Expression, name: string | null) => NestText[];
56
- visitFunctionDeclaration: (node: Estree.FunctionDeclaration) => NestText[];
57
- visitArrowFunctionExpression: (node: Estree.ArrowFunctionExpression) => NestText[];
58
- visitFunctionExpression: (node: Estree.FunctionExpression) => NestText[];
59
- visitBlockStatement: (node: Estree.BlockStatement) => NestText[];
60
- visitReturnStatement: (node: Estree.ReturnStatement) => NestText[];
61
- visitIfStatement: (node: Estree.IfStatement) => NestText[];
62
- visitTemplateLiteral: (node: Estree.TemplateLiteral) => NestText[];
63
- visitProgram: (node: Estree.Program) => NestText[];
50
+ visitVariableDeclaration: (node: Estree.VariableDeclaration) => Message[];
51
+ visitExportNamedDeclaration: (node: Estree.ExportNamedDeclaration) => Message[];
52
+ visitExportDefaultDeclaration: (node: Estree.ExportNamedDeclaration) => Message[];
53
+ visitFunctionBody: (node: Estree.BlockStatement | Estree.Expression, name: string | null) => Message[];
54
+ visitFunctionDeclaration: (node: Estree.FunctionDeclaration) => Message[];
55
+ visitArrowFunctionExpression: (node: Estree.ArrowFunctionExpression) => Message[];
56
+ visitFunctionExpression: (node: Estree.FunctionExpression) => Message[];
57
+ visitBlockStatement: (node: Estree.BlockStatement) => Message[];
58
+ visitReturnStatement: (node: Estree.ReturnStatement) => Message[];
59
+ visitIfStatement: (node: Estree.IfStatement) => Message[];
60
+ visitTemplateLiteral: (node: Estree.TemplateLiteral) => Message[];
61
+ visitProgram: (node: Estree.Program) => Message[];
64
62
  processCommentDirectives: (data: string) => CommentDirectives;
65
- visit: (node: Estree.BaseNode) => NestText[];
66
- finalize: (txts: NestText[]) => TransformOutput;
63
+ visit: (node: Estree.BaseNode) => Message[];
64
+ finalize: (msgs: Message[], hmrHeaderIndex: number) => TransformOutput;
67
65
  transform: (headerHead: string) => TransformOutput;
68
66
  }
69
- //# sourceMappingURL=transformer.d.ts.map