Replace execa with nano-spawn in release script (#17129)

This commit is contained in:
fisker Cheung authored and GitHub committed 2025-02-22 11:58:23 +08:00
1 parent 4460a4e55d
commit c98acabc34
6 files changed
+19 -206

No files matched your search

+1 -1
View File
@@ -6,8 +6,8 @@
}, },
"dependencies": { "dependencies": {
"enquirer": "2.4.1", "enquirer": "2.4.1",
"execa": "9.5.2",
"fast-glob": "3.3.3", "fast-glob": "3.3.3",
"nano-spawn": "0.2.0",
"node-style-text": "0.0.7", "node-style-text": "0.0.7",
"outdent": "0.8.0", "outdent": "0.8.0",
"semver": "7.7.1" "semver": "7.7.1"
@@ -1,11 +1,11 @@
import { execa } from "execa"; import spawn from "nano-spawn";
import { runGit, runYarn } from "../utils.js"; import { runGit, runYarn } from "../utils.js";
export default async function installDependencies() { export default async function installDependencies() {
await execa("rm", ["-rf", "node_modules"]); await spawn("rm", ["-rf", "node_modules"]);
await runYarn(["install"]); await runYarn(["install"]);
await execa("rm", ["-rf", "node_modules"], { cwd: "./website" }); await spawn("rm", ["-rf", "node_modules"], { cwd: "./website" });
await runYarn(["install"], { cwd: "./website" }); await runYarn(["install"], { cwd: "./website" });
const { stdout: status } = await runGit(["ls-files", "-m"]); const { stdout: status } = await runGit(["ls-files", "-m"]);
+2 -2
View File
@@ -1,5 +1,5 @@
import enquirer from "enquirer"; import enquirer from "enquirer";
import { execa } from "execa"; import spawn from "nano-spawn";
import { waitForEnter } from "../utils.js"; import { waitForEnter } from "../utils.js";
export default async function publishToNpm({ dry }) { export default async function publishToNpm({ dry }) {
@@ -24,7 +24,7 @@ export default async function publishToNpm({ dry }) {
args.push("--otp", otp); args.push("--otp", otp);
} }
await execa("npm", args, { cwd: "./dist" }); await spawn("npm", args, { cwd: "./dist" });
}; };
/** /**
+2 -2
View File
@@ -1,5 +1,5 @@
import fs from "node:fs"; import fs from "node:fs";
import { execa } from "execa"; import spawn from "nano-spawn";
import styleText from "node-style-text"; import styleText from "node-style-text";
import semver from "semver"; import semver from "semver";
import { import {
@@ -17,7 +17,7 @@ function writeChangelog(params) {
} }
async function getChangelogForPatch({ version, previousVersion }) { async function getChangelogForPatch({ version, previousVersion }) {
const { stdout: changelog } = await execa("node", [ const { stdout: changelog } = await spawn(process.execPath, [
"scripts/changelog-for-patch.js", "scripts/changelog-for-patch.js",
"--prev-version", "--prev-version",
previousVersion, previousVersion,
+3 -3
View File
@@ -2,7 +2,7 @@ import fs from "node:fs";
import path from "node:path"; import path from "node:path";
import readline from "node:readline"; import readline from "node:readline";
import url from "node:url"; import url from "node:url";
import { execa } from "execa"; import spawn from "nano-spawn";
import styleText from "node-style-text"; import styleText from "node-style-text";
import outdent from "outdent"; import outdent from "outdent";
import getFormattedDate from "./get-formatted-date.js"; import getFormattedDate from "./get-formatted-date.js";
@@ -60,7 +60,7 @@ async function runYarn(args, options) {
args = Array.isArray(args) ? args : [args]; args = Array.isArray(args) ? args : [args];
try { try {
return await execa("yarn", [...args], options); return await spawn("yarn", [...args], options);
} catch (error) { } catch (error) {
throw new Error(`\`yarn ${args.join(" ")}\` failed\n${error.stdout}`); throw new Error(`\`yarn ${args.join(" ")}\` failed\n${error.stdout}`);
} }
@@ -68,7 +68,7 @@ async function runYarn(args, options) {
function runGit(args, options) { function runGit(args, options) {
args = Array.isArray(args) ? args : [args]; args = Array.isArray(args) ? args : [args];
return execa("git", args, options); return spawn("git", args, options);
} }
function waitForEnter() { function waitForEnter() {
+8 -195
View File
@@ -32,20 +32,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@sec-ant/readable-stream@npm:^0.4.1":
version: 0.4.1
resolution: "@sec-ant/readable-stream@npm:0.4.1"
checksum: 10/aac89581652ac85debe7c5303451c2ebf8bf25ca25db680e4b9b73168f6940616d9a4bbe3348981827b1159b14e2f2e6af4b7bd5735cac898c12d5c51909c102
languageName: node
linkType: hard
"@sindresorhus/merge-streams@npm:^4.0.0":
version: 4.0.0
resolution: "@sindresorhus/merge-streams@npm:4.0.0"
checksum: 10/16551c787f5328c8ef05fd9831ade64369ccc992df78deb635ec6c44af217d2f1b43f8728c348cdc4e00585ff2fad6e00d8155199cbf6b154acc45fe65cbf0aa
languageName: node
linkType: hard
"ansi-colors@npm:^4.1.1": "ansi-colors@npm:^4.1.1":
version: 4.1.3 version: 4.1.3
resolution: "ansi-colors@npm:4.1.3" resolution: "ansi-colors@npm:4.1.3"
@@ -69,17 +55,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"cross-spawn@npm:^7.0.3":
version: 7.0.6
resolution: "cross-spawn@npm:7.0.6"
dependencies:
path-key: "npm:^3.1.0"
shebang-command: "npm:^2.0.0"
which: "npm:^2.0.1"
checksum: 10/0d52657d7ae36eb130999dffff1168ec348687b48dd38e2ff59992ed916c88d328cf1d07ff4a4a10bc78de5e1c23f04b306d569e42f7a2293915c081e4dfee86
languageName: node
linkType: hard
"enquirer@npm:2.4.1": "enquirer@npm:2.4.1":
version: 2.4.1 version: 2.4.1
resolution: "enquirer@npm:2.4.1" resolution: "enquirer@npm:2.4.1"
@@ -90,26 +65,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"execa@npm:9.5.2":
version: 9.5.2
resolution: "execa@npm:9.5.2"
dependencies:
"@sindresorhus/merge-streams": "npm:^4.0.0"
cross-spawn: "npm:^7.0.3"
figures: "npm:^6.1.0"
get-stream: "npm:^9.0.0"
human-signals: "npm:^8.0.0"
is-plain-obj: "npm:^4.1.0"
is-stream: "npm:^4.0.1"
npm-run-path: "npm:^6.0.0"
pretty-ms: "npm:^9.0.0"
signal-exit: "npm:^4.1.0"
strip-final-newline: "npm:^4.0.0"
yoctocolors: "npm:^2.0.0"
checksum: 10/652fa492e7e1052becba12275aafd1c3d249967a4400f798877aa6c21fafcd8182ee3ce09a54f0379785635f32a4adeef77b2edb83d7e8a55b06819ed102ff2a
languageName: node
linkType: hard
"fast-glob@npm:3.3.3": "fast-glob@npm:3.3.3":
version: 3.3.3 version: 3.3.3
resolution: "fast-glob@npm:3.3.3" resolution: "fast-glob@npm:3.3.3"
@@ -132,15 +87,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"figures@npm:^6.1.0":
version: 6.1.0
resolution: "figures@npm:6.1.0"
dependencies:
is-unicode-supported: "npm:^2.0.0"
checksum: 10/9822d13630bee8e6a9f2da866713adf13854b07e0bfde042defa8bba32d47a1c0b2afa627ce73837c674cf9a5e3edce7e879ea72cb9ea7960b2390432d8e1167
languageName: node
linkType: hard
"fill-range@npm:^7.1.1": "fill-range@npm:^7.1.1":
version: 7.1.1 version: 7.1.1
resolution: "fill-range@npm:7.1.1" resolution: "fill-range@npm:7.1.1"
@@ -150,16 +96,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"get-stream@npm:^9.0.0":
version: 9.0.1
resolution: "get-stream@npm:9.0.1"
dependencies:
"@sec-ant/readable-stream": "npm:^0.4.1"
is-stream: "npm:^4.0.1"
checksum: 10/ce56e6db6bcd29ca9027b0546af035c3e93dcd154ca456b54c298901eb0e5b2ce799c5d727341a100c99e14c523f267f1205f46f153f7b75b1f4da6d98a21c5e
languageName: node
linkType: hard
"glob-parent@npm:^5.1.2": "glob-parent@npm:^5.1.2":
version: 5.1.2 version: 5.1.2
resolution: "glob-parent@npm:5.1.2" resolution: "glob-parent@npm:5.1.2"
@@ -169,13 +105,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"human-signals@npm:^8.0.0":
version: 8.0.0
resolution: "human-signals@npm:8.0.0"
checksum: 10/89acdc7081ac2a065e41cca7351c4b0fe2382e213b7372f90df6a554e340f31b49388a307adc1d6f4c60b2b4fe81eeff0bc1f44be6f5d844311cd92ccc7831c6
languageName: node
linkType: hard
"is-extglob@npm:^2.1.1": "is-extglob@npm:^2.1.1":
version: 2.1.1 version: 2.1.1
resolution: "is-extglob@npm:2.1.1" resolution: "is-extglob@npm:2.1.1"
@@ -199,34 +128,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"is-plain-obj@npm:^4.1.0":
version: 4.1.0
resolution: "is-plain-obj@npm:4.1.0"
checksum: 10/6dc45da70d04a81f35c9310971e78a6a3c7a63547ef782e3a07ee3674695081b6ca4e977fbb8efc48dae3375e0b34558d2bcd722aec9bddfa2d7db5b041be8ce
languageName: node
linkType: hard
"is-stream@npm:^4.0.1":
version: 4.0.1
resolution: "is-stream@npm:4.0.1"
checksum: 10/cbea3f1fc271b21ceb228819d0c12a0965a02b57f39423925f99530b4eb86935235f258f06310b67cd02b2d10b49e9a0998f5ececf110ab7d3760bae4055ad23
languageName: node
linkType: hard
"is-unicode-supported@npm:^2.0.0":
version: 2.1.0
resolution: "is-unicode-supported@npm:2.1.0"
checksum: 10/f254e3da6b0ab1a57a94f7273a7798dd35d1d45b227759f600d0fa9d5649f9c07fa8d3c8a6360b0e376adf916d151ec24fc9a50c5295c58bae7ca54a76a063f9
languageName: node
linkType: hard
"isexe@npm:^2.0.0":
version: 2.0.0
resolution: "isexe@npm:2.0.0"
checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92
languageName: node
linkType: hard
"merge2@npm:^1.3.0": "merge2@npm:^1.3.0":
version: 1.4.1 version: 1.4.1
resolution: "merge2@npm:1.4.1" resolution: "merge2@npm:1.4.1"
@@ -244,6 +145,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"nano-spawn@npm:0.2.0":
version: 0.2.0
resolution: "nano-spawn@npm:0.2.0"
checksum: 10/efc75810590f9a15ffde05f03ab6408727524040fe13db1a34e8d09512803269f976a294b4facf51ba30bfb32568dcc8a723fee36e45a5748cd045bf566b6790
languageName: node
linkType: hard
"node-style-text@npm:0.0.7": "node-style-text@npm:0.0.7":
version: 0.0.7 version: 0.0.7
resolution: "node-style-text@npm:0.0.7" resolution: "node-style-text@npm:0.0.7"
@@ -251,16 +159,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"npm-run-path@npm:^6.0.0":
version: 6.0.0
resolution: "npm-run-path@npm:6.0.0"
dependencies:
path-key: "npm:^4.0.0"
unicorn-magic: "npm:^0.3.0"
checksum: 10/1a1b50aba6e6af7fd34a860ba2e252e245c4a59b316571a990356417c0cdf0414cabf735f7f52d9c330899cb56f0ab804a8e21fb12a66d53d7843e39ada4a3b6
languageName: node
linkType: hard
"outdent@npm:0.8.0": "outdent@npm:0.8.0":
version: 0.8.0 version: 0.8.0
resolution: "outdent@npm:0.8.0" resolution: "outdent@npm:0.8.0"
@@ -268,27 +166,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"parse-ms@npm:^4.0.0":
version: 4.0.0
resolution: "parse-ms@npm:4.0.0"
checksum: 10/673c801d9f957ff79962d71ed5a24850163f4181a90dd30c4e3666b3a804f53b77f1f0556792e8b2adbb5d58757907d1aa51d7d7dc75997c2a56d72937cbc8b7
languageName: node
linkType: hard
"path-key@npm:^3.1.0":
version: 3.1.1
resolution: "path-key@npm:3.1.1"
checksum: 10/55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020
languageName: node
linkType: hard
"path-key@npm:^4.0.0":
version: 4.0.0
resolution: "path-key@npm:4.0.0"
checksum: 10/8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7
languageName: node
linkType: hard
"picomatch@npm:^2.3.1": "picomatch@npm:^2.3.1":
version: 2.3.1 version: 2.3.1
resolution: "picomatch@npm:2.3.1" resolution: "picomatch@npm:2.3.1"
@@ -296,15 +173,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"pretty-ms@npm:^9.0.0":
version: 9.2.0
resolution: "pretty-ms@npm:9.2.0"
dependencies:
parse-ms: "npm:^4.0.0"
checksum: 10/a65a1d81560867f4f7128862fdbf0e1c2d3c5607bf75cae7758bf8111e2c4b744be46e084704125a38ba918bb43defa7a53aaff0f48c5c2d95367d3148c980d9
languageName: node
linkType: hard
"queue-microtask@npm:^1.2.2": "queue-microtask@npm:^1.2.2":
version: 1.2.3 version: 1.2.3
resolution: "queue-microtask@npm:1.2.3" resolution: "queue-microtask@npm:1.2.3"
@@ -324,8 +192,8 @@ __metadata:
resolution: "root-workspace-0b6124@workspace:." resolution: "root-workspace-0b6124@workspace:."
dependencies: dependencies:
enquirer: "npm:2.4.1" enquirer: "npm:2.4.1"
execa: "npm:9.5.2"
fast-glob: "npm:3.3.3" fast-glob: "npm:3.3.3"
nano-spawn: "npm:0.2.0"
node-style-text: "npm:0.0.7" node-style-text: "npm:0.0.7"
outdent: "npm:0.8.0" outdent: "npm:0.8.0"
semver: "npm:7.7.1" semver: "npm:7.7.1"
@@ -350,29 +218,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
dependencies:
shebang-regex: "npm:^3.0.0"
checksum: 10/6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa
languageName: node
linkType: hard
"shebang-regex@npm:^3.0.0":
version: 3.0.0
resolution: "shebang-regex@npm:3.0.0"
checksum: 10/1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222
languageName: node
linkType: hard
"signal-exit@npm:^4.1.0":
version: 4.1.0
resolution: "signal-exit@npm:4.1.0"
checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f
languageName: node
linkType: hard
"strip-ansi@npm:^6.0.1": "strip-ansi@npm:^6.0.1":
version: 6.0.1 version: 6.0.1
resolution: "strip-ansi@npm:6.0.1" resolution: "strip-ansi@npm:6.0.1"
@@ -382,13 +227,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"strip-final-newline@npm:^4.0.0":
version: 4.0.0
resolution: "strip-final-newline@npm:4.0.0"
checksum: 10/b5fe48f695d74863153a3b3155220e6e9bf51f4447832998c8edec38e6559b3af87a9fe5ac0df95570a78a26f5fa91701358842eab3c15480e27980b154a145f
languageName: node
linkType: hard
"to-regex-range@npm:^5.0.1": "to-regex-range@npm:^5.0.1":
version: 5.0.1 version: 5.0.1
resolution: "to-regex-range@npm:5.0.1" resolution: "to-regex-range@npm:5.0.1"
@@ -397,28 +235,3 @@ __metadata:
checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a
languageName: node languageName: node
linkType: hard linkType: hard
"unicorn-magic@npm:^0.3.0":
version: 0.3.0
resolution: "unicorn-magic@npm:0.3.0"
checksum: 10/bdd7d7c522f9456f32a0b77af23f8854f9a7db846088c3868ec213f9550683ab6a2bdf3803577eacbafddb4e06900974385841ccb75338d17346ccef45f9cb01
languageName: node
linkType: hard
"which@npm:^2.0.1":
version: 2.0.2
resolution: "which@npm:2.0.2"
dependencies:
isexe: "npm:^2.0.0"
bin:
node-which: ./bin/node-which
checksum: 10/4782f8a1d6b8fc12c65e968fea49f59752bf6302dc43036c3bf87da718a80710f61a062516e9764c70008b487929a73546125570acea95c5b5dcc8ac3052c70f
languageName: node
linkType: hard
"yoctocolors@npm:^2.0.0":
version: 2.1.1
resolution: "yoctocolors@npm:2.1.1"
checksum: 10/563fbec88bce9716d1044bc98c96c329e1d7a7c503e6f1af68f1ff914adc3ba55ce953c871395e2efecad329f85f1632f51a99c362032940321ff80c42a6f74d
languageName: node
linkType: hard