Skip to content

Commit

Permalink
build: build dist
Browse files Browse the repository at this point in the history
  • Loading branch information
christophehurpeau committed Mar 13, 2023
1 parent 2aba256 commit ae6b0f9
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 7 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/definitions/checks/checkPeerDependencies.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ReportError } from '../utils/createReportError';
import type { PackageJson, DependencyTypes } from '../utils/packageTypes';
import type { OnlyWarnsForCheck } from '../utils/warnForUtils';
export declare function checkPeerDependencies(pkg: PackageJson, reportError: ReportError, type: DependencyTypes, allowedPeerIn: DependencyTypes[], depPkg: PackageJson, missingOnlyWarnsForCheck: OnlyWarnsForCheck, invalidOnlyWarnsForCheck: OnlyWarnsForCheck): void;
export declare function checkPeerDependencies(pkg: PackageJson, reportError: ReportError, type: DependencyTypes, allowedPeerIn: DependencyTypes[], providedDependencies: [string, string][], depPkg: PackageJson, missingOnlyWarnsForCheck: OnlyWarnsForCheck, invalidOnlyWarnsForCheck: OnlyWarnsForCheck): void;
//# sourceMappingURL=checkPeerDependencies.d.ts.map
2 changes: 1 addition & 1 deletion dist/definitions/checks/checkPeerDependencies.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 24 additions & 3 deletions dist/index-node16.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ async function checkDirectDuplicateDependencies(pkg, pkgPathName, isPackageALibr
reportNotWarnedForMapping(reportError, onlyWarnsForCheck);
}

function checkPeerDependencies(pkg, reportError, type, allowedPeerIn, depPkg, missingOnlyWarnsForCheck, invalidOnlyWarnsForCheck) {
function checkPeerDependencies(pkg, reportError, type, allowedPeerIn, providedDependencies, depPkg, missingOnlyWarnsForCheck, invalidOnlyWarnsForCheck) {
const {
peerDependencies,
peerDependenciesMeta
Expand All @@ -125,6 +125,11 @@ function checkPeerDependencies(pkg, reportError, type, allowedPeerIn, depPkg, mi
if (peerDependenciesMetaPeerDep?.optional) {
continue;
}

// satisfied by another direct dependency
if (providedDependencies.some(([depName, depRange]) => depName === peerDepName && semver.intersects(range, depRange))) {
continue;
}
reportError(`Missing "${peerDepName}" peer dependency from "${depPkg.name}" in ${type}`, `it should satisfies "${range}" and be in ${allowedPeerIn.join(' or ')}`, missingOnlyWarnsForCheck.shouldWarnsFor(peerDepName));
} else {
const versions = versionsIn.map(versionsInType => pkg[versionsInType][peerDepName]);
Expand Down Expand Up @@ -156,16 +161,32 @@ const getAllowedPeerInFromType = (depPkgType, isLibrary) => {
};
async function checkDirectPeerDependencies(isLibrary, pkg, pkgPathName, getDependencyPackageJson, missingOnlyWarnsForCheck, invalidOnlyWarnsForCheck, customCreateReportError = createReportError) {
const reportError = customCreateReportError('Peer Dependencies', pkgPathName);
const allDepPkgs = [];
const allDirectDependenciesDependencies = [];
await Promise.all(regularDependencyTypes.map(async depType => {
const dependencies = pkg[depType];
if (!dependencies) return;
for (const depName of getKeys(dependencies)) {
const depPkg = await getDependencyPackageJson(depName);
if (depPkg.peerDependencies) {
checkPeerDependencies(pkg, reportError, depType, getAllowedPeerInFromType(depType, isLibrary), depPkg, missingOnlyWarnsForCheck.createFor(depName), invalidOnlyWarnsForCheck.createFor(depName));
allDepPkgs.push({
name: depName,
type: depType,
pkg: depPkg
});
if (depPkg.dependencies) {
allDirectDependenciesDependencies.push(...Object.entries(depPkg.dependencies));
}
}
}));
for (const {
name: depName,
type: depType,
pkg: depPkg
} of allDepPkgs) {
if (depPkg.peerDependencies) {
checkPeerDependencies(pkg, reportError, depType, getAllowedPeerInFromType(depType, isLibrary), allDirectDependenciesDependencies, depPkg, missingOnlyWarnsForCheck.createFor(depName), invalidOnlyWarnsForCheck.createFor(depName));
}
}
reportNotWarnedForMapping(reportError, missingOnlyWarnsForCheck);
if (missingOnlyWarnsForCheck !== invalidOnlyWarnsForCheck) {
reportNotWarnedForMapping(reportError, invalidOnlyWarnsForCheck);
Expand Down
2 changes: 1 addition & 1 deletion dist/index-node16.mjs.map

Large diffs are not rendered by default.

0 comments on commit ae6b0f9

Please sign in to comment.