@salesforce/ui-bundle-template-cli 1.117.2
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/LICENSE.txt +82 -0
- package/README.md +1613 -0
- package/dist/commands/apply-patches.d.ts +23 -0
- package/dist/commands/apply-patches.d.ts.map +1 -0
- package/dist/commands/apply-patches.js +804 -0
- package/dist/commands/apply-patches.js.map +1 -0
- package/dist/commands/new-app-feature.d.ts +7 -0
- package/dist/commands/new-app-feature.d.ts.map +1 -0
- package/dist/commands/new-app-feature.js +215 -0
- package/dist/commands/new-app-feature.js.map +1 -0
- package/dist/commands/new-app.d.ts +6 -0
- package/dist/commands/new-app.d.ts.map +1 -0
- package/dist/commands/new-app.js +7 -0
- package/dist/commands/new-app.js.map +1 -0
- package/dist/commands/watch-patches.d.ts +4 -0
- package/dist/commands/watch-patches.d.ts.map +1 -0
- package/dist/commands/watch-patches.js +134 -0
- package/dist/commands/watch-patches.js.map +1 -0
- package/dist/core/dependency-resolver.d.ts +40 -0
- package/dist/core/dependency-resolver.d.ts.map +1 -0
- package/dist/core/dependency-resolver.js +126 -0
- package/dist/core/dependency-resolver.js.map +1 -0
- package/dist/core/file-operations.d.ts +55 -0
- package/dist/core/file-operations.d.ts.map +1 -0
- package/dist/core/file-operations.js +350 -0
- package/dist/core/file-operations.js.map +1 -0
- package/dist/core/package-json-merger.d.ts +19 -0
- package/dist/core/package-json-merger.d.ts.map +1 -0
- package/dist/core/package-json-merger.js +104 -0
- package/dist/core/package-json-merger.js.map +1 -0
- package/dist/core/patch-loader.d.ts +18 -0
- package/dist/core/patch-loader.d.ts.map +1 -0
- package/dist/core/patch-loader.js +115 -0
- package/dist/core/patch-loader.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +95 -0
- package/dist/index.js.map +1 -0
- package/dist/nx-plugin/executors/apply-patches/executor.d.ts +20 -0
- package/dist/nx-plugin/executors/apply-patches/executor.d.ts.map +1 -0
- package/dist/nx-plugin/executors/apply-patches/executor.js +77 -0
- package/dist/nx-plugin/executors/apply-patches/executor.js.map +1 -0
- package/dist/nx-plugin/executors/build-dist-app/executor.d.ts +20 -0
- package/dist/nx-plugin/executors/build-dist-app/executor.d.ts.map +1 -0
- package/dist/nx-plugin/executors/build-dist-app/executor.js +88 -0
- package/dist/nx-plugin/executors/build-dist-app/executor.js.map +1 -0
- package/dist/nx-plugin/executors/dev-server/executor.d.ts +20 -0
- package/dist/nx-plugin/executors/dev-server/executor.d.ts.map +1 -0
- package/dist/nx-plugin/executors/dev-server/executor.js +59 -0
- package/dist/nx-plugin/executors/dev-server/executor.js.map +1 -0
- package/dist/nx-plugin/executors/utils.d.ts +9 -0
- package/dist/nx-plugin/executors/utils.d.ts.map +1 -0
- package/dist/nx-plugin/executors/utils.js +25 -0
- package/dist/nx-plugin/executors/utils.js.map +1 -0
- package/dist/nx-plugin/executors/watch-patches/executor.d.ts +20 -0
- package/dist/nx-plugin/executors/watch-patches/executor.d.ts.map +1 -0
- package/dist/nx-plugin/executors/watch-patches/executor.js +71 -0
- package/dist/nx-plugin/executors/watch-patches/executor.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/debounce.d.ts +9 -0
- package/dist/utils/debounce.d.ts.map +1 -0
- package/dist/utils/debounce.js +20 -0
- package/dist/utils/debounce.js.map +1 -0
- package/dist/utils/import-merger.d.ts +17 -0
- package/dist/utils/import-merger.d.ts.map +1 -0
- package/dist/utils/import-merger.js +244 -0
- package/dist/utils/import-merger.js.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +23 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/path-mappings.d.ts +94 -0
- package/dist/utils/path-mappings.d.ts.map +1 -0
- package/dist/utils/path-mappings.js +139 -0
- package/dist/utils/path-mappings.js.map +1 -0
- package/dist/utils/paths.d.ts +61 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +182 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/route-merger.d.ts +107 -0
- package/dist/utils/route-merger.d.ts.map +1 -0
- package/dist/utils/route-merger.js +358 -0
- package/dist/utils/route-merger.js.map +1 -0
- package/dist/utils/validation.d.ts +35 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +137 -0
- package/dist/utils/validation.js.map +1 -0
- package/executors.json +24 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-patches.js","sourceRoot":"","sources":["../../src/commands/apply-patches.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a new app or feature from the base-reference-app or base-feature template
|
|
3
|
+
*
|
|
4
|
+
* @param appOrFeatureName - Name of the app or feature (without "app-" or "feature-" prefix)
|
|
5
|
+
*/
|
|
6
|
+
export declare function newAppOrFeatureCommand(appOrFeatureName: string, appOrFeatureType: "app" | "feature"): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=new-app-feature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-app-feature.d.ts","sourceRoot":"","sources":["../../src/commands/new-app-feature.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC3C,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,KAAK,GAAG,SAAS,GACjC,OAAO,CAAC,IAAI,CAAC,CAyNf"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, Salesforce, Inc.,
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* For full license text, see the LICENSE.txt file
|
|
5
|
+
*/
|
|
6
|
+
import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, statSync, writeFileSync } from "fs";
|
|
7
|
+
import { join, dirname, sep } from "path";
|
|
8
|
+
import * as logger from "../utils/logger";
|
|
9
|
+
import { getMonorepoRoot } from "../utils/paths";
|
|
10
|
+
import { validateAppOrFeatureName, ValidationError } from "../utils/validation";
|
|
11
|
+
/**
|
|
12
|
+
* Create a new app or feature from the base-reference-app or base-feature template
|
|
13
|
+
*
|
|
14
|
+
* @param appOrFeatureName - Name of the app or feature (without "app-" or "feature-" prefix)
|
|
15
|
+
*/
|
|
16
|
+
export async function newAppOrFeatureCommand(appOrFeatureName, appOrFeatureType) {
|
|
17
|
+
let targetDir;
|
|
18
|
+
try {
|
|
19
|
+
logger.heading(`Creating new ${appOrFeatureType}: ${appOrFeatureName}`);
|
|
20
|
+
// Step 1: Validate feature name format
|
|
21
|
+
logger.info(`Validating ${appOrFeatureType} name...`);
|
|
22
|
+
validateAppOrFeatureName(appOrFeatureName);
|
|
23
|
+
// Step 2: Generate full feature name with prefix
|
|
24
|
+
const fullFeatureName = appOrFeatureName.startsWith(`${appOrFeatureType}-`)
|
|
25
|
+
? appOrFeatureName
|
|
26
|
+
: `${appOrFeatureType}-${appOrFeatureName}`;
|
|
27
|
+
const rawName = fullFeatureName.replace(/^${appOrFeatureType}-/, "");
|
|
28
|
+
logger.success(`${appOrFeatureType} name validated: ${fullFeatureName}`);
|
|
29
|
+
// Step 3: Check if feature already exists
|
|
30
|
+
logger.info(`Checking if ${appOrFeatureType} already exists...`);
|
|
31
|
+
if (checkAppFeatureExists(fullFeatureName, appOrFeatureType)) {
|
|
32
|
+
const dir = appOrFeatureType === "app" ? "app" : "feature";
|
|
33
|
+
throw new ValidationError(`${appOrFeatureType} '${fullFeatureName}' already exists at packages/template/${dir}/${fullFeatureName}.\nPlease choose a different name or remove the existing ${appOrFeatureType}.`);
|
|
34
|
+
}
|
|
35
|
+
logger.success("Feature name available");
|
|
36
|
+
// Step 4: Validate base feature template
|
|
37
|
+
logger.info("Validating base feature template...");
|
|
38
|
+
const baseAppOrFeaturePath = validateBaseAppOrFeature(appOrFeatureType);
|
|
39
|
+
logger.success("Base feature template validated");
|
|
40
|
+
// Step 5: Create target directory and copy
|
|
41
|
+
const monorepoRoot = getMonorepoRoot();
|
|
42
|
+
const targetDirPrefix = appOrFeatureType === "app" ? "packages/template/app" : "packages/template/feature";
|
|
43
|
+
targetDir = join(monorepoRoot, targetDirPrefix, fullFeatureName);
|
|
44
|
+
const dir = appOrFeatureType === "app" ? "app" : "feature";
|
|
45
|
+
const copyFilter = (src) => !src.includes("node_modules") &&
|
|
46
|
+
!src.includes(`${sep}dist${sep}`) &&
|
|
47
|
+
!src.endsWith(`${sep}dist`);
|
|
48
|
+
logger.info(`Copying base feature template to packages/template/${dir}/${fullFeatureName}...`);
|
|
49
|
+
cpSync(baseAppOrFeaturePath, targetDir, { recursive: true, filter: copyFilter });
|
|
50
|
+
logger.success("Template copied");
|
|
51
|
+
// Step 6: Move to SFDX structure
|
|
52
|
+
logger.info("Moving to SFDX structure...");
|
|
53
|
+
const templateName = appOrFeatureType === "app" ? "reference-app" : "feature";
|
|
54
|
+
// Check for old structure first (for backward compatibility)
|
|
55
|
+
const oldUIBundlePath = join(targetDir, `template/uiBundles/base-${templateName}`);
|
|
56
|
+
const oldTemplateUIBundlePath = join(targetDir, `template/uiBundle`);
|
|
57
|
+
// New SFDX structure path (use fullFeatureName so package.json script paths match)
|
|
58
|
+
const newSfdxPath = join(targetDir, "src", "force-app", "main", "default", "uiBundles", fullFeatureName);
|
|
59
|
+
if (existsSync(oldUIBundlePath)) {
|
|
60
|
+
// Old structure: template/uiBundles/base-{name}
|
|
61
|
+
mkdirSync(dirname(newSfdxPath), { recursive: true });
|
|
62
|
+
cpSync(oldUIBundlePath, newSfdxPath, { recursive: true, filter: copyFilter });
|
|
63
|
+
rmSync(join(targetDir, "template"), { recursive: true, force: true });
|
|
64
|
+
logger.success(`Moved to SFDX structure: ${newSfdxPath}`);
|
|
65
|
+
}
|
|
66
|
+
else if (existsSync(oldTemplateUIBundlePath)) {
|
|
67
|
+
// Old structure: template/uiBundle
|
|
68
|
+
mkdirSync(dirname(newSfdxPath), { recursive: true });
|
|
69
|
+
cpSync(oldTemplateUIBundlePath, newSfdxPath, { recursive: true, filter: copyFilter });
|
|
70
|
+
rmSync(join(targetDir, "template"), { recursive: true, force: true });
|
|
71
|
+
logger.success(`Moved to SFDX structure: ${newSfdxPath}`);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// Already in SFDX structure - check for template name or base-{name}
|
|
75
|
+
const templateSfdxName = `template-${templateName}`;
|
|
76
|
+
const baseSfdxName = `base-${templateName}`;
|
|
77
|
+
const existingSfdxPathTemplate = join(targetDir, "src", "force-app", "main", "default", "uiBundles", templateSfdxName);
|
|
78
|
+
const existingSfdxPathBase = join(targetDir, "src", "force-app", "main", "default", "uiBundles", baseSfdxName);
|
|
79
|
+
const newSfdxPathFromBase = join(targetDir, "src", "force-app", "main", "default", "uiBundles", fullFeatureName);
|
|
80
|
+
if (existsSync(existingSfdxPathTemplate)) {
|
|
81
|
+
mkdirSync(dirname(newSfdxPathFromBase), { recursive: true });
|
|
82
|
+
cpSync(existingSfdxPathTemplate, newSfdxPathFromBase, {
|
|
83
|
+
recursive: true,
|
|
84
|
+
filter: copyFilter,
|
|
85
|
+
});
|
|
86
|
+
rmSync(existingSfdxPathTemplate, { recursive: true, force: true });
|
|
87
|
+
logger.success(`Renamed SFDX structure: ${templateSfdxName} ā ${fullFeatureName}`);
|
|
88
|
+
}
|
|
89
|
+
else if (existsSync(existingSfdxPathBase)) {
|
|
90
|
+
mkdirSync(dirname(newSfdxPathFromBase), { recursive: true });
|
|
91
|
+
cpSync(existingSfdxPathBase, newSfdxPathFromBase, {
|
|
92
|
+
recursive: true,
|
|
93
|
+
filter: copyFilter,
|
|
94
|
+
});
|
|
95
|
+
rmSync(existingSfdxPathBase, { recursive: true, force: true });
|
|
96
|
+
logger.success(`Renamed SFDX structure: ${baseSfdxName} ā ${fullFeatureName}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Step 7: Update package.json
|
|
100
|
+
logger.info("Updating package.json...");
|
|
101
|
+
const packageJsonPath = join(targetDir, "package.json");
|
|
102
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
103
|
+
packageJson.name = fullFeatureName;
|
|
104
|
+
// Update scripts to reference new app/feature name
|
|
105
|
+
// Replace both "base-{templateName}" and "template-{templateName}" (e.g. base-reference-app, template-reference-app)
|
|
106
|
+
const basePattern = new RegExp(`base-${templateName}`, "g");
|
|
107
|
+
const templatePattern = new RegExp(`template-${templateName}`, "g");
|
|
108
|
+
const commandsToUpdate = ["dev", "build", "watch"];
|
|
109
|
+
commandsToUpdate.forEach((command) => {
|
|
110
|
+
if (packageJson.scripts[command]) {
|
|
111
|
+
packageJson.scripts[command] = packageJson.scripts[command]
|
|
112
|
+
.replace(basePattern, fullFeatureName)
|
|
113
|
+
.replace(templatePattern, fullFeatureName);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + "\n");
|
|
117
|
+
logger.success("package.json updated");
|
|
118
|
+
// Step 8: Update tsconfig.app.json
|
|
119
|
+
logger.info("Updating tsconfig.app.json...");
|
|
120
|
+
const tsconfigAppPath = join(targetDir, "tsconfig.app.json");
|
|
121
|
+
const tsconfigContent = readFileSync(tsconfigAppPath, "utf-8");
|
|
122
|
+
const updatedTsconfigContent = tsconfigContent
|
|
123
|
+
.replace(new RegExp(`template-${templateName}`, "g"), fullFeatureName)
|
|
124
|
+
.replace(new RegExp(`base-${templateName}`, "g"), fullFeatureName);
|
|
125
|
+
writeFileSync(tsconfigAppPath, updatedTsconfigContent);
|
|
126
|
+
logger.success("tsconfig.app.json updated");
|
|
127
|
+
// Step 9: Success message
|
|
128
|
+
logger.heading("\nā Success");
|
|
129
|
+
logger.success(`Created feature: packages/template/${dir}/${fullFeatureName}`);
|
|
130
|
+
logger.info("\nNext steps:");
|
|
131
|
+
logger.info(` 1. cd packages/template/${dir}/${fullFeatureName}`);
|
|
132
|
+
logger.info(` 2. Customize template files in src/force-app/main/default/uiBundles/${rawName}/ directory`);
|
|
133
|
+
logger.info(` 3. Update patches.ts with ${appOrFeatureType} configuration`);
|
|
134
|
+
logger.info(` 4. Test with: npm run apply-patches -- packages/template/${dir}/${fullFeatureName} packages/template/base-app/base-react-app test-app`);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
// Cleanup on failure
|
|
138
|
+
if (targetDir && existsSync(targetDir)) {
|
|
139
|
+
logger.info(`\nCleaning up partially created ${appOrFeatureType}...`);
|
|
140
|
+
rmSync(targetDir, { recursive: true, force: true });
|
|
141
|
+
logger.info("Cleanup complete");
|
|
142
|
+
}
|
|
143
|
+
// Handle different error types
|
|
144
|
+
if (err instanceof Error) {
|
|
145
|
+
// Handle permission errors
|
|
146
|
+
if (err.message.includes("EACCES")) {
|
|
147
|
+
logger.error(`\nā Permission denied. You do not have permission to create ${appOrFeatureType}s in the packages directory.`);
|
|
148
|
+
logger.info("Try running with appropriate permissions or check directory ownership.");
|
|
149
|
+
throw new ValidationError("Permission denied");
|
|
150
|
+
}
|
|
151
|
+
// Handle disk space errors
|
|
152
|
+
if (err.message.includes("ENOSPC")) {
|
|
153
|
+
logger.error(`\nā Not enough disk space to create ${appOrFeatureType}.`);
|
|
154
|
+
logger.info("Free up some disk space and try again.");
|
|
155
|
+
throw new ValidationError("Insufficient disk space");
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// Log error if not already logged
|
|
159
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
160
|
+
const skipLogging = err instanceof ValidationError;
|
|
161
|
+
if (!skipLogging) {
|
|
162
|
+
logger.error(`\nā Failed to create ${appOrFeatureType}: ${errorMessage}`);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
logger.error(`\nā ${errorMessage}`);
|
|
166
|
+
}
|
|
167
|
+
throw err;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Check if a feature already exists in the packages directory
|
|
172
|
+
*/
|
|
173
|
+
function checkAppFeatureExists(appOrFeatureName, appOrFeatureType) {
|
|
174
|
+
const monorepoRoot = getMonorepoRoot();
|
|
175
|
+
const dir = appOrFeatureType === "app" ? "app" : "feature";
|
|
176
|
+
const appOrFeaturePath = join(monorepoRoot, "packages", "template", dir, appOrFeatureName);
|
|
177
|
+
return existsSync(appOrFeaturePath);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Validate that the base-feature and base-reference-app template exists and is valid
|
|
181
|
+
* Returns the absolute path to the base-feature or base-reference-app directory
|
|
182
|
+
*/
|
|
183
|
+
function validateBaseAppOrFeature(appOrFeatureType) {
|
|
184
|
+
const monorepoRoot = getMonorepoRoot();
|
|
185
|
+
const templateName = appOrFeatureType === "app" ? "reference-app" : "feature";
|
|
186
|
+
const baseAppOrFeaturePath = join(monorepoRoot, `packages/template/template/template-${templateName}`);
|
|
187
|
+
if (!existsSync(baseAppOrFeaturePath)) {
|
|
188
|
+
throw new ValidationError(`Base ${templateName} template not found at packages/template/template/template-${templateName}.\nCannot create new ${appOrFeatureType}.`);
|
|
189
|
+
}
|
|
190
|
+
if (!statSync(baseAppOrFeaturePath).isDirectory()) {
|
|
191
|
+
throw new ValidationError(`Base ${templateName} template at packages/template/template/template-${templateName} is not a directory.`);
|
|
192
|
+
}
|
|
193
|
+
// Check critical files exist
|
|
194
|
+
const requiredFiles = [
|
|
195
|
+
"package.json",
|
|
196
|
+
"patches.ts",
|
|
197
|
+
"tsconfig.app.json",
|
|
198
|
+
"tsconfig.json",
|
|
199
|
+
"tsconfig.node.json",
|
|
200
|
+
];
|
|
201
|
+
// Check for either old template structure or new SFDX structure
|
|
202
|
+
const hasOldTemplate = existsSync(join(baseAppOrFeaturePath, "template"));
|
|
203
|
+
const hasNewSfdx = existsSync(join(baseAppOrFeaturePath, "src", "force-app"));
|
|
204
|
+
if (!hasOldTemplate && !hasNewSfdx) {
|
|
205
|
+
throw new ValidationError(`Base ${appOrFeatureType} template is incomplete.\nMissing required directory: template/ or src/force-app/`);
|
|
206
|
+
}
|
|
207
|
+
for (const file of requiredFiles) {
|
|
208
|
+
const filePath = join(baseAppOrFeaturePath, file);
|
|
209
|
+
if (!existsSync(filePath)) {
|
|
210
|
+
throw new ValidationError(`Base ${appOrFeatureType} template is incomplete.\nMissing required file: ${file}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return baseAppOrFeaturePath;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=new-app-feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-app-feature.js","sourceRoot":"","sources":["../../src/commands/new-app-feature.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-app.d.ts","sourceRoot":"","sources":["../../src/commands/new-app.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-app.js","sourceRoot":"","sources":["../../src/commands/new-app.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-patches.d.ts","sourceRoot":"","sources":["../../src/commands/watch-patches.ts"],"names":[],"mappings":"AAYA,wBAAsB,mBAAmB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAmI5C"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, Salesforce, Inc.,
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
* For full license text, see the LICENSE.txt file
|
|
5
|
+
*/
|
|
6
|
+
import { join, relative, normalize } from "path";
|
|
7
|
+
import { watch } from "turbowatch";
|
|
8
|
+
import { applyPatchesCommand } from "./apply-patches";
|
|
9
|
+
import { loadPatch } from "../core/patch-loader";
|
|
10
|
+
import * as logger from "../utils/logger";
|
|
11
|
+
import { validateAndResolveFeaturePath, validateAndResolveAppPath } from "../utils/validation";
|
|
12
|
+
export async function watchPatchesCommand(featurePath, appPath, targetDirName) {
|
|
13
|
+
try {
|
|
14
|
+
logger.heading(`Starting watch mode for ${featurePath}...`);
|
|
15
|
+
// Step 1: Validate inputs
|
|
16
|
+
logger.info("Validating feature and app path...");
|
|
17
|
+
const featureDir = validateAndResolveFeaturePath(featurePath);
|
|
18
|
+
validateAndResolveAppPath(appPath);
|
|
19
|
+
logger.success("Validation passed");
|
|
20
|
+
// Step 2: Apply feature initially (with dependencies)
|
|
21
|
+
// Always reset to ensure clean state (preserves node_modules)
|
|
22
|
+
logger.info("Applying feature initially...");
|
|
23
|
+
await applyPatchesCommand(featurePath, appPath, {
|
|
24
|
+
targetDirName: targetDirName,
|
|
25
|
+
skipDependencyChanges: false,
|
|
26
|
+
reset: true,
|
|
27
|
+
});
|
|
28
|
+
logger.success("Initial feature applied successfully\n");
|
|
29
|
+
// Step 3: Load feature config to get template directory
|
|
30
|
+
const { templateDir } = await loadPatch(featureDir);
|
|
31
|
+
const watchPath = join(featureDir, templateDir);
|
|
32
|
+
// Create feature application function
|
|
33
|
+
const applyPatches = async (changedPath) => {
|
|
34
|
+
try {
|
|
35
|
+
// Use path.relative for robust path calculation that handles different separators
|
|
36
|
+
// Normalize paths to handle different formats (absolute vs relative, different separators)
|
|
37
|
+
const normalizedWatchPath = normalize(watchPath);
|
|
38
|
+
const normalizedChangedPath = normalize(changedPath);
|
|
39
|
+
const relativePath = relative(normalizedWatchPath, normalizedChangedPath);
|
|
40
|
+
logger.info(`š Change detected in ${relativePath}`);
|
|
41
|
+
logger.info("ā³ Re-applying feature...\n");
|
|
42
|
+
const startTime = Date.now();
|
|
43
|
+
// Reset on file changes to remove stale files (preserves node_modules)
|
|
44
|
+
await applyPatchesCommand(featurePath, appPath, {
|
|
45
|
+
targetDirName: targetDirName,
|
|
46
|
+
skipDependencyChanges: true,
|
|
47
|
+
reset: true,
|
|
48
|
+
});
|
|
49
|
+
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
50
|
+
logger.success(`\nā Feature re-applied successfully (${elapsed}s)`);
|
|
51
|
+
logger.info("š Watching for changes...\n");
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
55
|
+
// Only log if not already handled
|
|
56
|
+
const skipLogging = [
|
|
57
|
+
"Path conflict - cannot proceed",
|
|
58
|
+
"Delete validation failed - cannot proceed",
|
|
59
|
+
"Inherit validation failed - cannot proceed",
|
|
60
|
+
"Prepend validation failed - cannot proceed",
|
|
61
|
+
"Append validation failed - cannot proceed",
|
|
62
|
+
"Route deletion failed - cannot proceed",
|
|
63
|
+
].includes(errorMessage);
|
|
64
|
+
if (!skipLogging) {
|
|
65
|
+
logger.error(`\nā Failed to apply feature: ${errorMessage}`);
|
|
66
|
+
}
|
|
67
|
+
logger.info(" Fix the issue and save again to retry");
|
|
68
|
+
logger.info("š Watching for changes...\n");
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
// Set up turbowatch watcher
|
|
72
|
+
const controller = await watch({
|
|
73
|
+
project: watchPath,
|
|
74
|
+
debounce: {
|
|
75
|
+
wait: 500,
|
|
76
|
+
},
|
|
77
|
+
triggers: [
|
|
78
|
+
{
|
|
79
|
+
expression: [
|
|
80
|
+
"anyof",
|
|
81
|
+
["match", "*.tsx", "basename"],
|
|
82
|
+
["match", "*.ts", "basename"],
|
|
83
|
+
["match", "*.css", "basename"],
|
|
84
|
+
],
|
|
85
|
+
name: "source-files",
|
|
86
|
+
initialRun: true,
|
|
87
|
+
onChange: async ({ files, first }) => {
|
|
88
|
+
if (first) {
|
|
89
|
+
// Log "Watching" only after turbowatch's watcher is fully ready,
|
|
90
|
+
// so consumers (e.g. tests) know file change events will be detected
|
|
91
|
+
logger.info(`š Watching ${watchPath} for changes...`);
|
|
92
|
+
logger.info(" Press Ctrl+C to stop watching\n");
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
//Reset will handle all changes (additions, modifications, deletions)
|
|
96
|
+
// We just need to trigger a single re-apply when any change is detected
|
|
97
|
+
for (const file of files) {
|
|
98
|
+
await applyPatches(file.name);
|
|
99
|
+
break; // Only apply once per batch of changes
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
});
|
|
105
|
+
// Handle graceful shutdown
|
|
106
|
+
const cleanup = async () => {
|
|
107
|
+
logger.info("\nš Stopping watcher...");
|
|
108
|
+
await controller.shutdown();
|
|
109
|
+
logger.success("ā Watch mode stopped");
|
|
110
|
+
process.exit(0);
|
|
111
|
+
};
|
|
112
|
+
process.on("SIGINT", cleanup);
|
|
113
|
+
process.on("SIGTERM", cleanup);
|
|
114
|
+
// Return controller for tests to use
|
|
115
|
+
return controller;
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
// Only log error if it's not already been logged
|
|
119
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
120
|
+
const skipLogging = [
|
|
121
|
+
"Path conflict - cannot proceed",
|
|
122
|
+
"Delete validation failed - cannot proceed",
|
|
123
|
+
"Inherit validation failed - cannot proceed",
|
|
124
|
+
"Prepend validation failed - cannot proceed",
|
|
125
|
+
"Append validation failed - cannot proceed",
|
|
126
|
+
"Route deletion failed - cannot proceed",
|
|
127
|
+
].includes(errorMessage);
|
|
128
|
+
if (!skipLogging) {
|
|
129
|
+
logger.error(`\nWatch mode failed: ${errorMessage}`);
|
|
130
|
+
}
|
|
131
|
+
throw err;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=watch-patches.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-patches.js","sourceRoot":"","sources":["../../src/commands/watch-patches.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type PatchConfig } from "./patch-loader";
|
|
2
|
+
/**
|
|
3
|
+
* Represents a resolved patch with its configuration
|
|
4
|
+
*/
|
|
5
|
+
export interface ResolvedPatch {
|
|
6
|
+
patchPath: string;
|
|
7
|
+
patchDir: string;
|
|
8
|
+
config: PatchConfig;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Result of dependency resolution
|
|
12
|
+
*/
|
|
13
|
+
export interface DependencyResolutionResult {
|
|
14
|
+
orderedPatches: ResolvedPatch[];
|
|
15
|
+
dependencyGraph: Map<string, string[]>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Base error for dependency resolution failures
|
|
19
|
+
*/
|
|
20
|
+
export declare class DependencyResolutionError extends Error {
|
|
21
|
+
constructor(message: string);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Error thrown when a circular dependency is detected
|
|
25
|
+
*/
|
|
26
|
+
export declare class CircularDependencyError extends DependencyResolutionError {
|
|
27
|
+
cycle: string[];
|
|
28
|
+
constructor(cycle: string[]);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve all dependencies for a patch recursively
|
|
32
|
+
* Returns patches in dependency order (dependencies first, main patch last)
|
|
33
|
+
*
|
|
34
|
+
* @param patchPath - Path to the main patch
|
|
35
|
+
* @returns Resolution result with ordered patches and dependency graph
|
|
36
|
+
* @throws CircularDependencyError if circular dependencies are detected
|
|
37
|
+
* @throws DependencyResolutionError if a dependency cannot be loaded
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveDependencies(patchPath: string): Promise<DependencyResolutionResult>;
|
|
40
|
+
//# sourceMappingURL=dependency-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-resolver.d.ts","sourceRoot":"","sources":["../../src/core/dependency-resolver.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI3B;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,yBAAyB;IAClD,KAAK,EAAE,MAAM,EAAE;gBAAf,KAAK,EAAE,MAAM,EAAE;CAOlC;AAyFD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA+BhG"}
|