Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply changes required by the centralized tooling configs #4607

Draft
wants to merge 44 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
8d902c4
Add `configs` to `workspaces`
aryaemami59 Aug 27, 2024
6ba067e
use foreach so publish doesn't fail if package doesn't have tests, an…
EskiMojo14 Feb 8, 2024
287c292
Build `config` packages on `install`
aryaemami59 Aug 27, 2024
bb16653
Initialize all the `config` packages
aryaemami59 Aug 27, 2024
c8e4f43
Use the shareable Prettier config
aryaemami59 Aug 27, 2024
4ba89c9
Use the shareable ESLint config
aryaemami59 Aug 27, 2024
69efb66
Use shareable `tsconfig.json` files
aryaemami59 Aug 28, 2024
0051e19
Use the shareable Vitest config
aryaemami59 Aug 28, 2024
db2bf48
Run `yarn format` to format all files
aryaemami59 Sep 3, 2024
9f61eab
Add `AnyNonNullishValue` helper type
aryaemami59 Sep 3, 2024
a34a45a
Add `AnyFunction` helper type
aryaemami59 Sep 3, 2024
e6c216a
Add `EmptyObject` helper type
aryaemami59 Sep 3, 2024
1c5f7fb
Add `AnyObject` helper type
aryaemami59 Sep 3, 2024
4e49158
Add `isObject` and `hasBodyAndHeaders` utility functions
aryaemami59 Sep 3, 2024
1a45f63
Change all `let` variables to `const` to comply with `prefer-const` rule
aryaemami59 Sep 3, 2024
78748d8
Make `hasBodyAndHeaders` assertion looser
aryaemami59 Sep 3, 2024
aa4df4d
Use `hasBodyAndHeaders` to fix TS issues in `fetchBaseQuery.test.tsx`
aryaemami59 Sep 3, 2024
5f81c94
Fix lint issues related to the `no-prototype-builtins` rule
aryaemami59 Sep 3, 2024
1599894
Fix `no-unsafe-optional-chaining` related problems
aryaemami59 Feb 3, 2024
08875eb
Fix `@typescript-eslint/prefer-as-const` related problems
aryaemami59 Sep 3, 2024
f89e0d7
Fix `no-useless-escape` related problems
aryaemami59 Sep 3, 2024
de17683
Fix `no-extra-boolean-cast` related problems
aryaemami59 Sep 3, 2024
fe40d6d
Fix `no-constant-condition` related problems
aryaemami59 Feb 3, 2024
66ce2f3
Fix `no-empty` related problems
aryaemami59 Feb 3, 2024
ec96f1c
Replace all `Function` references with `AnyFunction`
aryaemami59 Feb 3, 2024
39e21d0
Move custom matchers into `vitest.setup.ts`
aryaemami59 Feb 8, 2024
66d15ee
Fix `@typescript-eslint/no-unnecessary-type-constraint` related problems
aryaemami59 Sep 3, 2024
acc3b06
Disable `prefer-rest-params` inside `composeWithDevTools`
aryaemami59 Feb 8, 2024
15df0c3
Fix `@typescript-eslint/no-var-requires` related problems
aryaemami59 Feb 3, 2024
de6ed79
Fix issues related to the `@typescript-eslint/prefer-function-type` rule
aryaemami59 Feb 3, 2024
df02716
Fix problems related to the `@typescript-eslint/no-empty-function` rule
aryaemami59 Feb 7, 2024
7746070
Fix problems related to the `sort-imports` rule
aryaemami59 Sep 3, 2024
47d6d1d
Replace all `{}` types with `AnyNonNullishValue`
aryaemami59 Feb 3, 2024
7e16317
Remove unused ESLint disable directives
aryaemami59 Sep 4, 2024
168e28f
Fix `@typescript-eslint/no-unused-expressions` related issues
aryaemami59 Jul 31, 2024
299387b
Fix problems related to the `@typescript-eslint/array-type` rule
aryaemami59 Sep 4, 2024
c9a61d9
Fix `noImplicitReturns`-related issues in `src/tests/utils/helpers.tsx`
aryaemami59 Sep 4, 2024
6ca62d4
Fix issues related to `hasBodyAndHeaders` usage
aryaemami59 Sep 4, 2024
4584bbe
Lint files and check formatting during CI
aryaemami59 Sep 4, 2024
d6441fa
Fix TS issues related to `AnyNonNullishValue`
aryaemami59 Sep 5, 2024
de2849a
Fix TS issues related to `EmptyObject`
aryaemami59 Sep 5, 2024
1422a2c
Remove unused imports
aryaemami59 Sep 21, 2024
1d9fba4
Fix the remaining lint issues
aryaemami59 Feb 14, 2025
c45ce24
Resolve remaining lint errors
aryaemami59 Feb 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
61 changes: 0 additions & 61 deletions .eslintrc.js

This file was deleted.

6 changes: 5 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ on:
- '@rtk-query/codegen-openapi'
- '@rtk-query/graphql-request-base-query'
- '@reduxjs/rtk-codemods'
- '@reduxjs/eslint-config'
- '@reduxjs/prettier-config'
- '@reduxjs/tsconfig'
- '@reduxjs/vitest-config'
jobs:
publish:
runs-on: ubuntu-latest
Expand All @@ -28,7 +32,7 @@ jobs:
registry-url: 'https://registry.npmjs.org'
cache: 'yarn'
- run: yarn install --frozen-lockfile
- run: yarn workspace ${{ inputs.package }} test
- run: yarn workspaces foreach --include "${{ inputs.package }}" run test
- run: yarn workspace ${{ inputs.package }} exec npm publish --access public --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
6 changes: 6 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ jobs:
- name: Install deps
run: yarn install

- name: Check formatting
run: yarn workspaces foreach -Ap -j unlimited run format-check

- name: Lint files
run: yarn workspaces foreach -Ap -j unlimited run lint

# Read existing version, reuse that, add a Git short hash
- name: Set build version to Git commit
run: yarn tsx scripts/writeGitVersion.mts $(git rev-parse --short HEAD)
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ typesversions
.pnp.*
*.tgz

tsconfig.vitest-temp.json
tsconfig.vitest-temp.json
.eslintcache
35 changes: 31 additions & 4 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,31 @@
**/dist/**
**/etc/**
**/temp/**
**/__testfixtures__/**
dist/
temp/
tmp/
__testfixtures__/
build/
lib/

.yalc
yalc.lock
yalc.sig

.idea/
.vscode/
.tmp-projections
coverage/

typesversions
.cache
.yarnrc
.yarn/*
.yarn/releases
**/.yarn/cache
.pnp.*
*.tgz

tsconfig.vitest-temp.json
.eslintcache

.docusaurus/
.next/
examples/publish-ci/
4 changes: 0 additions & 4 deletions .prettierrc.json

This file was deleted.

2 changes: 1 addition & 1 deletion docs/api/actionCreatorMiddleware.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ import reducer from './reducer'
// Augment middleware to consider all functions with a static type property to be action creators
const isActionCreator = (
action: unknown,
): action is Function & { type: unknown } =>
): action is (...args: any) => any & { type: unknown } =>
typeof action === 'function' && 'type' in action

const actionCreatorMiddleware = createActionCreatorInvariantMiddleware({
Expand Down
2 changes: 1 addition & 1 deletion docs/api/createListenerMiddleware.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ To fix this, the middleware provides types for defining "pre-typed" versions of
import { createListenerMiddleware, addListener } from '@reduxjs/toolkit'
import type { RootState, AppDispatch } from './store'

declare type ExtraArgument = {foo: string};
declare type ExtraArgument = { foo: string }

export const listenerMiddleware = createListenerMiddleware()

Expand Down
1 change: 1 addition & 0 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "docs",
"devDependencies": {
"@manaflair/redux-batch": "^1.0.0",
"@reduxjs/tsconfig": "workspace:^",
"@types/nanoid": "^2.1.0",
"@types/react": "^19.0.1",
"async-mutex": "^0.3.2",
Expand Down
1 change: 1 addition & 0 deletions docs/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"extends": "@reduxjs/tsconfig/base",
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
Expand Down
7 changes: 2 additions & 5 deletions docs/virtual/matchers/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import {
createAsyncThunk,
createReducer,
PayloadAction,
} from '@reduxjs/toolkit'
import type { PayloadAction } from '@reduxjs/toolkit'
import { createAsyncThunk, createReducer } from '@reduxjs/toolkit'

export interface Data {
isInteresting: boolean
Expand Down
10 changes: 5 additions & 5 deletions docs/virtual/petstore-api.generated/petstore-api.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ export const api = createApi({
}),
}),
})
type AnyNonNullishValue = NonNullable<unknown>
export type UpdatePetApiResponse = /** status 200 Successful operation */ Pet
export type UpdatePetApiArg = {
/** Update an existent pet in the store */
Expand Down Expand Up @@ -174,10 +175,9 @@ export type UploadFileApiArg = {
additionalMetadata?: string
body: string
}
export type GetInventoryApiResponse = /** status 200 successful operation */ {
[key: string]: number
}
export type GetInventoryApiArg = {}
export type GetInventoryApiResponse =
/** status 200 successful operation */ Record<string, number>
export type GetInventoryApiArg = AnyNonNullishValue
export type PlaceOrderApiResponse = /** status 200 successful operation */ Order
export type PlaceOrderApiArg = {
order: Order
Expand Down Expand Up @@ -211,7 +211,7 @@ export type LoginUserApiArg = {
password?: string
}
export type LogoutUserApiResponse = unknown
export type LogoutUserApiArg = {}
export type LogoutUserApiArg = AnyNonNullishValue
export type GetUserByNameApiResponse =
/** status 200 successful operation */ User
export type GetUserByNameApiArg = {
Expand Down
2 changes: 1 addition & 1 deletion errors.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@
"39": "called \\`injectEndpoints\\` to override already-existing endpointName without specifying \\`overrideExisting: true\\`",
"40": "maxPages for endpoint '' must be a number greater than 0",
"41": "getPreviousPageParam for endpoint '' must be a function if maxPages is used"
}
}
32 changes: 32 additions & 0 deletions eslint.config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { createESLintConfig } from '@reduxjs/eslint-config'

const eslintConfig = createESLintConfig([
{
name: 'root-workspace/global-ignores',
ignores: [
'packages/rtk-codemods/transforms/*/__testfixtures__/',
'packages/toolkit/.size-limit.cjs',
'packages/rtk-query-codegen-openapi/test/config.example.js',
'examples/publish-ci/',
// TODO: Remove this later.
'examples/',
],
},
{
files: [
'examples/type-portability/nodenext-cjs/**/*.{c,m,}{t,j}s{,x}',
'examples/query/react/graphql-codegen/src/mocks/schema.js',
],
rules: {
'@typescript-eslint/no-require-imports': [0],
},
},
{
files: ['examples/type-portability/nodenext-cjs/**/*.{c,m,}{t,j}s{,x}'],
rules: {
'@typescript-eslint/no-namespace': [0],
},
},
])

export default eslintConfig
1 change: 1 addition & 0 deletions examples/action-listener/counter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
]
},
"devDependencies": {
"@reduxjs/tsconfig": "workspace:^",
"jest-watch-typeahead": "^1.1.0"
}
}
10 changes: 5 additions & 5 deletions examples/action-listener/counter/src/index.css
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
font-family:
source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}

h1 {
Expand Down
19 changes: 2 additions & 17 deletions examples/action-listener/counter/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,5 @@
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx"
},
"extends": "@reduxjs/tsconfig/create-react-app",
"compilerOptions": {},
"include": ["src"]
}
10 changes: 5 additions & 5 deletions examples/publish-ci/cra4/src/index.css
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
font-family:
source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}
10 changes: 5 additions & 5 deletions examples/publish-ci/cra5/src/index.css
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
font-family:
source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}
10 changes: 5 additions & 5 deletions examples/publish-ci/vite/src/index.css
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
font-family:
source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}
1 change: 1 addition & 0 deletions examples/query/react/advanced/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"react-scripts": "5.0.1"
},
"devDependencies": {
"@reduxjs/tsconfig": "workspace:^",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.1",
"typescript": "~4.9"
Expand Down
21 changes: 3 additions & 18 deletions examples/query/react/advanced/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,5 @@
{
"include": ["./src/**/*"],
"compilerOptions": {
"strict": true,
"esModuleInterop": true,
"lib": ["dom", "es2015"],
"jsx": "react-jsx",
"target": "es5",
"allowJs": true,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true
}
"extends": "@reduxjs/tsconfig/create-react-app",
"compilerOptions": {},
"include": ["src"]
}
Loading
Loading