Skip to content

chore(create-objectstack): drop deprecated @types/tar devDependency#3360

Merged
os-zhuang merged 2 commits into
mainfrom
chore/drop-types-tar
Jul 20, 2026
Merged

chore(create-objectstack): drop deprecated @types/tar devDependency#3360
os-zhuang merged 2 commits into
mainfrom
chore/drop-types-tar

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

What

Remove the @types/tar devDependency from packages/create-objectstack.

Why

tar v7 ships its own TypeScript declarations (its types field points at dist/commonjs/index.d.ts), so the standalone @types/tar stub package is deprecated and redundant. Its only effect today is a warning on every install:

packages/create-objectstack | WARN deprecated @types/tar@7.0.87

The npm registry stub even says so: "tar provides its own type definitions, so you do not need this installed."

Verification

  • import * as tar from 'tar' in src/index.ts resolves against tar's bundled types.
  • pnpm -C packages/create-objectstack build (tsup) ✅
  • tsc --noEmit: no new errors and no tar-related error — the 5 pre-existing errors are all in src/templates/** (scaffold files referencing workspace packages, unchanged from main).
  • Lockfile diff is 11 deletions, all @types/tar; the package no longer appears anywhere in pnpm-lock.yaml.

Release impact

None. devDependency-only — not shipped to consumers, dist/ byte-identical. Empty changeset (no version bump); create-objectstack is in the lockstep fixed group, so a patch would needlessly bump the whole stack for a no-op.

🤖 Generated with Claude Code

tar v7 ships its own TypeScript declarations, so the standalone @types/tar
stub is deprecated and redundant — it only emitted a `WARN deprecated
@types/tar@7.0.87` line on every `pnpm install`. `import * as tar from 'tar'`
now resolves against tar's bundled types; the package still builds and
type-checks clean, and dist/ is byte-identical.

devDependency-only, ships nothing (empty changeset — create-objectstack is in
the lockstep fixed group and must not drag the stack up a patch for a no-op).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jul 20, 2026 2:11pm

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file tooling size/s labels Jul 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): create-objectstack.

8 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/skills-reference.mdx (via create-objectstack)
  • content/docs/ai/skills.mdx (via create-objectstack)
  • content/docs/deployment/self-hosting.mdx (via create-objectstack)
  • content/docs/getting-started/index.mdx (via create-objectstack)
  • content/docs/getting-started/your-first-project.mdx (via create-objectstack)
  • content/docs/plugins/packages.mdx (via create-objectstack)
  • content/docs/releases/v15.mdx (via create-objectstack)
  • content/docs/releases/v9.mdx (via create-objectstack)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

… version

The "Scaffold with repo dist" job built the runtime base image with a hardcoded
`--build-arg OS_CLI_VERSION=latest`. During an RC window this skews protocols and
fails the docker boot (pre-existing failure on `main`):

  ✗ package 'e2e-app' targets protocol ^16 (engines.protocol) but this runtime
    is protocol 15.0.0.

The scaffolder pins `@objectstack/*` to `^<repo version>` (16.0.0-rc.1), so the
generated project's `os build` emits an artifact targeting protocol 16. But the
`latest` dist-tag still points at the last STABLE cli (15.1.1, protocol 15), so a
base image built from `latest` runs `os start` at protocol 15 and rejects the
protocol-16 artifact → container never becomes healthy.

Derive OS_CLI_VERSION from the version the generated project actually resolved
(`e2e-app/node_modules/@objectstack/cli`) instead of hardcoding `latest`. This
keeps the runtime image in lockstep with the artifact's protocol in every case:
the repo RC, the `latest` fallback the install step already handles, or a
published stable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions github-actions Bot added the ci/cd label Jul 20, 2026
@os-zhuang
os-zhuang merged commit 9833822 into main Jul 20, 2026
19 checks passed
@os-zhuang
os-zhuang deleted the chore/drop-types-tar branch July 20, 2026 14:26
os-zhuang added a commit that referenced this pull request Jul 21, 2026
…ty dir (#3376)

The `Check Changeset` gate counted every `.md` in `.changeset/`
(`find | wc -l`), so it only asserted the directory was non-empty — never
that THIS PR contributed a changeset. In pre-release (RC) mode `changeset
version` retains consumed changeset files, so the directory is permanently
non-empty and the gate can never go red: #3373 merged a real spec /
api-surface fix with no changeset while the step reported "Found 104
changeset(s)".

Diff the base commit instead and count only changesets the PR adds. An
empty-frontmatter changeset still counts — it is the sanctioned "releases
nothing" declaration. Proven to go RED on #3373's diff (0 added) and GREEN
on #3360's (1 added).

Also backfills the missing #3373 changeset so the ViewFilterRule operator
enum fix actually ships in the next release.

Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant