-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.json
81 lines (81 loc) · 3.28 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{
"name": "hexagonal-user-application",
"version": "1.0.0",
"description": "Simple full-stack project",
"repository": "https://github.com/ErikssonJoakim/hexagonal-user-application",
"license": "UNLICENSED",
"author": {
"email": "[email protected]",
"name": "Joakim Eriksson"
},
"type": "module",
"scripts": {
"test": "yarn build && yarn test:jest && yarn test:e2e",
"test:jest": "jest",
"test:cypress": "cypress run",
"test:cypress:open": "cypress open",
"test:e2e": "f() { trap 'yarn stop:mysql && yarn clear:mysql; exit' EXIT; yarn start:mysql; while ! nc -z localhost 3306; do echo 'Waiting for MySQL database to be ready...'; sleep 1; done && start-test start:graphql 'http-get://localhost:4000/graphql?query={ __schema { queryType { name } } }' start:react-app http://localhost:8000 test:cypress; }; f",
"codegen": "graphql-codegen --config ./src/apps/graphql/codegen.ts",
"build": "tsc && yarn build:graphql && yarn build:react-app && yarn build:mysql",
"build:graphql": "esbuild src/apps/graphql/index.ts --bundle --platform=node --format=cjs --outfile=dist/graphql/index.cjs",
"build:react-app": "vite build",
"build:mysql": "docker build -t db-mysql ./database",
"start:graphql": "node ./dist/graphql/index.cjs",
"start:react-app": "vite --host --port 8000",
"start:mysql": "f() { ENV_FILE=${1:-.env.development}; docker run --restart=always -d --env-file=$ENV_FILE -p 3306:3306 -v ${PWD}/database/data:/var/lib/mysql --name db-mysql db-mysql; }; f",
"stop:mysql": "docker stop db-mysql",
"clear:mysql": "docker rm db-mysql && rm -rf ./database/data",
"lint": "eslint src --max-warnings=0 && stylelint '**/*.scss' && prettier -c .",
"lint:fix": "eslint --fix src/**/*.{ts,tsx} && stylelint --fix '**/*.scss' && prettier -w ."
},
"engines": {
"node": "^18.18.0",
"yarn": "^1.22.21"
},
"dependencies": {
"@apollo/client": "^3.8.10",
"@apollo/server": "^4.10.0",
"dotenv": "^16.3.2",
"formik": "^2.4.5",
"graphql": "^16.8.1",
"graphql-scalars": "^1.22.4",
"mysql2": "^3.7.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.3",
"uuid": "^9.0.1"
},
"devDependencies": {
"@eddeee888/gcg-typescript-resolver-files": "^0.7.2",
"@graphql-codegen/cli": "^5.0.0",
"@graphql-codegen/typescript": "4.0.1",
"@types/jest": "^29.5.11",
"@types/node": "^20.11.5",
"@types/react": "^18.2.48",
"@types/react-dom": "^18.2.18",
"@types/uuid": "^9.0.8",
"@typescript-eslint/eslint-plugin": "^6.19.0",
"@typescript-eslint/parser": "^6.19.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"autoprefixer": "^10.4.17",
"classnames": "^2.5.1",
"cypress": "^13.6.3",
"esbuild": "^0.19.11",
"eslint": "^8.56.0",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"jest": "^29.7.0",
"prettier": "^3.2.4",
"sass": "^1.70.0",
"start-server-and-test": "^2.0.3",
"stylelint": "^16.2.0",
"stylelint-config-sass-guidelines": "^11.0.0",
"stylelint-scss": "^6.1.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.3",
"vite": "^5.0.12"
}
}