From b6be701a55732b5072ed4107305be8861ed116a0 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 16:28:55 +0900 Subject: [PATCH 01/28] =?UTF-8?q?init:=20typescript=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/package-lock.json | 138 +++++++++++++++--- krampoline/package.json | 7 +- krampoline/tsconfig.json | 109 ++++++++++++++ krampoline/{vite.config.js => vite.config.ts} | 0 4 files changed, 234 insertions(+), 20 deletions(-) create mode 100644 krampoline/tsconfig.json rename krampoline/{vite.config.js => vite.config.ts} (100%) diff --git a/krampoline/package-lock.json b/krampoline/package-lock.json index fea0983..29cd37d 100644 --- a/krampoline/package-lock.json +++ b/krampoline/package-lock.json @@ -8,16 +8,19 @@ "name": "vite-project", "version": "0.0.0", "dependencies": { + "@types/node": "^20.13.0", + "@types/styled-components": "^5.1.34", "axios": "^1.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.23.1", "styled-components": "^6.1.11", + "typescript": "^5.4.5", "vite-plugin-svgr": "^4.2.0" }, "devDependencies": { - "@types/react": "^18.2.66", - "@types/react-dom": "^18.2.22", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", @@ -1374,23 +1377,41 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "license": "MIT", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/node": { + "version": "20.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.13.0.tgz", + "integrity": "sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "dev": true + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { - "version": "18.3.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.2.tgz", - "integrity": "sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==", - "dev": true, + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -1401,10 +1422,22 @@ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "dev": true, + "license": "MIT", "dependencies": { "@types/react": "*" } }, + "node_modules/@types/styled-components": { + "version": "5.1.34", + "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz", + "integrity": "sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==", + "license": "MIT", + "dependencies": { + "@types/hoist-non-react-statics": "*", + "@types/react": "*", + "csstype": "^3.0.2" + } + }, "node_modules/@types/stylis": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", @@ -3120,6 +3153,15 @@ "node": ">= 0.4" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -4198,8 +4240,7 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-refresh": { "version": "0.14.2", @@ -4854,6 +4895,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -4869,6 +4923,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, "node_modules/update-browserslist-db": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", @@ -5876,23 +5936,38 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, + "@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@types/node": { + "version": "20.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.13.0.tgz", + "integrity": "sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==", + "requires": { + "undici-types": "~5.26.4" + } + }, "@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "dev": true + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "@types/react": { - "version": "18.3.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.2.tgz", - "integrity": "sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==", - "dev": true, + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5907,6 +5982,16 @@ "@types/react": "*" } }, + "@types/styled-components": { + "version": "5.1.34", + "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz", + "integrity": "sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==", + "requires": { + "@types/hoist-non-react-statics": "*", + "@types/react": "*", + "csstype": "^3.0.2" + } + }, "@types/stylis": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", @@ -7142,6 +7227,14 @@ "function-bind": "^1.1.2" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -7882,8 +7975,7 @@ "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "react-refresh": { "version": "0.14.2", @@ -8339,6 +8431,11 @@ "possible-typed-array-names": "^1.0.0" } }, + "typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==" + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -8351,6 +8448,11 @@ "which-boxed-primitive": "^1.0.2" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "update-browserslist-db": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", diff --git a/krampoline/package.json b/krampoline/package.json index d0bf25c..b793613 100644 --- a/krampoline/package.json +++ b/krampoline/package.json @@ -11,16 +11,19 @@ "preview": "vite preview" }, "dependencies": { + "@types/node": "^20.13.0", + "@types/styled-components": "^5.1.34", "axios": "^1.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.23.1", "styled-components": "^6.1.11", + "typescript": "^5.4.5", "vite-plugin-svgr": "^4.2.0" }, "devDependencies": { - "@types/react": "^18.2.66", - "@types/react-dom": "^18.2.22", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", diff --git a/krampoline/tsconfig.json b/krampoline/tsconfig.json new file mode 100644 index 0000000..bb2f7f6 --- /dev/null +++ b/krampoline/tsconfig.json @@ -0,0 +1,109 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs" /* Specify what module code is generated. */, + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/krampoline/vite.config.js b/krampoline/vite.config.ts similarity index 100% rename from krampoline/vite.config.js rename to krampoline/vite.config.ts From 3817d16ab6cf45e620f4713063c4e0f1f030c8aa Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 16:59:24 +0900 Subject: [PATCH 02/28] =?UTF-8?q?chore:=20ts=EB=A1=9C=20=EB=B3=80=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/{App.jsx => App.tsx} | 1 + krampoline/src/{Router.jsx => Router.tsx} | 2 +- krampoline/src/assets/{index.js => index.ts} | 1 + .../common/Header/{Header.jsx => Header.tsx} | 1 + .../Modal/{HintModal.jsx => HintModal.tsx} | 1 + .../{HintModalForm.jsx => HintModalForm.tsx} | 2 +- .../{ModalPortal.jsx => ModalPortal.tsx} | 0 .../common/OnButton/{index.jsx => index.tsx} | 1 + .../Question/{Question.jsx => Question.tsx} | 1 + .../SelectdButton/{index.jsx => index.tsx} | 1 + .../Waiting/{Contents.jsx => Contents.tsx} | 1 + .../Home/{FooterTitle.jsx => FooterTitle.tsx} | 1 + .../Home/{HomeHeader.jsx => HomeHeader.tsx} | 1 + .../{LoginCallback.jsx => LoginCallback.tsx} | 1 + .../{ProfileCard.jsx => ProfileCard.tsx} | 1 + .../{SelectAnswer.jsx => SelectAnswer.tsx} | 1 + .../Result/{Article.jsx => Article.tsx} | 1 + .../{RetryButton.jsx => RetryButton.tsx} | 1 + .../{SelectHeader.jsx => SelectHeader.tsx} | 1 + .../Select/{SelectTag.jsx => SelectTag.tsx} | 0 .../src/constants/{oAuth.js => oAuth.ts} | 0 .../{profileCard.js => profileCard.ts} | 0 .../{selectCategory.js => selectCategory.ts} | 0 krampoline/src/libs/{api.js => api.ts} | 0 krampoline/src/libs/apis/.gitkeep | 0 .../apis/Home/{getPoint.js => getPoint.ts} | 0 .../apis/QuizPage/{getHint.js => getHint.ts} | 0 .../QuizPage/{postAnswer.js => postAnswer.ts} | 0 .../{getQuizContent.js => getQuizContent.ts} | 0 .../{postKeywords.js => postKeywords.ts} | 0 .../{useKakaoLogin.jsx => useKakaoLogin.tsx} | 2 +- krampoline/src/main.jsx | 4 -- krampoline/src/main.tsx | 7 ++++ krampoline/src/pages/{Home.jsx => Home.tsx} | 4 +- .../src/pages/{Mypage.jsx => Mypage.tsx} | 1 + .../src/pages/{QuizPage.jsx => QuizPage.tsx} | 2 +- .../pages/{ResultPage.jsx => ResultPage.tsx} | 1 + .../pages/{SelectPage.jsx => SelectPage.tsx} | 2 +- .../{WaitingPage.jsx => WaitingPage.tsx} | 1 + .../style/{globalStyle.js => globalStyle.ts} | 0 krampoline/src/style/style.d.ts | 40 +++++++++++++++++++ krampoline/src/style/{theme.js => theme.ts} | 4 +- krampoline/src/vite-env.d.ts | 1 + krampoline/tsconfig.json | 3 +- 44 files changed, 78 insertions(+), 14 deletions(-) rename krampoline/src/{App.jsx => App.tsx} (92%) rename krampoline/src/{Router.jsx => Router.tsx} (96%) rename krampoline/src/assets/{index.js => index.ts} (96%) rename krampoline/src/common/Header/{Header.jsx => Header.tsx} (94%) rename krampoline/src/common/Modal/{HintModal.jsx => HintModal.tsx} (90%) rename krampoline/src/common/Modal/{HintModalForm.jsx => HintModalForm.tsx} (97%) rename krampoline/src/common/Modal/{ModalPortal.jsx => ModalPortal.tsx} (100%) rename krampoline/src/common/OnButton/{index.jsx => index.tsx} (96%) rename krampoline/src/common/Question/{Question.jsx => Question.tsx} (97%) rename krampoline/src/common/SelectdButton/{index.jsx => index.tsx} (94%) rename krampoline/src/common/Waiting/{Contents.jsx => Contents.tsx} (96%) rename krampoline/src/component/Home/{FooterTitle.jsx => FooterTitle.tsx} (98%) rename krampoline/src/component/Home/{HomeHeader.jsx => HomeHeader.tsx} (94%) rename krampoline/src/component/Login/{LoginCallback.jsx => LoginCallback.tsx} (86%) rename krampoline/src/component/Mypage/{ProfileCard.jsx => ProfileCard.tsx} (99%) rename krampoline/src/component/Quiz/{SelectAnswer.jsx => SelectAnswer.tsx} (97%) rename krampoline/src/component/Result/{Article.jsx => Article.tsx} (95%) rename krampoline/src/component/Result/{RetryButton.jsx => RetryButton.tsx} (96%) rename krampoline/src/component/Select/{SelectHeader.jsx => SelectHeader.tsx} (97%) rename krampoline/src/component/Select/{SelectTag.jsx => SelectTag.tsx} (100%) rename krampoline/src/constants/{oAuth.js => oAuth.ts} (100%) rename krampoline/src/constants/{profileCard.js => profileCard.ts} (100%) rename krampoline/src/constants/{selectCategory.js => selectCategory.ts} (100%) rename krampoline/src/libs/{api.js => api.ts} (100%) delete mode 100644 krampoline/src/libs/apis/.gitkeep rename krampoline/src/libs/apis/Home/{getPoint.js => getPoint.ts} (100%) rename krampoline/src/libs/apis/QuizPage/{getHint.js => getHint.ts} (100%) rename krampoline/src/libs/apis/QuizPage/{postAnswer.js => postAnswer.ts} (100%) rename krampoline/src/libs/apis/SelectPage/{getQuizContent.js => getQuizContent.ts} (100%) rename krampoline/src/libs/apis/SelectPage/{postKeywords.js => postKeywords.ts} (100%) rename krampoline/src/libs/hooks/{useKakaoLogin.jsx => useKakaoLogin.tsx} (96%) delete mode 100644 krampoline/src/main.jsx create mode 100644 krampoline/src/main.tsx rename krampoline/src/pages/{Home.jsx => Home.tsx} (97%) rename krampoline/src/pages/{Mypage.jsx => Mypage.tsx} (98%) rename krampoline/src/pages/{QuizPage.jsx => QuizPage.tsx} (98%) rename krampoline/src/pages/{ResultPage.jsx => ResultPage.tsx} (99%) rename krampoline/src/pages/{SelectPage.jsx => SelectPage.tsx} (97%) rename krampoline/src/pages/{WaitingPage.jsx => WaitingPage.tsx} (96%) rename krampoline/src/style/{globalStyle.js => globalStyle.ts} (100%) create mode 100644 krampoline/src/style/style.d.ts rename krampoline/src/style/{theme.js => theme.ts} (97%) create mode 100644 krampoline/src/vite-env.d.ts diff --git a/krampoline/src/App.jsx b/krampoline/src/App.tsx similarity index 92% rename from krampoline/src/App.jsx rename to krampoline/src/App.tsx index 56e1910..318fd4b 100644 --- a/krampoline/src/App.jsx +++ b/krampoline/src/App.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { ThemeProvider } from 'styled-components'; import Router from './Router'; import { GlobalStyle } from './style/globalStyle'; diff --git a/krampoline/src/Router.jsx b/krampoline/src/Router.tsx similarity index 96% rename from krampoline/src/Router.jsx rename to krampoline/src/Router.tsx index a5bd639..0e98768 100644 --- a/krampoline/src/Router.jsx +++ b/krampoline/src/Router.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { BrowserRouter, Route, Routes } from 'react-router-dom'; import LoginCallback from './component/Login/LoginCallback'; import Home from './pages/Home'; diff --git a/krampoline/src/assets/index.js b/krampoline/src/assets/index.ts similarity index 96% rename from krampoline/src/assets/index.js rename to krampoline/src/assets/index.ts index 5c50631..e4abe18 100644 --- a/krampoline/src/assets/index.js +++ b/krampoline/src/assets/index.ts @@ -1,4 +1,5 @@ /* eslint-disable prettier/prettier */ +/// import Bomb from './icon/bomb.svg?react'; import IcArrowBack from './icon/ic_arrow_back.svg?react'; import IcCloseGray from './icon/ic_close_gray.svg?react'; diff --git a/krampoline/src/common/Header/Header.jsx b/krampoline/src/common/Header/Header.tsx similarity index 94% rename from krampoline/src/common/Header/Header.jsx rename to krampoline/src/common/Header/Header.tsx index 0fb7d06..000d226 100644 --- a/krampoline/src/common/Header/Header.jsx +++ b/krampoline/src/common/Header/Header.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { IcArrowBack } from '../../assets'; diff --git a/krampoline/src/common/Modal/HintModal.jsx b/krampoline/src/common/Modal/HintModal.tsx similarity index 90% rename from krampoline/src/common/Modal/HintModal.jsx rename to krampoline/src/common/Modal/HintModal.tsx index dc321bb..8cb0a6e 100644 --- a/krampoline/src/common/Modal/HintModal.jsx +++ b/krampoline/src/common/Modal/HintModal.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import HintModalForm from './HintModalForm'; import ModalPortal from './ModalPortal'; diff --git a/krampoline/src/common/Modal/HintModalForm.jsx b/krampoline/src/common/Modal/HintModalForm.tsx similarity index 97% rename from krampoline/src/common/Modal/HintModalForm.jsx rename to krampoline/src/common/Modal/HintModalForm.tsx index 2bebf65..aaaaae7 100644 --- a/krampoline/src/common/Modal/HintModalForm.jsx +++ b/krampoline/src/common/Modal/HintModalForm.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import styled from 'styled-components'; import { IcCloseGray, ImgHint } from '../../assets'; import getHint from '../../libs/apis/QuizPage/getHint'; diff --git a/krampoline/src/common/Modal/ModalPortal.jsx b/krampoline/src/common/Modal/ModalPortal.tsx similarity index 100% rename from krampoline/src/common/Modal/ModalPortal.jsx rename to krampoline/src/common/Modal/ModalPortal.tsx diff --git a/krampoline/src/common/OnButton/index.jsx b/krampoline/src/common/OnButton/index.tsx similarity index 96% rename from krampoline/src/common/OnButton/index.jsx rename to krampoline/src/common/OnButton/index.tsx index 7fde43b..bffaefd 100644 --- a/krampoline/src/common/OnButton/index.jsx +++ b/krampoline/src/common/OnButton/index.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled, { css } from 'styled-components'; const OnButton = ({ children, isQuiz, disabled, handleFn }) => { diff --git a/krampoline/src/common/Question/Question.jsx b/krampoline/src/common/Question/Question.tsx similarity index 97% rename from krampoline/src/common/Question/Question.jsx rename to krampoline/src/common/Question/Question.tsx index 3e7f14a..9f0655e 100644 --- a/krampoline/src/common/Question/Question.jsx +++ b/krampoline/src/common/Question/Question.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled, { css } from 'styled-components'; const Question = ({ mainQuestion, subQuestion, isQuiz }) => { diff --git a/krampoline/src/common/SelectdButton/index.jsx b/krampoline/src/common/SelectdButton/index.tsx similarity index 94% rename from krampoline/src/common/SelectdButton/index.jsx rename to krampoline/src/common/SelectdButton/index.tsx index d3e720a..81c4329 100644 --- a/krampoline/src/common/SelectdButton/index.jsx +++ b/krampoline/src/common/SelectdButton/index.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; const SelectedButton = ({ children }) => { diff --git a/krampoline/src/common/Waiting/Contents.jsx b/krampoline/src/common/Waiting/Contents.tsx similarity index 96% rename from krampoline/src/common/Waiting/Contents.jsx rename to krampoline/src/common/Waiting/Contents.tsx index 9b06c1e..361ce8d 100644 --- a/krampoline/src/common/Waiting/Contents.jsx +++ b/krampoline/src/common/Waiting/Contents.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; import { IcLogo } from '../../assets'; diff --git a/krampoline/src/component/Home/FooterTitle.jsx b/krampoline/src/component/Home/FooterTitle.tsx similarity index 98% rename from krampoline/src/component/Home/FooterTitle.jsx rename to krampoline/src/component/Home/FooterTitle.tsx index 4e97e1b..1dae07e 100644 --- a/krampoline/src/component/Home/FooterTitle.jsx +++ b/krampoline/src/component/Home/FooterTitle.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; import { IcCup, IcFish } from '../../assets'; diff --git a/krampoline/src/component/Home/HomeHeader.jsx b/krampoline/src/component/Home/HomeHeader.tsx similarity index 94% rename from krampoline/src/component/Home/HomeHeader.jsx rename to krampoline/src/component/Home/HomeHeader.tsx index c759561..bd03c86 100644 --- a/krampoline/src/component/Home/HomeHeader.jsx +++ b/krampoline/src/component/Home/HomeHeader.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { Ichome } from '../../assets'; diff --git a/krampoline/src/component/Login/LoginCallback.jsx b/krampoline/src/component/Login/LoginCallback.tsx similarity index 86% rename from krampoline/src/component/Login/LoginCallback.jsx rename to krampoline/src/component/Login/LoginCallback.tsx index 2955587..d96fe5d 100644 --- a/krampoline/src/component/Login/LoginCallback.jsx +++ b/krampoline/src/component/Login/LoginCallback.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import useKakaoLogin from '../../libs/hooks/useKakaoLogin'; const LoginCallback = () => { diff --git a/krampoline/src/component/Mypage/ProfileCard.jsx b/krampoline/src/component/Mypage/ProfileCard.tsx similarity index 99% rename from krampoline/src/component/Mypage/ProfileCard.jsx rename to krampoline/src/component/Mypage/ProfileCard.tsx index 2d32202..eff7ed3 100644 --- a/krampoline/src/component/Mypage/ProfileCard.jsx +++ b/krampoline/src/component/Mypage/ProfileCard.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; import { IcLogoGray, ImgBlueBadge } from '../../assets'; import { USER_INFO } from '../../constants/profileCard'; diff --git a/krampoline/src/component/Quiz/SelectAnswer.jsx b/krampoline/src/component/Quiz/SelectAnswer.tsx similarity index 97% rename from krampoline/src/component/Quiz/SelectAnswer.jsx rename to krampoline/src/component/Quiz/SelectAnswer.tsx index 36d3528..2c86b27 100644 --- a/krampoline/src/component/Quiz/SelectAnswer.jsx +++ b/krampoline/src/component/Quiz/SelectAnswer.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; import { IcCorrectBlue, diff --git a/krampoline/src/component/Result/Article.jsx b/krampoline/src/component/Result/Article.tsx similarity index 95% rename from krampoline/src/component/Result/Article.jsx rename to krampoline/src/component/Result/Article.tsx index c317108..fc3a574 100644 --- a/krampoline/src/component/Result/Article.jsx +++ b/krampoline/src/component/Result/Article.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; const Article = ({ children }) => { diff --git a/krampoline/src/component/Result/RetryButton.jsx b/krampoline/src/component/Result/RetryButton.tsx similarity index 96% rename from krampoline/src/component/Result/RetryButton.jsx rename to krampoline/src/component/Result/RetryButton.tsx index 50421cc..c013f8b 100644 --- a/krampoline/src/component/Result/RetryButton.jsx +++ b/krampoline/src/component/Result/RetryButton.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; diff --git a/krampoline/src/component/Select/SelectHeader.jsx b/krampoline/src/component/Select/SelectHeader.tsx similarity index 97% rename from krampoline/src/component/Select/SelectHeader.jsx rename to krampoline/src/component/Select/SelectHeader.tsx index 8d2fc69..06b6387 100644 --- a/krampoline/src/component/Select/SelectHeader.jsx +++ b/krampoline/src/component/Select/SelectHeader.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; const SelectHeader = () => { diff --git a/krampoline/src/component/Select/SelectTag.jsx b/krampoline/src/component/Select/SelectTag.tsx similarity index 100% rename from krampoline/src/component/Select/SelectTag.jsx rename to krampoline/src/component/Select/SelectTag.tsx diff --git a/krampoline/src/constants/oAuth.js b/krampoline/src/constants/oAuth.ts similarity index 100% rename from krampoline/src/constants/oAuth.js rename to krampoline/src/constants/oAuth.ts diff --git a/krampoline/src/constants/profileCard.js b/krampoline/src/constants/profileCard.ts similarity index 100% rename from krampoline/src/constants/profileCard.js rename to krampoline/src/constants/profileCard.ts diff --git a/krampoline/src/constants/selectCategory.js b/krampoline/src/constants/selectCategory.ts similarity index 100% rename from krampoline/src/constants/selectCategory.js rename to krampoline/src/constants/selectCategory.ts diff --git a/krampoline/src/libs/api.js b/krampoline/src/libs/api.ts similarity index 100% rename from krampoline/src/libs/api.js rename to krampoline/src/libs/api.ts diff --git a/krampoline/src/libs/apis/.gitkeep b/krampoline/src/libs/apis/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/krampoline/src/libs/apis/Home/getPoint.js b/krampoline/src/libs/apis/Home/getPoint.ts similarity index 100% rename from krampoline/src/libs/apis/Home/getPoint.js rename to krampoline/src/libs/apis/Home/getPoint.ts diff --git a/krampoline/src/libs/apis/QuizPage/getHint.js b/krampoline/src/libs/apis/QuizPage/getHint.ts similarity index 100% rename from krampoline/src/libs/apis/QuizPage/getHint.js rename to krampoline/src/libs/apis/QuizPage/getHint.ts diff --git a/krampoline/src/libs/apis/QuizPage/postAnswer.js b/krampoline/src/libs/apis/QuizPage/postAnswer.ts similarity index 100% rename from krampoline/src/libs/apis/QuizPage/postAnswer.js rename to krampoline/src/libs/apis/QuizPage/postAnswer.ts diff --git a/krampoline/src/libs/apis/SelectPage/getQuizContent.js b/krampoline/src/libs/apis/SelectPage/getQuizContent.ts similarity index 100% rename from krampoline/src/libs/apis/SelectPage/getQuizContent.js rename to krampoline/src/libs/apis/SelectPage/getQuizContent.ts diff --git a/krampoline/src/libs/apis/SelectPage/postKeywords.js b/krampoline/src/libs/apis/SelectPage/postKeywords.ts similarity index 100% rename from krampoline/src/libs/apis/SelectPage/postKeywords.js rename to krampoline/src/libs/apis/SelectPage/postKeywords.ts diff --git a/krampoline/src/libs/hooks/useKakaoLogin.jsx b/krampoline/src/libs/hooks/useKakaoLogin.tsx similarity index 96% rename from krampoline/src/libs/hooks/useKakaoLogin.jsx rename to krampoline/src/libs/hooks/useKakaoLogin.tsx index d608339..2319243 100644 --- a/krampoline/src/libs/hooks/useKakaoLogin.jsx +++ b/krampoline/src/libs/hooks/useKakaoLogin.tsx @@ -1,5 +1,5 @@ import axios from 'axios'; -import { useEffect } from 'react'; +import React, { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { CODE, GET_ACCESS_TOKEN_URL } from '../../constants/oAuth'; import { api } from '../api'; diff --git a/krampoline/src/main.jsx b/krampoline/src/main.jsx deleted file mode 100644 index 4af4358..0000000 --- a/krampoline/src/main.jsx +++ /dev/null @@ -1,4 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import App from './App.jsx'; - -ReactDOM.createRoot(document.getElementById('root')).render(); diff --git a/krampoline/src/main.tsx b/krampoline/src/main.tsx new file mode 100644 index 0000000..f84c765 --- /dev/null +++ b/krampoline/src/main.tsx @@ -0,0 +1,7 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + +); diff --git a/krampoline/src/pages/Home.jsx b/krampoline/src/pages/Home.tsx similarity index 97% rename from krampoline/src/pages/Home.jsx rename to krampoline/src/pages/Home.tsx index 9698939..c065810 100644 --- a/krampoline/src/pages/Home.jsx +++ b/krampoline/src/pages/Home.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { ICPlatinum, IcHomeButton, IcMyInfo, IcQuizBack } from '../assets'; @@ -7,7 +7,7 @@ import HomeHeader from '../component/Home/HomeHeader'; import getPoint from '../libs/apis/Home/getPoint'; const Home = () => { - const navigate = useNavigate('/'); + const navigate = useNavigate(); const [newPoint, setNewPoint] = useState(0); const updatePoint = async () => { diff --git a/krampoline/src/pages/Mypage.jsx b/krampoline/src/pages/Mypage.tsx similarity index 98% rename from krampoline/src/pages/Mypage.jsx rename to krampoline/src/pages/Mypage.tsx index 99f0a6a..93f406f 100644 --- a/krampoline/src/pages/Mypage.jsx +++ b/krampoline/src/pages/Mypage.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { useLocation } from 'react-router-dom'; import styled from 'styled-components'; import Header from '../common/Header/Header'; diff --git a/krampoline/src/pages/QuizPage.jsx b/krampoline/src/pages/QuizPage.tsx similarity index 98% rename from krampoline/src/pages/QuizPage.jsx rename to krampoline/src/pages/QuizPage.tsx index 2e8f5f2..250cc6e 100644 --- a/krampoline/src/pages/QuizPage.jsx +++ b/krampoline/src/pages/QuizPage.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { ImgTurtle } from '../assets'; diff --git a/krampoline/src/pages/ResultPage.jsx b/krampoline/src/pages/ResultPage.tsx similarity index 99% rename from krampoline/src/pages/ResultPage.jsx rename to krampoline/src/pages/ResultPage.tsx index 6cae5f6..87f702a 100644 --- a/krampoline/src/pages/ResultPage.jsx +++ b/krampoline/src/pages/ResultPage.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { Bomb, KaKaoAuth, SuccessIcon } from '../assets'; diff --git a/krampoline/src/pages/SelectPage.jsx b/krampoline/src/pages/SelectPage.tsx similarity index 97% rename from krampoline/src/pages/SelectPage.jsx rename to krampoline/src/pages/SelectPage.tsx index de5cf50..65e1e19 100644 --- a/krampoline/src/pages/SelectPage.jsx +++ b/krampoline/src/pages/SelectPage.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import OnButton from '../common/OnButton'; diff --git a/krampoline/src/pages/WaitingPage.jsx b/krampoline/src/pages/WaitingPage.tsx similarity index 96% rename from krampoline/src/pages/WaitingPage.jsx rename to krampoline/src/pages/WaitingPage.tsx index 0f853dd..2962b01 100644 --- a/krampoline/src/pages/WaitingPage.jsx +++ b/krampoline/src/pages/WaitingPage.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import styled from 'styled-components'; import Contents from '../common/Waiting/Contents'; diff --git a/krampoline/src/style/globalStyle.js b/krampoline/src/style/globalStyle.ts similarity index 100% rename from krampoline/src/style/globalStyle.js rename to krampoline/src/style/globalStyle.ts diff --git a/krampoline/src/style/style.d.ts b/krampoline/src/style/style.d.ts new file mode 100644 index 0000000..81034c8 --- /dev/null +++ b/krampoline/src/style/style.d.ts @@ -0,0 +1,40 @@ +import 'styled-components'; + +declare module 'styled-components' { + export interface DefaultTheme { + colors: { + white: string; + gray050: string; + gray100: string; + gray200: string; + gray300: string; + gray400: string; + gray500: string; + gray600: string; + gray700: string; + gray800: string; + gray900: string; + prime: string; + sub: string; + skyblue: string; + quiz: string; + }; + + fonts: { + h1: SerializedStyles; + h2: SerializedStyles; + h3: SerializedStyles; + h4: SerializedStyles; + h5: SerializedStyles; + h6: SerializedStyles; + subtitle_1: SerializedStyles; + subtitle_2: SerializedStyles; + paragraph_lg: SerializedStyles; + paragraph: SerializedStyles; + paragraph_sm: SerializedStyles; + caption: SerializedStyles; + h6_Semibold: SerializedStyles; + hint: SerializedStyles; + }; + } +} diff --git a/krampoline/src/style/theme.js b/krampoline/src/style/theme.ts similarity index 97% rename from krampoline/src/style/theme.js rename to krampoline/src/style/theme.ts index aec117e..af157b1 100644 --- a/krampoline/src/style/theme.js +++ b/krampoline/src/style/theme.ts @@ -1,4 +1,4 @@ -import { css } from 'styled-components'; +import { css, DefaultTheme } from 'styled-components'; const colors = { // 아래 형식으로 정의 @@ -135,7 +135,7 @@ const fonts = { `, }; -const theme = { +const theme: DefaultTheme = { colors, fonts, }; diff --git a/krampoline/src/vite-env.d.ts b/krampoline/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/krampoline/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/krampoline/tsconfig.json b/krampoline/tsconfig.json index bb2f7f6..f54e657 100644 --- a/krampoline/tsconfig.json +++ b/krampoline/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "jsx": "react", /* Visit https://aka.ms/tsconfig to read more about this file */ /* Projects */ @@ -44,7 +45,7 @@ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + "allowJs": true /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */, // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ From 22e831b63d3362cacc601ddf91415b4dfd638ec7 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:41:25 +0900 Subject: [PATCH 03/28] =?UTF-8?q?chore:=20@type/jest=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/package-lock.json | 1309 ++++++++++++++++++++++++++++++++-- krampoline/package.json | 1 + 2 files changed, 1238 insertions(+), 72 deletions(-) diff --git a/krampoline/package-lock.json b/krampoline/package-lock.json index 29cd37d..c9b4ddc 100644 --- a/krampoline/package-lock.json +++ b/krampoline/package-lock.json @@ -8,6 +8,7 @@ "name": "vite-project", "version": "0.0.0", "dependencies": { + "@types/jest": "^29.5.12", "@types/node": "^20.13.0", "@types/styled-components": "^5.1.34", "axios": "^1.7.2", @@ -819,6 +820,117 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -1130,6 +1242,12 @@ "win32" ] }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -1387,6 +1505,40 @@ "hoist-non-react-statics": "^3.3.0" } }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -1427,6 +1579,12 @@ "@types/react": "*" } }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" + }, "node_modules/@types/styled-components": { "version": "5.1.34", "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz", @@ -1443,6 +1601,21 @@ "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", @@ -1735,6 +1908,18 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browserslist": { "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", @@ -1844,6 +2029,21 @@ "node": ">=4" } }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -2056,6 +2256,15 @@ "node": ">=0.4.0" } }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2778,6 +2987,22 @@ "node": ">=0.10.0" } }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2823,6 +3048,18 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -3067,6 +3304,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -3416,6 +3659,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -3593,96 +3845,452 @@ "set-function-name": "^2.0.1" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4.0" + "node": ">=7.0.0" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3744,6 +4352,19 @@ "yallist": "^3.0.2" } }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -4169,6 +4790,38 @@ "node": ">=6.0.0" } }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -4554,6 +5207,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -4571,6 +5233,27 @@ "node": ">=0.10.0" } }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", @@ -4769,6 +5452,18 @@ "node": ">=4" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -5618,6 +6313,80 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -5795,6 +6564,11 @@ "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", "optional": true }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -5945,6 +6719,36 @@ "hoist-non-react-statics": "^3.3.0" } }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -5982,6 +6786,11 @@ "@types/react": "*" } }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, "@types/styled-components": { "version": "5.1.34", "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz", @@ -5997,6 +6806,19 @@ "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" }, + "@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, "@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", @@ -6217,6 +7039,14 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, "browserslist": { "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", @@ -6271,6 +7101,11 @@ "supports-color": "^5.3.0" } }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -6419,6 +7254,11 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -6966,6 +7806,18 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -7008,6 +7860,14 @@ "flat-cache": "^3.0.4" } }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -7171,6 +8031,11 @@ "get-intrinsic": "^1.1.3" } }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, "graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -7404,6 +8269,11 @@ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -7521,6 +8391,242 @@ "set-function-name": "^2.0.1" } }, + "jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + }, + "jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7642,6 +8748,15 @@ "yallist": "^3.0.2" } }, + "micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -7927,6 +9042,28 @@ "fast-diff": "^1.1.2" } }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + } + } + }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -8186,6 +9323,11 @@ "object-inspect": "^1.13.1" } }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, "snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -8200,6 +9342,21 @@ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, "string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", @@ -8336,6 +9493,14 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", diff --git a/krampoline/package.json b/krampoline/package.json index b793613..de6f6c3 100644 --- a/krampoline/package.json +++ b/krampoline/package.json @@ -11,6 +11,7 @@ "preview": "vite preview" }, "dependencies": { + "@types/jest": "^29.5.12", "@types/node": "^20.13.0", "@types/styled-components": "^5.1.34", "axios": "^1.7.2", From c80f87af5d8896cb1fb5ecd647b9c41b497c67aa Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:42:02 +0900 Subject: [PATCH 04/28] =?UTF-8?q?chore:=20tsconfig.json=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/tsconfig.json | 130 ++++++---------------------------- krampoline/tsconfig.node.json | 10 +++ 2 files changed, 33 insertions(+), 107 deletions(-) create mode 100644 krampoline/tsconfig.node.json diff --git a/krampoline/tsconfig.json b/krampoline/tsconfig.json index f54e657..b149334 100644 --- a/krampoline/tsconfig.json +++ b/krampoline/tsconfig.json @@ -1,110 +1,26 @@ { "compilerOptions": { - "jsx": "react", - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs" /* Specify what module code is generated. */, - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - "allowJs": true /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */, - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, - - /* Type Checking */ - "strict": true /* Enable all strict type-checking options. */, - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "types": ["vite-plugin-svgr/client", "node"], + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/krampoline/tsconfig.node.json b/krampoline/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/krampoline/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} From 40fda4ec3d0d13398394ca8e730738edbfdfa351 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:43:39 +0900 Subject: [PATCH 05/28] =?UTF-8?q?fix:=20=ED=83=80=EC=9E=85=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/Router.tsx | 8 ++++++-- krampoline/src/libs/apis/QuizPage/postAnswer.ts | 3 ++- krampoline/src/pages/Mypage.tsx | 3 +-- krampoline/src/pages/QuizPage.tsx | 10 +++++++--- krampoline/src/pages/ResultPage.tsx | 1 - krampoline/src/pages/SelectPage.tsx | 6 +++--- krampoline/src/pages/WaitingPage.tsx | 6 +++--- 7 files changed, 22 insertions(+), 15 deletions(-) diff --git a/krampoline/src/Router.tsx b/krampoline/src/Router.tsx index 0e98768..c7335c4 100644 --- a/krampoline/src/Router.tsx +++ b/krampoline/src/Router.tsx @@ -10,7 +10,9 @@ import OnboardingPage from './pages/WaitingPage'; const Router = () => { const [isLoading, setIsLoading] = useState(true); - const [homeComponent, setHomeComponent] = useState(); + const [homeComponent, setHomeComponent] = useState( + + ); useEffect(() => { const timer = setTimeout(() => { @@ -28,7 +30,9 @@ const Router = () => { : homeComponent} + element={ + isLoading ? : homeComponent + } /> } /> } /> diff --git a/krampoline/src/libs/apis/QuizPage/postAnswer.ts b/krampoline/src/libs/apis/QuizPage/postAnswer.ts index d33f51b..4cfbcf2 100644 --- a/krampoline/src/libs/apis/QuizPage/postAnswer.ts +++ b/krampoline/src/libs/apis/QuizPage/postAnswer.ts @@ -1,6 +1,7 @@ +import { postAnswerProps } from '../../../types/ApiType/apiType'; import { api } from '../../api'; -const postAnswer = async (correctIc) => { +const postAnswer = async ({ correctIc }: postAnswerProps) => { const quizId = sessionStorage.getItem('quizId'); const userId = !sessionStorage.getItem('userId') ? 1 diff --git a/krampoline/src/pages/Mypage.tsx b/krampoline/src/pages/Mypage.tsx index 93f406f..2851066 100644 --- a/krampoline/src/pages/Mypage.tsx +++ b/krampoline/src/pages/Mypage.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { useLocation } from 'react-router-dom'; import styled from 'styled-components'; import Header from '../common/Header/Header'; @@ -6,7 +5,7 @@ import ProfileCard from '../component/Mypage/ProfileCard'; const Mypage = () => { const location = useLocation(); - const handleCopyClipBoard = async (text) => { + const handleCopyClipBoard = async (text: string) => { try { await navigator.clipboard.writeText(text); alert('클립보드에 링크가 복사되었어요.'); diff --git a/krampoline/src/pages/QuizPage.tsx b/krampoline/src/pages/QuizPage.tsx index 250cc6e..542a948 100644 --- a/krampoline/src/pages/QuizPage.tsx +++ b/krampoline/src/pages/QuizPage.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { ImgTurtle } from '../assets'; @@ -38,7 +38,7 @@ const QuizPage = () => { }; const handleClickOnBtn = async () => { - const { correct } = await postAnswer(); + const { correct } = await postAnswer({ correctIc: false }); navigate('/result', { state: correct }); }; @@ -66,7 +66,11 @@ const QuizPage = () => { /> - + 제출 diff --git a/krampoline/src/pages/ResultPage.tsx b/krampoline/src/pages/ResultPage.tsx index 87f702a..6cae5f6 100644 --- a/krampoline/src/pages/ResultPage.tsx +++ b/krampoline/src/pages/ResultPage.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { Bomb, KaKaoAuth, SuccessIcon } from '../assets'; diff --git a/krampoline/src/pages/SelectPage.tsx b/krampoline/src/pages/SelectPage.tsx index 65e1e19..efc51d1 100644 --- a/krampoline/src/pages/SelectPage.tsx +++ b/krampoline/src/pages/SelectPage.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import OnButton from '../common/OnButton'; @@ -9,9 +9,9 @@ import postKeywords from '../libs/apis/SelectPage/postKeywords'; const SelectPage = () => { const navigate = useNavigate(); - const [selectedCategory, setSelectedCategory] = useState([]); + const [selectedCategory, setSelectedCategory] = useState>([]); - const handleClickCategory = (desc) => { + const handleClickCategory = (desc: string) => { if (selectedCategory.includes(desc)) { setSelectedCategory( selectedCategory.filter((category) => category !== desc) diff --git a/krampoline/src/pages/WaitingPage.tsx b/krampoline/src/pages/WaitingPage.tsx index 2962b01..50058c2 100644 --- a/krampoline/src/pages/WaitingPage.tsx +++ b/krampoline/src/pages/WaitingPage.tsx @@ -1,13 +1,13 @@ -import React from 'react'; import styled from 'styled-components'; import Contents from '../common/Waiting/Contents'; +import { WaitingPageProps } from '../types/PageType/pageType'; -const WaitingPage = ({ isLoading }) => { +const WaitingPage = ({ isLoadingPage }: WaitingPageProps) => { return ( Date: Sat, 1 Jun 2024 17:43:47 +0900 Subject: [PATCH 06/28] =?UTF-8?q?chore:=20=ED=83=80=EC=9E=85=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/types/ApiType/apiType.ts | 3 +++ krampoline/src/types/CommonType/buttonType.ts | 7 +++++++ krampoline/src/types/PageType/pageType.ts | 3 +++ 3 files changed, 13 insertions(+) create mode 100644 krampoline/src/types/ApiType/apiType.ts create mode 100644 krampoline/src/types/CommonType/buttonType.ts create mode 100644 krampoline/src/types/PageType/pageType.ts diff --git a/krampoline/src/types/ApiType/apiType.ts b/krampoline/src/types/ApiType/apiType.ts new file mode 100644 index 0000000..37b7790 --- /dev/null +++ b/krampoline/src/types/ApiType/apiType.ts @@ -0,0 +1,3 @@ +export interface postAnswerProps { + correctIc: boolean; +} diff --git a/krampoline/src/types/CommonType/buttonType.ts b/krampoline/src/types/CommonType/buttonType.ts new file mode 100644 index 0000000..eff8037 --- /dev/null +++ b/krampoline/src/types/CommonType/buttonType.ts @@ -0,0 +1,7 @@ +// OnButton.tsx +interface OnButtonProps { + children: React.ReactNode; + isQuiz: boolean; + disabled: boolean; + handleFn: () => void; +} diff --git a/krampoline/src/types/PageType/pageType.ts b/krampoline/src/types/PageType/pageType.ts new file mode 100644 index 0000000..ff0ac17 --- /dev/null +++ b/krampoline/src/types/PageType/pageType.ts @@ -0,0 +1,3 @@ +export interface WaitingPageProps { + isLoadingPage: boolean; +} From 98db9460777d5f3f6d89c52f18614b2d51be1ed6 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:43:55 +0900 Subject: [PATCH 07/28] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/pages/Home.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krampoline/src/pages/Home.tsx b/krampoline/src/pages/Home.tsx index c065810..e5a2b2f 100644 --- a/krampoline/src/pages/Home.tsx +++ b/krampoline/src/pages/Home.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { ICPlatinum, IcHomeButton, IcMyInfo, IcQuizBack } from '../assets'; From 7dd69f78e3a8e17a2ab8f171b11e0bcc45bafdfe Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:44:28 +0900 Subject: [PATCH 08/28] =?UTF-8?q?fix:=20=EC=83=89=EC=83=81=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=20=EC=9E=98=EB=AA=BB=EB=90=9C=20=EB=B6=80=EB=B6=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/component/Home/FooterTitle.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/krampoline/src/component/Home/FooterTitle.tsx b/krampoline/src/component/Home/FooterTitle.tsx index 1dae07e..84315c7 100644 --- a/krampoline/src/component/Home/FooterTitle.tsx +++ b/krampoline/src/component/Home/FooterTitle.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import styled from 'styled-components'; import { IcCup, IcFish } from '../../assets'; @@ -30,7 +29,6 @@ const FooterTitle = () => { }; const IconWrapper = styled.div` - /* width: 100%; */ margin-left: 2rem; margin-right: 2rem; `; @@ -38,7 +36,7 @@ const IconWrapper = styled.div` const ReportWrapper = styled.div` width: 100%; height: calc(100dvh - 25rem); - background-color: ${({ theme }) => theme.colors.gray50}; + background-color: ${({ theme }) => theme.colors.gray050}; border-radius: 1.6rem 1.6rem 0 0; margin-top: 1rem; border: 1px solid ${({ theme }) => theme.colors.white}; From bcebd6ac07e45dc0b7e53fb04bff14c0a1bc2ee7 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:46:52 +0900 Subject: [PATCH 09/28] =?UTF-8?q?fix:=20parseInt=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/component/Mypage/ProfileCard.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/krampoline/src/component/Mypage/ProfileCard.tsx b/krampoline/src/component/Mypage/ProfileCard.tsx index eff7ed3..d9053b5 100644 --- a/krampoline/src/component/Mypage/ProfileCard.tsx +++ b/krampoline/src/component/Mypage/ProfileCard.tsx @@ -1,10 +1,9 @@ -import React from 'react'; import styled from 'styled-components'; import { IcLogoGray, ImgBlueBadge } from '../../assets'; import { USER_INFO } from '../../constants/profileCard'; const ProfileCard = () => { - const RANDOM_NUM = parseInt(Math.random() * 100000).toLocaleString(); + const RANDOM_NUM = Math.ceil(Math.random() * 100000).toLocaleString(); const username = sessionStorage.getItem('name'); return ( From 574af2459e18567198b9c6adb8b7eab5a041df31 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:50:02 +0900 Subject: [PATCH 10/28] =?UTF-8?q?chore:=20=ED=83=80=EC=9E=85=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/types/ComponentType/componentType.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 krampoline/src/types/ComponentType/componentType.ts diff --git a/krampoline/src/types/ComponentType/componentType.ts b/krampoline/src/types/ComponentType/componentType.ts new file mode 100644 index 0000000..e0a5184 --- /dev/null +++ b/krampoline/src/types/ComponentType/componentType.ts @@ -0,0 +1,6 @@ +export interface SelectAnswerProps { + correctIc: boolean; + failIc: boolean; + handleClickCorrectBtn: () => void; + handleClickFailBtn: () => void; +} From 49a506dc6419c473ba7d4317eb620559e4c7b119 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 17:50:08 +0900 Subject: [PATCH 11/28] =?UTF-8?q?fix:=20=ED=83=80=EC=9E=85=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/component/Quiz/SelectAnswer.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/krampoline/src/component/Quiz/SelectAnswer.tsx b/krampoline/src/component/Quiz/SelectAnswer.tsx index 2c86b27..fa29484 100644 --- a/krampoline/src/component/Quiz/SelectAnswer.tsx +++ b/krampoline/src/component/Quiz/SelectAnswer.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import styled from 'styled-components'; import { IcCorrectBlue, @@ -6,13 +5,14 @@ import { IcFailBlue, IcFailGray, } from '../../assets'; +import { SelectAnswerProps } from '../../types/ComponentType/componentType'; const SelectAnswer = ({ correctIc, failIc, handleClickCorrectBtn, handleClickFailBtn, -}) => { +}: SelectAnswerProps) => { return ( ` padding: 4.5rem 4.2rem; border-radius: 1.3rem; From 28b4b4985f2519698a754b01221ab005e8aaff3f Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:11:52 +0900 Subject: [PATCH 12/28] =?UTF-8?q?fix:=20main.tsx=20=EC=95=88=20=EB=B6=88?= =?UTF-8?q?=EB=9F=AC=EC=99=80=EC=A7=80=EB=8A=94=20=EC=9D=B4=EC=8A=88=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/index.html | 2 +- krampoline/vite.config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/krampoline/index.html b/krampoline/index.html index db09242..29092bf 100644 --- a/krampoline/index.html +++ b/krampoline/index.html @@ -9,6 +9,6 @@
- + diff --git a/krampoline/vite.config.ts b/krampoline/vite.config.ts index 2ad0104..0807e0d 100644 --- a/krampoline/vite.config.ts +++ b/krampoline/vite.config.ts @@ -7,7 +7,7 @@ export default defineConfig({ plugins: [react(), svgr()], base: '', resolve: { - extensions: ['.js', '.jsx'], + extensions: ['.ts', '.tsx'], alias: [{ find: '@', replacement: resolve(__dirname, './src') }], }, From 3676c3d79a768defb373166513ebc1d9243db52f Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:12:07 +0900 Subject: [PATCH 13/28] =?UTF-8?q?chore:=20=ED=83=80=EC=9E=85=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/types/ApiType/apiType.ts | 10 +++++++++- krampoline/src/types/ComponentType/componentType.ts | 12 ++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/krampoline/src/types/ApiType/apiType.ts b/krampoline/src/types/ApiType/apiType.ts index 37b7790..b623194 100644 --- a/krampoline/src/types/ApiType/apiType.ts +++ b/krampoline/src/types/ApiType/apiType.ts @@ -1,3 +1,11 @@ -export interface postAnswerProps { +export interface PostAnswerProps { correctIc: boolean; } + +export interface GetQuizContentProps { + quizId: number; +} + +export interface PostKeywordsProps { + selectedCategory: Array; +} diff --git a/krampoline/src/types/ComponentType/componentType.ts b/krampoline/src/types/ComponentType/componentType.ts index e0a5184..868a205 100644 --- a/krampoline/src/types/ComponentType/componentType.ts +++ b/krampoline/src/types/ComponentType/componentType.ts @@ -1,6 +1,18 @@ +import React from 'react'; + export interface SelectAnswerProps { correctIc: boolean; failIc: boolean; handleClickCorrectBtn: () => void; handleClickFailBtn: () => void; } + +// Article.tsx, RetryButton.tsx +export interface ChildrenProps { + children: React.ReactNode; +} + +export interface SelectTagProps { + selectedCategory: Array; + handleClickCategory: (desc: string) => void; +} From 37e58f3d4ae37ca814b81cc28c326f447edf2c8f Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:12:58 +0900 Subject: [PATCH 14/28] =?UTF-8?q?refactor:=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=A7=80=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/component/Select/SelectTag.tsx | 9 ++++++--- krampoline/src/libs/apis/QuizPage/postAnswer.ts | 4 ++-- krampoline/src/libs/apis/SelectPage/getQuizContent.ts | 3 ++- krampoline/src/libs/apis/SelectPage/postKeywords.ts | 3 ++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/krampoline/src/component/Select/SelectTag.tsx b/krampoline/src/component/Select/SelectTag.tsx index 06d8ee0..df267df 100644 --- a/krampoline/src/component/Select/SelectTag.tsx +++ b/krampoline/src/component/Select/SelectTag.tsx @@ -1,8 +1,11 @@ -import React from 'react'; import styled from 'styled-components'; import { INTEREST_CATEGORY } from '../../constants/selectCategory'; +import { SelectTagProps } from '../../types/ComponentType/componentType'; -const SelectTag = ({ selectedCategory, handleClickCategory }) => { +const SelectTag = ({ + selectedCategory, + handleClickCategory, +}: SelectTagProps) => { return ( {INTEREST_CATEGORY.map((data, idx) => { @@ -49,7 +52,7 @@ const CategoryWrapper = styled.div` gap: 1.2rem; `; -const CategoryImg = styled.p` +const CategoryImg = styled.p<{ $isClicked: boolean }>` display: flex; justify-content: center; align-items: center; diff --git a/krampoline/src/libs/apis/QuizPage/postAnswer.ts b/krampoline/src/libs/apis/QuizPage/postAnswer.ts index 4cfbcf2..38b5a15 100644 --- a/krampoline/src/libs/apis/QuizPage/postAnswer.ts +++ b/krampoline/src/libs/apis/QuizPage/postAnswer.ts @@ -1,7 +1,7 @@ -import { postAnswerProps } from '../../../types/ApiType/apiType'; +import { PostAnswerProps } from '../../../types/ApiType/apiType'; import { api } from '../../api'; -const postAnswer = async ({ correctIc }: postAnswerProps) => { +const postAnswer = async ({ correctIc }: PostAnswerProps) => { const quizId = sessionStorage.getItem('quizId'); const userId = !sessionStorage.getItem('userId') ? 1 diff --git a/krampoline/src/libs/apis/SelectPage/getQuizContent.ts b/krampoline/src/libs/apis/SelectPage/getQuizContent.ts index fee6fe2..3619fbb 100644 --- a/krampoline/src/libs/apis/SelectPage/getQuizContent.ts +++ b/krampoline/src/libs/apis/SelectPage/getQuizContent.ts @@ -1,6 +1,7 @@ +import { GetQuizContentProps } from '../../../types/ApiType/apiType'; import { api } from '../../api'; -const getQuizContent = async (quizId) => { +const getQuizContent = async ({ quizId }: GetQuizContentProps) => { const { data } = await api.get(`/api/v1/quiz/${quizId}`); const { content } = data.data; diff --git a/krampoline/src/libs/apis/SelectPage/postKeywords.ts b/krampoline/src/libs/apis/SelectPage/postKeywords.ts index 893d50a..1dbf2b7 100644 --- a/krampoline/src/libs/apis/SelectPage/postKeywords.ts +++ b/krampoline/src/libs/apis/SelectPage/postKeywords.ts @@ -1,6 +1,7 @@ +import { PostKeywordsProps } from '../../../types/ApiType/apiType'; import { api } from '../../api'; -const postKeywords = async (selectedCategory) => { +const postKeywords = async ({ selectedCategory }: PostKeywordsProps) => { const { data } = await api.post('/api/v1/quiz', { keywords: [ { keyword: selectedCategory[0] }, From d0627a8dd0332268dbf204434e704471ea0d6d58 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:13:18 +0900 Subject: [PATCH 15/28] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/main.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/krampoline/src/main.tsx b/krampoline/src/main.tsx index f84c765..da3d5cb 100644 --- a/krampoline/src/main.tsx +++ b/krampoline/src/main.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; From 6e98670df145a15822d92dc6504f6b02c1dd7ec7 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:13:47 +0900 Subject: [PATCH 16/28] =?UTF-8?q?fix:=20props=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=95=88=20=EB=A7=9E=EC=95=84=EC=84=9C=20=EC=A0=9C=EB=8C=80?= =?UTF-8?q?=EB=A1=9C=20=EB=B6=88=EB=9F=AC=EC=99=80=EC=A7=80=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=20=EC=9D=B4=EC=8A=88=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/pages/SelectPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krampoline/src/pages/SelectPage.tsx b/krampoline/src/pages/SelectPage.tsx index efc51d1..ffb9325 100644 --- a/krampoline/src/pages/SelectPage.tsx +++ b/krampoline/src/pages/SelectPage.tsx @@ -27,10 +27,10 @@ const SelectPage = () => { const handleClickOnBtn = async () => { try { - const { quizId } = await postKeywords(selectedCategory); + const { quizId } = await postKeywords({ selectedCategory }); if (quizId) { sessionStorage.setItem('quizId', quizId); - const { content } = await getQuizContent(quizId); + const { content } = await getQuizContent({ quizId }); if (content) { sessionStorage.setItem('contents', content); navigate('/quiz'); From 7ebf6f6c3feca1af6765f44fe3677c82bbaa1fff Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:14:39 +0900 Subject: [PATCH 17/28] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/common/Header/Header.tsx | 1 - krampoline/src/common/SelectdButton/index.tsx | 1 - krampoline/src/component/Home/HomeHeader.tsx | 1 - krampoline/src/component/Login/LoginCallback.tsx | 1 - krampoline/src/component/Select/SelectHeader.tsx | 1 - 5 files changed, 5 deletions(-) diff --git a/krampoline/src/common/Header/Header.tsx b/krampoline/src/common/Header/Header.tsx index 000d226..0fb7d06 100644 --- a/krampoline/src/common/Header/Header.tsx +++ b/krampoline/src/common/Header/Header.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { IcArrowBack } from '../../assets'; diff --git a/krampoline/src/common/SelectdButton/index.tsx b/krampoline/src/common/SelectdButton/index.tsx index 81c4329..d3e720a 100644 --- a/krampoline/src/common/SelectdButton/index.tsx +++ b/krampoline/src/common/SelectdButton/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import styled from 'styled-components'; const SelectedButton = ({ children }) => { diff --git a/krampoline/src/component/Home/HomeHeader.tsx b/krampoline/src/component/Home/HomeHeader.tsx index bd03c86..c759561 100644 --- a/krampoline/src/component/Home/HomeHeader.tsx +++ b/krampoline/src/component/Home/HomeHeader.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import { Ichome } from '../../assets'; diff --git a/krampoline/src/component/Login/LoginCallback.tsx b/krampoline/src/component/Login/LoginCallback.tsx index d96fe5d..2955587 100644 --- a/krampoline/src/component/Login/LoginCallback.tsx +++ b/krampoline/src/component/Login/LoginCallback.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import useKakaoLogin from '../../libs/hooks/useKakaoLogin'; const LoginCallback = () => { diff --git a/krampoline/src/component/Select/SelectHeader.tsx b/krampoline/src/component/Select/SelectHeader.tsx index 06b6387..8d2fc69 100644 --- a/krampoline/src/component/Select/SelectHeader.tsx +++ b/krampoline/src/component/Select/SelectHeader.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import styled from 'styled-components'; const SelectHeader = () => { From 6430dc68bdc5da8dc1c77db615c442ff3c67e577 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:15:21 +0900 Subject: [PATCH 18/28] =?UTF-8?q?refactor:=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=A7=80=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/common/OnButton/index.tsx | 5 ++--- krampoline/src/component/Result/Article.tsx | 4 ++-- krampoline/src/component/Result/RetryButton.tsx | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/krampoline/src/common/OnButton/index.tsx b/krampoline/src/common/OnButton/index.tsx index bffaefd..f451b94 100644 --- a/krampoline/src/common/OnButton/index.tsx +++ b/krampoline/src/common/OnButton/index.tsx @@ -1,7 +1,6 @@ -import React from 'react'; import styled, { css } from 'styled-components'; -const OnButton = ({ children, isQuiz, disabled, handleFn }) => { +const OnButton = ({ children, isQuiz, disabled, handleFn }: OnButtonProps) => { return ( ; }; diff --git a/krampoline/src/common/Waiting/Contents.tsx b/krampoline/src/common/Waiting/Contents.tsx index 361ce8d..660b435 100644 --- a/krampoline/src/common/Waiting/Contents.tsx +++ b/krampoline/src/common/Waiting/Contents.tsx @@ -1,8 +1,8 @@ -import React from 'react'; import styled from 'styled-components'; import { IcLogo } from '../../assets'; +import { ContentsProps } from '../../types/CommonType/commonType'; -const Contents = ({ textArr }) => { +const Contents = ({ textArr }: ContentsProps) => { return ( From 22d35f7a7f2d5923e0094b889d6d80985da68bda Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 18:31:04 +0900 Subject: [PATCH 24/28] =?UTF-8?q?feat:=20mainContents=EA=B0=80=20=EC=97=86?= =?UTF-8?q?=EC=9D=84=20=EA=B2=BD=EC=9A=B0=20early=20return=20(=EC=98=88?= =?UTF-8?q?=EC=99=B8=EC=B2=98=EB=A6=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/pages/QuizPage.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/krampoline/src/pages/QuizPage.tsx b/krampoline/src/pages/QuizPage.tsx index 542a948..e59fa94 100644 --- a/krampoline/src/pages/QuizPage.tsx +++ b/krampoline/src/pages/QuizPage.tsx @@ -15,6 +15,8 @@ const QuizPage = () => { const [modalOn, setModalOn] = useState(false); const mainContents = sessionStorage.getItem('contents'); + if (!mainContents) return; + const handleClickHint = () => { setModalOn(true); }; From 70cc7eb968439e15d32578c2193c97c84efba928 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sat, 1 Jun 2024 19:22:57 +0900 Subject: [PATCH 25/28] =?UTF-8?q?chore:=20=EC=A3=BC=EC=84=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/tsconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/krampoline/tsconfig.json b/krampoline/tsconfig.json index b149334..680d9ee 100644 --- a/krampoline/tsconfig.json +++ b/krampoline/tsconfig.json @@ -5,6 +5,7 @@ "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, + // svgr 플러그인 추가 "types": ["vite-plugin-svgr/client", "node"], /* Bundler mode */ From b50a4563664e9ddd092650f5034c5e95b706abe4 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sun, 2 Jun 2024 11:21:25 +0900 Subject: [PATCH 26/28] =?UTF-8?q?chore:=20=EC=A3=BC=EC=84=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/tsconfig.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/krampoline/tsconfig.json b/krampoline/tsconfig.json index 680d9ee..666e932 100644 --- a/krampoline/tsconfig.json +++ b/krampoline/tsconfig.json @@ -22,6 +22,8 @@ "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, + // 프로그램에 포함할 파일 이름이나 패턴 배열 지정 "include": ["src"], + // 프로젝트 참조 - 빌드 및 편집기 상호 작용 시간을 크게 개선, 구성 요소 간의 논리적 분리 강화, 새롭고 향상된 방식으로 코드 구성 가능 "references": [{ "path": "./tsconfig.node.json" }] } From 0ded187ee8cfd88567765c7d6c72375b24d63623 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sun, 2 Jun 2024 11:21:35 +0900 Subject: [PATCH 27/28] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/package-lock.json | 1 - krampoline/package.json | 1 - 2 files changed, 2 deletions(-) diff --git a/krampoline/package-lock.json b/krampoline/package-lock.json index c9b4ddc..59dbc3d 100644 --- a/krampoline/package-lock.json +++ b/krampoline/package-lock.json @@ -8,7 +8,6 @@ "name": "vite-project", "version": "0.0.0", "dependencies": { - "@types/jest": "^29.5.12", "@types/node": "^20.13.0", "@types/styled-components": "^5.1.34", "axios": "^1.7.2", diff --git a/krampoline/package.json b/krampoline/package.json index de6f6c3..b793613 100644 --- a/krampoline/package.json +++ b/krampoline/package.json @@ -11,7 +11,6 @@ "preview": "vite preview" }, "dependencies": { - "@types/jest": "^29.5.12", "@types/node": "^20.13.0", "@types/styled-components": "^5.1.34", "axios": "^1.7.2", From 9915a069e408f9ba3f1d4650f584fdee2e90f383 Mon Sep 17 00:00:00 2001 From: seoAreum <1971236@hansung.ac.kr> Date: Sun, 2 Jun 2024 11:44:30 +0900 Subject: [PATCH 28/28] =?UTF-8?q?chore:=20=EB=B6=88=20=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- krampoline/src/libs/hooks/useKakaoLogin.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/krampoline/src/libs/hooks/useKakaoLogin.tsx b/krampoline/src/libs/hooks/useKakaoLogin.tsx index 2319243..d608339 100644 --- a/krampoline/src/libs/hooks/useKakaoLogin.tsx +++ b/krampoline/src/libs/hooks/useKakaoLogin.tsx @@ -1,5 +1,5 @@ import axios from 'axios'; -import React, { useEffect } from 'react'; +import { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { CODE, GET_ACCESS_TOKEN_URL } from '../../constants/oAuth'; import { api } from '../api';