Skip to content

Commit 3c07e4d

Browse files
committed
refactor: use p-limit instead
1 parent 092fbb0 commit 3c07e4d

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
"eslint": "^9.23.0",
8686
"lint-staged": "^15.5.0",
8787
"npm-run-all2": "^7.0.2",
88+
"p-limit": "^6.2.0",
8889
"prettier": "^3.5.3",
8990
"simple-git-hooks": "^2.12.1",
9091
"size-limit": "^11.2.0",

src/run.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { exec } from '@actions/exec'
55
import type { Gitlab } from '@gitbeaker/core'
66
import type { Package } from '@manypkg/get-packages'
77
import { getPackages } from '@manypkg/get-packages'
8+
import pLimit from 'p-limit'
89
import resolveFrom from 'resolve-from'
910
import semver from 'semver'
1011

@@ -23,6 +24,8 @@ import {
2324
sortTheThings,
2425
} from './utils.js'
2526

27+
const limit = pLimit(2 * 3)
28+
2629
export const createRelease = async (
2730
api: Gitlab,
2831
{ pkg, tagName }: { pkg: Package; tagName: string },
@@ -155,12 +158,16 @@ export async function runPublish({
155158
)
156159
}
157160
if (createGitlabReleases) {
158-
for (const pkg of releasedPackages) {
159-
await createRelease(api, {
160-
pkg,
161-
tagName: `${pkg.packageJson.name}@${pkg.packageJson.version}`,
162-
})
163-
}
161+
await Promise.all(
162+
releasedPackages.map(pkg =>
163+
limit(() =>
164+
createRelease(api, {
165+
pkg,
166+
tagName: `${pkg.packageJson.name}@${pkg.packageJson.version}`,
167+
}),
168+
),
169+
),
170+
)
164171
}
165172
}
166173

yarn.lock

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5520,6 +5520,7 @@ __metadata:
55205520
mdast-util-to-string: "npm:^4.0.0"
55215521
micromatch: "npm:^4.0.8"
55225522
npm-run-all2: "npm:^7.0.2"
5523+
p-limit: "npm:^6.2.0"
55235524
prettier: "npm:^3.5.3"
55245525
remark-parse: "npm:^11.0.0"
55255526
remark-stringify: "npm:^11.0.0"
@@ -11134,6 +11135,15 @@ __metadata:
1113411135
languageName: node
1113511136
linkType: hard
1113611137

11138+
"p-limit@npm:^6.2.0":
11139+
version: 6.2.0
11140+
resolution: "p-limit@npm:6.2.0"
11141+
dependencies:
11142+
yocto-queue: "npm:^1.1.1"
11143+
checksum: 10c0/448bf55a1776ca1444594d53b3c731e68cdca00d44a6c8df06a2f6e506d5bbd540ebb57b05280f8c8bff992a630ed782a69612473f769a7473495d19e2270166
11144+
languageName: node
11145+
linkType: hard
11146+
1113711147
"p-locate@npm:^4.1.0":
1113811148
version: 4.1.0
1113911149
resolution: "p-locate@npm:4.1.0"
@@ -15095,7 +15105,7 @@ __metadata:
1509515105
languageName: node
1509615106
linkType: hard
1509715107

15098-
"yocto-queue@npm:^1.0.0":
15108+
"yocto-queue@npm:^1.0.0, yocto-queue@npm:^1.1.1":
1509915109
version: 1.2.1
1510015110
resolution: "yocto-queue@npm:1.2.1"
1510115111
checksum: 10c0/5762caa3d0b421f4bdb7a1926b2ae2189fc6e4a14469258f183600028eb16db3e9e0306f46e8ebf5a52ff4b81a881f22637afefbef5399d6ad440824e9b27f9f

0 commit comments

Comments
 (0)