@monorepolint/rules 0.5.0-alpha.82 → 0.5.0-alpha.85

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 (106) hide show
  1. package/lib/__tests__/alphabeticalScripts.spec.js +22 -24
  2. package/lib/__tests__/alphabeticalScripts.spec.js.map +1 -1
  3. package/lib/__tests__/bannedDependencies.spec.js +67 -9
  4. package/lib/__tests__/bannedDependencies.spec.js.map +1 -1
  5. package/lib/__tests__/consistentDependencies.spec.js +11 -10
  6. package/lib/__tests__/consistentDependencies.spec.js.map +1 -1
  7. package/lib/__tests__/consistentVersions.spec.js +23 -22
  8. package/lib/__tests__/consistentVersions.spec.js.map +1 -1
  9. package/lib/__tests__/fileContents.spec.js +25 -32
  10. package/lib/__tests__/fileContents.spec.js.map +1 -1
  11. package/lib/__tests__/mustSatisfyPeerDependencies.spec.js +49 -48
  12. package/lib/__tests__/mustSatisfyPeerDependencies.spec.js.map +1 -1
  13. package/lib/__tests__/nestedWorkspaces.spec.js +10 -8
  14. package/lib/__tests__/nestedWorkspaces.spec.js.map +1 -1
  15. package/lib/__tests__/packageEntry.spec.js +47 -40
  16. package/lib/__tests__/packageEntry.spec.js.map +1 -1
  17. package/lib/__tests__/packageOrder.spec.js +34 -33
  18. package/lib/__tests__/packageOrder.spec.js.map +1 -1
  19. package/lib/__tests__/packageScript.spec.js +50 -51
  20. package/lib/__tests__/packageScript.spec.js.map +1 -1
  21. package/lib/__tests__/requireDependency.spec.js +12 -11
  22. package/lib/__tests__/requireDependency.spec.js.map +1 -1
  23. package/lib/__tests__/utils.d.ts +68 -1
  24. package/lib/__tests__/utils.d.ts.map +1 -1
  25. package/lib/__tests__/utils.js +70 -21
  26. package/lib/__tests__/utils.js.map +1 -1
  27. package/lib/alphabeticalDependencies.js +3 -3
  28. package/lib/alphabeticalDependencies.js.map +1 -1
  29. package/lib/alphabeticalScripts.js +1 -1
  30. package/lib/alphabeticalScripts.js.map +1 -1
  31. package/lib/bannedDependencies.d.ts +21 -12
  32. package/lib/bannedDependencies.d.ts.map +1 -1
  33. package/lib/bannedDependencies.js +86 -57
  34. package/lib/bannedDependencies.js.map +1 -1
  35. package/lib/consistentDependencies.d.ts +6 -6
  36. package/lib/consistentDependencies.d.ts.map +1 -1
  37. package/lib/consistentDependencies.js +2 -3
  38. package/lib/consistentDependencies.js.map +1 -1
  39. package/lib/consistentVersions.d.ts +1 -1
  40. package/lib/consistentVersions.js +8 -8
  41. package/lib/consistentVersions.js.map +1 -1
  42. package/lib/fileContents.d.ts +8 -8
  43. package/lib/fileContents.d.ts.map +1 -1
  44. package/lib/fileContents.js +32 -31
  45. package/lib/fileContents.js.map +1 -1
  46. package/lib/index.js +1 -0
  47. package/lib/index.js.map +1 -1
  48. package/lib/mustSatisfyPeerDependencies.d.ts +31 -31
  49. package/lib/mustSatisfyPeerDependencies.d.ts.map +1 -1
  50. package/lib/mustSatisfyPeerDependencies.js +18 -16
  51. package/lib/mustSatisfyPeerDependencies.js.map +1 -1
  52. package/lib/packageEntry.d.ts +11 -20
  53. package/lib/packageEntry.d.ts.map +1 -1
  54. package/lib/packageEntry.js +15 -7
  55. package/lib/packageEntry.js.map +1 -1
  56. package/lib/packageOrder.d.ts +3 -3
  57. package/lib/packageOrder.d.ts.map +1 -1
  58. package/lib/packageOrder.js +2 -3
  59. package/lib/packageOrder.js.map +1 -1
  60. package/lib/packageScript.d.ts +10 -10
  61. package/lib/packageScript.js +4 -4
  62. package/lib/packageScript.js.map +1 -1
  63. package/lib/requireDependency.d.ts +6 -6
  64. package/lib/requireDependency.d.ts.map +1 -1
  65. package/lib/requireDependency.js +3 -3
  66. package/lib/requireDependency.js.map +1 -1
  67. package/lib/standardTsconfig.d.ts +10 -10
  68. package/lib/standardTsconfig.d.ts.map +1 -1
  69. package/lib/standardTsconfig.js +26 -21
  70. package/lib/standardTsconfig.js.map +1 -1
  71. package/lib/util/checkAlpha.d.ts +1 -0
  72. package/lib/util/checkAlpha.d.ts.map +1 -1
  73. package/lib/util/checkAlpha.js +8 -5
  74. package/lib/util/checkAlpha.js.map +1 -1
  75. package/lib/util/makeDirectory.js +2 -2
  76. package/lib/util/makeDirectory.js.map +1 -1
  77. package/lib/util/packageDependencyGraphService.d.ts +3 -3
  78. package/lib/util/packageDependencyGraphService.d.ts.map +1 -1
  79. package/lib/util/packageDependencyGraphService.js +3 -3
  80. package/lib/util/packageDependencyGraphService.js.map +1 -1
  81. package/package.json +8 -9
  82. package/src/__tests__/alphabeticalScripts.spec.ts +27 -28
  83. package/src/__tests__/bannedDependencies.spec.ts +80 -6
  84. package/src/__tests__/consistentDependencies.spec.ts +11 -6
  85. package/src/__tests__/consistentVersions.spec.ts +32 -27
  86. package/src/__tests__/fileContents.spec.ts +32 -40
  87. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +52 -47
  88. package/src/__tests__/nestedWorkspaces.spec.ts +12 -6
  89. package/src/__tests__/packageEntry.spec.ts +64 -45
  90. package/src/__tests__/packageOrder.spec.ts +46 -40
  91. package/src/__tests__/packageScript.spec.ts +62 -54
  92. package/src/__tests__/requireDependency.spec.ts +11 -6
  93. package/src/__tests__/utils.ts +109 -19
  94. package/src/bannedDependencies.ts +106 -74
  95. package/src/consistentDependencies.ts +1 -2
  96. package/src/consistentVersions.ts +2 -2
  97. package/src/fileContents.ts +32 -30
  98. package/src/mustSatisfyPeerDependencies.ts +6 -2
  99. package/src/packageEntry.ts +13 -5
  100. package/src/packageOrder.ts +1 -2
  101. package/src/packageScript.ts +2 -2
  102. package/src/requireDependency.ts +2 -2
  103. package/src/standardTsconfig.ts +22 -19
  104. package/src/util/checkAlpha.ts +6 -3
  105. package/src/util/packageDependencyGraphService.ts +8 -5
  106. package/tsconfig.tsbuildinfo +1 -6233
@@ -1 +1 @@
1
- {"version":3,"file":"requireDependency.spec.js","sourceRoot":"","sources":["../../src/__tests__/requireDependency.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requireDependency.spec.js","sourceRoot":"","sources":["../../src/__tests__/requireDependency.spec.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6CAAsD;AACtD,+CAAiD;AACjD,2BAAiD;AACjD,mDAA6B;AAC7B,iDAA2B;AAC3B,4DAAyD;AACzD,yDAAiE;AACjE,mCAAuC;AAEvC,MAAM,YAAY,GAAG,IAAA,oBAAY,EAAC;IAChC,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,GAAG;KACT;CACF,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,4BAA4B,GAAG,IAAA,oBAAY,EAAC;IAChD,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAA,oBAAY,EAAC;IAC9C,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,eAAe,EAAE;QACf,GAAG,EAAE,OAAO;KACb;CACF,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAA,oBAAY,EAAC;IAC9C,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,eAAe,EAAE;QACf,GAAG,EAAE,QAAQ;KACd;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG;IACd,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,eAAe,EAAE;QACf,GAAG,EAAE,QAAQ;KACd;CACO,CAAC;AAEX,MAAM,cAAc,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;AAE7C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IAEzB,IAAI,WAAW,GAAsB,EAAE,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,UAAU,EAAE,CAAC;SACd;QACD,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,SAAS,aAAa,CAAC,EAAE,GAAG,EAAoB;QAC9C,MAAM,GAAG,GAAkB,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,IAAI,uBAAgB,CAC3C,GAAG,CAAC,IAAI,EACR;YACE,KAAK,EAAE,EAAE;YACT,GAAG;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;SACb,EACD,IAAI,kBAAU,EAAE,CACjB,CAAC;QAEF,SAAS,WAAW,CAAC,CAAS;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACpD,qCAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;QAED,SAAS,OAAO,CAAC,QAAgB,EAAE,OAAe;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,IAAA,wCAAwB,EAAC,OAAO,CAAC,CAAC;YAClC,IAAA,kBAAa,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,SAAS,QAAQ,CAAC,QAAgB;YAChC,OAAO,IAAA,iBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO,CAAC,8BAA8B,EAAE,uBAAuB,CAAC,CAAC;QACjE,OAAO,CAAC,iCAAiC,EAAE,4BAA4B,CAAC,CAAC;QACzE,OAAO,CAAC,+BAA+B,EAAE,0BAA0B,CAAC,CAAC;QACrE,OAAO,CAAC,+BAA+B,EAAE,0BAA0B,CAAC,CAAC;QAErE,qCAAiB,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO,CAAC,iCAAiC,EAAE,4BAA4B,CAAC,CAAC;QACzE,OAAO,CAAC,+BAA+B,EAAE,0BAA0B,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,eAAe,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACpE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,6 +4,73 @@
4
4
  * Licensed under the MIT license. See LICENSE file in the project root for details.
5
5
  *
6
6
  */
7
- export declare function createMockFiles(): Map<string, string>;
7
+ /// <reference types="jest" />
8
+ import { AddErrorOptions, WorkspaceContext } from "@monorepolint/core";
9
+ import { Host } from "@monorepolint/utils";
8
10
  export declare function jsonToString(obj: {}): string;
11
+ interface TestingWorkspaceOpts {
12
+ host: Host;
13
+ rootProjectName?: string;
14
+ fixFlag: boolean;
15
+ }
16
+ export declare function createTestingWorkspace(inboundOpts: TestingWorkspaceOpts): Promise<DefaultTestingWorkspace>;
17
+ interface RealTestingWorkspaceOpts extends Required<TestingWorkspaceOpts> {
18
+ rootPath: string;
19
+ }
20
+ export interface TestingWorkspace {
21
+ /**
22
+ * Adds a utf8 file to `packageName` with `relativePath` to the package directory.
23
+ *
24
+ * @param packageName The child package to add to or undefined for root package
25
+ * @param filePath The path of the file to be written. Will be prepended with package dir
26
+ * @param contents the contents to be written (as utf8)
27
+ */
28
+ writeFile(filePath: string, contents: string): void;
29
+ writeJsonFile(filePath: string, json: object): void;
30
+ addProject(name: string, fields: object): void;
31
+ getFilePath(filePath: string): string;
32
+ readFile(filePath: string): string;
33
+ /**
34
+ * Helper method for matching failures via jest `expect().toMatchObject
35
+ *
36
+ */
37
+ failureMatcher(opts: {
38
+ file: string;
39
+ message: string;
40
+ hasFixer: boolean;
41
+ }): any;
42
+ readonly context: WorkspaceContext;
43
+ }
44
+ declare class DefaultTestingWorkspace implements TestingWorkspace {
45
+ private opts;
46
+ readonly context: WorkspaceContext;
47
+ constructor(opts: RealTestingWorkspaceOpts, context: WorkspaceContext);
48
+ addProject(name: string, fields: object): void;
49
+ writeJsonFile(filePath: string, json: object): void;
50
+ /**
51
+ * Adds a utf8 file to `packageName` with `relativePath` to the package directory.
52
+ *
53
+ * @param packageName The child package to add to or undefined for root package
54
+ * @param filePath The path of the file to be written. Will be prepended with package dir
55
+ * @param contents the contents to be written (as utf8)
56
+ */
57
+ writeFile(filePath: string, contents: string): void;
58
+ getFilePath(filePath: string): string;
59
+ readFile(filePath: string): string;
60
+ failureMatcher(opts: {
61
+ file: string;
62
+ message: string;
63
+ hasFixer: boolean;
64
+ }): {
65
+ fixer?: any;
66
+ file: string;
67
+ message: string;
68
+ };
69
+ }
70
+ export declare type AddErrorSpy = jest.SpyInstance<void, [AddErrorOptions]>;
71
+ export declare const HOST_FACTORIES: Array<{
72
+ name: string;
73
+ make: () => Host;
74
+ }>;
75
+ export {};
9
76
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/__tests__/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAgB,eAAe,wBAuB9B;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,EAAE,UAEnC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/__tests__/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAe,IAAI,EAAc,MAAM,qBAAqB,CAAC;AAIpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,EAAE,UAEnC;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,oBAAoB,oCAuB7E;AAED,UAAU,wBAAyB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IACvE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAEnC;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,GAAG,CAAC;IAEhF,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC;AAED,cAAM,uBAAwB,YAAW,gBAAgB;IAC3C,OAAO,CAAC,IAAI;aAA4C,OAAO,EAAE,gBAAgB;gBAAzE,IAAI,EAAE,wBAAwB,EAAkB,OAAO,EAAE,gBAAgB;IAE7F,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOvC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI5C;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM5C,WAAW,CAAC,QAAQ,EAAE,MAAM;IAI5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;;;;;CAO1E;AAED,oBAAY,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAEpE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAGpE,CAAC"}
@@ -6,29 +6,78 @@
6
6
  *
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.jsonToString = exports.createMockFiles = void 0;
10
- function createMockFiles() {
11
- const mockFiles = new Map();
12
- jest.mock("fs", () => ({
13
- writeFileSync: function writeFileSync(filePath, contents) {
14
- mockFiles.set(filePath, contents);
15
- },
16
- // tslint:disable-next-line: variable-name
17
- readFileSync: function readFileSync(filePath, _contentType) {
18
- return mockFiles.get(filePath);
19
- },
20
- existsSync: function existsSync(filePath) {
21
- return mockFiles.has(filePath);
22
- },
23
- mkdirSync: function mkdirSync(directoryPath) {
24
- return mockFiles.set(directoryPath, "");
25
- },
26
- }));
27
- return mockFiles;
28
- }
29
- exports.createMockFiles = createMockFiles;
9
+ exports.HOST_FACTORIES = exports.createTestingWorkspace = exports.jsonToString = void 0;
10
+ const tslib_1 = require("tslib");
11
+ const core_1 = require("@monorepolint/core");
12
+ const utils_1 = require("@monorepolint/utils");
13
+ const path = tslib_1.__importStar(require("path"));
14
+ const tmp = tslib_1.__importStar(require("tmp"));
30
15
  function jsonToString(obj) {
31
16
  return JSON.stringify(obj, undefined, 2) + "\n";
32
17
  }
33
18
  exports.jsonToString = jsonToString;
19
+ async function createTestingWorkspace(inboundOpts) {
20
+ var _a;
21
+ tmp.setGracefulCleanup();
22
+ const tmpdir = tmp.dirSync();
23
+ const opts = {
24
+ ...inboundOpts,
25
+ rootProjectName: (_a = inboundOpts.rootProjectName) !== null && _a !== void 0 ? _a : "rootProject",
26
+ };
27
+ const rootPath = tmpdir.name;
28
+ opts.host.mkdir(rootPath, { recursive: true });
29
+ opts.host.writeJson(path.join(rootPath, "package.json"), {
30
+ name: opts.rootProjectName,
31
+ workspaces: {
32
+ packages: ["packages/*"],
33
+ },
34
+ });
35
+ await opts.host.flush();
36
+ return new DefaultTestingWorkspace({ ...opts, rootPath }, new core_1.WorkspaceContext(rootPath, { fix: opts.fixFlag, rules: [] }, opts.host));
37
+ }
38
+ exports.createTestingWorkspace = createTestingWorkspace;
39
+ class DefaultTestingWorkspace {
40
+ constructor(opts, context) {
41
+ this.opts = opts;
42
+ this.context = context;
43
+ }
44
+ addProject(name, fields) {
45
+ this.writeJsonFile(path.join("packages", name, "package.json"), {
46
+ name,
47
+ ...fields,
48
+ });
49
+ }
50
+ writeJsonFile(filePath, json) {
51
+ this.writeFile(filePath, JSON.stringify(json, undefined, 2));
52
+ }
53
+ /**
54
+ * Adds a utf8 file to `packageName` with `relativePath` to the package directory.
55
+ *
56
+ * @param packageName The child package to add to or undefined for root package
57
+ * @param filePath The path of the file to be written. Will be prepended with package dir
58
+ * @param contents the contents to be written (as utf8)
59
+ */
60
+ writeFile(filePath, contents) {
61
+ const fullFilePath = this.getFilePath(filePath);
62
+ this.opts.host.mkdir(path.dirname(fullFilePath), { recursive: true });
63
+ this.opts.host.writeFile(fullFilePath, contents, { encoding: "utf-8" });
64
+ }
65
+ getFilePath(filePath) {
66
+ return path.join(this.opts.rootPath, filePath);
67
+ }
68
+ readFile(filePath) {
69
+ return this.opts.host.readFile(this.getFilePath(filePath), { encoding: "utf-8" });
70
+ }
71
+ failureMatcher(opts) {
72
+ return {
73
+ file: this.getFilePath(opts.file),
74
+ message: opts.message,
75
+ ...(opts.hasFixer ? { fixer: expect.any(Function) } : {}),
76
+ };
77
+ }
78
+ }
79
+ exports.HOST_FACTORIES = [
80
+ { name: "SimpleHost", make: () => new utils_1.SimpleHost() },
81
+ { name: "CachingHost", make: () => new utils_1.CachingHost() },
82
+ ];
34
83
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/__tests__/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAgB,eAAe;IAC7B,MAAM,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEjD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACrB,aAAa,EAAE,SAAS,aAAa,CAAC,QAAgB,EAAE,QAAgB;YACtE,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,0CAA0C;QAC1C,YAAY,EAAE,SAAS,YAAY,CAAC,QAAgB,EAAE,YAAoB;YACxE,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,UAAU,EAAE,SAAS,UAAU,CAAC,QAAgB;YAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,SAAS,EAAE,SAAS,SAAS,CAAC,aAAqB;YACjD,OAAO,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAvBD,0CAuBC;AAED,SAAgB,YAAY,CAAC,GAAO;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAClD,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/__tests__/utils.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ const checkAlpha_1 = require("./util/checkAlpha");
13
13
  const Options = r.Undefined;
14
14
  exports.alphabeticalDependencies = {
15
15
  check: function expectAlphabeticalDependencies(context) {
16
- checkAlpha_1.checkAlpha(context, "dependencies");
17
- checkAlpha_1.checkAlpha(context, "devDependencies");
18
- checkAlpha_1.checkAlpha(context, "peerDependencies");
16
+ (0, checkAlpha_1.checkAlpha)(context, "dependencies");
17
+ (0, checkAlpha_1.checkAlpha)(context, "devDependencies");
18
+ (0, checkAlpha_1.checkAlpha)(context, "peerDependencies");
19
19
  },
20
20
  optionsRuntype: Options,
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"alphabeticalDependencies.js","sourceRoot":"","sources":["../src/alphabeticalDependencies.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,oDAA8B;AAC9B,kDAA+C;AAE/C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAEf,QAAA,wBAAwB,GAA+B;IAClE,KAAK,EAAE,SAAS,8BAA8B,CAAC,OAAgB;QAC7D,uBAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACpC,uBAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACvC,uBAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE,OAAO;CACxB,CAAC"}
1
+ {"version":3,"file":"alphabeticalDependencies.js","sourceRoot":"","sources":["../src/alphabeticalDependencies.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,oDAA8B;AAC9B,kDAA+C;AAE/C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAEf,QAAA,wBAAwB,GAA+B;IAClE,KAAK,EAAE,SAAS,8BAA8B,CAAC,OAAgB;QAC7D,IAAA,uBAAU,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACpC,IAAA,uBAAU,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACvC,IAAA,uBAAU,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE,OAAO;CACxB,CAAC"}
@@ -13,7 +13,7 @@ const checkAlpha_1 = require("./util/checkAlpha");
13
13
  const Options = r.Undefined;
14
14
  exports.alphabeticalScripts = {
15
15
  check: function expectAlphabeticalScripts(context) {
16
- checkAlpha_1.checkAlpha(context, "scripts");
16
+ (0, checkAlpha_1.checkAlpha)(context, "scripts");
17
17
  },
18
18
  optionsRuntype: Options,
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"alphabeticalScripts.js","sourceRoot":"","sources":["../src/alphabeticalScripts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,oDAA8B;AAC9B,kDAA+C;AAE/C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAEf,QAAA,mBAAmB,GAA+B;IAC7D,KAAK,EAAE,SAAS,yBAAyB,CAAC,OAAgB;QACxD,uBAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,OAAO;CACxB,CAAC"}
1
+ {"version":3,"file":"alphabeticalScripts.js","sourceRoot":"","sources":["../src/alphabeticalScripts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,oDAA8B;AAC9B,kDAA+C;AAE/C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAEf,QAAA,mBAAmB,GAA+B;IAC7D,KAAK,EAAE,SAAS,yBAAyB,CAAC,OAAgB;QACxD,IAAA,uBAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,OAAO;CACxB,CAAC"}
@@ -6,19 +6,28 @@
6
6
  */
7
7
  import { RuleModule } from "@monorepolint/core";
8
8
  import * as r from "runtypes";
9
- declare const Options: r.Union3<r.Intersect2<r.Record<{
10
- bannedDependencies: r.Array<r.String, false>;
11
- }, false>, r.Part<{
12
- bannedTransitiveDependencies: r.Literal<undefined>;
13
- }>>, r.Intersect2<r.Record<{
9
+ declare const Options: r.Union<[r.Record<{
10
+ bannedDependencies: r.Union<[r.Array<r.String, false>, r.Record<{
11
+ glob: r.Optional<r.Array<r.String, false>>;
12
+ exact: r.Optional<r.Array<r.String, false>>;
13
+ }, false>]>;
14
+ bannedTransitiveDependencies: r.Optional<r.Literal<undefined>>;
15
+ }, false>, r.Record<{
16
+ bannedDependencies: r.Optional<r.Union<[r.Array<r.String, false>, r.Record<{
17
+ glob: r.Optional<r.Array<r.String, false>>;
18
+ exact: r.Optional<r.Array<r.String, false>>;
19
+ }, false>]>>;
14
20
  bannedTransitiveDependencies: r.Array<r.String, false>;
15
- }, false>, r.Part<{
16
- bannedDependencies: r.Literal<undefined>;
17
- }>>, r.Record<{
18
- bannedDependencies: r.Array<r.String, false>;
19
- bannedTransitiveDependencies: r.Array<r.String, false>;
20
- }, false>>;
21
+ }, false>, r.Record<{
22
+ bannedDependencies: r.Optional<r.Union<[r.Array<r.String, false>, r.Record<{
23
+ glob: r.Optional<r.Array<r.String, false>>;
24
+ exact: r.Optional<r.Array<r.String, false>>;
25
+ }, false>]>>;
26
+ bannedTransitiveDependencies: r.Optional<r.Array<r.String, false>>;
27
+ }, false>]>;
21
28
  export declare type Options = r.Static<typeof Options>;
22
- export declare const bannedDependencies: RuleModule<typeof Options>;
29
+ export declare const bannedDependencies: RuleModule<typeof Options> & {
30
+ printStats: () => void;
31
+ };
23
32
  export {};
24
33
  //# sourceMappingURL=bannedDependencies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bannedDependencies.d.ts","sourceRoot":"","sources":["../src/bannedDependencies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAG9B,QAAA,MAAM,OAAO;;;;;;;;;;;UAuBZ,CAAC;AAEF,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAE/C,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,OAAO,OAAO,CAgBzD,CAAC"}
1
+ {"version":3,"file":"bannedDependencies.d.ts","sourceRoot":"","sources":["../src/bannedDependencies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAa9B,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;WAeZ,CAAC;AAEF,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAU/C,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,GAAG;IAC5D,UAAU,EAAE,MAAM,IAAI,CAAC;CA8DxB,CAAC"}
@@ -9,81 +9,110 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.bannedDependencies = void 0;
10
10
  const tslib_1 = require("tslib");
11
11
  const utils_1 = require("@monorepolint/utils");
12
- const jest_diff_1 = tslib_1.__importDefault(require("jest-diff"));
13
- const minimatch_1 = tslib_1.__importDefault(require("minimatch"));
12
+ const utils_2 = require("@monorepolint/utils");
14
13
  const path_1 = tslib_1.__importDefault(require("path"));
15
14
  const r = tslib_1.__importStar(require("runtypes"));
16
15
  const packageDependencyGraphService_1 = require("./util/packageDependencyGraphService");
17
- const Options = r.Union(r
18
- .Record({
19
- bannedDependencies: r.Array(r.String),
20
- })
21
- .And(r.Partial({
22
- bannedTransitiveDependencies: r.Undefined,
23
- })), r
24
- .Record({
25
- bannedTransitiveDependencies: r.Array(r.String),
26
- })
27
- .And(r.Partial({
28
- bannedDependencies: r.Undefined,
29
- })), r.Record({
30
- bannedDependencies: r.Array(r.String),
16
+ // FIXME: This rule is messed. bannedTransitiveDependencies doesnt glob
17
+ const bannedDepGlobsField = r.Union(r.Array(r.String), r.Record({
18
+ glob: r.Array(r.String).optional(),
19
+ exact: r.Array(r.String).optional(),
20
+ }));
21
+ const Options = r.Union(r.Record({
22
+ bannedDependencies: bannedDepGlobsField,
23
+ bannedTransitiveDependencies: r.Undefined.optional(),
24
+ }), r.Record({
25
+ bannedDependencies: bannedDepGlobsField.optional(),
31
26
  bannedTransitiveDependencies: r.Array(r.String),
27
+ }), r.Record({
28
+ bannedDependencies: bannedDepGlobsField.optional(),
29
+ bannedTransitiveDependencies: r.Array(r.String).optional(),
32
30
  }));
31
+ /**
32
+ * We use this locally to avoid making a billion sets. Because check is called once per package
33
+ * (with the exact same config object reference) we can save quite a bit of time by reusing this cache.
34
+ */
35
+ const setCache = new Map();
36
+ const aggregateTiming = new utils_2.AggregateTiming(":bannedDependencies stats");
33
37
  exports.bannedDependencies = {
34
- check: function expectAllowedDependencies(context, opts) {
35
- // tslint:disable-next-line:no-shadowed-variable
36
- const { bannedDependencies, bannedTransitiveDependencies } = opts;
37
- if (bannedDependencies) {
38
- checkBanned(context, bannedDependencies, "dependencies");
39
- checkBanned(context, bannedDependencies, "devDependencies");
40
- checkBanned(context, bannedDependencies, "peerDependencies");
38
+ check: function expectAllowedDependencies(context, opts, extra) {
39
+ var _a;
40
+ aggregateTiming.start((_a = extra === null || extra === void 0 ? void 0 : extra.id) !== null && _a !== void 0 ? _a : "unknown id");
41
+ const packageJson = context.getPackageJson();
42
+ const packagePath = context.getPackageJsonPath();
43
+ const curDeps = packageJson.dependencies && Object.keys(packageJson.dependencies);
44
+ const curDevDeps = packageJson.devDependencies && Object.keys(packageJson.devDependencies);
45
+ const curPeerDeps = packageJson.peerDependencies && Object.keys(packageJson.peerDependencies);
46
+ const { bannedDependencies: banned, bannedTransitiveDependencies: transitives } = opts;
47
+ const globs = banned && (Array.isArray(banned) ? banned : banned.glob);
48
+ const exacts = banned && (Array.isArray(banned) ? undefined : banned.exact);
49
+ const violations = new Set();
50
+ if (globs) {
51
+ if (curDeps)
52
+ populateProblemsGlobs(globs, curDeps, violations);
53
+ if (curDevDeps)
54
+ populateProblemsGlobs(globs, curDevDeps, violations);
55
+ if (curPeerDeps)
56
+ populateProblemsGlobs(globs, curPeerDeps, violations);
57
+ }
58
+ if (exacts) {
59
+ let set = setCache.get(exacts);
60
+ if (set === undefined) {
61
+ set = new Set(exacts);
62
+ setCache.set(exacts, set);
63
+ }
64
+ if (curDeps)
65
+ populateProblemsExact(set, curDeps, violations);
66
+ if (curDevDeps)
67
+ populateProblemsExact(set, curDevDeps, violations);
68
+ if (curPeerDeps)
69
+ populateProblemsExact(set, curPeerDeps, violations);
70
+ }
71
+ if (violations.size > 0) {
72
+ context.addError({
73
+ file: packagePath,
74
+ message: `Found ${violations.size} banned dependencies of package.json:\n\t` +
75
+ Array.from(violations)
76
+ .map((v) => `'${v}'`)
77
+ .join(", "),
78
+ });
41
79
  }
42
- if (bannedTransitiveDependencies) {
43
- checkTransitives(context, bannedTransitiveDependencies);
80
+ if (transitives) {
81
+ let set = setCache.get(transitives);
82
+ if (set === undefined) {
83
+ set = new Set(transitives);
84
+ setCache.set(transitives, set);
85
+ }
86
+ checkTransitives(context, set);
44
87
  }
88
+ aggregateTiming.stop();
45
89
  },
46
90
  optionsRuntype: Options,
91
+ printStats: () => {
92
+ aggregateTiming.printResults();
93
+ },
47
94
  };
48
- function checkBanned(context,
49
- // tslint:disable-next-line:no-shadowed-variable
50
- bannedDependencies, block) {
51
- const packageJson = context.getPackageJson();
52
- const packagePath = context.getPackageJsonPath();
53
- const dependencies = packageJson[block];
54
- if (dependencies === undefined) {
55
- return;
56
- }
57
- const newPackageJson = { ...packageJson };
58
- const violations = [];
59
- for (const dependency of Object.keys(dependencies)) {
60
- for (const bannedDependency of bannedDependencies) {
61
- if (minimatch_1.default(dependency, bannedDependency)) {
62
- violations.push(dependency);
63
- delete newPackageJson[block][dependency];
64
- }
95
+ function populateProblemsExact(banned, dependencies, violations) {
96
+ for (const dependency of dependencies) {
97
+ if (banned.has(dependency)) {
98
+ violations.add(dependency);
65
99
  }
66
100
  }
67
- if (violations.length > 0) {
68
- context.addError({
69
- file: packagePath,
70
- message: `Found ${violations.length} banned dependencies in '${block}' block of package.json:\n\t` +
71
- violations.map((v) => `'${v}'`).join(", "),
72
- longMessage: jest_diff_1.default(newPackageJson[block], dependencies, { expand: true }),
73
- fixer: () => {
74
- utils_1.writeJson(packagePath, newPackageJson);
75
- },
76
- });
101
+ }
102
+ function populateProblemsGlobs(bannedDependencyGlobs, dependencies, violations) {
103
+ for (const dependency of dependencies) {
104
+ if ((0, utils_1.matchesAnyGlob)(dependency, bannedDependencyGlobs)) {
105
+ violations.add(dependency);
106
+ }
77
107
  }
78
108
  }
79
- function checkTransitives(context,
80
- // tslint:disable-next-line: no-shadowed-variable
81
- bannedDependencies) {
109
+ // This function is slow. God help you if you use this on a big repo
110
+ function checkTransitives(context, banned) {
82
111
  const graphService = new packageDependencyGraphService_1.PackageDependencyGraphService();
83
- const root = graphService.buildDependencyGraph(path_1.default.resolve(context.getPackageJsonPath()));
112
+ const root = graphService.buildDependencyGraph(path_1.default.resolve(context.getPackageJsonPath()), context.host);
84
113
  for (const { dependencies, importPath } of graphService.traverse(root)) {
85
114
  for (const [dependency] of dependencies) {
86
- if (bannedDependencies.includes(dependency)) {
115
+ if (banned.has(dependency)) {
87
116
  // Remove the starting package since it's obvious in CLI output.
88
117
  const [, ...importPathWithoutRoot] = importPath;
89
118
  const pathing = [...importPathWithoutRoot.map(nameOrPackageJsonPath), dependency].join(" -> ");
@@ -1 +1 @@
1
- {"version":3,"file":"bannedDependencies.js","sourceRoot":"","sources":["../src/bannedDependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bannedDependencies.js","sourceRoot":"","sources":["../src/bannedDependencies.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,12 @@
6
6
  */
7
7
  import { RuleModule } from "@monorepolint/core";
8
8
  import * as r from "runtypes";
9
- declare const Options: r.Union2<r.Record<{
10
- ignoredDependencies: r.Union2<r.Array<r.String, false>, r.Literal<undefined>>;
11
- }, false>, r.Literal<undefined>>;
9
+ declare const Options: r.Union<[r.Record<{
10
+ ignoredDependencies: r.Union<[r.Array<r.String, false>, r.Literal<undefined>]>;
11
+ }, false>, r.Literal<undefined>]>;
12
12
  export declare type Options = r.Static<typeof Options>;
13
- export declare const consistentDependencies: RuleModule<r.Union2<r.Record<{
14
- ignoredDependencies: r.Union2<r.Array<r.String, false>, r.Literal<undefined>>;
15
- }, false>, r.Literal<undefined>>>;
13
+ export declare const consistentDependencies: RuleModule<r.Union<[r.Record<{
14
+ ignoredDependencies: r.Union<[r.Array<r.String, false>, r.Literal<undefined>]>;
15
+ }, false>, r.Literal<undefined>]>>;
16
16
  export {};
17
17
  //# sourceMappingURL=consistentDependencies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consistentDependencies.d.ts","sourceRoot":"","sources":["../src/consistentDependencies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,QAAA,MAAM,OAAO;;gCAIK,CAAC;AACnB,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAI/C,eAAO,MAAM,sBAAsB;;iCAOJ,CAAC"}
1
+ {"version":3,"file":"consistentDependencies.d.ts","sourceRoot":"","sources":["../src/consistentDependencies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,QAAA,MAAM,OAAO;;iCAIK,CAAC;AACnB,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAI/C,eAAO,MAAM,sBAAsB;;kCAOJ,CAAC"}
@@ -8,7 +8,6 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.consistentDependencies = void 0;
10
10
  const tslib_1 = require("tslib");
11
- const utils_1 = require("@monorepolint/utils");
12
11
  const jest_diff_1 = tslib_1.__importDefault(require("jest-diff"));
13
12
  const r = tslib_1.__importStar(require("runtypes"));
14
13
  const Options = r
@@ -47,11 +46,11 @@ function checkDeps(context, args, block) {
47
46
  context.addError({
48
47
  file: packagePath,
49
48
  message: `Inconsistent ${block} with root in package.json`,
50
- longMessage: jest_diff_1.default(expectedDependencies, dependencies, { expand: true }),
49
+ longMessage: (0, jest_diff_1.default)(expectedDependencies, dependencies, { expand: true }),
51
50
  fixer: () => {
52
51
  const newPackageJson = { ...packageJson };
53
52
  newPackageJson[block] = expectedDependencies;
54
- utils_1.writeJson(packagePath, newPackageJson);
53
+ context.host.writeJson(packagePath, newPackageJson);
55
54
  },
56
55
  });
57
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consistentDependencies.js","sourceRoot":"","sources":["../src/consistentDependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consistentDependencies.js","sourceRoot":"","sources":["../src/consistentDependencies.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  import { RuleModule } from "@monorepolint/core";
8
8
  import * as r from "runtypes";
9
9
  export declare const Options: r.Record<{
10
- matchDependencyVersions: r.StringDictionary<r.Union2<r.String, r.Array<r.String, false>>>;
10
+ matchDependencyVersions: r.Dictionary<r.Union<[r.String, r.Array<r.String, false>]>, string | number | symbol>;
11
11
  }, false>;
12
12
  export declare type Options = r.Static<typeof Options>;
13
13
  export declare const consistentVersions: RuleModule<typeof Options>;