"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": {
"error",
"always"
]
- }
+ },
+ "overrides": [
+ {
+ "files": [
+ "**/*.test.js"
+ ],
+ "env": {
+ "jest": true
+ },
+ "settings": {
+ "import/resolver": {
+ "node": {
+ "paths": [
+ "resources/js"
+ ]
+ }
+ }
+ }
+ }
+ ]
+ },
+ "jest": {
+ "moduleDirectories": [
+ "node_modules",
+ "resources/js"
+ ],
+ "roots": [
+ "<rootDir>/resources/js",
+ "<rootDir>/tests/js"
+ ],
+ "setupFilesAfterEnv": [
+ "<rootDir>/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.5.6",
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/react": "^14.2.1",
"alpinejs": "^3.4.2",
"autoprefixer": "^10.4.2",
"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": "^15.1.0",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"resolve-url-loader": "^5.0.0",
"sass": "^1.32.11",
"sass-loader": "^13.3.2",
"qs": "^6.10.3",
"react-bootstrap": "^2.2.0",
"react-helmet": "^6.1.0",
- "react-i18next": "^11.15.6",
+ "react-i18next": "^13.2.2",
"react-router-bootstrap": "^0.26.0",
"react-router-dom": "^6.2.2",
"recharts": "^2.1.9",