Update dependencies

This commit is contained in:
Bill 2024-06-20 17:06:09 -04:00
parent 21409b77e0
commit 2cd999b614
6 changed files with 556 additions and 752 deletions

16
.editorconfig Normal file
View File

@ -0,0 +1,16 @@
# Editor configuration, see https://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[*.ts]
quote_type = single
[*.md]
max_line_length = off
trim_trailing_whitespace = false

View File

@ -1,110 +0,0 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"settings": {
"react": {
"pragma": "React",
"version": "18.0.0"
}
},
"env": {
"browser": true,
"es2021": true
},
"extends": [
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:react-hooks/recommended"
],
"plugins": [
"@typescript-eslint",
"react"
],
"rules": {
"linebreak-style": [
"off"
],
"quotes": [
"error",
"single"
],
"@typescript-eslint/indent": [
"error",
4,
{
"SwitchCase": 1
}
],
"array-bracket-spacing": [
"error",
"always"
],
"brace-style": [
"error",
"allman"
],
"template-curly-spacing": [
"error",
"always"
],
"no-multi-spaces": [
"error"
],
"@typescript-eslint/object-curly-spacing": [
"error",
"always",
{
"arraysInObjects": true,
"objectsInObjects": false
}
],
"@typescript-eslint/ban-types": [
"error",
{
"types": {
"String": true,
"Boolean": true,
"Number": true,
"Symbol": true,
"{}": false,
"Object": false,
"object": false,
"Function": false
},
"extendDefaults": true
}
],
"no-switch-case-fall-through": [
"off"
],
"jsx-quotes": [
"error"
],
"react/prop-types": [
"off"
],
"react/jsx-curly-spacing": [
"error",
{
"when": "always",
"children": true
}
],
"react/jsx-equals-spacing": [
"error"
],
"react/jsx-newline": [
"error",
{
"prevent": true
}
]
}
}

138
eslint.config.mjs Normal file
View File

@ -0,0 +1,138 @@
import typescriptEslintPlugin from "@typescript-eslint/eslint-plugin";
import typescriptEslintParser from "@typescript-eslint/parser";
import reactPlugin from "eslint-plugin-react";
import reactHooksPlugin from "eslint-plugin-react-hooks";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export default [
{
files: ["**/*.jsx", "**/*.js", "**/*.tsx", "**/*.ts"],
plugins: {
react: reactPlugin,
"react-hooks": reactHooksPlugin,
"@typescript-eslint": typescriptEslintPlugin,
},
languageOptions: {
parser: typescriptEslintParser,
ecmaVersion: "latest",
parserOptions: {
sourceType: "module",
project: "./tsconfig.json",
tsconfigRootDir: __dirname,
ecmaFeatures: {
jsx: true,
},
},
},
rules: {
...reactPlugin.configs.recommended.rules,
...reactHooksPlugin.configs.recommended.rules,
...typescriptEslintPlugin.configs.recommended.rules,
...typescriptEslintPlugin.configs[
"recommended-requiring-type-checking"
].rules,
'indent': [
'error',
4,
{
'SwitchCase': 1
}
],
'no-multi-spaces': [
'error'
],
'no-trailing-spaces': [
'error',
{
'skipBlankLines': false,
'ignoreComments': true
}
],
'linebreak-style': [
'off'
],
'quotes': [
'error',
'single'
],
'semi': [
'error',
'always'
],
'brace-style': [
'error',
'allman'
],
'object-curly-spacing': [
'error',
'always'
],
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/require-await': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-misused-promises': 'off',
'@typescript-eslint/explicit-module-boundary-types': [
'off',
{
'allowedNames': [
'getMessageArray'
]
}
],
'@typescript-eslint/unbound-method': [
'off'
],
'@typescript-eslint/ban-ts-comment': [
'off'
],
'@typescript-eslint/no-empty-function': [
'error',
{
'allow': [
'functions',
'arrowFunctions',
'generatorFunctions',
'methods',
'generatorMethods',
'constructors'
]
}
],
'@typescript-eslint/no-unused-vars': [
'off'
],
'@typescript-eslint/ban-types': [
'error',
{
'types':
{
'String': true,
'Boolean': true,
'Number': true,
'Symbol': true,
'{}': false,
'Object': false,
'object': false,
'Function': false
},
'extendDefaults': true
}
],
'react/react-in-jsx-scope': 'off'
},
settings: {
react: {
version: "18.3.1",
},
},
},
];

View File

@ -10,30 +10,29 @@
"eslint": "eslint src --ext .ts,.tsx" "eslint": "eslint src --ext .ts,.tsx"
}, },
"dependencies": { "dependencies": {
"@tanstack/react-virtual": "3.2.0", "@tanstack/react-virtual": "3.5.1",
"react": "^18.2.0", "react": "^18.3.1",
"react-bootstrap": "^2.2.2", "react-bootstrap": "^2.2.2",
"react-dom": "^18.2.0", "react-dom": "^18.3.1",
"react-icons": "^5.0.1", "react-icons": "^5.2.1",
"react-slider": "^2.0.6", "react-slider": "^2.0.6",
"react-youtube": "^7.13.1", "react-youtube": "^7.13.1",
"use-between": "^1.3.5" "use-between": "^1.3.5"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.11.30", "@types/node": "^20.14.6",
"@types/react": "^18.2.67", "@types/react": "^18.3.3",
"@types/react-dom": "^18.2.22", "@types/react-dom": "^18.3.0",
"@types/react-slider": "^1.3.6", "@types/react-slider": "^1.3.6",
"@typescript-eslint/eslint-plugin": "^7.3.1", "@typescript-eslint/eslint-plugin": "^7.13.1",
"@typescript-eslint/parser": "^7.3.1", "@typescript-eslint/parser": "^7.13.1",
"@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react": "^4.2.1",
"eslint": "^8.57.0", "eslint": "^9.5.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-react": "^7.34.2",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react-hooks": "^5.1.0-rc-1434af3d22-20240618",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0",
"sass": "^1.72.0", "sass": "^1.72.0",
"typescript": "^5.4.2", "typescript": "^5.4.2",
"vite": "^5.1.6" "vite": "^5.3.1",
"vite-tsconfig-paths": "^4.3.2"
} }
} }

View File

@ -1,10 +1,10 @@
// vite.config.js
import react from '@vitejs/plugin-react'; import react from '@vitejs/plugin-react';
import { resolve } from 'path'; import { resolve } from 'path';
import { defineConfig } from 'vite'; import { defineConfig } from 'vite';
import tsconfigPaths from 'vite-tsconfig-paths';
export default defineConfig({ export default defineConfig({
plugins: [ react() ], plugins: [ react(), tsconfigPaths() ],
resolve: { resolve: {
alias: { alias: {
'@': resolve(__dirname, 'src'), '@': resolve(__dirname, 'src'),

1011
yarn.lock

File diff suppressed because it is too large Load Diff