From a269da4e1cff09f2b43753502edceca22ce2f0cf Mon Sep 17 00:00:00 2001 From: Matti Nannt Date: Fri, 7 Jun 2024 07:59:44 +0200 Subject: [PATCH] chore: upgrade turbo to version 2 (#2738) --- .devcontainer/devcontainer.json | 2 +- .eslintignore | 2 + .eslintrc.js | 10 - .github/actions/cache-build-web/action.yml | 16 +- .github/workflows/build-web.yml | 2 +- .github/workflows/e2e.yml | 2 +- .github/workflows/lint.yml | 6 +- .github/workflows/test.yml | 6 +- .prettierrc.js | 2 +- apps/demo/.eslintrc.js | 3 +- apps/demo/package.json | 4 +- apps/demo/tsconfig.json | 2 +- apps/docs/.eslintrc.js | 3 +- .../app/developer-docs/contributing/page.mdx | 12 +- apps/docs/package.json | 4 +- apps/docs/tsconfig.json | 2 +- apps/storybook/package.json | 3 +- apps/storybook/tailwind.config.js | 2 +- apps/web/.eslintrc.js | 3 +- apps/web/Dockerfile | 4 +- apps/web/package.json | 6 +- apps/web/tailwind.config.js | 2 +- apps/web/tsconfig.json | 2 +- package.json | 9 +- packages/api/.eslintrc.cjs | 5 +- packages/api/package.json | 6 +- packages/api/tsconfig.json | 5 +- packages/config-eslint/README.md | 3 + packages/config-eslint/legacy-library.js | 3 + .../index.js => config-eslint/legacy-next.js} | 0 packages/config-eslint/legacy-react.js | 3 + packages/config-eslint/library.js | 34 + packages/config-eslint/next.js | 45 + packages/config-eslint/package.json | 17 + packages/config-eslint/react.js | 49 + .../package.json | 2 +- .../prettier-preset.js | 0 .../package.json | 2 +- .../tailwind.config.js | 0 .../{tsconfig => config-typescript}/base.json | 0 .../js-library.json | 0 .../nextjs.json | 0 .../node16.json | 0 .../package.json | 2 +- .../react-library.json | 0 packages/database/.eslintrc.js | 3 +- packages/database/package.json | 4 +- packages/database/tsconfig.json | 2 +- packages/ee/.eslintrc.js | 3 + packages/ee/package.json | 4 +- packages/ee/tsconfig.json | 2 +- packages/email/.eslintrc.js | 3 + .../eslint-config-formbricks/package.json | 22 - packages/js-core/.eslintrc.cjs | 3 +- packages/js-core/package.json | 6 +- packages/js-core/tsconfig.json | 2 +- ....timestamp-1715613168360-369b1d363be3d.mjs | 34 +- packages/js/.eslintrc.cjs | 3 +- packages/js/package.json | 6 +- packages/js/tsconfig.json | 2 +- packages/lib/.eslintrc.js | 3 +- packages/lib/package.json | 4 +- packages/lib/tsconfig.json | 2 +- packages/surveys/.eslintrc.cjs | 5 +- packages/surveys/package.json | 4 +- .../src/components/general/QuestionMedia.tsx | 1 - .../src/components/general/WelcomeCard.tsx | 1 - .../questions/PictureSelectionQuestion.tsx | 1 - packages/surveys/tsconfig.json | 2 +- packages/types/package.json | 2 +- packages/types/tsconfig.json | 2 +- packages/ui/.eslintrc.js | 3 + packages/ui/package.json | 7 +- packages/ui/tsconfig.json | 2 +- pnpm-lock.yaml | 911 ++++++++++++------ pnpm-workspace.yaml | 1 - turbo.json | 4 +- 77 files changed, 889 insertions(+), 450 deletions(-) create mode 100644 .eslintignore delete mode 100644 .eslintrc.js create mode 100644 packages/config-eslint/README.md create mode 100644 packages/config-eslint/legacy-library.js rename packages/{eslint-config-formbricks/index.js => config-eslint/legacy-next.js} (100%) create mode 100644 packages/config-eslint/legacy-react.js create mode 100644 packages/config-eslint/library.js create mode 100644 packages/config-eslint/next.js create mode 100644 packages/config-eslint/package.json create mode 100644 packages/config-eslint/react.js rename packages/{prettier-config => config-prettier}/package.json (87%) rename packages/{prettier-config => config-prettier}/prettier-preset.js (100%) rename packages/{tailwind-config => config-tailwind}/package.json (88%) rename packages/{tailwind-config => config-tailwind}/tailwind.config.js (100%) rename packages/{tsconfig => config-typescript}/base.json (100%) rename packages/{tsconfig => config-typescript}/js-library.json (100%) rename packages/{tsconfig => config-typescript}/nextjs.json (100%) rename packages/{tsconfig => config-typescript}/node16.json (100%) rename packages/{tsconfig => config-typescript}/package.json (86%) rename packages/{tsconfig => config-typescript}/react-library.json (100%) create mode 100644 packages/ee/.eslintrc.js create mode 100644 packages/email/.eslintrc.js delete mode 100644 packages/eslint-config-formbricks/package.json create mode 100644 packages/ui/.eslintrc.js diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5ec2fa7ced..727789afc0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -22,7 +22,7 @@ // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "cp .env.example .env && sed -i '/^ENCRYPTION_KEY=/c\\ENCRYPTION_KEY='$(openssl rand -hex 32) .env && sed -i '/^NEXTAUTH_SECRET=/c\\NEXTAUTH_SECRET='$(openssl rand -hex 32) .env && pnpm install && pnpm db:migrate:dev", - "postAttachCommand": "pnpm dev --filter=web... --filter=demo...", + "postAttachCommand": "pnpm dev --filter=@formbricks/web... --filter=@formbricks/demo...", // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. "remoteUser": "node" diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000..d7776edad8 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +node_modules/ +packages/config-eslint/ \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 9b81a3a7d8..0000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - root: true, - // This tells ESLint to load the config from the package `eslint-config-formbricks` - extends: ["formbricks"], - settings: { - next: { - rootDir: ["apps/*/"], - }, - }, -}; diff --git a/.github/actions/cache-build-web/action.yml b/.github/actions/cache-build-web/action.yml index 185bf49fbd..637dddc154 100644 --- a/.github/actions/cache-build-web/action.yml +++ b/.github/actions/cache-build-web/action.yml @@ -49,20 +49,16 @@ runs: run: cp .env.example .env shell: bash - - name: Add E2E Testing Mode + - name: Fill ENCRYPTION_KE, ENTERPRISE_LICENSE_KEY and E2E_TESTING in .env run: | - echo "E2E_TESTING=${{ inputs.e2e_testing_mode }}" >> $GITHUB_ENV - shell: bash - - - name: Generate Random ENCRYPTION_KEY - run: | - SECRET=$(openssl rand -hex 32) - echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV - echo "ENTERPRISE_LICENSE_KEY=$SECRET" >> $GITHUB_ENV + RANDOM_KEY=$(openssl rand -hex 32) + sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${RANDOM_KEY}/" .env + sed -i "s/ENTERPRISE_LICENSE_KEY=.*/ENTERPRISE_LICENSE_KEY=${RANDOM_KEY}/" .env + echo "E2E_TESTING=${{ inputs.e2e_testing_mode }}" >> .env shell: bash - run: | - pnpm build --filter=web... + pnpm build --filter=@formbricks/web... if: steps.cache-build.outputs.cache-hit != 'true' shell: bash diff --git a/.github/workflows/build-web.yml b/.github/workflows/build-web.yml index 58c8503c6f..cbd50feb70 100644 --- a/.github/workflows/build-web.yml +++ b/.github/workflows/build-web.yml @@ -31,4 +31,4 @@ jobs: echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV - name: Build Formbricks-web - run: pnpm build --filter=web... + run: pnpm build --filter=@formbricks/web... diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 85493a8339..8696058676 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -40,7 +40,7 @@ jobs: - name: Run App run: | - NODE_ENV=test pnpm start --filter=web & + NODE_ENV=test pnpm start --filter=@formbricks/web & for attempt in {1..20}; do if [ $(curl -o /dev/null -s -w "%{http_code}" http://localhost:3000/health) -eq 200 ]; then echo "Ready" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index faff0cd5ec..b58cc540f3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,10 +25,10 @@ jobs: - name: create .env run: cp .env.example .env - - name: Generate Random ENCRYPTION_KEY + - name: Generate Random ENCRYPTION_KEY and fill in .env run: | - SECRET=$(openssl rand -hex 32) - echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV + ENCRYPTION_KEY=$(openssl rand -hex 32) + sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${ENCRYPTION_KEY}/" .env - name: Lint run: pnpm lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 71c6de2fce..fb27f1af6d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,10 +25,10 @@ jobs: - name: create .env run: cp .env.example .env - - name: Generate Random ENCRYPTION_KEY + - name: Generate Random ENCRYPTION_KEY and fill in .env run: | - SECRET=$(openssl rand -hex 32) - echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV + ENCRYPTION_KEY=$(openssl rand -hex 32) + sed -i "s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=${ENCRYPTION_KEY}/" .env - name: Test run: pnpm test diff --git a/.prettierrc.js b/.prettierrc.js index 5430f66ec3..e09241f398 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,4 +1,4 @@ -const baseConfig = require("./packages/prettier-config/prettier-preset"); +const baseConfig = require("./packages/config-prettier/prettier-preset"); module.exports = { ...baseConfig, diff --git a/apps/demo/.eslintrc.js b/apps/demo/.eslintrc.js index bcf4aad3a3..64a6e29852 100644 --- a/apps/demo/.eslintrc.js +++ b/apps/demo/.eslintrc.js @@ -1,4 +1,3 @@ module.exports = { - root: true, - extends: ["formbricks"], + extends: ["@formbricks/eslint-config/legacy-next.js"], }; diff --git a/apps/demo/package.json b/apps/demo/package.json index 9feb2b8386..a7f1665a0b 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -19,7 +19,7 @@ "react-dom": "18.3.1" }, "devDependencies": { - "eslint-config-formbricks": "workspace:*", - "@formbricks/tsconfig": "workspace:*" + "@formbricks/eslint-config": "workspace:*", + "@formbricks/config-typescript": "workspace:*" } } diff --git a/apps/demo/tsconfig.json b/apps/demo/tsconfig.json index 6c36451d9b..f1063c0342 100644 --- a/apps/demo/tsconfig.json +++ b/apps/demo/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/nextjs.json", + "extends": "@formbricks/config-typescript/nextjs.json", "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"] } diff --git a/apps/docs/.eslintrc.js b/apps/docs/.eslintrc.js index bcf4aad3a3..64a6e29852 100644 --- a/apps/docs/.eslintrc.js +++ b/apps/docs/.eslintrc.js @@ -1,4 +1,3 @@ module.exports = { - root: true, - extends: ["formbricks"], + extends: ["@formbricks/eslint-config/legacy-next.js"], }; diff --git a/apps/docs/app/developer-docs/contributing/page.mdx b/apps/docs/app/developer-docs/contributing/page.mdx index ad1a6f54eb..bd526ad2a1 100644 --- a/apps/docs/app/developer-docs/contributing/page.mdx +++ b/apps/docs/app/developer-docs/contributing/page.mdx @@ -43,7 +43,6 @@ To be able to keep working on Formbricks over the coming years, we need to colle Once you open a PR, you will get a message from the CLA bot to fill out the form. Please note that we can only get your contribution merged when we have a CLA signed by you. - ## Setup Dev Environment We currently officially support the below methods to set up your development environment for Formbricks. @@ -425,7 +424,7 @@ This usually happens when the Formbricks Widget wasn't correctly or completely b ```bash -pnpm build --filter=js +pnpm build --filter=@formbricks/js // Run the app again pnpm dev @@ -441,15 +440,15 @@ Since we're working with a monorepo structure, the repository can get quite big. ```bash {{ title: 'Formbricks Web-App' }} -pnpm dev --filter=web... +pnpm dev --filter=@formbricks/web... ``` -```bash {{ title: 'Formbricks Landing Page' }} -pnpm dev --filter=formbricks-com... +```bash {{ title: 'Formbricks Docs' }} +pnpm dev --filter=@formbricks/docs... ``` ```bash {{ title: 'Formbricks Demo App' }} -pnpm dev --filter=demo... +pnpm dev --filter=@formbricks/demo... ``` @@ -468,4 +467,3 @@ However, in our experience it's better to run `pnpm dev` than having two termina This happens when you're using the Demo App and delete the Person within the Formbricks app which the widget is currently connected with. We're fixing it, but you can also just logout your test person and reload the page to get rid of it. - diff --git a/apps/docs/package.json b/apps/docs/package.json index 5576029fca..b0aae1c5d1 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -65,9 +65,9 @@ "zustand": "^4.5.2" }, "devDependencies": { - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@types/dompurify": "^3.0.5", "@types/react-highlight-words": "^0.16.7", - "eslint-config-formbricks": "workspace:*" + "@formbricks/eslint-config": "workspace:*" } } diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json index c36afde61e..f623ea6a7a 100644 --- a/apps/docs/tsconfig.json +++ b/apps/docs/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/nextjs.json", + "extends": "@formbricks/config-typescript/nextjs.json", "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "../../packages/types/*.d.ts"], "exclude": ["../../.env", "node_modules"], "compilerOptions": { diff --git a/apps/storybook/package.json b/apps/storybook/package.json index 37c04d5e95..f1b2064a64 100644 --- a/apps/storybook/package.json +++ b/apps/storybook/package.json @@ -12,12 +12,13 @@ }, "dependencies": { "@formbricks/ui": "workspace:*", + "eslint-plugin-react-refresh": "^0.4.7", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { "@chromatic-com/storybook": "^1.5.0", - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@storybook/addon-essentials": "^8.1.5", "@storybook/addon-interactions": "^8.1.5", "@storybook/addon-links": "^8.1.5", diff --git a/apps/storybook/tailwind.config.js b/apps/storybook/tailwind.config.js index aa3030de20..06a26e3d9c 100644 --- a/apps/storybook/tailwind.config.js +++ b/apps/storybook/tailwind.config.js @@ -1,5 +1,5 @@ /** @type {import('tailwindcss').Config} */ -import base from "../../packages/tailwind-config/tailwind.config"; +import base from "../../packages/config-tailwind/tailwind.config"; export default { ...base, diff --git a/apps/web/.eslintrc.js b/apps/web/.eslintrc.js index bcf4aad3a3..64a6e29852 100644 --- a/apps/web/.eslintrc.js +++ b/apps/web/.eslintrc.js @@ -1,4 +1,3 @@ module.exports = { - root: true, - extends: ["formbricks"], + extends: ["@formbricks/eslint-config/legacy-next.js"], }; diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index f14121d1eb..e3fdbc7b67 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -48,8 +48,8 @@ COPY --from=builder /app/out/full/ . RUN touch /app/apps/web/.env # Build the project -RUN pnpm post-install --filter=web... -RUN pnpm turbo run build --filter=web... +RUN pnpm post-install --filter=@formbricks/web... +RUN pnpm turbo run build --filter=@formbricks/web... # Extract Prisma version RUN jq -r '.devDependencies.prisma' packages/database/package.json > /prisma_version.txt diff --git a/apps/web/package.json b/apps/web/package.json index 2f00247832..260af3c299 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -23,7 +23,7 @@ "@formbricks/js-core": "workspace:*", "@formbricks/lib": "workspace:*", "@formbricks/surveys": "workspace:*", - "@formbricks/tailwind-config": "workspace:*", + "@formbricks/config-tailwind": "workspace:*", "@formbricks/types": "workspace:*", "@formbricks/ui": "workspace:*", "@hookform/resolvers": "^3.4.2", @@ -69,13 +69,13 @@ "xlsx": "^0.18.5" }, "devDependencies": { - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@neshca/cache-handler": "^1.3.2", "@types/bcryptjs": "^2.4.6", "@types/lodash": "^4.17.4", "@types/markdown-it": "^14.1.1", "@types/papaparse": "^5.3.14", "@types/qrcode": "^1.5.5", - "eslint-config-formbricks": "workspace:*" + "@formbricks/eslint-config": "workspace:*" } } diff --git a/apps/web/tailwind.config.js b/apps/web/tailwind.config.js index a3050ce04d..bbdbf017f5 100644 --- a/apps/web/tailwind.config.js +++ b/apps/web/tailwind.config.js @@ -1,4 +1,4 @@ -const base = require("../../packages/tailwind-config/tailwind.config"); +const base = require("../../packages/config-tailwind/tailwind.config"); /** @type {import('tailwindcss').Config} */ module.exports = { diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index 820efa0142..4ec35640bb 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/nextjs.json", + "extends": "@formbricks/config-typescript/nextjs.json", "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "../../packages/types/*.d.ts"], "exclude": ["../../.env", "node_modules"], "compilerOptions": { diff --git a/package.json b/package.json index 0d8e05e091..0e5e77e470 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "format": "prettier --write \"**/*.{ts,tsx,md}\"", "generate": "turbo run generate", "lint": "turbo run lint", - "release": "turbo run build --filter=js... && turbo run build --filter=n8n-node... && changeset publish", + "release": "turbo run build --filter=@formbricks/js... && changeset publish", "test": "turbo run test --no-cache", "test:e2e": "playwright test", "prepare": "husky install", @@ -34,12 +34,13 @@ }, "devDependencies": { "@playwright/test": "^1.44.1", - "eslint-config-formbricks": "workspace:*", + "@formbricks/eslint-config": "workspace:*", + "eslint": "^8.57.0", "husky": "^9.0.11", "lint-staged": "^15.2.5", "rimraf": "^5.0.7", "tsx": "^4.11.0", - "turbo": "^1.13.3" + "turbo": "^2.0.1" }, "lint-staged": { "(apps|packages)/**/*.{js,ts,jsx,tsx}": [ @@ -56,7 +57,7 @@ "engines": { "node": ">=16.0.0" }, - "packageManager": "pnpm@9.1.3", + "packageManager": "pnpm@8.15.8", "nextBundleAnalysis": { "budget": 358400, "budgetPercentIncreaseRed": 20, diff --git a/packages/api/.eslintrc.cjs b/packages/api/.eslintrc.cjs index d6151a6966..ed6059c25b 100644 --- a/packages/api/.eslintrc.cjs +++ b/packages/api/.eslintrc.cjs @@ -1,3 +1,4 @@ module.exports = { - extends: [ "turbo", "prettier"], -}; \ No newline at end of file + extends: ["@formbricks/eslint-config/legacy-library.js"], + parser: "@typescript-eslint/parser", +}; diff --git a/packages/api/package.json b/packages/api/package.json index b44b94d583..586e6f764f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -30,13 +30,13 @@ "build": "tsc && vite build", "build:dev": "pnpm build", "go": "vite build --watch", - "lint": "eslint ./src --fix", + "lint": "eslint . --ext .ts,.js,.tsx,.jsx", "clean": "rimraf .turbo node_modules dist" }, "devDependencies": { - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@formbricks/types": "workspace:*", - "eslint-config-formbricks": "workspace:*", + "@formbricks/eslint-config": "workspace:*", "terser": "^5.31.0", "vite": "^5.2.11", "vite-plugin-dts": "^3.9.1" diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index 19822a663c..7143d2849e 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -1,6 +1,7 @@ { - "extends": "@formbricks/tsconfig/js-library.json", - "include": ["src", "package.json"], + "extends": "@formbricks/config-typescript/js-library.json", + "include": ["src"], + "exclude": ["dist", "build", "node_modules"], "compilerOptions": { "allowImportingTsExtensions": true, "isolatedModules": true, diff --git a/packages/config-eslint/README.md b/packages/config-eslint/README.md new file mode 100644 index 0000000000..8b42d901b0 --- /dev/null +++ b/packages/config-eslint/README.md @@ -0,0 +1,3 @@ +# `@turbo/eslint-config` + +Collection of internal eslint configurations. diff --git a/packages/config-eslint/legacy-library.js b/packages/config-eslint/legacy-library.js new file mode 100644 index 0000000000..80997af8c2 --- /dev/null +++ b/packages/config-eslint/legacy-library.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ["turbo", "prettier"], +}; diff --git a/packages/eslint-config-formbricks/index.js b/packages/config-eslint/legacy-next.js similarity index 100% rename from packages/eslint-config-formbricks/index.js rename to packages/config-eslint/legacy-next.js diff --git a/packages/config-eslint/legacy-react.js b/packages/config-eslint/legacy-react.js new file mode 100644 index 0000000000..8a9a9329d4 --- /dev/null +++ b/packages/config-eslint/legacy-react.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ["turbo", "prettier", "plugin:react-hooks/recommended"], +}; diff --git a/packages/config-eslint/library.js b/packages/config-eslint/library.js new file mode 100644 index 0000000000..4994e71a29 --- /dev/null +++ b/packages/config-eslint/library.js @@ -0,0 +1,34 @@ +const { resolve } = require("node:path"); + +const project = resolve(process.cwd(), "tsconfig.json"); + +/* + * This is a custom ESLint configuration for use with + * typescript packages. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +module.exports = { + extends: ["@vercel/style-guide/eslint/node", "@vercel/style-guide/eslint/typescript"].map(require.resolve), + parserOptions: { + project, + }, + globals: { + React: true, + JSX: true, + }, + settings: { + "import/resolver": { + typescript: { + project, + }, + node: { + extensions: [".mjs", ".js", ".jsx", ".ts", ".tsx"], + }, + }, + }, + ignorePatterns: ["node_modules/", "dist/"], +}; diff --git a/packages/config-eslint/next.js b/packages/config-eslint/next.js new file mode 100644 index 0000000000..4a025e925f --- /dev/null +++ b/packages/config-eslint/next.js @@ -0,0 +1,45 @@ +const { resolve } = require("node:path"); + +const project = resolve(process.cwd(), "tsconfig.json"); + +/* + * This is a custom ESLint configuration for use with + * Next.js apps. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +module.exports = { + extends: [ + "@vercel/style-guide/eslint/node", + "@vercel/style-guide/eslint/typescript", + "@vercel/style-guide/eslint/browser", + "@vercel/style-guide/eslint/react", + "@vercel/style-guide/eslint/next", + "eslint-config-turbo", + ].map(require.resolve), + parserOptions: { + project, + }, + globals: { + React: true, + JSX: true, + }, + settings: { + "import/resolver": { + typescript: { + project, + }, + node: { + extensions: [".mjs", ".js", ".jsx", ".ts", ".tsx"], + }, + }, + }, + ignorePatterns: ["node_modules/", "dist/"], + // add rules configurations here + rules: { + "import/no-default-export": "off", + }, +}; diff --git a/packages/config-eslint/package.json b/packages/config-eslint/package.json new file mode 100644 index 0000000000..ae2253d8e8 --- /dev/null +++ b/packages/config-eslint/package.json @@ -0,0 +1,17 @@ +{ + "name": "@formbricks/eslint-config", + "version": "0.0.0", + "private": true, + "devDependencies": { + "@next/eslint-plugin-next": "^14.2.3", + "@typescript-eslint/eslint-plugin": "^7.10.0", + "@typescript-eslint/parser": "^7.10.0", + "@vercel/style-guide": "^5.2.0", + "eslint-config-next": "^14.2.3", + "eslint-config-prettier": "^9.1.0", + "eslint-config-turbo": "^2.0.0", + "eslint-plugin-react": "7.34.1", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7" + } +} diff --git a/packages/config-eslint/react.js b/packages/config-eslint/react.js new file mode 100644 index 0000000000..c5585c6b06 --- /dev/null +++ b/packages/config-eslint/react.js @@ -0,0 +1,49 @@ +const { resolve } = require("node:path"); + +const project = resolve(process.cwd(), "tsconfig.json"); + +/* + * This is a custom ESLint configuration for use a library + * that utilizes React. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +module.exports = { + extends: [ + "@vercel/style-guide/eslint/browser", + "@vercel/style-guide/eslint/typescript", + "@vercel/style-guide/eslint/react", + ].map(require.resolve), + parserOptions: { + project, + }, + globals: { + JSX: true, + }, + settings: { + "import/resolver": { + typescript: { + project, + }, + node: { + extensions: [".mjs", ".js", ".jsx", ".ts", ".tsx"], + }, + }, + }, + ignorePatterns: ["node_modules/", "dist/", ".eslintrc.js", "**/*.css"], + // add rules configurations here + rules: { + "import/no-default-export": "off", + }, + overrides: [ + { + files: ["*.config.js"], + env: { + node: true, + }, + }, + ], +}; diff --git a/packages/prettier-config/package.json b/packages/config-prettier/package.json similarity index 87% rename from packages/prettier-config/package.json rename to packages/config-prettier/package.json index 7d0bb43b2c..a88e74e2af 100644 --- a/packages/prettier-config/package.json +++ b/packages/config-prettier/package.json @@ -1,5 +1,5 @@ { - "name": "@formbricks/prettier-config", + "name": "@formbricks/config-prettier", "version": "1.0.0", "private": true, "license": "MIT", diff --git a/packages/prettier-config/prettier-preset.js b/packages/config-prettier/prettier-preset.js similarity index 100% rename from packages/prettier-config/prettier-preset.js rename to packages/config-prettier/prettier-preset.js diff --git a/packages/tailwind-config/package.json b/packages/config-tailwind/package.json similarity index 88% rename from packages/tailwind-config/package.json rename to packages/config-tailwind/package.json index 8ab8dac2c3..7afb875df9 100644 --- a/packages/tailwind-config/package.json +++ b/packages/config-tailwind/package.json @@ -1,5 +1,5 @@ { - "name": "@formbricks/tailwind-config", + "name": "@formbricks/config-tailwind", "version": "0.0.0", "private": true, "main": "index.js", diff --git a/packages/tailwind-config/tailwind.config.js b/packages/config-tailwind/tailwind.config.js similarity index 100% rename from packages/tailwind-config/tailwind.config.js rename to packages/config-tailwind/tailwind.config.js diff --git a/packages/tsconfig/base.json b/packages/config-typescript/base.json similarity index 100% rename from packages/tsconfig/base.json rename to packages/config-typescript/base.json diff --git a/packages/tsconfig/js-library.json b/packages/config-typescript/js-library.json similarity index 100% rename from packages/tsconfig/js-library.json rename to packages/config-typescript/js-library.json diff --git a/packages/tsconfig/nextjs.json b/packages/config-typescript/nextjs.json similarity index 100% rename from packages/tsconfig/nextjs.json rename to packages/config-typescript/nextjs.json diff --git a/packages/tsconfig/node16.json b/packages/config-typescript/node16.json similarity index 100% rename from packages/tsconfig/node16.json rename to packages/config-typescript/node16.json diff --git a/packages/tsconfig/package.json b/packages/config-typescript/package.json similarity index 86% rename from packages/tsconfig/package.json rename to packages/config-typescript/package.json index ab2e9fcca8..538222532e 100644 --- a/packages/tsconfig/package.json +++ b/packages/config-typescript/package.json @@ -1,5 +1,5 @@ { - "name": "@formbricks/tsconfig", + "name": "@formbricks/config-typescript", "version": "1.0.0", "private": true, "sideEffects": false, diff --git a/packages/tsconfig/react-library.json b/packages/config-typescript/react-library.json similarity index 100% rename from packages/tsconfig/react-library.json rename to packages/config-typescript/react-library.json diff --git a/packages/database/.eslintrc.js b/packages/database/.eslintrc.js index bcf4aad3a3..64a6e29852 100644 --- a/packages/database/.eslintrc.js +++ b/packages/database/.eslintrc.js @@ -1,4 +1,3 @@ module.exports = { - root: true, - extends: ["formbricks"], + extends: ["@formbricks/eslint-config/legacy-next.js"], }; diff --git a/packages/database/package.json b/packages/database/package.json index 39bd041370..4f1036158e 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -41,10 +41,10 @@ "dotenv-cli": "^7.4.2" }, "devDependencies": { - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@formbricks/types": "workspace:*", "@paralleldrive/cuid2": "^2.2.2", - "eslint-config-formbricks": "workspace:*", + "@formbricks/eslint-config": "workspace:*", "prisma": "^5.14.0", "prisma-dbml-generator": "^0.12.0", "prisma-json-types-generator": "^3.0.4", diff --git a/packages/database/tsconfig.json b/packages/database/tsconfig.json index eb408c5485..5a99f96816 100644 --- a/packages/database/tsconfig.json +++ b/packages/database/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/node16.json", + "extends": "@formbricks/config-typescript/node16.json", "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "tsup.config.ts"], "exclude": ["node_modules", "dist", "zod"] } diff --git a/packages/ee/.eslintrc.js b/packages/ee/.eslintrc.js new file mode 100644 index 0000000000..64a6e29852 --- /dev/null +++ b/packages/ee/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ["@formbricks/eslint-config/legacy-next.js"], +}; diff --git a/packages/ee/package.json b/packages/ee/package.json index dd005f4c9d..b11fe619aa 100644 --- a/packages/ee/package.json +++ b/packages/ee/package.json @@ -11,10 +11,10 @@ }, "devDependencies": { "@formbricks/lib": "*", - "@formbricks/tsconfig": "*", + "@formbricks/config-typescript": "*", "@formbricks/types": "*", "@formbricks/ui": "*", - "eslint-config-formbricks": "workspace:*" + "@formbricks/eslint-config": "workspace:*" }, "dependencies": { "@formbricks/lib": "workspace:*", diff --git a/packages/ee/tsconfig.json b/packages/ee/tsconfig.json index 58909315d9..98f957b9d2 100644 --- a/packages/ee/tsconfig.json +++ b/packages/ee/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/react-library.json", + "extends": "@formbricks/config-typescript/react-library.json", "compilerOptions": { "baseUrl": ".", "paths": { diff --git a/packages/email/.eslintrc.js b/packages/email/.eslintrc.js new file mode 100644 index 0000000000..64a6e29852 --- /dev/null +++ b/packages/email/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ["@formbricks/eslint-config/legacy-next.js"], +}; diff --git a/packages/eslint-config-formbricks/package.json b/packages/eslint-config-formbricks/package.json deleted file mode 100644 index 0082c4966a..0000000000 --- a/packages/eslint-config-formbricks/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "eslint-config-formbricks", - "version": "1.0.0", - "private": true, - "main": "index.js", - "license": "MIT", - "scripts": { - "clean": "rimraf node_modules .turbo" - }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^7.10.0", - "@typescript-eslint/parser": "^7.10.0", - "eslint": "^8.57.0", - "eslint-config-next": "^14.2.3", - "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "1.10.12", - "eslint-plugin-react": "7.34.1", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.7", - "eslint-plugin-storybook": "^0.8.0" - } -} diff --git a/packages/js-core/.eslintrc.cjs b/packages/js-core/.eslintrc.cjs index 80997af8c2..ed6059c25b 100644 --- a/packages/js-core/.eslintrc.cjs +++ b/packages/js-core/.eslintrc.cjs @@ -1,3 +1,4 @@ module.exports = { - extends: ["turbo", "prettier"], + extends: ["@formbricks/eslint-config/legacy-library.js"], + parser: "@typescript-eslint/parser", }; diff --git a/packages/js-core/package.json b/packages/js-core/package.json index fae64fe3b0..3d92923558 100644 --- a/packages/js-core/package.json +++ b/packages/js-core/package.json @@ -49,16 +49,16 @@ "build": "pnpm build:app && pnpm build:website", "build:dev": "tsc && vite build --mode dev", "go": "vite build --watch --mode dev", - "lint": "eslint ./src --fix", + "lint": "eslint . --ext .ts,.js,.tsx,.jsx", "clean": "rimraf .turbo node_modules dist coverage" }, "author": "Formbricks ", "devDependencies": { "@formbricks/api": "workspace:*", "@formbricks/lib": "workspace:*", - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@formbricks/types": "workspace:*", - "eslint-config-formbricks": "workspace:*", + "@formbricks/eslint-config": "workspace:*", "terser": "^5.31.0", "vite": "^5.2.11", "vite-plugin-dts": "^3.9.1" diff --git a/packages/js-core/tsconfig.json b/packages/js-core/tsconfig.json index ea7083fd3c..3147c2971c 100644 --- a/packages/js-core/tsconfig.json +++ b/packages/js-core/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/js-library.json", + "extends": "@formbricks/config-typescript/js-library.json", "include": ["src", "package.json", "../types/surveys.d.ts"], "compilerOptions": { "strict": true, diff --git a/packages/js-core/website.vite.config.ts.timestamp-1715613168360-369b1d363be3d.mjs b/packages/js-core/website.vite.config.ts.timestamp-1715613168360-369b1d363be3d.mjs index 6b094817f5..14a2bd9ebf 100644 --- a/packages/js-core/website.vite.config.ts.timestamp-1715613168360-369b1d363be3d.mjs +++ b/packages/js-core/website.vite.config.ts.timestamp-1715613168360-369b1d363be3d.mjs @@ -1,7 +1,7 @@ // website.vite.config.ts -import { resolve } from "path"; -import { defineConfig } from "file:///Users/piyush/Desktop/code/formbricks/formbricks/node_modules/vite/dist/node/index.js"; import dts from "file:///Users/piyush/Desktop/code/formbricks/formbricks/node_modules/vite-plugin-dts/dist/index.mjs"; +import { defineConfig } from "file:///Users/piyush/Desktop/code/formbricks/formbricks/node_modules/vite/dist/node/index.js"; +import { resolve } from "path"; // ../../apps/web/package.json var package_default = { @@ -15,7 +15,7 @@ var package_default = { build: "next build", "build:dev": "next build", start: "next start", - lint: "next lint" + lint: "next lint", }, dependencies: { "@formbricks/api": "workspace:*", @@ -25,7 +25,7 @@ var package_default = { "@formbricks/js-core": "workspace:*", "@formbricks/lib": "workspace:*", "@formbricks/surveys": "workspace:*", - "@formbricks/tailwind-config": "workspace:*", + "@formbricks/config-tailwind": "workspace:*", "@formbricks/types": "workspace:*", "@formbricks/ui": "workspace:*", "@formbricks/email": "workspace:*", @@ -69,18 +69,18 @@ var package_default = { sharp: "^0.33.3", "ua-parser-js": "^1.0.37", webpack: "^5.91.0", - xlsx: "^0.18.5" + xlsx: "^0.18.5", }, devDependencies: { - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@neshca/cache-handler": "^1.3.1", "@types/bcryptjs": "^2.4.6", "@types/lodash": "^4.17.1", "@types/markdown-it": "^14.1.1", "@types/papaparse": "^5.3.14", "@types/qrcode": "^1.5.5", - "eslint-config-formbricks": "workspace:*" - } + "@formbricks/eslint-config": "workspace:*", + }, }; // website.vite.config.ts @@ -88,11 +88,11 @@ var __vite_injected_original_dirname = "/Users/piyush/Desktop/code/formbricks/fo var config = () => { return defineConfig({ define: { - "import.meta.env.VERSION": JSON.stringify(package_default.version) + "import.meta.env.VERSION": JSON.stringify(package_default.version), }, build: { rollupOptions: { - output: { inlineDynamicImports: true } + output: { inlineDynamicImports: true }, }, emptyOutDir: false, // keep the dist folder to avoid errors with pnpm go when folder is empty during build @@ -102,18 +102,16 @@ var config = () => { entry: resolve(__vite_injected_original_dirname, "src/website/index.ts"), name: "formbricks", formats: ["umd"], - fileName: "website" - } + fileName: "website", + }, }, plugins: [ dts({ rollupTypes: true, - bundledPackages: ["@formbricks/api", "@formbricks/types"] - }) - ] + bundledPackages: ["@formbricks/api", "@formbricks/types"], + }), + ], }); }; -export { - config -}; +export { config }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsid2Vic2l0ZS52aXRlLmNvbmZpZy50cyIsICIuLi8uLi9hcHBzL3dlYi9wYWNrYWdlLmpzb24iXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGl5dXNoL0Rlc2t0b3AvY29kZS9mb3JtYnJpY2tzL2Zvcm1icmlja3MvcGFja2FnZXMvanMtY29yZVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3BpeXVzaC9EZXNrdG9wL2NvZGUvZm9ybWJyaWNrcy9mb3JtYnJpY2tzL3BhY2thZ2VzL2pzLWNvcmUvd2Vic2l0ZS52aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGl5dXNoL0Rlc2t0b3AvY29kZS9mb3JtYnJpY2tzL2Zvcm1icmlja3MvcGFja2FnZXMvanMtY29yZS93ZWJzaXRlLnZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IGR0cyBmcm9tIFwidml0ZS1wbHVnaW4tZHRzXCI7XG5cbmltcG9ydCB3ZWJQYWNrYWdlSnNvbiBmcm9tIFwiLi4vLi4vYXBwcy93ZWIvcGFja2FnZS5qc29uXCI7XG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoe1xuICAgIGRlZmluZToge1xuICAgICAgXCJpbXBvcnQubWV0YS5lbnYuVkVSU0lPTlwiOiBKU09OLnN0cmluZ2lmeSh3ZWJQYWNrYWdlSnNvbi52ZXJzaW9uKSxcbiAgICB9LFxuICAgIGJ1aWxkOiB7XG4gICAgICByb2xsdXBPcHRpb25zOiB7XG4gICAgICAgIG91dHB1dDogeyBpbmxpbmVEeW5hbWljSW1wb3J0czogdHJ1ZSB9LFxuICAgICAgfSxcbiAgICAgIGVtcHR5T3V0RGlyOiBmYWxzZSwgLy8ga2VlcCB0aGUgZGlzdCBmb2xkZXIgdG8gYXZvaWQgZXJyb3JzIHdpdGggcG5wbSBnbyB3aGVuIGZvbGRlciBpcyBlbXB0eSBkdXJpbmcgYnVpbGRcbiAgICAgIG1pbmlmeTogXCJ0ZXJzZXJcIixcbiAgICAgIHNvdXJjZW1hcDogdHJ1ZSxcbiAgICAgIGxpYjoge1xuICAgICAgICBlbnRyeTogcmVzb2x2ZShfX2Rpcm5hbWUsIFwic3JjL3dlYnNpdGUvaW5kZXgudHNcIiksXG4gICAgICAgIG5hbWU6IFwiZm9ybWJyaWNrc1wiLFxuICAgICAgICBmb3JtYXRzOiBbXCJ1bWRcIl0sXG4gICAgICAgIGZpbGVOYW1lOiBcIndlYnNpdGVcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBkdHMoe1xuICAgICAgICByb2xsdXBUeXBlczogdHJ1ZSxcbiAgICAgICAgYnVuZGxlZFBhY2thZ2VzOiBbXCJAZm9ybWJyaWNrcy9hcGlcIiwgXCJAZm9ybWJyaWNrcy90eXBlc1wiXSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIH0pO1xufTtcbiIsICJ7XG4gIFwibmFtZVwiOiBcIkBmb3JtYnJpY2tzL3dlYlwiLFxuICBcInZlcnNpb25cIjogXCIyLjAuMFwiLFxuICBcInByaXZhdGVcIjogdHJ1ZSxcbiAgXCJzY3JpcHRzXCI6IHtcbiAgICBcImNsZWFuXCI6IFwicmltcmFmIC50dXJibyBub2RlX21vZHVsZXMgLm5leHRcIixcbiAgICBcImRldlwiOiBcIm5leHQgZGV2IC1wIDMwMDBcIixcbiAgICBcImdvXCI6IFwibmV4dCBkZXYgLXAgMzAwMFwiLFxuICAgIFwiYnVpbGRcIjogXCJuZXh0IGJ1aWxkXCIsXG4gICAgXCJidWlsZDpkZXZcIjogXCJuZXh0IGJ1aWxkXCIsXG4gICAgXCJzdGFydFwiOiBcIm5leHQgc3RhcnRcIixcbiAgICBcImxpbnRcIjogXCJuZXh0IGxpbnRcIlxuICB9LFxuICBcImRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAZm9ybWJyaWNrcy9hcGlcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvZGF0YWJhc2VcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvZWVcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvanNcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvanMtY29yZVwiOiBcIndvcmtzcGFjZToqXCIsXG4gICAgXCJAZm9ybWJyaWNrcy9saWJcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3Mvc3VydmV5c1wiOiBcIndvcmtzcGFjZToqXCIsXG4gICAgXCJAZm9ybWJyaWNrcy90YWlsd2luZC1jb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvdHlwZXNcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvdWlcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGZvcm1icmlja3MvZW1haWxcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQGhlYWRsZXNzdWkvcmVhY3RcIjogXCJeMi4wLjNcIixcbiAgICBcIkBqc29uMmNzdi9ub2RlXCI6IFwiXjcuMC42XCIsXG4gICAgXCJAb3BlbnRlbGVtZXRyeS9hdXRvLWluc3RydW1lbnRhdGlvbnMtbm9kZVwiOiBcIl4wLjQ2LjBcIixcbiAgICBcIkBvcGVudGVsZW1ldHJ5L2V4cG9ydGVyLXRyYWNlLW90bHAtaHR0cFwiOiBcIl4wLjUxLjFcIixcbiAgICBcIkBvcGVudGVsZW1ldHJ5L3Jlc291cmNlc1wiOiBcIl4xLjI0LjFcIixcbiAgICBcIkBvcGVudGVsZW1ldHJ5L3Nkay1ub2RlXCI6IFwiXjAuNTEuMVwiLFxuICAgIFwiQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnNcIjogXCJeMS4yNC4xXCIsXG4gICAgXCJAcGFyYWxsZWxkcml2ZS9jdWlkMlwiOiBcIl4yLjIuMlwiLFxuICAgIFwiQHJhZGl4LXVpL3JlYWN0LWNvbGxhcHNpYmxlXCI6IFwiXjEuMC4zXCIsXG4gICAgXCJAcmVhY3QtZW1haWwvY29tcG9uZW50c1wiOiBcIl4wLjAuMTdcIixcbiAgICBcIkBzZW50cnkvbmV4dGpzXCI6IFwiXjcuMTEzLjBcIixcbiAgICBcIkB2ZXJjZWwvb2dcIjogXCJeMC42LjJcIixcbiAgICBcIkB2ZXJjZWwvc3BlZWQtaW5zaWdodHNcIjogXCJeMS4wLjEwXCIsXG4gICAgXCJiY3J5cHRqc1wiOiBcIl4yLjQuM1wiLFxuICAgIFwiZG90ZW52XCI6IFwiXjE2LjQuNVwiLFxuICAgIFwiZW5jb2RpbmdcIjogXCJeMC4xLjEzXCIsXG4gICAgXCJmcmFtZXItbW90aW9uXCI6IFwiMTEuMS45XCIsXG4gICAgXCJnb29nbGVhcGlzXCI6IFwiXjEzNy4xLjBcIixcbiAgICBcImppdGlcIjogXCJeMS4yMS4wXCIsXG4gICAgXCJqc29ud2VidG9rZW5cIjogXCJeOS4wLjJcIixcbiAgICBcImxvZGFzaFwiOiBcIl40LjE3LjIxXCIsXG4gICAgXCJscnUtY2FjaGVcIjogXCJeMTAuMi4yXCIsXG4gICAgXCJsdWNpZGUtcmVhY3RcIjogXCJeMC4zNzguMFwiLFxuICAgIFwibWltZVwiOiBcIl40LjAuM1wiLFxuICAgIFwibmV4dFwiOiBcIjE0LjIuM1wiLFxuICAgIFwibm9kZW1haWxlclwiOiBcIl42LjkuMTNcIixcbiAgICBcIm90cGxpYlwiOiBcIl4xMi4wLjFcIixcbiAgICBcInBhcGFwYXJzZVwiOiBcIl41LjQuMVwiLFxuICAgIFwicG9zdGhvZy1qc1wiOiBcIl4xLjEzMS4wXCIsXG4gICAgXCJwcmlzbWpzXCI6IFwiXjEuMjkuMFwiLFxuICAgIFwicXJjb2RlXCI6IFwiXjEuNS4zXCIsXG4gICAgXCJyZWFjdFwiOiBcIjE4LjMuMVwiLFxuICAgIFwicmVhY3QtYmVhdXRpZnVsLWRuZFwiOiBcIl4xMy4xLjFcIixcbiAgICBcInJlYWN0LWRvbVwiOiBcIjE4LjMuMVwiLFxuICAgIFwicmVhY3QtaG9vay1mb3JtXCI6IFwiXjcuNTEuNFwiLFxuICAgIFwicmVhY3QtaG90LXRvYXN0XCI6IFwiXjIuNC4xXCIsXG4gICAgXCJyZWRpc1wiOiBcIl40LjYuMTNcIixcbiAgICBcInNoYXJwXCI6IFwiXjAuMzMuM1wiLFxuICAgIFwidWEtcGFyc2VyLWpzXCI6IFwiXjEuMC4zN1wiLFxuICAgIFwid2VicGFja1wiOiBcIl41LjkxLjBcIixcbiAgICBcInhsc3hcIjogXCJeMC4xOC41XCJcbiAgfSxcbiAgXCJkZXZEZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiQGZvcm1icmlja3MvdHNjb25maWdcIjogXCJ3b3Jrc3BhY2U6KlwiLFxuICAgIFwiQG5lc2hjYS9jYWNoZS1oYW5kbGVyXCI6IFwiXjEuMy4xXCIsXG4gICAgXCJAdHlwZXMvYmNyeXB0anNcIjogXCJeMi40LjZcIixcbiAgICBcIkB0eXBlcy9sb2Rhc2hcIjogXCJeNC4xNy4xXCIsXG4gICAgXCJAdHlwZXMvbWFya2Rvd24taXRcIjogXCJeMTQuMS4xXCIsXG4gICAgXCJAdHlwZXMvcGFwYXBhcnNlXCI6IFwiXjUuMy4xNFwiLFxuICAgIFwiQHR5cGVzL3FyY29kZVwiOiBcIl4xLjUuNVwiLFxuICAgIFwiZXNsaW50LWNvbmZpZy1mb3JtYnJpY2tzXCI6IFwid29ya3NwYWNlOipcIlxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXFZLFNBQVMsZUFBZTtBQUM3WixTQUFTLG9CQUFvQjtBQUM3QixPQUFPLFNBQVM7OztBQ0ZoQjtBQUFBLEVBQ0UsTUFBUTtBQUFBLEVBQ1IsU0FBVztBQUFBLEVBQ1gsU0FBVztBQUFBLEVBQ1gsU0FBVztBQUFBLElBQ1QsT0FBUztBQUFBLElBQ1QsS0FBTztBQUFBLElBQ1AsSUFBTTtBQUFBLElBQ04sT0FBUztBQUFBLElBQ1QsYUFBYTtBQUFBLElBQ2IsT0FBUztBQUFBLElBQ1QsTUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBLGNBQWdCO0FBQUEsSUFDZCxtQkFBbUI7QUFBQSxJQUNuQix3QkFBd0I7QUFBQSxJQUN4QixrQkFBa0I7QUFBQSxJQUNsQixrQkFBa0I7QUFBQSxJQUNsQix1QkFBdUI7QUFBQSxJQUN2QixtQkFBbUI7QUFBQSxJQUNuQix1QkFBdUI7QUFBQSxJQUN2QiwrQkFBK0I7QUFBQSxJQUMvQixxQkFBcUI7QUFBQSxJQUNyQixrQkFBa0I7QUFBQSxJQUNsQixxQkFBcUI7QUFBQSxJQUNyQixxQkFBcUI7QUFBQSxJQUNyQixrQkFBa0I7QUFBQSxJQUNsQiw2Q0FBNkM7QUFBQSxJQUM3QywyQ0FBMkM7QUFBQSxJQUMzQyw0QkFBNEI7QUFBQSxJQUM1QiwyQkFBMkI7QUFBQSxJQUMzQix1Q0FBdUM7QUFBQSxJQUN2Qyx3QkFBd0I7QUFBQSxJQUN4QiwrQkFBK0I7QUFBQSxJQUMvQiwyQkFBMkI7QUFBQSxJQUMzQixrQkFBa0I7QUFBQSxJQUNsQixjQUFjO0FBQUEsSUFDZCwwQkFBMEI7QUFBQSxJQUMxQixVQUFZO0FBQUEsSUFDWixRQUFVO0FBQUEsSUFDVixVQUFZO0FBQUEsSUFDWixpQkFBaUI7QUFBQSxJQUNqQixZQUFjO0FBQUEsSUFDZCxNQUFRO0FBQUEsSUFDUixjQUFnQjtBQUFBLElBQ2hCLFFBQVU7QUFBQSxJQUNWLGFBQWE7QUFBQSxJQUNiLGdCQUFnQjtBQUFBLElBQ2hCLE1BQVE7QUFBQSxJQUNSLE1BQVE7QUFBQSxJQUNSLFlBQWM7QUFBQSxJQUNkLFFBQVU7QUFBQSxJQUNWLFdBQWE7QUFBQSxJQUNiLGNBQWM7QUFBQSxJQUNkLFNBQVc7QUFBQSxJQUNYLFFBQVU7QUFBQSxJQUNWLE9BQVM7QUFBQSxJQUNULHVCQUF1QjtBQUFBLElBQ3ZCLGFBQWE7QUFBQSxJQUNiLG1CQUFtQjtBQUFBLElBQ25CLG1CQUFtQjtBQUFBLElBQ25CLE9BQVM7QUFBQSxJQUNULE9BQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFNBQVc7QUFBQSxJQUNYLE1BQVE7QUFBQSxFQUNWO0FBQUEsRUFDQSxpQkFBbUI7QUFBQSxJQUNqQix3QkFBd0I7QUFBQSxJQUN4Qix5QkFBeUI7QUFBQSxJQUN6QixtQkFBbUI7QUFBQSxJQUNuQixpQkFBaUI7QUFBQSxJQUNqQixzQkFBc0I7QUFBQSxJQUN0QixvQkFBb0I7QUFBQSxJQUNwQixpQkFBaUI7QUFBQSxJQUNqQiw0QkFBNEI7QUFBQSxFQUM5QjtBQUNGOzs7QUQ3RUEsSUFBTSxtQ0FBbUM7QUFNbEMsSUFBTSxTQUFTLE1BQU07QUFDMUIsU0FBTyxhQUFhO0FBQUEsSUFDbEIsUUFBUTtBQUFBLE1BQ04sMkJBQTJCLEtBQUssVUFBVSxnQkFBZSxPQUFPO0FBQUEsSUFDbEU7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMLGVBQWU7QUFBQSxRQUNiLFFBQVEsRUFBRSxzQkFBc0IsS0FBSztBQUFBLE1BQ3ZDO0FBQUEsTUFDQSxhQUFhO0FBQUE7QUFBQSxNQUNiLFFBQVE7QUFBQSxNQUNSLFdBQVc7QUFBQSxNQUNYLEtBQUs7QUFBQSxRQUNILE9BQU8sUUFBUSxrQ0FBVyxzQkFBc0I7QUFBQSxRQUNoRCxNQUFNO0FBQUEsUUFDTixTQUFTLENBQUMsS0FBSztBQUFBLFFBQ2YsVUFBVTtBQUFBLE1BQ1o7QUFBQSxJQUNGO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxJQUFJO0FBQUEsUUFDRixhQUFhO0FBQUEsUUFDYixpQkFBaUIsQ0FBQyxtQkFBbUIsbUJBQW1CO0FBQUEsTUFDMUQsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K diff --git a/packages/js/.eslintrc.cjs b/packages/js/.eslintrc.cjs index 80997af8c2..ed6059c25b 100644 --- a/packages/js/.eslintrc.cjs +++ b/packages/js/.eslintrc.cjs @@ -1,3 +1,4 @@ module.exports = { - extends: ["turbo", "prettier"], + extends: ["@formbricks/eslint-config/legacy-library.js"], + parser: "@typescript-eslint/parser", }; diff --git a/packages/js/package.json b/packages/js/package.json index 09a6150e2b..b9441c9269 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -46,14 +46,14 @@ "build": "tsc && vite build", "build:dev": "tsc && vite build --mode dev", "go": "vite build --watch --mode dev", - "lint": "eslint ./src --fix", + "lint": "eslint . --ext .ts,.js,.tsx,.jsx", "clean": "rimraf .turbo node_modules dist coverage" }, "author": "Formbricks ", "devDependencies": { "@formbricks/js-core": "workspace:*", - "@formbricks/tsconfig": "workspace:*", - "eslint-config-formbricks": "workspace:*", + "@formbricks/config-typescript": "workspace:*", + "@formbricks/eslint-config": "workspace:*", "terser": "^5.31.0", "vite": "^5.2.11", "vite-plugin-dts": "^3.9.1" diff --git a/packages/js/tsconfig.json b/packages/js/tsconfig.json index 502a7be363..e0b6bf95a1 100644 --- a/packages/js/tsconfig.json +++ b/packages/js/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/js-library.json", + "extends": "@formbricks/config-typescript/js-library.json", "include": ["src", "package.json"], "compilerOptions": { "strict": true, diff --git a/packages/lib/.eslintrc.js b/packages/lib/.eslintrc.js index bcf4aad3a3..64a6e29852 100644 --- a/packages/lib/.eslintrc.js +++ b/packages/lib/.eslintrc.js @@ -1,4 +1,3 @@ module.exports = { - root: true, - extends: ["formbricks"], + extends: ["@formbricks/eslint-config/legacy-next.js"], }; diff --git a/packages/lib/package.json b/packages/lib/package.json index 3f76d8fd4b..c40bbc6fb0 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -36,12 +36,12 @@ "tailwind-merge": "^2.3.0" }, "devDependencies": { - "@formbricks/tsconfig": "*", + "@formbricks/config-typescript": "*", "@types/jsonwebtoken": "^9.0.6", "@types/mime-types": "^2.1.4", "@types/ungap__structured-clone": "^1.2.0", "dotenv": "^16.4.5", - "eslint-config-formbricks": "workspace:*", + "@formbricks/eslint-config": "workspace:*", "ts-node": "^10.9.2", "vitest": "^1.6.0", "vitest-mock-extended": "^1.3.1" diff --git a/packages/lib/tsconfig.json b/packages/lib/tsconfig.json index db0da1358a..440281cf4d 100644 --- a/packages/lib/tsconfig.json +++ b/packages/lib/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@formbricks/tsconfig/nextjs.json", + "extends": "@formbricks/config-typescript/nextjs.json", "include": ["."], "exclude": ["dist", "build", "node_modules", "../../packages/types/surveys.d.ts"], "compilerOptions": { diff --git a/packages/surveys/.eslintrc.cjs b/packages/surveys/.eslintrc.cjs index d6151a6966..e7209435ab 100644 --- a/packages/surveys/.eslintrc.cjs +++ b/packages/surveys/.eslintrc.cjs @@ -1,3 +1,4 @@ module.exports = { - extends: [ "turbo", "prettier"], -}; \ No newline at end of file + extends: ["@formbricks/eslint-config/legacy-react.js"], + parser: "@typescript-eslint/parser", +}; diff --git a/packages/surveys/package.json b/packages/surveys/package.json index 74367de4c5..5145731f5e 100644 --- a/packages/surveys/package.json +++ b/packages/surveys/package.json @@ -38,12 +38,12 @@ "devDependencies": { "@calcom/embed-snippet": "1.3.0", "@formbricks/lib": "workspace:*", - "@formbricks/tsconfig": "workspace:*", + "@formbricks/config-typescript": "workspace:*", "@formbricks/types": "workspace:*", "@preact/preset-vite": "^2.8.2", "autoprefixer": "^10.4.19", "concurrently": "8.2.2", - "eslint-config-formbricks": "workspace:*", + "@formbricks/eslint-config": "workspace:*", "isomorphic-dompurify": "^2.11.0", "postcss": "^8.4.38", "preact": "^10.22.0", diff --git a/packages/surveys/src/components/general/QuestionMedia.tsx b/packages/surveys/src/components/general/QuestionMedia.tsx index f3e08cd899..d9d2e53efd 100644 --- a/packages/surveys/src/components/general/QuestionMedia.tsx +++ b/packages/surveys/src/components/general/QuestionMedia.tsx @@ -34,7 +34,6 @@ export const QuestionMedia = ({ imgUrl, videoUrl, altText = "Image" }: QuestionM return (
- {/* eslint-disable-next-line @next/next/no-img-element */} {imgUrl && {altText}} {videoUrlWithParams && (
diff --git a/packages/surveys/src/components/general/WelcomeCard.tsx b/packages/surveys/src/components/general/WelcomeCard.tsx index 824c7743cb..0506cce79d 100644 --- a/packages/surveys/src/components/general/WelcomeCard.tsx +++ b/packages/surveys/src/components/general/WelcomeCard.tsx @@ -107,7 +107,6 @@ export const WelcomeCard = ({
{fileUrl && ( - /* eslint-disable-next-line @next/next/no-img-element */ Company Logo )} diff --git a/packages/surveys/src/components/questions/PictureSelectionQuestion.tsx b/packages/surveys/src/components/questions/PictureSelectionQuestion.tsx index c99a131dd0..f3322a8c8a 100644 --- a/packages/surveys/src/components/questions/PictureSelectionQuestion.tsx +++ b/packages/surveys/src/components/questions/PictureSelectionQuestion.tsx @@ -132,7 +132,6 @@ export const PictureSelectionQuestion = ({ : "", "focus:border-brand group/image rounded-custom relative inline-block h-28 w-full cursor-pointer overflow-hidden border focus:border-4 focus:outline-none" )}> - {/* eslint-disable-next-line @next/next/no-img-element */} =14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + dependencies: + '@babel/core': 7.24.6 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + /@babel/generator@7.17.7: resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.24.6 jsesc: 2.5.2 source-map: 0.5.7 dev: true @@ -2211,7 +2231,7 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.24.6 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.6(@babel/core@7.24.6): resolution: {integrity: sha512-bYndrJ6Ph6Ar+GaB5VAc0JPoP80bQCm4qon6JEzXfRl5QZyQ8Ur1K6k7htxWmPA5z+k7JQvaMUrtXlqclWYzKw==} @@ -3266,6 +3286,7 @@ packages: dependencies: '@babel/helper-validator-identifier': 7.24.6 to-fast-properties: 2.0.0 + dev: true /@babel/types@7.24.6: resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==} @@ -5281,6 +5302,12 @@ packages: requiresBuild: true optional: true + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + dependencies: + eslint-scope: 5.1.1 + dev: true + /@noble/hashes@1.4.0: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -6333,6 +6360,11 @@ packages: requiresBuild: true optional: true + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + /@playwright/test@1.44.1: resolution: {integrity: sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==} engines: {node: '>=16'} @@ -11152,27 +11184,29 @@ packages: '@types/node': 20.12.12 dev: false - /@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0)(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.11.0 - '@typescript-eslint/type-utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.11.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -11206,20 +11240,20 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.11.0 - '@typescript-eslint/types': 7.11.0 - '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.11.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 typescript: 5.4.5 @@ -11248,27 +11282,6 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -11277,12 +11290,12 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@7.11.0: - resolution: {integrity: sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.11.0 - '@typescript-eslint/visitor-keys': 7.11.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/scope-manager@7.12.0: @@ -11293,26 +11306,18 @@ packages: '@typescript-eslint/visitor-keys': 7.12.0 dev: true - /@typescript-eslint/scope-manager@7.2.0: - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 - dev: true - - /@typescript-eslint/type-utils@7.11.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==} - engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -11346,9 +11351,9 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@7.11.0: - resolution: {integrity: sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/types@7.12.0: @@ -11356,11 +11361,6 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/types@7.2.0: - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -11382,21 +11382,21 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.11.0(typescript@5.4.5): - resolution: {integrity: sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.11.0 - '@typescript-eslint/visitor-keys': 7.11.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.4 + minimatch: 9.0.3 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 @@ -11426,28 +11426,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5): - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -11468,17 +11446,20 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.11.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.11.0 - '@typescript-eslint/types': 7.11.0 - '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 8.57.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -11508,11 +11489,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.11.0: - resolution: {integrity: sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==} - engines: {node: ^18.18.0 || >=20.0.0} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true @@ -11524,14 +11505,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.2.0: - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 7.2.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -11572,6 +11545,53 @@ packages: react: 19.0.0-rc-935180c7e0-20240524 dev: false + /@vercel/style-guide@5.2.0(@next/eslint-plugin-next@14.2.3)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} + engines: {node: '>=16'} + peerDependencies: + '@next/eslint-plugin-next': '>=12.3.0 <15' + eslint: '>=8.48.0 <9' + prettier: '>=3.0.0 <4' + typescript: '>=4.8.0 <6' + peerDependenciesMeta: + '@next/eslint-plugin-next': + optional: true + eslint: + optional: true + prettier: + optional: true + typescript: + optional: true + dependencies: + '@babel/core': 7.24.6 + '@babel/eslint-parser': 7.24.7(@babel/core@7.24.6)(eslint@8.57.0) + '@next/eslint-plugin-next': 14.2.3 + '@rushstack/eslint-patch': 1.10.3 + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.29.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0) + eslint-plugin-react: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint-plugin-testing-library: 6.2.2(eslint@8.57.0)(typescript@5.4.5) + eslint-plugin-tsdoc: 0.2.17 + eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) + prettier-plugin-packagejson: 2.5.0 + typescript: 5.4.5 + transitivePeerDependencies: + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - jest + - supports-color + dev: true + /@vitejs/plugin-react@4.3.0(vite@5.2.12): resolution: {integrity: sha512-KcEbMsn4Dpk+LIbHMj7gDPRKaTMStxxWRkRmxsg/jVdFdJCZWt1SchZcf0M4t8lIKdwwMsEyzhrcOXRrDPtOBw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12617,6 +12637,11 @@ packages: ieee754: 1.2.1 dev: false + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + /bundle-require@4.1.0(esbuild@0.21.4): resolution: {integrity: sha512-FeArRFM+ziGkRViKRnSTbHZc35dgmR9yNog05Kn0+ItI59pOAISGvnnIwW1WgFZQW59IxD9QpJnUPkdIPfZuXg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12872,7 +12897,6 @@ packages: /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: false /citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -12890,6 +12914,13 @@ packages: clsx: 2.0.0 dev: false + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -13655,10 +13686,20 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + /detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + dev: true + /detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} + /detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -14228,11 +14269,11 @@ packages: dependencies: '@next/eslint-plugin-next': 14.2.3 '@rushstack/eslint-patch': 1.10.3 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.11.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -14267,6 +14308,25 @@ packages: dependencies: eslint: 8.57.0 eslint-plugin-turbo: 1.10.12(eslint@8.57.0) + dev: false + + /eslint-config-turbo@2.0.1(eslint@8.57.0): + resolution: {integrity: sha512-Z/TjALEtWvFmi7c2pszuyU8VMrp7KH1q3I4eNBLzlit5kybYDJhacUDYRDyIdGqXg6XljdyDpxNIOKQByScknw==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + eslint: 8.57.0 + eslint-plugin-turbo: 2.0.1(eslint@8.57.0) + dev: true + + /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + dependencies: + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + dev: true /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -14278,7 +14338,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -14288,8 +14348,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.16.1 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.11.0)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.13.1 @@ -14301,7 +14361,30 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.11.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.16.1 + eslint: 8.57.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.5 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: @@ -14322,15 +14405,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.12.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: @@ -14351,16 +14435,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.11.0)(eslint@8.57.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.57.0 + ignore: 5.3.1 + dev: true + + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -14370,7 +14464,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -14379,7 +14473,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.11.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -14395,6 +14489,62 @@ packages: - supports-color dev: true + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0)(eslint@8.57.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.4.5) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.12.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + hasown: 2.0.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} @@ -14420,6 +14570,19 @@ packages: object.fromentries: 2.0.8 dev: true + /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): + resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} + peerDependencies: + eslint: '>=7' + eslint-plugin-jest: '>=25' + peerDependenciesMeta: + eslint-plugin-jest: + optional: true + dependencies: + eslint: 8.57.0 + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + dev: true + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} @@ -14435,7 +14598,6 @@ packages: eslint: '>=7' dependencies: eslint: 8.57.0 - dev: true /eslint-plugin-react@7.34.1(eslint@8.57.0): resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} @@ -14480,6 +14642,26 @@ packages: - typescript dev: true + /eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + dev: true + /eslint-plugin-turbo@1.10.12(eslint@8.57.0): resolution: {integrity: sha512-uNbdj+ohZaYo4tFJ6dStRXu2FZigwulR1b3URPXe0Q8YaE7thuekKNP+54CHtZPH9Zey9dmDx5btAQl9mfzGOw==} peerDependencies: @@ -14487,6 +14669,40 @@ packages: dependencies: dotenv: 16.0.3 eslint: 8.57.0 + dev: false + + /eslint-plugin-turbo@2.0.1(eslint@8.57.0): + resolution: {integrity: sha512-qe3WlGQXVKIZyWlONjvd3+YbtptK6KvfoLb6TrVzkT+mNYbDpjjbGZ3z12Oj0kUNW31n5Me3EVnrgxeyyw1V3g==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + dotenv: 16.0.3 + eslint: 8.57.0 + dev: true + + /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + dependencies: + '@babel/helper-validator-identifier': 7.24.6 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.57.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.2 + strip-indent: 3.0.0 + dev: true /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} @@ -14502,6 +14718,11 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -15190,6 +15411,11 @@ packages: engines: {node: '>=12.17'} dev: true + /get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + dev: true + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -15234,6 +15460,10 @@ packages: tar: 6.2.1 dev: true + /git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + dev: true + /github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: true @@ -15365,6 +15595,17 @@ packages: merge2: 1.4.1 slash: 3.0.0 + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + /globby@14.0.1: resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} @@ -15966,6 +16207,13 @@ packages: call-bind: 1.0.7 has-tostringtag: 1.0.2 + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -16105,7 +16353,6 @@ packages: /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - dev: false /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} @@ -16463,6 +16710,12 @@ packages: engines: {node: '>=4'} hasBin: true + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + /json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} dependencies: @@ -18835,6 +19088,11 @@ packages: optionalDependencies: fsevents: 2.3.2 + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + /pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} @@ -18994,6 +19252,18 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + /prettier-plugin-packagejson@2.5.0: + resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + dependencies: + sort-package-json: 2.10.0 + synckit: 0.9.0 + dev: true + /prettier-plugin-tailwindcss@0.5.14(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.2.5): resolution: {integrity: sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==} engines: {node: '>=14.21.3'} @@ -19905,6 +20175,11 @@ packages: '@babel/runtime': 7.24.6 dev: true + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + /regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -19940,6 +20215,13 @@ packages: rc: 1.2.8 dev: true + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + /regjsparser@0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true @@ -20576,6 +20858,11 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + /slash@5.1.0: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} @@ -20681,6 +20968,24 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false + /sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: true + + /sort-package-json@2.10.0: + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} + hasBin: true + dependencies: + detect-indent: 7.0.1 + detect-newline: 4.0.1 + get-stdin: 9.0.0 + git-hooks-list: 3.1.0 + globby: 13.2.2 + is-plain-obj: 4.1.0 + semver: 7.6.2 + sort-object-keys: 1.1.3 + dev: true + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -21126,6 +21431,14 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true + /synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + /tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: false @@ -21667,64 +21980,64 @@ packages: yargs: 17.7.2 dev: false - /turbo-darwin-64@1.13.3: - resolution: {integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==} + /turbo-darwin-64@2.0.1: + resolution: {integrity: sha512-GO391pUmI6c6l/EpUIaXNzwbVDWRvYahm5oLB176dAWRYKYO+Osqs/XBdOM0G3l7ZFdR6nUtRJc8qinJp7qDUQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.13.3: - resolution: {integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==} + /turbo-darwin-arm64@2.0.1: + resolution: {integrity: sha512-rmjJoxeq7nmH/F2aWKapahrDE2zE2Uc15rvs4Rz6qHOzSqC8R5uyLpQyTKIPIZ95O/z9nKfLfVPyiRENuk5vpw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.13.3: - resolution: {integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==} + /turbo-linux-64@2.0.1: + resolution: {integrity: sha512-vwTOc4v4jm6tM+9WlsiDlN+zwHP8A2wlsAYiNqz2u0DZL55aCWaVdivh2VpVLN36Mr9HgREGH0Fw+jx6ObcNRg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.13.3: - resolution: {integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==} + /turbo-linux-arm64@2.0.1: + resolution: {integrity: sha512-DkVt76fjwY940DfmqznWhpYIlKYduvKAoTtylkERrDlcWUpDYWwqNbcf9PRRIbnjnv9lIxvuom1KZmMY+cw/Ig==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.13.3: - resolution: {integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==} + /turbo-windows-64@2.0.1: + resolution: {integrity: sha512-XskV34kYuXVIHbRbgH8jr35Y8uA6kJOQ0LJStU4jFk7piiyk0a4n2GNDymMtvIwAxYdbuTe+pKuPCThFdirHBQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.13.3: - resolution: {integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==} + /turbo-windows-arm64@2.0.1: + resolution: {integrity: sha512-R2/RmKr2uQxkOCtXK5LNxdD3Iv7lUm56iy2FrDwTDgPI7X7K6WRjrxdirmFIu/fABYE5n6EampU3ejbG5mmGtg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.13.3: - resolution: {integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==} + /turbo@2.0.1: + resolution: {integrity: sha512-sJhxfBaN14pYj//xxAG6zAyStkE2j4HI9JVXVMob35SGob6dz/HuSqV/4QlVqw0uKAkwc1lXIsnykbe8RLmOOw==} hasBin: true optionalDependencies: - turbo-darwin-64: 1.13.3 - turbo-darwin-arm64: 1.13.3 - turbo-linux-64: 1.13.3 - turbo-linux-arm64: 1.13.3 - turbo-windows-64: 1.13.3 - turbo-windows-arm64: 1.13.3 + turbo-darwin-64: 2.0.1 + turbo-darwin-arm64: 2.0.1 + turbo-linux-64: 2.0.1 + turbo-linux-arm64: 2.0.1 + turbo-windows-64: 2.0.1 + turbo-windows-arm64: 2.0.1 dev: true /tween-functions@1.2.0: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f465b6c828..3ff5faaaf5 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,3 @@ packages: - "apps/*" - "packages/*" - - "!packages/n8n" diff --git a/turbo.json b/turbo.json index ebf4ef9e42..930707cca4 100644 --- a/turbo.json +++ b/turbo.json @@ -1,6 +1,6 @@ { "$schema": "https://turborepo.org/schema.json", - "pipeline": { + "tasks": { "@formbricks/database#build": { "cache": false, "dependsOn": ["post-install"] @@ -66,6 +66,7 @@ "CUSTOM_CACHE_DISABLED", "CUSTOMER_IO_API_KEY", "CUSTOMER_IO_SITE_ID", + "DATABASE_URL", "DEBUG", "E2E_TESTING", "EMAIL_AUTH_DISABLED", @@ -144,6 +145,7 @@ "UPLOADS_DIR", "VERCEL", "VERCEL_URL", + "VERSION", "WEBAPP_URL", "UNSPLASH_ACCESS_KEY" ]