@rsdk/yarn.constraints 6.0.0-next.4 → 6.0.0-next.40

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 (118) hide show
  1. package/DEPENDENCY_MODEL.md +452 -0
  2. package/README.MD +24 -0
  3. package/__tests__/compatibility.test.ts +321 -0
  4. package/__tests__/engine.test.ts +1002 -0
  5. package/__tests__/fixtures/imports/bin.js +4 -0
  6. package/__tests__/fixtures/imports/export-entry.mjs +1 -0
  7. package/__tests__/fixtures/imports/root-entry.js +3 -0
  8. package/__tests__/fixtures/imports/src/common.cjs +3 -0
  9. package/__tests__/fixtures/imports/src/common.cts +3 -0
  10. package/__tests__/fixtures/imports/src/component.tsx +4 -0
  11. package/__tests__/fixtures/imports/src/index.ts +13 -0
  12. package/__tests__/fixtures/imports/src/module.mjs +3 -0
  13. package/__tests__/fixtures/imports/src/module.mts +3 -0
  14. package/__tests__/fixtures/imports/src/plain.js +3 -0
  15. package/__tests__/fixtures/imports/src/test-only-usage.ts +1 -0
  16. package/__tests__/imports.test.ts +206 -0
  17. package/__tests__/manifest-writer.test.ts +157 -0
  18. package/dist/ansi.d.ts +9 -0
  19. package/dist/ansi.js +24 -0
  20. package/dist/ansi.js.map +1 -0
  21. package/dist/bin/depdoc.d.ts +2 -0
  22. package/dist/bin/depdoc.js +157 -0
  23. package/dist/bin/depdoc.js.map +1 -0
  24. package/dist/collectors/config.d.ts +2 -0
  25. package/dist/collectors/config.js +25 -0
  26. package/dist/collectors/config.js.map +1 -0
  27. package/dist/collectors/external-metadata.d.ts +5 -0
  28. package/dist/collectors/external-metadata.js +110 -0
  29. package/dist/collectors/external-metadata.js.map +1 -0
  30. package/dist/collectors/package-extensions.d.ts +3 -0
  31. package/dist/collectors/package-extensions.js +43 -0
  32. package/dist/collectors/package-extensions.js.map +1 -0
  33. package/dist/collectors/type-providers.d.ts +3 -0
  34. package/dist/collectors/type-providers.js +46 -0
  35. package/dist/collectors/type-providers.js.map +1 -0
  36. package/dist/collectors/workspaces.d.ts +2 -0
  37. package/dist/collectors/workspaces.js +88 -0
  38. package/dist/collectors/workspaces.js.map +1 -0
  39. package/dist/dependency-model.d.ts +11 -0
  40. package/dist/dependency-model.js +18 -0
  41. package/dist/dependency-model.js.map +1 -0
  42. package/dist/index.d.ts +9 -5
  43. package/dist/index.js +13 -33
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/imports.d.ts +9 -0
  46. package/dist/lib/imports.js +249 -0
  47. package/dist/lib/imports.js.map +1 -0
  48. package/dist/lib/package-json.d.ts +21 -0
  49. package/dist/lib/package-json.js +32 -0
  50. package/dist/lib/package-json.js.map +1 -0
  51. package/dist/model/diagnostics.d.ts +4 -0
  52. package/dist/model/diagnostics.js +273 -0
  53. package/dist/model/diagnostics.js.map +1 -0
  54. package/dist/model/engine.d.ts +5 -0
  55. package/dist/model/engine.js +52 -0
  56. package/dist/model/engine.js.map +1 -0
  57. package/dist/model/expected.d.ts +20 -0
  58. package/dist/model/expected.js +89 -0
  59. package/dist/model/expected.js.map +1 -0
  60. package/dist/model/peer-propagation.d.ts +2 -0
  61. package/dist/model/peer-propagation.js +124 -0
  62. package/dist/model/peer-propagation.js.map +1 -0
  63. package/dist/model/placement.d.ts +9 -0
  64. package/dist/model/placement.js +205 -0
  65. package/dist/model/placement.js.map +1 -0
  66. package/dist/model/rules.d.ts +14 -0
  67. package/dist/model/rules.js +46 -0
  68. package/dist/model/rules.js.map +1 -0
  69. package/dist/model/types.d.ts +117 -0
  70. package/dist/model/types.js +9 -0
  71. package/dist/model/types.js.map +1 -0
  72. package/dist/model/versions.d.ts +3 -0
  73. package/dist/model/versions.js +73 -0
  74. package/dist/model/versions.js.map +1 -0
  75. package/dist/reporting.d.ts +3 -0
  76. package/dist/reporting.js +80 -0
  77. package/dist/reporting.js.map +1 -0
  78. package/dist/runner.d.ts +2 -0
  79. package/dist/runner.js +70 -0
  80. package/dist/runner.js.map +1 -0
  81. package/dist/writer/manifest-writer.d.ts +2 -0
  82. package/dist/writer/manifest-writer.js +72 -0
  83. package/dist/writer/manifest-writer.js.map +1 -0
  84. package/eslint.config.cjs +3 -0
  85. package/jest.config.js +1 -0
  86. package/package.json +7 -3
  87. package/src/ansi.ts +23 -0
  88. package/src/bin/depdoc.ts +213 -0
  89. package/src/collectors/config.ts +26 -0
  90. package/src/collectors/external-metadata.ts +148 -0
  91. package/src/collectors/package-extensions.ts +52 -0
  92. package/src/collectors/type-providers.ts +51 -0
  93. package/src/collectors/workspaces.ts +99 -0
  94. package/src/dependency-model.ts +26 -0
  95. package/src/index.ts +28 -45
  96. package/src/lib/imports.ts +293 -0
  97. package/src/lib/package-json.ts +46 -0
  98. package/src/model/diagnostics.ts +328 -0
  99. package/src/model/engine.ts +120 -0
  100. package/src/model/expected.ts +141 -0
  101. package/src/model/peer-propagation.ts +199 -0
  102. package/src/model/placement.ts +372 -0
  103. package/src/model/rules.ts +73 -0
  104. package/src/model/types.ts +164 -0
  105. package/src/model/versions.ts +109 -0
  106. package/src/reporting.ts +117 -0
  107. package/src/runner.ts +102 -0
  108. package/src/writer/manifest-writer.ts +111 -0
  109. package/tsconfig.build.json +1 -0
  110. package/tsconfig.json +6 -1
  111. package/dist/constraint-schema.d.ts +0 -1
  112. package/dist/constraint-schema.js +0 -17
  113. package/dist/constraint-schema.js.map +0 -1
  114. package/dist/dependency-checker.d.ts +0 -8
  115. package/dist/dependency-checker.js +0 -40
  116. package/dist/dependency-checker.js.map +0 -1
  117. package/src/constraint-schema.ts +0 -20
  118. package/src/dependency-checker.ts +0 -41
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/collectors/config.ts"],"names":[],"mappings":";;;;;AAaA,gCAYC;AAzBD;;;;;;GAMG;AACH,qCAAmD;AACnD,0DAA6B;AAC7B,gDAAwB;AAIxB,SAAgB,UAAU,CACxB,OAAe,EACf,eAAwB;IAExB,MAAM,QAAQ,GACZ,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACrC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAE/C,IAAI,CAAC,IAAA,oBAAU,EAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAEhD,OAAO,cAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAA0B,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ExpectedWorkspace, PackageExtension, WorkspaceContext } from '../model/types';
2
+ export declare function collectExternalProviderIdents(contexts: WorkspaceContext[], workspaceNames: Set<string>, expectedByLocation?: Map<string, ExpectedWorkspace>): Set<string>;
3
+ export declare function collectExternalMetadata(rootDir: string, packageExtensions: Map<string, PackageExtension>, idents: Set<string>, externalPeerMetadata: Map<string, Map<string, string> | null>, externalTypeMetadata: Map<string, {
4
+ hasBundledTypes: boolean;
5
+ }>): void;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.collectExternalProviderIdents = collectExternalProviderIdents;
7
+ exports.collectExternalMetadata = collectExternalMetadata;
8
+ /**
9
+ * Installed external package metadata collector.
10
+ *
11
+ * Peer and bundled-type metadata are read from installed packages and Yarn
12
+ * packageExtensions. The engine consumes the resulting maps as facts, keeping
13
+ * node_modules access outside the pure model.
14
+ */
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ const package_json_1 = require("../lib/package-json");
17
+ const types_1 = require("../model/types");
18
+ const package_extensions_1 = require("./package-extensions");
19
+ const externalPeersCache = new Map();
20
+ function getExternalRequiredPeers(rootDir, packageExtensions, extIdent) {
21
+ const cacheKey = `${rootDir}:${extIdent}`;
22
+ if (externalPeersCache.has(cacheKey))
23
+ return externalPeersCache.get(cacheKey);
24
+ let peers;
25
+ let meta;
26
+ try {
27
+ const pkg = (0, package_json_1.readPackageJson)(node_path_1.default.join(rootDir, 'node_modules', extIdent));
28
+ peers = { ...pkg.peerDependencies };
29
+ meta = { ...pkg.peerDependenciesMeta };
30
+ }
31
+ catch {
32
+ peers = {};
33
+ meta = {};
34
+ }
35
+ for (const extension of (0, package_extensions_1.getMatchingPackageExtensions)(extIdent, packageExtensions)) {
36
+ peers = { ...peers, ...extension.peerDependencies };
37
+ meta = { ...meta, ...extension.peerDependenciesMeta };
38
+ }
39
+ const required = new Map(Object.entries(peers).filter(([ident]) => !meta[ident]?.optional));
40
+ const value = required.size > 0 ? required : null;
41
+ externalPeersCache.set(cacheKey, value);
42
+ return value;
43
+ }
44
+ function exportsDeclareTypes(value) {
45
+ if (!value || typeof value !== 'object')
46
+ return false;
47
+ if (Array.isArray(value))
48
+ return value.some(exportsDeclareTypes);
49
+ for (const [key, nested] of Object.entries(value)) {
50
+ if ((key === 'types' || key === 'typings') && typeof nested === 'string') {
51
+ return true;
52
+ }
53
+ if (exportsDeclareTypes(nested))
54
+ return true;
55
+ }
56
+ return false;
57
+ }
58
+ function getExternalTypeMetadata(rootDir, extIdent) {
59
+ try {
60
+ const pkg = (0, package_json_1.readPackageJson)(node_path_1.default.join(rootDir, 'node_modules', extIdent));
61
+ return {
62
+ hasBundledTypes: typeof pkg.types === 'string' ||
63
+ typeof pkg.typings === 'string' ||
64
+ exportsDeclareTypes(pkg.exports),
65
+ };
66
+ }
67
+ catch {
68
+ return { hasBundledTypes: false };
69
+ }
70
+ }
71
+ function collectExternalProviderIdents(contexts, workspaceNames, expectedByLocation) {
72
+ const result = new Set();
73
+ const add = (depIdent, range) => {
74
+ if (workspaceNames.has(depIdent) || range?.startsWith('workspace:'))
75
+ return;
76
+ result.add(depIdent);
77
+ };
78
+ for (const ctx of contexts) {
79
+ for (const section of types_1.SECTIONS) {
80
+ for (const [depIdent, range] of Object.entries(ctx.pkg[section] ?? {})) {
81
+ add(depIdent, range);
82
+ }
83
+ }
84
+ for (const depIdent of ctx.sourceUsage.keys())
85
+ add(depIdent);
86
+ for (const depIdent of ctx.dtsImports)
87
+ add(depIdent);
88
+ }
89
+ if (expectedByLocation) {
90
+ for (const expected of expectedByLocation.values()) {
91
+ for (const section of types_1.SECTIONS) {
92
+ for (const [depIdent, range] of expected.sections[section]) {
93
+ add(depIdent, range);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ return result;
99
+ }
100
+ function collectExternalMetadata(rootDir, packageExtensions, idents, externalPeerMetadata, externalTypeMetadata) {
101
+ for (const ident of idents) {
102
+ if (!externalPeerMetadata.has(ident)) {
103
+ externalPeerMetadata.set(ident, getExternalRequiredPeers(rootDir, packageExtensions, ident));
104
+ }
105
+ if (!externalTypeMetadata.has(ident)) {
106
+ externalTypeMetadata.set(ident, getExternalTypeMetadata(rootDir, ident));
107
+ }
108
+ }
109
+ }
110
+ //# sourceMappingURL=external-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-metadata.js","sourceRoot":"","sources":["../../src/collectors/external-metadata.ts"],"names":[],"mappings":";;;;;AA+FA,sEAgCC;AAED,0DAkBC;AAnJD;;;;;;GAMG;AACH,0DAA6B;AAE7B,sDAAsD;AAMtD,0CAA0C;AAE1C,6DAAoE;AAEpE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAsC,CAAC;AAEzE,SAAS,wBAAwB,CAC/B,OAAe,EACf,iBAAgD,EAChD,QAAgB;IAEhB,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC1C,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAE3C,IAAI,KAA6B,CAAC;IAClC,IAAI,IAA4C,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,8BAAe,EAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE1E,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,IAAA,iDAA4B,EAClD,QAAQ,EACR,iBAAiB,CAClB,EAAE,CAAC;QACF,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAClE,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAElD,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEjE,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CACxC,KAAgC,CACjC,EAAE,CAAC;QACF,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,mBAAmB,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAe,EACf,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,8BAAe,EAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE1E,OAAO;YACL,eAAe,EACb,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAC7B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC/B,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC;SACnC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAgB,6BAA6B,CAC3C,QAA4B,EAC5B,cAA2B,EAC3B,kBAAmD;IAEnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,QAAgB,EAAE,KAAc,EAAQ,EAAE;QACrD,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO;QAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,gBAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7D,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,UAAU;YAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,KAAK,MAAM,OAAO,IAAI,gBAAQ,EAAE,CAAC;gBAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3D,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAe,EACf,iBAAgD,EAChD,MAAmB,EACnB,oBAA6D,EAC7D,oBAA+D;IAE/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,oBAAoB,CAAC,GAAG,CACtB,KAAK,EACL,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAC5D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PackageExtension } from '../model/types';
2
+ export declare function loadPackageExtensions(rootDir: string): Map<string, PackageExtension>;
3
+ export declare function getMatchingPackageExtensions(depIdent: string, packageExtensions: Map<string, PackageExtension>): PackageExtension[];
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadPackageExtensions = loadPackageExtensions;
7
+ exports.getMatchingPackageExtensions = getMatchingPackageExtensions;
8
+ /**
9
+ * Yarn packageExtensions collector.
10
+ *
11
+ * Third-party peer metadata corrections are read from `.yarnrc.yml` here. The
12
+ * model receives these corrections as facts and does not parse Yarn config
13
+ * directly.
14
+ */
15
+ const node_fs_1 = require("node:fs");
16
+ const node_path_1 = __importDefault(require("node:path"));
17
+ const yaml_1 = __importDefault(require("yaml"));
18
+ function loadPackageExtensions(rootDir) {
19
+ const filepath = node_path_1.default.join(rootDir, '.yarnrc.yml');
20
+ if (!(0, node_fs_1.existsSync)(filepath))
21
+ return new Map();
22
+ const parsed = yaml_1.default.parse((0, node_fs_1.readFileSync)(filepath, 'utf8'));
23
+ const result = new Map();
24
+ for (const [selector, extension] of Object.entries(parsed.packageExtensions ?? {})) {
25
+ result.set(selector, extension);
26
+ }
27
+ return result;
28
+ }
29
+ function extensionSelectorIdent(selector) {
30
+ const atIndex = selector.lastIndexOf('@');
31
+ if (atIndex <= 0)
32
+ return selector;
33
+ return selector.slice(0, atIndex);
34
+ }
35
+ function getMatchingPackageExtensions(depIdent, packageExtensions) {
36
+ const result = [];
37
+ for (const [selector, extension] of packageExtensions) {
38
+ if (extensionSelectorIdent(selector) === depIdent)
39
+ result.push(extension);
40
+ }
41
+ return result;
42
+ }
43
+ //# sourceMappingURL=package-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-extensions.js","sourceRoot":"","sources":["../../src/collectors/package-extensions.ts"],"names":[],"mappings":";;;;;AAaA,sDAkBC;AASD,oEAWC;AAnDD;;;;;;GAMG;AACH,qCAAmD;AACnD,0DAA6B;AAC7B,gDAAwB;AAIxB,SAAgB,qBAAqB,CACnC,OAAe;IAEf,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,IAAA,oBAAU,EAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE5C,MAAM,MAAM,GAAG,cAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAEvD,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEnD,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAChD,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAC/B,EAAE,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAElC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,iBAAgD;IAEhD,MAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACtD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PackageJson } from '../lib/package-json';
2
+ import type { DependencyRule } from '../model/types';
3
+ export declare function collectTypeProviderPackages(rootDir: string, rootPkg: PackageJson, rules: DependencyRule[]): Set<string>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.collectTypeProviderPackages = collectTypeProviderPackages;
7
+ /**
8
+ * DefinitelyTyped provider collector.
9
+ *
10
+ * The engine needs to know which `@types/*` packages are available for public
11
+ * `.d.ts` promotion. This module gathers that set from installed packages, root
12
+ * devDependencies, and explicit non-wildcard rules.
13
+ */
14
+ const node_fs_1 = require("node:fs");
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ function collectInstalledTypeProviders(rootDir) {
17
+ const result = new Set();
18
+ const typesDir = node_path_1.default.join(rootDir, 'node_modules', '@types');
19
+ try {
20
+ for (const entry of (0, node_fs_1.readdirSync)(typesDir, { withFileTypes: true })) {
21
+ if (entry.isDirectory())
22
+ result.add(`@types/${entry.name}`);
23
+ }
24
+ }
25
+ catch {
26
+ // node_modules may not exist yet; root devDeps and rules still contribute.
27
+ }
28
+ return result;
29
+ }
30
+ function collectTypeProviderPackages(rootDir, rootPkg, rules) {
31
+ const result = collectInstalledTypeProviders(rootDir);
32
+ for (const depIdent of Object.keys(rootPkg.devDependencies ?? {})) {
33
+ if (depIdent.startsWith('@types/'))
34
+ result.add(depIdent);
35
+ }
36
+ for (const rule of rules) {
37
+ const patterns = Array.isArray(rule.match) ? rule.match : [rule.match];
38
+ for (const pattern of patterns) {
39
+ if (pattern.startsWith('@types/') && !pattern.includes('*')) {
40
+ result.add(pattern);
41
+ }
42
+ }
43
+ }
44
+ return result;
45
+ }
46
+ //# sourceMappingURL=type-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-providers.js","sourceRoot":"","sources":["../../src/collectors/type-providers.ts"],"names":[],"mappings":";;;;;AA4BA,kEAsBC;AAlDD;;;;;;GAMG;AACH,qCAAsC;AACtC,0DAA6B;AAK7B,SAAS,6BAA6B,CAAC,OAAe;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,IAAA,qBAAW,EAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,2BAA2B,CACzC,OAAe,EACf,OAAoB,EACpB,KAAuB;IAEvB,MAAM,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAEtD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { WorkspaceContext } from '../model/types';
2
+ export declare function loadWorkspaces(rootDir: string, withDts: boolean): WorkspaceContext[];
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadWorkspaces = loadWorkspaces;
7
+ /**
8
+ * Workspace and usage collector.
9
+ *
10
+ * This module discovers Yarn workspaces, reads their manifests, and attaches
11
+ * source/`.d.ts` import usage facts. It is deliberately outside the engine
12
+ * because it executes Yarn and reads the filesystem.
13
+ */
14
+ const node_child_process_1 = require("node:child_process");
15
+ const node_fs_1 = require("node:fs");
16
+ const node_path_1 = __importDefault(require("node:path"));
17
+ const imports_1 = require("../lib/imports");
18
+ const package_json_1 = require("../lib/package-json");
19
+ const rules_1 = require("../model/rules");
20
+ function collectUsage(workspace, withDts) {
21
+ for (const entry of (0, imports_1.collectSourceImports)(workspace.dir, workspace.pkg)) {
22
+ if (!workspace.sourceUsage.has(entry.packageName)) {
23
+ workspace.sourceUsage.set(entry.packageName, {
24
+ files: new Set(),
25
+ runtimeFiles: new Set(),
26
+ typeOnlyFiles: new Set(),
27
+ });
28
+ }
29
+ const usage = workspace.sourceUsage.get(entry.packageName);
30
+ usage.files.add(entry.file);
31
+ if (entry.isTypeOnly) {
32
+ usage.typeOnlyFiles.add(entry.file);
33
+ }
34
+ else {
35
+ usage.runtimeFiles.add(entry.file);
36
+ }
37
+ }
38
+ const distDir = node_path_1.default.join(workspace.dir, 'dist');
39
+ if (withDts || (0, node_fs_1.existsSync)(distDir)) {
40
+ workspace.dtsImports = (0, imports_1.collectDtsImports)(distDir);
41
+ }
42
+ }
43
+ function loadWorkspaces(rootDir, withDts) {
44
+ const rootPkg = (0, package_json_1.readPackageJson)(rootDir);
45
+ const raw = (0, node_child_process_1.execSync)('yarn workspaces list --json', {
46
+ cwd: rootDir,
47
+ }).toString();
48
+ const listed = raw
49
+ .trim()
50
+ .split('\n')
51
+ .filter(Boolean)
52
+ .map((line) => JSON.parse(line))
53
+ .filter((ws) => ws.location !== '.');
54
+ const root = {
55
+ name: rootPkg.name,
56
+ location: '.',
57
+ dir: rootDir,
58
+ pkg: rootPkg,
59
+ role: undefined,
60
+ isRoot: true,
61
+ sourceUsage: new Map(),
62
+ dtsImports: new Set(),
63
+ hasSrc: false,
64
+ hasDist: false,
65
+ };
66
+ const workspaces = [root];
67
+ for (const ws of listed) {
68
+ const dir = node_path_1.default.join(rootDir, ws.location);
69
+ const pkg = (0, package_json_1.readPackageJson)(dir);
70
+ const role = (0, rules_1.isWorkspaceRole)(pkg.role) ? pkg.role : undefined;
71
+ const ctx = {
72
+ name: ws.name ?? pkg.name,
73
+ location: ws.location,
74
+ dir,
75
+ pkg,
76
+ role,
77
+ isRoot: false,
78
+ sourceUsage: new Map(),
79
+ dtsImports: new Set(),
80
+ hasSrc: (0, node_fs_1.existsSync)(node_path_1.default.join(dir, 'src')),
81
+ hasDist: (0, node_fs_1.existsSync)(node_path_1.default.join(dir, 'dist')),
82
+ };
83
+ collectUsage(ctx, withDts);
84
+ workspaces.push(ctx);
85
+ }
86
+ return workspaces;
87
+ }
88
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/collectors/workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Public dependency-model facade.
3
+ *
4
+ * Historically this file contained the whole implementation. It now keeps the
5
+ * public import path stable while delegating to focused modules: the pure model
6
+ * engine, the filesystem/Yarn runner, and CLI reporting helpers.
7
+ */
8
+ export { deriveDependencyModel } from './model/engine';
9
+ export { runDependencyModel } from './runner';
10
+ export { explainDependency, formatDependencyModelResult } from './reporting';
11
+ export type { DependencyModelConfig, DependencyModelFacts, DependencyModelOptions, DependencyModelOutput, DependencyModelResult, DependencyRule, DependencyViolation, DependencyWarning, ExpectedWorkspace, SectionType, UsageSummary, WorkspaceFacts, WorkspaceRole, } from './model/types';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatDependencyModelResult = exports.explainDependency = exports.runDependencyModel = exports.deriveDependencyModel = void 0;
4
+ /**
5
+ * Public dependency-model facade.
6
+ *
7
+ * Historically this file contained the whole implementation. It now keeps the
8
+ * public import path stable while delegating to focused modules: the pure model
9
+ * engine, the filesystem/Yarn runner, and CLI reporting helpers.
10
+ */
11
+ var engine_1 = require("./model/engine");
12
+ Object.defineProperty(exports, "deriveDependencyModel", { enumerable: true, get: function () { return engine_1.deriveDependencyModel; } });
13
+ var runner_1 = require("./runner");
14
+ Object.defineProperty(exports, "runDependencyModel", { enumerable: true, get: function () { return runner_1.runDependencyModel; } });
15
+ var reporting_1 = require("./reporting");
16
+ Object.defineProperty(exports, "explainDependency", { enumerable: true, get: function () { return reporting_1.explainDependency; } });
17
+ Object.defineProperty(exports, "formatDependencyModelResult", { enumerable: true, get: function () { return reporting_1.formatDependencyModelResult; } });
18
+ //# sourceMappingURL=dependency-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-model.js","sourceRoot":"","sources":["../src/dependency-model.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,yCAAuD;AAA9C,+GAAA,qBAAqB,OAAA;AAC9B,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAC3B,yCAA6E;AAApE,8GAAA,iBAAiB,OAAA;AAAE,wHAAA,2BAA2B,OAAA"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,9 @@
1
- import type { Yarn } from '@yarnpkg/types';
2
- import type { Constraints } from '@yarnpkg/types/lib/yarn';
3
- export declare const createConstraints: (overrideConfig?: Yarn.Config) => (ctx: Constraints.Context) => Promise<void>;
4
- export declare const config: Yarn.Config;
5
- export declare const override: (config: Yarn.Config) => Yarn.Config;
1
+ /**
2
+ * Package public API.
3
+ *
4
+ * Consumers should import from this barrel instead of reaching into the model,
5
+ * runner, or collector internals. The split modules remain implementation
6
+ * details unless explicitly exported here.
7
+ */
8
+ export { deriveDependencyModel, runDependencyModel, formatDependencyModelResult, explainDependency, } from './dependency-model';
9
+ export type { DependencyRule, DependencyModelConfig, DependencyModelOptions, DependencyModelFacts, DependencyModelOutput, DependencyModelResult, DependencyViolation, DependencyWarning, WorkspaceFacts, WorkspaceRole, SectionType, UsageSummary, ExpectedWorkspace, } from './dependency-model';
package/dist/index.js CHANGED
@@ -1,36 +1,16 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.override = exports.config = exports.createConstraints = void 0;
7
- const value_1 = require("@sinclair/typebox/value");
8
- const promises_1 = require("node:fs/promises");
9
- const yaml_1 = __importDefault(require("yaml"));
10
- const constraint_schema_1 = require("./constraint-schema");
11
- const dependency_checker_1 = require("./dependency-checker");
12
- const constraintsManifestPath = process.env.RSDK_YARN_CONSTRAINTS_CFG ?? './.rsdk/.constraints.yml';
13
- const createConstraints = (overrideConfig) => async (ctx) => {
14
- const { Yarn } = ctx;
15
- await (0, promises_1.access)(constraintsManifestPath, promises_1.constants.R_OK);
16
- const constraints = yaml_1.default.parse(await (0, promises_1.readFile)(constraintsManifestPath, 'utf8'));
17
- const isValid = value_1.Value.Check(constraint_schema_1.ConstraintSchema, constraints);
18
- if (!isValid) {
19
- const cause = [...value_1.Value.Errors(constraint_schema_1.ConstraintSchema, constraints)];
20
- throw new Error('Invalid constraints.yml\n' + JSON.stringify(cause, null, 2), {
21
- cause: cause,
22
- });
23
- }
24
- new dependency_checker_1.DependencyChecker(Yarn).enforceConsistentDependenciesAcrossTheProject(constraints);
25
- overrideConfig?.constraints?.(ctx);
26
- };
27
- exports.createConstraints = createConstraints;
28
- exports.config = {
29
- constraints: (0, exports.createConstraints)(),
30
- };
31
- const override = (config) => ({
32
- ...config,
33
- constraints: (0, exports.createConstraints)(config),
34
- });
35
- exports.override = override;
3
+ exports.explainDependency = exports.formatDependencyModelResult = exports.runDependencyModel = exports.deriveDependencyModel = void 0;
4
+ /**
5
+ * Package public API.
6
+ *
7
+ * Consumers should import from this barrel instead of reaching into the model,
8
+ * runner, or collector internals. The split modules remain implementation
9
+ * details unless explicitly exported here.
10
+ */
11
+ var dependency_model_1 = require("./dependency-model");
12
+ Object.defineProperty(exports, "deriveDependencyModel", { enumerable: true, get: function () { return dependency_model_1.deriveDependencyModel; } });
13
+ Object.defineProperty(exports, "runDependencyModel", { enumerable: true, get: function () { return dependency_model_1.runDependencyModel; } });
14
+ Object.defineProperty(exports, "formatDependencyModelResult", { enumerable: true, get: function () { return dependency_model_1.formatDependencyModelResult; } });
15
+ Object.defineProperty(exports, "explainDependency", { enumerable: true, get: function () { return dependency_model_1.explainDependency; } });
36
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAgD;AAGhD,+CAA+D;AAC/D,gDAAwB;AAExB,2DAAuD;AACvD,6DAAyD;AAEzD,MAAM,uBAAuB,GAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,0BAA0B,CAAC;AAE/D,MAAM,iBAAiB,GAC5B,CAAC,cAA4B,EAAE,EAAE,CACjC,KAAK,EAAE,GAAwB,EAAiB,EAAE;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAErB,MAAM,IAAA,iBAAM,EAAC,uBAAuB,EAAE,oBAAS,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,cAAI,CAAC,KAAK,CAC5B,MAAM,IAAA,mBAAQ,EAAC,uBAAuB,EAAE,MAAM,CAAC,CAChD,CAAC;IACF,MAAM,OAAO,GAAG,aAAK,CAAC,KAAK,CAAC,oCAAgB,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,CAAC,GAAG,aAAK,CAAC,MAAM,CAAC,oCAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;QAE/D,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC5D;YACE,KAAK,EAAE,KAAK;SACb,CACF,CAAC;IACJ,CAAC;IACD,IAAI,sCAAiB,CAAC,IAAI,CAAC,CAAC,6CAA6C,CACvE,WAAW,CACZ,CAAC;IACF,cAAc,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC,CAAC;AAxBS,QAAA,iBAAiB,qBAwB1B;AAES,QAAA,MAAM,GAAgB;IACjC,WAAW,EAAE,IAAA,yBAAiB,GAAE;CACjC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,MAAmB,EAAe,EAAE,CAAC,CAAC;IAC7D,GAAG,MAAM;IACT,WAAW,EAAE,IAAA,yBAAiB,EAAC,MAAM,CAAC;CACvC,CAAC,CAAC;AAHU,QAAA,QAAQ,YAGlB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,uDAK4B;AAJ1B,yHAAA,qBAAqB,OAAA;AACrB,sHAAA,kBAAkB,OAAA;AAClB,+HAAA,2BAA2B,OAAA;AAC3B,qHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,9 @@
1
+ import type { PackageJson } from './package-json';
2
+ export interface ImportEntry {
3
+ packageName: string;
4
+ isTypeOnly: boolean;
5
+ file: string;
6
+ }
7
+ export declare function getPackageName(specifier: string): string | null;
8
+ export declare function collectSourceImports(srcDirOrWorkspaceDir: string, pkg?: PackageJson): ImportEntry[];
9
+ export declare function collectDtsImports(distDir: string): Set<string>;