Skip to content

Commit 7a57b26

Browse files
fix(ci): stop blocking Bun — it is tier 1, not an anti-pattern (#196)
`npm-bun-blocker.yml` **failed the build when a Bun lockfile was present** — while the owner's 2026-08-26 ruling makes Bun **tier 1** and the corrected policy says `package.json` + `bun.lock` are *"expected, not anti-patterns"* (standards#655). So the workflow rejected exactly what the policy mandates. **40 copies updated here**; they now reject npm/pnpm/yarn lockfiles only. Estate-wide the pattern was in **272 of 273 copies across 34 repos**. Also repairs blanked tokens from the language purge (*"Use instead."* — the tool name substituted with an empty string) and stale *"Use Deno instead"* text. ## Verification Every edited file was re-parsed with `yq`; any edit that would have produced invalid YAML was **reverted automatically**. The repo-wide count of unparseable workflows is **unchanged at 39** before and after. ## ⚠ Found, not fixed — 39 workflows here do not parse at all Of this repo's **1,739** workflows, **39 fail to load**, so they have never run. One was diagnosed: `rescript-ecosystem/packages/tooling/evangeliser/.github/workflows/npm-bun-blocker.yml` contains a literal **backspace byte (0x08)** inside a regex: ``` grep -E '^\+.*<BS>(npm|bun)\s+(run|install|start|test|build)' ``` YAML rejects control characters, so the file never loads and the blocker it implements **has never executed**. Removing the byte exposes a further structural error at lines 21–22, so it needs authoring rather than a one-character fix. It is left **exactly as found** — not half-repaired — and excluded from this change.
1 parent 5d6107f commit 7a57b26

40 files changed

Lines changed: 160 additions & 160 deletions

File tree

‎rescript-ecosystem/cadre-router/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/cadre-router/tea-router/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/cadre-tea-router/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/idaptik-rescript13-staging/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
contents: read
1111
steps:
1212
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
13-
- name: Block npm/bun
13+
- name: Block npm/pnpm/yarn lockfiles
1414
run: |
15-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
16-
echo "❌ npm/bun artifacts detected. Use Deno instead."
15+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
16+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1717
exit 1
1818
fi
19-
echo "✅ No npm/bun violations"
19+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/packages/bindings/postgres/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/packages/bindings/redis/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/packages/core/early-return/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/packages/core/env/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/packages/core/poly-core/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

‎rescript-ecosystem/packages/ffi/alib/.github/workflows/npm-bun-blocker.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
contents: read
1010
steps:
1111
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
12-
- name: Block npm/bun
12+
- name: Block npm/pnpm/yarn lockfiles
1313
run: |
14-
if [ -f "package-lock.json" ] || [ -f "bun.lockb" ] || [ -f ".npmrc" ]; then
15-
echo "❌ npm/bun artifacts detected. Use Deno instead."
14+
if [ -f "package-lock.json" ] || [ -f "pnpm-lock.yaml" ] || [ -f "yarn.lock" ]; then
15+
echo "❌ npm/pnpm/yarn artifacts detected. Use Bun (package.json + bun.lock) instead."
1616
exit 1
1717
fi
18-
echo "✅ No npm/bun violations"
18+
echo "✅ No npm/pnpm/yarn violations"

0 commit comments

Comments
 (0)