diff --git a/scripts/clean-changelog-unreleased.js b/scripts/clean-changelog-unreleased.js deleted file mode 100644 index 3fdeaef3d..000000000 --- a/scripts/clean-changelog-unreleased.js +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env node - -import fs from "node:fs"; -import { fileURLToPath } from "node:url"; - -import fastGlob from "fast-glob"; - -const changelogUnreleasedDir = fileURLToPath( - new URL("../changelog_unreleased", import.meta.url), -); - -const files = fastGlob.sync(["blog-post-intro.md", "*/*.md"], { - cwd: changelogUnreleasedDir, - absolute: true, -}); -for (const file of files) { - fs.unlinkSync(file); -} diff --git a/scripts/release/package.json b/scripts/release/package.json index 25878bdd6..a544abdcc 100644 --- a/scripts/release/package.json +++ b/scripts/release/package.json @@ -8,6 +8,7 @@ "chalk": "5.3.0", "enquirer": "2.4.1", "execa": "8.0.1", + "fast-glob": "3.3.2", "outdent": "0.8.0", "semver": "7.5.4" }, diff --git a/scripts/release/run.js b/scripts/release/run.js index e4a395775..4c22b8b5c 100644 --- a/scripts/release/run.js +++ b/scripts/release/run.js @@ -55,6 +55,11 @@ for (let step of [ steps.showInstructionsAfterNpmPublish, steps.updateDependentsCount, steps.bumpPrettier, + { + name: "Cleaning changelog", + process: steps.cleanChangelog, + skip: params.dry || params.next, + }, steps.postPublishSteps, ]) { if (typeof step === "function") { diff --git a/scripts/release/steps/clean-changelog.js b/scripts/release/steps/clean-changelog.js new file mode 100644 index 000000000..7fc14e31a --- /dev/null +++ b/scripts/release/steps/clean-changelog.js @@ -0,0 +1,22 @@ +import fs from "node:fs/promises"; +import { fileURLToPath } from "node:url"; + +import fastGlob from "fast-glob"; + +import { runGit } from "../utils.js"; + +export default async function cleanChangelog({ repo }) { + const changelogUnreleasedDir = fileURLToPath( + new URL("../changelog_unreleased", import.meta.url), + ); + + const files = await fastGlob(["blog-post-intro.md", "*/*.md"], { + cwd: changelogUnreleasedDir, + absolute: true, + }); + + await Promise.all(files.map((file) => fs.unlink(file))); + + await runGit(["commit", "-am", "Clean changelog_unreleased"]); + await runGit(["push", "--repo", repo]); +} diff --git a/scripts/release/steps/index.js b/scripts/release/steps/index.js index ff7d12f33..ec6368830 100644 --- a/scripts/release/steps/index.js +++ b/scripts/release/steps/index.js @@ -1,5 +1,6 @@ export { default as bumpPrettier } from "./bump-prettier.js"; export { default as checkGitStatus } from "./check-git-status.js"; +export { default as cleanChangelog } from "./clean-changelog.js"; export { default as generateBundles } from "./generate-bundles.js"; export { default as installDependencies } from "./install-dependencies.js"; export { default as lintFiles } from "./lint-files.js"; diff --git a/scripts/release/yarn.lock b/scripts/release/yarn.lock index cab2fee67..0492d18b0 100644 --- a/scripts/release/yarn.lock +++ b/scripts/release/yarn.lock @@ -5,6 +5,33 @@ __metadata: version: 8 cacheKey: 10 +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + languageName: node + linkType: hard + "ansi-colors@npm:^4.1.1": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" @@ -19,6 +46,15 @@ __metadata: languageName: node linkType: hard +"braces@npm:^3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: "npm:^7.0.1" + checksum: 966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1 + languageName: node + linkType: hard + "chalk@npm:5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" @@ -64,6 +100,37 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 222512e9315a0efca1276af9adb2127f02105d7288fa746145bf45e2716383fb79eb983c89601a72a399a56b7c18d38ce70457c5466218c5f13fad957cee16df + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.16.0 + resolution: "fastq@npm:1.16.0" + dependencies: + reusify: "npm:^1.0.4" + checksum: de151543aab9d91900ed5da88860c46987ece925c628df586fac664235f25e020ec20729e1c032edb5fd2520fd4aa5b537d69e39b689e65e82112cfbecb4479e + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429 + languageName: node + linkType: hard + "get-stream@npm:^8.0.1": version: 8.0.1 resolution: "get-stream@npm:8.0.1" @@ -71,6 +138,15 @@ __metadata: languageName: node linkType: hard +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 + languageName: node + linkType: hard + "human-signals@npm:^5.0.0": version: 5.0.0 resolution: "human-signals@npm:5.0.0" @@ -78,6 +154,29 @@ __metadata: languageName: node linkType: hard +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86 + languageName: node + linkType: hard + "is-stream@npm:^3.0.0": version: 3.0.0 resolution: "is-stream@npm:3.0.0" @@ -108,6 +207,23 @@ __metadata: languageName: node linkType: hard +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: "npm:^3.0.2" + picomatch: "npm:^2.3.1" + checksum: a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2 + languageName: node + linkType: hard + "mimic-fn@npm:^4.0.0": version: 4.0.0 resolution: "mimic-fn@npm:4.0.0" @@ -154,6 +270,27 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb + languageName: node + linkType: hard + "root-workspace-0b6124@workspace:.": version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." @@ -161,11 +298,21 @@ __metadata: chalk: "npm:5.3.0" enquirer: "npm:2.4.1" execa: "npm:8.0.1" + fast-glob: "npm:3.3.2" outdent: "npm:0.8.0" semver: "npm:7.5.4" languageName: unknown linkType: soft +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + languageName: node + linkType: hard + "semver@npm:7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" @@ -216,6 +363,15 @@ __metadata: languageName: node linkType: hard +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a + languageName: node + linkType: hard + "which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2"