@changesets/apply-release-plan
Advanced tools
Comparing version 4.2.0 to 5.0.0
# @changesets/apply-release-plan | ||
## 5.0.0 | ||
### Major Changes | ||
- [#542](https://github.com/atlassian/changesets/pull/542) [`de2b4a5`](https://github.com/atlassian/changesets/commit/de2b4a5a7b244a37d94625bcb70ecde9dde5b612) Thanks [@Andarist](https://github.com/Andarist)! - The accepted `Config` type has been changed - a new experimental option (`updateInternalDependents`) was added to it. | ||
### Patch Changes | ||
- Updated dependencies [[`de2b4a5`](https://github.com/atlassian/changesets/commit/de2b4a5a7b244a37d94625bcb70ecde9dde5b612)]: | ||
- @changesets/config@1.6.0 | ||
- @changesets/types@4.0.0 | ||
- @changesets/git@1.1.1 | ||
## 4.2.0 | ||
@@ -207,3 +220,3 @@ | ||
- [`8f0a1ef`](https://github.com/atlassian/changesets/commit/8f0a1ef327563512f471677ef0ca99d30da009c0) [#183](https://github.com/atlassian/changesets/pull/183) Thanks [@mitchellhamilton](https://github.com/mitchellhamilton)! - Add support for prereleases. For more information, see [the docs on prereleases](https://github.com/atlassian/changesets/blob/master/docs/prereleases.md). | ||
- [`8f0a1ef`](https://github.com/atlassian/changesets/commit/8f0a1ef327563512f471677ef0ca99d30da009c0) [#183](https://github.com/atlassian/changesets/pull/183) Thanks [@mitchellhamilton](https://github.com/mitchellhamilton)! - Add support for prereleases. For more information, see [the docs on prereleases](https://github.com/atlassian/changesets/blob/main/docs/prereleases.md). | ||
@@ -210,0 +223,0 @@ ### Patch Changes |
@@ -200,3 +200,3 @@ 'use strict'; | ||
async function generateMarkdown(release, releases, changesets, changelogFuncs, changelogOpts, { | ||
async function getChangelogEntry(release, releases, changesets, changelogFuncs, changelogOpts, { | ||
updateInternalDependencies, | ||
@@ -206,3 +206,3 @@ onlyUpdatePeerDependentsWhenOutOfRange | ||
if (release.type === "none") return null; | ||
const releaseObj = { | ||
const changelogLines = { | ||
major: [], | ||
@@ -220,8 +220,10 @@ minor: [], | ||
if (rls && rls.type !== "none") { | ||
releaseObj[rls.type].push(changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)); | ||
changelogLines[rls.type].push(changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)); | ||
} | ||
}); | ||
let dependentReleases = releases.filter(rel => { | ||
const dependencyVersionRange = release.packageJson.dependencies ? release.packageJson.dependencies[rel.name] : null; | ||
const peerDependencyVersionRange = release.packageJson.peerDependencies ? release.packageJson.peerDependencies[rel.name] : null; | ||
var _release$packageJson$, _release$packageJson$2; | ||
const dependencyVersionRange = (_release$packageJson$ = release.packageJson.dependencies) === null || _release$packageJson$ === void 0 ? void 0 : _release$packageJson$[rel.name]; | ||
const peerDependencyVersionRange = (_release$packageJson$2 = release.packageJson.peerDependencies) === null || _release$packageJson$2 === void 0 ? void 0 : _release$packageJson$2[rel.name]; | ||
const versionRange = dependencyVersionRange || peerDependencyVersionRange; | ||
@@ -246,4 +248,4 @@ return versionRange && shouldUpdateDependencyBasedOnConfig({ | ||
let relevantChangesets = changesets.filter(cs => relevantChangesetIds.has(cs.id)); | ||
releaseObj.patch.push(changelogFuncs.getDependencyReleaseLine(relevantChangesets, dependentReleases, changelogOpts)); | ||
return [`## ${release.newVersion}`, await generateChangesForVersionTypeMarkdown(releaseObj, "major"), await generateChangesForVersionTypeMarkdown(releaseObj, "minor"), await generateChangesForVersionTypeMarkdown(releaseObj, "patch")].filter(line => line).join("\n"); | ||
changelogLines.patch.push(changelogFuncs.getDependencyReleaseLine(relevantChangesets, dependentReleases, changelogOpts)); | ||
return [`## ${release.newVersion}`, await generateChangesForVersionTypeMarkdown(changelogLines, "major"), await generateChangesForVersionTypeMarkdown(changelogLines, "minor"), await generateChangesForVersionTypeMarkdown(changelogLines, "patch")].filter(line => line).join("\n"); | ||
} | ||
@@ -287,3 +289,3 @@ | ||
const versionCommit = createReleaseCommit(releasePlan, config$1.commit); | ||
let releaseWithPackages = releases.map(release => { | ||
let releasesWithPackage = releases.map(release => { | ||
let pkg = packagesByName.get(release.name); | ||
@@ -294,3 +296,3 @@ if (!pkg) throw new Error(`Could not find matching package for release of: ${release.name}`); | ||
let releaseWithChangelogs = await getNewChangelogEntry(releaseWithPackages, changesets, config$1, cwd); | ||
let releaseWithChangelogs = await getNewChangelogEntry(releasesWithPackage, changesets, config$1, cwd); | ||
@@ -416,3 +418,3 @@ if (releasePlan.preState !== undefined && snapshot === undefined) { | ||
return Promise.all(releasesWithPackage.map(async release => { | ||
let changelog = await generateMarkdown(release, releasesWithPackage, moddedChangesets, getChangelogFuncs, changelogOpts, { | ||
let changelog = await getChangelogEntry(release, releasesWithPackage, moddedChangesets, getChangelogFuncs, changelogOpts, { | ||
updateInternalDependencies: config.updateInternalDependencies, | ||
@@ -419,0 +421,0 @@ onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange |
@@ -113,5 +113,5 @@ "use strict"; | ||
async function generateMarkdown(release, releases, changesets, changelogFuncs, changelogOpts, {updateInternalDependencies: updateInternalDependencies, onlyUpdatePeerDependentsWhenOutOfRange: onlyUpdatePeerDependentsWhenOutOfRange}) { | ||
async function getChangelogEntry(release, releases, changesets, changelogFuncs, changelogOpts, {updateInternalDependencies: updateInternalDependencies, onlyUpdatePeerDependentsWhenOutOfRange: onlyUpdatePeerDependentsWhenOutOfRange}) { | ||
if ("none" === release.type) return null; | ||
const releaseObj = { | ||
const changelogLines = { | ||
major: [], | ||
@@ -123,6 +123,7 @@ minor: [], | ||
const rls = cs.releases.find((r => r.name === release.name)); | ||
rls && "none" !== rls.type && releaseObj[rls.type].push(changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)); | ||
rls && "none" !== rls.type && changelogLines[rls.type].push(changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)); | ||
})); | ||
let dependentReleases = releases.filter((rel => { | ||
const dependencyVersionRange = release.packageJson.dependencies ? release.packageJson.dependencies[rel.name] : null, peerDependencyVersionRange = release.packageJson.peerDependencies ? release.packageJson.peerDependencies[rel.name] : null, versionRange = dependencyVersionRange || peerDependencyVersionRange; | ||
var _release$packageJson$, _release$packageJson$2; | ||
const dependencyVersionRange = null === (_release$packageJson$ = release.packageJson.dependencies) || void 0 === _release$packageJson$ ? void 0 : _release$packageJson$[rel.name], peerDependencyVersionRange = null === (_release$packageJson$2 = release.packageJson.peerDependencies) || void 0 === _release$packageJson$2 ? void 0 : _release$packageJson$2[rel.name], versionRange = dependencyVersionRange || peerDependencyVersionRange; | ||
return versionRange && shouldUpdateDependencyBasedOnConfig({ | ||
@@ -145,4 +146,4 @@ type: rel.type, | ||
let relevantChangesets = changesets.filter((cs => relevantChangesetIds.has(cs.id))); | ||
return releaseObj.patch.push(changelogFuncs.getDependencyReleaseLine(relevantChangesets, dependentReleases, changelogOpts)), | ||
[ "## " + release.newVersion, await generateChangesForVersionTypeMarkdown(releaseObj, "major"), await generateChangesForVersionTypeMarkdown(releaseObj, "minor"), await generateChangesForVersionTypeMarkdown(releaseObj, "patch") ].filter((line => line)).join("\n"); | ||
return changelogLines.patch.push(changelogFuncs.getDependencyReleaseLine(relevantChangesets, dependentReleases, changelogOpts)), | ||
[ "## " + release.newVersion, await generateChangesForVersionTypeMarkdown(changelogLines, "major"), await generateChangesForVersionTypeMarkdown(changelogLines, "minor"), await generateChangesForVersionTypeMarkdown(changelogLines, "patch") ].filter((line => line)).join("\n"); | ||
} | ||
@@ -171,7 +172,7 @@ | ||
const versionCommit = createReleaseCommit(releasePlan, config$1.commit); | ||
let releaseWithPackages = releases.map((release => { | ||
let releasesWithPackage = releases.map((release => { | ||
let pkg = packagesByName.get(release.name); | ||
if (!pkg) throw new Error("Could not find matching package for release of: " + release.name); | ||
return _objectSpread2(_objectSpread2({}, release), pkg); | ||
})), releaseWithChangelogs = await getNewChangelogEntry(releaseWithPackages, changesets, config$1, cwd); | ||
})), releaseWithChangelogs = await getNewChangelogEntry(releasesWithPackage, changesets, config$1, cwd); | ||
void 0 !== releasePlan.preState && void 0 === snapshot && ("exit" === releasePlan.preState.mode ? await fs__default.default.remove(path__default.default.join(cwd, ".changeset", "pre.json")) : await fs__default.default.writeFile(path__default.default.join(cwd, ".changeset", "pre.json"), JSON.stringify(releasePlan.preState, null, 2) + "\n")); | ||
@@ -232,3 +233,3 @@ let versionsToUpdate = releases.map((({name: name, newVersion: newVersion, type: type}) => ({ | ||
return Promise.all(releasesWithPackage.map((async release => { | ||
let changelog = await generateMarkdown(release, releasesWithPackage, moddedChangesets, getChangelogFuncs, changelogOpts, { | ||
let changelog = await getChangelogEntry(release, releasesWithPackage, moddedChangesets, getChangelogFuncs, changelogOpts, { | ||
updateInternalDependencies: config.updateInternalDependencies, | ||
@@ -235,0 +236,0 @@ onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange |
@@ -184,3 +184,3 @@ import { defaultConfig } from '@changesets/config'; | ||
async function generateMarkdown(release, releases, changesets, changelogFuncs, changelogOpts, { | ||
async function getChangelogEntry(release, releases, changesets, changelogFuncs, changelogOpts, { | ||
updateInternalDependencies, | ||
@@ -190,3 +190,3 @@ onlyUpdatePeerDependentsWhenOutOfRange | ||
if (release.type === "none") return null; | ||
const releaseObj = { | ||
const changelogLines = { | ||
major: [], | ||
@@ -204,8 +204,10 @@ minor: [], | ||
if (rls && rls.type !== "none") { | ||
releaseObj[rls.type].push(changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)); | ||
changelogLines[rls.type].push(changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)); | ||
} | ||
}); | ||
let dependentReleases = releases.filter(rel => { | ||
const dependencyVersionRange = release.packageJson.dependencies ? release.packageJson.dependencies[rel.name] : null; | ||
const peerDependencyVersionRange = release.packageJson.peerDependencies ? release.packageJson.peerDependencies[rel.name] : null; | ||
var _release$packageJson$, _release$packageJson$2; | ||
const dependencyVersionRange = (_release$packageJson$ = release.packageJson.dependencies) === null || _release$packageJson$ === void 0 ? void 0 : _release$packageJson$[rel.name]; | ||
const peerDependencyVersionRange = (_release$packageJson$2 = release.packageJson.peerDependencies) === null || _release$packageJson$2 === void 0 ? void 0 : _release$packageJson$2[rel.name]; | ||
const versionRange = dependencyVersionRange || peerDependencyVersionRange; | ||
@@ -230,4 +232,4 @@ return versionRange && shouldUpdateDependencyBasedOnConfig({ | ||
let relevantChangesets = changesets.filter(cs => relevantChangesetIds.has(cs.id)); | ||
releaseObj.patch.push(changelogFuncs.getDependencyReleaseLine(relevantChangesets, dependentReleases, changelogOpts)); | ||
return [`## ${release.newVersion}`, await generateChangesForVersionTypeMarkdown(releaseObj, "major"), await generateChangesForVersionTypeMarkdown(releaseObj, "minor"), await generateChangesForVersionTypeMarkdown(releaseObj, "patch")].filter(line => line).join("\n"); | ||
changelogLines.patch.push(changelogFuncs.getDependencyReleaseLine(relevantChangesets, dependentReleases, changelogOpts)); | ||
return [`## ${release.newVersion}`, await generateChangesForVersionTypeMarkdown(changelogLines, "major"), await generateChangesForVersionTypeMarkdown(changelogLines, "minor"), await generateChangesForVersionTypeMarkdown(changelogLines, "patch")].filter(line => line).join("\n"); | ||
} | ||
@@ -271,3 +273,3 @@ | ||
const versionCommit = createReleaseCommit(releasePlan, config.commit); | ||
let releaseWithPackages = releases.map(release => { | ||
let releasesWithPackage = releases.map(release => { | ||
let pkg = packagesByName.get(release.name); | ||
@@ -278,3 +280,3 @@ if (!pkg) throw new Error(`Could not find matching package for release of: ${release.name}`); | ||
let releaseWithChangelogs = await getNewChangelogEntry(releaseWithPackages, changesets, config, cwd); | ||
let releaseWithChangelogs = await getNewChangelogEntry(releasesWithPackage, changesets, config, cwd); | ||
@@ -400,3 +402,3 @@ if (releasePlan.preState !== undefined && snapshot === undefined) { | ||
return Promise.all(releasesWithPackage.map(async release => { | ||
let changelog = await generateMarkdown(release, releasesWithPackage, moddedChangesets, getChangelogFuncs, changelogOpts, { | ||
let changelog = await getChangelogEntry(release, releasesWithPackage, moddedChangesets, getChangelogFuncs, changelogOpts, { | ||
updateInternalDependencies: config.updateInternalDependencies, | ||
@@ -403,0 +405,0 @@ onlyUpdatePeerDependentsWhenOutOfRange: config.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange |
import { ChangelogFunctions, NewChangesetWithCommit } from "@changesets/types"; | ||
import { ModCompWithPackage } from "@changesets/types"; | ||
export default function generateMarkdown(release: ModCompWithPackage, releases: ModCompWithPackage[], changesets: NewChangesetWithCommit[], changelogFuncs: ChangelogFunctions, changelogOpts: any, { updateInternalDependencies, onlyUpdatePeerDependentsWhenOutOfRange }: { | ||
export default function getChangelogEntry(release: ModCompWithPackage, releases: ModCompWithPackage[], changesets: NewChangesetWithCommit[], changelogFuncs: ChangelogFunctions, changelogOpts: any, { updateInternalDependencies, onlyUpdatePeerDependentsWhenOutOfRange }: { | ||
updateInternalDependencies: "patch" | "minor"; | ||
onlyUpdatePeerDependentsWhenOutOfRange: boolean; | ||
}): Promise<string | null>; |
{ | ||
"name": "@changesets/apply-release-plan", | ||
"version": "4.2.0", | ||
"version": "5.0.0", | ||
"description": "Takes a release plan and applies it to packages", | ||
@@ -8,9 +8,9 @@ "main": "dist/apply-release-plan.cjs.js", | ||
"license": "MIT", | ||
"repository": "https://github.com/changesets/changesets/tree/master/packages/apply-release-plan", | ||
"repository": "https://github.com/changesets/changesets/tree/main/packages/apply-release-plan", | ||
"dependencies": { | ||
"@babel/runtime": "^7.10.4", | ||
"@changesets/config": "^1.5.0", | ||
"@changesets/config": "^1.6.0", | ||
"@changesets/get-version-range-type": "^0.3.2", | ||
"@changesets/git": "^1.0.5", | ||
"@changesets/types": "^3.3.0", | ||
"@changesets/git": "^1.1.1", | ||
"@changesets/types": "^4.0.0", | ||
"@manypkg/get-packages": "^1.0.1", | ||
@@ -17,0 +17,0 @@ "detect-indent": "^6.0.0", |
@@ -25,3 +25,3 @@ import { ChangelogFunctions, NewChangesetWithCommit } from "@changesets/types"; | ||
// release is the package and version we are releasing | ||
export default async function generateMarkdown( | ||
export default async function getChangelogEntry( | ||
release: ModCompWithPackage, | ||
@@ -42,3 +42,3 @@ releases: ModCompWithPackage[], | ||
const releaseObj: ChangelogLines = { | ||
const changelogLines: ChangelogLines = { | ||
major: [], | ||
@@ -56,3 +56,3 @@ minor: [], | ||
if (rls && rls.type !== "none") { | ||
releaseObj[rls.type].push( | ||
changelogLines[rls.type].push( | ||
changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts) | ||
@@ -62,10 +62,6 @@ ); | ||
}); | ||
let dependentReleases = releases.filter(rel => { | ||
const dependencyVersionRange = release.packageJson.dependencies | ||
? release.packageJson.dependencies[rel.name] | ||
: null; | ||
const peerDependencyVersionRange = release.packageJson.peerDependencies | ||
? release.packageJson.peerDependencies[rel.name] | ||
: null; | ||
const dependencyVersionRange = release.packageJson.dependencies?.[rel.name]; | ||
const peerDependencyVersionRange = | ||
release.packageJson.peerDependencies?.[rel.name]; | ||
@@ -101,3 +97,3 @@ const versionRange = dependencyVersionRange || peerDependencyVersionRange; | ||
releaseObj.patch.push( | ||
changelogLines.patch.push( | ||
changelogFuncs.getDependencyReleaseLine( | ||
@@ -112,5 +108,5 @@ relevantChangesets, | ||
`## ${release.newVersion}`, | ||
await generateChangesForVersionTypeMarkdown(releaseObj, "major"), | ||
await generateChangesForVersionTypeMarkdown(releaseObj, "minor"), | ||
await generateChangesForVersionTypeMarkdown(releaseObj, "patch") | ||
await generateChangesForVersionTypeMarkdown(changelogLines, "major"), | ||
await generateChangesForVersionTypeMarkdown(changelogLines, "minor"), | ||
await generateChangesForVersionTypeMarkdown(changelogLines, "patch") | ||
] | ||
@@ -117,0 +113,0 @@ .filter(line => line) |
@@ -78,3 +78,3 @@ import { | ||
let releaseWithPackages = releases.map(release => { | ||
let releasesWithPackage = releases.map(release => { | ||
let pkg = packagesByName.get(release.name); | ||
@@ -93,3 +93,3 @@ if (!pkg) | ||
let releaseWithChangelogs = await getNewChangelogEntry( | ||
releaseWithPackages, | ||
releasesWithPackage, | ||
changesets, | ||
@@ -96,0 +96,0 @@ config, |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
163494
3901
- Removed@changesets/types@3.3.0(transitive)
Updated@changesets/config@^1.6.0
Updated@changesets/git@^1.1.1
Updated@changesets/types@^4.0.0