@simplysf/simply-utam 0.3.4 → 0.4.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.
- package/README.md +46 -3
- package/lib/commands/build.d.ts +1 -0
- package/lib/commands/build.js +9 -1
- package/lib/commands/build.js.map +1 -1
- package/lib/commands/names.d.ts +20 -0
- package/lib/commands/names.js +95 -0
- package/lib/commands/names.js.map +1 -0
- package/lib/commands/rules.js +9 -2
- package/lib/commands/rules.js.map +1 -1
- package/lib/pipeline-runner.d.ts +6 -1
- package/lib/pipeline-runner.js +89 -69
- package/lib/pipeline-runner.js.map +1 -1
- package/oclif.manifest.json +89 -3
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -17,11 +17,12 @@ Requires Node.js 22 or later.
|
|
|
17
17
|
## Commands
|
|
18
18
|
|
|
19
19
|
- `simply-utam init`: Scaffolds starter UTAM configs (`generator.config.json`, `utam.config.json`, `wdio.conf.mjs`, `.utam/namespace-map.json`) and the DOM snapshot capture step (`step_definitions/dom-snapshot.steps.mjs`) in the UTAM test folder, adds `.utam/snapshots/` to `.gitignore` (`--no-gitignore` to skip), non-destructively injects standard Wireit tasks into `package.json`, and adds any missing UTAM rules to `.forceignore` under a `# Ignore UTAM` comment so LWC bundles that contain UTAM files deploy successfully. Existing lines are never changed; new rules go inside the `# -- START CUSTOMIZATION` / `# -- END CUSTOMIZATION` region when one exists (`--forceignore-region-start` / `--forceignore-region-end` to change the markers, `--no-forceignore` to skip). The UTAM namespace is the `package.json` name, scope included, so page objects can import each other by the package's own name (`--app-name` to override). It also adds `"./pageObjects/*": "./pageObjects/*.js"` to `package.json` `exports`, which those imports resolve through; an existing entry is never changed.
|
|
20
|
-
- `simply-utam rules`: Scans LWC component definitions and generates or updates UTAM `.rules.json` files for root components.
|
|
20
|
+
- `simply-utam rules`: Scans LWC component definitions and generates or updates UTAM `.rules.json` files for root components. A component with no `<component>.html` template, such as a datatable with only custom type templates, is skipped, and a rules file left from an earlier run is kept and listed with `--verbose`. It warns when another template in the bundle (`orders.html` in `ordersTable`) could take the rules file, since the UTAM generator pairs rules files with templates by name prefix.
|
|
21
21
|
- `simply-utam overrides`: Deeply merges custom element assertions, wait conditions, and visibility rules from `*.utam-overrides.json` into generated `*.utam.json` files while preserving file indentation.
|
|
22
|
+
- `simply-utam names`: Renames the page objects generated from an LWC bundle's secondary templates (every template not named after the bundle, such as a datatable's custom type templates) to `<bundle><Template>`, so same-named templates in different bundles stop overwriting each other in the compiler's single output folder. Runs after `overrides`, so overrides files keep the template's own name. Fails, renaming nothing, when a new name would match another page object the compiler reads, and warns about page objects that already share a name. Skips with a warning when the generator config does not write page objects into `__utam__` beside each template. See [Secondary template page objects](#secondary-template-page-objects).
|
|
22
23
|
- `simply-utam rewrite`: Rewrites namespace prefixes across compiled `*.utam.json` files according to `.utam/namespace-map.json`.
|
|
23
24
|
- `simply-utam steps`: Statically analyzes Gherkin `.feature` files, compiles existing step expressions, detects true undefined steps, and appends formatted Cucumber expressions into target step files.
|
|
24
|
-
- `simply-utam build`: Convenience runner executing all compilation and transformation stages sequentially (`rules -> utam-generate -> overrides -> rewrite -> utam`).
|
|
25
|
+
- `simply-utam build`: Convenience runner executing all compilation and transformation stages sequentially (`rules -> utam-generate -> overrides -> names -> rewrite -> utam`). `--skip-names` leaves out the `names` stage.
|
|
25
26
|
- `simply-utam snapshot find`: Finds nodes in a DOM snapshot by `--text`, `--attr`, `--tag` or `--class`, visible matches first; or tests a CSS selector with `--css` as UTAM's `findElement` runs it, in the document or `--within` a node's light DOM or, with `--shadow`, its shadow root. `--all` lists hidden matches in full.
|
|
26
27
|
- `simply-utam snapshot path`: Shows the custom elements from the document down to a node (`--node` or `--text`), with each shadow crossing, the page object for each element, the route to it from the page object above, and warnings for a root selector that loads a hidden copy or an element declared in the wrong scope. Exits 1 when `--text` doesn't find exactly one visible node.
|
|
27
28
|
- `simply-utam snapshot tree`: Prints the tree under a node (`--node`, `--depth`), shadow root first, then light DOM.
|
|
@@ -156,6 +157,7 @@ In a Salesforce test project:
|
|
|
156
157
|
"build:utam-rules": "wireit",
|
|
157
158
|
"build:utam-generate": "wireit",
|
|
158
159
|
"build:utam-overrides": "wireit",
|
|
160
|
+
"build:utam-names": "wireit",
|
|
159
161
|
"build:utam-rewrite-namespaces": "wireit",
|
|
160
162
|
"build:utam": "wireit",
|
|
161
163
|
"test:ui": "wireit"
|
|
@@ -172,9 +174,13 @@ In a Salesforce test project:
|
|
|
172
174
|
"command": "simply-utam overrides",
|
|
173
175
|
"dependencies": ["build:utam-generate"]
|
|
174
176
|
},
|
|
177
|
+
"build:utam-names": {
|
|
178
|
+
"command": "simply-utam names",
|
|
179
|
+
"dependencies": ["build:utam-overrides"]
|
|
180
|
+
},
|
|
175
181
|
"build:utam-rewrite-namespaces": {
|
|
176
182
|
"command": "simply-utam rewrite -c .utam/namespace-map.json",
|
|
177
|
-
"dependencies": ["build:utam-
|
|
183
|
+
"dependencies": ["build:utam-names"]
|
|
178
184
|
},
|
|
179
185
|
"build:utam": {
|
|
180
186
|
"command": "utam -c utam.config.json",
|
|
@@ -190,6 +196,43 @@ In a Salesforce test project:
|
|
|
190
196
|
}
|
|
191
197
|
```
|
|
192
198
|
|
|
199
|
+
## Secondary template page objects
|
|
200
|
+
|
|
201
|
+
`utam-generate` makes a page object for every template and names it after the HTML file, and the UTAM
|
|
202
|
+
compiler writes every page object to one folder. So when two components have a template of the same
|
|
203
|
+
name, as datatables with custom types usually do (`picklistTemplate.html` in every table), one page
|
|
204
|
+
object silently overwrites the other. The `names` stage renames each secondary template's page objects
|
|
205
|
+
to `<component><Template>`:
|
|
206
|
+
|
|
207
|
+
| Template | Page object |
|
|
208
|
+
| ----------------------------------- | ----------------------------- |
|
|
209
|
+
| `component_1/component_1.html` | `component_1` (unchanged) |
|
|
210
|
+
| `component_1/fooTemplate.html` | `component_1FooTemplate` |
|
|
211
|
+
| `ordersTable/picklistTemplate.html` | `ordersTablePicklistTemplate` |
|
|
212
|
+
| `casesTable/picklistTemplate.html` | `casesTablePicklistTemplate` |
|
|
213
|
+
|
|
214
|
+
`simply-utam build` runs it. A project scaffolded before the stage existed runs it from Wireit by adding
|
|
215
|
+
the task and pointing the rewrite task at it, keeping its own rewrite command:
|
|
216
|
+
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"scripts": { "build:utam-names": "wireit" },
|
|
220
|
+
"wireit": {
|
|
221
|
+
"build:utam-names": {
|
|
222
|
+
"command": "simply-utam names",
|
|
223
|
+
"dependencies": ["build:utam-overrides"]
|
|
224
|
+
},
|
|
225
|
+
"build:utam-rewrite-namespaces": {
|
|
226
|
+
"command": "simply-utam rewrite -c .utam/namespace-map.json",
|
|
227
|
+
"dependencies": ["build:utam-names"]
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
To keep the generated names, leave the task out or run `simply-utam build --skip-names`. Same-named
|
|
234
|
+
templates then overwrite each other again.
|
|
235
|
+
|
|
193
236
|
## Re-exports
|
|
194
237
|
|
|
195
238
|
`@simplysf/simply-utam` re-exports the entire `@simplysf/simply-utam-core` programmatic API (`TestEnvironment`, `LightningNavigator`, `goToExperiencePage`, `loginAsUser`, `logUtamHtml`, etc.) so consumers can optionally install only `@simplysf/simply-utam`.
|
package/lib/commands/build.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export default class Build extends Command {
|
|
|
14
14
|
'generator-config': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
15
|
'utam-config': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
16
|
'namespace-map': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
'skip-names': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
18
|
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
19
|
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
20
|
};
|
package/lib/commands/build.js
CHANGED
|
@@ -19,7 +19,7 @@ import { executeBuildPipeline } from '../pipeline-runner.js';
|
|
|
19
19
|
* CLI command to run the complete SimplyUTAM compilation pipeline sequentially.
|
|
20
20
|
*/
|
|
21
21
|
export default class Build extends Command {
|
|
22
|
-
static summary = 'Run the end-to-end SimplyUTAM build pipeline (rules -> utam-generate -> overrides -> rewrite -> utam).';
|
|
22
|
+
static summary = 'Run the end-to-end SimplyUTAM build pipeline (rules -> utam-generate -> overrides -> names -> rewrite -> utam).';
|
|
23
23
|
static description = 'Standalone convenience runner executing all transformation and compilation stages sequentially. Note: Wireit tasks (configured via simply-utam init) remain the recommended mechanism for granular caching in everyday developer workflows.';
|
|
24
24
|
static examples = [
|
|
25
25
|
'<%= config.bin %> <%= command.id %>',
|
|
@@ -48,6 +48,10 @@ export default class Build extends Command {
|
|
|
48
48
|
summary: 'Path to namespace-map.json.',
|
|
49
49
|
default: '.utam/namespace-map.json',
|
|
50
50
|
}),
|
|
51
|
+
'skip-names': Flags.boolean({
|
|
52
|
+
summary: 'Leave out the names stage, keeping the generated names of secondary template page objects (same-named templates in different components then overwrite each other).',
|
|
53
|
+
default: false,
|
|
54
|
+
}),
|
|
51
55
|
'dry-run': Flags.boolean({
|
|
52
56
|
char: 'd',
|
|
53
57
|
summary: 'Preview pipeline execution without invoking compilers or modifying files.',
|
|
@@ -68,6 +72,7 @@ export default class Build extends Command {
|
|
|
68
72
|
generatorConfigPath: flags['generator-config'],
|
|
69
73
|
utamConfigPath: flags['utam-config'],
|
|
70
74
|
namespaceMapPath: flags['namespace-map'],
|
|
75
|
+
skipNames: flags['skip-names'],
|
|
71
76
|
dryRun: flags['dry-run'],
|
|
72
77
|
onStage: (stage, status, message) => {
|
|
73
78
|
const symbol = status === 'success' ? '✓' : status === 'skip' ? '○' : status === 'error' ? '✗' : '►';
|
|
@@ -75,6 +80,9 @@ export default class Build extends Command {
|
|
|
75
80
|
this.log(` ${symbol} [${stage}] ${status}${msgSuffix}`);
|
|
76
81
|
},
|
|
77
82
|
});
|
|
83
|
+
for (const warning of result.warnings) {
|
|
84
|
+
this.warn(warning);
|
|
85
|
+
}
|
|
78
86
|
if (!result.success) {
|
|
79
87
|
this.error(`Build pipeline failed:\n${result.errors.join('\n')}`, { exit: 1 });
|
|
80
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAA4B,MAAM,uBAAuB,CAAC;AAEvF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACjC,MAAM,CAAU,OAAO,GAC5B,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
import { type NameSecondaryPageObjectsResult } from '@simplysf/simply-utam-core';
|
|
3
|
+
/**
|
|
4
|
+
* CLI command to give page objects generated from secondary LWC templates unique names.
|
|
5
|
+
*/
|
|
6
|
+
export default class Names extends Command {
|
|
7
|
+
static summary: string;
|
|
8
|
+
static description: string;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static enableJsonFlag: boolean;
|
|
11
|
+
static flags: {
|
|
12
|
+
source: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'project-dir': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'generator-config': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'utam-config': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<NameSecondaryPageObjectsResult>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2026, SimplySF.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as path from 'node:path';
|
|
17
|
+
import { Command, Flags } from '@oclif/core';
|
|
18
|
+
import { nameSecondaryPageObjects } from '@simplysf/simply-utam-core';
|
|
19
|
+
/**
|
|
20
|
+
* CLI command to give page objects generated from secondary LWC templates unique names.
|
|
21
|
+
*/
|
|
22
|
+
export default class Names extends Command {
|
|
23
|
+
static summary = 'Rename page objects generated from secondary LWC templates to <component><Template>.';
|
|
24
|
+
static description = 'The UTAM compiler names each page object after its .utam.json file and writes them all to one folder, so two bundles with a template of the same name (such as a datatable custom type template) overwrite each other. Run after utam-generate and overrides, this renames the page objects of every template not named after its bundle to <bundle><Template>; frame page objects take the same prefix. Fails, renaming nothing, when a new name would match another page object the compiler reads, and warns about page objects that already share a name. Skips with a warning when the generator config does not write page objects into __utam__ beside each template.';
|
|
25
|
+
static examples = [
|
|
26
|
+
'<%= config.bin %> <%= command.id %>',
|
|
27
|
+
'<%= config.bin %> <%= command.id %> --source force-app',
|
|
28
|
+
'<%= config.bin %> <%= command.id %> --dry-run --verbose',
|
|
29
|
+
];
|
|
30
|
+
static enableJsonFlag = true;
|
|
31
|
+
static flags = {
|
|
32
|
+
source: Flags.string({
|
|
33
|
+
char: 's',
|
|
34
|
+
summary: 'Specific source directory or directories to scan (defaults to discovered package directories).',
|
|
35
|
+
multiple: true,
|
|
36
|
+
}),
|
|
37
|
+
'project-dir': Flags.string({
|
|
38
|
+
summary: 'Root directory of the project.',
|
|
39
|
+
default: '.',
|
|
40
|
+
}),
|
|
41
|
+
'generator-config': Flags.string({
|
|
42
|
+
summary: 'Path to generator.config.json.',
|
|
43
|
+
default: 'generator.config.json',
|
|
44
|
+
}),
|
|
45
|
+
'utam-config': Flags.string({
|
|
46
|
+
summary: 'Path to utam.config.json, whose pageObjectsFileMask sets which page objects a new name is checked against.',
|
|
47
|
+
default: 'utam.config.json',
|
|
48
|
+
}),
|
|
49
|
+
'dry-run': Flags.boolean({
|
|
50
|
+
char: 'd',
|
|
51
|
+
summary: 'Preview renames without modifying files on disk.',
|
|
52
|
+
default: false,
|
|
53
|
+
}),
|
|
54
|
+
verbose: Flags.boolean({
|
|
55
|
+
char: 'v',
|
|
56
|
+
summary: 'Enable detailed output.',
|
|
57
|
+
default: false,
|
|
58
|
+
}),
|
|
59
|
+
};
|
|
60
|
+
async run() {
|
|
61
|
+
const { flags } = await this.parse(Names);
|
|
62
|
+
const result = nameSecondaryPageObjects({
|
|
63
|
+
rootDir: flags['project-dir'],
|
|
64
|
+
sourceDirs: flags.source,
|
|
65
|
+
generatorConfigPath: flags['generator-config'],
|
|
66
|
+
utamConfigPath: flags['utam-config'],
|
|
67
|
+
dryRun: flags['dry-run'],
|
|
68
|
+
});
|
|
69
|
+
for (const warning of result.warnings) {
|
|
70
|
+
this.warn(warning);
|
|
71
|
+
}
|
|
72
|
+
if (result.skipped) {
|
|
73
|
+
this.log(`${result.skipped}. Skipping.`);
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
if (result.collisions.length > 0) {
|
|
77
|
+
const lines = result.collisions.map((collision) => ` - ${collision.name}: ${collision.sources.map((source) => path.relative(flags['project-dir'], source)).join(', ')}`);
|
|
78
|
+
this.error(`These page objects would compile to the same file, so nothing was renamed. Rename one of each, or add an "ignore" entry for its template in the generator config:\n${lines.join('\n')}`, { exit: 1 });
|
|
79
|
+
}
|
|
80
|
+
if (flags['dry-run']) {
|
|
81
|
+
this.log('[dry-run] Page object names preview:');
|
|
82
|
+
}
|
|
83
|
+
this.log(`${flags['dry-run'] ? 'Would rename' : 'Renamed'} ${result.renames.length} secondary template page objects.`);
|
|
84
|
+
if (flags.verbose) {
|
|
85
|
+
for (const rename of result.renames) {
|
|
86
|
+
this.log(` - ${path.relative(flags['project-dir'], rename.from)} -> ${rename.name}`);
|
|
87
|
+
}
|
|
88
|
+
for (const unmatched of result.unmatched) {
|
|
89
|
+
this.log(` - Left alone, matches no template: ${path.relative(flags['project-dir'], unmatched)}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../src/commands/names.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/rules.js
CHANGED
|
@@ -20,7 +20,7 @@ import { generateLwcRules } from '@simplysf/simply-utam-core';
|
|
|
20
20
|
*/
|
|
21
21
|
export default class Rules extends Command {
|
|
22
22
|
static summary = 'Scan LWC component definitions and generate UTAM .rules.json files.';
|
|
23
|
-
static description = 'Discovers root components in package directories matching target page types and generates or updates corresponding *.rules.json schemas.';
|
|
23
|
+
static description = 'Discovers root components in package directories matching target page types and generates or updates corresponding *.rules.json schemas. A component with no <component>.html template (such as a datatable with only custom type templates) is skipped, and a warning names any other template the UTAM generator could give the rules file to.';
|
|
24
24
|
static examples = [
|
|
25
25
|
'<%= config.bin %> <%= command.id %>',
|
|
26
26
|
'<%= config.bin %> <%= command.id %> --source force-app/main/default/lwc',
|
|
@@ -71,9 +71,16 @@ export default class Rules extends Command {
|
|
|
71
71
|
if (result.filesUpdated.length > 0) {
|
|
72
72
|
this.log(`Updated ${result.filesUpdated.length} rules files.`);
|
|
73
73
|
}
|
|
74
|
+
for (const warning of result.warnings) {
|
|
75
|
+
this.warn(warning);
|
|
76
|
+
}
|
|
74
77
|
if (flags.verbose) {
|
|
75
78
|
for (const action of result.actions) {
|
|
76
|
-
|
|
79
|
+
const reason = action.reason ? `: ${action.reason}` : '';
|
|
80
|
+
this.log(` - ${action.componentName}: ${action.action}${reason} (${action.rulesFilePath})`);
|
|
81
|
+
}
|
|
82
|
+
for (const leftover of result.leftoverRulesFiles) {
|
|
83
|
+
this.log(` - Left in place, configures no template: ${leftover}`);
|
|
77
84
|
}
|
|
78
85
|
}
|
|
79
86
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/commands/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA4B,MAAM,4BAA4B,CAAC;AAExF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACjC,MAAM,CAAU,OAAO,GAAG,qEAAqE,CAAC;IAEhG,MAAM,CAAU,WAAW,GAChC,
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/commands/rules.ts"],"names":[],"mappings":"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"}
|
package/lib/pipeline-runner.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export interface BuildPipelineOptions {
|
|
|
4
4
|
generatorConfigPath?: string;
|
|
5
5
|
utamConfigPath?: string;
|
|
6
6
|
namespaceMapPath?: string;
|
|
7
|
+
/** Leave out the `names` stage, keeping the generated names of secondary template page objects. */
|
|
8
|
+
skipNames?: boolean;
|
|
7
9
|
dryRun?: boolean;
|
|
8
10
|
spawnCommand?: (command: string, args: string[], cwd: string) => Promise<{
|
|
9
11
|
code: number;
|
|
@@ -16,14 +18,17 @@ export interface BuildPipelineResult {
|
|
|
16
18
|
success: boolean;
|
|
17
19
|
rulesModified: number;
|
|
18
20
|
overridesApplied: number;
|
|
21
|
+
pageObjectsRenamed: number;
|
|
19
22
|
namespacesRewritten: number;
|
|
20
23
|
generatorExecuted: boolean;
|
|
21
24
|
compilerExecuted: boolean;
|
|
22
25
|
errors: string[];
|
|
26
|
+
/** Warnings from the stages that ran, such as a template that can take a component's rules file. */
|
|
27
|
+
warnings: string[];
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
25
30
|
* Executes the complete SimplyUTAM compilation build pipeline sequentially:
|
|
26
|
-
* rules -> utam-generate -> overrides -> rewrite -> utam compiler.
|
|
31
|
+
* rules -> utam-generate -> overrides -> names -> rewrite -> utam compiler.
|
|
27
32
|
*
|
|
28
33
|
* @param options - Build pipeline execution options.
|
|
29
34
|
* @returns Summary of execution results across all pipeline stages.
|
package/lib/pipeline-runner.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import * as fs from 'node:fs';
|
|
17
17
|
import * as path from 'node:path';
|
|
18
18
|
import { spawn } from 'node:child_process';
|
|
19
|
-
import { discoverProject, generateLwcRules, applyUtamOverrides, rewriteUtamNamespaces, } from '@simplysf/simply-utam-core';
|
|
19
|
+
import { discoverProject, generateLwcRules, applyUtamOverrides, nameSecondaryPageObjects, rewriteUtamNamespaces, } from '@simplysf/simply-utam-core';
|
|
20
20
|
function defaultSpawn(command, args, cwd) {
|
|
21
21
|
return new Promise((resolve) => {
|
|
22
22
|
const isWindows = process.platform === 'win32';
|
|
@@ -69,12 +69,12 @@ function executeRulesStage(projectDir, sourceDirs, dryRun, onStage) {
|
|
|
69
69
|
const res = generateLwcRules({ rootDir: projectDir, sourceDirs, dryRun });
|
|
70
70
|
const count = res.filesCreated.length + res.filesUpdated.length;
|
|
71
71
|
onStage?.('rules', 'success', `Generated rules for ${count} components`);
|
|
72
|
-
return { modified: count };
|
|
72
|
+
return { modified: count, warnings: res.warnings };
|
|
73
73
|
}
|
|
74
74
|
catch (err) {
|
|
75
75
|
const msg = err.message;
|
|
76
76
|
onStage?.('rules', 'error', msg);
|
|
77
|
-
return { modified: 0, error: `Rules generation failed: ${msg}` };
|
|
77
|
+
return { modified: 0, warnings: [], error: `Rules generation failed: ${msg}` };
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
async function executeGeneratorStage(projectDir, configRel, dryRun, runner, onStage) {
|
|
@@ -109,6 +109,39 @@ function executeOverridesStage(projectDir, sourceDirs, dryRun, onStage) {
|
|
|
109
109
|
return { modified: 0, error: `Overrides failed: ${msg}` };
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
+
function executeNamesStage(projectDir, sourceDirs, generatorConfigRel, utamConfigRel, skip, dryRun, onStage) {
|
|
113
|
+
if (skip) {
|
|
114
|
+
onStage?.('names', 'skip', 'Skipped with skipNames');
|
|
115
|
+
return { modified: 0, warnings: [] };
|
|
116
|
+
}
|
|
117
|
+
onStage?.('names', 'start');
|
|
118
|
+
try {
|
|
119
|
+
const res = nameSecondaryPageObjects({
|
|
120
|
+
rootDir: projectDir,
|
|
121
|
+
sourceDirs,
|
|
122
|
+
generatorConfigPath: generatorConfigRel,
|
|
123
|
+
utamConfigPath: utamConfigRel,
|
|
124
|
+
dryRun,
|
|
125
|
+
});
|
|
126
|
+
if (res.skipped) {
|
|
127
|
+
onStage?.('names', 'skip', res.skipped);
|
|
128
|
+
return { modified: 0, warnings: res.warnings };
|
|
129
|
+
}
|
|
130
|
+
if (res.collisions.length > 0) {
|
|
131
|
+
const names = res.collisions.map((collision) => `${collision.name} (${collision.sources.join(', ')})`);
|
|
132
|
+
const msg = `These page objects would compile to the same file, so nothing was renamed: ${names.join('; ')}`;
|
|
133
|
+
onStage?.('names', 'error', msg);
|
|
134
|
+
return { modified: 0, warnings: res.warnings, error: `Page object naming failed: ${msg}` };
|
|
135
|
+
}
|
|
136
|
+
onStage?.('names', 'success', `${dryRun ? 'Would rename' : 'Renamed'} ${res.renames.length} secondary template page objects`);
|
|
137
|
+
return { modified: res.renames.length, warnings: res.warnings };
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
const msg = err.message;
|
|
141
|
+
onStage?.('names', 'error', msg);
|
|
142
|
+
return { modified: 0, warnings: [], error: `Page object naming failed: ${msg}` };
|
|
143
|
+
}
|
|
144
|
+
}
|
|
112
145
|
function executeRewriteStage(projectDir, sourceDirs, mapPathRel, dryRun, onStage) {
|
|
113
146
|
const mapPath = path.resolve(projectDir, mapPathRel);
|
|
114
147
|
if (!fs.existsSync(mapPath)) {
|
|
@@ -150,92 +183,79 @@ async function executeCompilerStage(projectDir, configRel, dryRun, runner, onSta
|
|
|
150
183
|
onStage?.('utam', 'success');
|
|
151
184
|
return { executed: true };
|
|
152
185
|
}
|
|
186
|
+
/** The pipeline options with their defaults filled in. */
|
|
187
|
+
function resolveOptions(options) {
|
|
188
|
+
return {
|
|
189
|
+
projectDir: path.resolve(options?.projectDir ?? process.cwd()),
|
|
190
|
+
dryRun: options?.dryRun ?? false,
|
|
191
|
+
runner: options?.spawnCommand ?? defaultSpawn,
|
|
192
|
+
onStage: options?.onStage,
|
|
193
|
+
generatorConfigPath: options?.generatorConfigPath ?? 'generator.config.json',
|
|
194
|
+
utamConfigPath: options?.utamConfigPath ?? 'utam.config.json',
|
|
195
|
+
namespaceMapPath: options?.namespaceMapPath ?? path.join('.utam', 'namespace-map.json'),
|
|
196
|
+
skipNames: options?.skipNames ?? false,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
153
199
|
/**
|
|
154
200
|
* Executes the complete SimplyUTAM compilation build pipeline sequentially:
|
|
155
|
-
* rules -> utam-generate -> overrides -> rewrite -> utam compiler.
|
|
201
|
+
* rules -> utam-generate -> overrides -> names -> rewrite -> utam compiler.
|
|
156
202
|
*
|
|
157
203
|
* @param options - Build pipeline execution options.
|
|
158
204
|
* @returns Summary of execution results across all pipeline stages.
|
|
159
205
|
*/
|
|
160
206
|
export async function executeBuildPipeline(options) {
|
|
161
|
-
const projectDir =
|
|
162
|
-
const dryRun = options?.dryRun ?? false;
|
|
163
|
-
const runner = options?.spawnCommand ?? defaultSpawn;
|
|
164
|
-
const onStage = options?.onStage;
|
|
207
|
+
const { projectDir, dryRun, runner, onStage, generatorConfigPath, utamConfigPath, namespaceMapPath, skipNames } = resolveOptions(options);
|
|
165
208
|
const sourceDirs = resolveSourceDirs(projectDir, options?.sourceDirs);
|
|
209
|
+
const result = {
|
|
210
|
+
success: false,
|
|
211
|
+
rulesModified: 0,
|
|
212
|
+
overridesApplied: 0,
|
|
213
|
+
pageObjectsRenamed: 0,
|
|
214
|
+
namespacesRewritten: 0,
|
|
215
|
+
generatorExecuted: false,
|
|
216
|
+
compilerExecuted: false,
|
|
217
|
+
errors: [],
|
|
218
|
+
warnings: [],
|
|
219
|
+
};
|
|
220
|
+
const fail = (error) => ({ ...result, errors: [error] });
|
|
166
221
|
// Stage 1: rules
|
|
167
222
|
const rules = executeRulesStage(projectDir, sourceDirs, dryRun, onStage);
|
|
223
|
+
result.rulesModified = rules.modified;
|
|
224
|
+
result.warnings.push(...rules.warnings);
|
|
168
225
|
if (rules.error) {
|
|
169
|
-
return
|
|
170
|
-
success: false,
|
|
171
|
-
rulesModified: rules.modified,
|
|
172
|
-
overridesApplied: 0,
|
|
173
|
-
namespacesRewritten: 0,
|
|
174
|
-
generatorExecuted: false,
|
|
175
|
-
compilerExecuted: false,
|
|
176
|
-
errors: [rules.error],
|
|
177
|
-
};
|
|
226
|
+
return fail(rules.error);
|
|
178
227
|
}
|
|
179
228
|
// Stage 2: utam-generate
|
|
180
|
-
const gen = await executeGeneratorStage(projectDir,
|
|
229
|
+
const gen = await executeGeneratorStage(projectDir, generatorConfigPath, dryRun, runner, onStage);
|
|
230
|
+
result.generatorExecuted = gen.executed;
|
|
181
231
|
if (gen.error) {
|
|
182
|
-
return
|
|
183
|
-
success: false,
|
|
184
|
-
rulesModified: rules.modified,
|
|
185
|
-
overridesApplied: 0,
|
|
186
|
-
namespacesRewritten: 0,
|
|
187
|
-
generatorExecuted: gen.executed,
|
|
188
|
-
compilerExecuted: false,
|
|
189
|
-
errors: [gen.error],
|
|
190
|
-
};
|
|
232
|
+
return fail(gen.error);
|
|
191
233
|
}
|
|
192
234
|
// Stage 3: overrides
|
|
193
235
|
const over = executeOverridesStage(projectDir, sourceDirs, dryRun, onStage);
|
|
236
|
+
result.overridesApplied = over.modified;
|
|
194
237
|
if (over.error) {
|
|
195
|
-
return
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
238
|
+
return fail(over.error);
|
|
239
|
+
}
|
|
240
|
+
// Stage 4: names, after overrides so overrides files keep the template's own name
|
|
241
|
+
const names = executeNamesStage(projectDir, sourceDirs, generatorConfigPath, utamConfigPath, skipNames, dryRun, onStage);
|
|
242
|
+
result.pageObjectsRenamed = names.modified;
|
|
243
|
+
result.warnings.push(...names.warnings);
|
|
244
|
+
if (names.error) {
|
|
245
|
+
return fail(names.error);
|
|
246
|
+
}
|
|
247
|
+
// Stage 5: rewrite
|
|
248
|
+
const rew = executeRewriteStage(projectDir, sourceDirs, namespaceMapPath, dryRun, onStage);
|
|
249
|
+
result.namespacesRewritten = rew.modified;
|
|
207
250
|
if (rew.error) {
|
|
208
|
-
return
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
generatorExecuted: gen.executed,
|
|
214
|
-
compilerExecuted: false,
|
|
215
|
-
errors: [rew.error],
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
// Stage 5: utam compiler
|
|
219
|
-
const comp = await executeCompilerStage(projectDir, options?.utamConfigPath ?? 'utam.config.json', dryRun, runner, onStage);
|
|
251
|
+
return fail(rew.error);
|
|
252
|
+
}
|
|
253
|
+
// Stage 6: utam compiler
|
|
254
|
+
const comp = await executeCompilerStage(projectDir, utamConfigPath, dryRun, runner, onStage);
|
|
255
|
+
result.compilerExecuted = comp.executed;
|
|
220
256
|
if (comp.error) {
|
|
221
|
-
return
|
|
222
|
-
success: false,
|
|
223
|
-
rulesModified: rules.modified,
|
|
224
|
-
overridesApplied: over.modified,
|
|
225
|
-
namespacesRewritten: rew.modified,
|
|
226
|
-
generatorExecuted: gen.executed,
|
|
227
|
-
compilerExecuted: comp.executed,
|
|
228
|
-
errors: [comp.error],
|
|
229
|
-
};
|
|
257
|
+
return fail(comp.error);
|
|
230
258
|
}
|
|
231
|
-
return {
|
|
232
|
-
success: true,
|
|
233
|
-
rulesModified: rules.modified,
|
|
234
|
-
overridesApplied: over.modified,
|
|
235
|
-
namespacesRewritten: rew.modified,
|
|
236
|
-
generatorExecuted: gen.executed,
|
|
237
|
-
compilerExecuted: comp.executed,
|
|
238
|
-
errors: [],
|
|
239
|
-
};
|
|
259
|
+
return { ...result, success: true };
|
|
240
260
|
}
|
|
241
261
|
//# sourceMappingURL=pipeline-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-runner.js","sourceRoot":"","sources":["../src/pipeline-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline-runner.js","sourceRoot":"","sources":["../src/pipeline-runner.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -56,6 +56,12 @@
|
|
|
56
56
|
"multiple": false,
|
|
57
57
|
"type": "option"
|
|
58
58
|
},
|
|
59
|
+
"skip-names": {
|
|
60
|
+
"name": "skip-names",
|
|
61
|
+
"summary": "Leave out the names stage, keeping the generated names of secondary template page objects (same-named templates in different components then overwrite each other).",
|
|
62
|
+
"allowNo": false,
|
|
63
|
+
"type": "boolean"
|
|
64
|
+
},
|
|
59
65
|
"dry-run": {
|
|
60
66
|
"char": "d",
|
|
61
67
|
"name": "dry-run",
|
|
@@ -78,7 +84,7 @@
|
|
|
78
84
|
"pluginName": "@simplysf/simply-utam",
|
|
79
85
|
"pluginType": "core",
|
|
80
86
|
"strict": true,
|
|
81
|
-
"summary": "Run the end-to-end SimplyUTAM build pipeline (rules -> utam-generate -> overrides -> rewrite -> utam).",
|
|
87
|
+
"summary": "Run the end-to-end SimplyUTAM build pipeline (rules -> utam-generate -> overrides -> names -> rewrite -> utam).",
|
|
82
88
|
"enableJsonFlag": true,
|
|
83
89
|
"isESM": true,
|
|
84
90
|
"relativePath": [
|
|
@@ -195,6 +201,86 @@
|
|
|
195
201
|
"init.js"
|
|
196
202
|
]
|
|
197
203
|
},
|
|
204
|
+
"names": {
|
|
205
|
+
"aliases": [],
|
|
206
|
+
"args": {},
|
|
207
|
+
"description": "The UTAM compiler names each page object after its .utam.json file and writes them all to one folder, so two bundles with a template of the same name (such as a datatable custom type template) overwrite each other. Run after utam-generate and overrides, this renames the page objects of every template not named after its bundle to <bundle><Template>; frame page objects take the same prefix. Fails, renaming nothing, when a new name would match another page object the compiler reads, and warns about page objects that already share a name. Skips with a warning when the generator config does not write page objects into __utam__ beside each template.",
|
|
208
|
+
"examples": [
|
|
209
|
+
"<%= config.bin %> <%= command.id %>",
|
|
210
|
+
"<%= config.bin %> <%= command.id %> --source force-app",
|
|
211
|
+
"<%= config.bin %> <%= command.id %> --dry-run --verbose"
|
|
212
|
+
],
|
|
213
|
+
"flags": {
|
|
214
|
+
"json": {
|
|
215
|
+
"description": "Format output as json.",
|
|
216
|
+
"helpGroup": "GLOBAL",
|
|
217
|
+
"name": "json",
|
|
218
|
+
"allowNo": false,
|
|
219
|
+
"type": "boolean"
|
|
220
|
+
},
|
|
221
|
+
"source": {
|
|
222
|
+
"char": "s",
|
|
223
|
+
"name": "source",
|
|
224
|
+
"summary": "Specific source directory or directories to scan (defaults to discovered package directories).",
|
|
225
|
+
"hasDynamicHelp": false,
|
|
226
|
+
"multiple": true,
|
|
227
|
+
"type": "option"
|
|
228
|
+
},
|
|
229
|
+
"project-dir": {
|
|
230
|
+
"name": "project-dir",
|
|
231
|
+
"summary": "Root directory of the project.",
|
|
232
|
+
"default": ".",
|
|
233
|
+
"hasDynamicHelp": false,
|
|
234
|
+
"multiple": false,
|
|
235
|
+
"type": "option"
|
|
236
|
+
},
|
|
237
|
+
"generator-config": {
|
|
238
|
+
"name": "generator-config",
|
|
239
|
+
"summary": "Path to generator.config.json.",
|
|
240
|
+
"default": "generator.config.json",
|
|
241
|
+
"hasDynamicHelp": false,
|
|
242
|
+
"multiple": false,
|
|
243
|
+
"type": "option"
|
|
244
|
+
},
|
|
245
|
+
"utam-config": {
|
|
246
|
+
"name": "utam-config",
|
|
247
|
+
"summary": "Path to utam.config.json, whose pageObjectsFileMask sets which page objects a new name is checked against.",
|
|
248
|
+
"default": "utam.config.json",
|
|
249
|
+
"hasDynamicHelp": false,
|
|
250
|
+
"multiple": false,
|
|
251
|
+
"type": "option"
|
|
252
|
+
},
|
|
253
|
+
"dry-run": {
|
|
254
|
+
"char": "d",
|
|
255
|
+
"name": "dry-run",
|
|
256
|
+
"summary": "Preview renames without modifying files on disk.",
|
|
257
|
+
"allowNo": false,
|
|
258
|
+
"type": "boolean"
|
|
259
|
+
},
|
|
260
|
+
"verbose": {
|
|
261
|
+
"char": "v",
|
|
262
|
+
"name": "verbose",
|
|
263
|
+
"summary": "Enable detailed output.",
|
|
264
|
+
"allowNo": false,
|
|
265
|
+
"type": "boolean"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
"hasDynamicHelp": false,
|
|
269
|
+
"hiddenAliases": [],
|
|
270
|
+
"id": "names",
|
|
271
|
+
"pluginAlias": "@simplysf/simply-utam",
|
|
272
|
+
"pluginName": "@simplysf/simply-utam",
|
|
273
|
+
"pluginType": "core",
|
|
274
|
+
"strict": true,
|
|
275
|
+
"summary": "Rename page objects generated from secondary LWC templates to <component><Template>.",
|
|
276
|
+
"enableJsonFlag": true,
|
|
277
|
+
"isESM": true,
|
|
278
|
+
"relativePath": [
|
|
279
|
+
"lib",
|
|
280
|
+
"commands",
|
|
281
|
+
"names.js"
|
|
282
|
+
]
|
|
283
|
+
},
|
|
198
284
|
"overrides": {
|
|
199
285
|
"aliases": [],
|
|
200
286
|
"args": {},
|
|
@@ -335,7 +421,7 @@
|
|
|
335
421
|
"rules": {
|
|
336
422
|
"aliases": [],
|
|
337
423
|
"args": {},
|
|
338
|
-
"description": "Discovers root components in package directories matching target page types and generates or updates corresponding *.rules.json schemas.",
|
|
424
|
+
"description": "Discovers root components in package directories matching target page types and generates or updates corresponding *.rules.json schemas. A component with no <component>.html template (such as a datatable with only custom type templates) is skipped, and a warning names any other template the UTAM generator could give the rules file to.",
|
|
339
425
|
"examples": [
|
|
340
426
|
"<%= config.bin %> <%= command.id %>",
|
|
341
427
|
"<%= config.bin %> <%= command.id %> --source force-app/main/default/lwc",
|
|
@@ -1037,5 +1123,5 @@
|
|
|
1037
1123
|
]
|
|
1038
1124
|
}
|
|
1039
1125
|
},
|
|
1040
|
-
"version": "0.
|
|
1126
|
+
"version": "0.4.1"
|
|
1041
1127
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysf/simply-utam",
|
|
3
3
|
"description": "Salesforce UTAM UI testing and build automation CLI",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.4.1",
|
|
5
5
|
"author": "@ClayChipps",
|
|
6
6
|
"homepage": "https://github.com/SimplySF/simply-utam",
|
|
7
7
|
"bugs": "https://github.com/SimplySF/simply-utam/issues",
|
|
@@ -43,13 +43,14 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@oclif/core": "^5.1.9",
|
|
46
|
-
"@simplysf/simply-utam-core": "0.
|
|
46
|
+
"@simplysf/simply-utam-core": "0.4.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@vitest/coverage-v8": "^4.1.12",
|
|
50
50
|
"oclif": "^6.0.10",
|
|
51
51
|
"shx": "^0.4.0",
|
|
52
|
-
"
|
|
52
|
+
"utam": "^3.3.0",
|
|
53
|
+
"vitest": "^4.1.12"
|
|
53
54
|
},
|
|
54
55
|
"publishConfig": {
|
|
55
56
|
"access": "public"
|
|
@@ -158,5 +159,5 @@
|
|
|
158
159
|
"output": []
|
|
159
160
|
}
|
|
160
161
|
},
|
|
161
|
-
"gitHead": "
|
|
162
|
+
"gitHead": "83ba4d28ce453f14938d2eea22b329a7b6d78321"
|
|
162
163
|
}
|