fix: fix storybook coverage task (#5256)

- Fixes storybook coverage command: the coverage directory path was
incorrect, but instead of failing `storybook:test --configuration=ci`,
it was hanging indefinitely.
- Switches back to `concurrently` to launch `storybook:static` and
`storybook:test` in parallel, which allows to use options to explicitly
kill `storybook:static` when `storybook:test` fails.
- Moves `storybook:test --configuration=ci` to its own command
`storybook:static:test`: used in the CI, and can be used locally to run
storybook tests without having to launch `storybook:dev` first.
- Creates command `storybook:coverage` and enables cache for this
command.
- Fixes Jest tests that were failing.
- Improves caching conditions for some tasks (for instance, no need to
invalidate Jest test cache if only Storybook story files were modified).
This commit is contained in:
Thaïs
2024-05-03 14:59:09 +02:00
committed by GitHub
parent 50421863d4
commit 1351a95754
11 changed files with 123 additions and 75 deletions

View File

@ -63,13 +63,12 @@
"storybook:build:scope": {
"executor": "nx:run-commands",
"options": {
"command": "STORYBOOK_SCOPE={args.scope} nx storybook:build twenty-front",
"scope": "all"
"command": "nx storybook:build twenty-front"
},
"configurations": {
"docs": { "scope": "ui-docs" },
"modules": { "scope": "modules" },
"pages": { "scope": "pages" }
"docs": { "env": { "STORYBOOK_SCOPE": "ui-docs" } },
"modules": { "env": { "STORYBOOK_SCOPE": "modules" } },
"pages": { "env": { "STORYBOOK_SCOPE": "pages" } }
}
},
"storybook:dev": {
@ -78,13 +77,12 @@
"storybook:dev:scope": {
"executor": "nx:run-commands",
"options": {
"command": "STORYBOOK_SCOPE={args.scope} nx storybook:dev twenty-front",
"scope": "all"
"command": "nx storybook:dev twenty-front"
},
"configurations": {
"docs": { "scope": "ui-docs" },
"modules": { "scope": "modules" },
"pages": { "scope": "pages" }
"docs": { "env": { "STORYBOOK_SCOPE": "ui-docs" } },
"modules": { "env": { "STORYBOOK_SCOPE": "modules" } },
"pages": { "env": { "STORYBOOK_SCOPE": "pages" } }
}
},
"storybook:static": {
@ -96,35 +94,39 @@
"storybook:static:scope": {
"executor": "nx:run-commands",
"options": {
"command": "STORYBOOK_SCOPE={args.scope} nx storybook:static twenty-front",
"scope": "all"
"command": "nx storybook:static twenty-front"
},
"configurations": {
"docs": { "scope": "ui-docs" },
"modules": { "scope": "modules" },
"pages": { "scope": "pages" }
"docs": { "env": { "STORYBOOK_SCOPE": "ui-docs" } },
"modules": { "env": { "STORYBOOK_SCOPE": "modules" } },
"pages": { "env": { "STORYBOOK_SCOPE": "pages" } }
}
},
"storybook:coverage": {
"configurations": {
"docs": { "env": { "STORYBOOK_SCOPE": "ui-docs" } },
"modules": { "env": { "STORYBOOK_SCOPE": "modules" } },
"pages": { "env": { "STORYBOOK_SCOPE": "pages" } }
}
},
"storybook:test": {
"options": {
"url": "http://localhost:6006",
"port": 6006
},
"configurations": {
"ci": {
"commands": [
{
"prefix": "[SB]",
"command": "nx storybook:static {projectName} --port={args.port}",
"forwardAllArgs": false
},
{
"command": "STORYBOOK_SCOPE={args.scope} npx wait-on tcp:{args.port} && nx storybook:test {projectName}",
"forwardAllArgs": false
}
],
"parallel": true
},
"docs": { "env": { "STORYBOOK_SCOPE": "ui-docs" } },
"modules": { "env": { "STORYBOOK_SCOPE": "modules" } },
"pages": { "env": { "STORYBOOK_SCOPE": "pages" } }
}
},
"storybook:static:test": {
"options": {
"commands": [
"npx concurrently --kill-others --success=first -n SB,TEST 'nx storybook:static {projectName} --port={args.port}' 'npx wait-on tcp:{args.port} && nx storybook:test {projectName} --port={args.port} --configuration={args.scope}'"
],
"port": 6006
},
"configurations": {
"docs": { "scope": "ui-docs" },
"modules": { "scope": "modules" },
"pages": { "scope": "pages" }