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,262 @@
1
+ "use strict";
2
+ /**
3
+ * Transform Aura event patterns to LWC CustomEvent
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformAuraEvent = transformAuraEvent;
7
+ exports.generatePubSubUtility = generatePubSubUtility;
8
+ exports.generateMessageChannel = generateMessageChannel;
9
+ exports.generateLmsPublishCode = generateLmsPublishCode;
10
+ exports.generateLmsSubscribeCode = generateLmsSubscribeCode;
11
+ exports.transformEventHandler = transformEventHandler;
12
+ const logger_1 = require("../../utils/logger");
13
+ /**
14
+ * Convert Aura event name to LWC event name
15
+ * MyEvent -> myevent
16
+ * onMyEvent -> myevent
17
+ */
18
+ function toLwcEventName(auraName) {
19
+ let name = auraName;
20
+ // Remove 'on' prefix if present
21
+ if (name.startsWith('on')) {
22
+ name = name.substring(2);
23
+ }
24
+ // Remove namespace prefix (e.g., c:MyEvent -> MyEvent)
25
+ if (name.includes(':')) {
26
+ name = name.split(':')[1];
27
+ }
28
+ // Convert to lowercase (LWC convention)
29
+ return name.toLowerCase();
30
+ }
31
+ /**
32
+ * Transform a registered Aura event to LWC CustomEvent
33
+ */
34
+ function transformAuraEvent(event, handler) {
35
+ const warnings = [];
36
+ const lwcEventName = toLwcEventName(event.name);
37
+ // Check if this is an application event (namespace indicates)
38
+ const isApplicationEvent = event.type.includes(':') && !event.type.startsWith('c:');
39
+ if (isApplicationEvent) {
40
+ warnings.push(`"${event.type}" is an application event - consider using pub/sub pattern or Lightning Message Service`);
41
+ }
42
+ // Generate dispatch code
43
+ const dispatchCode = `
44
+ // Fire the ${event.name} event
45
+ this.dispatchEvent(new CustomEvent('${lwcEventName}', {
46
+ detail: {
47
+ // TODO: Add event data properties here
48
+ },
49
+ bubbles: ${isApplicationEvent},
50
+ composed: ${isApplicationEvent}
51
+ }));`;
52
+ // Generate handler code
53
+ const handlerMethod = handler?.action?.replace('{!c.', '').replace('}', '') || `handle${event.name}`;
54
+ const handlerCode = `
55
+ // Handler for ${event.name} event
56
+ ${handlerMethod}(event) {
57
+ const detail = event.detail;
58
+ // TODO: Handle event data
59
+ }`;
60
+ // Generate parent binding (in parent component's template)
61
+ const parentBinding = `on${lwcEventName}={${handlerMethod}}`;
62
+ logger_1.logger.debug(`Transformed event: ${event.name} -> ${lwcEventName}`);
63
+ return {
64
+ auraEventName: event.name,
65
+ auraEventType: event.type,
66
+ lwcEventName,
67
+ isApplicationEvent,
68
+ handlerMethod,
69
+ warnings,
70
+ code: {
71
+ dispatch: dispatchCode.trim(),
72
+ handler: handlerCode.trim(),
73
+ parentBinding,
74
+ },
75
+ };
76
+ }
77
+ /**
78
+ * Generate pub/sub utility for application events
79
+ */
80
+ function generatePubSubUtility() {
81
+ return `/**
82
+ * Pub/Sub utility for component communication
83
+ * Use this when converting Aura application events that need cross-component communication
84
+ */
85
+
86
+ const events = {};
87
+
88
+ const registerListener = (eventName, callback, thisArg) => {
89
+ if (!events[eventName]) {
90
+ events[eventName] = [];
91
+ }
92
+ const duplicate = events[eventName].find((listener) => {
93
+ return listener.callback === callback && listener.thisArg === thisArg;
94
+ });
95
+ if (!duplicate) {
96
+ events[eventName].push({ callback, thisArg });
97
+ }
98
+ };
99
+
100
+ const unregisterListener = (eventName, callback, thisArg) => {
101
+ if (events[eventName]) {
102
+ events[eventName] = events[eventName].filter(
103
+ (listener) =>
104
+ listener.callback !== callback || listener.thisArg !== thisArg
105
+ );
106
+ }
107
+ };
108
+
109
+ const unregisterAllListeners = (thisArg) => {
110
+ Object.keys(events).forEach((eventName) => {
111
+ events[eventName] = events[eventName].filter(
112
+ (listener) => listener.thisArg !== thisArg
113
+ );
114
+ });
115
+ };
116
+
117
+ const fireEvent = (eventName, detail) => {
118
+ if (events[eventName]) {
119
+ events[eventName].forEach((listener) => {
120
+ try {
121
+ listener.callback.call(listener.thisArg, detail);
122
+ } catch (error) {
123
+ console.error('Error in event listener:', error);
124
+ }
125
+ });
126
+ }
127
+ };
128
+
129
+ export { registerListener, unregisterListener, unregisterAllListeners, fireEvent };
130
+ `;
131
+ }
132
+ /**
133
+ * Generate Lightning Message Service channel definition
134
+ */
135
+ function generateMessageChannel(eventName, description) {
136
+ return `<?xml version="1.0" encoding="UTF-8"?>
137
+ <LightningMessageChannel xmlns="http://soap.sforce.com/2006/04/metadata">
138
+ <description>${description || `Message channel for ${eventName} communication`}</description>
139
+ <isExposed>true</isExposed>
140
+ <lightningMessageFields>
141
+ <description>The payload of the message</description>
142
+ <fieldName>payload</fieldName>
143
+ </lightningMessageFields>
144
+ <masterLabel>${eventName}</masterLabel>
145
+ </LightningMessageChannel>
146
+ `;
147
+ }
148
+ /**
149
+ * Generate LMS usage code for publishing
150
+ */
151
+ function generateLmsPublishCode(channelName) {
152
+ return `
153
+ // Import the message channel
154
+ import { publish, MessageContext } from 'lightning/messageService';
155
+ import ${channelName.toUpperCase()}_CHANNEL from '@salesforce/messageChannel/${channelName}__c';
156
+
157
+ // Wire the message context
158
+ @wire(MessageContext)
159
+ messageContext;
160
+
161
+ // Publish a message
162
+ publishMessage(data) {
163
+ const message = {
164
+ payload: data
165
+ };
166
+ publish(this.messageContext, ${channelName.toUpperCase()}_CHANNEL, message);
167
+ }`;
168
+ }
169
+ /**
170
+ * Generate LMS usage code for subscribing
171
+ */
172
+ function generateLmsSubscribeCode(channelName) {
173
+ return `
174
+ // Import the message channel
175
+ import {
176
+ subscribe,
177
+ unsubscribe,
178
+ APPLICATION_SCOPE,
179
+ MessageContext
180
+ } from 'lightning/messageService';
181
+ import ${channelName.toUpperCase()}_CHANNEL from '@salesforce/messageChannel/${channelName}__c';
182
+
183
+ // Wire the message context
184
+ @wire(MessageContext)
185
+ messageContext;
186
+
187
+ subscription = null;
188
+
189
+ // Subscribe in connectedCallback
190
+ connectedCallback() {
191
+ this.subscribeToChannel();
192
+ }
193
+
194
+ subscribeToChannel() {
195
+ if (!this.subscription) {
196
+ this.subscription = subscribe(
197
+ this.messageContext,
198
+ ${channelName.toUpperCase()}_CHANNEL,
199
+ (message) => this.handleMessage(message),
200
+ { scope: APPLICATION_SCOPE }
201
+ );
202
+ }
203
+ }
204
+
205
+ handleMessage(message) {
206
+ const payload = message.payload;
207
+ // TODO: Handle the received message
208
+ }
209
+
210
+ // Unsubscribe in disconnectedCallback
211
+ disconnectedCallback() {
212
+ if (this.subscription) {
213
+ unsubscribe(this.subscription);
214
+ this.subscription = null;
215
+ }
216
+ }`;
217
+ }
218
+ /**
219
+ * Transform Aura component event handler binding
220
+ */
221
+ function transformEventHandler(handler) {
222
+ const warnings = [];
223
+ let templateBinding = '';
224
+ let methodName = '';
225
+ // Extract method name from {!c.methodName}
226
+ const actionMatch = handler.action.match(/\{!c\.(\w+)\}/);
227
+ if (actionMatch) {
228
+ methodName = actionMatch[1];
229
+ }
230
+ else {
231
+ methodName = handler.action;
232
+ warnings.push(`Could not parse action "${handler.action}" - verify method name`);
233
+ }
234
+ // Handle different event types
235
+ if (handler.event.startsWith('c:')) {
236
+ // Custom component event - use on<eventname> binding
237
+ const eventName = handler.event.substring(2).toLowerCase();
238
+ templateBinding = `on${eventName}={${methodName}}`;
239
+ }
240
+ else if (handler.event.includes(':')) {
241
+ // Namespace event - might be platform event
242
+ const eventName = handler.event.split(':')[1].toLowerCase();
243
+ if (handler.event.startsWith('force:')) {
244
+ warnings.push(`Platform event "${handler.event}" - may need alternative approach in LWC`);
245
+ }
246
+ templateBinding = `on${eventName}={${methodName}}`;
247
+ }
248
+ else {
249
+ // Simple event name
250
+ templateBinding = `on${handler.event.toLowerCase()}={${methodName}}`;
251
+ }
252
+ // Handle phase attribute (capture vs bubble)
253
+ if (handler.phase === 'capture') {
254
+ warnings.push('Capture phase handler found - LWC supports this via addEventListener with { capture: true }');
255
+ }
256
+ return {
257
+ templateBinding,
258
+ methodName,
259
+ warnings,
260
+ };
261
+ }
262
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/transformers/aura-to-lwc/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Transform Aura markup to LWC HTML template
3
+ */
4
+ import { ParsedAuraMarkup } from '../../parsers/aura/markup-parser';
5
+ export interface TransformedMarkup {
6
+ html: string;
7
+ warnings: string[];
8
+ usedDirectives: string[];
9
+ usedComponents: string[];
10
+ /** LMS channels detected from lightning:messageChannel */
11
+ lmsChannels: LmsChannelConfig[];
12
+ /** force:recordData instances to convert to @wire */
13
+ recordDataServices: RecordDataConfig[];
14
+ /** aura:set facets for slot conversion */
15
+ facetContent: FacetContent[];
16
+ /** Complex expressions converted to getters */
17
+ detectedGetters: DetectedGetter[];
18
+ }
19
+ export interface DetectedGetter {
20
+ name: string;
21
+ expression: string;
22
+ }
23
+ /** LMS channel configuration from lightning:messageChannel */
24
+ export interface LmsChannelConfig {
25
+ channelName: string;
26
+ auraId: string;
27
+ onMessageHandler?: string;
28
+ scope?: string;
29
+ /** True if this component only publishes (no onMessage handler) */
30
+ isPublisherOnly?: boolean;
31
+ }
32
+ /** force:recordData configuration */
33
+ export interface RecordDataConfig {
34
+ auraId: string;
35
+ recordIdBinding: string;
36
+ fields: string[];
37
+ targetFields?: string;
38
+ targetRecord?: string;
39
+ targetError?: string;
40
+ mode?: string;
41
+ }
42
+ /** Facet content from aura:set */
43
+ export interface FacetContent {
44
+ attributeName: string;
45
+ content: string;
46
+ }
47
+ /**
48
+ * Transform parsed Aura markup to LWC HTML
49
+ */
50
+ export declare function transformAuraMarkup(parsed: ParsedAuraMarkup): TransformedMarkup;
51
+ //# sourceMappingURL=markup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markup.d.ts","sourceRoot":"","sources":["../../../src/transformers/aura-to-lwc/markup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,qDAAqD;IACrD,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IACvC,0CAA0C;IAC1C,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AA2gBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAkC/E"}