Skip to content

build: hot-fix TS 6 + Biome 2 major bumps - #13

Merged
takashi-matsuyama merged 2 commits into
mainfrom
fix/ts-6-basurl-deprecation
May 27, 2026
Merged

takashi-matsuyama merged 2 commits into
mainfrom
fix/ts-6-basurl-deprecation

Conversation

@takashi-matsuyama

@takashi-matsuyama takashi-matsuyama commented May 27, 2026 •

Copy link
Copy Markdown
Member

Summary

Dependabot landed two major bumps back-to-back (PR #9 TypeScript 6.0.3, PR #8 Biome 2.4.15) and main turned red on the very next push. Both are recoverable with config-level changes - no code semantics changed.

  • TS 6: baseUrl is now deprecated and breaks tsup's dts build with TS5101. Setting ignoreDeprecations: "6.0" in tsconfig.base.json is the narrow opt-out.
  • Biome 2: schema and defaults moved. biome migrate --write converts biome.json (1.x keys -> 2.x equivalents) and biome check --write reformats 43 files to the 2.x defaults. 4 unsafe suggestions remain as warnings only.

Test plan

  • quality.yml CI is green on this branch
  • After merge, the release.yml dry-run can finally fire on a green main
  • The 4 remaining // biome-ignore suppression warnings stay non-blocking (warnings, not errors)

takashi-matsuyama and others added 2 commits May 27, 2026 16:25
TypeScript 6.0 demotes `baseUrl` to a deprecation that fails the
build by default (TS5101). Even though this workspace does not set
`baseUrl` explicitly in any tsconfig, tsup's dts generator hits the
deprecation through its internal compilation, breaking the
@basou/sdk build immediately after PR #9 landed TS 6.0.3.

Setting `ignoreDeprecations: "6.0"` at the workspace base level is
the minimal surface area that unblocks the build without changing
any module-resolution semantics. The flag is scoped to the TS 6.x
deprecation set, so once we plan the TS 7 upgrade the followup is
narrow: drop this option and confirm no real `baseUrl` usage has
crept in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #8 landed @biomejs/biome 2.4.15, which rejects the 1.x config
schema (unknown keys: files.ignore, organizeImports, overrides[].include)
and applies different default formatting rules. Running
`biome migrate --write` converts biome.json to the 2.x schema:

  - files.ignore -> files.includes with negative globs
  - organizeImports -> assist.actions.source.organizeImports
  - overrides[].include -> overrides[].includes

Then `biome check --write` reformats 43 files to the 2.x defaults
(no behavior change - JSON array wrapping, etc.). 4 unsafe
suggestions remain as warnings and do not fail the lint step.

Together with the TS 6 deprecation silence, this should bring main
back to green and unblock the release.yml dry-run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@takashi-matsuyama takashi-matsuyama changed the title build: silence TypeScript 6 baseUrl deprecation build: hot-fix TS 6 + Biome 2 major bumps May 27, 2026
@takashi-matsuyama
takashi-matsuyama merged commit 56d69cd into main May 27, 2026
7 checks passed
takashi-matsuyama added a commit that referenced this pull request Sep 3, 2026
…204)

Eight Dependabot alerts were open against pnpm-lock.yaml, all of them in
the dev dependency tree. Each package moves inside its existing range, so
no manifest changes:

  fast-uri         3.1.2 -> 3.1.7   (#24 GHSA-fph4-wmhf-6fwf,
                                     #20 GHSA-7p8r-x3mc-p8w7,
                                     #11 GHSA-v2hh-gcrm-f6hx,
                                     #10 GHSA-4c8g-83qw-93j6)
  postcss         8.5.13 -> 8.5.27  (#19 GHSA-fxqj-rqcc-2cmp,
                                     #13 GHSA-r28c-9q8g-f849)
  brace-expansion  2.1.1 -> 2.1.4   (#12 GHSA-3jxr-9vmj-r5cp)
  brace-expansion  5.0.6 -> 5.0.9   (#9  GHSA-3jxr-9vmj-r5cp)

nanoid 3.3.12 -> 3.3.18 comes along as postcss's own dependency.

The published packages were never affected. Dependabot labels the four
fast-uri alerts `runtime`, but its only path into the tree is
packages/core's devDependencies (ajv / ajv-formats); the published
@basou/core declares simple-git, ulid, yaml and zod alone.

That is also why CI stayed green while eight alerts sat open: the audit
job runs `pnpm audit --prod` by design, so a dev-only advisory never
reaches it. Whether to widen that gate, and whether to enable Dependabot
security updates (currently off, which is why none of these alerts opened
a PR of its own), are separate calls left untouched here.

One low advisory stays out of scope: esbuild 0.27.7 via tsup
(GHSA-g7r4-m6w7-qqqr, a Windows dev-server file read) is patched in
0.28.1, which needs a tsup bump rather than a lockfile refresh.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@takashi-matsuyama
takashi-matsuyama deleted the fix/ts-6-basurl-deprecation branch October 8, 2026 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant