@zukhruf/nx 0.6.7 → 0.6.9

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.
Files changed (2) hide show
  1. package/README.md +25 -25
  2. 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"]`; the runs from the workspace root stay as overrides |
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
- `nx.configs['flat/react']` of `@nx/eslint-plugin` loads 4 packages, but `@nx/eslint-plugin` does not declare them (`@nx/eslint-plugin/dist/src/flat-configs/react-base.js:4` and `react-jsx.js:4-6`): `eslint-plugin-import`, `eslint-plugin-jsx-a11y`, `eslint-plugin-react` and `eslint-plugin-react-hooks`. Do not add them in `targetDefaults`. Import `@zukhruf/eslint/react` in each React project config. It gives `nx.configs['flat/react']`, and `@zukhruf/eslint` declares the 4 packages as optional peers. Thus they are lockfile edges of `@zukhruf/eslint`, and the plugin hashes them.
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 4 packages of `flat/react`, so its lockfile node has no edge to them. A probe on factory (Nx 24.0.1, 2026-10-30) showed this: with `@zukhruf/eslint` 0.3.44, the 4 packages were not in `external`.
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 | waits: moves to `@zukhruf/eslint` first |
481
- | context-compiler | 5 | waits: moves to `@zukhruf/eslint` first |
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 4 packages of `flat/react`. `@zukhruf/eslint/react` adds them as optional peers. An optional peer is an edge only when the workspace installs it, so the root `devDependencies` of the 4 packages stay in these 4 workspaces.
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 | #3390, after the move to `@zukhruf/eslint` (#2964) |
495
- | context-compiler | #3391, after the move to `@zukhruf/eslint` (#2881) |
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.7",
3
+ "version": "0.6.9",
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.7"
66
+ "@zukhruf/testing": "^0.6.9"
67
67
  }
68
68
  }