Commit a9a6157
Upgrade ng 16-21 compat (#101)
* upd style scope & remove keyframe
* bump
* Add CLAUDE.md with comprehensive project documentation
Provides AI assistants with repository structure, build commands,
architecture overview, code style conventions, testing setup,
and important development guidelines for the ng-flowchart library.
https://claude.ai/code/session_01BU8PBBZH5dS43JHhPS14Xa
* Add comprehensive documentation for all major features
Documents all undocumented features from michaelmarcuccio's PRs:
- Horizontal/vertical orientation with runtime switching
- Drag-scroll canvas panning with configurable mouse buttons
- Manual connectors (drawing, selecting, deleting arrows between steps)
- Connector validation overrides (isConnectorPadEnabled, isValidConnectorDropTarget)
- destroyConnectors() public step method
- onLinkConnector and afterDeleteConnector callbacks
- zoom.skipRender performance optimization
- OnPush change detection support
- Nested canvas zoom synchronization (setNestedScale)
- Angular 17+ REMOVE_STYLES_ON_COMPONENT_DESTROY setup instructions
- Updated JSON format with connectors array
- Complete changelog from beta.17 through beta.31
- Updated CLAUDE.md with major features summary
https://claude.ai/code/session_01BU8PBBZH5dS43JHhPS14Xa
* Trim verbose and duplicate sections from README docs
- Condense changelog to major feature releases only, removing
patch-level bug fix entries that don't help users
- Remove Manual Connectors sub-sections (Connector Callbacks,
JSON Format, Theming Connectors, Programmatic Deletion) that
duplicate content already in the Callbacks, JSON Output, Theming,
and Step Methods sections; replaced with cross-reference links
- Remove OnPush FAQ entry ("it works" is not a useful FAQ)
- Tighten Nested Canvas Zoom FAQ prose
https://claude.ai/code/session_01QxztW59tMtjVngA3DtUg1r
* Restore original feature list section name
Keep original "Current and Upcoming Feature List" heading rather
than renaming it to "Feature List" -- minimizes structural changes.
https://claude.ai/code/session_01QxztW59tMtjVngA3DtUg1r
* Add Angular 14-21 support with dev toolchain upgrade to Angular 19
- Widen library peer dependencies from "14 - 18" to "14 - 21" for
@angular/common and @angular/core
- Upgrade dev toolchain to Angular 19.2 (TypeScript 5.7, ng-packagr 19.2,
zone.js 0.15) for building the library with partial compilation mode
- Add explicit standalone: false to all components and directives to
accommodate Angular 19's default standalone: true behavior while
maintaining NgModule compatibility
- Remove deprecated strictMetadataEmit tsconfig option (View Engine remnant)
The library continues to use compilationMode: "partial" which produces
forward-compatible output that Angular's linker processes at the consumer's
build time, ensuring compatibility across Angular 14 through 21.
https://claude.ai/code/session_01Cr6QL4PQib5XRZdWkVVgXK
* Add Angular compatibility test matrix to CI
Split the single build+publish job into three jobs:
- build: builds library and uploads artifact
- compat-test: matrix job testing Angular 14, 18, and 21 compatibility
- publish: gated on compat tests passing
Each compat test creates a fresh Angular project at the target version,
installs the built library, adds an import, and verifies the build succeeds.
https://claude.ai/code/session_01Cr6QL4PQib5XRZdWkVVgXK
* Fix CI compat-test workflow bugs found during review
Four bugs prevented the matrix tests from actually exercising the library:
1. NgModule sed pattern only matched single-line imports arrays.
Angular CLI generates multi-line:
imports: [
BrowserModule
]
Fixed pattern matches BrowserModule at end of line.
2. Standalone path hardcoded src/app/app.component.ts but Angular 21+
renamed this to src/app/app.ts. Now detects which file exists.
3. npm install of an unpacked directory creates a symlink, which breaks
peer-dep resolution by traversing into the library dev's node_modules.
Now packs into a .tgz and installs the tarball, mirroring real publish.
4. Angular 14 fresh projects no longer build cleanly in 2026 due to
transitive @types/node@25 incompatible with TypeScript 4.7.
Bumped oldest matrix entry to Angular 16, which still tests the
NgModule path and is closer to what real users have.
https://claude.ai/code/session_01Cr6QL4PQib5XRZdWkVVgXK
* Narrow supported Angular range to 16-21
Drop Angular 14-15 from peer dependencies. The Angular 14 ecosystem
no longer builds cleanly (transitive @types/node@25 incompatible with
TypeScript 4.7), and 15 is similarly affected. Angular 16 is the oldest
version we can realistically test in CI, so make that the floor.
Updates peer deps, README, CLAUDE.md, and removes the stale workflow
comment about ecosystem rot.
https://claude.ai/code/session_01Cr6QL4PQib5XRZdWkVVgXK
* Bump to 1.0.0-beta.32 and gate publish to upstream repo
Add a repository guard so the npm publish step only runs on
joel-wenzel/ng-flowchart, allowing forks to merge to 1.0.0-beta
and run the build + compat-test matrix without triggering a publish.
https://claude.ai/code/session_01Cr6QL4PQib5XRZdWkVVgXK
* Document Angular 16-21 support range in README
The supported-versions line said "Angular 16+", which is open-ended and
didn't reflect the upper bound declared in the library peer-deps. Tighten
to the actual range and add a beta.32 changelog entry covering Angular
19/20/21 support.
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: michaelmarcuccio <michaelmarcuccio@users.noreply.github.com>1 parent 793c584 commit a9a6157
19 files changed
Lines changed: 13010 additions & 23495 deletions
File tree
- .github/workflows
- projects
- ng-flowchart
- src/lib
- ng-flowchart-arrow
- ng-flowchart-connector-pad
- ng-flowchart-connector
- ng-flowchart-pad-arrow
- ng-flowchart-step
- workspace/src/app
- custom-step
- route-step
- form-step
- nested-flow
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | 1 | | |
4 | 2 | | |
5 | | - | |
6 | 3 | | |
7 | | - | |
8 | 4 | | |
9 | 5 | | |
10 | 6 | | |
11 | | - | |
12 | 7 | | |
13 | 8 | | |
14 | | - | |
15 | 9 | | |
16 | | - | |
17 | 10 | | |
18 | | - | |
19 | 11 | | |
20 | | - | |
21 | | - | |
22 | 12 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 13 | + | |
27 | 14 | | |
28 | | - | |
29 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
30 | 18 | | |
31 | | - | |
32 | | - | |
| 19 | + | |
33 | 20 | | |
34 | 21 | | |
35 | 22 | | |
36 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
37 | 109 | | |
38 | 110 | | |
39 | | - | |
| 111 | + | |
40 | 112 | | |
41 | 113 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
0 commit comments