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,162 @@
1
+ "use strict";
2
+ /**
3
+ * Utility for detecting and resolving Apex controllers referenced in Visualforce pages
4
+ * Parses VF markup to extract controller names and searches the project for matching files
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.extractControllerNames = extractControllerNames;
41
+ exports.findVfControllers = findVfControllers;
42
+ exports.readControllerContents = readControllerContents;
43
+ exports.getControllerTypeLabel = getControllerTypeLabel;
44
+ const fs = __importStar(require("fs-extra"));
45
+ const path_resolver_1 = require("./path-resolver");
46
+ const logger_1 = require("./logger");
47
+ /**
48
+ * Extract controller class names from VF page markup
49
+ * Looks for: controller attribute, extensions attribute, and $RemoteAction references
50
+ */
51
+ function extractControllerNames(markup) {
52
+ const controllers = [];
53
+ const seen = new Set();
54
+ // Find apex:page tag and extract controller/extensions attributes
55
+ const apexPageRegex = /<apex:page[^>]*>/i;
56
+ const pageMatch = markup.match(apexPageRegex);
57
+ if (pageMatch) {
58
+ const pageTag = pageMatch[0];
59
+ // Extract main controller
60
+ const controllerMatch = pageTag.match(/\bcontroller\s*=\s*["']([^"']+)["']/i);
61
+ if (controllerMatch) {
62
+ const name = controllerMatch[1].trim();
63
+ if (!seen.has(name.toLowerCase())) {
64
+ controllers.push({ name, type: 'controller' });
65
+ seen.add(name.toLowerCase());
66
+ }
67
+ }
68
+ // Extract extensions (comma-separated list)
69
+ const extensionsMatch = pageTag.match(/\bextensions\s*=\s*["']([^"']+)["']/i);
70
+ if (extensionsMatch) {
71
+ const extensionNames = extensionsMatch[1].split(',').map(s => s.trim()).filter(s => s);
72
+ for (const name of extensionNames) {
73
+ if (!seen.has(name.toLowerCase())) {
74
+ controllers.push({ name, type: 'extension' });
75
+ seen.add(name.toLowerCase());
76
+ }
77
+ }
78
+ }
79
+ }
80
+ // Find $RemoteAction references: {!$RemoteAction.ControllerName.methodName}
81
+ const remoteActionRegex = /\{\!\$RemoteAction\.([^.]+)\.\w+\}/g;
82
+ let match;
83
+ while ((match = remoteActionRegex.exec(markup)) !== null) {
84
+ const name = match[1].trim();
85
+ if (!seen.has(name.toLowerCase())) {
86
+ controllers.push({ name, type: 'remoteAction' });
87
+ seen.add(name.toLowerCase());
88
+ }
89
+ }
90
+ // Find Visualforce.remoting.Manager.invokeAction references
91
+ const invokeActionRegex = /(?:Visualforce\.remoting\.Manager\.invokeAction|invokeAction)\s*\(\s*['"]([^'"]+)\.([\w]+)['"]/g;
92
+ while ((match = invokeActionRegex.exec(markup)) !== null) {
93
+ const name = match[1].trim();
94
+ if (!seen.has(name.toLowerCase())) {
95
+ controllers.push({ name, type: 'remoteAction' });
96
+ seen.add(name.toLowerCase());
97
+ }
98
+ }
99
+ return controllers;
100
+ }
101
+ /**
102
+ * Find VF controllers referenced in markup and resolve their file paths
103
+ */
104
+ async function findVfControllers(markup) {
105
+ const controllerNames = extractControllerNames(markup);
106
+ const controllers = [];
107
+ for (const { name, type } of controllerNames) {
108
+ const resolved = await (0, path_resolver_1.resolveApexPath)(name);
109
+ controllers.push({
110
+ name,
111
+ type,
112
+ path: resolved.found ? resolved.path : undefined,
113
+ found: resolved.found,
114
+ });
115
+ if (resolved.found) {
116
+ logger_1.logger.debug(`Found ${type}: ${name} at ${resolved.path}`);
117
+ }
118
+ else {
119
+ logger_1.logger.debug(`${type} not found in project: ${name}`);
120
+ }
121
+ }
122
+ return {
123
+ controllers,
124
+ hasControllers: controllers.length > 0,
125
+ allFound: controllers.length > 0 && controllers.every(c => c.found),
126
+ };
127
+ }
128
+ /**
129
+ * Read content for all found controllers
130
+ */
131
+ async function readControllerContents(controllers) {
132
+ const contents = new Map();
133
+ for (const controller of controllers) {
134
+ if (controller.found && controller.path) {
135
+ try {
136
+ const content = await fs.readFile(controller.path, 'utf-8');
137
+ contents.set(controller.name, content);
138
+ logger_1.logger.debug(`Read controller content: ${controller.name}`);
139
+ }
140
+ catch (error) {
141
+ logger_1.logger.warn(`Failed to read controller: ${controller.path}`);
142
+ }
143
+ }
144
+ }
145
+ return contents;
146
+ }
147
+ /**
148
+ * Get a display-friendly type label
149
+ */
150
+ function getControllerTypeLabel(type) {
151
+ switch (type) {
152
+ case 'controller':
153
+ return 'Controller';
154
+ case 'extension':
155
+ return 'Extension';
156
+ case 'remoteAction':
157
+ return 'Remote Action';
158
+ default:
159
+ return 'Controller';
160
+ }
161
+ }
162
+ //# sourceMappingURL=vf-controller-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vf-controller-resolver.js","sourceRoot":"","sources":["../../src/utils/vf-controller-resolver.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "lwc-convert",
3
+ "version": "1.0.0",
4
+ "description": "CLI tool to convert Salesforce Aura and Visualforce components to Lightning Web Components",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "lwc-convert": "./dist/index.js"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "require": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "LICENSE",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "start": "node dist/index.js",
24
+ "dev": "ts-node src/index.ts",
25
+ "test": "jest",
26
+ "lint": "eslint src/**/*.ts",
27
+ "format": "prettier --write src/**/*.ts",
28
+ "prepublishOnly": "npm run build && npm test"
29
+ },
30
+ "keywords": [
31
+ "salesforce",
32
+ "lwc",
33
+ "aura",
34
+ "visualforce",
35
+ "converter",
36
+ "migration",
37
+ "lightning-web-components",
38
+ "cli"
39
+ ],
40
+ "author": "lwc-convert contributors",
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/Lastonedown86/lwc-convert.git"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/Lastonedown86/lwc-convert/issues"
48
+ },
49
+ "homepage": "https://github.com/Lastonedown86/lwc-convert#readme",
50
+ "dependencies": {
51
+ "@babel/generator": "^7.23.0",
52
+ "@babel/parser": "^7.23.0",
53
+ "@babel/traverse": "^7.23.0",
54
+ "@babel/types": "^7.23.0",
55
+ "@clack/prompts": "^0.11.0",
56
+ "chalk": "^4.1.2",
57
+ "commander": "^11.1.0",
58
+ "domhandler": "^5.0.3",
59
+ "fs-extra": "^11.2.0",
60
+ "htmlparser2": "^9.1.0",
61
+ "inquirer": "^13.2.1",
62
+ "postcss": "^8.4.32"
63
+ },
64
+ "devDependencies": {
65
+ "@types/babel__generator": "^7.6.8",
66
+ "@types/babel__traverse": "^7.20.4",
67
+ "@types/fs-extra": "^11.0.4",
68
+ "@types/inquirer": "^9.0.9",
69
+ "@types/jest": "^29.5.11",
70
+ "@types/node": "^20.10.5",
71
+ "eslint": "^8.56.0",
72
+ "jest": "^29.7.0",
73
+ "prettier": "^3.1.1",
74
+ "ts-jest": "^29.1.1",
75
+ "ts-node": "^10.9.2",
76
+ "typescript": "^5.3.3"
77
+ },
78
+ "engines": {
79
+ "node": ">=18.0.0"
80
+ }
81
+ }