in tools/pkglint/lib/rules.ts [685:717]
public validate(pkg: PackageJson) {
const REQUIRED_VERSION = '^10.0.0';
if (pkg.devDependencies?.constructs && pkg.devDependencies?.constructs !== REQUIRED_VERSION) {
pkg.report({
ruleName: this.name,
message: `"constructs" must have a version requirement ${REQUIRED_VERSION}`,
fix: () => {
pkg.addDevDependency('constructs', REQUIRED_VERSION);
},
});
}
if (pkg.dependencies.constructs && pkg.dependencies.constructs !== REQUIRED_VERSION) {
pkg.report({
ruleName: this.name,
message: `"constructs" must have a version requirement ${REQUIRED_VERSION}`,
fix: () => {
pkg.addDependency('constructs', REQUIRED_VERSION);
},
});
if (!pkg.peerDependencies.constructs || pkg.peerDependencies.constructs !== REQUIRED_VERSION) {
pkg.report({
ruleName: this.name,
message: `"constructs" must have a version requirement ${REQUIRED_VERSION} in peerDependencies`,
fix: () => {
pkg.addPeerDependency('constructs', REQUIRED_VERSION);
},
});
}
}
}