@craft-ng/dev-tools 0.5.0-beta.5 → 0.5.1-beta.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.
- package/README.md +132 -23
- package/package.json +6 -2
- package/src/bin/craft-migrate-primitives.d.ts +2 -0
- package/src/bin/craft-migrate-primitives.js +71 -0
- package/src/bin/craft-migrate-primitives.js.map +1 -0
- package/src/bin/craft-migrate-routes.d.ts +2 -0
- package/src/bin/craft-migrate-routes.js +77 -0
- package/src/bin/craft-migrate-routes.js.map +1 -0
- package/src/bin/craft-migrate-services.d.ts +2 -0
- package/src/bin/craft-migrate-services.js +75 -0
- package/src/bin/craft-migrate-services.js.map +1 -0
- package/src/bin/craft-migrate.d.ts +2 -0
- package/src/bin/craft-migrate.js +90 -0
- package/src/bin/craft-migrate.js.map +1 -0
- package/src/eslint-rules/index.cjs +2 -0
- package/src/eslint-rules/require-exception-component-di-check.cjs +66 -10
- package/src/eslint-rules/require-lazy-load-with-retry.cjs +148 -0
- package/src/index.d.ts +8 -0
- package/src/index.js +8 -0
- package/src/index.js.map +1 -1
- package/src/scripts/angular-brand-codemod.d.ts +17 -0
- package/src/scripts/angular-brand-codemod.js +44 -8
- package/src/scripts/angular-brand-codemod.js.map +1 -1
- package/src/scripts/angular-brand-codemod.spec.ts +3 -3
- package/src/scripts/angular-brand-codemod.ts +78 -7
- package/src/scripts/migrate.d.ts +32 -0
- package/src/scripts/migrate.js +67 -0
- package/src/scripts/migrate.js.map +1 -0
- package/src/scripts/migrate.ts +128 -0
- package/src/scripts/migration-workspace.d.ts +2 -0
- package/src/scripts/migration-workspace.js +72 -0
- package/src/scripts/migration-workspace.js.map +1 -0
- package/src/scripts/migration-workspace.ts +93 -0
- package/src/scripts/primitives/migrate-primitives.d.ts +27 -0
- package/src/scripts/primitives/migrate-primitives.js +354 -0
- package/src/scripts/primitives/migrate-primitives.js.map +1 -0
- package/src/scripts/primitives/migrate-primitives.spec.ts +279 -0
- package/src/scripts/primitives/migrate-primitives.ts +543 -0
- package/src/scripts/primitives/migration-diagnostic.d.ts +8 -0
- package/src/scripts/primitives/migration-diagnostic.js +2 -0
- package/src/scripts/primitives/migration-diagnostic.js.map +1 -0
- package/src/scripts/primitives/migration-diagnostic.ts +13 -0
- package/src/scripts/routes/migrate-routes.d.ts +34 -0
- package/src/scripts/routes/migrate-routes.js +669 -0
- package/src/scripts/routes/migrate-routes.js.map +1 -0
- package/src/scripts/routes/migrate-routes.spec.ts +264 -0
- package/src/scripts/routes/migrate-routes.ts +897 -0
- package/src/scripts/routes/migration-diagnostic.d.ts +16 -0
- package/src/scripts/routes/migration-diagnostic.js +2 -0
- package/src/scripts/routes/migration-diagnostic.js.map +1 -0
- package/src/scripts/routes/migration-diagnostic.ts +25 -0
- package/src/scripts/services/config.d.ts +2 -0
- package/src/scripts/services/config.js +39 -0
- package/src/scripts/services/config.js.map +1 -0
- package/src/scripts/services/config.ts +60 -0
- package/src/scripts/services/migrate-services.d.ts +29 -0
- package/src/scripts/services/migrate-services.js +895 -0
- package/src/scripts/services/migrate-services.js.map +1 -0
- package/src/scripts/services/migrate-services.spec.ts +719 -0
- package/src/scripts/services/migrate-services.ts +1282 -0
- package/src/scripts/services/migration-diagnostic.d.ts +8 -0
- package/src/scripts/services/migration-diagnostic.js +2 -0
- package/src/scripts/services/migration-diagnostic.js.map +1 -0
- package/src/scripts/services/migration-diagnostic.ts +27 -0
package/README.md
CHANGED
|
@@ -10,27 +10,45 @@ Development tools for ng-craft: ESLint configs, ESLint rules, and codemods.
|
|
|
10
10
|
npm install -D @craft-ng/dev-tools
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Dev-tools configuration
|
|
14
14
|
|
|
15
|
-
`craft-brand`
|
|
15
|
+
`craft-brand` and the migrations load a typed project config from
|
|
16
|
+
`craft-dev-tools.config.ts`. The legacy `craft-brand.config.ts` format remains
|
|
17
|
+
supported.
|
|
16
18
|
|
|
17
19
|
```ts
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
export default
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
import { defineCraftDevToolsConfig } from '@craft-ng/dev-tools';
|
|
21
|
+
|
|
22
|
+
export default defineCraftDevToolsConfig({
|
|
23
|
+
brand: {
|
|
24
|
+
importAugmentations: [
|
|
25
|
+
{
|
|
26
|
+
match: {
|
|
27
|
+
module: '@ngx-translate/core',
|
|
28
|
+
symbols: ['TranslatePipe'],
|
|
29
|
+
metadata: ['imports'],
|
|
30
|
+
},
|
|
31
|
+
deps: [
|
|
32
|
+
{
|
|
33
|
+
key: 'TranslateService',
|
|
34
|
+
symbol: 'TranslateService',
|
|
35
|
+
typeText: 'TranslateService<unknown>',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
27
38
|
},
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
serviceMigration: {
|
|
42
|
+
overrides: [
|
|
43
|
+
{
|
|
44
|
+
file: 'src/app/legacy-api.service.ts',
|
|
45
|
+
symbol: 'LegacyApiService',
|
|
46
|
+
name: 'Api',
|
|
47
|
+
scope: 'manuallyProvidedAtRoot',
|
|
48
|
+
strategy: 'craftService',
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
34
52
|
});
|
|
35
53
|
```
|
|
36
54
|
|
|
@@ -57,12 +75,9 @@ Discovery behavior:
|
|
|
57
75
|
- `brand-angular-deps-match` can autofix an existing `GenDeps_*` alias in the current file
|
|
58
76
|
- `component-test-gen-deps-match` verifies component test helpers use the matching `GenDeps_*` alias
|
|
59
77
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
- declarative rules only
|
|
64
|
-
- matching only from Angular `imports` and `hostDirectives`
|
|
65
|
-
- no arbitrary `typeText` generation and no helper-local `typeof injectX` expressions
|
|
78
|
+
`typeText` supports generic dependency spellings that cannot be inferred from
|
|
79
|
+
Angular metadata. Service overrides match by file/module/symbol; later matching
|
|
80
|
+
entries take precedence.
|
|
66
81
|
|
|
67
82
|
Example CLI usage:
|
|
68
83
|
|
|
@@ -71,6 +86,99 @@ craft-brand --root apps/demo/src
|
|
|
71
86
|
craft-brand --root apps/demo/src --config ./craft-brand.config.ts
|
|
72
87
|
```
|
|
73
88
|
|
|
89
|
+
## Angular services migration
|
|
90
|
+
|
|
91
|
+
Run services before routes so generated `GenDeps` and route provider names see
|
|
92
|
+
the craft helpers:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
craft-migrate --project apps/my-app/tsconfig.app.json --root apps/my-app/src --dry-run
|
|
96
|
+
craft-migrate --project apps/my-app/tsconfig.app.json --root apps/my-app/src --write
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`craft-migrate` runs primitives, services, then routes and can emit one combined
|
|
100
|
+
report with `--json [path]`. The individual commands remain available for
|
|
101
|
+
targeted migrations:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
craft-migrate-primitives --project apps/my-app/tsconfig.app.json --root apps/my-app/src --dry-run
|
|
105
|
+
craft-migrate-primitives --project apps/my-app/tsconfig.app.json --root apps/my-app/src --write
|
|
106
|
+
craft-migrate-services --project apps/my-app/tsconfig.app.json --root apps/my-app/src --dry-run
|
|
107
|
+
craft-migrate-services --project apps/my-app/tsconfig.app.json --root apps/my-app/src --write
|
|
108
|
+
craft-migrate-routes --project apps/my-app/tsconfig.app.json --root apps/my-app/src --write
|
|
109
|
+
ng build my-app
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
`--write` runs ESLint on touched files by default; use `--no-eslint` only when
|
|
113
|
+
the caller owns that step. `--json [path]`, `--check`, and `--fail-on-manual`
|
|
114
|
+
support CI and staged migrations. Ambiguous classes are retained and receive an
|
|
115
|
+
idempotent `.craft.ts` companion containing `CRAFT_IMPLEMENTATION_REQUIRED`.
|
|
116
|
+
The companion uses a valid inferred scope and consumers import its generated
|
|
117
|
+
helpers, so a manual service rewrite no longer leaves broken imports behind.
|
|
118
|
+
|
|
119
|
+
`craft-migrate-primitives` runs before service migration. It converts simple
|
|
120
|
+
Angular `signal(...)` calls to the craft `state(...)` primitive and reports
|
|
121
|
+
signal-form migration points. Signal forms are intentionally diagnostic-first:
|
|
122
|
+
`form(...)` must become `state(..., insertForm(...))`, but field paths and
|
|
123
|
+
validators change shape. For async validators, the script reports the
|
|
124
|
+
`validateAsync(...) + rxResource(...)` pattern so it can be rewritten as a local
|
|
125
|
+
`query(...)` triggered by the field value plus `cAsyncValidate(queryRef, ...)`.
|
|
126
|
+
|
|
127
|
+
The service migration also:
|
|
128
|
+
|
|
129
|
+
- preserves method type parameters and avoids property/parameter shadowing
|
|
130
|
+
- removes replaced Angular service imports
|
|
131
|
+
- converts simple `httpResource(...)` calls to `query(...)` backed by
|
|
132
|
+
`CraftHttpClient.request(...)`
|
|
133
|
+
- converts simple writable service methods using `HttpClient.post/put/patch/delete`
|
|
134
|
+
into generator operations backed by `CraftHttpClient`
|
|
135
|
+
- when a component already performs a simple `.subscribe()`, creates a
|
|
136
|
+
component-local `mutation(...)` and replaces the subscription trigger with
|
|
137
|
+
`.mutate(...)`; complex subscriptions keep a manual diagnostic so callback
|
|
138
|
+
semantics are not silently moved to a shared service lifecycle
|
|
139
|
+
- rewrites simple `chain(resource)` dependencies to `resource.value()` and
|
|
140
|
+
reports only complex chains that require a semantic decision
|
|
141
|
+
- disables `@typescript-eslint/explicit-function-return-type` in the nearest
|
|
142
|
+
flat ESLint config, because generated craft callbacks rely on inference
|
|
143
|
+
|
|
144
|
+
## Angular routes migration
|
|
145
|
+
|
|
146
|
+
`craft-migrate-routes` converts exported `Routes` arrays to `craftRoutes`, wraps
|
|
147
|
+
statically resolvable component routes with `craftRoute`, generates or reuses
|
|
148
|
+
their `GenDeps_*` type, and adds the file-level DI check.
|
|
149
|
+
|
|
150
|
+
Start with a dry run:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
craft-migrate-routes \
|
|
154
|
+
--project apps/my-app/tsconfig.app.json \
|
|
155
|
+
--root apps/my-app/src/app \
|
|
156
|
+
--dry-run
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Then write the deterministic changes and let the project rules refresh their
|
|
160
|
+
generated assertions:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
craft-migrate-routes --project apps/my-app/tsconfig.app.json --root apps/my-app/src/app --write
|
|
164
|
+
eslint --fix "apps/my-app/src/**/*.ts"
|
|
165
|
+
ng build my-app
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
When the root collection is fully migratable, the routes migration also updates
|
|
169
|
+
`app.config.ts` to `craftAppConfig(...)` + `provideCraftRouter(routes.toRoutes())`
|
|
170
|
+
and wraps the bootstrap config with `toApplicationConfig(...)`. Collections
|
|
171
|
+
containing Angular guards or nested `children` are kept as Angular `Routes`
|
|
172
|
+
instead of being half-converted; the CLI emits manual diagnostics and leaves
|
|
173
|
+
`app.config.ts` unchanged until the root route tree is craft-compatible.
|
|
174
|
+
|
|
175
|
+
The migration deliberately reports guards, dynamic paths/redirects, ambiguous
|
|
176
|
+
components, inherited providers, and route splits instead of guessing their
|
|
177
|
+
business semantics. Use `--fail-on-manual` to make these diagnostics fail the
|
|
178
|
+
command, `--json <path>` for a machine-readable report, and `--check` in CI to
|
|
179
|
+
reject remaining legacy collections. Lazy collections can declare their mount
|
|
180
|
+
context with `--parent-mount <path>` and `--parent-names <name,...>`.
|
|
181
|
+
|
|
74
182
|
```bash
|
|
75
183
|
import craftRules from '@craft-ng/dev-tools/eslint-rules';
|
|
76
184
|
|
|
@@ -88,6 +196,7 @@ export default [
|
|
|
88
196
|
'craft-ng/prefer-craft-service': 'error',
|
|
89
197
|
'craft-ng/prefer-craft-http-client': 'error',
|
|
90
198
|
'craft-ng/prefer-browser-boundaries': 'error',
|
|
199
|
+
'craft-ng/require-lazy-load-with-retry': 'error',
|
|
91
200
|
}
|
|
92
201
|
}
|
|
93
202
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@craft-ng/dev-tools",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1-beta.0",
|
|
4
4
|
"description": "Development tools for ng-craft: ESLint configs, ESLint rules, and codemods",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
"./package.json": "./package.json"
|
|
18
18
|
},
|
|
19
19
|
"bin": {
|
|
20
|
-
"craft-brand": "./src/bin/craft-brand.js"
|
|
20
|
+
"craft-brand": "./src/bin/craft-brand.js",
|
|
21
|
+
"craft-migrate": "./src/bin/craft-migrate.js",
|
|
22
|
+
"craft-migrate-primitives": "./src/bin/craft-migrate-primitives.js",
|
|
23
|
+
"craft-migrate-services": "./src/bin/craft-migrate-services.js",
|
|
24
|
+
"craft-migrate-routes": "./src/bin/craft-migrate-routes.js"
|
|
21
25
|
},
|
|
22
26
|
"files": [
|
|
23
27
|
"src/**/*",
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { runPrimitivesMigration } from '../scripts/primitives/migrate-primitives.js';
|
|
3
|
+
function parseArgs(argv) {
|
|
4
|
+
const options = { files: [] };
|
|
5
|
+
const files = [];
|
|
6
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
7
|
+
const argument = argv[index];
|
|
8
|
+
switch (argument) {
|
|
9
|
+
case '--project':
|
|
10
|
+
options.tsConfigFilePath = argv[++index];
|
|
11
|
+
break;
|
|
12
|
+
case '--root':
|
|
13
|
+
options.rootDir = argv[++index];
|
|
14
|
+
break;
|
|
15
|
+
case '--dry-run':
|
|
16
|
+
options.write = false;
|
|
17
|
+
break;
|
|
18
|
+
case '--write':
|
|
19
|
+
options.write = true;
|
|
20
|
+
break;
|
|
21
|
+
case '--check':
|
|
22
|
+
options.check = true;
|
|
23
|
+
break;
|
|
24
|
+
case '--json':
|
|
25
|
+
if (argv[index + 1] && !argv[index + 1].startsWith('-'))
|
|
26
|
+
options.jsonFilePath = argv[++index];
|
|
27
|
+
else
|
|
28
|
+
options.json = true;
|
|
29
|
+
break;
|
|
30
|
+
case '--fail-on-manual':
|
|
31
|
+
options.failOnManual = true;
|
|
32
|
+
break;
|
|
33
|
+
case '--no-eslint':
|
|
34
|
+
options.eslint = false;
|
|
35
|
+
break;
|
|
36
|
+
case '--help':
|
|
37
|
+
printHelp();
|
|
38
|
+
process.exit(0);
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
if (argument.startsWith('-'))
|
|
42
|
+
throw new Error(`Unknown argument: ${argument}`);
|
|
43
|
+
files.push(argument);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
options.files = files;
|
|
47
|
+
return options;
|
|
48
|
+
}
|
|
49
|
+
function printHelp() {
|
|
50
|
+
console.log(`Usage: craft-migrate-primitives [files...] [options]
|
|
51
|
+
|
|
52
|
+
Options:
|
|
53
|
+
--project <path> Application tsconfig.
|
|
54
|
+
--root <dir> Source root. Defaults to cwd.
|
|
55
|
+
--dry-run Analyze without writing (default).
|
|
56
|
+
--write Write migrated files.
|
|
57
|
+
--check Fail while Angular signals or signal forms remain.
|
|
58
|
+
--json [path] Print JSON, or write it to path.
|
|
59
|
+
--fail-on-manual Fail when manual diagnostics are emitted.
|
|
60
|
+
--no-eslint Do not run ESLint --fix after --write.
|
|
61
|
+
`);
|
|
62
|
+
}
|
|
63
|
+
runPrimitivesMigration(parseArgs(process.argv.slice(2)))
|
|
64
|
+
.then((result) => {
|
|
65
|
+
process.exitCode = result.exitCode;
|
|
66
|
+
})
|
|
67
|
+
.catch((error) => {
|
|
68
|
+
console.error(error);
|
|
69
|
+
process.exitCode = 1;
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=craft-migrate-primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-migrate-primitives.js","sourceRoot":"","sources":["../../../../../libs/dev-tools/src/bin/craft-migrate-primitives.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAIrF,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;oBACrD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;;oBAClC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM;YACR;gBACE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;CAWb,CAAC,CAAC;AACH,CAAC;AAED,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACrC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { runRoutesMigration } from '../scripts/routes/migrate-routes.js';
|
|
3
|
+
function parseArgs(argv) {
|
|
4
|
+
const options = { files: [] };
|
|
5
|
+
const files = [];
|
|
6
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
7
|
+
const argument = argv[index];
|
|
8
|
+
switch (argument) {
|
|
9
|
+
case '--root':
|
|
10
|
+
options.rootDir = argv[++index];
|
|
11
|
+
break;
|
|
12
|
+
case '--project':
|
|
13
|
+
case '--tsconfig':
|
|
14
|
+
options.tsConfigFilePath = argv[++index];
|
|
15
|
+
break;
|
|
16
|
+
case '--write':
|
|
17
|
+
options.write = true;
|
|
18
|
+
break;
|
|
19
|
+
case '--dry-run':
|
|
20
|
+
options.write = false;
|
|
21
|
+
break;
|
|
22
|
+
case '--check':
|
|
23
|
+
options.check = true;
|
|
24
|
+
break;
|
|
25
|
+
case '--collection-name':
|
|
26
|
+
options.collectionName = argv[++index];
|
|
27
|
+
break;
|
|
28
|
+
case '--parent-mount':
|
|
29
|
+
options.parentMount = argv[++index];
|
|
30
|
+
break;
|
|
31
|
+
case '--parent-names':
|
|
32
|
+
options.parentNames = argv[++index].split(',').filter(Boolean);
|
|
33
|
+
break;
|
|
34
|
+
case '--json':
|
|
35
|
+
options.jsonFilePath = argv[++index];
|
|
36
|
+
break;
|
|
37
|
+
case '--fail-on-manual':
|
|
38
|
+
options.failOnManual = true;
|
|
39
|
+
break;
|
|
40
|
+
case '--help':
|
|
41
|
+
printHelp();
|
|
42
|
+
process.exit(0);
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
if (argument.startsWith('-'))
|
|
46
|
+
throw new Error(`Unknown argument: ${argument}`);
|
|
47
|
+
files.push(argument);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
options.files = files;
|
|
51
|
+
return options;
|
|
52
|
+
}
|
|
53
|
+
function printHelp() {
|
|
54
|
+
console.log(`Usage: craft-migrate-routes [files...] [options]
|
|
55
|
+
|
|
56
|
+
Options:
|
|
57
|
+
--root <dir> Source root. Defaults to cwd.
|
|
58
|
+
--project, --tsconfig <path> Application tsconfig.
|
|
59
|
+
--dry-run Analyze and print without writing (default).
|
|
60
|
+
--write Write migrated files.
|
|
61
|
+
--check Fail when legacy Routes collections remain.
|
|
62
|
+
--collection-name <name> Override the inferred craftRoutes name.
|
|
63
|
+
--parent-mount <path> Pin the collection with ParentRoutes<path>.
|
|
64
|
+
--parent-names <a,b> Named providers inherited at the mount point.
|
|
65
|
+
--json <path> Write the complete migration report as JSON.
|
|
66
|
+
--fail-on-manual Fail when manual diagnostics are emitted.
|
|
67
|
+
`);
|
|
68
|
+
}
|
|
69
|
+
runRoutesMigration(parseArgs(process.argv.slice(2)))
|
|
70
|
+
.then((result) => {
|
|
71
|
+
process.exitCode = result.exitCode;
|
|
72
|
+
})
|
|
73
|
+
.catch((error) => {
|
|
74
|
+
console.error(error);
|
|
75
|
+
process.exitCode = 1;
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=craft-migrate-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-migrate-routes.js","sourceRoot":"","sources":["../../../../../libs/dev-tools/src/bin/craft-migrate-routes.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM;YACR;gBACE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBAC/E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAab,CAAC,CAAC;AACH,CAAC;AAED,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACjD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACrC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { runServicesMigration } from '../scripts/services/migrate-services.js';
|
|
3
|
+
function parseArgs(argv) {
|
|
4
|
+
const options = { files: [] };
|
|
5
|
+
const files = [];
|
|
6
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
7
|
+
const argument = argv[index];
|
|
8
|
+
switch (argument) {
|
|
9
|
+
case '--project':
|
|
10
|
+
options.tsConfigFilePath = argv[++index];
|
|
11
|
+
break;
|
|
12
|
+
case '--root':
|
|
13
|
+
options.rootDir = argv[++index];
|
|
14
|
+
break;
|
|
15
|
+
case '--config':
|
|
16
|
+
options.configFilePath = argv[++index];
|
|
17
|
+
break;
|
|
18
|
+
case '--dry-run':
|
|
19
|
+
options.write = false;
|
|
20
|
+
break;
|
|
21
|
+
case '--write':
|
|
22
|
+
options.write = true;
|
|
23
|
+
break;
|
|
24
|
+
case '--check':
|
|
25
|
+
options.check = true;
|
|
26
|
+
break;
|
|
27
|
+
case '--json':
|
|
28
|
+
if (argv[index + 1] && !argv[index + 1].startsWith('-'))
|
|
29
|
+
options.jsonFilePath = argv[++index];
|
|
30
|
+
else
|
|
31
|
+
options.json = true;
|
|
32
|
+
break;
|
|
33
|
+
case '--fail-on-manual':
|
|
34
|
+
options.failOnManual = true;
|
|
35
|
+
break;
|
|
36
|
+
case '--no-eslint':
|
|
37
|
+
options.eslint = false;
|
|
38
|
+
break;
|
|
39
|
+
case '--help':
|
|
40
|
+
printHelp();
|
|
41
|
+
process.exit(0);
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
if (argument.startsWith('-'))
|
|
45
|
+
throw new Error(`Unknown argument: ${argument}`);
|
|
46
|
+
files.push(argument);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
options.files = files;
|
|
50
|
+
return options;
|
|
51
|
+
}
|
|
52
|
+
function printHelp() {
|
|
53
|
+
console.log(`Usage: craft-migrate-services [files...] [options]
|
|
54
|
+
|
|
55
|
+
Options:
|
|
56
|
+
--project <path> Application tsconfig.
|
|
57
|
+
--root <dir> Source root. Defaults to cwd.
|
|
58
|
+
--config <path> craft-dev-tools.config.ts override.
|
|
59
|
+
--dry-run Analyze without writing (default).
|
|
60
|
+
--write Write migrated and companion files.
|
|
61
|
+
--check Fail while legacy services remain.
|
|
62
|
+
--json [path] Print JSON, or write it to path.
|
|
63
|
+
--fail-on-manual Fail when manual diagnostics are emitted.
|
|
64
|
+
--no-eslint Do not run ESLint --fix after --write.
|
|
65
|
+
`);
|
|
66
|
+
}
|
|
67
|
+
runServicesMigration(parseArgs(process.argv.slice(2)))
|
|
68
|
+
.then((result) => {
|
|
69
|
+
process.exitCode = result.exitCode;
|
|
70
|
+
})
|
|
71
|
+
.catch((error) => {
|
|
72
|
+
console.error(error);
|
|
73
|
+
process.exitCode = 1;
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=craft-migrate-services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-migrate-services.js","sourceRoot":"","sources":["../../../../../libs/dev-tools/src/bin/craft-migrate-services.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAI/E,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;oBACrD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;;oBAClC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM;YACR;gBACE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;CAYb,CAAC,CAAC;AACH,CAAC;AAED,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACnD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACrC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { runMigration } from '../scripts/migrate.js';
|
|
3
|
+
function parseArgs(argv) {
|
|
4
|
+
const options = { files: [] };
|
|
5
|
+
const files = [];
|
|
6
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
7
|
+
const argument = argv[index];
|
|
8
|
+
switch (argument) {
|
|
9
|
+
case '--project':
|
|
10
|
+
case '--tsconfig':
|
|
11
|
+
options.tsConfigFilePath = argv[++index];
|
|
12
|
+
break;
|
|
13
|
+
case '--root':
|
|
14
|
+
options.rootDir = argv[++index];
|
|
15
|
+
break;
|
|
16
|
+
case '--config':
|
|
17
|
+
options.configFilePath = argv[++index];
|
|
18
|
+
break;
|
|
19
|
+
case '--dry-run':
|
|
20
|
+
options.write = false;
|
|
21
|
+
break;
|
|
22
|
+
case '--write':
|
|
23
|
+
options.write = true;
|
|
24
|
+
break;
|
|
25
|
+
case '--check':
|
|
26
|
+
options.check = true;
|
|
27
|
+
break;
|
|
28
|
+
case '--json':
|
|
29
|
+
if (argv[index + 1] && !argv[index + 1].startsWith('-'))
|
|
30
|
+
options.jsonFilePath = argv[++index];
|
|
31
|
+
else
|
|
32
|
+
options.json = true;
|
|
33
|
+
break;
|
|
34
|
+
case '--fail-on-manual':
|
|
35
|
+
options.failOnManual = true;
|
|
36
|
+
break;
|
|
37
|
+
case '--no-eslint':
|
|
38
|
+
options.eslint = false;
|
|
39
|
+
break;
|
|
40
|
+
case '--collection-name':
|
|
41
|
+
options.collectionName = argv[++index];
|
|
42
|
+
break;
|
|
43
|
+
case '--parent-mount':
|
|
44
|
+
options.parentMount = argv[++index];
|
|
45
|
+
break;
|
|
46
|
+
case '--parent-names':
|
|
47
|
+
options.parentNames = argv[++index].split(',').filter(Boolean);
|
|
48
|
+
break;
|
|
49
|
+
case '--help':
|
|
50
|
+
printHelp();
|
|
51
|
+
process.exit(0);
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
if (argument.startsWith('-'))
|
|
55
|
+
throw new Error(`Unknown argument: ${argument}`);
|
|
56
|
+
files.push(argument);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
options.files = files;
|
|
60
|
+
return options;
|
|
61
|
+
}
|
|
62
|
+
function printHelp() {
|
|
63
|
+
console.log(`Usage: craft-migrate [files...] [options]
|
|
64
|
+
|
|
65
|
+
Runs the primitive, service and route migrations in that order.
|
|
66
|
+
|
|
67
|
+
Options:
|
|
68
|
+
--project, --tsconfig <path> Application tsconfig.
|
|
69
|
+
--root <dir> Source root. Defaults to cwd.
|
|
70
|
+
--config <path> craft-dev-tools.config.ts override.
|
|
71
|
+
--dry-run Analyze without writing (default).
|
|
72
|
+
--write Write migrated files.
|
|
73
|
+
--check Fail while supported legacy code remains.
|
|
74
|
+
--json [path] Print the combined report, or write it to path.
|
|
75
|
+
--fail-on-manual Fail when manual diagnostics are emitted.
|
|
76
|
+
--no-eslint Do not run ESLint --fix after writes.
|
|
77
|
+
--collection-name <name> Override the inferred root routes name.
|
|
78
|
+
--parent-mount <path> Pin a route collection to its parent mount.
|
|
79
|
+
--parent-names <a,b> Named providers inherited by the route collection.
|
|
80
|
+
`);
|
|
81
|
+
}
|
|
82
|
+
runMigration(parseArgs(process.argv.slice(2)))
|
|
83
|
+
.then((result) => {
|
|
84
|
+
process.exitCode = result.exitCode;
|
|
85
|
+
})
|
|
86
|
+
.catch((error) => {
|
|
87
|
+
console.error(error);
|
|
88
|
+
process.exitCode = 1;
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=craft-migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-migrate.js","sourceRoot":"","sources":["../../../../../libs/dev-tools/src/bin/craft-migrate.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAuB,MAAM,uBAAuB,CAAC;AAE1E,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;oBACrD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;;oBAClC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,mBAAmB;gBACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM;YACR;gBACE,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBb,CAAC,CAAC;AACH,CAAC;AAED,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACrC,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -22,6 +22,7 @@ const requirePendingComponentDiCheck = require('./require-pending-component-di-c
|
|
|
22
22
|
const requireCraftExceptionHandler = require('./require-craft-exception-handler.cjs');
|
|
23
23
|
const requireExceptionComponentDiCheck = require('./require-exception-component-di-check.cjs');
|
|
24
24
|
const requireChildRouteMountCheck = require('./require-child-route-mount-check.cjs');
|
|
25
|
+
const requireLazyLoadWithRetry = require('./require-lazy-load-with-retry.cjs');
|
|
25
26
|
|
|
26
27
|
module.exports = {
|
|
27
28
|
rules: {
|
|
@@ -50,5 +51,6 @@ module.exports = {
|
|
|
50
51
|
'require-craft-exception-handler': requireCraftExceptionHandler,
|
|
51
52
|
'require-exception-component-di-check': requireExceptionComponentDiCheck,
|
|
52
53
|
'require-child-route-mount-check': requireChildRouteMountCheck,
|
|
54
|
+
'require-lazy-load-with-retry': requireLazyLoadWithRetry,
|
|
53
55
|
},
|
|
54
56
|
};
|