2026-02-12 15:19:59 +00:00
|
|
|
{
|
2026-02-24 15:47:28 +00:00
|
|
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
2026-02-12 15:19:59 +00:00
|
|
|
"projectType": "application",
|
|
|
|
|
"targets": {
|
|
|
|
|
"prebuild:module_system": {
|
|
|
|
|
"cache": true,
|
|
|
|
|
"command": "node module_system/scripts/install.ts",
|
|
|
|
|
"inputs": ["{projectRoot}/build_config.yaml"],
|
2026-02-24 15:47:28 +00:00
|
|
|
"outputs": ["{projectRoot}/src/modules.js", "{projectRoot}/package.json", "{workspaceRoot}/pnpm-lock.yaml"],
|
|
|
|
|
"options": { "cwd": "apps/web" }
|
2026-02-12 15:19:59 +00:00
|
|
|
},
|
|
|
|
|
"prebuild:rethemendex": {
|
|
|
|
|
"cache": true,
|
|
|
|
|
"executor": "nx:run-script",
|
|
|
|
|
"options": {
|
2026-02-24 15:47:28 +00:00
|
|
|
"script": "rethemendex",
|
|
|
|
|
"cwd": "apps/web"
|
2026-02-12 15:19:59 +00:00
|
|
|
},
|
|
|
|
|
"inputs": ["{projectRoot}/res/css/**/*"],
|
|
|
|
|
"outputs": ["{projectRoot}/res/css/_components.pcss"]
|
|
|
|
|
},
|
|
|
|
|
"build": {
|
2026-03-20 16:11:11 +00:00
|
|
|
"command": "webpack-cli --progress --mode production",
|
2026-02-24 15:47:28 +00:00
|
|
|
"outputs": ["{projectRoot}/webapp"],
|
|
|
|
|
"options": { "cwd": "apps/web" }
|
2026-02-12 15:19:59 +00:00
|
|
|
},
|
|
|
|
|
"start": {
|
2026-03-20 16:11:11 +00:00
|
|
|
"command": "webpack-dev-server --output-path webapp --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js --mode development",
|
2026-02-27 13:00:25 +00:00
|
|
|
"dependsOn": ["prebuild:module_system", "prebuild:rethemendex", "^start"],
|
2026-02-24 15:47:28 +00:00
|
|
|
"continuous": true,
|
|
|
|
|
"options": { "cwd": "apps/web" }
|
2026-02-12 15:19:59 +00:00
|
|
|
},
|
|
|
|
|
"lint:types": {
|
|
|
|
|
"executor": "nx:run-commands",
|
|
|
|
|
"options": {
|
|
|
|
|
"commands": [
|
2026-03-13 09:59:16 +00:00
|
|
|
// We indirect via `pnpm exec` to stop knip interpreting the
|
|
|
|
|
// commandline and declaring `playwright` and `./tsconfig.module_system.json`
|
|
|
|
|
// as unlisted dependencies.
|
|
|
|
|
"pnpm exec tsc --noEmit --project ./tsconfig.module_system.json",
|
|
|
|
|
"pnpm exec tsc --noEmit",
|
|
|
|
|
"pnpm exec tsc --noEmit --project playwright"
|
2026-02-12 15:19:59 +00:00
|
|
|
],
|
2026-02-24 15:47:28 +00:00
|
|
|
"parallel": false,
|
|
|
|
|
"cwd": "apps/web"
|
2026-02-12 15:19:59 +00:00
|
|
|
},
|
2026-04-09 15:31:34 +01:00
|
|
|
"dependsOn": ["^build", "^build:playwright"]
|
2026-02-12 15:19:59 +00:00
|
|
|
},
|
|
|
|
|
"test:unit": {
|
2026-04-21 15:07:54 +01:00
|
|
|
// We avoid the jest executor because it doesn't seem to give any benefit, and it mangles the summary of failing tests.
|
|
|
|
|
"command": "jest",
|
|
|
|
|
"options": { "cwd": "apps/web" },
|
2026-02-12 15:19:59 +00:00
|
|
|
"dependsOn": ["^build"]
|
2026-04-09 15:22:56 +01:00
|
|
|
},
|
|
|
|
|
"test:playwright": {
|
|
|
|
|
"command": "playwright test",
|
|
|
|
|
"options": { "cwd": "apps/web" },
|
|
|
|
|
"dependsOn": ["^build:playwright"]
|
|
|
|
|
},
|
|
|
|
|
"test:playwright:screenshots": {
|
2026-04-21 12:34:22 +01:00
|
|
|
"command": "playwright-screenshots playwright test --update-snapshots --project=Chrome --grep @screenshot",
|
2026-04-09 15:22:56 +01:00
|
|
|
"options": { "cwd": "apps/web" },
|
|
|
|
|
"dependsOn": ["^build:playwright"]
|
2026-02-12 15:19:59 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|