@rsdk/depdoc.cli 6.0.0-next.46 → 6.0.0-next.47

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/DEPDOC_MODEL.md CHANGED
@@ -181,7 +181,11 @@ guess something that an earlier phase can derive.
181
181
  without `--with-dts`, missing `dist/` is allowed so local source-only
182
182
  checks remain usable before build. `service` and `cli` workspaces are never
183
183
  required to have `dist/`: they have no public type surface to protect (see
184
- S2/S3), so there is nothing for the check to guard.
184
+ S2/S3), so there is nothing for the check to guard. A `library` that
185
+ intentionally ships from `src/` with no build step is excluded via the
186
+ explicit `noBuildWorkspaces` config list (not derived automatically: a
187
+ `main`/`types` entry pointing at `src/` looks identical whether it's
188
+ intentional or an unfinished build migration).
185
189
  7. Mark all dependencies found in emitted `.d.ts` as public type surface.
186
190
  8. Skip generated entry-point roots such as `dist/`, `build/`, `coverage/`, and
187
191
  `node_modules/`.
package/README.md CHANGED
@@ -19,9 +19,12 @@ depdoc doctor
19
19
  dependency sections from the derived model. `explain` shows why a dependency is
20
20
  or is not expected for a workspace.
21
21
 
22
- `--with-dts` requires `dist/` for workspaces that have `src/`. Without the flag,
23
- existing `dist/**/*.d.ts` files are still read when present, but missing `dist/`
24
- does not fail the check.
22
+ `--with-dts` requires `dist/` for `library` workspaces that have `src/`.
23
+ `service`/`cli` workspaces are never required to have `dist/` — they have no
24
+ public type surface to protect. Without the flag, existing `dist/**/*.d.ts`
25
+ files are still read when present, but missing `dist/` does not fail the
26
+ check. A library that intentionally ships from `src/` with no build step can
27
+ be excluded via `noBuildWorkspaces` (see Configuration below).
25
28
 
26
29
  ## Configuration
27
30
 
@@ -36,6 +39,9 @@ doctor:
36
39
  lintCmd: yarn lint
37
40
  typecheckCmd: yarn lerna run typecheck
38
41
 
42
+ noBuildWorkspaces:
43
+ - '@rsdk/some-source-shipped-lib'
44
+
39
45
  rules:
40
46
  - match: '@nestjs/*'
41
47
  version: '<=10.4.8'
@@ -50,6 +56,13 @@ rules:
50
56
  rootOnly: true
51
57
  ```
52
58
 
59
+ `noBuildWorkspaces` lists `library` workspace name/glob patterns that are
60
+ exempt from the `--with-dts` dist-missing check: packages that intentionally
61
+ ship straight from `src/` (e.g. hand-authored `.d.ts`, no `build` script). This
62
+ can't be derived from `package.json` alone — a `main`/`types` entry pointing
63
+ at `src/` looks the same whether it's intentional or an unfinished migration —
64
+ so it's an explicit, human-provided exception.
65
+
53
66
  ## Source Scanning
54
67
 
55
68
  For each workspace, `depdoc` scans:
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  validateDependencyRules,
3
3
  validateIgnoredImports,
4
+ validateNoBuildWorkspaces,
4
5
  validateToolingFiles,
5
6
  } from '../src/model/config-validation';
6
7
 
@@ -85,3 +86,27 @@ describe('validateToolingFiles', () => {
85
86
  ]);
86
87
  });
87
88
  });
89
+
90
+ describe('validateNoBuildWorkspaces', () => {
91
+ it('allows an array of workspace name/glob patterns', () => {
92
+ expect(
93
+ validateNoBuildWorkspaces(['@artifactory/brand', '@scope/*']),
94
+ ).toEqual([]);
95
+ });
96
+
97
+ it('allows undefined (field is optional)', () => {
98
+ expect(validateNoBuildWorkspaces(undefined)).toEqual([]);
99
+ });
100
+
101
+ it('rejects non-string items', () => {
102
+ expect(validateNoBuildWorkspaces([42])).toEqual([
103
+ expect.stringContaining('noBuildWorkspaces[0] must be a string'),
104
+ ]);
105
+ });
106
+
107
+ it('rejects a non-array value', () => {
108
+ expect(validateNoBuildWorkspaces('@artifactory/brand')).toEqual([
109
+ expect.stringContaining('noBuildWorkspaces must be an array'),
110
+ ]);
111
+ });
112
+ });
@@ -1143,6 +1143,52 @@ describe('deriveDependencyModel engine', () => {
1143
1143
  expect(result.violations.some((v) => v.code === 'dist-missing')).toBe(true);
1144
1144
  });
1145
1145
 
1146
+ it('does not report missing dist for a library listed in noBuildWorkspaces', () => {
1147
+ const root = makeRoot();
1148
+ const ws = makeWorkspace(
1149
+ '@test/lib',
1150
+ 'packages/lib',
1151
+ 'library',
1152
+ { name: '@test/lib', role: 'library' },
1153
+ new Map(),
1154
+ new Set(),
1155
+ true,
1156
+ false,
1157
+ );
1158
+ const facts = emptyFacts([root, ws]);
1159
+
1160
+ facts.withDts = true;
1161
+ facts.noBuildWorkspaces = ['@test/lib'];
1162
+ const result = deriveDependencyModel(facts);
1163
+
1164
+ expect(result.violations.some((v) => v.code === 'dist-missing')).toBe(
1165
+ false,
1166
+ );
1167
+ });
1168
+
1169
+ it('still reports missing dist for a library not matched by noBuildWorkspaces', () => {
1170
+ const root = makeRoot();
1171
+ const ws = makeWorkspace(
1172
+ '@test/lib',
1173
+ 'packages/lib',
1174
+ 'library',
1175
+ { name: '@test/lib', role: 'library' },
1176
+ new Map(),
1177
+ new Set(),
1178
+ true,
1179
+ false,
1180
+ );
1181
+ const facts = emptyFacts([root, ws]);
1182
+
1183
+ facts.withDts = true;
1184
+ facts.noBuildWorkspaces = ['@test/other-lib'];
1185
+ const result = deriveDependencyModel(facts);
1186
+ const violation = result.violations.find((v) => v.code === 'dist-missing');
1187
+
1188
+ expect(violation).toBeDefined();
1189
+ expect(violation?.message).toContain('noBuildWorkspaces');
1190
+ });
1191
+
1146
1192
  it.each(['service', 'cli'] as const)(
1147
1193
  'does not report missing dist for %s workspaces even when withDts is enabled',
1148
1194
  (role) => {
@@ -4,5 +4,6 @@
4
4
  import type { DependencyModelConfig, DependencyRule } from './types';
5
5
  export declare function validateDependencyRules(rules: DependencyRule[]): string[];
6
6
  export declare function validateIgnoredImports(ignoredImports: unknown): string[];
7
+ export declare function validateNoBuildWorkspaces(noBuildWorkspaces: unknown): string[];
7
8
  export declare function validateToolingFiles(toolingFiles: unknown): string[];
8
9
  export declare function assertValidDependencyModelConfig(config: DependencyModelConfig): void;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateDependencyRules = validateDependencyRules;
4
4
  exports.validateIgnoredImports = validateIgnoredImports;
5
+ exports.validateNoBuildWorkspaces = validateNoBuildWorkspaces;
5
6
  exports.validateToolingFiles = validateToolingFiles;
6
7
  exports.assertValidDependencyModelConfig = assertValidDependencyModelConfig;
7
8
  function getRuleMatches(rule) {
@@ -34,6 +35,16 @@ function validateIgnoredImports(ignoredImports) {
34
35
  ? []
35
36
  : [`ignoredImports[${index}] must be a string`]);
36
37
  }
38
+ function validateNoBuildWorkspaces(noBuildWorkspaces) {
39
+ if (noBuildWorkspaces === undefined)
40
+ return [];
41
+ if (!Array.isArray(noBuildWorkspaces)) {
42
+ return ['noBuildWorkspaces must be an array of workspace name/glob patterns'];
43
+ }
44
+ return noBuildWorkspaces.flatMap((item, index) => typeof item === 'string'
45
+ ? []
46
+ : [`noBuildWorkspaces[${index}] must be a string`]);
47
+ }
37
48
  function isStringOrStringArray(value) {
38
49
  return (typeof value === 'string' ||
39
50
  (Array.isArray(value) && value.every((item) => typeof item === 'string')));
@@ -66,6 +77,7 @@ function assertValidDependencyModelConfig(config) {
66
77
  ...validateDependencyRules(config.rules ?? []),
67
78
  ...validateIgnoredImports(config.ignoredImports),
68
79
  ...validateToolingFiles(config.toolingFiles),
80
+ ...validateNoBuildWorkspaces(config.noBuildWorkspaces),
69
81
  ];
70
82
  if (errors.length === 0)
71
83
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"config-validation.js","sourceRoot":"","sources":["../../src/model/config-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-validation.js","sourceRoot":"","sources":["../../src/model/config-validation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { DependencyRule, DependencyViolation, DependencyWarning, ExpectedWorkspace, WorkspaceFacts } from './types';
2
2
  export declare function compareManifest(expected: ExpectedWorkspace, violations: DependencyViolation[]): void;
3
- export declare function validateBasicShape(workspaces: WorkspaceFacts[], expectedByLocation: Map<string, ExpectedWorkspace>, rules: DependencyRule[], violations: DependencyViolation[], warnings: DependencyWarning[], withDts: boolean): void;
3
+ export declare function validateBasicShape(workspaces: WorkspaceFacts[], expectedByLocation: Map<string, ExpectedWorkspace>, rules: DependencyRule[], violations: DependencyViolation[], warnings: DependencyWarning[], withDts: boolean, noBuildWorkspaces?: readonly string[]): void;
4
4
  export declare function collectStaleRuleViolations(workspaces: WorkspaceFacts[], expectedByLocation: Map<string, ExpectedWorkspace>, rules: DependencyRule[]): DependencyViolation[];
5
5
  export declare function dedupeViolations(violations: DependencyViolation[]): DependencyViolation[];
@@ -141,7 +141,13 @@ function compareManifest(expected, violations) {
141
141
  });
142
142
  }
143
143
  }
144
- function validateBasicShape(workspaces, expectedByLocation, rules, violations, warnings, withDts) {
144
+ function isNoBuildWorkspace(workspace, noBuildWorkspaces) {
145
+ if (noBuildWorkspaces.length === 0)
146
+ return false;
147
+ return ((0, rules_1.matchesPatterns)(workspace.name, noBuildWorkspaces) ||
148
+ (0, rules_1.matchesPatterns)(workspace.location, noBuildWorkspaces));
149
+ }
150
+ function validateBasicShape(workspaces, expectedByLocation, rules, violations, warnings, withDts, noBuildWorkspaces = []) {
145
151
  const workspaceNames = new Set(workspaces.filter((ws) => !ws.isRoot).map((ws) => ws.name));
146
152
  for (const workspace of workspaces) {
147
153
  if (workspace.isRoot) {
@@ -194,12 +200,15 @@ function validateBasicShape(workspaces, expectedByLocation, rules, violations, w
194
200
  if (workspace.role === 'library' &&
195
201
  workspace.hasSrc &&
196
202
  !workspace.hasDist &&
197
- withDts) {
203
+ withDts &&
204
+ !isNoBuildWorkspace(workspace, noBuildWorkspaces)) {
198
205
  violations.push({
199
206
  code: 'dist-missing',
200
207
  workspace: getWorkspaceLabel(workspace),
201
208
  workspaceLocation: workspace.location,
202
- message: 'dist/ not found; build required before --with-dts check',
209
+ message: 'dist/ not found; build required before --with-dts check ' +
210
+ '(if this package intentionally ships from src/ with no build step, ' +
211
+ `add "${workspace.name}" to noBuildWorkspaces in depdoc.yml)`,
203
212
  });
204
213
  }
205
214
  if (workspace.role === 'service' || workspace.role === 'cli') {
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/model/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/model/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -35,11 +35,11 @@ function buildExpected(workspaces, rules, externalPeerMetadata, externalTypeMeta
35
35
  return expectedByLocation;
36
36
  }
37
37
  function deriveDependencyModel(facts) {
38
- const { workspaces, externalPeerMetadata, externalTypeMetadata = new Map(), typeProviderPackages = new Set(), rules, withDts = false, } = facts;
38
+ const { workspaces, externalPeerMetadata, externalTypeMetadata = new Map(), typeProviderPackages = new Set(), rules, noBuildWorkspaces = [], withDts = false, } = facts;
39
39
  const expected = buildExpected(workspaces, rules, externalPeerMetadata, externalTypeMetadata, typeProviderPackages);
40
40
  const violations = [];
41
41
  const warnings = [];
42
- (0, diagnostics_1.validateBasicShape)(workspaces, expected, rules, violations, warnings, withDts);
42
+ (0, diagnostics_1.validateBasicShape)(workspaces, expected, rules, violations, warnings, withDts, noBuildWorkspaces);
43
43
  for (const item of expected.values())
44
44
  (0, diagnostics_1.compareManifest)(item, violations);
45
45
  violations.push(...(0, versions_1.collectUnconstrainedVersionViolations)(workspaces, expected, rules));
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/model/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/model/engine.ts"],"names":[],"mappings":";;AAiCA,sCAkDC;AAED,sDA0CC;AA/HD;;;;;;GAMG;AACH,+CAKuB;AACvB,yCAA2C;AAC3C,yDAAoD;AACpD,2CAKqB;AAQrB,yCAGoB;AAEpB,SAAgB,aAAa,CAC3B,UAA4B,EAC5B,KAAuB,EACvB,oBAA6D,EAC7D,oBAA+D,EAC/D,oBAAiC;IAEjC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAChE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC5B,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAC3D,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACjE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;YACzC,SAAS;YACT,QAAQ,EAAE,IAAA,wBAAa,GAAE;YACzB,OAAO,EAAE,IAAI,GAAG,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,IAAA,mCAAuB,EAAC,kBAAkB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACnE,IAAA,gCAAoB,EAClB,kBAAkB,EAClB,IAAI,EACJ,cAAc,EACd,KAAK,EACL,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;IACF,IAAA,uCAA2B,EACzB,kBAAkB,EAClB,IAAI,EACJ,cAAc,EACd,KAAK,CACN,CAAC;IACF,IAAA,iCAAc,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,KAAK,CACN,CAAC;IACF,IAAA,4BAAiB,EAAC,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACnE,IAAA,iCAAqB,EAAC,kBAAkB,CAAC,CAAC;IAE1C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAgB,qBAAqB,CACnC,KAA2B;IAE3B,MAAM,EACJ,UAAU,EACV,oBAAoB,EACpB,oBAAoB,GAAG,IAAI,GAAG,EAAE,EAChC,oBAAoB,GAAG,IAAI,GAAG,EAAE,EAChC,KAAK,EACL,iBAAiB,GAAG,EAAE,EACtB,OAAO,GAAG,KAAK,GAChB,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,aAAa,CAC5B,UAAU,EACV,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;IACF,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAsC,EAAE,CAAC;IAEvD,IAAA,gCAAkB,EAChB,UAAU,EACV,QAAQ,EACR,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,iBAAiB,CAClB,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAA,6BAAe,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxE,UAAU,CAAC,IAAI,CACb,GAAG,IAAA,gDAAqC,EAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CACtE,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,GAAG,IAAA,wCAA0B,EAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,UAAU,EAAE,IAAA,8BAAgB,EAAC,UAAU,CAAC;QACxC,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { DependencyRule, EffectiveRule, WorkspaceRole } from './types';
10
10
  export declare function matchesGlob(value: string, pattern: string): boolean;
11
- export declare function matchesPatterns(value: string, pattern: string | string[]): boolean;
11
+ export declare function matchesPatterns(value: string, pattern: string | readonly string[]): boolean;
12
12
  export declare function getEffectiveRule(rules: DependencyRule[], depIdent: string, wsIdent: string, wsCwd: string): EffectiveRule;
13
13
  export declare function hasGlobalVersionRule(rules: DependencyRule[], depIdent: string): boolean;
14
14
  export declare function hasWorkspaceVersionRule(rules: DependencyRule[], depIdent: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/model/rules.ts"],"names":[],"mappings":";;AAUA,kCAUC;AAED,0CAOC;AAED,4CAuBC;AAED,oDAUC;AAED,0DAUC;AAED,0CAIC;AA1ED,SAAgB,WAAW,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,KAAK,OAAO,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAChC,yBAAyB,EACzB,MAAM,CAAC,GAAG,CAAA,KAAK,CAChB,CAAC;IAEF,OAAO,IAAI,MAAM,CACf,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CACpE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAC7B,KAAa,EACb,OAA0B;IAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,gBAAgB,CAC9B,KAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,KAAa;IAEb,MAAM,SAAS,GAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACrD,IACE,IAAI,CAAC,SAAS;YACd,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;YAEvC,SAAS;QACX,IAAI,IAAI,CAAC,OAAO;YAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAuB,EACvB,QAAgB;IAEhB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,SAAS;QACf,IAAI,CAAC,OAAO,KAAK,SAAS;QAC1B,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CACrC,KAAuB,EACvB,QAAgB;IAEhB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,OAAO,KAAK,SAAS;QAC1B,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,KAAyB;IAEzB,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/model/rules.ts"],"names":[],"mappings":";;AAUA,kCAUC;AAED,0CAOC;AAED,4CAuBC;AAED,oDAUC;AAED,0DAUC;AAED,0CAIC;AA1ED,SAAgB,WAAW,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,KAAK,OAAO,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAChC,yBAAyB,EACzB,MAAM,CAAC,GAAG,CAAA,KAAK,CAChB,CAAC;IAEF,OAAO,IAAI,MAAM,CACf,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CACpE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAC7B,KAAa,EACb,OAAmC;IAEnC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,gBAAgB,CAC9B,KAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,KAAa;IAEb,MAAM,SAAS,GAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACrD,IACE,IAAI,CAAC,SAAS;YACd,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;YAEvC,SAAS;QACX,IAAI,IAAI,CAAC,OAAO;YAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACnD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAuB,EACvB,QAAgB;IAEhB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,SAAS;QACf,IAAI,CAAC,OAAO,KAAK,SAAS;QAC1B,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CACrC,KAAuB,EACvB,QAAgB;IAEhB,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,OAAO,KAAK,SAAS;QAC1B,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,KAAyB;IAEzB,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AACvE,CAAC"}
@@ -24,6 +24,7 @@ export interface DependencyModelConfig {
24
24
  version?: number;
25
25
  ignoredImports?: string[];
26
26
  toolingFiles?: ToolingFileRule[];
27
+ noBuildWorkspaces?: string[];
27
28
  rules?: DependencyRule[];
28
29
  doctor?: DoctorConfig;
29
30
  }
@@ -85,6 +86,7 @@ export interface DependencyModelFacts {
85
86
  }>;
86
87
  typeProviderPackages?: Set<string>;
87
88
  rules: DependencyRule[];
89
+ noBuildWorkspaces?: string[];
88
90
  withDts?: boolean;
89
91
  }
90
92
  export interface DependencyModelOutput {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":";;;AAgLa,QAAA,QAAQ,GAAkB;IACrC,cAAc;IACd,kBAAkB;IAClB,iBAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":";;;AAwLa,QAAA,QAAQ,GAAkB;IACrC,cAAc;IACd,kBAAkB;IAClB,iBAAiB;CAClB,CAAC"}
package/dist/runner.js CHANGED
@@ -23,6 +23,7 @@ function runDependencyModel(options = {}) {
23
23
  }
24
24
  const config = (0, config_1.loadConfig)(rootDir, options.depdocYamlPath);
25
25
  const rules = config.rules ?? [];
26
+ const noBuildWorkspaces = config.noBuildWorkspaces ?? [];
26
27
  const withDts = options.withDts === true;
27
28
  const contexts = (0, workspaces_1.loadWorkspaces)(rootDir, withDts, config.ignoredImports ?? [], config.toolingFiles ?? []);
28
29
  const packageExtensions = (0, package_extensions_1.loadPackageExtensions)(rootDir);
@@ -40,6 +41,7 @@ function runDependencyModel(options = {}) {
40
41
  externalTypeMetadata,
41
42
  typeProviderPackages,
42
43
  rules,
44
+ noBuildWorkspaces,
43
45
  ...(withDts ? { withDts: true } : {}),
44
46
  });
45
47
  let changed = false;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rsdk/depdoc.cli",
3
3
  "role": "cli",
4
- "version": "6.0.0-next.46",
4
+ "version": "6.0.0-next.47",
5
5
  "description": "CLI for monorepo dependency management",
6
6
  "license": "Apache License 2.0",
7
7
  "publishConfig": {
@@ -18,5 +18,5 @@
18
18
  "typescript": "5.7.3",
19
19
  "yaml": "^2.6.1"
20
20
  },
21
- "gitHead": "15565c93102217c4866939ea7b646016acdb73d6"
21
+ "gitHead": "c14a444616afb5a4992596bcc377fa9b9a6c43a5"
22
22
  }
@@ -51,6 +51,21 @@ export function validateIgnoredImports(ignoredImports: unknown): string[] {
51
51
  );
52
52
  }
53
53
 
54
+ export function validateNoBuildWorkspaces(
55
+ noBuildWorkspaces: unknown,
56
+ ): string[] {
57
+ if (noBuildWorkspaces === undefined) return [];
58
+ if (!Array.isArray(noBuildWorkspaces)) {
59
+ return ['noBuildWorkspaces must be an array of workspace name/glob patterns'];
60
+ }
61
+
62
+ return noBuildWorkspaces.flatMap((item, index) =>
63
+ typeof item === 'string'
64
+ ? []
65
+ : [`noBuildWorkspaces[${index}] must be a string`],
66
+ );
67
+ }
68
+
54
69
  function isStringOrStringArray(value: unknown): boolean {
55
70
  return (
56
71
  typeof value === 'string' ||
@@ -96,6 +111,7 @@ export function assertValidDependencyModelConfig(
96
111
  ...validateDependencyRules(config.rules ?? []),
97
112
  ...validateIgnoredImports(config.ignoredImports),
98
113
  ...validateToolingFiles(config.toolingFiles),
114
+ ...validateNoBuildWorkspaces(config.noBuildWorkspaces),
99
115
  ];
100
116
 
101
117
  if (errors.length === 0) return;
@@ -192,6 +192,18 @@ export function compareManifest(
192
192
  }
193
193
  }
194
194
 
195
+ function isNoBuildWorkspace(
196
+ workspace: WorkspaceFacts,
197
+ noBuildWorkspaces: readonly string[],
198
+ ): boolean {
199
+ if (noBuildWorkspaces.length === 0) return false;
200
+
201
+ return (
202
+ matchesPatterns(workspace.name, noBuildWorkspaces) ||
203
+ matchesPatterns(workspace.location, noBuildWorkspaces)
204
+ );
205
+ }
206
+
195
207
  export function validateBasicShape(
196
208
  workspaces: WorkspaceFacts[],
197
209
  expectedByLocation: Map<string, ExpectedWorkspace>,
@@ -199,6 +211,7 @@ export function validateBasicShape(
199
211
  violations: DependencyViolation[],
200
212
  warnings: DependencyWarning[],
201
213
  withDts: boolean,
214
+ noBuildWorkspaces: readonly string[] = [],
202
215
  ): void {
203
216
  const workspaceNames = new Set(
204
217
  workspaces.filter((ws) => !ws.isRoot).map((ws) => ws.name),
@@ -262,13 +275,17 @@ export function validateBasicShape(
262
275
  workspace.role === 'library' &&
263
276
  workspace.hasSrc &&
264
277
  !workspace.hasDist &&
265
- withDts
278
+ withDts &&
279
+ !isNoBuildWorkspace(workspace, noBuildWorkspaces)
266
280
  ) {
267
281
  violations.push({
268
282
  code: 'dist-missing',
269
283
  workspace: getWorkspaceLabel(workspace),
270
284
  workspaceLocation: workspace.location,
271
- message: 'dist/ not found; build required before --with-dts check',
285
+ message:
286
+ 'dist/ not found; build required before --with-dts check ' +
287
+ '(if this package intentionally ships from src/ with no build step, ' +
288
+ `add "${workspace.name}" to noBuildWorkspaces in depdoc.yml)`,
272
289
  });
273
290
  }
274
291
 
@@ -92,6 +92,7 @@ export function deriveDependencyModel(
92
92
  externalTypeMetadata = new Map(),
93
93
  typeProviderPackages = new Set(),
94
94
  rules,
95
+ noBuildWorkspaces = [],
95
96
  withDts = false,
96
97
  } = facts;
97
98
  const expected = buildExpected(
@@ -111,6 +112,7 @@ export function deriveDependencyModel(
111
112
  violations,
112
113
  warnings,
113
114
  withDts,
115
+ noBuildWorkspaces,
114
116
  );
115
117
  for (const item of expected.values()) compareManifest(item, violations);
116
118
  violations.push(
@@ -22,7 +22,7 @@ export function matchesGlob(value: string, pattern: string): boolean {
22
22
 
23
23
  export function matchesPatterns(
24
24
  value: string,
25
- pattern: string | string[],
25
+ pattern: string | readonly string[],
26
26
  ): boolean {
27
27
  const patterns = Array.isArray(pattern) ? pattern : [pattern];
28
28
 
@@ -35,6 +35,13 @@ export interface DependencyModelConfig {
35
35
  version?: number;
36
36
  ignoredImports?: string[];
37
37
  toolingFiles?: ToolingFileRule[];
38
+
39
+ // Workspace name/location glob patterns that intentionally ship from src/
40
+ // with no build step (e.g. hand-authored .d.ts, no `build` script). The
41
+ // --with-dts dist-missing check is not derivable for these from package.json
42
+ // alone (main/types pointing at src/ is also what an unfinished migration
43
+ // looks like), so this is an explicit, human-provided exception (see V3).
44
+ noBuildWorkspaces?: string[];
38
45
  rules?: DependencyRule[];
39
46
  doctor?: DoctorConfig;
40
47
  }
@@ -121,6 +128,7 @@ export interface DependencyModelFacts {
121
128
  externalTypeMetadata?: Map<string, { hasBundledTypes: boolean }>;
122
129
  typeProviderPackages?: Set<string>;
123
130
  rules: DependencyRule[];
131
+ noBuildWorkspaces?: string[];
124
132
  withDts?: boolean;
125
133
  }
126
134
 
package/src/runner.ts CHANGED
@@ -32,6 +32,7 @@ export function runDependencyModel(
32
32
 
33
33
  const config = loadConfig(rootDir, options.depdocYamlPath);
34
34
  const rules = config.rules ?? [];
35
+ const noBuildWorkspaces = config.noBuildWorkspaces ?? [];
35
36
  const withDts = options.withDts === true;
36
37
  const contexts = loadWorkspaces(
37
38
  rootDir,
@@ -71,6 +72,7 @@ export function runDependencyModel(
71
72
  externalTypeMetadata,
72
73
  typeProviderPackages,
73
74
  rules,
75
+ noBuildWorkspaces,
74
76
  ...(withDts ? { withDts: true } : {}),
75
77
  });
76
78