Skip to content

v3.0.0

Choose a tag to compare

@rdlabo rdlabo released this 22 Aug 04:53
· 14 commits to main since this release

Highlights

Version 3 adds Ionic Angular 9 support, supports Angular template parser 21 and 22, and reduces the overhead of collecting icons from Angular templates.

Breaking changes

  • Node.js 22 or later is now required.
  • Ionic Angular 9 or later is now required. Projects that remain on Ionic 8 must continue using version 2 of this package.
  • @angular-eslint/template-parser is now a peer dependency. Install major 21 or 22 to match the Angular ESLint version used by your application.
  • The package's legacy Ionic import migration has been removed. Ionic framework migrations are now handled by Ionic's official @ionic/migrate command.

Migration from v2

Commit your application changes, then run Ionic's official migrator from the application root:

npx @ionic/migrate --dry-run
npx @ionic/migrate

After reviewing the migration, install version 3 and the matching Angular template parser:

npm install --save-dev \
  @rdlabo/ionic-angular-collect-icons@^3 \
  @angular-eslint/template-parser@^21

Use @angular-eslint/template-parser@^22 when the application uses Angular ESLint 22.

See the Ionic Angular 9 migration guide for standalone imports, IonicModule, module resolution, CSS imports, and the remaining Ionic 9 checks.

Performance and reliability

  • Templates that cannot contain an ion-icon are skipped before Angular template parsing.
  • The known Ionicons name set is cached across collection work.
  • Generated exports are added in one batch while preserving their order and removing duplicates.
  • Existing project discovery and the zero-known-icon safeguard remain unchanged.
  • --project-path is now honored when locating angular.json, detecting the installed Ionic version, and running collection.

Compatibility

  • Node.js: 22 or later
  • Ionic Angular: 9 or later
  • Angular: 18 or later
  • @angular-eslint/template-parser: 21.x or 22.x
  • TypeScript: 5.4 or later
  • Ionicons: 8 or later

Compatibility is verified with packed-package CLI tests for parser 21 with ESLint 8 and parser 22 with ESLint 9.

Version 3 also ships the project documentation in the npm package and updates repository links following the move to the rdlabo-dev GitHub organization.

What's changed

Full Changelog: v2.1.0...v3.0.0