Socket
Socket
Sign inDemoInstall

@changesets/assemble-release-plan

Package Overview
Dependencies
Maintainers
3
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@changesets/assemble-release-plan - npm Package Compare versions

Comparing version 2.0.2 to 2.0.3

6

CHANGELOG.md
# @changesets/assemble-release-plan
## 2.0.3
### Patch Changes
- [`8469636`](https://github.com/atlassian/changesets/commit/8469636414cb2475547bba3140e3df1927b5926b) [#344](https://github.com/atlassian/changesets/pull/344) Thanks [@zkochan](https://github.com/zkochan)! - When both a dev dep and a prod dep of a dependent package are published, the version of the dependent package should be bumped. This fixes a regression introduced by #313.
## 2.0.2

@@ -4,0 +10,0 @@

6

dist/assemble-release-plan.cjs.dev.js

@@ -74,3 +74,3 @@ 'use strict';

if ( // TODO validate this - I don't think it's right anymore
!releases.has(dependent) && !semver__default.satisfies(incrementVersion(nextRelease, preInfo), versionRange)) {
(!releases.has(dependent) || releases.get(dependent).type === "none") && !semver__default.satisfies(incrementVersion(nextRelease, preInfo), versionRange)) {
if (depTypes.includes("dependencies") || depTypes.includes("optionalDependencies") || depTypes.includes("peerDependencies")) {

@@ -85,2 +85,6 @@ type = "patch";

if (releases.has(dependent) && releases.get(dependent).type === type) {
type = undefined;
}
return {

@@ -87,0 +91,0 @@ name: dependent,

3

dist/assemble-release-plan.cjs.prod.js

@@ -35,3 +35,4 @@ "use strict";

const {depTypes: depTypes, versionRange: versionRange} = getDependencyVersionRange(dependentPackage.packageJson, nextRelease.name);
return depTypes.includes("peerDependencies") && "patch" !== nextRelease.type && (!releases.has(dependent) || releases.has(dependent) && "major" !== releases.get(dependent).type) ? type = "major" : releases.has(dependent) || semver__default.satisfies(incrementVersion(nextRelease, preInfo), versionRange) || (type = depTypes.includes("dependencies") || depTypes.includes("optionalDependencies") || depTypes.includes("peerDependencies") ? "patch" : "none"),
return depTypes.includes("peerDependencies") && "patch" !== nextRelease.type && (!releases.has(dependent) || releases.has(dependent) && "major" !== releases.get(dependent).type) ? type = "major" : releases.has(dependent) && "none" !== releases.get(dependent).type || semver__default.satisfies(incrementVersion(nextRelease, preInfo), versionRange) || (type = depTypes.includes("dependencies") || depTypes.includes("optionalDependencies") || depTypes.includes("peerDependencies") ? "patch" : "none"),
releases.has(dependent) && releases.get(dependent).type === type && (type = void 0),
{

@@ -38,0 +39,0 @@ name: dependent,

@@ -67,3 +67,3 @@ import semver__default, { inc, parse } from 'semver';

if ( // TODO validate this - I don't think it's right anymore
!releases.has(dependent) && !semver__default.satisfies(incrementVersion(nextRelease, preInfo), versionRange)) {
(!releases.has(dependent) || releases.get(dependent).type === "none") && !semver__default.satisfies(incrementVersion(nextRelease, preInfo), versionRange)) {
if (depTypes.includes("dependencies") || depTypes.includes("optionalDependencies") || depTypes.includes("peerDependencies")) {

@@ -78,2 +78,6 @@ type = "patch";

if (releases.has(dependent) && releases.get(dependent).type === type) {
type = undefined;
}
return {

@@ -80,0 +84,0 @@ name: dependent,

{
"name": "@changesets/assemble-release-plan",
"version": "2.0.2",
"version": "2.0.3",
"description": "Reads changesets and adds information on dependents that need bumping",

@@ -5,0 +5,0 @@ "main": "dist/assemble-release-plan.cjs.js",

@@ -70,3 +70,4 @@ import semver from "semver";

// TODO validate this - I don't think it's right anymore
!releases.has(dependent) &&
(!releases.has(dependent) ||
releases.get(dependent)!.type === "none") &&
!semver.satisfies(

@@ -89,2 +90,5 @@ incrementVersion(nextRelease, preInfo),

}
if (releases.has(dependent) && releases.get(dependent)!.type === type) {
type = undefined;
}
return { name: dependent, type, pkgJSON: dependentPackage.packageJson };

@@ -91,0 +95,0 @@ })

@@ -118,2 +118,29 @@ import { defaultConfig } from "@changesets/config";

});
it("should assemble release plan with dependent when the dependent has both a changed prod and dev dependency", () => {
setup.updateDevDependency("pkg-b", "pkg-a", "^1.0.0");
setup.updateDependency("pkg-b", "pkg-c", "^1.0.0");
setup.addChangeset({
id: "big-cats-delight",
releases: [
{ name: "pkg-a", type: "major" },
{ name: "pkg-c", type: "major" }
]
});
let { releases } = assembleReleasePlan(
setup.changesets,
setup.packages,
defaultConfig,
undefined
);
expect(releases.length).toEqual(3);
expect(releases[0].name).toEqual("pkg-a");
expect(releases[0].newVersion).toEqual("2.0.0");
expect(releases[1].name).toEqual("pkg-c");
expect(releases[1].newVersion).toEqual("2.0.0");
expect(releases[2].name).toEqual("pkg-b");
expect(releases[2].oldVersion).toEqual("1.0.0");
expect(releases[2].newVersion).toEqual("1.0.1");
});
it("should assemble release plan without dependent through the link protocol", () => {

@@ -120,0 +147,0 @@ setup.updateDevDependency("pkg-b", "pkg-a", "link:../pkg-a");

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc