ng-upgrade-doctor 0.2.0 → 0.2.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.
Files changed (2) hide show
  1. package/README.md +57 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  > Zero-dependency Angular upgrade readiness & blast-radius diagnostic.
4
4
 
5
+ [![npm version](https://img.shields.io/npm/v/ng-upgrade-doctor.svg)](https://www.npmjs.com/package/ng-upgrade-doctor)
6
+ [![npm downloads](https://img.shields.io/npm/dm/ng-upgrade-doctor.svg)](https://www.npmjs.com/package/ng-upgrade-doctor)
7
+ [![license](https://img.shields.io/npm/l/ng-upgrade-doctor.svg)](./LICENSE)
8
+ [![node](https://img.shields.io/node/v/ng-upgrade-doctor.svg)](https://nodejs.org)
9
+ ![dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)
10
+
5
11
  Run one command in any Angular project and get the whole picture: what's installed, what's compatible with the next Angular versions, what will block the upgrade, what's abandoned, and roughly how much effort it will take — as a shareable HTML report, machine-readable JSON, and a terminal summary.
6
12
 
7
13
  `ng-upgrade-doctor` is a **diagnostician, not an upgrader**. It tells you what you're walking into *before* you run `ng update`. It never modifies your code — it's completely read-only.
@@ -14,6 +20,57 @@ npx ng-upgrade-doctor
14
20
 
15
21
  That's it. No install, no config, no `ng add`. It writes `ng-upgrade-report.html` and `ng-upgrade-report.json` into your project.
16
22
 
23
+ ## Sample report
24
+
25
+ The HTML report is the shareable artifact — a readiness gauge, dependency-health bar, upgrade-path timeline, and a `file:line:col` breakdown of every breaking change:
26
+
27
+ ![ng-upgrade-doctor HTML report](docs/sample-report.png)
28
+
29
+ <!-- To add the image: open the generated ng-upgrade-report.html, screenshot it,
30
+ and save it as docs/sample-report.png (create the docs/ folder). -->
31
+
32
+ ## Example (terminal summary)
33
+
34
+ ```text
35
+ ng-upgrade-doctor · Angular upgrade readiness report
36
+ ────────────────────────────────────────────────────────
37
+
38
+ Project: acme-dashboard
39
+ Angular: 14.2.0 (6 majors behind 20)
40
+ Readiness: 31/100 Significant — clear blockers first
41
+ Effort est.: 10–26 person-days (6 hops)
42
+
43
+ Inventory
44
+ Dependencies: 72 (58 prod / 14 dev)
45
+ Angular packages: 12
46
+ 3rd-party Angular libs: 9
47
+ Components: 214 (0 standalone, 0%)
48
+ Source files: 480 ts · 190 html · 120 specs
49
+
50
+ Dependency compatibility (target: Angular 20)
51
+ Compatible: 60
52
+ Needs upgrade / partial: 3
53
+ Blockers (no compatible release): 2
54
+ Removed / discontinued: 3
55
+ Abandoned / unmaintained: 4
56
+
57
+ Code breaking changes (AST · 41 files)
58
+ Removed APIs in use: 6
59
+ Deprecated APIs in use: 22
60
+ Modernization opportunities: 512
61
+
62
+ Must-fix before upgrading
63
+ ✗ @angular/flex-layout — Officially discontinued; no releases past v15.
64
+ → Angular CDK Layout + native CSS Flexbox/Grid
65
+ ✗ tslint — deprecated and unsupported.
66
+ → angular-eslint
67
+ ✗ protractor — dropped from the Angular CLI.
68
+ → Playwright or Cypress
69
+
70
+ Recommended upgrade path
71
+ v15 → v16 → v17 → v18 → v19 → v20
72
+ ```
73
+
17
74
  ## Why "zero dependency"?
18
75
 
19
76
  The published package has an empty `dependencies` map. It relies only on the Node standard library:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-upgrade-doctor",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Zero-dependency Angular upgrade readiness & blast-radius diagnostic. Run npx ng-upgrade-doctor in any Angular project to get a full picture of what needs upgrading, what will break, and how hard it will be.",
5
5
  "keywords": [
6
6
  "angular",