Skip to content

Commit 9833822

Browse files
authored
Merge pull request #3360 from objectstack-ai/chore/drop-types-tar
chore(create-objectstack): drop deprecated @types/tar devDependency
2 parents d8b8354 + 4b3e872 commit 9833822

4 files changed

Lines changed: 31 additions & 13 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
---
3+
4+
chore(create-objectstack): drop the deprecated `@types/tar` devDependency
5+
6+
`tar` v7 ships its own TypeScript declarations (its `types` field points at
7+
`dist/commonjs/index.d.ts`), so the standalone `@types/tar` package is
8+
deprecated and redundant — it only emitted a `WARN deprecated @types/tar` line
9+
on every `pnpm install`. `import * as tar from 'tar'` in `src/index.ts` now
10+
resolves against tar's bundled types, and the package still builds and
11+
type-checks clean.
12+
13+
devDependency-only change: it is not shipped to consumers and `dist/` is
14+
byte-identical, so this releases nothing (empty changeset, no version bump —
15+
`create-objectstack` is in the lockstep `fixed` group and must not drag the
16+
whole stack up a patch for a no-op).

.github/workflows/scaffold-e2e.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,23 @@ jobs:
162162
# (a) PRs exercise the official runtime Dockerfile itself, and
163163
# (b) the e2e stays hermetic — no dependency on a prior release
164164
# having published the tag (chicken-and-egg on the very first one).
165+
#
166+
# Pin the runtime's CLI to the SAME version the generated project
167+
# actually resolved to — NOT a hardcoded `latest`. The scaffolded
168+
# artifact is built by that project's `@objectstack/cli` and carries
169+
# its `engines.protocol` major; `os start` in the runtime image rejects
170+
# any artifact from a different protocol major. During an RC window the
171+
# project pins `^<repo rc>` (e.g. 16.0.0-rc.1, protocol 16) while the
172+
# `latest` dist-tag still points at the last STABLE cli (protocol 15),
173+
# so a hardcoded `latest` skews the two and boot fails. Reading the
174+
# resolved version keeps the image in lockstep whether the project got
175+
# the repo RC, the `latest` fallback (see the install step), or a
176+
# published stable.
165177
run: |
178+
CLI_VERSION=$(node -p "require('$RUNNER_TEMP/e2e-app/node_modules/@objectstack/cli/package.json').version")
179+
echo "Runtime image will bundle @objectstack/cli@$CLI_VERSION (matches the scaffolded artifact's protocol)"
166180
docker build -t ghcr.io/objectstack-ai/objectstack:latest \
167-
--build-arg OS_CLI_VERSION=latest \
181+
--build-arg OS_CLI_VERSION="$CLI_VERSION" \
168182
"$GITHUB_WORKSPACE/docker"
169183
170184
- name: Docker build and run (scaffolded Dockerfile)

packages/create-objectstack/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
},
2727
"devDependencies": {
2828
"@types/node": "^26.1.1",
29-
"@types/tar": "^7.0.87",
3029
"tsup": "^8.5.1",
3130
"typescript": "^6.0.3",
3231
"vitest": "^4.1.10"

pnpm-lock.yaml

Lines changed: 0 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)