diff --git a/.eslintrc.json b/.eslintrc.json index b49ce531..8054d292 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -5,11 +5,13 @@ "plugin:storybook/recommended", "plugin:prettier/recommended" ], + "plugins": ["@typescript-eslint"], "rules": { "react/react-in-jsx-scope": "off", "no-unused-vars": "off", "react/prop-types": "off", "no-undef": "off", + "no-duplicate-imports": "error", "import/order": [ "error", { @@ -35,6 +37,7 @@ "newlines-between": "always" } ], + "@typescript-eslint/consistent-type-imports": "error", "react/button-has-type": "warn", "react/self-closing-comp": [ "error", diff --git a/.pnp.cjs b/.pnp.cjs index 63015578..4d8ba744 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -57,6 +57,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/react", "npm:18.0.26"],\ ["@types/react-dom", "npm:18.0.10"],\ ["@types/react-lottie", "npm:1.2.6"],\ + ["@typescript-eslint/eslint-plugin", "virtual:f8fa4015ddc4700ad5c3910af850aabec8cb904cfefb8f9edac32001b8929ce496e1f51c24e9519c50e0d90dd303fb1bf06fd892674bb37fb0e7dd3bfa52424e#npm:6.8.0"],\ ["axios", "npm:1.3.4"],\ ["babel-loader", "virtual:f8fa4015ddc4700ad5c3910af850aabec8cb904cfefb8f9edac32001b8929ce496e1f51c24e9519c50e0d90dd303fb1bf06fd892674bb37fb0e7dd3bfa52424e#npm:8.3.0"],\ ["chart.js", "npm:4.3.0"],\ @@ -5885,6 +5886,38 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.4.0", {\ + "packageLocation": "./.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "npm:4.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1709a2640538f4619146367f538edfe97483bd7eab97228d8d3584a4e8ca3188fecef92abf1fab97f1fc95514ae0ec5e6fe9ec72d229c6c9ad6091b603ae4ccf#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-c721777aeb/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "virtual:1709a2640538f4619146367f538edfe97483bd7eab97228d8d3584a4e8ca3188fecef92abf1fab97f1fc95514ae0ec5e6fe9ec72d229c6c9ad6091b603ae4ccf#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.33.0"],\ + ["eslint-visitor-keys", "npm:3.3.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/regexpp", [\ + ["npm:4.9.1", {\ + "packageLocation": "./.yarn/cache/@eslint-community-regexpp-npm-4.9.1-7805f77eb5-06fb839e9c.zip/node_modules/@eslint-community/regexpp/",\ + "packageDependencies": [\ + ["@eslint-community/regexpp", "npm:4.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@eslint/eslintrc", [\ ["npm:1.4.1", {\ "packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-1.4.1-007f670de2-cd3e5a8683.zip/node_modules/@eslint/eslintrc/",\ @@ -9408,6 +9441,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/json-schema", "npm:7.0.11"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.0.14", {\ + "packageLocation": "./.yarn/cache/@types-json-schema-npm-7.0.14-7dad9e71b4-4b3dd99616.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.14"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@types/json5", [\ @@ -9658,6 +9698,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/semver", "npm:7.3.13"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.5.4", {\ + "packageLocation": "./.yarn/cache/@types-semver-npm-7.5.4-aa93e70844-120c0189f6.zip/node_modules/@types/semver/",\ + "packageDependencies": [\ + ["@types/semver", "npm:7.5.4"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@types/serve-static", [\ @@ -9736,6 +9783,47 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@typescript-eslint/eslint-plugin", [\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.8.0-49e1186395-c36ccf606e.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "npm:6.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f8fa4015ddc4700ad5c3910af850aabec8cb904cfefb8f9edac32001b8929ce496e1f51c24e9519c50e0d90dd303fb1bf06fd892674bb37fb0e7dd3bfa52424e#npm:6.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-64dfe33390/0/cache/@typescript-eslint-eslint-plugin-npm-6.8.0-49e1186395-c36ccf606e.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "virtual:f8fa4015ddc4700ad5c3910af850aabec8cb904cfefb8f9edac32001b8929ce496e1f51c24e9519c50e0d90dd303fb1bf06fd892674bb37fb0e7dd3bfa52424e#npm:6.8.0"],\ + ["@eslint-community/regexpp", "npm:4.9.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", null],\ + ["@typescript-eslint/scope-manager", "npm:6.8.0"],\ + ["@typescript-eslint/type-utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0"],\ + ["@typescript-eslint/utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.8.0"],\ + ["debug", "virtual:13e8211fef7d70350208644f0998d53969a81b86246fda7d97d7fa9b9d174e45548bc528c8768f08c02096f917b2dd6a8e4dcec6187e472dfaf96e40b05be272#npm:4.3.4"],\ + ["eslint", "npm:8.33.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.2.4"],\ + ["natural-compare", "npm:1.4.0"],\ + ["semver", "npm:7.5.4"],\ + ["ts-api-utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:1.0.3"],\ + ["typescript", "patch:typescript@npm%3A4.9.4#~builtin::version=4.9.4&hash=ad5954"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@typescript-eslint/parser", [\ ["npm:5.48.0", {\ "packageLocation": "./.yarn/cache/@typescript-eslint-parser-npm-5.48.0-6479050a2b-41d5ce5c87.zip/node_modules/@typescript-eslint/parser/",\ @@ -9775,6 +9863,45 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/visitor-keys", "npm:5.48.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-scope-manager-npm-6.8.0-152705b93d-b6cf280353.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageDependencies": [\ + ["@typescript-eslint/scope-manager", "npm:6.8.0"],\ + ["@typescript-eslint/types", "npm:6.8.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/type-utils", [\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-type-utils-npm-6.8.0-a462e775d1-9b7d56904d.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "npm:6.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-93d8c03ed8/0/cache/@typescript-eslint-type-utils-npm-6.8.0-a462e775d1-9b7d56904d.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/typescript-estree", "virtual:93d8c03ed8d09058bfba86b8141b72a7ed7be232d61357e175d47470fa92322b28dcb301907a306daee72aba9eb5bf720381924d47b4497140253a8717445fba#npm:6.8.0"],\ + ["@typescript-eslint/utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0"],\ + ["debug", "virtual:13e8211fef7d70350208644f0998d53969a81b86246fda7d97d7fa9b9d174e45548bc528c8768f08c02096f917b2dd6a8e4dcec6187e472dfaf96e40b05be272#npm:4.3.4"],\ + ["eslint", "npm:8.33.0"],\ + ["ts-api-utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:1.0.3"],\ + ["typescript", "patch:typescript@npm%3A4.9.4#~builtin::version=4.9.4&hash=ad5954"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@typescript-eslint/types", [\ @@ -9784,6 +9911,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/types", "npm:5.48.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-types-npm-6.8.0-5ce871780b-1fcd85f6d5.zip/node_modules/@typescript-eslint/types/",\ + "packageDependencies": [\ + ["@typescript-eslint/types", "npm:6.8.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@typescript-eslint/typescript-estree", [\ @@ -9794,6 +9928,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-typescript-estree-npm-6.8.0-bcf7db6c6c-388db7f33e.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "npm:6.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:060ce525f8025544bbe3945ddbc0d5d2f2208f37994680d9f8f6b2176e4edaa18ef34ca6ea74f88966850f4586865ffa6dbda24b4b007868f6d3f25810a57d2c#npm:5.48.0", {\ "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a2152da5e7/0/cache/@typescript-eslint-typescript-estree-npm-5.48.0-de6b4cd919-2444632243.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ @@ -9814,6 +9955,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ + ["virtual:1709a2640538f4619146367f538edfe97483bd7eab97228d8d3584a4e8ca3188fecef92abf1fab97f1fc95514ae0ec5e6fe9ec72d229c6c9ad6091b603ae4ccf#npm:6.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-c8c644ae6a/0/cache/@typescript-eslint-typescript-estree-npm-6.8.0-bcf7db6c6c-388db7f33e.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:1709a2640538f4619146367f538edfe97483bd7eab97228d8d3584a4e8ca3188fecef92abf1fab97f1fc95514ae0ec5e6fe9ec72d229c6c9ad6091b603ae4ccf#npm:6.8.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:6.8.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.8.0"],\ + ["debug", "virtual:13e8211fef7d70350208644f0998d53969a81b86246fda7d97d7fa9b9d174e45548bc528c8768f08c02096f917b2dd6a8e4dcec6187e472dfaf96e40b05be272#npm:4.3.4"],\ + ["globby", "npm:11.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["semver", "npm:7.5.4"],\ + ["ts-api-utils", "virtual:c8c644ae6aadda6a0fce30d4f76e76021f73c00106a1b51249cc3f3de14d3889074cb097c0eb6026078f8c3f1507e854632240a9a298d5888d48153866ef1500#npm:1.0.3"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:19cf200d101cae7a89e22ac789356793b5c17ce823edb461d6dfb58e1bdb07cd9b1272697f49f7d472566e044a4d3cfb2d2f3c4e7b1e83bf946e473e70560c32#npm:5.48.0", {\ "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-332db3707d/0/cache/@typescript-eslint-typescript-estree-npm-5.48.0-de6b4cd919-2444632243.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ @@ -9833,6 +9994,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "typescript"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:93d8c03ed8d09058bfba86b8141b72a7ed7be232d61357e175d47470fa92322b28dcb301907a306daee72aba9eb5bf720381924d47b4497140253a8717445fba#npm:6.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-2880f8b577/0/cache/@typescript-eslint-typescript-estree-npm-6.8.0-bcf7db6c6c-388db7f33e.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:93d8c03ed8d09058bfba86b8141b72a7ed7be232d61357e175d47470fa92322b28dcb301907a306daee72aba9eb5bf720381924d47b4497140253a8717445fba#npm:6.8.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:6.8.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.8.0"],\ + ["debug", "virtual:13e8211fef7d70350208644f0998d53969a81b86246fda7d97d7fa9b9d174e45548bc528c8768f08c02096f917b2dd6a8e4dcec6187e472dfaf96e40b05be272#npm:4.3.4"],\ + ["globby", "npm:11.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["semver", "npm:7.5.4"],\ + ["ts-api-utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:1.0.3"],\ + ["typescript", "patch:typescript@npm%3A4.9.4#~builtin::version=4.9.4&hash=ad5954"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@typescript-eslint/utils", [\ @@ -9843,6 +10024,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-utils-npm-6.8.0-89c44a6a2b-6d9f90db50.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "npm:6.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ ["virtual:535db72fe54e42faafc56caa80fa308dad986c41986dadded408cafe69a3a193e9b3970910ac33e34af953553b61258d63e7301ffc075ee6f920182dfda17e71#npm:5.48.0", {\ "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-19cf200d10/0/cache/@typescript-eslint-utils-npm-5.48.0-4f2f9acaf3-53f512ae61.zip/node_modules/@typescript-eslint/utils/",\ "packageDependencies": [\ @@ -9863,6 +10051,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "eslint"\ ],\ "linkType": "HARD"\ + }],\ + ["virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-1709a26405/0/cache/@typescript-eslint-utils-npm-6.8.0-89c44a6a2b-6d9f90db50.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:6.8.0"],\ + ["@eslint-community/eslint-utils", "virtual:1709a2640538f4619146367f538edfe97483bd7eab97228d8d3584a4e8ca3188fecef92abf1fab97f1fc95514ae0ec5e6fe9ec72d229c6c9ad6091b603ae4ccf#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["@types/json-schema", "npm:7.0.14"],\ + ["@types/semver", "npm:7.5.4"],\ + ["@typescript-eslint/scope-manager", "npm:6.8.0"],\ + ["@typescript-eslint/types", "npm:6.8.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:1709a2640538f4619146367f538edfe97483bd7eab97228d8d3584a4e8ca3188fecef92abf1fab97f1fc95514ae0ec5e6fe9ec72d229c6c9ad6091b603ae4ccf#npm:6.8.0"],\ + ["eslint", "npm:8.33.0"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@typescript-eslint/visitor-keys", [\ @@ -9874,6 +10082,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-visitor-keys", "npm:3.3.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.8.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-visitor-keys-npm-6.8.0-10ac2dfcbb-710d9067b8.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageDependencies": [\ + ["@typescript-eslint/visitor-keys", "npm:6.8.0"],\ + ["@typescript-eslint/types", "npm:6.8.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@webassemblyjs/ast", [\ @@ -14094,6 +14311,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-visitor-keys", "npm:3.3.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:3.4.3", {\ + "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["espree", [\ @@ -15484,6 +15708,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["graphemer", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip/node_modules/graphemer/",\ + "packageDependencies": [\ + ["graphemer", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["grid-index", [\ ["npm:1.1.0", {\ "packageLocation": "./.yarn/cache/grid-index-npm-1.1.0-fe69e26b3f-0e9d427b60.zip/node_modules/grid-index/",\ @@ -21776,6 +22009,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lru-cache", "npm:6.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.5.4", {\ + "packageLocation": "./.yarn/cache/semver-npm-7.5.4-c4ad957fcd-12d8ad952f.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.5.4"],\ + ["lru-cache", "npm:6.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["send", [\ @@ -22902,6 +23143,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/react", "npm:18.0.26"],\ ["@types/react-dom", "npm:18.0.10"],\ ["@types/react-lottie", "npm:1.2.6"],\ + ["@typescript-eslint/eslint-plugin", "virtual:f8fa4015ddc4700ad5c3910af850aabec8cb904cfefb8f9edac32001b8929ce496e1f51c24e9519c50e0d90dd303fb1bf06fd892674bb37fb0e7dd3bfa52424e#npm:6.8.0"],\ ["axios", "npm:1.3.4"],\ ["babel-loader", "virtual:f8fa4015ddc4700ad5c3910af850aabec8cb904cfefb8f9edac32001b8929ce496e1f51c24e9519c50e0d90dd303fb1bf06fd892674bb37fb0e7dd3bfa52424e#npm:8.3.0"],\ ["chart.js", "npm:4.3.0"],\ @@ -23397,6 +23639,41 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["ts-api-utils", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/ts-api-utils-npm-1.0.3-992f360d9b-441cc4489d.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "npm:1.0.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:1.0.3", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-fb8d105b57/0/cache/ts-api-utils-npm-1.0.3-992f360d9b-441cc4489d.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:64dfe3339001e9237b8f397f9a7ad23efbb3ad9432510d3c69c9efd40492620cb803c34e4b17440ed2d8cd31e6e46e9a459c6a8c978c33563277ee64c8f26485#npm:1.0.3"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A4.9.4#~builtin::version=4.9.4&hash=ad5954"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:c8c644ae6aadda6a0fce30d4f76e76021f73c00106a1b51249cc3f3de14d3889074cb097c0eb6026078f8c3f1507e854632240a9a298d5888d48153866ef1500#npm:1.0.3", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f85c07e39e/0/cache/ts-api-utils-npm-1.0.3-992f360d9b-441cc4489d.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:c8c644ae6aadda6a0fce30d4f76e76021f73c00106a1b51249cc3f3de14d3889074cb097c0eb6026078f8c3f1507e854632240a9a298d5888d48153866ef1500#npm:1.0.3"],\ + ["@types/typescript", null],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ts-dedent", [\ ["npm:2.2.0", {\ "packageLocation": "./.yarn/cache/ts-dedent-npm-2.2.0-00389a0e6b-93ed8f7878.zip/node_modules/ts-dedent/",\ diff --git a/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip b/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip new file mode 100644 index 00000000..4e483570 Binary files /dev/null and b/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip differ diff --git a/.yarn/cache/@eslint-community-regexpp-npm-4.9.1-7805f77eb5-06fb839e9c.zip b/.yarn/cache/@eslint-community-regexpp-npm-4.9.1-7805f77eb5-06fb839e9c.zip new file mode 100644 index 00000000..5362b171 Binary files /dev/null and b/.yarn/cache/@eslint-community-regexpp-npm-4.9.1-7805f77eb5-06fb839e9c.zip differ diff --git a/.yarn/cache/@types-json-schema-npm-7.0.14-7dad9e71b4-4b3dd99616.zip b/.yarn/cache/@types-json-schema-npm-7.0.14-7dad9e71b4-4b3dd99616.zip new file mode 100644 index 00000000..d5a9bc25 Binary files /dev/null and b/.yarn/cache/@types-json-schema-npm-7.0.14-7dad9e71b4-4b3dd99616.zip differ diff --git a/.yarn/cache/@types-semver-npm-7.5.4-aa93e70844-120c0189f6.zip b/.yarn/cache/@types-semver-npm-7.5.4-aa93e70844-120c0189f6.zip new file mode 100644 index 00000000..cf18822b Binary files /dev/null and b/.yarn/cache/@types-semver-npm-7.5.4-aa93e70844-120c0189f6.zip differ diff --git a/.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.8.0-49e1186395-c36ccf606e.zip b/.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.8.0-49e1186395-c36ccf606e.zip new file mode 100644 index 00000000..61923f8b Binary files /dev/null and b/.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.8.0-49e1186395-c36ccf606e.zip differ diff --git a/.yarn/cache/@typescript-eslint-scope-manager-npm-6.8.0-152705b93d-b6cf280353.zip b/.yarn/cache/@typescript-eslint-scope-manager-npm-6.8.0-152705b93d-b6cf280353.zip new file mode 100644 index 00000000..15e656dd Binary files /dev/null and b/.yarn/cache/@typescript-eslint-scope-manager-npm-6.8.0-152705b93d-b6cf280353.zip differ diff --git a/.yarn/cache/@typescript-eslint-type-utils-npm-6.8.0-a462e775d1-9b7d56904d.zip b/.yarn/cache/@typescript-eslint-type-utils-npm-6.8.0-a462e775d1-9b7d56904d.zip new file mode 100644 index 00000000..5d76f844 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-type-utils-npm-6.8.0-a462e775d1-9b7d56904d.zip differ diff --git a/.yarn/cache/@typescript-eslint-types-npm-6.8.0-5ce871780b-1fcd85f6d5.zip b/.yarn/cache/@typescript-eslint-types-npm-6.8.0-5ce871780b-1fcd85f6d5.zip new file mode 100644 index 00000000..df80d8ee Binary files /dev/null and b/.yarn/cache/@typescript-eslint-types-npm-6.8.0-5ce871780b-1fcd85f6d5.zip differ diff --git a/.yarn/cache/@typescript-eslint-typescript-estree-npm-6.8.0-bcf7db6c6c-388db7f33e.zip b/.yarn/cache/@typescript-eslint-typescript-estree-npm-6.8.0-bcf7db6c6c-388db7f33e.zip new file mode 100644 index 00000000..ca8528c0 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-typescript-estree-npm-6.8.0-bcf7db6c6c-388db7f33e.zip differ diff --git a/.yarn/cache/@typescript-eslint-utils-npm-6.8.0-89c44a6a2b-6d9f90db50.zip b/.yarn/cache/@typescript-eslint-utils-npm-6.8.0-89c44a6a2b-6d9f90db50.zip new file mode 100644 index 00000000..3337f8c6 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-utils-npm-6.8.0-89c44a6a2b-6d9f90db50.zip differ diff --git a/.yarn/cache/@typescript-eslint-visitor-keys-npm-6.8.0-10ac2dfcbb-710d9067b8.zip b/.yarn/cache/@typescript-eslint-visitor-keys-npm-6.8.0-10ac2dfcbb-710d9067b8.zip new file mode 100644 index 00000000..11afebf5 Binary files /dev/null and b/.yarn/cache/@typescript-eslint-visitor-keys-npm-6.8.0-10ac2dfcbb-710d9067b8.zip differ diff --git a/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip b/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip new file mode 100644 index 00000000..7c61b814 Binary files /dev/null and b/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip differ diff --git a/.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip b/.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip new file mode 100644 index 00000000..e04f8d37 Binary files /dev/null and b/.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip differ diff --git a/.yarn/cache/semver-npm-7.5.4-c4ad957fcd-12d8ad952f.zip b/.yarn/cache/semver-npm-7.5.4-c4ad957fcd-12d8ad952f.zip new file mode 100644 index 00000000..f8689471 Binary files /dev/null and b/.yarn/cache/semver-npm-7.5.4-c4ad957fcd-12d8ad952f.zip differ diff --git a/.yarn/cache/ts-api-utils-npm-1.0.3-992f360d9b-441cc4489d.zip b/.yarn/cache/ts-api-utils-npm-1.0.3-992f360d9b-441cc4489d.zip new file mode 100644 index 00000000..8a44e1f5 Binary files /dev/null and b/.yarn/cache/ts-api-utils-npm-1.0.3-992f360d9b-441cc4489d.zip differ diff --git a/package.json b/package.json index 794cb8a7..6c684ec3 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "@types/mapbox-gl": "^2.7.10", "@types/qs": "^6.9.7", "@types/react-lottie": "^1.2.6", + "@typescript-eslint/eslint-plugin": "^6.8.0", "babel-loader": "^8.3.0", "css-loader": "^6.7.3", "eslint": "^8.33.0", diff --git a/src/features/home/components/DoughnutChart/DoughnutChart.stories.tsx b/src/features/home/components/DoughnutChart/DoughnutChart.stories.tsx index 26319734..bf299043 100644 --- a/src/features/home/components/DoughnutChart/DoughnutChart.stories.tsx +++ b/src/features/home/components/DoughnutChart/DoughnutChart.stories.tsx @@ -1,4 +1,4 @@ -import { Meta, StoryObj } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import DoughnutChart from './DoughnutChart'; diff --git a/src/features/home/components/DrawerContents/DrawerContents.stories.tsx b/src/features/home/components/DrawerContents/DrawerContents.stories.tsx index 0fcdd746..cb422fb7 100644 --- a/src/features/home/components/DrawerContents/DrawerContents.stories.tsx +++ b/src/features/home/components/DrawerContents/DrawerContents.stories.tsx @@ -1,4 +1,4 @@ -import { Meta, StoryObj } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import DrawerContents from './DrawerContents'; diff --git a/src/features/home/components/DrawerContents/DrawerContents.tsx b/src/features/home/components/DrawerContents/DrawerContents.tsx index df6c599f..88de0981 100644 --- a/src/features/home/components/DrawerContents/DrawerContents.tsx +++ b/src/features/home/components/DrawerContents/DrawerContents.tsx @@ -6,7 +6,7 @@ import { deleteUser } from '@/shared/apis/auth/delete'; import { Button } from '@/shared/components'; import useAuth from '@/shared/hooks/useAuth'; import useConfirm from '@/shared/hooks/useConfirm'; -import { Statistics } from '@/shared/types/record/statistics'; +import type { Statistics } from '@/shared/types/record/statistics'; import styles from './DrawerContents.module.scss'; diff --git a/src/features/home/components/Map/Map.tsx b/src/features/home/components/Map/Map.tsx index e47cf1a1..973e303f 100644 --- a/src/features/home/components/Map/Map.tsx +++ b/src/features/home/components/Map/Map.tsx @@ -1,10 +1,15 @@ import classNames from 'classnames/bind'; -import { GeoJSONSource } from 'mapbox-gl'; import { useEffect, useMemo, useRef, useState } from 'react'; -import ReactMapGL, { Layer, MapRef, Source, useMap } from 'react-map-gl'; +import ReactMapGL, { + Layer, + Source, + useMap, + type GeoJSONSource, + type MapRef, +} from 'react-map-gl'; import 'mapbox-gl/dist/mapbox-gl.css'; -import { Experience } from '@/shared/types/Experience'; +import type { Experience } from '@/shared/types/Experience'; import Slider from '../Slider'; diff --git a/src/features/home/components/Slider/Slider.tsx b/src/features/home/components/Slider/Slider.tsx index d5f00816..b5beebeb 100644 --- a/src/features/home/components/Slider/Slider.tsx +++ b/src/features/home/components/Slider/Slider.tsx @@ -6,7 +6,7 @@ import 'swiper/css'; import AlcoholPreview from '@/features/alcohol/components/AlcoholPreview'; import Chip from '@/shared/components/Chip'; import Icon from '@/shared/components/Icon'; -import { Experience } from '@/shared/types/Experience'; +import type { Experience } from '@/shared/types/Experience'; import styles from './Slider.module.scss'; diff --git a/src/features/record/components/AlcoholPercentFeelingInput/AlcoholPercentFeelingInput.tsx b/src/features/record/components/AlcoholPercentFeelingInput/AlcoholPercentFeelingInput.tsx index e7f6fcfd..d6eeddcb 100644 --- a/src/features/record/components/AlcoholPercentFeelingInput/AlcoholPercentFeelingInput.tsx +++ b/src/features/record/components/AlcoholPercentFeelingInput/AlcoholPercentFeelingInput.tsx @@ -1,8 +1,8 @@ import classNames from 'classnames/bind'; -import { ForwardedRef, forwardRef } from 'react'; +import { forwardRef, type ForwardedRef } from 'react'; import Chip from '@/shared/components/Chip'; -import { AlcoholPercentFeeling } from '@/shared/types/record/alcoholPercentFeeling'; +import type { AlcoholPercentFeeling } from '@/shared/types/record/alcoholPercentFeeling'; import { getAlcoholPercentFeelingLabel } from '../../utils/getAlcoholPercentFeelingLabel'; diff --git a/src/features/record/components/DetailFlavorInput/DetailFlavorInput.stories.tsx b/src/features/record/components/DetailFlavorInput/DetailFlavorInput.stories.tsx index fba2c4c0..a03e4a5e 100644 --- a/src/features/record/components/DetailFlavorInput/DetailFlavorInput.stories.tsx +++ b/src/features/record/components/DetailFlavorInput/DetailFlavorInput.stories.tsx @@ -1,7 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; import { useState } from 'react'; -import { FlavorTag } from '@/shared/types/record/flavorTag'; +import type { FlavorTag } from '@/shared/types/record/flavorTag'; import DetailFlavorInput from './DetailFlavorInput'; diff --git a/src/features/record/components/DetailFlavorInput/DetailFlavorInput.tsx b/src/features/record/components/DetailFlavorInput/DetailFlavorInput.tsx index 338c34c8..02137b56 100644 --- a/src/features/record/components/DetailFlavorInput/DetailFlavorInput.tsx +++ b/src/features/record/components/DetailFlavorInput/DetailFlavorInput.tsx @@ -1,9 +1,9 @@ import classNames from 'classnames/bind'; -import { ForwardedRef, forwardRef } from 'react'; +import { forwardRef, type ForwardedRef } from 'react'; import Accordion from '@/shared/components/Accordion'; import Chip from '@/shared/components/Chip'; -import { FlavorTag } from '@/shared/types/record/flavorTag'; +import type { FlavorTag } from '@/shared/types/record/flavorTag'; import styles from './DetailFlavorInput.module.scss'; import { flavorTagOptions } from './flavorTagOptions'; diff --git a/src/features/record/components/DetailFlavorInput/flavorTagOptions.ts b/src/features/record/components/DetailFlavorInput/flavorTagOptions.ts index c4c69d38..21f87870 100644 --- a/src/features/record/components/DetailFlavorInput/flavorTagOptions.ts +++ b/src/features/record/components/DetailFlavorInput/flavorTagOptions.ts @@ -1,5 +1,5 @@ import { FLAVOR_TAGS } from '@/shared/constants/flavorTags'; -import { DetailTag, MajorTag } from '@/shared/types/record/flavorTag'; +import type { DetailTag, MajorTag } from '@/shared/types/record/flavorTag'; import { getDetailFlavorTagLabel, diff --git a/src/features/record/components/FlavorSliderGroup/FlavorSliderGroup.tsx b/src/features/record/components/FlavorSliderGroup/FlavorSliderGroup.tsx index 4e7beb04..9df4a929 100644 --- a/src/features/record/components/FlavorSliderGroup/FlavorSliderGroup.tsx +++ b/src/features/record/components/FlavorSliderGroup/FlavorSliderGroup.tsx @@ -1,8 +1,8 @@ import classNames from 'classnames/bind'; -import { ForwardedRef, forwardRef, useEffect, useState } from 'react'; +import { forwardRef, type ForwardedRef } from 'react'; import Slider from '@/shared/components/Slider'; -import { Record } from '@/shared/types/record'; +import type { Record } from '@/shared/types/record'; import styles from './FlavorSliderGroup.module.scss'; diff --git a/src/features/record/components/ImageSwiper/ImageSwiper.tsx b/src/features/record/components/ImageSwiper/ImageSwiper.tsx index b2a84db9..8eed73e0 100644 --- a/src/features/record/components/ImageSwiper/ImageSwiper.tsx +++ b/src/features/record/components/ImageSwiper/ImageSwiper.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames/bind'; -import { useEffect, useState, ChangeEvent } from 'react'; +import { useEffect, useState, type ChangeEvent } from 'react'; import { Pagination } from 'swiper'; import { Swiper, SwiperSlide } from 'swiper/react'; diff --git a/src/features/record/components/Rating/Rating.tsx b/src/features/record/components/Rating/Rating.tsx index 7fe86869..1682bc86 100644 --- a/src/features/record/components/Rating/Rating.tsx +++ b/src/features/record/components/Rating/Rating.tsx @@ -1,6 +1,6 @@ import classNames from 'classnames/bind'; import { isNil } from 'lodash-es'; -import { ForwardedRef, forwardRef, useCallback, useState } from 'react'; +import { forwardRef, useCallback, type ForwardedRef } from 'react'; import Icon from '@/shared/components/Icon'; diff --git a/src/features/record/hooks/useCreateRecordForm.ts b/src/features/record/hooks/useCreateRecordForm.ts index 5cf6b6aa..29f92ee3 100644 --- a/src/features/record/hooks/useCreateRecordForm.ts +++ b/src/features/record/hooks/useCreateRecordForm.ts @@ -1,10 +1,14 @@ import dayjs from 'dayjs'; import { useRouter } from 'next/router'; -import { useForm, SubmitHandler, SubmitErrorHandler } from 'react-hook-form'; +import { + useForm, + type SubmitHandler, + type SubmitErrorHandler, +} from 'react-hook-form'; import { useCreateRecord } from '@/shared/apis/records/createRecord'; -import { Alcohol } from '@/shared/types/alcohol'; -import { Record } from '@/shared/types/record'; +import type { Alcohol } from '@/shared/types/alcohol'; +import type { Record } from '@/shared/types/record'; import { FLAVOR_SLIDER_GROUP_DEFAULT_VALUE } from '../components/FlavorSliderGroup/FlavorSliderGroup'; diff --git a/src/features/record/utils/getAlcoholPercentFeelingLabel.ts b/src/features/record/utils/getAlcoholPercentFeelingLabel.ts index eb6348e8..c00d4225 100644 --- a/src/features/record/utils/getAlcoholPercentFeelingLabel.ts +++ b/src/features/record/utils/getAlcoholPercentFeelingLabel.ts @@ -1,4 +1,4 @@ -import { AlcoholPercentFeeling } from '@/shared/types/record/alcoholPercentFeeling'; +import type { AlcoholPercentFeeling } from '@/shared/types/record/alcoholPercentFeeling'; const alcoholPercentFeelingAlias: Record = { MILD: '연하다', diff --git a/src/features/record/utils/getFlavorTagLabel.ts b/src/features/record/utils/getFlavorTagLabel.ts index e6e917fa..d0ad984c 100644 --- a/src/features/record/utils/getFlavorTagLabel.ts +++ b/src/features/record/utils/getFlavorTagLabel.ts @@ -1,4 +1,4 @@ -import { DetailTag, MajorTag } from '@/shared/types/record/flavorTag'; +import type { DetailTag, MajorTag } from '@/shared/types/record/flavorTag'; /** * 맛 종류 문서: https://docs.google.com/spreadsheets/d/1HItKDWkbNg2vsrbqpdfcDhMcNnKmKkCouMeYWX3v7Bk/edit#gid=0 diff --git a/src/features/search/components/AlcoholCategoryTab/AlcoholCategoryTab.tsx b/src/features/search/components/AlcoholCategoryTab/AlcoholCategoryTab.tsx index 7151231f..9fed0a8a 100644 --- a/src/features/search/components/AlcoholCategoryTab/AlcoholCategoryTab.tsx +++ b/src/features/search/components/AlcoholCategoryTab/AlcoholCategoryTab.tsx @@ -1,9 +1,9 @@ import classNames from 'classnames/bind'; -import { Dispatch, SetStateAction } from 'react'; +import type { Dispatch, SetStateAction } from 'react'; import AlcoholCategoryTabItem from '@/features/search/components/AlcoholCategoryTabItem'; import { ALCOHOL_CATEGORIES } from '@/shared/constants/alcohol'; -import { AlcoholTag } from '@/shared/types/alcohol'; +import type { AlcoholTag } from '@/shared/types/alcohol'; import styles from './AlcoholCategoryTab.module.scss'; diff --git a/src/features/search/components/SearchBar/SearchBar.tsx b/src/features/search/components/SearchBar/SearchBar.tsx index afd2cc6c..aa178320 100644 --- a/src/features/search/components/SearchBar/SearchBar.tsx +++ b/src/features/search/components/SearchBar/SearchBar.tsx @@ -1,11 +1,11 @@ import classNames from 'classnames/bind'; import { debounce } from 'lodash-es'; import { - KeyboardEventHandler, useCallback, useEffect, useMemo, useState, + type KeyboardEventHandler, } from 'react'; import Icon from '@/shared/components/Icon'; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index f369320b..e2bac44d 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,8 +1,7 @@ import { Hydrate, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; -import { NextPageContext } from 'next'; -import App from 'next/app'; -import type { AppContext, AppProps } from 'next/app'; +import type { NextPageContext } from 'next'; +import App, { type AppContext, type AppProps } from 'next/app'; import dynamic from 'next/dynamic'; import Script from 'next/script'; import { useEffect, useState } from 'react'; diff --git a/src/pages/api/logout.ts b/src/pages/api/logout.ts index 72b3337b..7fe8d15a 100644 --- a/src/pages/api/logout.ts +++ b/src/pages/api/logout.ts @@ -1,4 +1,4 @@ -import { NextApiRequest, NextApiResponse } from 'next'; +import type { NextApiRequest, NextApiResponse } from 'next'; import { deleteAccessToken, deleteRefreshToken } from '@/shared/utils/auth'; diff --git a/src/pages/api/redirect/apple.ts b/src/pages/api/redirect/apple.ts index 51229456..21dac79b 100644 --- a/src/pages/api/redirect/apple.ts +++ b/src/pages/api/redirect/apple.ts @@ -1,8 +1,11 @@ import axios from 'axios'; -import { NextApiRequest, NextApiResponse } from 'next'; +import type { NextApiRequest, NextApiResponse } from 'next'; -import { NEXT_PUBLIC_API_BASE_URI } from '@/shared/constants'; -import { ACCESS_TOKEN_KEY, REFRESH_TOKEN_KEY } from '@/shared/constants'; +import { + NEXT_PUBLIC_API_BASE_URI, + ACCESS_TOKEN_KEY, + REFRESH_TOKEN_KEY, +} from '@/shared/constants'; import { setAccessToken, setRefreshToken } from '@/shared/utils/auth'; import { generateUrl } from '@/shared/utils/generateUrl'; diff --git a/src/pages/api/redirect/kakao.ts b/src/pages/api/redirect/kakao.ts index 5bbfa0ce..6c750a3f 100644 --- a/src/pages/api/redirect/kakao.ts +++ b/src/pages/api/redirect/kakao.ts @@ -1,8 +1,11 @@ import axios from 'axios'; -import { NextApiRequest, NextApiResponse } from 'next'; +import type { NextApiRequest, NextApiResponse } from 'next'; -import { NEXT_PUBLIC_API_BASE_URI } from '@/shared/constants'; -import { ACCESS_TOKEN_KEY, REFRESH_TOKEN_KEY } from '@/shared/constants'; +import { + NEXT_PUBLIC_API_BASE_URI, + ACCESS_TOKEN_KEY, + REFRESH_TOKEN_KEY, +} from '@/shared/constants'; import { setAccessToken, setRefreshToken } from '@/shared/utils/auth'; import { generateUrl } from '@/shared/utils/generateUrl'; diff --git a/src/pages/api/refresh.ts b/src/pages/api/refresh.ts index f2ed4069..08ca4491 100644 --- a/src/pages/api/refresh.ts +++ b/src/pages/api/refresh.ts @@ -1,5 +1,5 @@ import axios from 'axios'; -import { NextApiRequest, NextApiResponse } from 'next'; +import type { NextApiRequest, NextApiResponse } from 'next'; import { ACCESS_TOKEN_KEY, diff --git a/src/pages/feed/index.tsx b/src/pages/feed/index.tsx index 4e33ca65..62d1423e 100644 --- a/src/pages/feed/index.tsx +++ b/src/pages/feed/index.tsx @@ -1,6 +1,10 @@ -import { dehydrate, DehydratedState, QueryClient } from '@tanstack/react-query'; +import { + dehydrate, + QueryClient, + type DehydratedState, +} from '@tanstack/react-query'; import classNames from 'classnames/bind'; -import { GetServerSideProps } from 'next'; +import type { GetServerSideProps } from 'next'; import Link from 'next/link'; import { useRouter } from 'next/router'; @@ -11,7 +15,7 @@ import PageLayout from '@/shared/components/PageLayout'; import Skeleton from '@/shared/components/Skeleton'; import TopNavigator from '@/shared/components/TopNavigator'; import useIntersect from '@/shared/hooks/useIntersect'; -import { Feed } from '@/shared/types/feed'; +import type { Feed } from '@/shared/types/feed'; import styles from './index.module.scss'; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 2923cded..dbf9cf15 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,8 +1,8 @@ import { dehydrate, QueryClient } from '@tanstack/react-query'; import classNames from 'classnames/bind'; -import { GetServerSideProps } from 'next'; +import type { GetServerSideProps } from 'next'; import dynamic from 'next/dynamic'; -import { MouseEvent, useMemo, useState } from 'react'; +import { useMemo, useState, type MouseEvent } from 'react'; import Map from '@/features/home/components/Map'; import AlcoholCategoryFilter from '@/features/search/components/AlcoholCategoryFilter'; diff --git a/src/pages/records/[id]/index.tsx b/src/pages/records/[id]/index.tsx index 6b49122a..09ed4afe 100644 --- a/src/pages/records/[id]/index.tsx +++ b/src/pages/records/[id]/index.tsx @@ -1,8 +1,12 @@ -import { dehydrate, DehydratedState, QueryClient } from '@tanstack/react-query'; +import { + dehydrate, + QueryClient, + type DehydratedState, +} from '@tanstack/react-query'; import classNames from 'classnames/bind'; import dayjs from 'dayjs'; import { isNil } from 'lodash-es'; -import { GetServerSideProps } from 'next'; +import type { GetServerSideProps } from 'next'; import { useCallback } from 'react'; import FlavorSliderGroup from '@/features/record/components/FlavorSliderGroup'; @@ -15,9 +19,9 @@ import Icon from '@/shared/components/Icon'; import PageLayout from '@/shared/components/PageLayout'; import TopNavigator from '@/shared/components/TopNavigator'; import useConfirm from '@/shared/hooks/useConfirm'; -import { Alcohol } from '@/shared/types/alcohol'; -import { Record } from '@/shared/types/record'; -import { FlavorTag } from '@/shared/types/record/flavorTag'; +import type { Alcohol } from '@/shared/types/alcohol'; +import type { Record } from '@/shared/types/record'; +import type { FlavorTag } from '@/shared/types/record/flavorTag'; import styles from './index.module.scss'; diff --git a/src/pages/records/create/index.tsx b/src/pages/records/create/index.tsx index 2e41b841..648d80a4 100644 --- a/src/pages/records/create/index.tsx +++ b/src/pages/records/create/index.tsx @@ -1,6 +1,10 @@ -import { dehydrate, DehydratedState, QueryClient } from '@tanstack/react-query'; +import { + type DehydratedState, + dehydrate, + QueryClient, +} from '@tanstack/react-query'; import classNames from 'classnames/bind'; -import { GetServerSideProps } from 'next'; +import type { GetServerSideProps } from 'next'; import { useRouter } from 'next/router'; import { Controller } from 'react-hook-form'; diff --git a/src/shared/apis/alcohols/getAlcohol.ts b/src/shared/apis/alcohols/getAlcohol.ts index 7486e2cd..002157ce 100644 --- a/src/shared/apis/alcohols/getAlcohol.ts +++ b/src/shared/apis/alcohols/getAlcohol.ts @@ -1,6 +1,6 @@ import { createQuery } from 'react-query-kit'; -import { Alcohol } from '@/shared/types/alcohol'; +import type { Alcohol } from '@/shared/types/alcohol'; import { request } from '@/shared/utils/request'; type Variables = Pick; diff --git a/src/shared/apis/alcohols/searchAlcohol.ts b/src/shared/apis/alcohols/searchAlcohol.ts index d0501ac4..7fe9ac96 100644 --- a/src/shared/apis/alcohols/searchAlcohol.ts +++ b/src/shared/apis/alcohols/searchAlcohol.ts @@ -1,7 +1,7 @@ import { createInfiniteQuery, createQuery } from 'react-query-kit'; -import { Alcohol } from '@/shared/types/alcohol'; -import { PagingInfo } from '@/shared/types/paging'; +import type { Alcohol } from '@/shared/types/alcohol'; +import type { PagingInfo } from '@/shared/types/paging'; import { request } from '@/shared/utils/request'; type Variables = { keyword: string } & PagingInfo; diff --git a/src/shared/apis/feed/getFeed.ts b/src/shared/apis/feed/getFeed.ts index 9f9f758f..958ff7f3 100644 --- a/src/shared/apis/feed/getFeed.ts +++ b/src/shared/apis/feed/getFeed.ts @@ -1,7 +1,7 @@ import { createInfiniteQuery } from 'react-query-kit'; -import { Feed } from '@/shared/types/feed'; -import { PagingInfo } from '@/shared/types/paging'; +import type { Feed } from '@/shared/types/feed'; +import type { PagingInfo } from '@/shared/types/paging'; import { request } from '@/shared/utils/request'; type Response = { diff --git a/src/shared/apis/records/createRecord.ts b/src/shared/apis/records/createRecord.ts index f4b5cc0f..8306c005 100644 --- a/src/shared/apis/records/createRecord.ts +++ b/src/shared/apis/records/createRecord.ts @@ -1,7 +1,7 @@ import { createMutation } from 'react-query-kit'; -import { Alcohol } from '@/shared/types/alcohol'; -import { Record } from '@/shared/types/record'; +import type { Alcohol } from '@/shared/types/alcohol'; +import type { Record } from '@/shared/types/record'; import { request } from '@/shared/utils/request'; type Variables = { diff --git a/src/shared/apis/records/getMyRecords.ts b/src/shared/apis/records/getMyRecords.ts index 19d7c2ad..e5fcbc54 100644 --- a/src/shared/apis/records/getMyRecords.ts +++ b/src/shared/apis/records/getMyRecords.ts @@ -1,6 +1,6 @@ import { createQuery } from 'react-query-kit'; -import { Experience } from '@/shared/types/Experience'; +import type { Experience } from '@/shared/types/Experience'; import { request } from '@/shared/utils/request'; type Response = Experience[]; diff --git a/src/shared/apis/records/getRecord.ts b/src/shared/apis/records/getRecord.ts index a94cd288..870b6290 100644 --- a/src/shared/apis/records/getRecord.ts +++ b/src/shared/apis/records/getRecord.ts @@ -1,7 +1,7 @@ import { createQuery } from 'react-query-kit'; -import { Alcohol } from '@/shared/types/alcohol'; -import { Record } from '@/shared/types/record'; +import type { Alcohol } from '@/shared/types/alcohol'; +import type { Record } from '@/shared/types/record'; import { request } from '@/shared/utils/request'; type Variables = Pick; diff --git a/src/shared/apis/records/getStatistics.ts b/src/shared/apis/records/getStatistics.ts index 1ab7ac53..5caeb31b 100644 --- a/src/shared/apis/records/getStatistics.ts +++ b/src/shared/apis/records/getStatistics.ts @@ -1,6 +1,6 @@ import { createQuery } from 'react-query-kit'; -import { Statistics } from '@/shared/types/record/statistics'; +import type { Statistics } from '@/shared/types/record/statistics'; import { request } from '@/shared/utils/request'; const getStatistics = () => { diff --git a/src/shared/apis/records/searchMyRecords.ts b/src/shared/apis/records/searchMyRecords.ts index b5027ff2..e720d33d 100644 --- a/src/shared/apis/records/searchMyRecords.ts +++ b/src/shared/apis/records/searchMyRecords.ts @@ -1,7 +1,7 @@ import { createInfiniteQuery } from 'react-query-kit'; -import { PagingInfo } from '@/shared/types/paging'; -import { RecordMeta } from '@/shared/types/record'; +import type { PagingInfo } from '@/shared/types/paging'; +import type { RecordMeta } from '@/shared/types/record'; import { generateUrl } from '@/shared/utils/generateUrl'; import { request } from '@/shared/utils/request'; diff --git a/src/shared/components/Accordion/Accordion.tsx b/src/shared/components/Accordion/Accordion.tsx index eed64d9a..ea589ba2 100644 --- a/src/shared/components/Accordion/Accordion.tsx +++ b/src/shared/components/Accordion/Accordion.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames/bind'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import Icon from '@/shared/components/Icon'; import { useOpen } from '@/shared/hooks/useOpen'; diff --git a/src/shared/components/BottomNavigator/BottomNavigator.stories.tsx b/src/shared/components/BottomNavigator/BottomNavigator.stories.tsx index d98f5a37..e500710c 100644 --- a/src/shared/components/BottomNavigator/BottomNavigator.stories.tsx +++ b/src/shared/components/BottomNavigator/BottomNavigator.stories.tsx @@ -1,4 +1,4 @@ -import { Meta, StoryObj } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import BottomNavigator from '@/shared/components/BottomNavigator/BottomNavigator'; diff --git a/src/shared/components/BottomNavigator/BottomNavigator.tsx b/src/shared/components/BottomNavigator/BottomNavigator.tsx index 081127ce..e10a8a2c 100644 --- a/src/shared/components/BottomNavigator/BottomNavigator.tsx +++ b/src/shared/components/BottomNavigator/BottomNavigator.tsx @@ -5,7 +5,7 @@ import { useRouter } from 'next/router'; import Icon from '@/shared/components/Icon'; import StatisticsDrawer from '@/shared/components/StatisticsDrawer'; import { useOpen } from '@/shared/hooks/useOpen'; -import { Statistics } from '@/shared/types/record/statistics'; +import type { Statistics } from '@/shared/types/record/statistics'; import styles from './BottomNavigator.module.scss'; diff --git a/src/shared/components/Button/Button.tsx b/src/shared/components/Button/Button.tsx index d4867615..0e32ee43 100644 --- a/src/shared/components/Button/Button.tsx +++ b/src/shared/components/Button/Button.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames/bind'; -import { ButtonHTMLAttributes, DetailedHTMLProps } from 'react'; +import type { ButtonHTMLAttributes, DetailedHTMLProps } from 'react'; import styles from './Button.module.scss'; diff --git a/src/shared/components/ConfirmProvider/ConfirmProvider.tsx b/src/shared/components/ConfirmProvider/ConfirmProvider.tsx index 6a02015d..dad75758 100644 --- a/src/shared/components/ConfirmProvider/ConfirmProvider.tsx +++ b/src/shared/components/ConfirmProvider/ConfirmProvider.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { ConfirmContext, diff --git a/src/shared/components/Icon/Icon.stories.tsx b/src/shared/components/Icon/Icon.stories.tsx index 3c21dd45..c4459e9a 100644 --- a/src/shared/components/Icon/Icon.stories.tsx +++ b/src/shared/components/Icon/Icon.stories.tsx @@ -2,7 +2,7 @@ import type { Meta, StoryFn, StoryObj } from '@storybook/react'; import * as icons from '@/assets/icons'; -import Icon, { IconNameType } from './Icon'; +import Icon, { type IconNameType } from './Icon'; export default { component: Icon, diff --git a/src/shared/components/Icon/Icon.tsx b/src/shared/components/Icon/Icon.tsx index dc2f593a..fbe46ee2 100644 --- a/src/shared/components/Icon/Icon.tsx +++ b/src/shared/components/Icon/Icon.tsx @@ -1,8 +1,8 @@ import classNames from 'classnames/bind'; -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; import * as icons from '@/assets/icons'; -import { Color } from '@/assets/styles/themes'; +import type { Color } from '@/assets/styles/themes'; import styles from './Icon.module.scss'; diff --git a/src/shared/components/Modal/Modal.tsx b/src/shared/components/Modal/Modal.tsx index cc5bbe31..fc1e26db 100644 --- a/src/shared/components/Modal/Modal.tsx +++ b/src/shared/components/Modal/Modal.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames/bind'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import Button from '../Button'; import ModalLayout from '../ModalLayout'; diff --git a/src/shared/components/ModalLayout/ModalLayout.tsx b/src/shared/components/ModalLayout/ModalLayout.tsx index ad99139b..135c414b 100644 --- a/src/shared/components/ModalLayout/ModalLayout.tsx +++ b/src/shared/components/ModalLayout/ModalLayout.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames/bind'; -import { ReactNode, useEffect, useRef } from 'react'; +import { useEffect, useRef, type ReactNode } from 'react'; import { createPortal } from 'react-dom'; import { useOpen } from '@/shared/hooks/useOpen'; diff --git a/src/shared/components/TextArea/TextArea.tsx b/src/shared/components/TextArea/TextArea.tsx index 38128bf0..4a6028d3 100644 --- a/src/shared/components/TextArea/TextArea.tsx +++ b/src/shared/components/TextArea/TextArea.tsx @@ -1,9 +1,9 @@ import classNames from 'classnames/bind'; import { - DetailedHTMLProps, - ForwardedRef, forwardRef, - TextareaHTMLAttributes, + type DetailedHTMLProps, + type ForwardedRef, + type TextareaHTMLAttributes, } from 'react'; import styles from './TextArea.module.scss'; diff --git a/src/shared/components/TextField/TextField.tsx b/src/shared/components/TextField/TextField.tsx index 7366cdd3..9e42991f 100644 --- a/src/shared/components/TextField/TextField.tsx +++ b/src/shared/components/TextField/TextField.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames/bind'; -import { forwardRef, ForwardedRef } from 'react'; +import { forwardRef, type ForwardedRef } from 'react'; import styles from './TextField.module.scss'; diff --git a/src/shared/configs/axios.ts b/src/shared/configs/axios.ts index 78903c4c..763473c8 100644 --- a/src/shared/configs/axios.ts +++ b/src/shared/configs/axios.ts @@ -1,4 +1,4 @@ -import axios, { AxiosError, AxiosResponse } from 'axios'; +import axios, { type AxiosError } from 'axios'; import { NEXT_PUBLIC_API_BASE_URI } from '@/shared/constants'; diff --git a/src/shared/configs/logger.ts b/src/shared/configs/logger.ts index 9e37f747..47fdc2e1 100644 --- a/src/shared/configs/logger.ts +++ b/src/shared/configs/logger.ts @@ -1,4 +1,4 @@ -import { AxiosInstance, AxiosResponse } from 'axios'; +import type { AxiosInstance, AxiosResponse } from 'axios'; const logRequest = (res: AxiosResponse, error = false) => { const status = res?.status; diff --git a/src/shared/hooks/useConfirm.ts b/src/shared/hooks/useConfirm.ts index b7930b2d..72b1e4b8 100644 --- a/src/shared/hooks/useConfirm.ts +++ b/src/shared/hooks/useConfirm.ts @@ -1,6 +1,6 @@ import { useConfirmContext, - ConfirmOpenPayload, + type ConfirmOpenPayload, } from '../stores/ConfirmContext'; export let confirmResolveCallback: (value: boolean) => void; diff --git a/src/shared/stores/ConfirmContext.ts b/src/shared/stores/ConfirmContext.ts index e5311a7c..142045a1 100644 --- a/src/shared/stores/ConfirmContext.ts +++ b/src/shared/stores/ConfirmContext.ts @@ -1,6 +1,6 @@ -import { createContext, Dispatch, useContext, useReducer } from 'react'; +import { createContext, useContext, useReducer, type Dispatch } from 'react'; -import { ConfirmModalProps } from '../components/ConfirmModal/ConfirmModal'; +import type { ConfirmModalProps } from '../components/ConfirmModal/ConfirmModal'; export type ConfirmState = Omit; diff --git a/src/shared/types/Experience.ts b/src/shared/types/Experience.ts index 9de06fbc..4de8a6ff 100644 --- a/src/shared/types/Experience.ts +++ b/src/shared/types/Experience.ts @@ -1,4 +1,4 @@ -import { Alcohol } from './alcohol'; +import type { Alcohol } from './alcohol'; export type Experience = Omit & { recordId: number; diff --git a/src/shared/types/feed/index.ts b/src/shared/types/feed/index.ts index 7a1d4464..382f6725 100644 --- a/src/shared/types/feed/index.ts +++ b/src/shared/types/feed/index.ts @@ -1,5 +1,5 @@ -import { Alcohol } from '@/shared/types/alcohol'; -import { Record } from '@/shared/types/record'; +import type { Alcohol } from '@/shared/types/alcohol'; +import type { Record } from '@/shared/types/record'; export type Feed = Alcohol & Pick & { diff --git a/src/shared/types/record/flavorTag.ts b/src/shared/types/record/flavorTag.ts index 0b03721f..9ec3dfd7 100644 --- a/src/shared/types/record/flavorTag.ts +++ b/src/shared/types/record/flavorTag.ts @@ -1,4 +1,4 @@ -import { FLAVOR_TAGS } from '@/shared/constants/flavorTags'; +import type { FLAVOR_TAGS } from '@/shared/constants/flavorTags'; export type MajorTag = keyof typeof FLAVOR_TAGS; export type DetailTag = diff --git a/src/shared/types/record/index.ts b/src/shared/types/record/index.ts index a8356172..60821e92 100644 --- a/src/shared/types/record/index.ts +++ b/src/shared/types/record/index.ts @@ -1,7 +1,7 @@ -import { Alcohol } from '../alcohol'; +import type { Alcohol } from '../alcohol'; -import { AlcoholPercentFeeling } from './alcoholPercentFeeling'; -import { FlavorTag } from './flavorTag'; +import type { AlcoholPercentFeeling } from './alcoholPercentFeeling'; +import type { FlavorTag } from './flavorTag'; export type Record = { recordId: number; diff --git a/src/shared/utils/generateUrl.ts b/src/shared/utils/generateUrl.ts index bd855ad8..a7d1af73 100644 --- a/src/shared/utils/generateUrl.ts +++ b/src/shared/utils/generateUrl.ts @@ -1,4 +1,4 @@ -import qs, { IStringifyOptions } from 'qs'; +import qs, { type IStringifyOptions } from 'qs'; export const generateUrl = ({ url, diff --git a/src/shared/utils/request.ts b/src/shared/utils/request.ts index f23f2862..60152ec2 100644 --- a/src/shared/utils/request.ts +++ b/src/shared/utils/request.ts @@ -1,4 +1,4 @@ -import { AxiosRequestConfig, AxiosResponse } from 'axios'; +import type { AxiosRequestConfig, AxiosResponse } from 'axios'; import axios from '@/shared/configs/axios'; diff --git a/yarn.lock b/yarn.lock index ef3fdc5a..6ba5f008 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2711,6 +2711,24 @@ __metadata: languageName: node linkType: hard +"@eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: ^3.3.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: cdfe3ae42b4f572cbfb46d20edafe6f36fc5fb52bf2d90875c58aefe226892b9677fef60820e2832caf864a326fe4fc225714c46e8389ccca04d5f9288aabd22 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.5.1": + version: 4.9.1 + resolution: "@eslint-community/regexpp@npm:4.9.1" + checksum: 06fb839e9c756f6375cc545c2f2e05a0a64576bd6370e8e3c07983fd29a3d6e164ef4aa48a361f7d27e6713ab79c83053ff6a2ccb78748bc955e344279c4a3b6 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^1.4.1": version: 1.4.1 resolution: "@eslint/eslintrc@npm:1.4.1" @@ -5450,6 +5468,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.12": + version: 7.0.14 + resolution: "@types/json-schema@npm:7.0.14" + checksum: 4b3dd99616c7c808201c56f6c7f6552eb67b5c0c753ab3fa03a6cb549aae950da537e9558e53fa65fba23d1be624a1e4e8d20c15027efbe41e03ca56f2b04fb0 + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -5657,6 +5682,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^7.5.0": + version: 7.5.4 + resolution: "@types/semver@npm:7.5.4" + checksum: 120c0189f6fec5f2d12d0d71ac8a4cfa952dc17fa3d842e8afddb82bba8828a4052f8799c1653e2b47ae1977435f38e8985658fde971905ce5afb8e23ee97ecf + languageName: node + linkType: hard + "@types/serve-static@npm:*": version: 1.15.0 resolution: "@types/serve-static@npm:1.15.0" @@ -5724,6 +5756,31 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:^6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.8.0" + dependencies: + "@eslint-community/regexpp": ^4.5.1 + "@typescript-eslint/scope-manager": 6.8.0 + "@typescript-eslint/type-utils": 6.8.0 + "@typescript-eslint/utils": 6.8.0 + "@typescript-eslint/visitor-keys": 6.8.0 + debug: ^4.3.4 + graphemer: ^1.4.0 + ignore: ^5.2.4 + natural-compare: ^1.4.0 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: c36ccf606ebcaff8263c4ffa3b4cda58c6f93474b9eea9906e51be2fef8596977a245cc13770b21c6bfd38ccf45a3cf3613d5f4499429f62ec80afe15ae345bd + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:^5.42.0": version: 5.48.0 resolution: "@typescript-eslint/parser@npm:5.48.0" @@ -5751,6 +5808,33 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/scope-manager@npm:6.8.0" + dependencies: + "@typescript-eslint/types": 6.8.0 + "@typescript-eslint/visitor-keys": 6.8.0 + checksum: b6cf2803531d1c14b56c30fd3cd807b80e17fe48d0da8e5aa9ae50915407ed732c7e2a7ac8030b7cf8ed07b8e481a1138d76bf05b727837a0e016280c2f6873b + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/type-utils@npm:6.8.0" + dependencies: + "@typescript-eslint/typescript-estree": 6.8.0 + "@typescript-eslint/utils": 6.8.0 + debug: ^4.3.4 + ts-api-utils: ^1.0.1 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 9b7d56904dc1a5719ef79eb1b7989d6fad10c71fb07ec3e66cf69b8c8dc5383d644ab122d4701bc4960fb7c99cc08aee4e645db3e4675d488d5779197e15dfda + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.48.0": version: 5.48.0 resolution: "@typescript-eslint/types@npm:5.48.0" @@ -5758,6 +5842,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/types@npm:6.8.0" + checksum: 1fcd85f6d575116d51c6ee757ed37610ae5e7e4296a29f93c9c6949f6cd16d24550eb7fc5bae7a43119cc08e13836f69a7ae7c54ebba6c95aef96b34d3bfb7f7 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.48.0": version: 5.48.0 resolution: "@typescript-eslint/typescript-estree@npm:5.48.0" @@ -5776,6 +5867,41 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.8.0" + dependencies: + "@typescript-eslint/types": 6.8.0 + "@typescript-eslint/visitor-keys": 6.8.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: 388db7f33ef1bc0e7b960c0bce9c744c2e32c66c7ab8dfae73d8533958202ad6f31663b0010f79c45b5ff93159c67f45b00693d73b9da2472b17156dfd26b4a8 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/utils@npm:6.8.0" + dependencies: + "@eslint-community/eslint-utils": ^4.4.0 + "@types/json-schema": ^7.0.12 + "@types/semver": ^7.5.0 + "@typescript-eslint/scope-manager": 6.8.0 + "@typescript-eslint/types": 6.8.0 + "@typescript-eslint/typescript-estree": 6.8.0 + semver: ^7.5.4 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 6d9f90db504502a9aa10e834830c3ffa25483757414670acc6141a3ebef9171a57688a3a179febf35a0e1e0b322f37228d9537bf1b279f1af7fc97888b873bc3 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:^5.45.0": version: 5.48.0 resolution: "@typescript-eslint/utils@npm:5.48.0" @@ -5804,6 +5930,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:6.8.0": + version: 6.8.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.8.0" + dependencies: + "@typescript-eslint/types": 6.8.0 + eslint-visitor-keys: ^3.4.1 + checksum: 710d9067b85d7715a400ae625c083c41733abb891d7b35108de083913980f9642e79d27689599fa39915f0fecae16dbfc30367007fccc838ccd917943660de22 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/ast@npm:1.11.1" @@ -9198,6 +9334,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^3.4.1": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 + languageName: node + linkType: hard + "eslint@npm:^8.33.0": version: 8.33.0 resolution: "eslint@npm:8.33.0" @@ -10496,6 +10639,13 @@ __metadata: languageName: node linkType: hard +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: bab8f0be9b568857c7bec9fda95a89f87b783546d02951c40c33f84d05bb7da3fd10f863a9beb901463669b6583173a8c8cc6d6b306ea2b9b9d5d3d943c3a673 + languageName: node + linkType: hard + "grid-index@npm:^1.1.0": version: 1.1.0 resolution: "grid-index@npm:1.1.0" @@ -10863,7 +11013,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.2.1": +"ignore@npm:^5.2.0, ignore@npm:^5.2.1, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef @@ -15904,6 +16054,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 + languageName: node + linkType: hard + "semver@npm:~7.0.0": version: 7.0.0 resolution: "semver@npm:7.0.0" @@ -16794,6 +16955,7 @@ __metadata: "@types/react": 18.0.26 "@types/react-dom": 18.0.10 "@types/react-lottie": ^1.2.6 + "@typescript-eslint/eslint-plugin": ^6.8.0 axios: ^1.3.4 babel-loader: ^8.3.0 chart.js: ^4.3.0 @@ -17229,6 +17391,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.0.1": + version: 1.0.3 + resolution: "ts-api-utils@npm:1.0.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 441cc4489d65fd515ae6b0f4eb8690057add6f3b6a63a36073753547fb6ce0c9ea0e0530220a0b282b0eec535f52c4dfc315d35f8a4c9a91c0def0707a714ca6 + languageName: node + linkType: hard + "ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0"