Modernize the project - #650
Open
kklem0 wants to merge 50 commits into
Open
Conversation
source: ionic-team#612 note: `@ionic/eslint-config@0.4.0` already depends on `@typescript-eslint/eslint-plugin@^5.58.0`.
source: ionic-team#633 ..but personally, I believe this just "fixes" the notification icon generation that someone else started adding a long time ago. :/ either way, that's where these changes come from.
…roken tests
- npm audit: 29 vulnerabilities (9 high) -> 0; drop overrides that pinned vulnerable @xmldom/xmldom
- fix ESM-only breakage that broke jest and CI: yargs 18 -> 17, replace node-fetch with global fetch
- upgrade jest 27 -> 30, ts-jest 29, TypeScript 5.9, sharp 0.35, husky 9, trapeze 7.1.4
- remove unused np, @types/{plist->kept,rimraf,slice-ansi,node-fetch} dev deps
- declare phantom deps exposed by pnpm strict layout (kleur, @ionic/utils-*, cli-framework-output)
- pin xcode to apache/cordova-node-xcode@4a9fd34 (4.0.0-dev, no uuid); remove unused 'replace' via pnpm override removal; mergexml gone with trapeze 7.1.4
- CI: pnpm + Node 22/24 matrix; weekly workflow now audits, builds and tests before pushing
- engines >=20.3.0, .nvmrc 24, packageManager pnpm@10.11.1, CONTRIBUTING uses pnpm
…4.0.0) BREAKING CHANGE: engines.node raised from >=20.3.0 to >=22.12.0 (Node 20 is EOL). - commander 15, yargs 18, node-html-parser 8 — require(esm) is guaranteed on the new Node floor; tsconfig module node16 -> nodenext to model it - packageManager pnpm@11.13.1; lockfile rebuilt under pnpm 11's 24h minimumReleaseAge supply-chain gate - xcode stays pinned to apache/cordova-node-xcode@4a9fd34 (4.0.0-dev, drops uuid@7); blockExoticSubdeps deliberately disabled for it — re-enable and switch to a version range once xcode@4 is published to npm - GitHub Actions checkout/setup-node v4 -> v7 - remove stale changeset left over from PR ionic-team#605 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
iOS: generate iOS 18+ dark and tinted 1024px icon variants registered via asset-catalog appearances (Xcode 16 format), with optional explicit ios/icon-dark.png and ios/icon-tinted.png sources. Verified with Xcode 26 actool (zero errors/warnings). Android: adaptive icons gain a <monochrome> layer (Android 13+ themed icons; Android 16 QPR2 force-themes without it) and a spec-compliant full-bleed background; foreground inset moved to the 66dp safe zone (19.4%). Notification icon generation is now wired up (was dead code) with xxxhdpi corrected 144->96px. Fixed android/icon-foreground and icon-background loading with the wrong asset kind, and the default dark splash generated at landscape dimensions. Dropped obsolete ldpi icons; legacy icon padding now scales with density. Verified with a real Capacitor 8 gradle build and APK inspection. PWA: icons are genuine PNGs (previously PNG bytes in .webp-named files) in the modern set 192/512/1024 plus a separate safe-zone-padded maskable icon and an apple-touch-icon.png. Manifest MIME types fixed, manifest cleanup no longer deletes user-managed files, apple splash device list refreshed through iPhone 17 / M4 iPad Pro, and the broken Apple HIG scraper removed (node-html-parser dependency dropped). --pwaTags works again with point-based media queries. The previously skipped PWA splash test is re-enabled now that sizes are deterministic. Test fixtures refreshed to the Capacitor 8 template (compileSdk 36, minSdk 24). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Scaffolds a fresh Capacitor app from @capacitor/app@latest, generates assets with the built CLI, and verifies the real toolchains accept the output: Gradle assembleDebug plus AAPT2 APK inspection on Android (monochrome adaptive icon layer, 6 notification icons, no ldpi), and Xcode actool compilation of the appearances-based asset catalog on iOS. Both verification scripts were validated verbatim against local builds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Drops the Node 22 matrix leg from CI and aligns the E2E workflow. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Minor bump for the asset modernization. Engines remain >=22.12; CI tests on Node 24 only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds release.yml: on v* tags (or dispatch on a tag ref), verifies the tag matches package.json, builds, lints, tests, then publishes with OIDC — no NPM_TOKEN secret, provenance attached automatically. The weekly update workflow now tags its version bump and dispatches the release workflow (GITHUB_TOKEN tag pushes cannot trigger workflows directly), so npm tracks main automatically. README documents the npm install path alongside github:#main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Modernize asset standards
CONTRIBUTING.md described local `pnpm changeset publish`, which the trusted-publisher-only setup no longer permits; it now documents the tag-driven CI release. README gains --androidFlavor and --pwaTags in the flags list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
AGENTS.md carries the repo guidance for AI coding agents: architecture map, commands, platform asset rules, testing conventions, release and versioning policy, and dependency constraints. CLAUDE.md imports it via @AGENTS.md; copilot-instructions.md and GEMINI.md point to it. Tools like Cursor and Codex read AGENTS.md natively. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modernize the project, if you're interested of merging this, we will fix the small things including the temporary name. For now install it with
pnpm add -D sssf-capacitor-assetsfor testing.