Skip to content

Make the libraries' components standalone; prefer-standalone is an error - #419

Merged
adamjohnwright merged 1 commit into
mainfrom
chore/322-standalone
Oct 12, 2026
Merged

adamjohnwright merged 1 commit into
mainfrom
chore/322-standalone

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Closes #322: the last of its migrations.

  • reactome-table: TableComponent, UploadTableComponent and DownloadTableComponent converted by Angular's standalone migration (convert-to-standalone mode). ReactomeTableModule imports and exports them in place of declaring them.
  • reactome-gsa-form: GsaFormComponent, which the migration left, was converted by hand. It imports only what its template uses; the build's NG8113 named the 17 that it didn't. GsaFormModule imports it instead of declaring it, and keeps its exports, TourUtilsService provider, store and effects features, and routing. Its bootstrap entry, meaningless in a feature module, is dropped.
  • Both NgModules stay as thin wrappers with the same exports, so pathway-browser (GsaFormModule, ReactomeTableModule) and reactome-table-wc (ReactomeTableModule) import them unchanged.
  • DropdownComponent (gsa-dropdown) deleted: it was listed in GsaFormModule and used in no template anywhere. Nothing imports it, which knip reported once the module stopped listing it.
  • @angular-eslint/prefer-standalone has no findings left and is promoted to error. The lint baseline drops from 1453 warnings to 1448: the rule's 4, plus 1 no-explicit-any that was in the deleted dropdown.

Tests

  • Builds: build:libs, ng build reactome-table-wc, npm run build and build:embed all succeed.
  • Unit tests: 689 passed.
  • Full e2e suite: 388 passed, plus the 6 tests that skip themselves. That includes the qualitative (reactome-table) and quantitative (GSA form) analysis specs.
  • Gates: check:types ok; check:lint at the new baseline; check:dead unchanged.

🤖 Generated with Claude Code

The last of #322's migrations. reactome-table's three components were
converted by Angular's standalone migration; GsaFormComponent, which the
migration left, by hand: it imports what its template uses (the build's
NG8113 named the rest), and GsaFormModule imports it rather than declaring
it. Both NgModules stay as thin wrappers with the same exports, providers,
store and effects features and routing, so pathway-browser and
reactome-table-wc import them unchanged. GsaFormModule's bootstrap entry,
meaningless in a feature module, is dropped.

DropdownComponent was listed in GsaFormModule and used in no template
anywhere; it is deleted. With no non-standalone component left,
@angular-eslint/prefer-standalone is promoted to an error, and the lint
baseline drops from 1453 warnings to 1448.

Closes #322.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit b26e248 into main Oct 12, 2026
6 checks passed
@adamjohnwright
adamjohnwright deleted the chore/322-standalone branch October 12, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Modernise legacy Angular patterns with the official migrations

1 participant