@rsdk/depdoc.cli 6.0.0-next.45 → 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 +5 -1
- package/README.md +16 -3
- package/__tests__/config-validation.test.ts +25 -0
- package/__tests__/engine.test.ts +46 -0
- package/__tests__/peer-requirements.test.ts +22 -0
- package/dist/lib/peer-requirements.d.ts +6 -0
- package/dist/lib/peer-requirements.js +11 -3
- package/dist/lib/peer-requirements.js.map +1 -1
- package/dist/model/config-validation.d.ts +1 -0
- package/dist/model/config-validation.js +12 -0
- package/dist/model/config-validation.js.map +1 -1
- package/dist/model/diagnostics.d.ts +1 -1
- package/dist/model/diagnostics.js +12 -3
- package/dist/model/diagnostics.js.map +1 -1
- package/dist/model/engine.js +2 -2
- package/dist/model/engine.js.map +1 -1
- package/dist/model/rules.d.ts +1 -1
- package/dist/model/rules.js.map +1 -1
- package/dist/model/types.d.ts +2 -0
- package/dist/model/types.js.map +1 -1
- package/dist/runner.js +2 -0
- package/dist/runner.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/peer-requirements.ts +13 -3
- package/src/model/config-validation.ts +16 -0
- package/src/model/diagnostics.ts +19 -2
- package/src/model/engine.ts +2 -0
- package/src/model/rules.ts +1 -1
- package/src/model/types.ts +8 -0
- package/src/runner.ts +2 -0
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/`.
|
|
23
|
-
|
|
24
|
-
|
|
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
|
+
});
|
package/__tests__/engine.test.ts
CHANGED
|
@@ -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) => {
|
|
@@ -70,6 +70,16 @@ describe('parsePeerFailureLine', () => {
|
|
|
70
70
|
expect(result.consumer).toBe('@docusaurus/types');
|
|
71
71
|
});
|
|
72
72
|
|
|
73
|
+
it('parses the "provides a mismatched version" shape, not just "doesn\'t provide"', () => {
|
|
74
|
+
const result = parsePeerFailureLine(
|
|
75
|
+
"pd75455 → ✘ @mcteam/eslint-config.frontend@workspace:packages/mcteam.eslint-config.frontend provides eslint@npm:10.5.0 [5c646] to @eslint/js@npm:10.0.1 [5c646] and 8 other dependencies",
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
expect(result.provider).toBe('@mcteam/eslint-config.frontend');
|
|
79
|
+
expect(result.peer).toBe('eslint');
|
|
80
|
+
expect(result.consumer).toBe('@eslint/js');
|
|
81
|
+
});
|
|
82
|
+
|
|
73
83
|
it('returns nulls for an unparseable line rather than guessing', () => {
|
|
74
84
|
const result = parsePeerFailureLine('✘ something unexpected happened');
|
|
75
85
|
|
|
@@ -113,6 +123,18 @@ describe('classifyPeerFailures', () => {
|
|
|
113
123
|
expect(ownershipFailures).toHaveLength(1);
|
|
114
124
|
});
|
|
115
125
|
|
|
126
|
+
it('treats a workspace-provided version-mismatch as blocking, not vendor-only noise', () => {
|
|
127
|
+
const line =
|
|
128
|
+
"pd75455 → ✘ @mcteam/eslint-config.frontend@workspace:packages/mcteam.eslint-config.frontend provides eslint@npm:10.5.0 [5c646] to @eslint/js@npm:10.0.1 [5c646] and 8 other dependencies";
|
|
129
|
+
const { vendorFailures, ownershipFailures } = classifyPeerFailures(
|
|
130
|
+
line,
|
|
131
|
+
new Set(['@mcteam/eslint-config.frontend']),
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
expect(vendorFailures).toHaveLength(0);
|
|
135
|
+
expect(ownershipFailures).toHaveLength(1);
|
|
136
|
+
});
|
|
137
|
+
|
|
116
138
|
it('treats an unparseable failure line as blocking', () => {
|
|
117
139
|
const { vendorFailures, ownershipFailures } = classifyPeerFailures(
|
|
118
140
|
'✘ garbled output',
|
|
@@ -16,6 +16,12 @@ export interface PeerFailure {
|
|
|
16
16
|
* Local workspaces use a `@workspace:` reference instead of `@npm:`.
|
|
17
17
|
*/
|
|
18
18
|
export declare function extractPackageIdent(token: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* `yarn explain peer-requirements` reports two distinct failure shapes:
|
|
21
|
+
* "X doesn't provide Y to Z" (peer missing entirely) and "X provides Y to Z"
|
|
22
|
+
* (peer present but its version does not satisfy all requests). Both count
|
|
23
|
+
* as a failed requirement; only the reason differs.
|
|
24
|
+
*/
|
|
19
25
|
export declare function parsePeerFailureLine(line: string): PeerFailure;
|
|
20
26
|
/**
|
|
21
27
|
* A failure only qualifies as vendor-only when both sides were parsed and
|
|
@@ -24,15 +24,23 @@ function extractPackageIdent(token) {
|
|
|
24
24
|
? withoutHash.slice(0, protocolMatch.index)
|
|
25
25
|
: withoutHash).trim();
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* `yarn explain peer-requirements` reports two distinct failure shapes:
|
|
29
|
+
* "X doesn't provide Y to Z" (peer missing entirely) and "X provides Y to Z"
|
|
30
|
+
* (peer present but its version does not satisfy all requests). Both count
|
|
31
|
+
* as a failed requirement; only the reason differs.
|
|
32
|
+
*/
|
|
27
33
|
function parsePeerFailureLine(line) {
|
|
28
|
-
|
|
34
|
+
// The peer token may carry its own locator hash before " to " -
|
|
35
|
+
// e.g. "provides eslint@npm:10.5.0 [5c646] to ...".
|
|
36
|
+
const match = line.match(/✘\s+(.+?)\s+(?:doesn't provide|provides)\s+(\S+)(?:\s+\[[0-9a-f]+\])?\s+to\s+(.+)$/);
|
|
29
37
|
if (!match)
|
|
30
38
|
return { raw: line, provider: null, peer: '', consumer: null };
|
|
31
|
-
const [, providerToken,
|
|
39
|
+
const [, providerToken, peerToken, consumerToken] = match;
|
|
32
40
|
return {
|
|
33
41
|
raw: line,
|
|
34
42
|
provider: extractPackageIdent(providerToken),
|
|
35
|
-
peer:
|
|
43
|
+
peer: extractPackageIdent(peerToken),
|
|
36
44
|
consumer: extractPackageIdent(consumerToken),
|
|
37
45
|
};
|
|
38
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-requirements.js","sourceRoot":"","sources":["../../src/lib/peer-requirements.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAcH,kDAeC;
|
|
1
|
+
{"version":3,"file":"peer-requirements.js","sourceRoot":"","sources":["../../src/lib/peer-requirements.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;AAiBA,0DAqBC;AAED,wDAWC;AASD,oDA6BC;AAED,
|
|
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
|
|
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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"}
|
package/dist/model/engine.js
CHANGED
|
@@ -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));
|
package/dist/model/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/model/engine.ts"],"names":[],"mappings":";;AAiCA,sCAkDC;AAED,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/model/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/model/rules.d.ts
CHANGED
|
@@ -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;
|
package/dist/model/rules.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/model/types.d.ts
CHANGED
|
@@ -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 {
|
package/dist/model/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":";;;
|
|
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;
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":";;AAwBA,
|
|
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.
|
|
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": "
|
|
21
|
+
"gitHead": "c14a444616afb5a4992596bcc377fa9b9a6c43a5"
|
|
22
22
|
}
|
|
@@ -34,17 +34,27 @@ export function extractPackageIdent(token: string): string {
|
|
|
34
34
|
).trim();
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* `yarn explain peer-requirements` reports two distinct failure shapes:
|
|
39
|
+
* "X doesn't provide Y to Z" (peer missing entirely) and "X provides Y to Z"
|
|
40
|
+
* (peer present but its version does not satisfy all requests). Both count
|
|
41
|
+
* as a failed requirement; only the reason differs.
|
|
42
|
+
*/
|
|
37
43
|
export function parsePeerFailureLine(line: string): PeerFailure {
|
|
38
|
-
|
|
44
|
+
// The peer token may carry its own locator hash before " to " -
|
|
45
|
+
// e.g. "provides eslint@npm:10.5.0 [5c646] to ...".
|
|
46
|
+
const match = line.match(
|
|
47
|
+
/✘\s+(.+?)\s+(?:doesn't provide|provides)\s+(\S+)(?:\s+\[[0-9a-f]+\])?\s+to\s+(.+)$/,
|
|
48
|
+
);
|
|
39
49
|
|
|
40
50
|
if (!match) return { raw: line, provider: null, peer: '', consumer: null };
|
|
41
51
|
|
|
42
|
-
const [, providerToken,
|
|
52
|
+
const [, providerToken, peerToken, consumerToken] = match;
|
|
43
53
|
|
|
44
54
|
return {
|
|
45
55
|
raw: line,
|
|
46
56
|
provider: extractPackageIdent(providerToken!),
|
|
47
|
-
peer:
|
|
57
|
+
peer: extractPackageIdent(peerToken!),
|
|
48
58
|
consumer: extractPackageIdent(consumerToken!),
|
|
49
59
|
};
|
|
50
60
|
}
|
|
@@ -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;
|
package/src/model/diagnostics.ts
CHANGED
|
@@ -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:
|
|
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
|
|
package/src/model/engine.ts
CHANGED
|
@@ -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(
|
package/src/model/rules.ts
CHANGED
|
@@ -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
|
|
package/src/model/types.ts
CHANGED
|
@@ -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
|
|