@depup/angular__cli 22.0.9-depup.0 → 22.1.0-depup.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 +5 -12
- package/changes.json +4 -32
- package/lib/config/schema.json +4 -6
- package/lib/config/workspace-schema.d.ts +5 -7
- package/lib/config/workspace-schema.js +4 -6
- package/lib/config/workspace-schema.js.map +1 -1
- package/package.json +22 -54
- package/src/commands/cache/utilities.js +41 -3
- package/src/commands/cache/utilities.js.map +1 -1
- package/src/commands/mcp/resources/best-practices.md +2 -0
- package/src/commands/mcp/tools/doc-search.js +51 -46
- package/src/commands/mcp/tools/doc-search.js.map +1 -1
- package/src/commands/update/cli.js +118 -105
- package/src/commands/update/cli.js.map +1 -1
- package/src/commands/update/update-resolver.d.ts +75 -0
- package/src/commands/update/update-resolver.js +919 -0
- package/src/commands/update/update-resolver.js.map +1 -0
- package/src/package-managers/host.js +18 -7
- package/src/package-managers/host.js.map +1 -1
- package/src/package-managers/package-manager-descriptor.d.ts +11 -1
- package/src/package-managers/package-manager-descriptor.js +6 -0
- package/src/package-managers/package-manager-descriptor.js.map +1 -1
- package/src/package-managers/package-manager.d.ts +5 -0
- package/src/package-managers/package-manager.js +29 -0
- package/src/package-managers/package-manager.js.map +1 -1
- package/src/package-managers/package-metadata.d.ts +1 -1
- package/src/package-managers/parsers.d.ts +20 -5
- package/src/package-managers/parsers.js +129 -1
- package/src/package-managers/parsers.js.map +1 -1
- package/src/utilities/version.js +1 -1
- package/src/commands/update/schematic/collection.json +0 -9
- package/src/commands/update/schematic/index.d.ts +0 -11
- package/src/commands/update/schematic/index.js +0 -885
- package/src/commands/update/schematic/index.js.map +0 -1
- package/src/commands/update/schematic/schema.d.ts +0 -55
- package/src/commands/update/schematic/schema.js +0 -16
- package/src/commands/update/schematic/schema.js.map +0 -1
- package/src/commands/update/schematic/schema.json +0 -68
- package/src/utilities/package-metadata.d.ts +0 -48
- package/src/utilities/package-metadata.js +0 -203
- package/src/utilities/package-metadata.js.map +0 -1
package/README.md
CHANGED
|
@@ -13,26 +13,19 @@ npm install @depup/angular__cli
|
|
|
13
13
|
|
|
14
14
|
| Field | Value |
|
|
15
15
|
|-------|-------|
|
|
16
|
-
| Original | [@angular/cli](https://www.npmjs.com/package/@angular/cli) @ 22.0
|
|
17
|
-
| Processed | 2026-07-
|
|
16
|
+
| Original | [@angular/cli](https://www.npmjs.com/package/@angular/cli) @ 22.1.0 |
|
|
17
|
+
| Processed | 2026-07-30 |
|
|
18
18
|
| Smoke test | passed |
|
|
19
|
-
| Deps updated |
|
|
19
|
+
| Deps updated | 4 |
|
|
20
20
|
|
|
21
21
|
## Dependency Changes
|
|
22
22
|
|
|
23
23
|
| Dependency | From | To |
|
|
24
24
|
|------------|------|-----|
|
|
25
|
-
| @inquirer
|
|
26
|
-
| @listr2/prompt-adapter-inquirer | 4.2.3 | ^4.2.5 |
|
|
25
|
+
| @listr2/prompt-adapter-inquirer | 4.2.4 | ^4.2.5 |
|
|
27
26
|
| @modelcontextprotocol/sdk | 1.29.0 | ^1.30.0 |
|
|
28
|
-
|
|
|
29
|
-
| ini | 6.0.0 | ^7.0.0 |
|
|
30
|
-
| listr2 | 10.2.1 | ^11.0.0 |
|
|
31
|
-
| npm-package-arg | 13.0.2 | ^14.0.0 |
|
|
32
|
-
| pacote | 21.5.1 | ^22.0.0 |
|
|
33
|
-
| semver | 7.7.4 | ^7.8.5 |
|
|
27
|
+
| listr2 | 10.2.2 | ^11.0.0 |
|
|
34
28
|
| yargs | 18.0.0 | ^18.1.0 |
|
|
35
|
-
| zod | 4.4.2 | ^4.4.3 |
|
|
36
29
|
|
|
37
30
|
---
|
|
38
31
|
|
package/changes.json
CHANGED
|
@@ -1,50 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bumped": {
|
|
3
|
-
"@inquirer/prompts": {
|
|
4
|
-
"from": "8.4.2",
|
|
5
|
-
"to": "^8.5.2"
|
|
6
|
-
},
|
|
7
3
|
"@listr2/prompt-adapter-inquirer": {
|
|
8
|
-
"from": "4.2.
|
|
4
|
+
"from": "4.2.4",
|
|
9
5
|
"to": "^4.2.5"
|
|
10
6
|
},
|
|
11
7
|
"@modelcontextprotocol/sdk": {
|
|
12
8
|
"from": "1.29.0",
|
|
13
9
|
"to": "^1.30.0"
|
|
14
10
|
},
|
|
15
|
-
"algoliasearch": {
|
|
16
|
-
"from": "5.52.0",
|
|
17
|
-
"to": "^5.56.0"
|
|
18
|
-
},
|
|
19
|
-
"ini": {
|
|
20
|
-
"from": "6.0.0",
|
|
21
|
-
"to": "^7.0.0"
|
|
22
|
-
},
|
|
23
11
|
"listr2": {
|
|
24
|
-
"from": "10.2.
|
|
12
|
+
"from": "10.2.2",
|
|
25
13
|
"to": "^11.0.0"
|
|
26
14
|
},
|
|
27
|
-
"npm-package-arg": {
|
|
28
|
-
"from": "13.0.2",
|
|
29
|
-
"to": "^14.0.0"
|
|
30
|
-
},
|
|
31
|
-
"pacote": {
|
|
32
|
-
"from": "21.5.1",
|
|
33
|
-
"to": "^22.0.0"
|
|
34
|
-
},
|
|
35
|
-
"semver": {
|
|
36
|
-
"from": "7.7.4",
|
|
37
|
-
"to": "^7.8.5"
|
|
38
|
-
},
|
|
39
15
|
"yargs": {
|
|
40
16
|
"from": "18.0.0",
|
|
41
17
|
"to": "^18.1.0"
|
|
42
|
-
},
|
|
43
|
-
"zod": {
|
|
44
|
-
"from": "4.4.2",
|
|
45
|
-
"to": "^4.4.3"
|
|
46
18
|
}
|
|
47
19
|
},
|
|
48
|
-
"timestamp": "2026-07-
|
|
49
|
-
"totalUpdated":
|
|
20
|
+
"timestamp": "2026-07-30T00:35:05.353Z",
|
|
21
|
+
"totalUpdated": 4
|
|
50
22
|
}
|
package/lib/config/schema.json
CHANGED
|
@@ -1824,13 +1824,11 @@
|
|
|
1824
1824
|
"type": "string",
|
|
1825
1825
|
"enum": [
|
|
1826
1826
|
"none",
|
|
1827
|
-
"
|
|
1828
|
-
"copilot",
|
|
1829
|
-
"claude",
|
|
1827
|
+
"claude-code",
|
|
1830
1828
|
"cursor",
|
|
1831
|
-
"
|
|
1832
|
-
"
|
|
1833
|
-
"
|
|
1829
|
+
"gemini-cli",
|
|
1830
|
+
"open-ai-codex",
|
|
1831
|
+
"vscode"
|
|
1834
1832
|
]
|
|
1835
1833
|
}
|
|
1836
1834
|
},
|
|
@@ -528,7 +528,7 @@ export type AngularGuardOptionsSchema = {
|
|
|
528
528
|
* routes), `CanDeactivate` (asks for confirmation before leaving a route), `CanMatch`
|
|
529
529
|
* (determines if a route can be matched).
|
|
530
530
|
*/
|
|
531
|
-
implements?: Implement[];
|
|
531
|
+
implements?: [Implement, ...Implement[]];
|
|
532
532
|
/**
|
|
533
533
|
* The name for the new route guard. This will be used to create the guard's class and spec
|
|
534
534
|
* files (e.g., `my-guard.guard.ts` and `my-guard.guard.spec.ts`).
|
|
@@ -835,14 +835,12 @@ export type AngularNgNewOptionsSchema = {
|
|
|
835
835
|
zoneless?: boolean;
|
|
836
836
|
};
|
|
837
837
|
export declare enum AiConfig {
|
|
838
|
-
|
|
839
|
-
Claude = "claude",
|
|
840
|
-
Copilot = "copilot",
|
|
838
|
+
ClaudeCode = "claude-code",
|
|
841
839
|
Cursor = "cursor",
|
|
842
|
-
|
|
843
|
-
Jetbrains = "jetbrains",
|
|
840
|
+
GeminiCli = "gemini-cli",
|
|
844
841
|
None = "none",
|
|
845
|
-
|
|
842
|
+
OpenAiCodex = "open-ai-codex",
|
|
843
|
+
Vscode = "vscode"
|
|
846
844
|
}
|
|
847
845
|
/**
|
|
848
846
|
* Configure the initial Git commit for the new repository.
|
|
@@ -121,13 +121,11 @@ var TypeSeparator;
|
|
|
121
121
|
})(TypeSeparator || (exports.TypeSeparator = TypeSeparator = {}));
|
|
122
122
|
var AiConfig;
|
|
123
123
|
(function (AiConfig) {
|
|
124
|
-
AiConfig["
|
|
125
|
-
AiConfig["Claude"] = "claude";
|
|
126
|
-
AiConfig["Copilot"] = "copilot";
|
|
124
|
+
AiConfig["ClaudeCode"] = "claude-code";
|
|
127
125
|
AiConfig["Cursor"] = "cursor";
|
|
128
|
-
AiConfig["
|
|
129
|
-
AiConfig["Jetbrains"] = "jetbrains";
|
|
126
|
+
AiConfig["GeminiCli"] = "gemini-cli";
|
|
130
127
|
AiConfig["None"] = "none";
|
|
131
|
-
AiConfig["
|
|
128
|
+
AiConfig["OpenAiCodex"] = "open-ai-codex";
|
|
129
|
+
AiConfig["Vscode"] = "vscode";
|
|
132
130
|
})(AiConfig || (exports.AiConfig = AiConfig = {}));
|
|
133
131
|
//# sourceMappingURL=workspace-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-schema.js","sourceRoot":"","sources":["workspace-schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AA4DpF;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;GAIG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAqID;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,IAAY,iCAMX;AAND,WAAY,iCAAiC;IACzC,gDAAW,CAAA;IACX,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,0DAAqB,CAAA;AACzB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;;;;;;;;;GAWG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAsJD;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;;GAGG;AACH,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,8CAAW,CAAA;IACX,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;AACjB,CAAC,EANW,+BAA+B,+CAA/B,+BAA+B,QAM1C;AAwJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED;;;;;;;;;;;;GAYG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAuQD,IAAY,
|
|
1
|
+
{"version":3,"file":"workspace-schema.js","sourceRoot":"","sources":["workspace-schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AA4DpF;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;GAIG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAqID;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,IAAY,iCAMX;AAND,WAAY,iCAAiC;IACzC,gDAAW,CAAA;IACX,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,0DAAqB,CAAA;AACzB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;;;;;;;;;GAWG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAsJD;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;;GAGG;AACH,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,8CAAW,CAAA;IACX,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;AACjB,CAAC,EANW,+BAA+B,+CAA/B,+BAA+B,QAM1C;AAwJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED;;;;;;;;;;;;GAYG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAuQD,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,sCAA0B,CAAA;IAC1B,6BAAiB,CAAA;IACjB,oCAAwB,CAAA;IACxB,yBAAa,CAAA;IACb,yCAA6B,CAAA;IAC7B,6BAAiB,CAAA;AACrB,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@depup/angular__cli",
|
|
3
|
-
"version": "22.0
|
|
3
|
+
"version": "22.1.0-depup.0",
|
|
4
4
|
"description": "CLI tool for Angular (with updated dependencies)",
|
|
5
5
|
"main": "lib/cli/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -21,36 +21,32 @@
|
|
|
21
21
|
"sdk"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@angular-devkit/architect": "0.
|
|
25
|
-
"@angular-devkit/core": "22.0
|
|
26
|
-
"@angular-devkit/schematics": "22.0
|
|
27
|
-
"@inquirer/prompts": "
|
|
24
|
+
"@angular-devkit/architect": "0.2201.0",
|
|
25
|
+
"@angular-devkit/core": "22.1.0",
|
|
26
|
+
"@angular-devkit/schematics": "22.1.0",
|
|
27
|
+
"@inquirer/prompts": "8.5.2",
|
|
28
28
|
"@listr2/prompt-adapter-inquirer": "^4.2.5",
|
|
29
29
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
30
|
-
"@schematics/angular": "22.0
|
|
31
|
-
"@yarnpkg/lockfile": "1.1.0",
|
|
32
|
-
"algoliasearch": "^5.56.0",
|
|
33
|
-
"ini": "^7.0.0",
|
|
30
|
+
"@schematics/angular": "22.1.0",
|
|
34
31
|
"jsonc-parser": "3.3.1",
|
|
35
32
|
"listr2": "^11.0.0",
|
|
36
|
-
"npm-package-arg": "
|
|
37
|
-
"pacote": "^22.0.0",
|
|
33
|
+
"npm-package-arg": "14.0.0",
|
|
38
34
|
"parse5-html-rewriting-stream": "8.0.1",
|
|
39
|
-
"semver": "
|
|
35
|
+
"semver": "7.8.5",
|
|
40
36
|
"yargs": "^18.1.0",
|
|
41
|
-
"zod": "
|
|
37
|
+
"zod": "4.4.3"
|
|
42
38
|
},
|
|
43
39
|
"ng-update": {
|
|
44
40
|
"migrations": "@schematics/angular/migrations/migration-collection.json",
|
|
45
41
|
"packageGroup": {
|
|
46
|
-
"@angular/cli": "22.0
|
|
47
|
-
"@angular/build": "22.0
|
|
48
|
-
"@angular/ssr": "22.0
|
|
49
|
-
"@angular-devkit/architect": "0.
|
|
50
|
-
"@angular-devkit/build-angular": "22.0
|
|
51
|
-
"@angular-devkit/build-webpack": "0.
|
|
52
|
-
"@angular-devkit/core": "22.0
|
|
53
|
-
"@angular-devkit/schematics": "22.0
|
|
42
|
+
"@angular/cli": "22.1.0",
|
|
43
|
+
"@angular/build": "22.1.0",
|
|
44
|
+
"@angular/ssr": "22.1.0",
|
|
45
|
+
"@angular-devkit/architect": "0.2201.0",
|
|
46
|
+
"@angular-devkit/build-angular": "22.1.0",
|
|
47
|
+
"@angular-devkit/build-webpack": "0.2201.0",
|
|
48
|
+
"@angular-devkit/core": "22.1.0",
|
|
49
|
+
"@angular-devkit/schematics": "22.1.0"
|
|
54
50
|
}
|
|
55
51
|
},
|
|
56
52
|
"repository": {
|
|
@@ -70,55 +66,27 @@
|
|
|
70
66
|
"homepage": "https://github.com/angular/angular-cli",
|
|
71
67
|
"depup": {
|
|
72
68
|
"changes": {
|
|
73
|
-
"@inquirer/prompts": {
|
|
74
|
-
"from": "8.4.2",
|
|
75
|
-
"to": "^8.5.2"
|
|
76
|
-
},
|
|
77
69
|
"@listr2/prompt-adapter-inquirer": {
|
|
78
|
-
"from": "4.2.
|
|
70
|
+
"from": "4.2.4",
|
|
79
71
|
"to": "^4.2.5"
|
|
80
72
|
},
|
|
81
73
|
"@modelcontextprotocol/sdk": {
|
|
82
74
|
"from": "1.29.0",
|
|
83
75
|
"to": "^1.30.0"
|
|
84
76
|
},
|
|
85
|
-
"algoliasearch": {
|
|
86
|
-
"from": "5.52.0",
|
|
87
|
-
"to": "^5.56.0"
|
|
88
|
-
},
|
|
89
|
-
"ini": {
|
|
90
|
-
"from": "6.0.0",
|
|
91
|
-
"to": "^7.0.0"
|
|
92
|
-
},
|
|
93
77
|
"listr2": {
|
|
94
|
-
"from": "10.2.
|
|
78
|
+
"from": "10.2.2",
|
|
95
79
|
"to": "^11.0.0"
|
|
96
80
|
},
|
|
97
|
-
"npm-package-arg": {
|
|
98
|
-
"from": "13.0.2",
|
|
99
|
-
"to": "^14.0.0"
|
|
100
|
-
},
|
|
101
|
-
"pacote": {
|
|
102
|
-
"from": "21.5.1",
|
|
103
|
-
"to": "^22.0.0"
|
|
104
|
-
},
|
|
105
|
-
"semver": {
|
|
106
|
-
"from": "7.7.4",
|
|
107
|
-
"to": "^7.8.5"
|
|
108
|
-
},
|
|
109
81
|
"yargs": {
|
|
110
82
|
"from": "18.0.0",
|
|
111
83
|
"to": "^18.1.0"
|
|
112
|
-
},
|
|
113
|
-
"zod": {
|
|
114
|
-
"from": "4.4.2",
|
|
115
|
-
"to": "^4.4.3"
|
|
116
84
|
}
|
|
117
85
|
},
|
|
118
|
-
"depsUpdated":
|
|
86
|
+
"depsUpdated": 4,
|
|
119
87
|
"originalPackage": "@angular/cli",
|
|
120
|
-
"originalVersion": "22.0
|
|
121
|
-
"processedAt": "2026-07-
|
|
88
|
+
"originalVersion": "22.1.0",
|
|
89
|
+
"processedAt": "2026-07-30T00:35:14.784Z",
|
|
122
90
|
"smokeTest": "passed"
|
|
123
91
|
}
|
|
124
92
|
}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.updateCacheConfig = updateCacheConfig;
|
|
11
11
|
exports.getCacheConfig = getCacheConfig;
|
|
12
12
|
const core_1 = require("@angular-devkit/core");
|
|
13
|
+
const node_fs_1 = require("node:fs");
|
|
13
14
|
const node_path_1 = require("node:path");
|
|
14
15
|
const workspace_schema_1 = require("../../../lib/config/workspace-schema");
|
|
15
16
|
function updateCacheConfig(workspace, key, value) {
|
|
@@ -18,12 +19,49 @@ function updateCacheConfig(workspace, key, value) {
|
|
|
18
19
|
cache[key] = value;
|
|
19
20
|
return workspace.save();
|
|
20
21
|
}
|
|
22
|
+
function getCacheBasePath(workspaceRoot, cachePathSetting) {
|
|
23
|
+
if ((0, node_path_1.isAbsolute)(cachePathSetting)) {
|
|
24
|
+
return cachePathSetting;
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
// Find the git directory, walking up from workspaceRoot if necessary
|
|
28
|
+
let currentDir = workspaceRoot;
|
|
29
|
+
while (true) {
|
|
30
|
+
const gitPath = (0, node_path_1.join)(currentDir, '.git');
|
|
31
|
+
if ((0, node_fs_1.existsSync)(gitPath)) {
|
|
32
|
+
const stat = (0, node_fs_1.statSync)(gitPath);
|
|
33
|
+
if (stat.isFile()) {
|
|
34
|
+
// Could be a git worktree (or submodule)
|
|
35
|
+
const content = (0, node_fs_1.readFileSync)(gitPath, 'utf8');
|
|
36
|
+
const match = /^gitdir:\s*(.+)$/m.exec(content);
|
|
37
|
+
if (match) {
|
|
38
|
+
const gitdir = (0, node_path_1.resolve)(currentDir, match[1].trim());
|
|
39
|
+
const commondirPath = (0, node_path_1.join)(gitdir, 'commondir');
|
|
40
|
+
if ((0, node_fs_1.existsSync)(commondirPath)) {
|
|
41
|
+
// It's a git worktree
|
|
42
|
+
const commondir = (0, node_fs_1.readFileSync)(commondirPath, 'utf8').trim();
|
|
43
|
+
const commonGitDir = (0, node_path_1.resolve)(gitdir, commondir);
|
|
44
|
+
return (0, node_path_1.resolve)((0, node_path_1.dirname)(commonGitDir), cachePathSetting);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const parentDir = (0, node_path_1.dirname)(currentDir);
|
|
50
|
+
if (parentDir === currentDir) {
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
currentDir = parentDir;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch { }
|
|
57
|
+
return (0, node_path_1.resolve)(workspaceRoot, cachePathSetting);
|
|
58
|
+
}
|
|
21
59
|
function getCacheConfig(workspace) {
|
|
22
60
|
if (!workspace) {
|
|
23
61
|
throw new Error(`Cannot retrieve cache configuration as workspace is not defined.`);
|
|
24
62
|
}
|
|
25
63
|
const defaultSettings = {
|
|
26
|
-
path: (
|
|
64
|
+
path: getCacheBasePath(workspace.basePath, '.angular/cache'),
|
|
27
65
|
environment: workspace_schema_1.Environment.Local,
|
|
28
66
|
enabled: true,
|
|
29
67
|
};
|
|
@@ -35,11 +73,11 @@ function getCacheConfig(workspace) {
|
|
|
35
73
|
if (!(0, core_1.isJsonObject)(cacheSettings)) {
|
|
36
74
|
return defaultSettings;
|
|
37
75
|
}
|
|
38
|
-
const { path =
|
|
76
|
+
const { path = '.angular/cache', environment = defaultSettings.environment, enabled = defaultSettings.enabled,
|
|
39
77
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
78
|
} = cacheSettings;
|
|
41
79
|
return {
|
|
42
|
-
path: (
|
|
80
|
+
path: getCacheBasePath(workspace.basePath, path),
|
|
43
81
|
environment,
|
|
44
82
|
enabled,
|
|
45
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["utilities.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,9 @@ You are an expert in TypeScript, Angular, and scalable web application developme
|
|
|
26
26
|
|
|
27
27
|
- Keep components small and focused on a single responsibility
|
|
28
28
|
- Use `input()` and `output()` functions instead of decorators
|
|
29
|
+
- Use `model()` for two-way bound properties with `[(prop)]` syntax instead of pairing `input()` with `output()`
|
|
29
30
|
- Use `computed()` for derived state
|
|
31
|
+
- Use `linkedSignal()` for state derived from multiple reactive sources that must stay synchronized
|
|
30
32
|
- Prefer inline templates for small components
|
|
31
33
|
- Prefer Signal Forms (`@angular/forms/signals`) for new forms. They are stable in Angular v22+ and provide signal-based state, type-safe field access, and schema-based validation
|
|
32
34
|
- When not using Signal Forms, prefer Reactive forms instead of Template-driven ones
|
|
@@ -63,7 +63,7 @@ const MIN_SUPPORTED_DOCS_VERSION = 17;
|
|
|
63
63
|
* condition where a newly released CLI might default to searching for a documentation index that
|
|
64
64
|
* doesn't exist yet.
|
|
65
65
|
*/
|
|
66
|
-
const LATEST_KNOWN_DOCS_VERSION =
|
|
66
|
+
const LATEST_KNOWN_DOCS_VERSION = 22;
|
|
67
67
|
const docSearchInputSchema = zod_1.z.object({
|
|
68
68
|
query: zod_1.z
|
|
69
69
|
.string()
|
|
@@ -118,27 +118,66 @@ Searches the official Angular documentation (angular.dev) to answer questions ab
|
|
|
118
118
|
factory: createDocSearchHandler,
|
|
119
119
|
});
|
|
120
120
|
function createDocSearchHandler({ logger }) {
|
|
121
|
-
let
|
|
122
|
-
|
|
123
|
-
if (!
|
|
121
|
+
let apiKey;
|
|
122
|
+
async function performSearch(query, version) {
|
|
123
|
+
if (!apiKey) {
|
|
124
124
|
const dcip = (0, node_crypto_1.createDecipheriv)('aes-256-gcm', (constants_1.k1 + ALGOLIA_APP_ID).padEnd(32, '^'), constants_1.iv).setAuthTag(Buffer.from(constants_1.at, 'base64'));
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
apiKey = dcip.update(ALGOLIA_API_E, 'hex', 'utf-8') + dcip.final('utf-8');
|
|
126
|
+
}
|
|
127
|
+
const url = `https://${ALGOLIA_APP_ID}-dsn.algolia.net/1/indexes/angular_v${version}/query`;
|
|
128
|
+
const response = await fetch(url, {
|
|
129
|
+
method: 'POST',
|
|
130
|
+
headers: {
|
|
131
|
+
'Content-Type': 'application/json',
|
|
132
|
+
'X-Algolia-Application-Id': ALGOLIA_APP_ID,
|
|
133
|
+
'X-Algolia-API-Key': apiKey,
|
|
134
|
+
},
|
|
135
|
+
body: JSON.stringify({
|
|
136
|
+
query,
|
|
137
|
+
attributesToRetrieve: [
|
|
138
|
+
'hierarchy.lvl0',
|
|
139
|
+
'hierarchy.lvl1',
|
|
140
|
+
'hierarchy.lvl2',
|
|
141
|
+
'hierarchy.lvl3',
|
|
142
|
+
'hierarchy.lvl4',
|
|
143
|
+
'hierarchy.lvl5',
|
|
144
|
+
'hierarchy.lvl6',
|
|
145
|
+
'content',
|
|
146
|
+
'type',
|
|
147
|
+
'url',
|
|
148
|
+
],
|
|
149
|
+
hitsPerPage: 10,
|
|
150
|
+
}),
|
|
151
|
+
signal: AbortSignal.timeout(5000), // Timeout after 5 seconds
|
|
152
|
+
});
|
|
153
|
+
if (!response.ok) {
|
|
154
|
+
throw new Error(`Search request failed with status ${response.status} (${response.statusText})`);
|
|
127
155
|
}
|
|
156
|
+
const data = (await response.json());
|
|
157
|
+
return data.hits;
|
|
158
|
+
}
|
|
159
|
+
return async ({ query, includeTopContent, version }) => {
|
|
128
160
|
let finalSearchedVersion = Math.max(version ?? LATEST_KNOWN_DOCS_VERSION, MIN_SUPPORTED_DOCS_VERSION);
|
|
129
|
-
let
|
|
161
|
+
let allHits;
|
|
130
162
|
try {
|
|
131
|
-
|
|
163
|
+
allHits = await performSearch(query, finalSearchedVersion);
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
logger.warn(`Error searching Angular v${finalSearchedVersion} documentation: ${error}`);
|
|
132
167
|
}
|
|
133
|
-
catch { }
|
|
134
168
|
// If the initial search for a newer-than-stable version returns no results, it may be because
|
|
135
169
|
// the index for that version doesn't exist yet. In this case, fall back to the latest known
|
|
136
170
|
// stable version.
|
|
137
|
-
if (!
|
|
171
|
+
if ((!allHits || allHits.length === 0) && finalSearchedVersion > LATEST_KNOWN_DOCS_VERSION) {
|
|
172
|
+
logger.warn(`Documentation index for v${finalSearchedVersion} not found or empty. Falling back to v${LATEST_KNOWN_DOCS_VERSION}.`);
|
|
138
173
|
finalSearchedVersion = LATEST_KNOWN_DOCS_VERSION;
|
|
139
|
-
|
|
174
|
+
try {
|
|
175
|
+
allHits = await performSearch(query, finalSearchedVersion);
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
logger.warn(`Error searching fallback Angular v${finalSearchedVersion} documentation: ${error}`);
|
|
179
|
+
}
|
|
140
180
|
}
|
|
141
|
-
const allHits = searchResults?.results.flatMap((result) => result.hits);
|
|
142
181
|
if (!allHits?.length) {
|
|
143
182
|
return {
|
|
144
183
|
content: [
|
|
@@ -265,38 +304,4 @@ function formatHitToParts(hit) {
|
|
|
265
304
|
const breadcrumb = hierarchy.join(' > ');
|
|
266
305
|
return { title, breadcrumb };
|
|
267
306
|
}
|
|
268
|
-
/**
|
|
269
|
-
* Creates the search arguments for an Algolia search.
|
|
270
|
-
*
|
|
271
|
-
* The arguments are based on the search implementation in `adev`.
|
|
272
|
-
*
|
|
273
|
-
* @param query The search query string.
|
|
274
|
-
* @returns The search arguments for the Algolia client.
|
|
275
|
-
*/
|
|
276
|
-
function createSearchArguments(query, version) {
|
|
277
|
-
// Search arguments are based on adev's search service:
|
|
278
|
-
// https://github.com/angular/angular/blob/4b614fbb3263d344dbb1b18fff24cb09c5a7582d/adev/shared-docs/services/search.service.ts#L58
|
|
279
|
-
return [
|
|
280
|
-
{
|
|
281
|
-
indexName: `angular_v${version}`,
|
|
282
|
-
params: {
|
|
283
|
-
query,
|
|
284
|
-
attributesToRetrieve: [
|
|
285
|
-
'hierarchy.lvl0',
|
|
286
|
-
'hierarchy.lvl1',
|
|
287
|
-
'hierarchy.lvl2',
|
|
288
|
-
'hierarchy.lvl3',
|
|
289
|
-
'hierarchy.lvl4',
|
|
290
|
-
'hierarchy.lvl5',
|
|
291
|
-
'hierarchy.lvl6',
|
|
292
|
-
'content',
|
|
293
|
-
'type',
|
|
294
|
-
'url',
|
|
295
|
-
],
|
|
296
|
-
hitsPerPage: 10,
|
|
297
|
-
},
|
|
298
|
-
type: 'default',
|
|
299
|
-
},
|
|
300
|
-
];
|
|
301
|
-
}
|
|
302
307
|
//# sourceMappingURL=doc-search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-search.js","sourceRoot":"","sources":["doc-search.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"doc-search.js","sourceRoot":"","sources":["doc-search.ts"],"names":[],"mappings":"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"}
|