X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=package.json;h=00152a895b8f857733e6cbe0df9bfedba45904ec;hb=HEAD;hp=2732cb74166ec33085c5d0d5d3e9d877ab03060e;hpb=e0616336a824a6d59c4b9d25ef4ed7fa26214cef;p=alttp.git diff --git a/package.json b/package.json index 2732cb7..00152a8 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,14 @@ "watch-poll": "mix watch -- --watch-options-poll=1000", "hot": "mix watch --hot", "prod": "npm run production", - "production": "mix --production" + "production": "mix --production", + "test": "NODE_ENV=test npx jest", + "test-watch": "npm run test -- --watch --notify" }, "eslintConfig": { "env": { "browser": true, + "es6": true, "node": true }, "extends": [ @@ -19,8 +22,18 @@ "plugin:import/recommended", "plugin:react/recommended" ], + "parser": "@babel/eslint-parser", "parserOptions": { + "babelOptions": { + "presets": [ + "@babel/preset-react" + ] + }, + "ecmaFeatures": { + "jsx": true + }, "ecmaVersion": 2018, + "requireConfigFile": false, "sourceType": "module" }, "rules": { @@ -32,6 +45,7 @@ "tabWidth": 4 } ], + "no-use-before-define": "error", "no-extra-parens": [ "warn", "all", @@ -45,50 +59,99 @@ "error", "always" ] - } + }, + "overrides": [ + { + "files": [ + "**/*.test.js" + ], + "env": { + "jest": true + }, + "settings": { + "import/resolver": { + "node": { + "paths": [ + "resources/js" + ] + } + } + } + } + ] + }, + "jest": { + "moduleDirectories": [ + "node_modules", + "resources/js" + ], + "roots": [ + "/resources/js", + "/tests/js" + ], + "setupFilesAfterEnv": [ + "/resources/js/setup-jest.js" + ], + "testEnvironment": "jsdom" }, "devDependencies": { + "@babel/eslint-parser": "^7.22.11", "@babel/preset-react": "^7.13.13", "@popperjs/core": "^2.10.2", - "@tailwindcss/forms": "^0.4.0", + "@tailwindcss/forms": "^0.5.6", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", "alpinejs": "^3.4.2", "autoprefixer": "^10.4.2", - "axios": "^0.25", + "axios": "^1.5.0", + "babel-jest": "^29.7.0", "bootstrap": "^5.1.3", "eslint": "^8.10.0", "eslint-plugin-import": "^2.25.4", "eslint-plugin-react": "^7.29.3", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "laravel-mix": "^6.0.6", "lodash": "^4.17.19", "postcss": "^8.4.6", - "postcss-import": "^14.0.2", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "postcss-import": "^15.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", "resolve-url-loader": "^5.0.0", "sass": "^1.32.11", - "sass-loader": "^11.0.1", + "sass-loader": "^13.3.2", "tailwindcss": "^3.0.18" }, "dependencies": { + "@codemirror/lang-html": "^6.4.5", "@fortawesome/fontawesome-free": "^6.0.0", - "@fortawesome/fontawesome-svg-core": "^1.3.0", + "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-brands-svg-icons": "^6.0.0", "@fortawesome/free-solid-svg-icons": "^6.0.0", - "@fortawesome/react-fontawesome": "^0.1.17", + "@fortawesome/react-fontawesome": "^0.2.0", + "@uiw/codemirror-theme-github": "^4.21.9", + "@uiw/react-codemirror": "^4.21.9", + "apng-js": "^1.1.1", + "crc-32": "^1.2.2", + "d3-drag": "^3.0.0", + "file-saver": "^2.0.5", "formik": "^2.2.9", - "i18next": "^21.6.13", - "i18next-browser-languagedetector": "^6.1.3", + "i18next": "^23.4.9", + "i18next-browser-languagedetector": "^7.1.0", "laravel-echo": "^1.11.3", + "localforage": "^1.10.0", "moment": "^2.29.1", "numeral": "^2.0.6", - "pusher-js": "^7.0.6", + "openseadragon": "^4.0.0", + "pusher-js": "^8.3.0", "qs": "^6.10.3", "react-bootstrap": "^2.2.0", - "react-i18next": "^11.15.6", + "react-helmet": "^6.1.0", + "react-i18next": "^13.2.2", "react-router-bootstrap": "^0.26.0", "react-router-dom": "^6.2.2", "recharts": "^2.1.9", "toastr": "^2.1.4", - "yup": "^0.32.11" + "yup": "^1.2.0" } }