@cloud-ru/ft-deps-validator 1.1.2-preview-26976e0.0 → 2.0.0

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 (61) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +10 -8
  3. package/dist/cjs/Checker/MonorepoChecker.d.ts +5 -1
  4. package/dist/cjs/Checker/MonorepoChecker.js +3 -3
  5. package/dist/cjs/Checker/RepoChecker.js +1 -1
  6. package/dist/cjs/Checker/__tests__/MonorepoChecker.spec.js +47 -23
  7. package/dist/cjs/Checker/__tests__/RepoChecker.spec.js +9 -9
  8. package/dist/cjs/Config/MonorepoConfig.d.ts +1 -1
  9. package/dist/cjs/Config/MonorepoConfig.js +6 -6
  10. package/dist/cjs/Config/RepoConfig.d.ts +3 -3
  11. package/dist/cjs/Config/RepoConfig.js +5 -5
  12. package/dist/cjs/Config/__tests__/MonorepoConfig.spec.js +58 -58
  13. package/dist/cjs/Config/__tests__/RepoConfig.spec.js +22 -22
  14. package/dist/cjs/Report/__tests__/Report.spec.js +59 -64
  15. package/dist/cjs/Report/index.d.ts +5 -1
  16. package/dist/cjs/Report/index.js +1 -1
  17. package/dist/cjs/types.d.ts +34 -11
  18. package/dist/cjs/utils/__tests__/getCliArguments.spec.js +8 -8
  19. package/dist/cjs/utils/console.d.ts +0 -2
  20. package/dist/cjs/utils/console.js +1 -12
  21. package/dist/cjs/utils/getCliArguments.d.ts +2 -2
  22. package/dist/cjs/utils/getCliArguments.js +2 -2
  23. package/dist/cjs/utils/getEnvironment.js +3 -3
  24. package/dist/esm/Checker/MonorepoChecker.d.ts +5 -1
  25. package/dist/esm/Checker/MonorepoChecker.js +3 -3
  26. package/dist/esm/Checker/RepoChecker.js +1 -1
  27. package/dist/esm/Checker/__tests__/MonorepoChecker.spec.js +47 -23
  28. package/dist/esm/Checker/__tests__/RepoChecker.spec.js +9 -9
  29. package/dist/esm/Config/MonorepoConfig.d.ts +1 -1
  30. package/dist/esm/Config/MonorepoConfig.js +6 -6
  31. package/dist/esm/Config/RepoConfig.d.ts +3 -3
  32. package/dist/esm/Config/RepoConfig.js +5 -5
  33. package/dist/esm/Config/__tests__/MonorepoConfig.spec.js +58 -58
  34. package/dist/esm/Config/__tests__/RepoConfig.spec.js +22 -22
  35. package/dist/esm/Report/__tests__/Report.spec.js +26 -64
  36. package/dist/esm/Report/index.d.ts +5 -1
  37. package/dist/esm/Report/index.js +1 -1
  38. package/dist/esm/types.d.ts +34 -11
  39. package/dist/esm/utils/__tests__/getCliArguments.spec.js +8 -8
  40. package/dist/esm/utils/console.d.ts +0 -2
  41. package/dist/esm/utils/console.js +0 -9
  42. package/dist/esm/utils/getCliArguments.d.ts +2 -2
  43. package/dist/esm/utils/getCliArguments.js +2 -2
  44. package/dist/esm/utils/getEnvironment.js +3 -3
  45. package/package.json +2 -2
  46. package/src/Checker/MonorepoChecker.ts +3 -3
  47. package/src/Checker/RepoChecker.ts +1 -1
  48. package/src/Checker/__tests__/MonorepoChecker.spec.ts +65 -41
  49. package/src/Checker/__tests__/RepoChecker.spec.ts +9 -9
  50. package/src/Config/MonorepoConfig.ts +6 -6
  51. package/src/Config/RepoConfig.ts +7 -7
  52. package/src/Config/__tests__/MonorepoConfig.spec.ts +58 -58
  53. package/src/Config/__tests__/RepoConfig.spec.ts +22 -22
  54. package/src/Report/__tests__/Report.spec.ts +28 -68
  55. package/src/Report/__tests__/__snapshots__/Report.spec.ts.snap +102 -0
  56. package/src/Report/index.ts +4 -2
  57. package/src/types.ts +38 -12
  58. package/src/utils/__tests__/getCliArguments.spec.ts +8 -8
  59. package/src/utils/console.ts +0 -9
  60. package/src/utils/getCliArguments.ts +2 -2
  61. package/src/utils/getEnvironment.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 2.0.0 (2025-12-30)
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+
12
+ * **FF-7809:** add regular and monorepos supporting ([9183cbc](https://github.com/cloud-ru-tech/frontend-tools/commit/9183cbcf6841f8870fa4b27079aed68c06b235be))
13
+
14
+
15
+
16
+
6
17
  ## 1.1.1 (2025-12-23)
7
18
 
8
19
 
package/README.md CHANGED
@@ -50,17 +50,19 @@ You can create a `deps-validator.config.json` file in the root of your repositor
50
50
  {
51
51
  "rootPackagesFolderPattern": "packages/*",
52
52
  "ignoredPackagesFolderFiles": ["packages/tsconfig.cjs.json"],
53
- "ignorePatterns": ["dist", "__tests__"],
54
- "ignoreMatches": ["react", "react-dom"],
53
+ "ignoreFilePatterns": ["dist", "__tests__"],
54
+ "ignorePackagePatterns": ["react", "react-dom"],
55
55
  "packages": {
56
56
  "package-name": {
57
- "ignorePatterns": ["build"],
58
- "ignoreMatches": ["@some/package"]
57
+ "ignoreFilePatterns": ["build"],
58
+ "ignorePackagePatterns": ["@some/package"]
59
59
  }
60
60
  }
61
61
  }
62
62
  ```
63
63
 
64
+ > Settings in the `packages` section are merged with global settings, not overwritten. For example, if global settings have `ignoreFilePatterns: ["dist", "__tests__"]` and a specific package has `ignoreFilePatterns: ["build"]`, both lists will be used for that package: `["dist", "__tests__", "build"]`. The same applies to `ignorePackagePatterns`.
65
+
64
66
  Configuration priority (highest to lowest):
65
67
  1. CLI arguments
66
68
  2. Configuration file
@@ -69,13 +71,13 @@ Configuration priority (highest to lowest):
69
71
  ### Ignore specific patterns
70
72
 
71
73
  ```bash
72
- npx @cloud-ru/ft-deps-validator --ignorePatterns "stories" "dist" "__tests__"
74
+ npx @cloud-ru/ft-deps-validator --ignoreFilePatterns "stories" "dist" "__tests__"
73
75
  ```
74
76
 
75
77
  ### Ignore specific packages
76
78
 
77
79
  ```bash
78
- npx @cloud-ru/ft-deps-validator --ignoreMatches "react" "react-dom"
80
+ npx @cloud-ru/ft-deps-validator --ignorePackagePatterns "react" "react-dom"
79
81
  ```
80
82
 
81
83
  ## Options
@@ -83,8 +85,8 @@ npx @cloud-ru/ft-deps-validator --ignoreMatches "react" "react-dom"
83
85
  - `--cwd, -d` - Working directory (default: current working directory)
84
86
  - `--rootPackagesFolderPattern, -p` - Folder containing packages (glob pattern, e.g., "packages/*" or "apps/*"). If not specified, automatically detects monorepo by checking for `packages` folder
85
87
  - `--ignoredPackagesFolderFiles` - Specify one or more paths that should be ignored in packages folder (default: `['packages/tsconfig.cjs.json', 'packages/tsconfig.esm.json']`)
86
- - `--ignorePatterns` - Specify one or more directories names that should be ignored (default: `['stories', 'dist', '__tests__', '__e2e__']`)
87
- - `--ignoreMatches` - Specify one or more packages that should be ignored (default: includes `react`, `react-dom`, `react-docgen-typescript`, and several figma-tokens packages)
88
+ - `--ignoreFilePatterns` - Specify one or more directories names that should be ignored (default: `['stories', 'dist', '__tests__', '__e2e__']`)
89
+ - `--ignorePackagePatterns` - Specify one or more packages that should be ignored (default: includes `react`, `react-dom`, `react-docgen-typescript`, and several figma-tokens packages)
88
90
  - `--help, -h` - Show help
89
91
  - `--version, -v` - Show version
90
92
 
@@ -4,7 +4,11 @@ export declare class MonorepoChecker extends RepoChecker {
4
4
  private actualVersions;
5
5
  constructor(config: MonorepoConfig);
6
6
  protected checkFolder(path: string): Promise<Partial<Pick<import("depcheck").Results, "dependencies" | "missing"> & {
7
- wrongVersions: string[];
7
+ wrongVersions: {
8
+ dep: string;
9
+ version: string;
10
+ actualVersion: string;
11
+ }[];
8
12
  internalAsDev: string[];
9
13
  }>>;
10
14
  }
@@ -32,12 +32,12 @@ class MonorepoChecker extends RepoChecker_1.RepoChecker {
32
32
  for (const [dep, version] of Object.entries(pkg.dependencies)) {
33
33
  const actualVersion = this.actualVersions[dep];
34
34
  if (actualVersion && actualVersion !== version) {
35
- const message = `"${dep}" has wrong version "${version}", but need "${actualVersion}".`;
35
+ const data = { version, actualVersion, dep };
36
36
  if (result.wrongVersions) {
37
- result.wrongVersions.push(message);
37
+ result.wrongVersions.push(data);
38
38
  }
39
39
  else {
40
- result.wrongVersions = [message];
40
+ result.wrongVersions = [data];
41
41
  }
42
42
  }
43
43
  }
@@ -29,7 +29,7 @@ class RepoChecker {
29
29
  }
30
30
  checkFolder(path) {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
- return (0, depcheck_1.default)(path, this.config.getFolderOptions(path));
32
+ return (0, depcheck_1.default)(path, this.config.getDepcheckOptionsForFolder(path));
33
33
  });
34
34
  }
35
35
  }
@@ -32,7 +32,7 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
32
32
  vitest_1.vi.clearAllMocks();
33
33
  mockConfig = {
34
34
  getFolders: vitest_1.vi.fn(),
35
- getFolderOptions: vitest_1.vi.fn(),
35
+ getDepcheckOptionsForFolder: vitest_1.vi.fn(),
36
36
  };
37
37
  });
38
38
  (0, vitest_1.describe)('check', () => {
@@ -40,20 +40,13 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
40
40
  vitest_1.vi.mocked(mockConfig.getFolders).mockReturnValue([]);
41
41
  });
42
42
  (0, vitest_1.it)('should add wrongVersions when dependency version does not match', () => __awaiter(void 0, void 0, void 0, function* () {
43
- const folders = ['/test/folder1', '/test/folder2'];
43
+ const folders = ['/test/folder1'];
44
44
  vitest_1.vi.mocked(mockConfig.getFolders).mockReturnValue(folders);
45
- mockReadPackageJsonFileSync
46
- .mockReturnValueOnce({
45
+ mockReadPackageJsonFileSync.mockReturnValue({
47
46
  name: '@test/package1',
48
47
  version: '1.0.0',
49
48
  dependencies: {},
50
49
  devDependencies: {},
51
- })
52
- .mockReturnValueOnce({
53
- name: '@test/package2',
54
- version: '2.0.0',
55
- dependencies: {},
56
- devDependencies: {},
57
50
  });
58
51
  const checkState = { dependencies: [] };
59
52
  mockDepcheck.mockResolvedValue(checkState);
@@ -63,11 +56,14 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
63
56
  dependencies: { '@test/package1': '1.1.0' },
64
57
  devDependencies: {},
65
58
  });
66
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
59
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
67
60
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
68
61
  const report = yield checker.check();
69
62
  const exitCode = report.printResultAndGetExitCode();
70
63
  (0, vitest_1.expect)(exitCode).toBe(1);
64
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].wrongVersions).toEqual([
65
+ { dep: '@test/package1', version: '1.1.0', actualVersion: '1.0.0' },
66
+ ]);
71
67
  }));
72
68
  (0, vitest_1.it)('should not add wrongVersions when dependency version matches', () => __awaiter(void 0, void 0, void 0, function* () {
73
69
  const folders = ['/test/folder1'];
@@ -86,7 +82,7 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
86
82
  dependencies: { '@test/package1': '1.0.0' },
87
83
  devDependencies: {},
88
84
  });
89
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
85
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
90
86
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
91
87
  const report = yield checker.check();
92
88
  const exitCode = report.printResultAndGetExitCode();
@@ -103,7 +99,7 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
103
99
  });
104
100
  const checkState = {
105
101
  dependencies: [],
106
- wrongVersions: ['existing error'],
102
+ wrongVersions: [{ dep: 'existing-package', version: '1.0.0', actualVersion: '2.0.0' }],
107
103
  };
108
104
  mockDepcheck.mockResolvedValue(checkState);
109
105
  mockReadPackageJsonFile.mockResolvedValue({
@@ -112,11 +108,15 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
112
108
  dependencies: { '@test/package1': '1.1.0' },
113
109
  devDependencies: {},
114
110
  });
115
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
111
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
116
112
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
117
113
  const report = yield checker.check();
118
114
  const exitCode = report.printResultAndGetExitCode();
119
115
  (0, vitest_1.expect)(exitCode).toBe(1);
116
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].wrongVersions).toEqual([
117
+ { dep: 'existing-package', version: '1.0.0', actualVersion: '2.0.0' },
118
+ { dep: '@test/package1', version: '1.1.0', actualVersion: '1.0.0' },
119
+ ]);
120
120
  }));
121
121
  (0, vitest_1.it)('should add internalAsDev when internal package is in devDependencies', () => __awaiter(void 0, void 0, void 0, function* () {
122
122
  const folders = ['/test/folder1'];
@@ -135,11 +135,12 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
135
135
  dependencies: {},
136
136
  devDependencies: { '@test/package1': '1.0.0' },
137
137
  });
138
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
138
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
139
139
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
140
140
  const report = yield checker.check();
141
141
  const exitCode = report.printResultAndGetExitCode();
142
142
  (0, vitest_1.expect)(exitCode).toBe(1);
143
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].internalAsDev).toEqual(['@test/package1']);
143
144
  }));
144
145
  (0, vitest_1.it)('should not add internalAsDev when package is not internal', () => __awaiter(void 0, void 0, void 0, function* () {
145
146
  const folders = ['/test/folder1'];
@@ -158,7 +159,7 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
158
159
  dependencies: {},
159
160
  devDependencies: { 'external-package': '1.0.0' },
160
161
  });
161
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
162
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
162
163
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
163
164
  const report = yield checker.check();
164
165
  const exitCode = report.printResultAndGetExitCode();
@@ -184,11 +185,12 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
184
185
  dependencies: {},
185
186
  devDependencies: { '@test/package1': '1.0.0' },
186
187
  });
187
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
188
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
188
189
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
189
190
  const report = yield checker.check();
190
191
  const exitCode = report.printResultAndGetExitCode();
191
192
  (0, vitest_1.expect)(exitCode).toBe(1);
193
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].internalAsDev).toEqual(['existing-package', '@test/package1']);
192
194
  }));
193
195
  (0, vitest_1.it)('should handle multiple wrong versions', () => __awaiter(void 0, void 0, void 0, function* () {
194
196
  const folders = ['/test/folder1', '/test/folder2'];
@@ -208,7 +210,8 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
208
210
  });
209
211
  const checkState = { dependencies: [] };
210
212
  mockDepcheck.mockResolvedValue(checkState);
211
- mockReadPackageJsonFile.mockResolvedValue({
213
+ mockReadPackageJsonFile
214
+ .mockResolvedValueOnce({
212
215
  name: 'test-package',
213
216
  version: '1.0.0',
214
217
  dependencies: {
@@ -216,12 +219,22 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
216
219
  '@test/package2': '2.1.0',
217
220
  },
218
221
  devDependencies: {},
222
+ })
223
+ .mockResolvedValueOnce({
224
+ name: 'test-package2',
225
+ version: '1.0.0',
226
+ dependencies: {},
227
+ devDependencies: {},
219
228
  });
220
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
229
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
221
230
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
222
231
  const report = yield checker.check();
223
232
  const exitCode = report.printResultAndGetExitCode();
224
233
  (0, vitest_1.expect)(exitCode).toBe(1);
234
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].wrongVersions).toEqual([
235
+ { dep: '@test/package1', version: '1.1.0', actualVersion: '1.0.0' },
236
+ { dep: '@test/package2', version: '2.1.0', actualVersion: '2.0.0' },
237
+ ]);
225
238
  }));
226
239
  (0, vitest_1.it)('should handle both wrongVersions and internalAsDev', () => __awaiter(void 0, void 0, void 0, function* () {
227
240
  const folders = ['/test/folder1', '/test/folder2'];
@@ -241,17 +254,28 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
241
254
  });
242
255
  const checkState = { dependencies: [] };
243
256
  mockDepcheck.mockResolvedValue(checkState);
244
- mockReadPackageJsonFile.mockResolvedValue({
257
+ mockReadPackageJsonFile
258
+ .mockResolvedValueOnce({
245
259
  name: 'test-package',
246
260
  version: '1.0.0',
247
261
  dependencies: { '@test/package1': '1.1.0' },
248
262
  devDependencies: { '@test/package2': '2.0.0' },
263
+ })
264
+ .mockResolvedValueOnce({
265
+ name: 'test-package2',
266
+ version: '1.0.0',
267
+ dependencies: {},
268
+ devDependencies: {},
249
269
  });
250
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
270
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
251
271
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
252
272
  const report = yield checker.check();
253
273
  const exitCode = report.printResultAndGetExitCode();
254
274
  (0, vitest_1.expect)(exitCode).toBe(1);
275
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].wrongVersions).toEqual([
276
+ { dep: '@test/package1', version: '1.1.0', actualVersion: '1.0.0' },
277
+ ]);
278
+ (0, vitest_1.expect)(report['storage']['/test/folder1'].internalAsDev).toEqual(['@test/package2']);
255
279
  }));
256
280
  (0, vitest_1.it)('should not add wrongVersions for external packages', () => __awaiter(void 0, void 0, void 0, function* () {
257
281
  const folders = ['/test/folder1'];
@@ -270,7 +294,7 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
270
294
  dependencies: { 'external-package': '1.0.0' },
271
295
  devDependencies: {},
272
296
  });
273
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
297
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
274
298
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
275
299
  const report = yield checker.check();
276
300
  const exitCode = report.printResultAndGetExitCode();
@@ -293,7 +317,7 @@ vitest_1.vi.mock('../../utils/readPackageJsonFile', () => ({
293
317
  dependencies: {},
294
318
  devDependencies: {},
295
319
  });
296
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
320
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
297
321
  const checker = new MonorepoChecker_1.MonorepoChecker(mockConfig);
298
322
  const report = yield checker.check();
299
323
  const exitCode = report.printResultAndGetExitCode();
@@ -25,7 +25,7 @@ vitest_1.vi.mock('depcheck', () => ({
25
25
  vitest_1.vi.clearAllMocks();
26
26
  mockConfig = {
27
27
  getFolders: vitest_1.vi.fn(),
28
- getFolderOptions: vitest_1.vi.fn(),
28
+ getDepcheckOptionsForFolder: vitest_1.vi.fn(),
29
29
  };
30
30
  });
31
31
  (0, vitest_1.describe)('constructor', () => {
@@ -50,31 +50,31 @@ vitest_1.vi.mock('depcheck', () => ({
50
50
  const checkState1 = { dependencies: ['dep1'] };
51
51
  const checkState2 = { dependencies: ['dep2'] };
52
52
  mockDepcheck.mockResolvedValueOnce(checkState1).mockResolvedValueOnce(checkState2);
53
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
53
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
54
54
  const checker = new RepoChecker_1.RepoChecker(mockConfig);
55
55
  yield checker.check();
56
56
  (0, vitest_1.expect)(mockDepcheck).toHaveBeenCalledTimes(2);
57
57
  }));
58
- (0, vitest_1.it)('should call getFolderOptions for each folder with correct path', () => __awaiter(void 0, void 0, void 0, function* () {
58
+ (0, vitest_1.it)('should call getDepcheckOptionsForFolder for each folder with correct path', () => __awaiter(void 0, void 0, void 0, function* () {
59
59
  const folders = ['/test/folder1', '/test/folder2'];
60
60
  vitest_1.vi.mocked(mockConfig.getFolders).mockReturnValue(folders);
61
61
  const options1 = { ignoreBinPackage: false };
62
62
  const options2 = { ignoreBinPackage: false };
63
- vitest_1.vi.mocked(mockConfig.getFolderOptions)
63
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder)
64
64
  .mockReturnValueOnce(options1)
65
65
  .mockReturnValueOnce(options2);
66
66
  const checkState = { dependencies: [] };
67
67
  mockDepcheck.mockResolvedValue(checkState);
68
68
  const checker = new RepoChecker_1.RepoChecker(mockConfig);
69
69
  yield checker.check();
70
- (0, vitest_1.expect)(mockConfig.getFolderOptions).toHaveBeenCalledWith('/test/folder1');
71
- (0, vitest_1.expect)(mockConfig.getFolderOptions).toHaveBeenCalledWith('/test/folder2');
70
+ (0, vitest_1.expect)(mockConfig.getDepcheckOptionsForFolder).toHaveBeenCalledWith('/test/folder1');
71
+ (0, vitest_1.expect)(mockConfig.getDepcheckOptionsForFolder).toHaveBeenCalledWith('/test/folder2');
72
72
  }));
73
73
  (0, vitest_1.it)('should call depcheck with correct path and options', () => __awaiter(void 0, void 0, void 0, function* () {
74
74
  const folders = ['/test/folder1'];
75
75
  vitest_1.vi.mocked(mockConfig.getFolders).mockReturnValue(folders);
76
76
  const options = { ignoreBinPackage: false, skipMissing: false };
77
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue(options);
77
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue(options);
78
78
  const checkState = { dependencies: [] };
79
79
  mockDepcheck.mockResolvedValue(checkState);
80
80
  const checker = new RepoChecker_1.RepoChecker(mockConfig);
@@ -87,7 +87,7 @@ vitest_1.vi.mock('depcheck', () => ({
87
87
  const checkState1 = { dependencies: ['dep1'] };
88
88
  const checkState2 = { dependencies: ['dep2'] };
89
89
  mockDepcheck.mockResolvedValueOnce(checkState1).mockResolvedValueOnce(checkState2);
90
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
90
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
91
91
  const checker = new RepoChecker_1.RepoChecker(mockConfig);
92
92
  const report = yield checker.check();
93
93
  const exitCode = report.printResultAndGetExitCode();
@@ -98,7 +98,7 @@ vitest_1.vi.mock('depcheck', () => ({
98
98
  vitest_1.vi.mocked(mockConfig.getFolders).mockReturnValue(folders);
99
99
  const checkState = { dependencies: [] };
100
100
  mockDepcheck.mockResolvedValue(checkState);
101
- vitest_1.vi.mocked(mockConfig.getFolderOptions).mockReturnValue({});
101
+ vitest_1.vi.mocked(mockConfig.getDepcheckOptionsForFolder).mockReturnValue({});
102
102
  const checker = new RepoChecker_1.RepoChecker(mockConfig);
103
103
  const report = yield checker.check();
104
104
  (0, vitest_1.expect)(report).toBeDefined();
@@ -7,6 +7,6 @@ export declare class MonorepoConfig extends RepoConfig {
7
7
  private packages;
8
8
  private folders?;
9
9
  constructor(env: MonorepoEnvType);
10
- getFolderOptions(folderPath: string): Options;
10
+ getDepcheckOptionsForFolder(folderPath: string): Options;
11
11
  getFolders(): string[];
12
12
  }
@@ -14,19 +14,19 @@ class MonorepoConfig extends RepoConfig_1.RepoConfig {
14
14
  this.ignoredPackagesFolderFiles = env.ignoredPackagesFolderFiles || [];
15
15
  this.packages = env.packages || {};
16
16
  }
17
- getFolderOptions(folderPath) {
17
+ getDepcheckOptionsForFolder(folderPath) {
18
18
  var _a, _b;
19
- const options = super.getFolderOptions(folderPath);
19
+ const options = super.getDepcheckOptionsForFolder(folderPath);
20
20
  const folder = node_path_1.default.basename(folderPath);
21
21
  const folderIgnores = this.packages[folder];
22
22
  if (!folderIgnores) {
23
23
  return options;
24
24
  }
25
- if ((_a = folderIgnores.ignorePatterns) === null || _a === void 0 ? void 0 : _a.length) {
26
- options.ignorePatterns = [...(options.ignorePatterns || []), ...folderIgnores.ignorePatterns];
25
+ if ((_a = folderIgnores.ignoreFilePatterns) === null || _a === void 0 ? void 0 : _a.length) {
26
+ options.ignorePatterns = [...(options.ignorePatterns || []), ...folderIgnores.ignoreFilePatterns];
27
27
  }
28
- if ((_b = folderIgnores.ignoreMatches) === null || _b === void 0 ? void 0 : _b.length) {
29
- options.ignoreMatches = [...(options.ignoreMatches || []), ...folderIgnores.ignoreMatches];
28
+ if ((_b = folderIgnores.ignorePackagePatterns) === null || _b === void 0 ? void 0 : _b.length) {
29
+ options.ignoreMatches = [...(options.ignoreMatches || []), ...folderIgnores.ignorePackagePatterns];
30
30
  }
31
31
  return options;
32
32
  }
@@ -2,9 +2,9 @@ import { Options } from 'depcheck';
2
2
  import { RepoEnvType } from '../types';
3
3
  export declare class RepoConfig {
4
4
  protected pwd: string;
5
- private ignorePatterns?;
6
- private ignoreMatches?;
5
+ private ignoreFilePatterns?;
6
+ private ignorePackagePatterns?;
7
7
  constructor(env: RepoEnvType);
8
8
  getFolders(): string[];
9
- getFolderOptions(_folder: string): Options;
9
+ getDepcheckOptionsForFolder(_folder: string): Options;
10
10
  }
@@ -8,19 +8,19 @@ const node_path_1 = __importDefault(require("node:path"));
8
8
  class RepoConfig {
9
9
  constructor(env) {
10
10
  this.pwd = node_path_1.default.resolve(env.cwd);
11
- this.ignoreMatches = env.ignoreMatches || [];
12
- this.ignorePatterns = env.ignorePatterns || [];
11
+ this.ignorePackagePatterns = env.ignorePackagePatterns || [];
12
+ this.ignoreFilePatterns = env.ignoreFilePatterns || [];
13
13
  }
14
14
  getFolders() {
15
15
  return [this.pwd];
16
16
  }
17
17
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
- getFolderOptions(_folder) {
18
+ getDepcheckOptionsForFolder(_folder) {
19
19
  return {
20
20
  ignoreBinPackage: false,
21
21
  skipMissing: false,
22
- ignorePatterns: this.ignorePatterns,
23
- ignoreMatches: this.ignoreMatches,
22
+ ignorePatterns: this.ignoreFilePatterns,
23
+ ignoreMatches: this.ignorePackagePatterns,
24
24
  };
25
25
  }
26
26
  }