-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
100 lines (100 loc) · 5.69 KB
/
package.json
File metadata and controls
100 lines (100 loc) · 5.69 KB
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
"name": "@wxyc/backend-services",
"version": "1.0.0",
"description": "All necessary app services for the WXYC flowsheet backend",
"packageManager": "npm@11.11.0",
"scripts": {
"typecheck": "npm run lint:prebuild && npm run typecheck --workspace=@wxyc/database --workspace=shared/** --workspace=apps/**",
"lint:prebuild": "npm run build --workspace=@wxyc/database --workspace=@wxyc/authentication",
"lint": "npm run lint:prebuild && eslint --cache --cache-strategy content --cache-location .cache/eslint/ .",
"lint:fix": "npm run lint:prebuild && eslint --cache --cache-strategy content --cache-location .cache/eslint/ . --fix",
"lint:env": "node scripts/lint-env.js",
"format": "prettier --cache --cache-location .cache/prettier/ --write .",
"format:check": "prettier --cache --cache-location .cache/prettier/ --check .",
"build": "npm run build --workspace=@wxyc/database --workspace=shared/** --workspace=apps/** --workspace=jobs/**",
"dev": "dotenvx run -f .env -- concurrently \"npm:dev:auth\" \"npm:dev:backend\"",
"dev:backend": "npm run dev --workspace=@wxyc/backend",
"dev:auth": "npm run dev --workspace=@wxyc/auth-service",
"clean": "npm run clean --workspaces",
"test": "dotenvx run -f .env -- jest --config jest.config.json --runInBand",
"test:unit": "jest --config jest.unit.config.ts",
"test:unit:coverage": "jest --config jest.unit.config.ts --coverage",
"test:unit:watch": "jest --config jest.unit.config.ts --watch",
"test:integration": "dotenvx run -f .env -- jest --config jest.config.json --runInBand",
"test:integration:parallel": "dotenvx run -f .env -- jest --config jest.parallel.config.json",
"test:e2e": "jest --config jest.e2e.config.json",
"test:all": "npm run test:unit && npm run test:integration",
"db:start": "docker compose -f dev_env/docker-compose.yml --env-file .env --profile dev up -d; docker attach wxyc-db-init",
"db:stop": "docker compose -f dev_env/docker-compose.yml --env-file .env --profile dev down -v --remove-orphans",
"ci:build": "npm run docker:build --workspace=apps/**",
"ci:env": "./scripts/ci-env.sh",
"ci:env:full": "./scripts/ci-env.sh --full",
"ci:test": "./scripts/ci-test.sh",
"ci:test:full": "./scripts/ci-test.sh --full",
"ci:test:parallel": "DB_PORT=${CI_DB_PORT:-5433} PORT=${CI_PORT:-8081} BETTER_AUTH_URL=${CI_BETTER_AUTH_URL:-http://localhost:8083/auth} dotenvx run -f .env -- jest --config jest.parallel.config.json --coverage",
"ci:clean": "docker compose -f dev_env/docker-compose.yml --env-file .env --profile ci down -v",
"ci:testmock": "npm run ci:env && npm run ci:test && npm run ci:clean",
"ci:testmock:full": "npm run ci:env:full && npm run ci:test:full && npm run ci:clean",
"e2e:env": "npm run docker:build --workspace=apps/** && docker compose -f dev_env/docker-compose.yml --env-file .env --profile e2e up -d e2e-db && docker compose -f dev_env/docker-compose.yml --env-file .env --profile e2e up e2e-db-init && docker compose -f dev_env/docker-compose.yml --env-file .env --profile e2e up -d e2e-auth e2e-backend",
"e2e:setup-users": "E2E_DB_PORT=${E2E_DB_PORT:-5434} DB_PORT=${E2E_DB_PORT:-5434} npm run setup:e2e-users",
"e2e:clean": "docker compose -f dev_env/docker-compose.yml --env-file .env --profile e2e down -v",
"etl:library": "./scripts/run-library-etl.sh",
"test:etl:env": "docker compose -f dev_env/docker-compose.yml --profile etl up -d etl-pg etl-mysql && docker compose -f dev_env/docker-compose.yml --profile etl up etl-db-init && echo 'Waiting for MySQL...' && until docker exec dev_env-etl-mysql-1 mysqladmin ping -h localhost -u etluser -petltest --silent 2>/dev/null; do sleep 1; done && echo 'ETL test environment ready.'",
"test:etl": "ETL_PG_PORT=${ETL_PG_PORT:-5435} jest --config jest.e2e.config.json tests/e2e/etl.test.ts",
"test:etl:clean": "docker compose -f dev_env/docker-compose.yml --profile etl down -v",
"lint:migrations": "node scripts/validate-migrations.mjs",
"drizzle:generate": "read -p \"Enter migration name (optional): \" MIGRATION_NAME && dotenvx run -f .env -- drizzle-kit generate --config 'drizzle.config.ts' --name \"$MIGRATION_NAME\"",
"drizzle:migrate": "dotenvx run -f .env -- drizzle-kit migrate --config 'drizzle.config.ts'",
"drizzle:drop": "dotenvx run -f .env -- drizzle-kit drop --out ./shared/database/src/migrations",
"setup:e2e-users": "dotenvx run -f .env -- tsx dev_env/setup-e2e-test-users.ts",
"prepare": "husky || true"
},
"author": "AyBruno",
"license": "MIT",
"workspaces": [
"apps/*",
"jobs/*",
"shared/*"
],
"devDependencies": {
"@dotenvx/dotenvx": "^1.63.0",
"@eslint/js": "^10.0.1",
"@types/eventsource": "^3.0.0",
"@types/jest": "^30.0.0",
"@types/node": "^25.6.0",
"@types/pg": "^8.20.0",
"@types/ssh2": "^1.15.5",
"@types/supertest": "^7.2.0",
"@types/swagger-ui-express": "^4.1.8",
"@types/ws": "^8.18.1",
"concurrently": "^9.2.1",
"drizzle-kit": "^0.31.10",
"drizzle-orm": "^0.45.2",
"eslint": "^10.2.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-security": "^4.0.0",
"git-merge-append": "github:jakebromberg/git-merge-append",
"husky": "^9.1.7",
"jest": "^30.3.0",
"jest-html-reporters": "^3.1.7",
"mysql2": "^3.22.2",
"nodemon": "^3.1.14",
"postgres": "^3.4.9",
"prettier": "^3.8.3",
"supertest": "^7.2.2",
"ts-jest": "^29.4.9",
"ts-node": "^10.9.2",
"tsup": "^8.5.1",
"tsx": "^4.21.0",
"turbo": "^2.9.6",
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.0",
"wait-on": "^9.0.5",
"ws": "^8.20.0"
},
"dependencies": {
"@sentry/node": "^10.50.0",
"eventsource": "^4.1.0",
"jose": "^6.2.2"
}
}