From 2a929cf385b55f25bf99a6bf9fc19c25ab2887c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germ=C3=A1n=20Jablo=C3=B1ski?= <43938777+GermanJablo@users.noreply.github.com> Date: Mon, 19 May 2025 12:36:40 -0300 Subject: [PATCH] chore: fix all lint errors and add mechanisms to prevent them from appearing again (#12401) I think it's easier to review this PR commit by commit, so I'll explain it this way: ## Commits 1. [parallelize eslint script (still showing logs results in serial)](https://github.com/payloadcms/payload/pull/12401/commits/c9ac49c12d1e0990c11dfe0964957c2f842883c1): Previously, `--concurrency 1` was added to the script to make the logs more readable. However, turborepo has an option specifically for these use cases: `--log-order=grouped` runs the tasks in parallel but outputs them serially. As a result, the lint script is now significantly faster. 2. [run pnpm lint:fix](https://github.com/payloadcms/payload/pull/12401/commits/9c128c276ace129ff83c273167e26f9090b4af34) The auto-fix was run, which resolved some eslint errors that were slipped in due to the use of `no-verify`. Most of these were `perfectionist` fixes (property ordering) and the removal of unnecessary assertions. Starting with this PR, this won't happen again in the future, as we'll be verifying the linter in every PR across the entire codebase (see commit 7). 3. [fix eslint non-autofixable errors](https://github.com/payloadcms/payload/pull/12401/commits/700f412a3348a15d4c2ec8c636a378a269b4f1e3) All manual errors have been resolved except for the configuration errors addressed in commit 5. Most were React compiler violations, which have been disabled and commented out "TODO" for now. There's also an unused `use no memo` and a couple of `require` errors. 4. [move react-compiler linter to eslint-config package](https://github.com/payloadcms/payload/pull/12401/commits/4f7cb4d63a84be69b2131888bcc090ee04109310) To simplify the eslint configuration. My concern was that there would be a performance regression when used in non-react related packages, but none was experienced. This is probably because it only runs on .tsx files. 5. [remove redundant eslint config files and fix allowDefaultProject](https://github.com/payloadcms/payload/pull/12401/commits/a94347995a70a0970598dcc73638de4f6f7ca289) The main feature introduced by `typescript-eslint` v8 was `projectService`, which automatically searches each file for the closest `tsconfig`, greatly simplifying configuration in monorepos ([source](https://typescript-eslint.io/blog/announcing-typescript-eslint-v8#project-service)). Once I moved `projectService` to `packages/eslint-config`, all the other configuration files could be easily removed. I confirmed that pnpm lint still works on individual packages. The other important change was that the pending eslint errors from commits 2 and 3 were resolved. That is, some files were giving the error: "[File] was not found by the project service. Consider either including it in the tsconfig.json or including it in allowDefaultProject." Below I copy the explanatory comment I left in the code: ```ts // This is necessary because `tsconfig.base.json` defines `"rootDir": "${configDir}/src"`, // And the following files aren't in src because they aren't transpiled. // This is typescript-eslint's way of adding files that aren't included in tsconfig. // See: https://typescript-eslint.io/troubleshooting/typed-linting/#i-get-errors-telling-me--was-not-found-by-the-project-service-consider-either-including-it-in-the-tsconfigjson-or-including-it-in-allowdefaultproject // The best practice is to have a tsconfig.json that covers ALL files and is used for // typechecking (with noEmit), and a `tsconfig.build.json` that is used for the build // (or alternatively, swc, tsup or tsdown). That's what we should ideally do, in which case // this hardcoded list wouldn't be necessary. Note that these files don't currently go // through ts, only through eslint. ``` 6. [Differentiate errors from warnings in VScode ESLint Rules](https://github.com/payloadcms/payload/pull/12401/commits/5914d2f48d00e6d3c9d02ec30e189e87d6071754) There's no reason to do that. If an eslint rule isn't an error, it should be disabled or converted to a warning. 7. [Disable skip lint, and lint over the entire repo now that it's faster](https://github.com/payloadcms/payload/pull/12401/commits/e4b28f136008020235a2ad176242484b3cebf814) The GitHub action linted only the files that had changed in the PR. While this seems like a good idea, once exceptions were introduced with [skip lint], they opened the door to propagating more and more errors. Often, the linter was skipped, not because someone introduced new errors, but because they were trying to avoid those that had already crept in, sometimes accidentally introducing new ones. On the other hand, `pnpm lint` now runs in parallel (commit 1), so it's not that slow. Additionally, it runs in parallel with other GitHub actions like e2e tests, which take much longer, so it can't represent a bottleneck in CI. 8. [fix lint in next package](https://github.com/payloadcms/payload/pull/12401/commits/4506595f916dee368a0a052d4256640f5832f621) Small fix missing from commit 5 9. [Merge remote-tracking branch 'origin/main' into fix-eslint](https://github.com/payloadcms/payload/pull/12401/commits/563d4909c13116b17e70e95d3dae9c3446c4cdb5) 10. [add again eslint.config.js in payload package](https://github.com/payloadcms/payload/pull/12401/commits/78f6ffcae78c8caa5e87e4b36a0d6d1d0bddd65a) The comment in the code explains it. Basically, after the merge from main, the payload package runs out of memory when linting, probably because it grew in recent PRs. That package will sooner or later collapse for our tooling, so we may have to split it. It's already too big. ## Future Actions - Resolve React compiler violations, as mentioned in commit 3. - Decouple the `tsconfig` used for typechecking and build across the entire monorepo (as explained in point 5) to ensure ts coverage even for files that aren't transpiled (such as scripts). - Remove the few remaining `eslint.config.js`. I had to leave the `richtext-lexical` and `next` ones for now. They could be moved to the root config and scoped to their packages, as we do for example with `templates/vercel-postgres/**`. However, I couldn't get it to work, I don't know why. - Make eslint in the test folder usable. Not only are we not linting `test` in CI, but now the `pnpm eslint .` command is so large that my computer freezes. If each suite were its own package, this would be solved, and dynamic codegen + git hooks to modify tsconfig.base.json wouldn't be necessary ([related](https://github.com/payloadcms/payload/pull/11984)). --- .github/workflows/main.yml | 12 +---- .vscode/settings.json | 3 -- eslint.config.js | 9 ---- package.json | 4 +- packages/admin-bar/eslint.config.js | 18 ------- packages/create-payload-app/eslint.config.js | 19 ------- packages/db-mongodb/eslint.config.js | 18 ------- packages/db-postgres/eslint.config.js | 18 ------- packages/db-sqlite/eslint.config.js | 18 ------- packages/db-vercel-postgres/eslint.config.js | 18 ------- packages/email-nodemailer/eslint.config.js | 18 ------- packages/email-resend/eslint.config.js | 18 ------- packages/eslint-config/index.mjs | 51 +++++++++++++++++++ packages/eslint-config/package.json | 1 + packages/graphql/eslint.config.js | 18 ------- .../src/schema/recursivelyBuildNestedPaths.ts | 2 +- packages/live-preview-react/eslint.config.js | 18 ------- packages/live-preview-vue/eslint.config.js | 18 ------- packages/live-preview/eslint.config.js | 18 ------- packages/next/eslint.config.js | 18 ------- packages/next/package.json | 1 - .../src/views/LivePreview/Device/index.tsx | 2 + packages/payload-cloud/eslint.config.js | 18 ------- packages/payload/eslint.config.js | 14 ++++- packages/payload/src/assets/assets.d.ts | 1 + .../src/auth/strategies/local/authenticate.ts | 4 +- .../plugin-cloud-storage/eslint.config.js | 18 ------- packages/plugin-form-builder/eslint.config.js | 18 ------- .../plugin-import-export/eslint.config.js | 18 ------- packages/plugin-multi-tenant/eslint.config.js | 18 ------- .../TenantSelectionProvider/index.client.tsx | 1 + packages/plugin-nested-docs/eslint.config.js | 18 ------- packages/plugin-redirects/eslint.config.js | 18 ------- packages/plugin-search/eslint.config.js | 18 ------- packages/plugin-sentry/eslint.config.js | 18 ------- packages/plugin-seo/eslint.config.js | 18 ------- packages/plugin-stripe/eslint.config.js | 18 ------- packages/richtext-lexical/eslint.config.js | 29 +---------- packages/richtext-lexical/package.json | 1 - .../src/lexical/plugins/TextPlugin/index.tsx | 2 +- packages/richtext-slate/eslint.config.js | 18 ------- packages/storage-azure/eslint.config.js | 18 ------- packages/storage-gcs/eslint.config.js | 18 ------- packages/storage-s3/eslint.config.js | 18 ------- packages/storage-uploadthing/eslint.config.js | 18 ------- packages/storage-vercel-blob/eslint.config.js | 18 ------- packages/translations/eslint.config.js | 18 ------- packages/ui/eslint.config.js | 29 ----------- packages/ui/package.json | 1 - packages/ui/src/@types/assets.d.ts | 1 + packages/ui/src/elements/Autosave/index.tsx | 3 ++ .../elements/BulkUpload/EditForm/index.tsx | 1 + .../ui/src/elements/ListControls/index.tsx | 1 + .../src/elements/RelationshipTable/index.tsx | 1 + packages/ui/src/fields/Relationship/Input.tsx | 1 + packages/ui/src/forms/Form/index.tsx | 1 + .../ui/src/forms/RowLabel/Context/index.tsx | 1 - packages/ui/src/providers/ListQuery/index.tsx | 2 + .../ui/src/providers/Preferences/index.tsx | 4 +- packages/ui/src/providers/Selection/index.tsx | 2 + .../buildPolymorphicColumnState.tsx | 2 +- .../ui/src/providers/TableColumns/index.tsx | 1 + packages/ui/src/views/Edit/index.tsx | 1 + pnpm-lock.yaml | 50 ++++++++---------- test/_community/eslint.config.js | 19 ------- test/access-control/eslint.config.js | 19 ------- test/admin-bar/eslint.config.js | 19 ------- test/admin-root/eslint.config.js | 19 ------- test/admin/eslint.config.js | 19 ------- test/array-update/eslint.config.js | 19 ------- test/auth/eslint.config.js | 19 ------- test/benchmark-blocks/eslint.config.js | 19 ------- test/bulk-edit/eslint.config.js | 19 ------- test/collections-graphql/eslint.config.js | 19 ------- test/collections-rest/eslint.config.js | 19 ------- test/config/eslint.config.js | 19 ------- test/create-payload-app/eslint.config.js | 19 ------- test/custom-graphql/eslint.config.js | 19 ------- test/database/eslint.config.js | 19 ------- test/dataloader/eslint.config.js | 19 ------- test/email-nodemailer/eslint.config.js | 19 ------- test/email-resend/eslint.config.js | 19 ------- test/email/eslint.config.js | 19 ------- test/endpoints/eslint.config.js | 19 ------- test/eslint.config.js | 6 --- test/field-error-states/eslint.config.js | 19 ------- test/field-perf/eslint.config.js | 19 ------- test/fields-relationship/eslint.config.js | 19 ------- test/fields/eslint.config.js | 19 ------- test/form-state/eslint.config.js | 19 ------- test/globals/eslint.config.js | 19 ------- test/graphql-schema-gen/eslint.config.js | 19 ------- test/graphql/eslint.config.js | 19 ------- test/hooks/eslint.config.js | 19 ------- test/i18n/eslint.config.js | 19 ------- test/joins/eslint.config.js | 19 ------- test/lexical-mdx/eslint.config.js | 20 -------- test/live-preview/eslint.config.js | 19 ------- test/localization-rtl/eslint.config.js | 19 ------- test/localization/eslint.config.js | 19 ------- test/locked-documents/eslint.config.js | 23 --------- test/migrations-cli/eslint.config.js | 19 ------- test/nested-fields/eslint.config.js | 19 ------- test/payload-cloud/eslint.config.js | 19 ------- test/plugin-cloud-storage/eslint.config.js | 19 ------- test/plugin-form-builder/eslint.config.js | 19 ------- test/plugin-import-export/eslint.config.js | 19 ------- test/plugin-multi-tenant/eslint.config.js | 19 ------- test/plugin-nested-docs/eslint.config.js | 19 ------- test/plugin-redirects/eslint.config.js | 19 ------- test/plugin-search/eslint.config.js | 19 ------- test/plugin-sentry/eslint.config.js | 19 ------- test/plugin-seo/eslint.config.js | 19 ------- test/plugin-stripe/eslint.config.js | 19 ------- test/plugins/eslint.config.js | 19 ------- test/query-presets/eslint.config.js | 23 --------- test/queues/eslint.config.js | 20 -------- test/relationships/eslint.config.js | 19 ------- test/select/eslint.config.js | 19 ------- test/server-functions/eslint.config.js | 19 ------- test/sort/eslint.config.js | 19 ------- test/storage-azure/eslint.config.js | 19 ------- test/storage-gcs/eslint.config.js | 19 ------- test/storage-s3/eslint.config.js | 19 ------- test/storage-uploadthing/eslint.config.js | 19 ------- test/storage-vercel-blob/eslint.config.js | 19 ------- test/types/eslint.config.js | 19 ------- test/uploads/eslint.config.js | 19 ------- test/versions/eslint.config.js | 19 ------- 129 files changed, 118 insertions(+), 1912 deletions(-) delete mode 100644 packages/admin-bar/eslint.config.js delete mode 100644 packages/create-payload-app/eslint.config.js delete mode 100644 packages/db-mongodb/eslint.config.js delete mode 100644 packages/db-postgres/eslint.config.js delete mode 100644 packages/db-sqlite/eslint.config.js delete mode 100644 packages/db-vercel-postgres/eslint.config.js delete mode 100644 packages/email-nodemailer/eslint.config.js delete mode 100644 packages/email-resend/eslint.config.js delete mode 100644 packages/graphql/eslint.config.js delete mode 100644 packages/live-preview-react/eslint.config.js delete mode 100644 packages/live-preview-vue/eslint.config.js delete mode 100644 packages/live-preview/eslint.config.js delete mode 100644 packages/payload-cloud/eslint.config.js delete mode 100644 packages/plugin-cloud-storage/eslint.config.js delete mode 100644 packages/plugin-form-builder/eslint.config.js delete mode 100644 packages/plugin-import-export/eslint.config.js delete mode 100644 packages/plugin-multi-tenant/eslint.config.js delete mode 100644 packages/plugin-nested-docs/eslint.config.js delete mode 100644 packages/plugin-redirects/eslint.config.js delete mode 100644 packages/plugin-search/eslint.config.js delete mode 100644 packages/plugin-sentry/eslint.config.js delete mode 100644 packages/plugin-seo/eslint.config.js delete mode 100644 packages/plugin-stripe/eslint.config.js delete mode 100644 packages/richtext-slate/eslint.config.js delete mode 100644 packages/storage-azure/eslint.config.js delete mode 100644 packages/storage-gcs/eslint.config.js delete mode 100644 packages/storage-s3/eslint.config.js delete mode 100644 packages/storage-uploadthing/eslint.config.js delete mode 100644 packages/storage-vercel-blob/eslint.config.js delete mode 100644 packages/translations/eslint.config.js delete mode 100644 packages/ui/eslint.config.js delete mode 100644 test/_community/eslint.config.js delete mode 100644 test/access-control/eslint.config.js delete mode 100644 test/admin-bar/eslint.config.js delete mode 100644 test/admin-root/eslint.config.js delete mode 100644 test/admin/eslint.config.js delete mode 100644 test/array-update/eslint.config.js delete mode 100644 test/auth/eslint.config.js delete mode 100644 test/benchmark-blocks/eslint.config.js delete mode 100644 test/bulk-edit/eslint.config.js delete mode 100644 test/collections-graphql/eslint.config.js delete mode 100644 test/collections-rest/eslint.config.js delete mode 100644 test/config/eslint.config.js delete mode 100644 test/create-payload-app/eslint.config.js delete mode 100644 test/custom-graphql/eslint.config.js delete mode 100644 test/database/eslint.config.js delete mode 100644 test/dataloader/eslint.config.js delete mode 100644 test/email-nodemailer/eslint.config.js delete mode 100644 test/email-resend/eslint.config.js delete mode 100644 test/email/eslint.config.js delete mode 100644 test/endpoints/eslint.config.js delete mode 100644 test/field-error-states/eslint.config.js delete mode 100644 test/field-perf/eslint.config.js delete mode 100644 test/fields-relationship/eslint.config.js delete mode 100644 test/fields/eslint.config.js delete mode 100644 test/form-state/eslint.config.js delete mode 100644 test/globals/eslint.config.js delete mode 100644 test/graphql-schema-gen/eslint.config.js delete mode 100644 test/graphql/eslint.config.js delete mode 100644 test/hooks/eslint.config.js delete mode 100644 test/i18n/eslint.config.js delete mode 100644 test/joins/eslint.config.js delete mode 100644 test/lexical-mdx/eslint.config.js delete mode 100644 test/live-preview/eslint.config.js delete mode 100644 test/localization-rtl/eslint.config.js delete mode 100644 test/localization/eslint.config.js delete mode 100644 test/locked-documents/eslint.config.js delete mode 100644 test/migrations-cli/eslint.config.js delete mode 100644 test/nested-fields/eslint.config.js delete mode 100644 test/payload-cloud/eslint.config.js delete mode 100644 test/plugin-cloud-storage/eslint.config.js delete mode 100644 test/plugin-form-builder/eslint.config.js delete mode 100644 test/plugin-import-export/eslint.config.js delete mode 100644 test/plugin-multi-tenant/eslint.config.js delete mode 100644 test/plugin-nested-docs/eslint.config.js delete mode 100644 test/plugin-redirects/eslint.config.js delete mode 100644 test/plugin-search/eslint.config.js delete mode 100644 test/plugin-sentry/eslint.config.js delete mode 100644 test/plugin-seo/eslint.config.js delete mode 100644 test/plugin-stripe/eslint.config.js delete mode 100644 test/plugins/eslint.config.js delete mode 100644 test/query-presets/eslint.config.js delete mode 100644 test/queues/eslint.config.js delete mode 100644 test/relationships/eslint.config.js delete mode 100644 test/select/eslint.config.js delete mode 100644 test/server-functions/eslint.config.js delete mode 100644 test/sort/eslint.config.js delete mode 100644 test/storage-azure/eslint.config.js delete mode 100644 test/storage-gcs/eslint.config.js delete mode 100644 test/storage-s3/eslint.config.js delete mode 100644 test/storage-uploadthing/eslint.config.js delete mode 100644 test/storage-vercel-blob/eslint.config.js delete mode 100644 test/types/eslint.config.js delete mode 100644 test/uploads/eslint.config.js delete mode 100644 test/versions/eslint.config.js diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 72294e764..925dcdf70 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,12 +62,6 @@ jobs: echo "templates: ${{ steps.filter.outputs.templates }}" lint: - # Follows same github's ci skip: [skip lint], [lint skip], [no lint] - if: > - github.event_name == 'pull_request' && - !contains(github.event.pull_request.title, '[skip lint]') && - !contains(github.event.pull_request.title, '[lint skip]') && - !contains(github.event.pull_request.title, '[no lint]') runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 @@ -81,10 +75,8 @@ jobs: pnpm-version: ${{ env.PNPM_VERSION }} pnpm-install-cache-key: pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Lint staged - run: | - git diff --name-only --diff-filter=d origin/${GITHUB_BASE_REF}...${GITHUB_SHA} - npx lint-staged --diff="origin/${GITHUB_BASE_REF}...${GITHUB_SHA}" + - name: Lint + run: pnpm lint -- --quiet build: needs: changes diff --git a/.vscode/settings.json b/.vscode/settings.json index 7d4c0086b..e9b88cd78 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,9 +7,6 @@ }, "editor.formatOnSaveMode": "file", "eslint.rules.customizations": [ - // Defaultt all ESLint errors to 'warn' to differentate from TypeScript's 'error' level - { "rule": "*", "severity": "warn" }, - // Silence some warnings that will get auto-fixed { "rule": "perfectionist/*", "severity": "off", "fixable": true }, { "rule": "curly", "severity": "off", "fixable": true }, diff --git a/eslint.config.js b/eslint.config.js index f808f18b4..448abc5cc 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -81,15 +81,6 @@ export const rootEslintConfig = [ export default [ ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - projectService: true, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, { files: ['packages/eslint-config/**/*.ts'], rules: { diff --git a/package.json b/package.json index 34cfdc72d..8160f575f 100644 --- a/package.json +++ b/package.json @@ -74,9 +74,9 @@ "docker:start": "docker compose -f test/docker-compose.yml up -d", "docker:stop": "docker compose -f test/docker-compose.yml down", "force:build": "pnpm run build:core:force", - "lint": "turbo run lint --concurrency 1 --continue", + "lint": "turbo run lint --log-order=grouped --continue", "lint-staged": "lint-staged", - "lint:fix": "turbo run lint:fix --concurrency 1 --continue", + "lint:fix": "turbo run lint:fix --log-order=grouped --continue", "obliterate-playwright-cache-macos": "rm -rf ~/Library/Caches/ms-playwright && find /System/Volumes/Data/private/var/folders -type d -name 'playwright*' -exec rm -rf {} +", "prepare": "husky", "prepare-run-test-against-prod": "pnpm bf && rm -rf test/packed && rm -rf test/node_modules && rm -rf app && rm -f test/pnpm-lock.yaml && pnpm run script:pack --all --no-build --dest test/packed && pnpm runts test/setupProd.ts && cd test && pnpm i --ignore-workspace && cd ..", diff --git a/packages/admin-bar/eslint.config.js b/packages/admin-bar/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/admin-bar/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/create-payload-app/eslint.config.js b/packages/create-payload-app/eslint.config.js deleted file mode 100644 index 9e32c4e86..000000000 --- a/packages/create-payload-app/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - ignores: ['bin/cli.js'], - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/db-mongodb/eslint.config.js b/packages/db-mongodb/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/db-mongodb/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/db-postgres/eslint.config.js b/packages/db-postgres/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/db-postgres/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/db-sqlite/eslint.config.js b/packages/db-sqlite/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/db-sqlite/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/db-vercel-postgres/eslint.config.js b/packages/db-vercel-postgres/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/db-vercel-postgres/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/email-nodemailer/eslint.config.js b/packages/email-nodemailer/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/email-nodemailer/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/email-resend/eslint.config.js b/packages/email-resend/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/email-resend/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/eslint-config/index.mjs b/packages/eslint-config/index.mjs index 91a4c69f3..3471f411f 100644 --- a/packages/eslint-config/index.mjs +++ b/packages/eslint-config/index.mjs @@ -10,6 +10,7 @@ import globals from 'globals' import importX from 'eslint-plugin-import-x' import typescriptParser from '@typescript-eslint/parser' import { deepMerge } from './deepMerge.js' +import reactCompiler from 'eslint-plugin-react-compiler' const baseRules = { // This rule makes no sense when overriding class methods. This is used a lot in richtext-lexical. @@ -125,6 +126,52 @@ export const rootEslintConfig = [ ecmaFeatures: { jsx: true, }, + projectService: { + // This is necessary because `tsconfig.base.json` defines `"rootDir": "${configDir}/src"`, + // And the following files aren't in src because they aren't transpiled. + // This is typescript-eslint's way of adding files that aren't included in tsconfig. + // See: https://typescript-eslint.io/troubleshooting/typed-linting/#i-get-errors-telling-me--was-not-found-by-the-project-service-consider-either-including-it-in-the-tsconfigjson-or-including-it-in-allowdefaultproject + // The best practice is to have a tsconfig.json that covers ALL files and is used for + // typechecking (with noEmit), and a `tsconfig.build.json` that is used for the build + // (or alternatively, swc, tsup or tsdown). That's what we should ideally do, in which case + // this hardcoded list wouldn't be necessary. Note that these files don't currently go + // through ts, only through eslint. + allowDefaultProject: [ + '../payload/bin.js', + '../payload/bundle.js', + '../next/babel.config.cjs', + '../next/bundleScss.js', + '../ui/babel.config.cjs', + '../ui/bundle.js', + '../graphql/bin.js', + '../richtext-lexical/babel.config.cjs', + '../richtext-lexical/bundle.js', + '../richtext-lexical/scripts/translateNewKeys.ts', + '../db-postgres/bundle.js', + '../db-postgres/relationships-v2-v3.mjs', + '../db-postgres/scripts/renamePredefinedMigrations.ts', + '../db-sqlite/bundle.js', + '../db-vercel-postgres/relationships-v2-v3.mjs', + '../db-vercel-postgres/scripts/renamePredefinedMigrations.ts', + '../plugin-cloud-storage/azure.d.ts', + '../plugin-cloud-storage/azure.js', + '../plugin-cloud-storage/gcs.d.ts', + '../plugin-cloud-storage/gcs.js', + '../plugin-cloud-storage/s3.d.ts', + '../plugin-cloud-storage/s3.js', + '../plugin-redirects/types.d.ts', + '../plugin-redirects/types.js', + '../translations/scripts/translateNewKeys/applyEslintFixes.ts', + '../translations/scripts/translateNewKeys/findMissingKeys.ts', + '../translations/scripts/translateNewKeys/generateTsObjectLiteral.ts', + '../translations/scripts/translateNewKeys/index.ts', + '../translations/scripts/translateNewKeys/run.ts', + '../translations/scripts/translateNewKeys/sortKeys.ts', + '../translations/scripts/translateNewKeys/translateText.ts', + '../create-payload-app/bin/cli.js', + ], + }, + tsconfigRootDir: import.meta.dirname, }, ecmaVersion: 'latest', sourceType: 'module', @@ -206,6 +253,10 @@ export const rootEslintConfig = [ }, files: ['*.config.ts', 'config.ts'], }, + { + name: 'React Compiler', + ...reactCompiler.configs.recommended, + }, ] export default rootEslintConfig diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 054bd0d78..2838ccd64 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -36,6 +36,7 @@ "eslint-plugin-jest-dom": "5.5.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-perfectionist": "3.9.1", + "eslint-plugin-react-compiler": "19.0.0-beta-e993439-20250405", "eslint-plugin-react-hooks": "0.0.0-experimental-d331ba04-20250307", "eslint-plugin-regexp": "2.7.0", "globals": "16.0.0", diff --git a/packages/graphql/eslint.config.js b/packages/graphql/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/graphql/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/graphql/src/schema/recursivelyBuildNestedPaths.ts b/packages/graphql/src/schema/recursivelyBuildNestedPaths.ts index bcb8bd7b3..3415d2381 100644 --- a/packages/graphql/src/schema/recursivelyBuildNestedPaths.ts +++ b/packages/graphql/src/schema/recursivelyBuildNestedPaths.ts @@ -17,7 +17,7 @@ export const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentNam if (field.type === 'tabs') { // if the tab has a name, treat it as a group // otherwise, treat it as a row - return (field.tabs as Tab[]).reduce((tabSchema, tab: any) => { + return field.tabs.reduce((tabSchema, tab: any) => { tabSchema.push( ...recursivelyBuildNestedPaths({ field: { diff --git a/packages/live-preview-react/eslint.config.js b/packages/live-preview-react/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/live-preview-react/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/live-preview-vue/eslint.config.js b/packages/live-preview-vue/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/live-preview-vue/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/live-preview/eslint.config.js b/packages/live-preview/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/live-preview/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/next/eslint.config.js b/packages/next/eslint.config.js index ffa174d2f..0cab4fdee 100644 --- a/packages/next/eslint.config.js +++ b/packages/next/eslint.config.js @@ -1,6 +1,4 @@ import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' -import reactCompiler from 'eslint-plugin-react-compiler' -const { rules } = reactCompiler /** @typedef {import('eslint').Linter.Config} Config */ @@ -8,28 +6,12 @@ const { rules } = reactCompiler export const index = [ ...rootEslintConfig, { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, settings: { next: { rootDir: '../../app/', }, }, }, - { - plugins: { - 'react-compiler': { - rules, - }, - }, - rules: { - 'react-compiler/react-compiler': 'error', - }, - }, ] export default index diff --git a/packages/next/package.json b/packages/next/package.json index fd88d6f80..7eabc6a5a 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -118,7 +118,6 @@ "babel-plugin-react-compiler": "19.0.0-beta-e993439-20250405", "esbuild": "0.24.2", "esbuild-sass-plugin": "3.3.1", - "eslint-plugin-react-compiler": "19.0.0-beta-e993439-20250405", "payload": "workspace:*", "swc-plugin-transform-remove-imports": "3.1.0" }, diff --git a/packages/next/src/views/LivePreview/Device/index.tsx b/packages/next/src/views/LivePreview/Device/index.tsx index fab8ca306..83d5b9233 100644 --- a/packages/next/src/views/LivePreview/Device/index.tsx +++ b/packages/next/src/views/LivePreview/Device/index.tsx @@ -16,7 +16,9 @@ export const DeviceContainer: React.FC<{ // Keep an accurate measurement of the actual device size as it is truly rendered // This is helpful when `sizes` are non-number units like percentages, etc. + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix const { size: measuredDeviceSize } = useResize(deviceFrameRef.current) + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix const { size: outerFrameSize } = useResize(outerFrameRef.current) let deviceIsLargerThanFrame: boolean = false diff --git a/packages/payload-cloud/eslint.config.js b/packages/payload-cloud/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/payload-cloud/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/payload/eslint.config.js b/packages/payload/eslint.config.js index e3c446abe..1cc7ef76f 100644 --- a/packages/payload/eslint.config.js +++ b/packages/payload/eslint.config.js @@ -3,6 +3,14 @@ import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' /** @typedef {import('eslint').Linter.Config} Config */ +/** + * We've removed all eslint.config.js from the packages, but we have to leave this one as an exception. + * The payload package is so large that without its own eslint.config, an M3 Pro (18GB) runs out of + * memory when linting. Interestingly, two days ago when I started this PR, this didn't happen, but it + * started happening when I did a merge from main to update the PR. + * tsc also takes a long time to run. It's likely that at some point we'll need to split the package + * (into payload1, payload2, etc.) and re-export them in payload. + */ /** @type {Config[]} */ export const index = [ ...rootEslintConfig, @@ -11,9 +19,13 @@ export const index = [ parserOptions: { ...rootParserOptions, tsconfigRootDir: import.meta.dirname, + projectService: { + // See comment in packages/eslint-config/index.mjs + allowDefaultProject: ['bin.js', 'bundle.js'], + }, }, }, }, ] -export default index +export default index \ No newline at end of file diff --git a/packages/payload/src/assets/assets.d.ts b/packages/payload/src/assets/assets.d.ts index 7cca990e9..47443955d 100644 --- a/packages/payload/src/assets/assets.d.ts +++ b/packages/payload/src/assets/assets.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react') export const ReactComponent: React.SFC> diff --git a/packages/payload/src/auth/strategies/local/authenticate.ts b/packages/payload/src/auth/strategies/local/authenticate.ts index 8eef43046..f96ed2bd7 100644 --- a/packages/payload/src/auth/strategies/local/authenticate.ts +++ b/packages/payload/src/auth/strategies/local/authenticate.ts @@ -19,13 +19,13 @@ export const authenticateLocalStrategy = async ({ doc, password }: Args): Promis const res = await new Promise((resolve, reject) => { crypto.pbkdf2(password, salt, 25000, 512, 'sha256', (e, hashBuffer) => { if (e) { - reject(null) + reject(e) } if (scmp(hashBuffer, Buffer.from(hash, 'hex'))) { resolve(doc) } else { - reject(null) + reject(new Error('Invalid password')) } }) }) diff --git a/packages/plugin-cloud-storage/eslint.config.js b/packages/plugin-cloud-storage/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-cloud-storage/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-form-builder/eslint.config.js b/packages/plugin-form-builder/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-form-builder/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-import-export/eslint.config.js b/packages/plugin-import-export/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-import-export/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-multi-tenant/eslint.config.js b/packages/plugin-multi-tenant/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-multi-tenant/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-multi-tenant/src/providers/TenantSelectionProvider/index.client.tsx b/packages/plugin-multi-tenant/src/providers/TenantSelectionProvider/index.client.tsx index be7828e36..7dee45687 100644 --- a/packages/plugin-multi-tenant/src/providers/TenantSelectionProvider/index.client.tsx +++ b/packages/plugin-multi-tenant/src/providers/TenantSelectionProvider/index.client.tsx @@ -77,6 +77,7 @@ export const TenantSelectionProviderClient = ({ }, []) const deleteCookie = React.useCallback(() => { + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix document.cookie = 'payload-tenant=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/' }, []) diff --git a/packages/plugin-nested-docs/eslint.config.js b/packages/plugin-nested-docs/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-nested-docs/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-redirects/eslint.config.js b/packages/plugin-redirects/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-redirects/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-search/eslint.config.js b/packages/plugin-search/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-search/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-sentry/eslint.config.js b/packages/plugin-sentry/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-sentry/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-seo/eslint.config.js b/packages/plugin-seo/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-seo/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/plugin-stripe/eslint.config.js b/packages/plugin-stripe/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/plugin-stripe/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/richtext-lexical/eslint.config.js b/packages/richtext-lexical/eslint.config.js index 5ca2976e9..4dd5aaef1 100644 --- a/packages/richtext-lexical/eslint.config.js +++ b/packages/richtext-lexical/eslint.config.js @@ -1,36 +1,9 @@ import lexical from '@lexical/eslint-plugin' import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' -import reactCompiler from 'eslint-plugin-react-compiler' -const { rules } = reactCompiler /** @typedef {import('eslint').Linter.Config} Config */ /** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - ignores: ['bundle.js'], - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - plugins: { - '@lexical': lexical, - }, - rules: lexical.configs.recommended.rules, - }, - { - plugins: { - 'react-compiler': { - rules, - }, - }, - rules: { - 'react-compiler/react-compiler': 'error', - }, - }, -] +export const index = [...rootEslintConfig] export default index diff --git a/packages/richtext-lexical/package.json b/packages/richtext-lexical/package.json index 567bd6d3b..9403021f4 100644 --- a/packages/richtext-lexical/package.json +++ b/packages/richtext-lexical/package.json @@ -399,7 +399,6 @@ "babel-plugin-transform-remove-imports": "^1.8.0", "esbuild": "0.24.2", "esbuild-sass-plugin": "3.3.1", - "eslint-plugin-react-compiler": "19.0.0-beta-e993439-20250405", "payload": "workspace:*", "swc-plugin-transform-remove-imports": "3.1.0" }, diff --git a/packages/richtext-lexical/src/lexical/plugins/TextPlugin/index.tsx b/packages/richtext-lexical/src/lexical/plugins/TextPlugin/index.tsx index 651e6d227..dbc844a93 100644 --- a/packages/richtext-lexical/src/lexical/plugins/TextPlugin/index.tsx +++ b/packages/richtext-lexical/src/lexical/plugins/TextPlugin/index.tsx @@ -11,7 +11,7 @@ export function TextPlugin({ features }: { features: SanitizedClientFeatures }) const [editor] = useLexicalComposerContext() useEffect(() => { - const disabledFormats = getDisabledFormats(features.enabledFormats as TextFormatType[]) + const disabledFormats = getDisabledFormats(features.enabledFormats) if (disabledFormats.length === 0) { return } diff --git a/packages/richtext-slate/eslint.config.js b/packages/richtext-slate/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/richtext-slate/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/storage-azure/eslint.config.js b/packages/storage-azure/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/storage-azure/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/storage-gcs/eslint.config.js b/packages/storage-gcs/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/storage-gcs/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/storage-s3/eslint.config.js b/packages/storage-s3/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/storage-s3/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/storage-uploadthing/eslint.config.js b/packages/storage-uploadthing/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/storage-uploadthing/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/storage-vercel-blob/eslint.config.js b/packages/storage-vercel-blob/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/storage-vercel-blob/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/translations/eslint.config.js b/packages/translations/eslint.config.js deleted file mode 100644 index f9d341be5..000000000 --- a/packages/translations/eslint.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/packages/ui/eslint.config.js b/packages/ui/eslint.config.js deleted file mode 100644 index 5d7bebfe5..000000000 --- a/packages/ui/eslint.config.js +++ /dev/null @@ -1,29 +0,0 @@ -import { rootEslintConfig, rootParserOptions } from '../../eslint.config.js' -import reactCompiler from 'eslint-plugin-react-compiler' -const { rules } = reactCompiler -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...rootEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, - { - plugins: { - 'react-compiler': { - rules, - }, - }, - rules: { - 'react-compiler/react-compiler': 'error', - }, - }, -] - -export default index diff --git a/packages/ui/package.json b/packages/ui/package.json index 958662ca0..958fa57dd 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -153,7 +153,6 @@ "babel-plugin-react-compiler": "19.0.0-beta-e993439-20250405", "esbuild": "0.24.2", "esbuild-sass-plugin": "3.3.1", - "eslint-plugin-react-compiler": "19.0.0-beta-e993439-20250405", "payload": "workspace:*" }, "peerDependencies": { diff --git a/packages/ui/src/@types/assets.d.ts b/packages/ui/src/@types/assets.d.ts index 7cca990e9..47443955d 100644 --- a/packages/ui/src/@types/assets.d.ts +++ b/packages/ui/src/@types/assets.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react') export const ReactComponent: React.SFC> diff --git a/packages/ui/src/elements/Autosave/index.tsx b/packages/ui/src/elements/Autosave/index.tsx index 43d2d28fb..a4016fb85 100644 --- a/packages/ui/src/elements/Autosave/index.tsx +++ b/packages/ui/src/elements/Autosave/index.tsx @@ -92,15 +92,18 @@ export const Autosave: React.FC = ({ id, collection, global: globalDoc }) // Store fields in ref so the autosave func // can always retrieve the most to date copies // after the timeout has executed + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix fieldRef.current = fields // Store modified in ref so the autosave func // can bail out if modified becomes false while // timing out during autosave + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix modifiedRef.current = modified // Store locale in ref so the autosave func // can always retrieve the most to date locale + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix localeRef.current = locale const { queueTask } = useQueues() diff --git a/packages/ui/src/elements/BulkUpload/EditForm/index.tsx b/packages/ui/src/elements/BulkUpload/EditForm/index.tsx index f1c4da6c2..eff5a9fca 100644 --- a/packages/ui/src/elements/BulkUpload/EditForm/index.tsx +++ b/packages/ui/src/elements/BulkUpload/EditForm/index.tsx @@ -192,6 +192,7 @@ function GetFieldProxy() { const { getFormDataRef } = useFormsManager() useEffect(() => { + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix getFormDataRef.current = getFields }, [getFields, getFormDataRef]) diff --git a/packages/ui/src/elements/ListControls/index.tsx b/packages/ui/src/elements/ListControls/index.tsx index 40dbed24e..3aded4ec7 100644 --- a/packages/ui/src/elements/ListControls/index.tsx +++ b/packages/ui/src/elements/ListControls/index.tsx @@ -163,6 +163,7 @@ export const ListControls: React.FC = (props) => { // @ts-expect-error @todo: fix types initialParams={query} key={collectionSlug} + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix label={searchLabelTranslated.current} /> {activePreset && hasModifiedPreset ? ( diff --git a/packages/ui/src/elements/RelationshipTable/index.tsx b/packages/ui/src/elements/RelationshipTable/index.tsx index 79f998188..3e4353ed3 100644 --- a/packages/ui/src/elements/RelationshipTable/index.tsx +++ b/packages/ui/src/elements/RelationshipTable/index.tsx @@ -235,6 +235,7 @@ export const RelationshipTable: React.FC = (pro if (Array.isArray(relationTo) && !isDrawerOpen && selectedCollection) { setSelectedCollection(undefined) } + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix // eslint-disable-next-line react-hooks/exhaustive-deps }, [isDrawerOpen]) diff --git a/packages/ui/src/fields/Relationship/Input.tsx b/packages/ui/src/fields/Relationship/Input.tsx index cab658c5e..675e27f4c 100644 --- a/packages/ui/src/fields/Relationship/Input.tsx +++ b/packages/ui/src/fields/Relationship/Input.tsx @@ -99,6 +99,7 @@ export const RelationshipInput: React.FC = (props) => { const valueRef = useRef(value) // the line below seems odd + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix this valueRef.current = value const [DocumentDrawer, , { isDrawerOpen, openDrawer }] = useDocumentDrawer({ diff --git a/packages/ui/src/forms/Form/index.tsx b/packages/ui/src/forms/Form/index.tsx index 4c80662d8..3d11cd239 100644 --- a/packages/ui/src/forms/Form/index.tsx +++ b/packages/ui/src/forms/Form/index.tsx @@ -1,3 +1,4 @@ +/* eslint-disable react-compiler/react-compiler -- TODO: fix */ 'use client' import { dequal } from 'dequal/lite' // lite: no need for Map and Set support import { useRouter } from 'next/navigation.js' diff --git a/packages/ui/src/forms/RowLabel/Context/index.tsx b/packages/ui/src/forms/RowLabel/Context/index.tsx index 1a817a68b..9549c8361 100644 --- a/packages/ui/src/forms/RowLabel/Context/index.tsx +++ b/packages/ui/src/forms/RowLabel/Context/index.tsx @@ -21,7 +21,6 @@ type Props = { } & Omit, 'data'> export const RowLabelProvider: React.FC> = ({ children, path, rowNumber }) => { - 'use no memo' const { getDataByPath, getSiblingData } = useWatchForm() const collapsibleData = getSiblingData(path) const arrayData = getDataByPath(path) diff --git a/packages/ui/src/providers/ListQuery/index.tsx b/packages/ui/src/providers/ListQuery/index.tsx index 53eee2fc7..a4613a7b2 100644 --- a/packages/ui/src/providers/ListQuery/index.tsx +++ b/packages/ui/src/providers/ListQuery/index.tsx @@ -40,6 +40,7 @@ export const ListQueryProvider: React.FC = ({ const contextRef = useRef({} as IListQueryContext) + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix contextRef.current.modified = modified const { onQueryChange } = useListDrawerContext() @@ -215,6 +216,7 @@ export const ListQueryProvider: React.FC = ({ query: currentQuery, refineListData, setModified, + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix ...contextRef.current, }} > diff --git a/packages/ui/src/providers/Preferences/index.tsx b/packages/ui/src/providers/Preferences/index.tsx index f405bfea7..f46972097 100644 --- a/packages/ui/src/providers/Preferences/index.tsx +++ b/packages/ui/src/providers/Preferences/index.tsx @@ -154,9 +154,11 @@ export const PreferencesProvider: React.FC<{ children?: React.ReactNode }> = ({ [api, getPreference, i18n.language, pendingUpdate, serverURL], ) + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix contextRef.current.getPreference = getPreference + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix contextRef.current.setPreference = setPreference - + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix return {children} } diff --git a/packages/ui/src/providers/Selection/index.tsx b/packages/ui/src/providers/Selection/index.tsx index d0828c326..1d2b166a9 100644 --- a/packages/ui/src/providers/Selection/index.tsx +++ b/packages/ui/src/providers/Selection/index.tsx @@ -190,6 +190,7 @@ export const SelectionProvider: React.FC = ({ children, docs = [], totalD setCount(newCount) }, [selectAll, selected, totalDocs]) + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix contextRef.current = { count, getQueryParams, @@ -200,6 +201,7 @@ export const SelectionProvider: React.FC = ({ children, docs = [], totalD totalDocs, } + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix return {children} } diff --git a/packages/ui/src/providers/TableColumns/buildPolymorphicColumnState.tsx b/packages/ui/src/providers/TableColumns/buildPolymorphicColumnState.tsx index b4273394c..f122aa109 100644 --- a/packages/ui/src/providers/TableColumns/buildPolymorphicColumnState.tsx +++ b/packages/ui/src/providers/TableColumns/buildPolymorphicColumnState.tsx @@ -25,13 +25,13 @@ import React from 'react' import type { SortColumnProps } from '../../elements/SortColumn/index.js' +import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js' import { RenderCustomComponent, RenderDefaultCell, SortColumn, // eslint-disable-next-line payload/no-imports-from-exports-dir } from '../../exports/client/index.js' -import { RenderServerComponent } from '../../elements/RenderServerComponent/index.js' import { filterFields } from './filterFields.js' type Args = { diff --git a/packages/ui/src/providers/TableColumns/index.tsx b/packages/ui/src/providers/TableColumns/index.tsx index 3bb873e73..72f04562b 100644 --- a/packages/ui/src/providers/TableColumns/index.tsx +++ b/packages/ui/src/providers/TableColumns/index.tsx @@ -100,6 +100,7 @@ export const TableColumnsProvider: React.FC = ({ resetColumnsState, setActiveColumns, toggleColumn, + // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix ...contextRef.current, }} > diff --git a/packages/ui/src/views/Edit/index.tsx b/packages/ui/src/views/Edit/index.tsx index e57cd3f7d..fb4a7181f 100644 --- a/packages/ui/src/views/Edit/index.tsx +++ b/packages/ui/src/views/Edit/index.tsx @@ -1,3 +1,4 @@ +/* eslint-disable react-compiler/react-compiler -- TODO: fix */ 'use client' import type { ClientUser, DocumentViewClientProps, FormState } from 'payload' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c111b1db..79adcd987 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: version: 1.50.0 '@sentry/nextjs': specifier: ^8.33.1 - version: 8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)) + version: 8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))) '@sentry/node': specifier: ^8.33.1 version: 8.37.1 @@ -135,7 +135,7 @@ importers: version: 10.1.3(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) next: specifier: 15.3.0 - version: 15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) + version: 15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) open: specifier: ^10.1.0 version: 10.1.0 @@ -543,6 +543,9 @@ importers: eslint-plugin-perfectionist: specifier: 3.9.1 version: 3.9.1(eslint@9.22.0(jiti@1.21.6))(typescript@5.7.3) + eslint-plugin-react-compiler: + specifier: 19.0.0-beta-e993439-20250405 + version: 19.0.0-beta-e993439-20250405(eslint@9.22.0(jiti@1.21.6)) eslint-plugin-react-hooks: specifier: 0.0.0-experimental-d331ba04-20250307 version: 0.0.0-experimental-d331ba04-20250307(eslint@9.22.0(jiti@1.21.6)) @@ -787,9 +790,6 @@ importers: esbuild-sass-plugin: specifier: 3.3.1 version: 3.3.1(esbuild@0.24.2)(sass-embedded@1.80.6) - eslint-plugin-react-compiler: - specifier: 19.0.0-beta-e993439-20250405 - version: 19.0.0-beta-e993439-20250405(eslint@9.22.0(jiti@1.21.6)) payload: specifier: workspace:* version: link:../payload @@ -1144,7 +1144,7 @@ importers: dependencies: '@sentry/nextjs': specifier: ^8.33.1 - version: 8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)) + version: 8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))) '@sentry/types': specifier: ^8.33.1 version: 8.37.1 @@ -1383,9 +1383,6 @@ importers: esbuild-sass-plugin: specifier: 3.3.1 version: 3.3.1(esbuild@0.24.2)(sass-embedded@1.80.6) - eslint-plugin-react-compiler: - specifier: 19.0.0-beta-e993439-20250405 - version: 19.0.0-beta-e993439-20250405(eslint@9.22.0(jiti@1.21.6)) payload: specifier: workspace:* version: link:../payload @@ -1503,7 +1500,7 @@ importers: version: link:../plugin-cloud-storage uploadthing: specifier: 7.3.0 - version: 7.3.0(next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4)) + version: 7.3.0(next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4)) devDependencies: payload: specifier: workspace:* @@ -1667,9 +1664,6 @@ importers: esbuild-sass-plugin: specifier: 3.3.1 version: 3.3.1(esbuild@0.24.2)(sass-embedded@1.80.6) - eslint-plugin-react-compiler: - specifier: 19.0.0-beta-e993439-20250405 - version: 19.0.0-beta-e993439-20250405(eslint@9.22.0(jiti@1.21.6)) payload: specifier: workspace:* version: link:../payload @@ -1789,7 +1783,7 @@ importers: version: link:../packages/ui '@sentry/nextjs': specifier: ^8.33.1 - version: 8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)) + version: 8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))) '@sentry/react': specifier: ^7.77.0 version: 7.119.2(react@19.1.0) @@ -1846,7 +1840,7 @@ importers: version: 8.9.5(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) next: specifier: 15.3.0 - version: 15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) + version: 15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) nodemailer: specifier: 6.9.16 version: 6.9.16 @@ -8130,7 +8124,6 @@ packages: libsql@0.4.7: resolution: {integrity: sha512-T9eIRCs6b0J1SHKYIvD8+KCJMcWZ900iZyxdnSCdqxN12Z1ijzT+jY5nrk72Jw4B0HGzms2NgpryArlJqvc3Lw==} - cpu: [x64, arm64, wasm32] os: [darwin, linux, win32] license-checker@25.0.1: @@ -14039,7 +14032,7 @@ snapshots: '@sentry/utils': 7.119.2 localforage: 1.10.0 - '@sentry/nextjs@8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12))': + '@sentry/nextjs@8.37.1(@opentelemetry/core@1.27.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.54.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.27.0(@opentelemetry/api@1.9.0))(next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4))(react@19.1.0)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15)))': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) @@ -14053,9 +14046,9 @@ snapshots: '@sentry/types': 8.37.1 '@sentry/utils': 8.37.1 '@sentry/vercel-edge': 8.37.1 - '@sentry/webpack-plugin': 2.22.6(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)) + '@sentry/webpack-plugin': 2.22.6(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))) chalk: 3.0.0 - next: 15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) + next: 15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) resolve: 1.22.8 rollup: 3.29.5 stacktrace-parser: 0.1.10 @@ -14163,12 +14156,12 @@ snapshots: '@sentry/types': 8.37.1 '@sentry/utils': 8.37.1 - '@sentry/webpack-plugin@2.22.6(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12))': + '@sentry/webpack-plugin@2.22.6(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15)))': dependencies: '@sentry/bundler-plugin-core': 2.22.6 unplugin: 1.0.1 uuid: 9.0.0 - webpack: 5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12) + webpack: 5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15)) transitivePeerDependencies: - encoding - supports-color @@ -18750,7 +18743,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4): + next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4): dependencies: '@next/env': 15.3.0 '@swc/counter': 0.1.3 @@ -20262,17 +20255,16 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)): + terser-webpack-plugin@5.3.10(@swc/core@1.10.12(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12) + webpack: 5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15)) optionalDependencies: '@swc/core': 1.10.12(@swc/helpers@0.5.15) - esbuild: 0.19.12 terser@5.36.0: dependencies: @@ -20551,14 +20543,14 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - uploadthing@7.3.0(next@15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4)): + uploadthing@7.3.0(next@15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4)): dependencies: '@effect/platform': 0.69.8(effect@3.10.3) '@uploadthing/mime-types': 0.3.2 '@uploadthing/shared': 7.1.1 effect: 3.10.3 optionalDependencies: - next: 15.3.0(@babel/core@7.26.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) + next: 15.3.0(@opentelemetry/api@1.9.0)(@playwright/test@1.50.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@19.0.0-beta-e993439-20250405)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.77.4) uri-js@4.4.1: dependencies: @@ -20663,7 +20655,7 @@ snapshots: webpack-virtual-modules@0.5.0: {} - webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12): + webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -20685,7 +20677,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))(esbuild@0.19.12)) + terser-webpack-plugin: 5.3.10(@swc/core@1.10.12(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.10.12(@swc/helpers@0.5.15))) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/test/_community/eslint.config.js b/test/_community/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/_community/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/access-control/eslint.config.js b/test/access-control/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/access-control/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/admin-bar/eslint.config.js b/test/admin-bar/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/admin-bar/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/admin-root/eslint.config.js b/test/admin-root/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/admin-root/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/admin/eslint.config.js b/test/admin/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/admin/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/array-update/eslint.config.js b/test/array-update/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/array-update/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/auth/eslint.config.js b/test/auth/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/auth/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/benchmark-blocks/eslint.config.js b/test/benchmark-blocks/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/benchmark-blocks/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/bulk-edit/eslint.config.js b/test/bulk-edit/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/bulk-edit/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/collections-graphql/eslint.config.js b/test/collections-graphql/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/collections-graphql/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/collections-rest/eslint.config.js b/test/collections-rest/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/collections-rest/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/config/eslint.config.js b/test/config/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/config/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/create-payload-app/eslint.config.js b/test/create-payload-app/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/create-payload-app/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/custom-graphql/eslint.config.js b/test/custom-graphql/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/custom-graphql/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/database/eslint.config.js b/test/database/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/database/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/dataloader/eslint.config.js b/test/dataloader/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/dataloader/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/email-nodemailer/eslint.config.js b/test/email-nodemailer/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/email-nodemailer/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/email-resend/eslint.config.js b/test/email-resend/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/email-resend/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/email/eslint.config.js b/test/email/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/email/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/endpoints/eslint.config.js b/test/endpoints/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/endpoints/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/eslint.config.js b/test/eslint.config.js index 1912a6b67..e5df1475e 100644 --- a/test/eslint.config.js +++ b/test/eslint.config.js @@ -11,12 +11,6 @@ export const testEslintConfig = [ ignores: [...defaultESLintIgnores, '**/payload-types.ts', 'jest.setup.js'], }, { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, rules: { 'payload/no-relative-monorepo-imports': 'error', }, diff --git a/test/field-error-states/eslint.config.js b/test/field-error-states/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/field-error-states/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/field-perf/eslint.config.js b/test/field-perf/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/field-perf/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/fields-relationship/eslint.config.js b/test/fields-relationship/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/fields-relationship/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/fields/eslint.config.js b/test/fields/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/fields/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/form-state/eslint.config.js b/test/form-state/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/form-state/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/globals/eslint.config.js b/test/globals/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/globals/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/graphql-schema-gen/eslint.config.js b/test/graphql-schema-gen/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/graphql-schema-gen/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/graphql/eslint.config.js b/test/graphql/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/graphql/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/hooks/eslint.config.js b/test/hooks/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/hooks/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/i18n/eslint.config.js b/test/i18n/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/i18n/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/joins/eslint.config.js b/test/joins/eslint.config.js deleted file mode 100644 index e14240e9c..000000000 --- a/test/joins/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/lexical-mdx/eslint.config.js b/test/lexical-mdx/eslint.config.js deleted file mode 100644 index 53d58f164..000000000 --- a/test/lexical-mdx/eslint.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.FlatConfig} */ -let FlatConfig - -/** @type {FlatConfig[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/live-preview/eslint.config.js b/test/live-preview/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/live-preview/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/localization-rtl/eslint.config.js b/test/localization-rtl/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/localization-rtl/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/localization/eslint.config.js b/test/localization/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/localization/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/locked-documents/eslint.config.js b/test/locked-documents/eslint.config.js deleted file mode 100644 index d7ebe5c4d..000000000 --- a/test/locked-documents/eslint.config.js +++ /dev/null @@ -1,23 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - projectService: { - allowDefaultProject: ['./*.ts', './*.tsx'], - defaultProject: './tsconfig.json', - }, - tsconfigDirName: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/migrations-cli/eslint.config.js b/test/migrations-cli/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/migrations-cli/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/nested-fields/eslint.config.js b/test/nested-fields/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/nested-fields/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/payload-cloud/eslint.config.js b/test/payload-cloud/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/payload-cloud/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-cloud-storage/eslint.config.js b/test/plugin-cloud-storage/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-cloud-storage/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-form-builder/eslint.config.js b/test/plugin-form-builder/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-form-builder/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-import-export/eslint.config.js b/test/plugin-import-export/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-import-export/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-multi-tenant/eslint.config.js b/test/plugin-multi-tenant/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-multi-tenant/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-nested-docs/eslint.config.js b/test/plugin-nested-docs/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-nested-docs/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-redirects/eslint.config.js b/test/plugin-redirects/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-redirects/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-search/eslint.config.js b/test/plugin-search/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-search/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-sentry/eslint.config.js b/test/plugin-sentry/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-sentry/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-seo/eslint.config.js b/test/plugin-seo/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugin-seo/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugin-stripe/eslint.config.js b/test/plugin-stripe/eslint.config.js deleted file mode 100644 index e14240e9c..000000000 --- a/test/plugin-stripe/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/plugins/eslint.config.js b/test/plugins/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/plugins/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/query-presets/eslint.config.js b/test/query-presets/eslint.config.js deleted file mode 100644 index d7ebe5c4d..000000000 --- a/test/query-presets/eslint.config.js +++ /dev/null @@ -1,23 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - projectService: { - allowDefaultProject: ['./*.ts', './*.tsx'], - defaultProject: './tsconfig.json', - }, - tsconfigDirName: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/queues/eslint.config.js b/test/queues/eslint.config.js deleted file mode 100644 index 53d58f164..000000000 --- a/test/queues/eslint.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.FlatConfig} */ -let FlatConfig - -/** @type {FlatConfig[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/relationships/eslint.config.js b/test/relationships/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/relationships/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/select/eslint.config.js b/test/select/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/select/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/server-functions/eslint.config.js b/test/server-functions/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/server-functions/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/sort/eslint.config.js b/test/sort/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/sort/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/storage-azure/eslint.config.js b/test/storage-azure/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/storage-azure/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/storage-gcs/eslint.config.js b/test/storage-gcs/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/storage-gcs/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/storage-s3/eslint.config.js b/test/storage-s3/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/storage-s3/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/storage-uploadthing/eslint.config.js b/test/storage-uploadthing/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/storage-uploadthing/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/storage-vercel-blob/eslint.config.js b/test/storage-vercel-blob/eslint.config.js deleted file mode 100644 index 327c58a8e..000000000 --- a/test/storage-vercel-blob/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/types/eslint.config.js b/test/types/eslint.config.js deleted file mode 100644 index f295df083..000000000 --- a/test/types/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import { testEslintConfig } from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - ...rootParserOptions, - tsconfigRootDir: import.meta.dirname, - }, - }, - }, -] - -export default index diff --git a/test/uploads/eslint.config.js b/test/uploads/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/uploads/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index diff --git a/test/versions/eslint.config.js b/test/versions/eslint.config.js deleted file mode 100644 index d6b5fea55..000000000 --- a/test/versions/eslint.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { rootParserOptions } from '../../eslint.config.js' -import testEslintConfig from '../eslint.config.js' - -/** @typedef {import('eslint').Linter.Config} Config */ - -/** @type {Config[]} */ -export const index = [ - ...testEslintConfig, - { - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - ...rootParserOptions, - }, - }, - }, -] - -export default index