Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefer local Prettier when formatting files #905

Merged
merged 6 commits into from Aug 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/lovely-suits-obey.md
@@ -0,0 +1,6 @@
---
"@changesets/apply-release-plan": minor
"@changesets/write": minor
---

The local version of Prettier is going to be preferred from now on when writing formatted `.md` files back to disk. At the same time the version of Prettier that we depend on has been upgraded.
8 changes: 4 additions & 4 deletions babel.config.js
Expand Up @@ -3,9 +3,9 @@ module.exports = {
[
"@babel/preset-env",
{
targets: { node: 8 }
}
]
targets: { node: 8 },
},
],
],
overrides: [{ test: "**/*.ts", presets: ["@babel/preset-typescript"] }]
overrides: [{ test: "**/*.ts", presets: ["@babel/preset-typescript"] }],
};
4 changes: 2 additions & 2 deletions docs/modifying-changelog-format.md
Expand Up @@ -35,7 +35,7 @@ async function getDependencyReleaseLine() {}

module.exports = {
getReleaseLine,
getDependencyReleaseLine
getDependencyReleaseLine,
};
```

Expand All @@ -52,7 +52,7 @@ async function getDependencyReleaseLine() {}

const defaultChangelogFunctions: ChangelogFunctions = {
getReleaseLine,
getDependencyReleaseLine
getDependencyReleaseLine,
};

export default defaultChangelogFunctions;
Expand Down
4 changes: 2 additions & 2 deletions jest.config.js
Expand Up @@ -2,6 +2,6 @@ module.exports = {
clearMocks: true,
watchPlugins: [
"jest-watch-typeahead/filename",
"jest-watch-typeahead/testname"
]
"jest-watch-typeahead/testname",
],
};
4 changes: 2 additions & 2 deletions package.json
Expand Up @@ -46,7 +46,7 @@
"@types/js-yaml": "^3.12.1",
"@types/lodash": "^4.14.136",
"@types/meow": "^5.0.0",
"@types/prettier": "^1.19.1",
"@types/prettier": "^2.7.0",
"@types/semver": "^6.0.0",
"@typescript-eslint/eslint-plugin": "^3.5.0",
"@typescript-eslint/parser": "^3.5.0",
Expand All @@ -63,7 +63,7 @@
"jest": "^25.1.0",
"jest-junit": "^6.4.0",
"jest-watch-typeahead": "^0.4.2",
"prettier": "^1.19.1",
"prettier": "^2.7.1",
"typescript": "^4.5.2"
},
"preconstruct": {
Expand Down
2 changes: 1 addition & 1 deletion packages/apply-release-plan/package.json
Expand Up @@ -17,7 +17,7 @@
"fs-extra": "^7.0.1",
"lodash.startcase": "^4.4.0",
"outdent": "^0.5.0",
"prettier": "^1.19.1",
"prettier": "^2.7.1",
"resolve-from": "^5.0.0",
"semver": "^5.4.1"
},
Expand Down
26 changes: 13 additions & 13 deletions packages/apply-release-plan/src/get-changelog-entry.ts
Expand Up @@ -15,7 +15,7 @@ async function generateChangesForVersionTypeMarkdown(
type: keyof ChangelogLines
) {
let releaseLines = await Promise.all(obj[type]);
releaseLines = releaseLines.filter(x => x);
releaseLines = releaseLines.filter((x) => x);
if (releaseLines.length) {
return `### ${startCase(type)} Changes\n\n${releaseLines.join("\n")}\n`;
}
Expand All @@ -30,7 +30,7 @@ export default async function getChangelogEntry(
changelogOpts: any,
{
updateInternalDependencies,
onlyUpdatePeerDependentsWhenOutOfRange
onlyUpdatePeerDependentsWhenOutOfRange,
}: {
updateInternalDependencies: "patch" | "minor";
onlyUpdatePeerDependentsWhenOutOfRange: boolean;
Expand All @@ -41,22 +41,22 @@ export default async function getChangelogEntry(
const changelogLines: ChangelogLines = {
major: [],
minor: [],
patch: []
patch: [],
};

// I sort of feel we can do better, as ComprehensiveReleases have an array
// of the relevant changesets but since we need the version type for the
// release in the changeset, I don't know if we can
// We can filter here, but that just adds another iteration over this list
changesets.forEach(cs => {
const rls = cs.releases.find(r => r.name === release.name);
changesets.forEach((cs) => {
const rls = cs.releases.find((r) => r.name === release.name);
if (rls && rls.type !== "none") {
changelogLines[rls.type].push(
changelogFuncs.getReleaseLine(cs, rls.type, changelogOpts)
);
}
});
let dependentReleases = releases.filter(rel => {
let dependentReleases = releases.filter((rel) => {
const dependencyVersionRange = release.packageJson.dependencies?.[rel.name];
const peerDependencyVersionRange =
release.packageJson.peerDependencies?.[rel.name];
Expand All @@ -68,25 +68,25 @@ export default async function getChangelogEntry(
{ type: rel.type, version: rel.newVersion },
{
depVersionRange: versionRange,
depType: dependencyVersionRange ? "dependencies" : "peerDependencies"
depType: dependencyVersionRange ? "dependencies" : "peerDependencies",
},
{
minReleaseType: updateInternalDependencies,
onlyUpdatePeerDependentsWhenOutOfRange
onlyUpdatePeerDependentsWhenOutOfRange,
}
)
);
});

let relevantChangesetIds: Set<string> = new Set();

dependentReleases.forEach(rel => {
rel.changesets.forEach(cs => {
dependentReleases.forEach((rel) => {
rel.changesets.forEach((cs) => {
relevantChangesetIds.add(cs);
});
});

let relevantChangesets = changesets.filter(cs =>
let relevantChangesets = changesets.filter((cs) =>
relevantChangesetIds.has(cs.id)
);

Expand All @@ -102,8 +102,8 @@ export default async function getChangelogEntry(
`## ${release.newVersion}`,
await generateChangesForVersionTypeMarkdown(changelogLines, "major"),
await generateChangesForVersionTypeMarkdown(changelogLines, "minor"),
await generateChangesForVersionTypeMarkdown(changelogLines, "patch")
await generateChangesForVersionTypeMarkdown(changelogLines, "patch"),
]
.filter(line => line)
.filter((line) => line)
.join("\n");
}