lwc-convert 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +719 -0
  3. package/dist/cli/commands/aura.d.ts +6 -0
  4. package/dist/cli/commands/aura.d.ts.map +1 -0
  5. package/dist/cli/commands/aura.js +225 -0
  6. package/dist/cli/commands/aura.js.map +1 -0
  7. package/dist/cli/commands/vf.d.ts +6 -0
  8. package/dist/cli/commands/vf.d.ts.map +1 -0
  9. package/dist/cli/commands/vf.js +218 -0
  10. package/dist/cli/commands/vf.js.map +1 -0
  11. package/dist/cli/interactive.d.ts +20 -0
  12. package/dist/cli/interactive.d.ts.map +1 -0
  13. package/dist/cli/interactive.js +577 -0
  14. package/dist/cli/interactive.js.map +1 -0
  15. package/dist/cli/options.d.ts +21 -0
  16. package/dist/cli/options.d.ts.map +1 -0
  17. package/dist/cli/options.js +24 -0
  18. package/dist/cli/options.js.map +1 -0
  19. package/dist/generators/full-conversion.d.ts +41 -0
  20. package/dist/generators/full-conversion.d.ts.map +1 -0
  21. package/dist/generators/full-conversion.js +538 -0
  22. package/dist/generators/full-conversion.js.map +1 -0
  23. package/dist/generators/scaffolding.d.ts +40 -0
  24. package/dist/generators/scaffolding.d.ts.map +1 -0
  25. package/dist/generators/scaffolding.js +716 -0
  26. package/dist/generators/scaffolding.js.map +1 -0
  27. package/dist/generators/test-comparison.d.ts +47 -0
  28. package/dist/generators/test-comparison.d.ts.map +1 -0
  29. package/dist/generators/test-comparison.js +855 -0
  30. package/dist/generators/test-comparison.js.map +1 -0
  31. package/dist/generators/test-generator.d.ts +27 -0
  32. package/dist/generators/test-generator.d.ts.map +1 -0
  33. package/dist/generators/test-generator.js +385 -0
  34. package/dist/generators/test-generator.js.map +1 -0
  35. package/dist/index.d.ts +6 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +226 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/mappings/aura-to-lwc.json +321 -0
  40. package/dist/mappings/vf-to-lwc.json +354 -0
  41. package/dist/parsers/aura/controller-parser.d.ts +36 -0
  42. package/dist/parsers/aura/controller-parser.d.ts.map +1 -0
  43. package/dist/parsers/aura/controller-parser.js +269 -0
  44. package/dist/parsers/aura/controller-parser.js.map +1 -0
  45. package/dist/parsers/aura/helper-parser.d.ts +21 -0
  46. package/dist/parsers/aura/helper-parser.d.ts.map +1 -0
  47. package/dist/parsers/aura/helper-parser.js +173 -0
  48. package/dist/parsers/aura/helper-parser.js.map +1 -0
  49. package/dist/parsers/aura/markup-parser.d.ts +59 -0
  50. package/dist/parsers/aura/markup-parser.d.ts.map +1 -0
  51. package/dist/parsers/aura/markup-parser.js +279 -0
  52. package/dist/parsers/aura/markup-parser.js.map +1 -0
  53. package/dist/parsers/aura/style-parser.d.ts +37 -0
  54. package/dist/parsers/aura/style-parser.d.ts.map +1 -0
  55. package/dist/parsers/aura/style-parser.js +151 -0
  56. package/dist/parsers/aura/style-parser.js.map +1 -0
  57. package/dist/parsers/vf/apex-parser.d.ts +51 -0
  58. package/dist/parsers/vf/apex-parser.d.ts.map +1 -0
  59. package/dist/parsers/vf/apex-parser.js +251 -0
  60. package/dist/parsers/vf/apex-parser.js.map +1 -0
  61. package/dist/parsers/vf/page-parser.d.ts +61 -0
  62. package/dist/parsers/vf/page-parser.d.ts.map +1 -0
  63. package/dist/parsers/vf/page-parser.js +403 -0
  64. package/dist/parsers/vf/page-parser.js.map +1 -0
  65. package/dist/transformers/aura-to-lwc/controller.d.ts +36 -0
  66. package/dist/transformers/aura-to-lwc/controller.d.ts.map +1 -0
  67. package/dist/transformers/aura-to-lwc/controller.js +372 -0
  68. package/dist/transformers/aura-to-lwc/controller.js.map +1 -0
  69. package/dist/transformers/aura-to-lwc/events.d.ts +47 -0
  70. package/dist/transformers/aura-to-lwc/events.d.ts.map +1 -0
  71. package/dist/transformers/aura-to-lwc/events.js +262 -0
  72. package/dist/transformers/aura-to-lwc/events.js.map +1 -0
  73. package/dist/transformers/aura-to-lwc/markup.d.ts +51 -0
  74. package/dist/transformers/aura-to-lwc/markup.d.ts.map +1 -0
  75. package/dist/transformers/aura-to-lwc/markup.js +465 -0
  76. package/dist/transformers/aura-to-lwc/markup.js.map +1 -0
  77. package/dist/transformers/vf-to-lwc/components.d.ts +40 -0
  78. package/dist/transformers/vf-to-lwc/components.d.ts.map +1 -0
  79. package/dist/transformers/vf-to-lwc/components.js +374 -0
  80. package/dist/transformers/vf-to-lwc/components.js.map +1 -0
  81. package/dist/transformers/vf-to-lwc/data-binding.d.ts +53 -0
  82. package/dist/transformers/vf-to-lwc/data-binding.d.ts.map +1 -0
  83. package/dist/transformers/vf-to-lwc/data-binding.js +660 -0
  84. package/dist/transformers/vf-to-lwc/data-binding.js.map +1 -0
  85. package/dist/transformers/vf-to-lwc/markup.d.ts +44 -0
  86. package/dist/transformers/vf-to-lwc/markup.d.ts.map +1 -0
  87. package/dist/transformers/vf-to-lwc/markup.js +816 -0
  88. package/dist/transformers/vf-to-lwc/markup.js.map +1 -0
  89. package/dist/utils/confidence-scorer.d.ts +100 -0
  90. package/dist/utils/confidence-scorer.d.ts.map +1 -0
  91. package/dist/utils/confidence-scorer.js +358 -0
  92. package/dist/utils/confidence-scorer.js.map +1 -0
  93. package/dist/utils/file-io.d.ts +62 -0
  94. package/dist/utils/file-io.d.ts.map +1 -0
  95. package/dist/utils/file-io.js +248 -0
  96. package/dist/utils/file-io.js.map +1 -0
  97. package/dist/utils/logger.d.ts +34 -0
  98. package/dist/utils/logger.d.ts.map +1 -0
  99. package/dist/utils/logger.js +130 -0
  100. package/dist/utils/logger.js.map +1 -0
  101. package/dist/utils/open-folder.d.ts +9 -0
  102. package/dist/utils/open-folder.d.ts.map +1 -0
  103. package/dist/utils/open-folder.js +76 -0
  104. package/dist/utils/open-folder.js.map +1 -0
  105. package/dist/utils/path-resolver.d.ts +29 -0
  106. package/dist/utils/path-resolver.d.ts.map +1 -0
  107. package/dist/utils/path-resolver.js +240 -0
  108. package/dist/utils/path-resolver.js.map +1 -0
  109. package/dist/utils/session-store.d.ts +158 -0
  110. package/dist/utils/session-store.d.ts.map +1 -0
  111. package/dist/utils/session-store.js +518 -0
  112. package/dist/utils/session-store.js.map +1 -0
  113. package/dist/utils/vf-controller-resolver.d.ts +36 -0
  114. package/dist/utils/vf-controller-resolver.d.ts.map +1 -0
  115. package/dist/utils/vf-controller-resolver.js +162 -0
  116. package/dist/utils/vf-controller-resolver.js.map +1 -0
  117. package/package.json +81 -0
@@ -0,0 +1,372 @@
1
+ "use strict";
2
+ /**
3
+ * Transform Aura controller/helper JavaScript to LWC JavaScript class
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformAuraController = transformAuraController;
7
+ const logger_1 = require("../../utils/logger");
8
+ const file_io_1 = require("../../utils/file-io");
9
+ /**
10
+ * Convert Aura type to JavaScript type comment
11
+ */
12
+ function convertType(auraType) {
13
+ const typeMap = {
14
+ String: 'string',
15
+ Integer: 'number',
16
+ Decimal: 'number',
17
+ Double: 'number',
18
+ Long: 'number',
19
+ Boolean: 'boolean',
20
+ Date: 'Date',
21
+ DateTime: 'Date',
22
+ Object: 'Object',
23
+ 'List<String>': 'string[]',
24
+ 'List<Object>': 'Object[]',
25
+ 'Map<String,Object>': 'Object',
26
+ 'Aura.Component': 'any',
27
+ 'Aura.Component[]': 'any[]',
28
+ };
29
+ // Check for List<X> pattern
30
+ const listMatch = auraType.match(/List<(\w+)>/i);
31
+ if (listMatch) {
32
+ const innerType = convertType(listMatch[1]);
33
+ return `${innerType}[]`;
34
+ }
35
+ return typeMap[auraType] || 'any';
36
+ }
37
+ /**
38
+ * Convert Aura controller function body to LWC
39
+ */
40
+ function convertFunctionBody(body, _func, allHelperFunctions) {
41
+ const warnings = [];
42
+ const usedLabels = [];
43
+ let converted = body;
44
+ // Replace component.get("v.x") with this.x
45
+ converted = converted.replace(/(?:component|cmp)\.get\s*\(\s*["']v\.(\w+)["']\s*\)/g, 'this.$1');
46
+ // Replace component.set("v.x", value) with this.x = value
47
+ converted = converted.replace(/(?:component|cmp)\.set\s*\(\s*["']v\.(\w+)["']\s*,\s*/g, 'this.$1 = ');
48
+ // Clean up the closing paren from set
49
+ converted = converted.replace(/this\.(\w+)\s*=\s*([^;]+)\s*\)/g, 'this.$1 = $2');
50
+ // Replace helper.methodName(component, ...) with this.methodName(...)
51
+ if (allHelperFunctions) {
52
+ for (const helperFunc of allHelperFunctions) {
53
+ const helperRegex = new RegExp(`helper\\.${helperFunc}\\s*\\(\\s*(?:component|cmp)\\s*,?\\s*`, 'g');
54
+ converted = converted.replace(helperRegex, `this.${helperFunc}(`);
55
+ }
56
+ }
57
+ // Handle $A.enqueueAction patterns - mark for manual conversion
58
+ if (converted.includes('$A.enqueueAction')) {
59
+ warnings.push('Server action ($A.enqueueAction) found - convert to imperative Apex call');
60
+ converted = converted.replace(/\$A\.enqueueAction\s*\([^)]+\)/g, '/* TODO: Convert to imperative Apex call */');
61
+ }
62
+ // Handle component.get("c.methodName") - server action setup
63
+ if (converted.includes('.get("c.') || converted.includes(".get('c.")) {
64
+ warnings.push('Server action reference found - import Apex method and call imperatively');
65
+ }
66
+ // Handle $A.get("e.c:EventName") - application events
67
+ converted = converted.replace(/\$A\.get\s*\(\s*["']e\.(?:c:)?(\w+)["']\s*\)/g, (_match, eventName) => {
68
+ warnings.push(`Application event "${eventName}" found - convert to CustomEvent or pub/sub pattern`);
69
+ return `/* TODO: Replace application event "${eventName}" with CustomEvent */`;
70
+ });
71
+ // Handle component.getEvent("eventName") - component events
72
+ converted = converted.replace(/(?:component|cmp)\.getEvent\s*\(\s*["'](\w+)["']\s*\)/g, (_match, eventName) => {
73
+ return `new CustomEvent('${eventName.toLowerCase()}', { detail: {} })`;
74
+ });
75
+ // Handle event.fire() - dispatch event
76
+ converted = converted.replace(/(\w+)\.fire\s*\(\s*\)/g, 'this.dispatchEvent($1)');
77
+ // Handle event.setParams({...}).fire()
78
+ converted = converted.replace(/(\w+)\.setParams\s*\(\s*(\{[^}]+\})\s*\)\.fire\s*\(\s*\)/g, (_match, varName, params) => {
79
+ return `this.dispatchEvent(new CustomEvent('${varName.toLowerCase()}', { detail: ${params} }))`;
80
+ });
81
+ // Handle event.getParam("x") - get event parameter
82
+ converted = converted.replace(/(?:event|evt)\.getParam\s*\(\s*["'](\w+)["']\s*\)/g, 'event.detail.$1');
83
+ // Handle event.getParams() - get all params
84
+ converted = converted.replace(/(?:event|evt)\.getParams\s*\(\s*\)/g, 'event.detail');
85
+ // Handle component.find("auraId") - query selector
86
+ converted = converted.replace(/(?:component|cmp)\.find\s*\(\s*["'](\w+)["']\s*\)/g, 'this.template.querySelector(\'[data-id="$1"]\')');
87
+ // Handle $A.util.isEmpty
88
+ converted = converted.replace(/\$A\.util\.isEmpty\s*\(\s*([^)]+)\s*\)/g, '(!$1 || $1.length === 0)');
89
+ // Handle $A.util.isUndefinedOrNull
90
+ converted = converted.replace(/\$A\.util\.isUndefinedOrNull\s*\(\s*([^)]+)\s*\)/g, '($1 === undefined || $1 === null)');
91
+ // Handle $A.util.addClass
92
+ converted = converted.replace(/\$A\.util\.addClass\s*\(\s*([^,]+)\s*,\s*["']([^"']+)["']\s*\)/g, '$1.classList.add(\'$2\')');
93
+ // Handle $A.util.removeClass
94
+ converted = converted.replace(/\$A\.util\.removeClass\s*\(\s*([^,]+)\s*,\s*["']([^"']+)["']\s*\)/g, '$1.classList.remove(\'$2\')');
95
+ // Handle $A.util.toggleClass
96
+ converted = converted.replace(/\$A\.util\.toggleClass\s*\(\s*([^,]+)\s*,\s*["']([^"']+)["']\s*\)/g, '$1.classList.toggle(\'$2\')');
97
+ // Handle $A.util.hasClass
98
+ converted = converted.replace(/\$A\.util\.hasClass\s*\(\s*([^,]+)\s*,\s*["']([^"']+)["']\s*\)/g, '$1.classList.contains(\'$2\')');
99
+ // Handle $A.getCallback
100
+ converted = converted.replace(/\$A\.getCallback\s*\(\s*/g, '(');
101
+ // Handle $A.get("$Label.namespace.label")
102
+ converted = converted.replace(/\$A\.get\s*\(\s*["']\$Label\.(\w+)\.(\w+)["']\s*\)/g, (_match, namespace, label) => {
103
+ const labelImport = `${namespace}.${label}`;
104
+ if (!usedLabels.includes(labelImport)) {
105
+ usedLabels.push(labelImport);
106
+ }
107
+ return `this.label${label}`;
108
+ });
109
+ // Handle force:navigateToSObject
110
+ if (converted.includes('e.force:navigateToSObject')) {
111
+ warnings.push('Navigation event found - use NavigationMixin');
112
+ }
113
+ // Handle force:showToast
114
+ if (converted.includes('e.force:showToast')) {
115
+ warnings.push('Toast event found - use ShowToastEvent from lightning/platformShowToastEvent');
116
+ converted = converted.replace(/\$A\.get\s*\(\s*["']e\.force:showToast["']\s*\)/g, '/* Use: import { ShowToastEvent } from "lightning/platformShowToastEvent"; */');
117
+ }
118
+ return { converted, warnings, usedLabels };
119
+ }
120
+ /**
121
+ * Transform Aura controller and helper to LWC class
122
+ */
123
+ function transformAuraController(markup, controller, helper, detectedGetters) {
124
+ const warnings = [];
125
+ const imports = ['LightningElement'];
126
+ const properties = [];
127
+ const methods = [];
128
+ const apexMethods = [];
129
+ const wireAdapters = [];
130
+ const allUsedLabels = new Set();
131
+ let usesNavigation = false;
132
+ // Collect helper function names for reference
133
+ const helperFunctions = new Set();
134
+ if (helper) {
135
+ for (const func of helper.functions) {
136
+ helperFunctions.add(func.name);
137
+ }
138
+ }
139
+ // Process attributes -> properties
140
+ for (const attr of markup.attributes) {
141
+ const isPublic = !attr.access || attr.access === 'public' || attr.access === 'global';
142
+ const prop = {
143
+ name: attr.name,
144
+ isApi: isPublic,
145
+ isTrack: false,
146
+ type: convertType(attr.type),
147
+ defaultValue: attr.default,
148
+ description: attr.description,
149
+ };
150
+ properties.push(prop);
151
+ if (isPublic) {
152
+ if (!imports.includes('api')) {
153
+ imports.push('api');
154
+ }
155
+ }
156
+ }
157
+ // Process handlers for lifecycle methods
158
+ const initHandler = markup.handlers.find((h) => h.name === 'init');
159
+ const renderHandler = markup.handlers.find((h) => h.name === 'render' || h.name === 'afterRender');
160
+ const destroyHandler = markup.handlers.find((h) => h.name === 'destroy');
161
+ // Process controller functions
162
+ if (controller) {
163
+ for (const func of controller.functions) {
164
+ let methodName = func.name;
165
+ let isLifecycle = false;
166
+ let body = func.body;
167
+ // Check if this is the init handler
168
+ if (initHandler && initHandler.action.includes(func.name)) {
169
+ methodName = 'connectedCallback';
170
+ isLifecycle = true;
171
+ }
172
+ else if (renderHandler && renderHandler.action.includes(func.name)) {
173
+ methodName = 'renderedCallback';
174
+ isLifecycle = true;
175
+ warnings.push('renderedCallback converted from render handler - add isRendered flag if needed');
176
+ }
177
+ else if (destroyHandler && destroyHandler.action.includes(func.name)) {
178
+ methodName = 'disconnectedCallback';
179
+ isLifecycle = true;
180
+ }
181
+ // Convert function body
182
+ const { converted, warnings: bodyWarnings, usedLabels } = convertFunctionBody(body, func, helperFunctions);
183
+ warnings.push(...bodyWarnings);
184
+ if (usedLabels) {
185
+ usedLabels.forEach(l => allUsedLabels.add(l));
186
+ }
187
+ if (converted.includes('NavigationMixin') || bodyWarnings.some(w => w.includes('NavigationMixin'))) {
188
+ usesNavigation = true;
189
+ }
190
+ // Track server calls as apex methods
191
+ for (const serverCall of func.serverCalls) {
192
+ if (serverCall.controllerMethod && !apexMethods.includes(serverCall.controllerMethod)) {
193
+ apexMethods.push(serverCall.controllerMethod);
194
+ }
195
+ }
196
+ methods.push({
197
+ name: methodName,
198
+ isApi: false,
199
+ body: converted,
200
+ originalAuraMethod: func.name !== methodName ? func.name : undefined,
201
+ isLifecycle,
202
+ });
203
+ }
204
+ }
205
+ // Process helper functions - merge into class
206
+ if (helper) {
207
+ for (const func of helper.functions) {
208
+ // Skip if already added via controller
209
+ if (methods.some((m) => m.name === func.name)) {
210
+ continue;
211
+ }
212
+ const { converted, warnings: bodyWarnings, usedLabels } = convertFunctionBody(func.body, func, helperFunctions);
213
+ warnings.push(...bodyWarnings);
214
+ if (usedLabels) {
215
+ usedLabels.forEach(l => allUsedLabels.add(l));
216
+ }
217
+ if (converted.includes('NavigationMixin') || bodyWarnings.some(w => w.includes('NavigationMixin'))) {
218
+ usesNavigation = true;
219
+ }
220
+ // Track server calls
221
+ for (const serverCall of func.serverCalls) {
222
+ if (!apexMethods.includes(serverCall)) {
223
+ apexMethods.push(serverCall);
224
+ }
225
+ }
226
+ methods.push({
227
+ name: func.name,
228
+ isApi: false,
229
+ body: converted,
230
+ isLifecycle: false,
231
+ });
232
+ }
233
+ }
234
+ // Process aura:method declarations -> @api methods
235
+ for (const auraMethod of markup.methods) {
236
+ const existingMethod = methods.find((m) => m.name === auraMethod.name);
237
+ if (existingMethod) {
238
+ existingMethod.isApi = true;
239
+ if (!imports.includes('api')) {
240
+ imports.push('api');
241
+ }
242
+ }
243
+ else {
244
+ // Method declared but not implemented
245
+ warnings.push(`aura:method "${auraMethod.name}" declared but no implementation found`);
246
+ methods.push({
247
+ name: auraMethod.name,
248
+ isApi: true,
249
+ body: '// TODO: Implement method',
250
+ isLifecycle: false,
251
+ });
252
+ if (!imports.includes('api')) {
253
+ imports.push('api');
254
+ }
255
+ }
256
+ }
257
+ // Check for Apex controller reference
258
+ if (markup.controller) {
259
+ warnings.push(`Apex controller "${markup.controller}" referenced - import required methods with @AuraEnabled`);
260
+ }
261
+ // Build the JS class
262
+ const className = (0, file_io_1.toPascalCase)(markup.componentName);
263
+ let js = '';
264
+ // Add imports
265
+ if (usesNavigation) {
266
+ imports.push('NavigationMixin');
267
+ // NavigationMixin comes from lightning/navigation, not lwc
268
+ // We'll handle it separately in the import string construction
269
+ }
270
+ js += `import { ${imports.filter(i => i !== 'NavigationMixin').join(', ')} } from 'lwc';\n`;
271
+ if (usesNavigation) {
272
+ js += `import { NavigationMixin } from 'lightning/navigation';\n`;
273
+ }
274
+ // Add apex imports as TODOs
275
+ if (apexMethods.length > 0) {
276
+ js += '\n// TODO: Import Apex methods\n';
277
+ for (const method of apexMethods) {
278
+ js += `// import ${method} from '@salesforce/apex/${markup.controller || 'ControllerName'}.${method}';\n`;
279
+ }
280
+ }
281
+ // Add wire adapter imports if needed
282
+ if (wireAdapters.length > 0) {
283
+ js += '\n// Wire adapters\n';
284
+ for (const adapter of wireAdapters) {
285
+ js += `// import { ${adapter} } from 'lightning/ui*Api';\n`;
286
+ }
287
+ }
288
+ // Add label imports
289
+ if (allUsedLabels.size > 0) {
290
+ js += '\n// Label imports\n';
291
+ for (const label of allUsedLabels) {
292
+ const [namespace, labelName] = label.split('.');
293
+ js += `import label${labelName} from '@salesforce/label/${namespace}.${labelName}';\n`;
294
+ }
295
+ }
296
+ js += '\n';
297
+ if (usesNavigation) {
298
+ js += `export default class ${className} extends NavigationMixin(LightningElement) {\n`;
299
+ }
300
+ else {
301
+ js += `export default class ${className} extends LightningElement {\n`;
302
+ }
303
+ // Add properties
304
+ for (const prop of properties) {
305
+ if (prop.description) {
306
+ js += ` // ${prop.description}\n`;
307
+ }
308
+ if (prop.isApi) {
309
+ js += ` @api `;
310
+ }
311
+ else {
312
+ js += ' ';
313
+ }
314
+ js += prop.name;
315
+ // Only add default value if it exists and is not empty
316
+ if (prop.defaultValue !== undefined && prop.defaultValue !== '' && prop.defaultValue.trim() !== '') {
317
+ js += ` = ${prop.defaultValue}`;
318
+ }
319
+ js += ';\n';
320
+ }
321
+ if (properties.length > 0) {
322
+ js += '\n';
323
+ }
324
+ // Add getters for complex expressions
325
+ if (detectedGetters && detectedGetters.length > 0) {
326
+ js += ' // Getters for complex expressions detected in markup\n';
327
+ for (const getter of detectedGetters) {
328
+ js += ` get ${getter.name}() {\n`;
329
+ // Convert expression syntax to JS (basic conversion)
330
+ let jsExpr = getter.expression;
331
+ // Replace v.prop with this.prop
332
+ jsExpr = jsExpr.replace(/v\.(\w+)/g, 'this.$1');
333
+ // Replace c.method with this.method
334
+ jsExpr = jsExpr.replace(/c\.(\w+)/g, 'this.$1');
335
+ // Replace !v.prop with !this.prop
336
+ jsExpr = jsExpr.replace(/!v\.(\w+)/g, '!this.$1');
337
+ js += ` return ${jsExpr};\n`;
338
+ js += ` }\n\n`;
339
+ }
340
+ }
341
+ // Add methods
342
+ for (const method of methods) {
343
+ if (method.originalAuraMethod) {
344
+ js += ` // Converted from: ${method.originalAuraMethod}\n`;
345
+ }
346
+ if (method.isApi && !method.isLifecycle) {
347
+ js += ' @api\n';
348
+ }
349
+ js += ` ${method.name}(`;
350
+ // Add event parameter for handlers
351
+ if (!method.isLifecycle && method.body.includes('event')) {
352
+ js += 'event';
353
+ }
354
+ js += ') {\n';
355
+ js += ` ${method.body.split('\n').join('\n ')}\n`;
356
+ js += ' }\n\n';
357
+ }
358
+ js = js.trimEnd() + '\n}\n';
359
+ logger_1.logger.debug(`Generated LWC class: ${className}`);
360
+ logger_1.logger.debug(`${properties.length} properties, ${methods.length} methods`);
361
+ logger_1.logger.debug(`${warnings.length} warnings generated`);
362
+ return {
363
+ js,
364
+ warnings,
365
+ imports,
366
+ properties,
367
+ methods,
368
+ apexMethods,
369
+ wireAdapters,
370
+ };
371
+ }
372
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/transformers/aura-to-lwc/controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Transform Aura event patterns to LWC CustomEvent
3
+ */
4
+ import { AuraEvent, AuraHandler } from '../../parsers/aura/markup-parser';
5
+ export interface EventTransformation {
6
+ auraEventName: string;
7
+ auraEventType: string;
8
+ lwcEventName: string;
9
+ isApplicationEvent: boolean;
10
+ handlerMethod?: string;
11
+ warnings: string[];
12
+ code: EventCode;
13
+ }
14
+ export interface EventCode {
15
+ dispatch: string;
16
+ handler: string;
17
+ parentBinding: string;
18
+ }
19
+ /**
20
+ * Transform a registered Aura event to LWC CustomEvent
21
+ */
22
+ export declare function transformAuraEvent(event: AuraEvent, handler?: AuraHandler): EventTransformation;
23
+ /**
24
+ * Generate pub/sub utility for application events
25
+ */
26
+ export declare function generatePubSubUtility(): string;
27
+ /**
28
+ * Generate Lightning Message Service channel definition
29
+ */
30
+ export declare function generateMessageChannel(eventName: string, description?: string): string;
31
+ /**
32
+ * Generate LMS usage code for publishing
33
+ */
34
+ export declare function generateLmsPublishCode(channelName: string): string;
35
+ /**
36
+ * Generate LMS usage code for subscribing
37
+ */
38
+ export declare function generateLmsSubscribeCode(channelName: string): string;
39
+ /**
40
+ * Transform Aura component event handler binding
41
+ */
42
+ export declare function transformEventHandler(handler: AuraHandler): {
43
+ templateBinding: string;
44
+ methodName: string;
45
+ warnings: string[];
46
+ };
47
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/transformers/aura-to-lwc/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG1E,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAwBD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,mBAAmB,CAoDrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAmD9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAYtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBlE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6CpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CA6CA"}