@webpieces/nx-webpieces-rules 0.4.482 → 0.4.484

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webpieces/nx-webpieces-rules",
3
- "version": "0.4.482",
3
+ "version": "0.4.484",
4
4
  "description": "Nx-specific webpieces validation rules and graph tooling. Bundles all @webpieces rule packages with Nx graph validators and an inference plugin.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -21,11 +21,11 @@
21
21
  "README.md"
22
22
  ],
23
23
  "dependencies": {
24
- "@webpieces/ai-hook-rules": "0.4.482",
25
- "@webpieces/code-rules": "0.4.482",
26
- "@webpieces/eslint-rules": "0.4.482",
27
- "@webpieces/pr-gate": "0.4.482",
28
- "@webpieces/rules-config": "0.4.482",
24
+ "@webpieces/ai-hook-rules": "0.4.484",
25
+ "@webpieces/code-rules": "0.4.484",
26
+ "@webpieces/eslint-rules": "0.4.484",
27
+ "@webpieces/pr-gate": "0.4.484",
28
+ "@webpieces/rules-config": "0.4.484",
29
29
  "madge": "8.0.0"
30
30
  },
31
31
  "peerDependencies": {
@@ -33,7 +33,7 @@ class ValidationTargets {
33
33
  },
34
34
  };
35
35
  }
36
- // Validate the pr-gate checklists[] block in isolation (docs exist, patterns compile, ids unique,
36
+ // Validate the pr-gate checklists[] array in isolation (docs exist, reviewer agents exist, subagents
37
37
  // blockMessage on BLOCK) so a bad checklist config fails as ITS OWN check rather than as an
38
38
  // unrelated validator's banner. Depends only on webpieces.config.json + the docs it references.
39
39
  checklistDocs() {
@@ -1 +1 @@
1
- {"version":3,"file":"validation-targets.js","sourceRoot":"","sources":["../../../../../packages/tooling/nx-webpieces-rules/src/validation-targets.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Workspace validation target factories\n *\n * The no-argument `architecture:*` validation target configurations, extracted\n * from plugin.ts (which is at its file-size limit). Each instance method returns\n * the nx TargetConfiguration that runs one @webpieces/nx-webpieces-rules validator.\n * Instantiate once and inject the instance where the targets are assembled (no\n * static methods — a static method can't be injected).\n */\n\nimport { TargetConfiguration } from '@nx/devkit';\n\nexport class ValidationTargets {\n noCycles(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-no-architecture-cycles',\n cache: true,\n inputs: ['{workspaceRoot}/**/project.json', '{workspaceRoot}/architecture/dependencies.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate the architecture has no circular project dependencies',\n },\n };\n }\n\n packageJson(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-packagejson',\n cache: true,\n inputs: ['{workspaceRoot}/**/project.json', '{workspaceRoot}/**/package.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate package.json dependencies match project.json build dependencies',\n },\n };\n }\n\n // Validate the pr-gate checklists[] block in isolation (docs exist, patterns compile, ids unique,\n // blockMessage on BLOCK) so a bad checklist config fails as ITS OWN check rather than as an\n // unrelated validator's banner. Depends only on webpieces.config.json + the docs it references.\n checklistDocs(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-checklist-docs',\n cache: false, // depends on files on disk (docs paths) that project.json inputs can't express\n inputs: ['{workspaceRoot}/webpieces.config.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate the pr-gate checklists[] block (docs exist, patterns compile, ids unique)',\n },\n };\n }\n\n /**\n * Combined validate-code target. Options come from webpieces.config.json at the\n * workspace root (loaded by the executor via @webpieces/rules-config — the same\n * source of truth as @webpieces/ai-hook-rules).\n */\n code(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-code',\n cache: false, // Don't cache - depends on git state\n inputs: ['default', '{workspaceRoot}/webpieces.config.json', {'runtime': 'node -e \"process.stdout.write(String(Math.random()))\"'}],\n metadata: {\n technologies: ['nx'],\n description: 'Combined validation for new methods, modified methods, and file sizes',\n },\n };\n }\n\n versionsLocked(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-versions-locked',\n cache: true,\n inputs: ['{workspaceRoot}/**/package.json'],\n metadata: {\n technologies: ['nx'],\n description:\n 'Validate package.json versions are locked (no semver ranges) and consistent across projects',\n },\n };\n }\n\n tsInSrc(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-ts-in-src',\n cache: false,\n inputs: ['default', '{workspaceRoot}/webpieces.config.json', {'runtime': 'node -e \"process.stdout.write(String(Math.random()))\"'}],\n metadata: {\n technologies: ['nx'],\n description: 'Validate all .ts files in projects are inside the src/ directory',\n },\n };\n }\n\n nxWiring(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-nx-wiring',\n cache: false, // Cheap; depends on nx.json + project graph, not worth caching\n inputs: ['{workspaceRoot}/nx.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate the webpieces validators are wired into the build via nx.json dependsOn',\n },\n };\n }\n\n /**\n * Validate every server/client api-lib dependency is implemented or used. Scans\n * source (addRoutes = implements, createRpcClient/createPubSubClient = uses), so\n * it depends on all source + project.json, not just the committed graph.\n */\n apiRelations(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-api-relations',\n cache: false,\n inputs: ['default', '{workspaceRoot}/**/project.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate every server/client api-lib dependency is implemented or used',\n },\n };\n }\n\n /** Validate role:api-lib ⇔ the project exports an @ApiPath/@Rpc/@PubSub contract, both directions. */\n apiLibTag(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-api-lib-tag',\n cache: false,\n inputs: ['default', '{workspaceRoot}/**/project.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate role:api-lib matches the code (exports an API contract)',\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"validation-targets.js","sourceRoot":"","sources":["../../../../../packages/tooling/nx-webpieces-rules/src/validation-targets.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Workspace validation target factories\n *\n * The no-argument `architecture:*` validation target configurations, extracted\n * from plugin.ts (which is at its file-size limit). Each instance method returns\n * the nx TargetConfiguration that runs one @webpieces/nx-webpieces-rules validator.\n * Instantiate once and inject the instance where the targets are assembled (no\n * static methods — a static method can't be injected).\n */\n\nimport { TargetConfiguration } from '@nx/devkit';\n\nexport class ValidationTargets {\n noCycles(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-no-architecture-cycles',\n cache: true,\n inputs: ['{workspaceRoot}/**/project.json', '{workspaceRoot}/architecture/dependencies.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate the architecture has no circular project dependencies',\n },\n };\n }\n\n packageJson(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-packagejson',\n cache: true,\n inputs: ['{workspaceRoot}/**/project.json', '{workspaceRoot}/**/package.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate package.json dependencies match project.json build dependencies',\n },\n };\n }\n\n // Validate the pr-gate checklists[] array in isolation (docs exist, reviewer agents exist, subagents\n // blockMessage on BLOCK) so a bad checklist config fails as ITS OWN check rather than as an\n // unrelated validator's banner. Depends only on webpieces.config.json + the docs it references.\n checklistDocs(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-checklist-docs',\n cache: false, // depends on files on disk (docs paths) that project.json inputs can't express\n inputs: ['{workspaceRoot}/webpieces.config.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate the pr-gate checklists[] block (docs exist, patterns compile, ids unique)',\n },\n };\n }\n\n /**\n * Combined validate-code target. Options come from webpieces.config.json at the\n * workspace root (loaded by the executor via @webpieces/rules-config — the same\n * source of truth as @webpieces/ai-hook-rules).\n */\n code(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-code',\n cache: false, // Don't cache - depends on git state\n inputs: ['default', '{workspaceRoot}/webpieces.config.json', {'runtime': 'node -e \"process.stdout.write(String(Math.random()))\"'}],\n metadata: {\n technologies: ['nx'],\n description: 'Combined validation for new methods, modified methods, and file sizes',\n },\n };\n }\n\n versionsLocked(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-versions-locked',\n cache: true,\n inputs: ['{workspaceRoot}/**/package.json'],\n metadata: {\n technologies: ['nx'],\n description:\n 'Validate package.json versions are locked (no semver ranges) and consistent across projects',\n },\n };\n }\n\n tsInSrc(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-ts-in-src',\n cache: false,\n inputs: ['default', '{workspaceRoot}/webpieces.config.json', {'runtime': 'node -e \"process.stdout.write(String(Math.random()))\"'}],\n metadata: {\n technologies: ['nx'],\n description: 'Validate all .ts files in projects are inside the src/ directory',\n },\n };\n }\n\n nxWiring(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-nx-wiring',\n cache: false, // Cheap; depends on nx.json + project graph, not worth caching\n inputs: ['{workspaceRoot}/nx.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate the webpieces validators are wired into the build via nx.json dependsOn',\n },\n };\n }\n\n /**\n * Validate every server/client api-lib dependency is implemented or used. Scans\n * source (addRoutes = implements, createRpcClient/createPubSubClient = uses), so\n * it depends on all source + project.json, not just the committed graph.\n */\n apiRelations(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-api-relations',\n cache: false,\n inputs: ['default', '{workspaceRoot}/**/project.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate every server/client api-lib dependency is implemented or used',\n },\n };\n }\n\n /** Validate role:api-lib ⇔ the project exports an @ApiPath/@Rpc/@PubSub contract, both directions. */\n apiLibTag(): TargetConfiguration {\n return {\n executor: '@webpieces/nx-webpieces-rules:validate-api-lib-tag',\n cache: false,\n inputs: ['default', '{workspaceRoot}/**/project.json'],\n metadata: {\n technologies: ['nx'],\n description: 'Validate role:api-lib matches the code (exports an API contract)',\n },\n };\n }\n}\n"]}