From e69d8cd9cbf181946564220c9db77074401bbbdd Mon Sep 17 00:00:00 2001 From: Yaroslav Grishajev Date: Fri, 7 Jun 2024 17:15:29 +0200 Subject: [PATCH] style(dx): centralize code style tools refs #223 --- .eslintrc.js | 24 + .prettierrc.js | 19 + apps/api/.eslintrc.js | 1 + apps/api/.eslintrc.json | 17 - apps/api/.prettierrc | 16 - apps/api/.prettierrc.js | 1 + apps/api/package.json | 6 +- apps/deploy-web/.eslintrc.js | 1 + apps/deploy-web/.eslintrc.json | 9 - apps/deploy-web/.prettierrc | 17 - apps/deploy-web/.prettierrc.js | 1 + apps/deploy-web/next.config.js | 3 + apps/deploy-web/package.json | 8 +- apps/indexer/.eslintrc.js | 1 + apps/indexer/.prettierrc | 16 - apps/indexer/.prettierrc.js | 1 + apps/indexer/package.json | 9 +- apps/landing/.eslintrc.js | 1 + apps/landing/.prettierrc | 16 - apps/landing/.prettierrc.js | 1 + apps/landing/package.json | 3 + apps/provider-proxy/.eslintrc.js | 1 + apps/provider-proxy/.prettierrc.js | 1 + apps/provider-proxy/package.json | 3 + apps/stats-web/.eslintrc.js | 1 + apps/stats-web/.prettierrc | 17 - apps/stats-web/.prettierrc.js | 1 + apps/stats-web/next.config.js | 3 + apps/stats-web/package.json | 7 +- package-lock.json | 1003 ++++++++----------------- package.json | 18 +- packages/dev-config/.eslintrc.base.js | 28 + packages/dev-config/.eslintrc.next.js | 22 + packages/dev-config/.eslintrc.ts.js | 20 + packages/dev-config/.prettierignore | 4 + packages/dev-config/.prettierrc.js | 17 + packages/dev-config/package.json | 20 + packages/shared/package.json | 3 +- 38 files changed, 518 insertions(+), 822 deletions(-) create mode 100644 .eslintrc.js create mode 100644 .prettierrc.js create mode 100644 apps/api/.eslintrc.js delete mode 100644 apps/api/.eslintrc.json delete mode 100644 apps/api/.prettierrc create mode 100644 apps/api/.prettierrc.js create mode 100644 apps/deploy-web/.eslintrc.js delete mode 100644 apps/deploy-web/.eslintrc.json delete mode 100644 apps/deploy-web/.prettierrc create mode 100644 apps/deploy-web/.prettierrc.js create mode 100644 apps/indexer/.eslintrc.js delete mode 100644 apps/indexer/.prettierrc create mode 100644 apps/indexer/.prettierrc.js create mode 100644 apps/landing/.eslintrc.js delete mode 100644 apps/landing/.prettierrc create mode 100644 apps/landing/.prettierrc.js create mode 100644 apps/provider-proxy/.eslintrc.js create mode 100644 apps/provider-proxy/.prettierrc.js create mode 100644 apps/stats-web/.eslintrc.js delete mode 100644 apps/stats-web/.prettierrc create mode 100644 apps/stats-web/.prettierrc.js create mode 100644 packages/dev-config/.eslintrc.base.js create mode 100644 packages/dev-config/.eslintrc.next.js create mode 100644 packages/dev-config/.eslintrc.ts.js create mode 100644 packages/dev-config/.prettierignore create mode 100644 packages/dev-config/.prettierrc.js create mode 100644 packages/dev-config/package.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..34dc472f2 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,24 @@ +const path = require("path"); +const baseConfig = require("@akashnetwork/dev-config/.eslintrc.base"); +const tsConfig = require("@akashnetwork/dev-config/.eslintrc.ts"); +const nextConfig = require("@akashnetwork/dev-config/.eslintrc.next"); + +module.exports = { + ...baseConfig, + settings: { + next: { + rootDir: "apps/*" + } + }, + overrides: [ + ...baseConfig.overrides, + ...tsConfig.overrides, + ...nextConfig.overrides.map(override => ({ + ...override, + files: ["apps/*-web/**/*.{ts,tsx}", "apps/landing/**/*.{ts,tsx}"], + rules: { + "@next/next/no-html-link-for-pages": ["error", ["deploy-web", "landing"].map(app => path.resolve(__dirname, `apps/${app}/src/pages`))] + } + })) + ] +}; diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 000000000..073fd1dbc --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,19 @@ +const config = require("@akashnetwork/dev-config/.prettierrc"); + +module.exports = { + ...config, + overrides: [ + { + files: "./apps/deploy-web/**", + options: { + tailwindConfig: "./apps/deploy-web/tailwind.config.ts" + } + }, + { + files: "./apps/stats-web/**", + options: { + tailwindConfig: "./apps/stats-web/tailwind.config.ts" + } + } + ] +}; diff --git a/apps/api/.eslintrc.js b/apps/api/.eslintrc.js new file mode 100644 index 000000000..db9fe7738 --- /dev/null +++ b/apps/api/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@akashnetwork/dev-config/.eslintrc.ts'); diff --git a/apps/api/.eslintrc.json b/apps/api/.eslintrc.json deleted file mode 100644 index 64fea4033..000000000 --- a/apps/api/.eslintrc.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "env": { - "node": true, - "es2021": true - }, - "ignorePatterns": ["node_modules/", "dist/", "webpack.*.js"], - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "plugins": ["@typescript-eslint"], - "rules": { - "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true }] - } -} diff --git a/apps/api/.prettierrc b/apps/api/.prettierrc deleted file mode 100644 index c6812c91e..000000000 --- a/apps/api/.prettierrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "printWidth": 160, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "quoteProps": "as-needed", - "jsxSingleQuote": false, - "jsxBracketSameLine": false, - "trailingComma": "none", - "requirePragma": false, - "insertPragma": false, - "singleQuote": false, - "arrowParens": "always", - "endOfLine": "crlf", - "htmlWhitespaceSensitivity": "strict" -} diff --git a/apps/api/.prettierrc.js b/apps/api/.prettierrc.js new file mode 100644 index 000000000..8e89b39c8 --- /dev/null +++ b/apps/api/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.prettierrc"); diff --git a/apps/api/package.json b/apps/api/package.json index 97500a0a8..97d207761 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -9,6 +9,7 @@ "start": "webpack --config webpack.dev.js --watch", "build": "webpack --config webpack.prod.js", "lint": "eslint .", + "format": "prettier --write ./*.{js,json} **/*.{ts,js,json}", "test": "jest --selectProjects unit functional", "test:watch": "jest --selectProjects unit functional --watch", "test:cov": "jest --selectProjects unit functional --coverage", @@ -63,6 +64,7 @@ "zod": "^3.22.4" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@faker-js/faker": "^8.4.1", "@types/jest": "^29.5.12", "@types/lodash": "^4.17.0", @@ -72,15 +74,11 @@ "@types/pg": "^8.6.5", "@types/semver": "^7.5.2", "@types/uuid": "^8.3.1", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", "alias-hq": "^5.1.6", - "eslint": "^8.56.0", "jest": "^29.7.0", "nock": "^13.5.4", "nodemon": "^2.0.7", "nodemon-webpack-plugin": "^4.8.2", - "prettier": "^3.2.5", "supertest": "^6.1.5", "ts-jest": "^29.1.2", "ts-loader": "^9.2.5", diff --git a/apps/deploy-web/.eslintrc.js b/apps/deploy-web/.eslintrc.js new file mode 100644 index 000000000..ce07db92a --- /dev/null +++ b/apps/deploy-web/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@akashnetwork/dev-config/.eslintrc.next'); diff --git a/apps/deploy-web/.eslintrc.json b/apps/deploy-web/.eslintrc.json deleted file mode 100644 index 0a8495e5d..000000000 --- a/apps/deploy-web/.eslintrc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "next/core-web-vitals", - "rules": { - "react-hooks/exhaustive-deps": "off", - "react/no-unescaped-entities": "off", - "import/no-anonymous-default-export": "off", - "react/display-name": "off" - } -} diff --git a/apps/deploy-web/.prettierrc b/apps/deploy-web/.prettierrc deleted file mode 100644 index 8753d3618..000000000 --- a/apps/deploy-web/.prettierrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "printWidth": 160, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "quoteProps": "as-needed", - "jsxSingleQuote": false, - "jsxBracketSameLine": false, - "trailingComma": "none", - "requirePragma": false, - "insertPragma": false, - "singleQuote": false, - "arrowParens": "avoid", - "endOfLine": "crlf", - "htmlWhitespaceSensitivity": "strict", - "plugins": ["prettier-plugin-tailwindcss"] -} diff --git a/apps/deploy-web/.prettierrc.js b/apps/deploy-web/.prettierrc.js new file mode 100644 index 000000000..8e89b39c8 --- /dev/null +++ b/apps/deploy-web/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.prettierrc"); diff --git a/apps/deploy-web/next.config.js b/apps/deploy-web/next.config.js index bac8481af..dbfccd2fd 100644 --- a/apps/deploy-web/next.config.js +++ b/apps/deploy-web/next.config.js @@ -25,6 +25,9 @@ const moduleExports = { typescript: { tsconfigPath: "./tsconfig.json" }, + eslint: { + ignoreDuringBuilds: true + }, transpilePackages: ["geist"], // experimental: { // // outputStandalone: true, diff --git a/apps/deploy-web/package.json b/apps/deploy-web/package.json index 792948710..52672046d 100644 --- a/apps/deploy-web/package.json +++ b/apps/deploy-web/package.json @@ -6,10 +6,11 @@ "license": "Apache-2.0", "author": "Akash Network", "scripts": { + "lint": "eslint .", + "format": "prettier --write ./*.{ts,js,json} **/*.{ts,tsx,js,json}", "build": "next build", "build-analyze": "set ANALYZE=true&& next build", "dev": "next -p 3000", - "pretty": "prettier --write \"./**/*.{js,jsx,ts,tsx,json}\"", "start": "next start", "type-check": "tsc" }, @@ -73,7 +74,6 @@ "cmdk": "^0.2.0", "cosmjs-types": "^0.6.1", "date-fns": "^2.29.3", - "eslint-config-next": "^13.4.18", "file-saver": "^2.0.5", "geist": "^1.3.0", "http-proxy": "^1.18.1", @@ -127,6 +127,7 @@ "zod": "^3.22.4" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@keplr-wallet/types": "^0.10.15", "@next/bundle-analyzer": "^14.0.1", "@tailwindcss/typography": "^0.5.12", @@ -140,13 +141,10 @@ "@types/react": "18.2.12", "@types/react-dom": "18.2.5", "@types/react-simple-maps": "^3.0.0", - "@typescript-eslint/parser": "^7.8.0", "autoprefixer": "^10.4.16", "patch-package": "^8.0.0", "postcss": "^8.4.31", "postcss-nesting": "^12.0.2", - "prettier": "^3.1.0", - "prettier-plugin-tailwindcss": "^0.5.7", "tailwindcss": "^3.4.3", "typescript": "5.1.3" }, diff --git a/apps/indexer/.eslintrc.js b/apps/indexer/.eslintrc.js new file mode 100644 index 000000000..db9fe7738 --- /dev/null +++ b/apps/indexer/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@akashnetwork/dev-config/.eslintrc.ts'); diff --git a/apps/indexer/.prettierrc b/apps/indexer/.prettierrc deleted file mode 100644 index c6812c91e..000000000 --- a/apps/indexer/.prettierrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "printWidth": 160, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "quoteProps": "as-needed", - "jsxSingleQuote": false, - "jsxBracketSameLine": false, - "trailingComma": "none", - "requirePragma": false, - "insertPragma": false, - "singleQuote": false, - "arrowParens": "always", - "endOfLine": "crlf", - "htmlWhitespaceSensitivity": "strict" -} diff --git a/apps/indexer/.prettierrc.js b/apps/indexer/.prettierrc.js new file mode 100644 index 000000000..8e89b39c8 --- /dev/null +++ b/apps/indexer/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.prettierrc"); diff --git a/apps/indexer/package.json b/apps/indexer/package.json index dd7bc2199..65dd1145d 100644 --- a/apps/indexer/package.json +++ b/apps/indexer/package.json @@ -14,6 +14,8 @@ "author": "Cloudmos", "main": "server.js", "scripts": { + "lint": "eslint .", + "format": "prettier --write ./*.{js,json} **/*.{ts,js,json}", "build": "webpack --config webpack.prod.js", "start": "webpack --mode development --config webpack.dev.js --watch", "test": "jest" @@ -50,6 +52,7 @@ "uuid": "^9.0.1" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@types/async": "^3.2.15", "@types/express": "^4.17.13", "@types/lodash": "^4.17.1", @@ -60,13 +63,9 @@ "@types/semver": "^7.5.6", "@types/uuid": "^8.3.1", "@types/validator": "^13.7.8", - "@typescript-eslint/eslint-plugin": "^7.2.0", "alias-hq": "^5.1.6", - "eslint": "^8.57.0", - "eslint-plugin-simple-import-sort": "^12.0.0", "nodemon": "^2.0.7", - "nodemon-webpack-plugin": "^4.8.2", - "prettier": "^3.2.5", + "nodemon-webpack-plugin": "^4.5.2", "supertest": "^6.1.5", "ts-jest": "^27.0.4", "ts-loader": "^9.5.1", diff --git a/apps/landing/.eslintrc.js b/apps/landing/.eslintrc.js new file mode 100644 index 000000000..ce07db92a --- /dev/null +++ b/apps/landing/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@akashnetwork/dev-config/.eslintrc.next'); diff --git a/apps/landing/.prettierrc b/apps/landing/.prettierrc deleted file mode 100644 index 19d45a9ff..000000000 --- a/apps/landing/.prettierrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "printWidth": 160, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "quoteProps": "as-needed", - "jsxSingleQuote": false, - "jsxBracketSameLine": false, - "trailingComma": "none", - "requirePragma": false, - "insertPragma": false, - "singleQuote": false, - "arrowParens": "avoid", - "endOfLine": "crlf", - "htmlWhitespaceSensitivity": "strict" -} diff --git a/apps/landing/.prettierrc.js b/apps/landing/.prettierrc.js new file mode 100644 index 000000000..8e89b39c8 --- /dev/null +++ b/apps/landing/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.prettierrc"); diff --git a/apps/landing/package.json b/apps/landing/package.json index da41dc80e..0a79ba803 100644 --- a/apps/landing/package.json +++ b/apps/landing/package.json @@ -6,6 +6,8 @@ "private": true, "license": "Apache-2.0", "scripts": { + "lint": "eslint .", + "format": "prettier --write ./*.{ts,js,json} **/*.{ts,tsx,js,json}", "dev": "next -p 3001", "build": "next build", "start": "next start", @@ -38,6 +40,7 @@ "tss-react": "^4.8.5" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@types/node": "^12.12.21", "@types/nprogress": "^0.2.0", "@types/react": "18.2.12", diff --git a/apps/provider-proxy/.eslintrc.js b/apps/provider-proxy/.eslintrc.js new file mode 100644 index 000000000..45bafd708 --- /dev/null +++ b/apps/provider-proxy/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.eslintrc.ts"); diff --git a/apps/provider-proxy/.prettierrc.js b/apps/provider-proxy/.prettierrc.js new file mode 100644 index 000000000..8e89b39c8 --- /dev/null +++ b/apps/provider-proxy/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.prettierrc"); diff --git a/apps/provider-proxy/package.json b/apps/provider-proxy/package.json index 5f5540f3a..5d4ef5adc 100644 --- a/apps/provider-proxy/package.json +++ b/apps/provider-proxy/package.json @@ -6,6 +6,8 @@ "license": "Apache-2.0", "main": "main.js", "scripts": { + "lint": "eslint .", + "format": "prettier --write ./*.{ts,js,json} **/*.{ts,js,json}", "start": "npx tsc && node ./build/main.js", "build": "npx tsc" }, @@ -18,6 +20,7 @@ "ws": "^7.5.9" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@types/cors": "^2.8.13", "@types/express": "^4.17.16", "@types/node-fetch": "^2.6.2", diff --git a/apps/stats-web/.eslintrc.js b/apps/stats-web/.eslintrc.js new file mode 100644 index 000000000..1e3976711 --- /dev/null +++ b/apps/stats-web/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.eslintrc.next"); diff --git a/apps/stats-web/.prettierrc b/apps/stats-web/.prettierrc deleted file mode 100644 index 8753d3618..000000000 --- a/apps/stats-web/.prettierrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "printWidth": 160, - "tabWidth": 2, - "useTabs": false, - "semi": true, - "quoteProps": "as-needed", - "jsxSingleQuote": false, - "jsxBracketSameLine": false, - "trailingComma": "none", - "requirePragma": false, - "insertPragma": false, - "singleQuote": false, - "arrowParens": "avoid", - "endOfLine": "crlf", - "htmlWhitespaceSensitivity": "strict", - "plugins": ["prettier-plugin-tailwindcss"] -} diff --git a/apps/stats-web/.prettierrc.js b/apps/stats-web/.prettierrc.js new file mode 100644 index 000000000..8e89b39c8 --- /dev/null +++ b/apps/stats-web/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("@akashnetwork/dev-config/.prettierrc"); diff --git a/apps/stats-web/next.config.js b/apps/stats-web/next.config.js index 399d60eb5..30fcdc7f1 100644 --- a/apps/stats-web/next.config.js +++ b/apps/stats-web/next.config.js @@ -5,6 +5,9 @@ const nextConfig = { output: "standalone", publicRuntimeConfig: { version + }, + eslint: { + ignoreDuringBuilds: true } }; diff --git a/apps/stats-web/package.json b/apps/stats-web/package.json index 03641e5c7..9318b974b 100644 --- a/apps/stats-web/package.json +++ b/apps/stats-web/package.json @@ -6,7 +6,8 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "eslint .", + "format": "prettier --write ./*.{ts,js,json} **/*.{ts,tsx,js,json}" }, "dependencies": { "@cosmjs/encoding": "^0.32.0", @@ -58,12 +59,8 @@ "@types/json2csv": "^5.0.7", "@types/node": "^20", "autoprefixer": "^10.4.16", - "eslint": "^8", - "eslint-config-next": "14.0.2", "postcss": "^8.4.31", "postcss-nesting": "^12.0.1", - "prettier": "^3.1.0", - "prettier-plugin-tailwindcss": "^0.5.7", "tailwindcss": "^3.3.5", "@types/react": "18.2.12", "@types/react-dom": "18.2.5", diff --git a/package-lock.json b/package-lock.json index 9199df31f..64d842aeb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,10 @@ "./packages/*", "./apps/*" ], + "devDependencies": { + "@akashnetwork/dev-config": "*", + "@typescript-eslint/eslint-plugin": "^7.12.0" + }, "engines": { "node": "18.20.2", "npm": "10.5.0" @@ -58,6 +62,7 @@ "zod": "^3.22.4" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@faker-js/faker": "^8.4.1", "@types/jest": "^29.5.12", "@types/lodash": "^4.17.0", @@ -67,15 +72,11 @@ "@types/pg": "^8.6.5", "@types/semver": "^7.5.2", "@types/uuid": "^8.3.1", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", "alias-hq": "^5.1.6", - "eslint": "^8.56.0", "jest": "^29.7.0", "nock": "^13.5.4", "nodemon": "^2.0.7", "nodemon-webpack-plugin": "^4.8.2", - "prettier": "^3.2.5", "supertest": "^6.1.5", "ts-jest": "^29.1.2", "ts-loader": "^9.2.5", @@ -149,7 +150,6 @@ "cmdk": "^0.2.0", "cosmjs-types": "^0.6.1", "date-fns": "^2.29.3", - "eslint-config-next": "^13.4.18", "file-saver": "^2.0.5", "geist": "^1.3.0", "http-proxy": "^1.18.1", @@ -203,6 +203,7 @@ "zod": "^3.22.4" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@keplr-wallet/types": "^0.10.15", "@next/bundle-analyzer": "^14.0.1", "@tailwindcss/typography": "^0.5.12", @@ -216,13 +217,10 @@ "@types/react": "18.2.12", "@types/react-dom": "18.2.5", "@types/react-simple-maps": "^3.0.0", - "@typescript-eslint/parser": "^7.8.0", "autoprefixer": "^10.4.16", "patch-package": "^8.0.0", "postcss": "^8.4.31", "postcss-nesting": "^12.0.2", - "prettier": "^3.1.0", - "prettier-plugin-tailwindcss": "^0.5.7", "tailwindcss": "^3.4.3", "typescript": "5.1.3" } @@ -337,34 +335,6 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "dev": true }, - "apps/deploy-web/node_modules/@typescript-eslint/parser": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz", - "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "apps/deploy-web/node_modules/cosmjs-types": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/cosmjs-types/-/cosmjs-types-0.6.1.tgz", @@ -428,6 +398,7 @@ "uuid": "^9.0.1" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@types/async": "^3.2.15", "@types/express": "^4.17.13", "@types/lodash": "^4.17.1", @@ -438,13 +409,9 @@ "@types/semver": "^7.5.6", "@types/uuid": "^8.3.1", "@types/validator": "^13.7.8", - "@typescript-eslint/eslint-plugin": "^7.2.0", "alias-hq": "^5.1.6", - "eslint": "^8.57.0", - "eslint-plugin-simple-import-sort": "^12.0.0", "nodemon": "^2.0.7", - "nodemon-webpack-plugin": "^4.8.2", - "prettier": "^3.2.5", + "nodemon-webpack-plugin": "^4.5.2", "supertest": "^6.1.5", "ts-jest": "^27.0.4", "ts-loader": "^9.5.1", @@ -676,68 +643,6 @@ "pretty-format": "^27.0.0" } }, - "apps/indexer/node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", - "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "apps/indexer/node_modules/@typescript-eslint/parser": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz", - "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==", - "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "apps/indexer/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -987,6 +892,7 @@ "tss-react": "^4.8.5" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@types/node": "^12.12.21", "@types/nprogress": "^0.2.0", "@types/react": "18.2.12", @@ -1062,6 +968,7 @@ "ws": "^7.5.9" }, "devDependencies": { + "@akashnetwork/dev-config": "*", "@types/cors": "^2.8.13", "@types/express": "^4.17.16", "@types/node-fetch": "^2.6.2", @@ -1153,12 +1060,8 @@ "@types/react": "18.2.12", "@types/react-dom": "18.2.5", "autoprefixer": "^10.4.16", - "eslint": "^8", - "eslint-config-next": "14.0.2", "postcss": "^8.4.31", "postcss-nesting": "^12.0.1", - "prettier": "^3.1.0", - "prettier-plugin-tailwindcss": "^0.5.7", "tailwindcss": "^3.3.5", "typescript": "5.1.3" } @@ -1249,32 +1152,6 @@ "proxy-from-env": "^1.1.0" } }, - "apps/stats-web/node_modules/eslint-config-next": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.0.2.tgz", - "integrity": "sha512-CasWThlsyIcg/a+clU6KVOMTieuDhTztsrqvniP6AsRki9v7FnojTa7vKQOYM8QSOsQdZ/aElLD1Y2Oc8/PsIg==", - "dev": true, - "dependencies": { - "@next/eslint-plugin-next": "14.0.2", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "apps/stats-web/node_modules/typescript": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", @@ -1413,6 +1290,10 @@ "resolved": "packages/shared", "link": true }, + "node_modules/@akashnetwork/dev-config": { + "resolved": "packages/dev-config", + "link": true + }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", @@ -5034,15 +4915,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -5057,17 +4929,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -6158,26 +6019,6 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -10552,55 +10393,54 @@ "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" }, "node_modules/@next/eslint-plugin-next": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.2.tgz", - "integrity": "sha512-APrYFsXfAhnysycqxHcpg6Y4i7Ukp30GzVSZQRKT3OczbzkqGjt33vNhScmgoOXYBU1CfkwgtXmNxdiwv1jKmg==", - "dev": true, + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.3.tgz", + "integrity": "sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==", "dependencies": { - "glob": "7.1.7" + "glob": "10.3.10" } }, "node_modules/@next/eslint-plugin-next/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/@next/eslint-plugin-next/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@next/eslint-plugin-next/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@next/swc-darwin-arm64": { @@ -15211,6 +15051,14 @@ } } }, + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@rollup/plugin-commonjs/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -16807,33 +16655,30 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", - "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", - "dev": true, + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz", + "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/type-utils": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -16842,76 +16687,59 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", - "dev": true, + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", + "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", - "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz", + "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", - "dev": true, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", - "dev": true, + "node_modules/@typescript-eslint/parser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", + "integrity": "sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==", "dependencies": { - "@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.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", + "debug": "^4.3.4" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -16920,25 +16748,22 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "eslint": "^8.56.0" + }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", - "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", - "dev": true, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz", + "integrity": "sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "semver": "^7.5.4" + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -16946,90 +16771,115 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", - "dev": true, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", + "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz", + "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.18.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", - "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", + "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", + "dependencies": { + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, "peerDependenciesMeta": { "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" + "@typescript-eslint/types": "7.12.0", + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", + "integrity": "sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==", "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -17038,13 +16888,13 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz", + "integrity": "sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@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", @@ -17065,23 +16915,15 @@ } } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/parser/node_modules/minimatch": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", @@ -17095,14 +16937,15 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/scope-manager": { + "node_modules/@typescript-eslint/utils": { "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", - "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz", + "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.12.0", "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0" + "@typescript-eslint/typescript-estree": "7.12.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -17110,18 +16953,18 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" } }, - "node_modules/@typescript-eslint/type-utils": { + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz", - "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz", + "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==", "dependencies": { - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -17129,21 +16972,12 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/@typescript-eslint/types": { + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { "version": "7.12.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz", "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==", - "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -17152,11 +16986,10 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { "version": "7.12.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz", "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==", - "dev": true, "dependencies": { "@typescript-eslint/types": "7.12.0", "@typescript-eslint/visitor-keys": "7.12.0", @@ -17180,16 +17013,13 @@ } } }, - "node_modules/@typescript-eslint/utils": { + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz", - "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", + "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.12.0", "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -17197,22 +17027,40 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" }, - "peerDependencies": { - "eslint": "^8.56.0" + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz", - "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==", - "dev": true, + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", + "integrity": "sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==", "dependencies": { - "@typescript-eslint/types": "7.12.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "7.2.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -19840,11 +19688,12 @@ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -23034,9 +22883,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.794", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.794.tgz", - "integrity": "sha512-6FApLtsYhDCY0Vglq3AptsdxQ+PJLc6AxlAM0HjEihUAiOPPbkASEsq9gtxUeZY9o0sJIEa3WnF0vVH4VT4iug==" + "version": "1.4.795", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.795.tgz", + "integrity": "sha512-hHo4lK/8wb4NUa+NJYSFyJ0xedNHiR6ylilDtb8NUW9d4dmBFmGiecYEKCEbti1wTNzbKXLfl4hPWEkAFbHYlw==" }, "node_modules/elliptic": { "version": "6.5.5", @@ -23403,13 +23252,13 @@ } }, "node_modules/eslint-config-next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.6.tgz", - "integrity": "sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==", + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.3.tgz", + "integrity": "sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==", "dependencies": { - "@next/eslint-plugin-next": "13.5.6", + "@next/eslint-plugin-next": "14.2.3", "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.28.1", @@ -23427,54 +23276,6 @@ } } }, - "node_modules/eslint-config-next/node_modules/@next/eslint-plugin-next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.6.tgz", - "integrity": "sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==", - "dependencies": { - "glob": "7.1.7" - } - }, - "node_modules/eslint-config-next/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-config-next/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/eslint-config-next/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", @@ -23571,15 +23372,6 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -23599,17 +23391,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -23647,26 +23428,6 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-react": { "version": "7.34.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.2.tgz", @@ -23709,15 +23470,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -23729,17 +23481,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -23768,7 +23509,6 @@ "version": "12.1.0", "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.1.0.tgz", "integrity": "sha512-Y2fqAfC11TcG/WP3TrI1Gi3p3nc8XJyEOJYHyEPEGI/UAgNx6akxxlX74p7SbAQdLcgASKhj8M0GKvH3vq/+ig==", - "dev": true, "peerDependencies": { "eslint": ">=5.0.0" } @@ -23813,15 +23553,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -23904,17 +23635,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -24815,6 +24535,14 @@ "minimatch": "^5.0.1" } }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -25419,26 +25147,6 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -27087,9 +26795,9 @@ } }, "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -27134,15 +26842,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/jake/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -27182,17 +26881,6 @@ "node": ">=8" } }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/jake/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -33073,17 +32761,14 @@ "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { @@ -33665,28 +33350,6 @@ "node": ">= 0.10.5" } }, - "node_modules/node-dir/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/node-dir/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -33808,16 +33471,6 @@ "webpack": "4 || 5" } }, - "node_modules/nodemon-webpack-plugin/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/nodemon-webpack-plugin/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -33827,18 +33480,6 @@ "ms": "^2.1.1" } }, - "node_modules/nodemon-webpack-plugin/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/nodemon-webpack-plugin/node_modules/nodemon": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", @@ -33879,16 +33520,6 @@ "node": ">=10" } }, - "node_modules/nodemon/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/nodemon/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -33898,18 +33529,6 @@ "ms": "^2.1.1" } }, - "node_modules/nodemon/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/nodemon/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -35393,7 +35012,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", - "dev": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -35405,10 +35023,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", - "integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", - "dev": true, + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.1.tgz", + "integrity": "sha512-AnbeYZu0WGj+QgKciUgdMnRxrqcxltleZPgdwfA5104BHM3siBLONN/HLW1yS2HvzSNkzpQ/JAj+LN0jcJO+0w==", "engines": { "node": ">=14.21.3" }, @@ -37285,15 +36902,6 @@ "sequelize": ">=6.20.1" } }, - "node_modules/sequelize-typescript/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/sequelize-typescript/node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -37314,17 +36922,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sequelize-typescript/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/sequelize/node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -38325,6 +37922,14 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -38354,6 +37959,37 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sucrase/node_modules/jackspeak": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/superagent": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", @@ -38816,28 +38452,6 @@ "node": ">=8" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -41655,6 +41269,19 @@ "url": "https://github.com/sponsors/wooorm" } }, + "packages/dev-config": { + "name": "@akashnetwork/dev-config", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.12.0", + "eslint": "^8.57.0", + "eslint-config-next": "^14.2.3", + "eslint-plugin-simple-import-sort": "^12.1.0", + "prettier": "^3.3.0", + "prettier-plugin-tailwindcss": "^0.6.1" + } + }, "packages/shared": { "name": "@akashnetwork/cloudmos-shared", "version": "1.0.0", diff --git a/package.json b/package.json index d1abb54e8..2f4fa4d7b 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,24 @@ { "name": "@akash-network/cloudmos", - "scripts": { - "lint:api": "eslint ./apps/api" - }, "workspaces": [ "./packages/*", "./apps/*" ], - "volta": { + "scripts": { + "format": "prettier --write ./*.{js,json} **/*.{ts,tsx,js,json}", + "lint": "eslint .", + "lint:api": "eslint ./apps/api" + }, + "devDependencies": { + "@akashnetwork/dev-config": "*", + "@typescript-eslint/eslint-plugin": "^7.12.0" + }, + "engines": { "node": "18.20.2", "npm": "10.5.0" }, - "engines": { + "volta": { "node": "18.20.2", "npm": "10.5.0" } -} \ No newline at end of file +} diff --git a/packages/dev-config/.eslintrc.base.js b/packages/dev-config/.eslintrc.base.js new file mode 100644 index 000000000..7c7a8c3a6 --- /dev/null +++ b/packages/dev-config/.eslintrc.base.js @@ -0,0 +1,28 @@ +module.exports = { + env: { + node: true, + es2021: true + }, + extends: ["eslint:recommended"], + plugins: ["simple-import-sort"], + ignorePatterns: ["node_modules", "dist", "build", "public"], + rules: { + "@typescript-eslint/no-unused-vars": ["error", { ignoreRestSiblings: true }], + "simple-import-sort/imports": [ + "error", + { + groups: [["^react", "^(?!@src)@?\\w"], ["^@src", "^\\.\\.(?!/?$)", "^\\.\\./?$", "^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"], ["^\\u0000"]] + } + ], + "space-infix-ops": ["error", { int32Hint: false }], + "object-curly-spacing": ["error", "always"], + }, + overrides: [ + { + files: ["**/sentry.*.config.js"], + parserOptions: { + sourceType: "module" + } + } + ] +}; diff --git a/packages/dev-config/.eslintrc.next.js b/packages/dev-config/.eslintrc.next.js new file mode 100644 index 000000000..055935bf0 --- /dev/null +++ b/packages/dev-config/.eslintrc.next.js @@ -0,0 +1,22 @@ +const path = require("path"); + +module.exports = { + extends: [path.resolve(__dirname, "./.eslintrc.ts.js")], + overrides: [ + { + files: ["*.ts", "*.tsx"], + extends: ["next/core-web-vitals"], + rules: { + "react/no-unescaped-entities": "warn", + "react-hooks/exhaustive-deps": "warn", + "import/no-anonymous-default-export": "warn", + "react/display-name": "warn" + } + } + ], + settings: { + next: { + rootDir: "." + } + } +}; diff --git a/packages/dev-config/.eslintrc.ts.js b/packages/dev-config/.eslintrc.ts.js new file mode 100644 index 000000000..168127306 --- /dev/null +++ b/packages/dev-config/.eslintrc.ts.js @@ -0,0 +1,20 @@ +const path = require("path"); + +module.exports = { + extends: [path.resolve(__dirname, "./.eslintrc.base.js")], + overrides: [ + { + files: ["*.ts", "*.tsx"], + extends: ["plugin:@typescript-eslint/recommended"], + parser: "@typescript-eslint/parser", + parserOptions: { + ecmaVersion: "latest", + sourceType: "module" + }, + plugins: ["@typescript-eslint"], + rules: { + "@typescript-eslint/no-explicit-any": ["warn"] + } + } + ] +}; diff --git a/packages/dev-config/.prettierignore b/packages/dev-config/.prettierignore new file mode 100644 index 000000000..6968f9c34 --- /dev/null +++ b/packages/dev-config/.prettierignore @@ -0,0 +1,4 @@ +node_modules +build +dist +.next diff --git a/packages/dev-config/.prettierrc.js b/packages/dev-config/.prettierrc.js new file mode 100644 index 000000000..33dbfa88d --- /dev/null +++ b/packages/dev-config/.prettierrc.js @@ -0,0 +1,17 @@ +module.exports = { + printWidth: 160, + tabWidth: 2, + useTabs: false, + semi: true, + quoteProps: "as-needed", + jsxSingleQuote: false, + bracketSameLine: false, + trailingComma: "none", + requirePragma: false, + insertPragma: false, + singleQuote: false, + arrowParens: "avoid", + endOfLine: "crlf", + htmlWhitespaceSensitivity: "strict", + plugins: ["prettier-plugin-tailwindcss"] +}; diff --git a/packages/dev-config/package.json b/packages/dev-config/package.json new file mode 100644 index 000000000..dd5159b10 --- /dev/null +++ b/packages/dev-config/package.json @@ -0,0 +1,20 @@ +{ + "name": "@akashnetwork/dev-config", + "version": "1.0.0", + "description": "", + "keywords": [], + "license": "ISC", + "author": "", + "scripts": { + "format": "prettier --write ./*.{js,json} **/*.{js,json}", + "lint": "eslint ." + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.12.0", + "eslint": "^8.57.0", + "eslint-config-next": "^14.2.3", + "eslint-plugin-simple-import-sort": "^12.1.0", + "prettier": "^3.3.0", + "prettier-plugin-tailwindcss": "^0.6.1" + } +} diff --git a/packages/shared/package.json b/packages/shared/package.json index 891d3a84f..a58fd3819 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -5,7 +5,8 @@ "author": "Cloudmos", "license": "Apache-2.0", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "format": "prettier --write ./*.{ts,json} **/*.{ts,json}", + "lint": "eslint ." }, "dependencies": { "dotenv": "^12.0.4",