Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
51c6fcc
chore(many): upgrade Typescript
thetaPC Jul 21, 2026
95f5786
chore(react): more ts files
thetaPC Jul 22, 2026
c0e4cec
chore(react-router): more typescript stuff
thetaPC Jul 22, 2026
b57ee2a
chore(vue): ts stuff
thetaPC Jul 22, 2026
a8ed511
chore(vue-router): ts stuff
thetaPC Jul 22, 2026
9d982a4
chore(angular): updated ts
thetaPC Jul 23, 2026
538056c
chore(many): move tsconfig base to core/
thetaPC Jul 23, 2026
2edc220
fix(react): revert autogenerated file
thetaPC Jul 23, 2026
5d3e2ff
chore(react): update prettierignore for autogenerated files
thetaPC Jul 24, 2026
a322f1a
chore(react): update @testing-library/react
thetaPC Jul 24, 2026
47facc8
chore(react): upgrade jest-dom
thetaPC Jul 24, 2026
a05b0ba
chore(react): remove dead file
thetaPC Jul 27, 2026
bc3eba8
chore(react, vue): remove dead devDeps
thetaPC Jul 27, 2026
ae1cb5b
chore(ci): enforce clean git tree in router builds
thetaPC Jul 28, 2026
c4f5377
chore(react-router, vue-router): run prettier
thetaPC Jul 28, 2026
17e4422
chore(react-router): upgrade to eslint 9 flat config
thetaPC Jul 28, 2026
d4f4b57
chore(vue-router): upgrade to eslint 9 flat config
thetaPC Jul 28, 2026
22e7567
chore(vue): upgrade to eslint 9 flat config
thetaPC Jul 28, 2026
df46b3e
chore(react): upgrade to eslint 9 flat config
thetaPC Jul 28, 2026
219ef4f
chore(angular-server): upgrade to eslint 9 flat config
thetaPC Jul 28, 2026
3ebe5ab
chore(core): upgrade to eslint 9 flat config
thetaPC Jul 29, 2026
e2d64df
chore(many): pin eslint-plugin-import and minimize lock churn
thetaPC Jul 29, 2026
d7ff389
Merge branch 'major-9.0' of github.com:ionic-team/ionic-framework int…
thetaPC Jul 29, 2026
bd0733a
chore(many): override stale @ionic/eslint-config peer deps
thetaPC Jul 29, 2026
2665534
chore(many): minimize eslint upgrade lockfile churn
thetaPC Jul 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/actions/build-react-router/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ runs:
run: npm run build
shell: bash
working-directory: ./packages/react-router
- name: Clean package.json updates
run: git checkout ./core/package.json ./packages/react/package.json
shell: bash
- name: 🔍 Check Diff
run: git diff --exit-code
shell: bash
- uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-react-router
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/actions/build-vue-router/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ runs:
run: npm run build
shell: bash
working-directory: ./packages/vue-router
- name: Clean package.json updates
run: git checkout ./core/package.json
shell: bash
- name: 🔍 Check Diff
run: git diff --exit-code
shell: bash
- uses: ./.github/workflows/actions/upload-archive
with:
name: ionic-vue-router
Expand Down
4 changes: 0 additions & 4 deletions core/.eslintignore

This file was deleted.

54 changes: 0 additions & 54 deletions core/.eslintrc.js

This file was deleted.

73 changes: 73 additions & 0 deletions core/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
const js = require('@eslint/js');
const { FlatCompat } = require('@eslint/eslintrc');

const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
});

/*
The shared @ionic/eslint-config and the local custom-rules plugin are still
authored in eslintrc format, so the previous config is bridged through
FlatCompat. Configs without their own files scope are limited to TS files to
match the previous `eslint src` behavior and keep the parser off plain JS
files like this config.
*/
module.exports = [
{
ignores: [
'dist/**',
'src/components.d.ts',
'**/test/**/*.spec.ts',
'**/test/**/*.spec.tsx',
'**/test/**/e2e.ts',
],
},
...compat
.config({
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'@ionic/eslint-config/recommended',
'prettier',
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: 'tsconfig.json',
tsconfigRootDir: __dirname,
},
plugins: ['@typescript-eslint', 'custom-rules'],
rules: {
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/prefer-optional-chain': 'off',
'@typescript-eslint/no-unused-vars': ['warn', { varsIgnorePattern: '^(h|Fragment)$' }],
'no-useless-catch': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'no-case-declarations': 'off',
'@typescript-eslint/strict-boolean-expressions': [
'error',
{ allowNullableBoolean: true, allowNullableString: true, allowAny: true },
],
'@typescript-eslint/no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
'custom-rules/no-component-on-ready-method': 'error',
},
overrides: [
{
files: ['*.e2e.ts'],
rules: {
'custom-rules/await-playwright-promise-assertion': 'error',
'custom-rules/no-playwright-to-match-snapshot-assertion': 'error',
},
},
],
})
.map((config) => (config.files ? config : { ...config, files: ['**/*.ts', '**/*.tsx'] })),
];
Loading
Loading