@cloud-ru/ft-deps-validator 1.1.1 → 1.1.2-preview-8996d18.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.
- package/README.md +34 -15
- package/dist/cjs/Checker/MonorepoChecker.d.ts +10 -0
- package/dist/cjs/Checker/MonorepoChecker.js +57 -0
- package/dist/cjs/Checker/RepoChecker.d.ts +8 -0
- package/dist/cjs/Checker/RepoChecker.js +36 -0
- package/dist/cjs/Checker/__tests__/MonorepoChecker.spec.js +305 -0
- package/dist/cjs/Checker/__tests__/RepoChecker.spec.js +116 -0
- package/dist/cjs/Checker/index.d.ts +2 -0
- package/dist/cjs/Checker/index.js +7 -0
- package/dist/cjs/Config/MonorepoConfig.d.ts +12 -0
- package/dist/cjs/Config/MonorepoConfig.js +42 -0
- package/dist/cjs/Config/RepoConfig.d.ts +10 -0
- package/dist/cjs/Config/RepoConfig.js +27 -0
- package/dist/cjs/Config/__tests__/MonorepoConfig.spec.js +291 -0
- package/dist/cjs/Config/__tests__/RepoConfig.spec.d.ts +1 -0
- package/dist/cjs/Config/__tests__/RepoConfig.spec.js +99 -0
- package/dist/cjs/Config/index.d.ts +2 -0
- package/dist/cjs/Config/index.js +7 -0
- package/dist/cjs/Report/__tests__/Report.spec.d.ts +1 -0
- package/dist/cjs/Report/__tests__/Report.spec.js +176 -0
- package/dist/cjs/Report/index.d.ts +11 -0
- package/dist/cjs/Report/index.js +55 -0
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +13 -57
- package/dist/{esm/types/config.d.ts → cjs/types.d.ts} +14 -3
- package/dist/cjs/utils/__tests__/getCliArguments.spec.d.ts +1 -0
- package/dist/cjs/utils/__tests__/getCliArguments.spec.js +70 -0
- package/dist/cjs/utils/getCliArguments.d.ts +6 -6
- package/dist/cjs/utils/getCliArguments.js +1 -27
- package/dist/cjs/utils/getConfigFile.d.ts +4 -3
- package/dist/cjs/utils/getConfigFile.js +3 -9
- package/dist/cjs/utils/getEnvironment.d.ts +3 -0
- package/dist/cjs/utils/getEnvironment.js +50 -0
- package/dist/cjs/utils/readPackageJsonFile.d.ts +9 -0
- package/dist/cjs/utils/readPackageJsonFile.js +28 -0
- package/dist/esm/Checker/MonorepoChecker.d.ts +10 -0
- package/dist/esm/Checker/MonorepoChecker.js +53 -0
- package/dist/esm/Checker/RepoChecker.d.ts +8 -0
- package/dist/esm/Checker/RepoChecker.js +29 -0
- package/dist/esm/Checker/__tests__/MonorepoChecker.spec.d.ts +1 -0
- package/dist/esm/Checker/__tests__/MonorepoChecker.spec.js +300 -0
- package/dist/esm/Checker/__tests__/RepoChecker.spec.d.ts +1 -0
- package/dist/esm/Checker/__tests__/RepoChecker.spec.js +111 -0
- package/dist/esm/Checker/index.d.ts +2 -0
- package/dist/esm/Checker/index.js +2 -0
- package/dist/esm/Config/MonorepoConfig.d.ts +12 -0
- package/dist/esm/Config/MonorepoConfig.js +35 -0
- package/dist/esm/Config/RepoConfig.d.ts +10 -0
- package/dist/esm/Config/RepoConfig.js +20 -0
- package/dist/esm/Config/__tests__/MonorepoConfig.spec.d.ts +1 -0
- package/dist/esm/Config/__tests__/MonorepoConfig.spec.js +289 -0
- package/dist/esm/Config/__tests__/RepoConfig.spec.d.ts +1 -0
- package/dist/esm/Config/__tests__/RepoConfig.spec.js +94 -0
- package/dist/esm/Config/index.d.ts +2 -0
- package/dist/esm/Config/index.js +2 -0
- package/dist/esm/Report/__tests__/Report.spec.d.ts +1 -0
- package/dist/esm/Report/__tests__/Report.spec.js +174 -0
- package/dist/esm/Report/index.d.ts +11 -0
- package/dist/esm/Report/index.js +51 -0
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +14 -55
- package/dist/{cjs/types/config.d.ts → esm/types.d.ts} +14 -3
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/__tests__/getCliArguments.spec.d.ts +1 -0
- package/dist/esm/utils/__tests__/getCliArguments.spec.js +68 -0
- package/dist/esm/utils/getCliArguments.d.ts +6 -6
- package/dist/esm/utils/getCliArguments.js +1 -27
- package/dist/esm/utils/getConfigFile.d.ts +4 -3
- package/dist/esm/utils/getConfigFile.js +3 -9
- package/dist/esm/utils/getEnvironment.d.ts +3 -0
- package/dist/esm/utils/getEnvironment.js +42 -0
- package/dist/esm/utils/readPackageJsonFile.d.ts +9 -0
- package/dist/esm/utils/readPackageJsonFile.js +20 -0
- package/package.json +2 -2
- package/src/Checker/MonorepoChecker.ts +45 -0
- package/src/Checker/RepoChecker.ts +23 -0
- package/src/Checker/__tests__/MonorepoChecker.spec.ts +330 -0
- package/src/Checker/__tests__/RepoChecker.spec.ts +132 -0
- package/src/Checker/index.ts +2 -0
- package/src/Config/MonorepoConfig.ts +51 -0
- package/src/Config/RepoConfig.ts +30 -0
- package/src/Config/__tests__/MonorepoConfig.spec.ts +346 -0
- package/src/Config/__tests__/RepoConfig.spec.ts +131 -0
- package/src/Config/index.ts +2 -0
- package/src/Report/__tests__/Report.spec.ts +221 -0
- package/src/Report/index.ts +75 -0
- package/src/index.ts +14 -67
- package/src/{types/config.ts → types.ts} +15 -3
- package/src/utils/__tests__/getCliArguments.spec.ts +89 -0
- package/src/utils/getCliArguments.ts +1 -35
- package/src/utils/getConfigFile.ts +7 -11
- package/src/utils/getEnvironment.ts +53 -0
- package/src/utils/readPackageJsonFile.ts +20 -0
- package/dist/cjs/types/cliArguments.d.ts +0 -4
- package/dist/cjs/types/config.js +0 -2
- package/dist/cjs/types/state.d.ts +0 -6
- package/dist/cjs/types/state.js +0 -2
- package/dist/cjs/utils/getMonorepoPrefix.d.ts +0 -6
- package/dist/cjs/utils/getMonorepoPrefix.js +0 -33
- package/dist/cjs/utils/initializeState.d.ts +0 -8
- package/dist/cjs/utils/initializeState.js +0 -40
- package/dist/esm/types/cliArguments.d.ts +0 -4
- package/dist/esm/types/state.d.ts +0 -6
- package/dist/esm/utils/getMonorepoPrefix.d.ts +0 -6
- package/dist/esm/utils/getMonorepoPrefix.js +0 -27
- package/dist/esm/utils/initializeState.d.ts +0 -8
- package/dist/esm/utils/initializeState.js +0 -34
- package/src/types/cliArguments.ts +0 -5
- package/src/types/state.ts +0 -6
- package/src/utils/getMonorepoPrefix.ts +0 -32
- package/src/utils/initializeState.ts +0 -51
- /package/dist/{esm/types/cliArguments.js → cjs/Checker/__tests__/MonorepoChecker.spec.d.ts} +0 -0
- /package/dist/{esm/types/config.js → cjs/Checker/__tests__/RepoChecker.spec.d.ts} +0 -0
- /package/dist/{esm/types/state.js → cjs/Config/__tests__/MonorepoConfig.spec.d.ts} +0 -0
- /package/dist/cjs/{types/cliArguments.js → types.js} +0 -0
package/src/types/state.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
|
|
3
|
-
type Options = {
|
|
4
|
-
cwd: string;
|
|
5
|
-
folders: string[];
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export function getMonorepoPrefix({ cwd, folders }: Options): string | null {
|
|
9
|
-
try {
|
|
10
|
-
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
|
|
11
|
-
const rootPkg = require(path.resolve(cwd, 'package.json'));
|
|
12
|
-
return rootPkg.name || null;
|
|
13
|
-
} catch {
|
|
14
|
-
if (folders.length < 1) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
try {
|
|
19
|
-
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
|
|
20
|
-
const firstPkg = require(path.resolve(folders[0], 'package.json'));
|
|
21
|
-
|
|
22
|
-
// Extract monorepo scope from package name (e.g., "@cloud-ru" from "@cloud-ru/ft-deps-validator")
|
|
23
|
-
const match = firstPkg.name?.match(/^(@[^/]+)/);
|
|
24
|
-
if (match) {
|
|
25
|
-
return match[1];
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
28
|
-
} catch {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
|
|
3
|
-
import { State } from '../types/state';
|
|
4
|
-
import { getMonorepoPrefix } from './getMonorepoPrefix';
|
|
5
|
-
|
|
6
|
-
type Options = {
|
|
7
|
-
cwd: string;
|
|
8
|
-
folders: string[];
|
|
9
|
-
prefix?: string;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export function initializeState({ cwd, folders, prefix }: Options): State {
|
|
13
|
-
const internalPackages: Record<string, string> = {};
|
|
14
|
-
const initialState: State = {
|
|
15
|
-
wrongVersions: [],
|
|
16
|
-
internalAsDev: [],
|
|
17
|
-
unusedDeps: [],
|
|
18
|
-
missing: [],
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const monorepoName = prefix || getMonorepoPrefix({ cwd, folders });
|
|
22
|
-
if (!monorepoName) {
|
|
23
|
-
throw new Error('[ERROR] Prefix was not specified and was not found');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const monorepoPackageRegexp = new RegExp(`${monorepoName}\\/`);
|
|
27
|
-
|
|
28
|
-
for (const folder of folders) {
|
|
29
|
-
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
|
|
30
|
-
const pkg = require(path.resolve(folder, 'package.json'));
|
|
31
|
-
internalPackages[pkg.name] = pkg.version;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
for (const folder of folders) {
|
|
35
|
-
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
|
|
36
|
-
const pkg = require(path.resolve(folder, 'package.json'));
|
|
37
|
-
const usedInternal = Object.keys(pkg.dependencies || {}).filter(x => monorepoPackageRegexp.test(x));
|
|
38
|
-
usedInternal.forEach(dep => {
|
|
39
|
-
if (pkg.dependencies[dep] !== internalPackages[dep]) {
|
|
40
|
-
initialState.wrongVersions.push(
|
|
41
|
-
`Error in ${pkg.name}: ${dep} has ${pkg.dependencies[dep]}, but correct version is ${internalPackages[dep]}`,
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
const usedInternalDev = Object.keys(pkg.devDependencies || {}).filter(x => monorepoPackageRegexp.test(x));
|
|
47
|
-
usedInternalDev.forEach(dep => initialState.internalAsDev.push(`Error in ${pkg.name}: ${dep}`));
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return initialState;
|
|
51
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|