@zukhruf/nx 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -25
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -324,15 +324,15 @@ A `scripts.test` in a `package.json` replaces the inferred target. Nx runs it wi
|
|
|
324
324
|
7. Delete the `test:node` tags.
|
|
325
325
|
8. Compare `nx show projects --withTarget test` before and after. The differences must be the ones in the table.
|
|
326
326
|
|
|
327
|
-
| Workspace | Today | Changes
|
|
328
|
-
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
329
|
-
| zukhruf | `targetDefaults.test` with filters `tag:test:node` and `tag:test:docker`; `dependsOn` `["build", "^build"]`; `--test-force-exit` for each project | 30 tagged projects; 2 Docker projects (mutex, testing) keep their own global setup; `dependsOn` `["...", "build"]`; `flags` `["--test-force-exit"]` if it keeps force-exit for each project
|
|
330
|
-
| factory | 2 targets: `api` with Docker arguments; `foundation` with its tests in `tests/` | delete `apps/factory/api/src/testing/docker-global-setup.ts`; `dependsOn` `["...", "^sdk"]`
|
|
331
|
-
| whatisgoingon | 1 target | 1
|
|
332
|
-
| deepagents | 11 tagged projects, 3 Docker projects, 4 demo scripts | delete `tools/src/docker-global-setup.ts`; `dependsOn` `["...", "build"]`; module mocks in `flags` or in the `args` of a project; the 4 demo scripts and the Docker context script stay
|
|
333
|
-
| elt | 55 commands in the projects, 8 with the global setup | delete `docker-global-setup.ts`; `dependsOn` `["...", "build"]`;
|
|
334
|
-
| context-compiler | 17 targets; the `plugin` project has a no-op `test` that depends on `server:test` | 5 connector targets that test nothing go; `dependsOn` `["...", "build"]`; the desktop e2e files stay as an override; if `plugin` owns no test file, the plugin gives it nothing and its own `test` in `project.json` stays
|
|
335
|
-
| text2sql | about 24 commands in the projects, and 13 projects on the shared default; Nx 23.1.0 | update Nx; delete `packages/adapters/src/testing/docker-global-setup.ts` and `apps/desktop/backend/src/testing/docker-global-setup.ts`; 6 targets that test nothing go; `.agents` and `.claude` get a target; the backends set `--test-timeout=120000` in `args`; the daemon keeps `["image"]` or uses `"..."`
|
|
327
|
+
| Workspace | Today | Changes |
|
|
328
|
+
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
329
|
+
| zukhruf | `targetDefaults.test` with filters `tag:test:node` and `tag:test:docker`; `dependsOn` `["build", "^build"]`; `--test-force-exit` for each project | 30 tagged projects; 2 Docker projects (mutex, testing) keep their own global setup; `dependsOn` `["...", "build"]`; `flags` `["--test-force-exit"]` if it keeps force-exit for each project |
|
|
330
|
+
| factory | 2 targets: `api` with Docker arguments; `foundation` with its tests in `tests/` | delete `apps/factory/api/src/testing/docker-global-setup.ts`; `dependsOn` `["...", "^sdk"]` |
|
|
331
|
+
| whatisgoingon | 1 target | 1 |
|
|
332
|
+
| deepagents | 11 tagged projects, 3 Docker projects, 4 demo scripts | delete `tools/src/docker-global-setup.ts`; `dependsOn` `["...", "build"]`; module mocks in `flags` or in the `args` of a project; the 4 demo scripts and the Docker context script stay |
|
|
333
|
+
| elt | 55 commands in the projects, 8 with the global setup | delete `docker-global-setup.ts`; `dependsOn` `["...", "build"]`; no override, because no test file reads a path from the working directory |
|
|
334
|
+
| context-compiler | 17 targets; the `plugin` project has a no-op `test` that depends on `server:test` | 5 connector targets that test nothing go; `dependsOn` `["...", "build"]`; the desktop e2e files stay as an override; if `plugin` owns no test file, the plugin gives it nothing and its own `test` in `project.json` stays; the test target runs in the project root, so 9 test files of `cli`, `desktop` and `server` find the workspace root from `import.meta.dirname` |
|
|
335
|
+
| text2sql | about 24 commands in the projects, and 13 projects on the shared default; Nx 23.1.0 | update Nx; delete `packages/adapters/src/testing/docker-global-setup.ts` and `apps/desktop/backend/src/testing/docker-global-setup.ts`; 6 targets that test nothing go; `.agents` and `.claude` get a target; the backends set `--test-timeout=120000` in `args`; the daemon keeps `["image"]` or uses `"..."` |
|
|
336
336
|
|
|
337
337
|
### Who uses the test area
|
|
338
338
|
|
|
@@ -342,8 +342,8 @@ A `scripts.test` in a `package.json` replaces the inferred target. Nx runs it wi
|
|
|
342
342
|
| factory | uses it (#3363) |
|
|
343
343
|
| whatisgoingon | uses it (#3364) |
|
|
344
344
|
| deepagents | uses it (#3365) |
|
|
345
|
-
| elt | #3366
|
|
346
|
-
| context-compiler | #3367
|
|
345
|
+
| elt | uses it (#3366) |
|
|
346
|
+
| context-compiler | uses it (#3367) |
|
|
347
347
|
| text2sql | uses it (#3368) |
|
|
348
348
|
|
|
349
349
|
The umbrella item is #3328.
|
|
@@ -447,7 +447,7 @@ Some configs load a package that is not in the edges of `@zukhruf/eslint`. Add i
|
|
|
447
447
|
|
|
448
448
|
The package above is an example from the audit: 3 project configs of text2sql load `eslint-plugin-no-barrel-files`.
|
|
449
449
|
|
|
450
|
-
|
|
450
|
+
`@zukhruf/eslint/react` loads 3 plugins: `@eslint-react/eslint-plugin`, `eslint-plugin-jsx-a11y-x` and `eslint-plugin-react-hooks`. `@zukhruf/eslint` declares them as optional peers. Thus they are lockfile edges of `@zukhruf/eslint`, and the plugin hashes them. Do not add them in `targetDefaults`. Import `@zukhruf/eslint/react` in each React project config. Do not use `nx.configs['flat/react']`: `@nx/eslint-plugin` does not declare the packages that it loads (`@nx/eslint-plugin/dist/src/flat-configs/react-base.js:4` and `react-jsx.js:4-6`), so they are not lockfile edges.
|
|
451
451
|
|
|
452
452
|
A local file that the root ESLint config imports is also an input of the workspace, for example `{workspaceRoot}/island.eslint.config.mjs`. Add it in the same way.
|
|
453
453
|
|
|
@@ -463,7 +463,7 @@ A local file that the root ESLint config imports is also an input of the workspa
|
|
|
463
463
|
|
|
464
464
|
### Migrate a workspace to the lint area
|
|
465
465
|
|
|
466
|
-
1. Update `@zukhruf/nx` and `@zukhruf/eslint` to the latest release. An older `@zukhruf/eslint` does not declare the
|
|
466
|
+
1. Update `@zukhruf/nx` and `@zukhruf/eslint` to the latest release. An older `@zukhruf/eslint` does not declare the 3 plugins of `@zukhruf/eslint/react`, so its lockfile node has no edge to them. A probe on factory (Nx 24.0.1, 2026-10-30) showed this for the React plugins of that time: with `@zukhruf/eslint` 0.3.44, they were not in `external`.
|
|
467
467
|
2. Add `@zukhruf/nx/lint` to `plugins`, after `@nx/eslint/plugin`.
|
|
468
468
|
3. Delete `targetDefaults.lint.inputs`, and delete `targetDefaults.lint.dependsOn` and a top-level `targetDefaults.lint.command` (see [Prerequisites of the lint area](#prerequisites-of-the-lint-area)).
|
|
469
469
|
4. In each React project config, import `@zukhruf/eslint/react` instead of `nx.configs['flat/react']`.
|
|
@@ -477,21 +477,21 @@ A local file that the root ESLint config imports is also an input of the workspa
|
|
|
477
477
|
| whatisgoingon | 15 | the same as factory, with 2 React project configs |
|
|
478
478
|
| deepagents | 9 | the 4 React project configs import `@zukhruf/eslint/react`; `tsconfig.base.json` goes when the tsconfig chain gives it; `options.command`, `env` and `parallelism` stay |
|
|
479
479
|
| text2sql | 7 | the 21 React project configs import `@zukhruf/eslint/react`; `eslint-plugin-no-barrel-files` (3 project configs load it) goes in `targetDefaults` with `"..."`; Nx updates from 23.1.0 first; `options.command` stays |
|
|
480
|
-
| elt | 7 |
|
|
481
|
-
| context-compiler | 5 |
|
|
480
|
+
| elt | 7 | no project config; the root config gives `@zukhruf/eslint/react` to `apps/web` |
|
|
481
|
+
| context-compiler | 5 | no project config; the root config gives `@zukhruf/eslint/react` to `packages/ui`, `apps/desktop/frontend` and `apps/server/src/page` |
|
|
482
482
|
|
|
483
|
-
The lockfile measured the edges on 2026-10-30. For factory, whatisgoingon, deepagents and text2sql, each package of the hand list is in the edges of `@zukhruf/eslint`, except the
|
|
483
|
+
The lockfile measured the edges on 2026-10-30. For factory, whatisgoingon, deepagents and text2sql, each package of the hand list is in the edges of `@zukhruf/eslint`, except the React plugins. `@zukhruf/eslint/react` declares its 3 plugins as optional peers (#3519). An optional peer is an edge only when the workspace installs it, so the 3 plugins go in the root `devDependencies` of each React workspace.
|
|
484
484
|
|
|
485
485
|
### Who uses the lint area
|
|
486
486
|
|
|
487
|
-
| Workspace | Backlog item
|
|
488
|
-
| ---------------- |
|
|
489
|
-
| zukhruf | uses it: `nx.json` lists the plugin by path
|
|
490
|
-
| factory | uses it (#3386)
|
|
491
|
-
| whatisgoingon | uses it (#3387)
|
|
492
|
-
| deepagents | uses it (#3388)
|
|
493
|
-
| text2sql | uses it (#3389)
|
|
494
|
-
| elt |
|
|
495
|
-
| context-compiler |
|
|
487
|
+
| Workspace | Backlog item |
|
|
488
|
+
| ---------------- | ------------------------------------------- |
|
|
489
|
+
| zukhruf | uses it: `nx.json` lists the plugin by path |
|
|
490
|
+
| factory | uses it (#3386) |
|
|
491
|
+
| whatisgoingon | uses it (#3387) |
|
|
492
|
+
| deepagents | uses it (#3388) |
|
|
493
|
+
| text2sql | uses it (#3389) |
|
|
494
|
+
| elt | uses it (#3390) |
|
|
495
|
+
| context-compiler | uses it (#3391) |
|
|
496
496
|
|
|
497
497
|
The umbrella item is #3335.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zukhruf/nx",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.8",
|
|
4
4
|
"description": "The Nx part of the monorepo standard, one area per subpath: format gives each project format and a cached format:check with Prettier, test gives node --test targets, and lint adds the packages of @zukhruf/eslint to the inputs of lint.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -63,6 +63,6 @@
|
|
|
63
63
|
"prettier": "^3.0.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@zukhruf/testing": "^0.6.
|
|
66
|
+
"@zukhruf/testing": "^0.6.8"
|
|
67
67
|
}
|
|
68
68
|
}
|