interface CheckPackageApi {
    checkDirectDuplicateDependencies: ((options?) => CheckPackageApi);
    checkDirectPeerDependencies: ((options?) => CheckPackageApi);
    checkExactDevVersions: ((options?) => CheckPackageApi);
    checkExactVersions: ((options?) => CheckPackageApi);
    checkIdenticalVersions: ((dependencies) => CheckPackageApi);
    checkIdenticalVersionsThanDependency: ((depName, dependencies) => CheckPackageApi);
    checkIdenticalVersionsThanDevDependencyOfDependency: ((depName, dependencies) => CheckPackageApi);
    checkMinRangeDependenciesSatisfiesDevDependencies: (() => CheckPackageApi);
    checkMinRangePeerDependenciesSatisfiesDependencies: (() => CheckPackageApi);
    checkNoDependencies: ((type?, moveToSuggestion?) => CheckPackageApi);
    checkRecommended: ((options?) => CheckPackageApi);
    checkResolutionsHasExplanation: ((checkMessage?) => CheckPackageApi);
    checkResolutionsVersionsMatch: (() => CheckPackageApi);
    checkSatisfiesVersions: ((dependencies) => CheckPackageApi);
    checkSatisfiesVersionsBetweenDependencies: ((depName1, depName2, dependencies) => CheckPackageApi);
    checkSatisfiesVersionsFromDependency: ((depName, dependencies) => CheckPackageApi);
    checkSatisfiesVersionsInDependency: ((depName, dependenciesRanges) => CheckPackageApi);
    checkSatisfiesVersionsInDevDependenciesOfDependency: ((depName, dependencies) => CheckPackageApi);
    getDependencyPackageJson: GetDependencyPackageJson;
    isPkgLibrary: boolean;
    pkg: PackageJson;
    pkgDirname: string;
    pkgPathName: string;
    run: ((options?) => Promise<void>);
}

Properties

checkDirectDuplicateDependencies: ((options?) => CheckPackageApi)

Type declaration

Example

.checkDirectDuplicateDependencies({
invalidOnlyWarnsFor: { '*': 'type-fest' },
})
checkDirectPeerDependencies: ((options?) => CheckPackageApi)

Type declaration

Example

.checkDirectPeerDependencies({
invalidOnlyWarnsFor: ['semver'],
})
checkExactDevVersions: ((options?) => CheckPackageApi)

Type declaration

checkExactVersions: ((options?) => CheckPackageApi)

Type declaration

checkIdenticalVersions: ((dependencies) => CheckPackageApi)

Check that your package.json dependencies have the exact same version that another dependency also present in your package.json

Type declaration

    • (dependencies): CheckPackageApi
    • Parameters

      • dependencies: {
            dependencies?: Record<string, string[]>;
            devDependencies?: Record<string, string[]>;
            resolutions?: Record<string, string[]>;
        }
        • Optional dependencies?: Record<string, string[]>
        • Optional devDependencies?: Record<string, string[]>
        • Optional resolutions?: Record<string, string[]>

      Returns CheckPackageApi

Example

The react-dom version should match react, so this check will ensure it does

.checkIdenticalVersions({
dependencies: {
react: {
dependencies: ['react-dom'],
devDependencies: ['react-test-renderer'],
},
},
})
checkIdenticalVersionsThanDependency: ((depName, dependencies) => CheckPackageApi)

Type declaration

    • (depName, dependencies): CheckPackageApi
    • Parameters

      • depName: string
      • dependencies: {
            dependencies?: string[];
            devDependencies?: string[];
            resolutions?: string[];
        }
        • Optional dependencies?: string[]
        • Optional devDependencies?: string[]
        • Optional resolutions?: string[]

      Returns CheckPackageApi

Example

Check that your package.json contains the same version of @babel/core than react-scripts, both in resolutions and devDependencies

.checkIdenticalVersionsThanDependency('react-scripts', {
resolutions: ['@babel/core'],
devDependencies: ['@babel/core'],
})
checkIdenticalVersionsThanDevDependencyOfDependency: ((depName, dependencies) => CheckPackageApi)

Type declaration

    • (depName, dependencies): CheckPackageApi
    • Parameters

      • depName: string
      • dependencies: {
            dependencies?: string[];
            devDependencies?: string[];
            resolutions?: string[];
        }
        • Optional dependencies?: string[]
        • Optional devDependencies?: string[]
        • Optional resolutions?: string[]

      Returns CheckPackageApi

checkMinRangeDependenciesSatisfiesDevDependencies: (() => CheckPackageApi)

Type declaration

checkMinRangePeerDependenciesSatisfiesDependencies: (() => CheckPackageApi)

Type declaration

checkNoDependencies: ((type?, moveToSuggestion?) => CheckPackageApi)

Type declaration

checkRecommended: ((options?) => CheckPackageApi)

Type declaration

checkResolutionsHasExplanation: ((checkMessage?) => CheckPackageApi)

Type declaration

checkResolutionsVersionsMatch: (() => CheckPackageApi)

Type declaration

checkSatisfiesVersions: ((dependencies) => CheckPackageApi)

Check that your package.json dependencies specifically satisfies the range passed in config

Type declaration

Example

.checkSatisfiesVersions({
devDependencies: {
eslint: '^8.0.0'
},
})
checkSatisfiesVersionsBetweenDependencies: ((depName1, depName2, dependencies) => CheckPackageApi)

Type declaration

    • (depName1, depName2, dependencies): CheckPackageApi
    • Parameters

      • depName1: string
      • depName2: string
      • dependencies: {
            dependencies?: string[];
            devDependencies?: string[];
            resolutions?: string[];
        }
        • Optional dependencies?: string[]
        • Optional devDependencies?: string[]
        • Optional resolutions?: string[]

      Returns CheckPackageApi

checkSatisfiesVersionsFromDependency: ((depName, dependencies) => CheckPackageApi)

Check that your package.json dependencies specifically satisfies the range set in another dependencies

Type declaration

    • (depName, dependencies): CheckPackageApi
    • Parameters

      • depName: string
      • dependencies: {
            dependencies?: string[];
            devDependencies?: string[];
            resolutions?: string[];
        }
        • Optional dependencies?: string[]
        • Optional devDependencies?: string[]
        • Optional resolutions?: string[]

      Returns CheckPackageApi

Example

.checkSatisfiesVersionsFromDependency('@pob/eslint-config-typescript', {
devDependencies: [
'@typescript-eslint/eslint-plugin',
'@typescript-eslint/parser',
],
})
checkSatisfiesVersionsInDependency: ((depName, dependenciesRanges) => CheckPackageApi)

Check versions in a dependency Also useable to check if a dependency is not present

Type declaration

Example

Checking if @lerna/version has no dependency @nrwl/devkit

.checkSatisfiesVersionsInDependency('@lerna/version', {
dependencies: {
'@nrwl/devkit': null,
},
})
checkSatisfiesVersionsInDevDependenciesOfDependency: ((depName, dependencies) => CheckPackageApi)

Type declaration

    • (depName, dependencies): CheckPackageApi
    • Parameters

      • depName: string
      • dependencies: {
            dependencies?: string[];
            devDependencies?: string[];
            resolutions?: string[];
        }
        • Optional dependencies?: string[]
        • Optional devDependencies?: string[]
        • Optional resolutions?: string[]

      Returns CheckPackageApi

getDependencyPackageJson: GetDependencyPackageJson
isPkgLibrary: boolean
pkgDirname: string
pkgPathName: string
run: ((options?) => Promise<void>)

Type declaration