mirror of
https://github.com/vector-im/element-web.git
synced 2026-03-02 20:12:04 +01:00
* Use nx for running dev tasks Initially only build & start This enables caching, i.e. if you made no changes to shared-components then it can skip that build and speed up your iteration cycle time nx will also be used for our release tooling down the line Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Drop `concurrently` - we no longer use it Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Make knip happier Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Also use nx tasks for jest & tsc so that SC gets built as needed Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add missing @nx/jest plugin Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix prebuild:rethemendex for Windows Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix prebuild:rethemendex for Windows Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add prepack script to package.json --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
67 lines
2.4 KiB
JSON
67 lines
2.4 KiB
JSON
{
|
|
"$schema": "./node_modules/nx/schemas/project-schema.json",
|
|
"projectType": "application",
|
|
"implicitDependencies": ["@element-hq/web-shared-components"],
|
|
"targets": {
|
|
"clean": {
|
|
"command": "rimraf webapp",
|
|
"outputs": ["{projectRoot}/webapp/"]
|
|
},
|
|
"prebuild:i18n": {
|
|
"cache": true,
|
|
"command": "node scripts/copy-res.ts",
|
|
"dependsOn": ["clean"],
|
|
"inputs": ["{projectRoot}/src/i18n/strings/*.json"],
|
|
"outputs": ["{projectRoot}/webapp/i18n/"]
|
|
},
|
|
"prebuild:module_system": {
|
|
"cache": true,
|
|
"command": "node module_system/scripts/install.ts",
|
|
"inputs": ["{projectRoot}/build_config.yaml"],
|
|
"outputs": ["{projectRoot}/src/modules.js", "{projectRoot}/package.json", "{workspaceRoot}/pnpm-lock.yaml"]
|
|
},
|
|
"prebuild:rethemendex": {
|
|
"cache": true,
|
|
"executor": "nx:run-script",
|
|
"options": {
|
|
"script": "rethemendex"
|
|
},
|
|
"inputs": ["{projectRoot}/res/css/**/*"],
|
|
"outputs": ["{projectRoot}/res/css/_components.pcss"]
|
|
},
|
|
"build": {
|
|
"command": "webpack-cli --progress --mode production {args}",
|
|
"outputs": ["{projectRoot}/webapp"]
|
|
},
|
|
"start:i18n": {
|
|
"command": "node scripts/copy-res.ts -w",
|
|
"dependsOn": ["clean"],
|
|
"continuous": true
|
|
},
|
|
"start": {
|
|
"command": "webpack-dev-server --output-path webapp --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js --mode development",
|
|
"dependsOn": ["prebuild:*", "start:i18n", "^start"],
|
|
"continuous": true
|
|
},
|
|
"lint:types": {
|
|
"executor": "nx:run-commands",
|
|
"options": {
|
|
"commands": [
|
|
"tsc --noEmit --project ./tsconfig.module_system.json",
|
|
"tsc --noEmit",
|
|
"tsc --noEmit -p playwright"
|
|
],
|
|
"parallel": false
|
|
},
|
|
"dependsOn": ["^build"]
|
|
},
|
|
"test:unit": {
|
|
"executor": "@nx/jest:jest",
|
|
"options": {
|
|
"jestConfig": "jest.config.ts"
|
|
},
|
|
"dependsOn": ["^build"]
|
|
}
|
|
}
|
|
}
|