Skip to content
This repository was archived by the owner on Jun 24, 2026. It is now read-only.

feat: deprecate package - #206

Merged
C. Spencer Beggs (spencerbeggs) merged 3 commits into
mainfrom
feat/deprecate-package
Jun 24, 2026
Merged

C. Spencer Beggs (spencerbeggs) merged 3 commits into
mainfrom
feat/deprecate-package

Conversation

@spencerbeggs

@spencerbeggs C. Spencer Beggs (spencerbeggs) commented Jun 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Deprecation Notice

    • Package marked as deprecated with recommendation to migrate to @savvy-web/bundler instead.
  • Chores

    • Removed example projects and associated test fixtures.
    • Updated GitHub Actions workflow tooling to newer versions.
    • Transitioned build system configuration and scripts.
    • Updated project dependencies and workspace configuration.

Signed-off-by: C. Spencer Beggs <spencer@savvyweb.systems>
Signed-off-by: C. Spencer Beggs <spencer@savvyweb.systems>
@coderabbitai

coderabbitai Bot commented Jun 24, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c8f7e11d-f1e3-4c55-bf05-2ecdf8a3766d

📥 Commits

Reviewing files that changed from the base of the PR and between 01f3dfd and 49a9db2.

⛔ Files ignored due to path filters (11)
  • .changeset/pretty-areas-rest.md is excluded by !.changeset/**
  • .claude/cache/issues.json is excluded by !.claude/**
  • examples/libraries/dual-format-indexes/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/libraries/multi-entry-shared-deps/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/libraries/multi-entry/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/libraries/options-testing/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/libraries/single-entry/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/libraries/with-bin/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/rspress-plugin/plugin/CLAUDE.md is excluded by !**/CLAUDE.md
  • examples/rspress-plugin/site/CLAUDE.md is excluded by !**/CLAUDE.md
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (115)
  • .github/workflows/claude.yml
  • .github/workflows/silk-update.yml
  • README.md
  • examples/libraries/dual-format-indexes/biome.jsonc
  • examples/libraries/dual-format-indexes/package.json
  • examples/libraries/dual-format-indexes/rslib.config.ts
  • examples/libraries/dual-format-indexes/src/group/alpha.ts
  • examples/libraries/dual-format-indexes/src/group/beta.ts
  • examples/libraries/dual-format-indexes/src/index.ts
  • examples/libraries/dual-format-indexes/tsconfig.json
  • examples/libraries/dual-format-indexes/tsdoc.json
  • examples/libraries/dual-format-indexes/turbo.json
  • examples/libraries/dual-format-indexes/types/global.d.ts
  • examples/libraries/multi-entry-shared-deps/__test__/output-shape.test.ts
  • examples/libraries/multi-entry-shared-deps/biome.jsonc
  • examples/libraries/multi-entry-shared-deps/package.json
  • examples/libraries/multi-entry-shared-deps/rslib.config.ts
  • examples/libraries/multi-entry-shared-deps/src/index.ts
  • examples/libraries/multi-entry-shared-deps/src/runtime.ts
  • examples/libraries/multi-entry-shared-deps/src/shared.ts
  • examples/libraries/multi-entry-shared-deps/tsconfig.json
  • examples/libraries/multi-entry-shared-deps/tsdoc.json
  • examples/libraries/multi-entry-shared-deps/turbo.json
  • examples/libraries/multi-entry/biome.jsonc
  • examples/libraries/multi-entry/package.json
  • examples/libraries/multi-entry/rslib.config.ts
  • examples/libraries/multi-entry/src/index.ts
  • examples/libraries/multi-entry/src/types.ts
  • examples/libraries/multi-entry/src/utils.ts
  • examples/libraries/multi-entry/tsconfig.json
  • examples/libraries/multi-entry/tsdoc.json
  • examples/libraries/multi-entry/turbo.json
  • examples/libraries/multi-entry/types/global.d.ts
  • examples/libraries/options-testing/biome.jsonc
  • examples/libraries/options-testing/package.json
  • examples/libraries/options-testing/rslib.config.ts
  • examples/libraries/options-testing/src/bad-docs.ts
  • examples/libraries/options-testing/src/index.ts
  • examples/libraries/options-testing/src/types.ts
  • examples/libraries/options-testing/tsconfig.json
  • examples/libraries/options-testing/tsdoc.json
  • examples/libraries/options-testing/turbo.json
  • examples/libraries/options-testing/types/global.d.ts
  • examples/libraries/single-entry/__test__/calculator.test.ts
  • examples/libraries/single-entry/__test__/utils.test.ts
  • examples/libraries/single-entry/biome.jsonc
  • examples/libraries/single-entry/package.json
  • examples/libraries/single-entry/rslib.config.ts
  • examples/libraries/single-entry/src/index.ts
  • examples/libraries/single-entry/src/lib/calculator.ts
  • examples/libraries/single-entry/src/utils/add.ts
  • examples/libraries/single-entry/src/utils/divide.ts
  • examples/libraries/single-entry/src/utils/multiply.ts
  • examples/libraries/single-entry/src/utils/round.ts
  • examples/libraries/single-entry/src/utils/subtract.ts
  • examples/libraries/single-entry/tsconfig.json
  • examples/libraries/single-entry/tsdoc.json
  • examples/libraries/single-entry/turbo.json
  • examples/libraries/single-entry/types/global.d.ts
  • examples/libraries/with-bin/biome.jsonc
  • examples/libraries/with-bin/package.json
  • examples/libraries/with-bin/rslib.config.ts
  • examples/libraries/with-bin/src/cli.ts
  • examples/libraries/with-bin/src/index.ts
  • examples/libraries/with-bin/tsconfig.json
  • examples/libraries/with-bin/tsdoc.json
  • examples/libraries/with-bin/turbo.json
  • examples/libraries/with-bin/types/global.d.ts
  • examples/rspress-plugin/plugin/biome.jsonc
  • examples/rspress-plugin/plugin/package.json
  • examples/rspress-plugin/plugin/rslib.config.ts
  • examples/rspress-plugin/plugin/src/index.ts
  • examples/rspress-plugin/plugin/src/plugin.ts
  • examples/rspress-plugin/plugin/src/runtime/components/FeatureCard/index.module.css
  • examples/rspress-plugin/plugin/src/runtime/components/FeatureCard/index.tsx
  • examples/rspress-plugin/plugin/src/runtime/components/HelloBanner/index.module.css
  • examples/rspress-plugin/plugin/src/runtime/components/HelloBanner/index.tsx
  • examples/rspress-plugin/plugin/src/runtime/components/shared/variables.css
  • examples/rspress-plugin/plugin/src/runtime/index.tsx
  • examples/rspress-plugin/plugin/src/runtime/styles.module.css
  • examples/rspress-plugin/plugin/tsconfig.json
  • examples/rspress-plugin/plugin/tsdoc.json
  • examples/rspress-plugin/plugin/turbo.json
  • examples/rspress-plugin/plugin/types/env.d.ts
  • examples/rspress-plugin/site/biome.jsonc
  • examples/rspress-plugin/site/docs/.markdownlint.json
  • examples/rspress-plugin/site/docs/index.mdx
  • examples/rspress-plugin/site/lib/scripts/dev.mts
  • examples/rspress-plugin/site/lib/scripts/preview.mts
  • examples/rspress-plugin/site/package.json
  • examples/rspress-plugin/site/rspress.config.ts
  • examples/rspress-plugin/site/tsconfig.json
  • examples/rspress-plugin/site/turbo.json
  • lib/scripts/hard-reset.ts
  • package.json
  • package/README.md
  • package/__test__/e2e/utils/assertions.ts
  • package/package.json
  • package/public/tsconfig/ecma/lib.json
  • package/public/tsconfig/root.json
  • package/public/tsconfig/rspress/plugin.json
  • package/public/tsconfig/rspress/website.json
  • package/rslib.config.ts
  • package/savvy.build.ts
  • package/src/index.ts
  • package/src/rslib/builders/rspress-plugin-builder.ts
  • package/src/rslib/plugins/dts-plugin.ts
  • package/src/rslib/plugins/utils/workspace-catalog.ts
  • package/src/tsconfig/index.ts
  • package/src/types/tsconfig-json.d.ts
  • package/tsconfig.json
  • package/turbo.json
  • pnpm-workspace.yaml
  • tsconfig.json
  • turbo.json
💤 Files with no reviewable changes (93)
  • examples/rspress-plugin/plugin/biome.jsonc
  • examples/libraries/options-testing/src/bad-docs.ts
  • examples/rspress-plugin/site/docs/index.mdx
  • examples/rspress-plugin/site/biome.jsonc
  • examples/libraries/single-entry/src/utils/divide.ts
  • examples/rspress-plugin/site/docs/.markdownlint.json
  • examples/libraries/single-entry/biome.jsonc
  • examples/libraries/options-testing/src/index.ts
  • examples/libraries/single-entry/types/global.d.ts
  • examples/rspress-plugin/plugin/src/runtime/components/FeatureCard/index.tsx
  • examples/libraries/single-entry/src/utils/multiply.ts
  • examples/libraries/multi-entry/types/global.d.ts
  • examples/rspress-plugin/site/turbo.json
  • examples/libraries/with-bin/src/index.ts
  • examples/libraries/dual-format-indexes/biome.jsonc
  • examples/rspress-plugin/plugin/src/runtime/components/FeatureCard/index.module.css
  • examples/libraries/with-bin/biome.jsonc
  • examples/libraries/options-testing/turbo.json
  • examples/libraries/single-entry/tsconfig.json
  • examples/libraries/dual-format-indexes/package.json
  • examples/rspress-plugin/plugin/rslib.config.ts
  • examples/libraries/multi-entry/tsconfig.json
  • examples/libraries/with-bin/types/global.d.ts
  • examples/libraries/single-entry/test/calculator.test.ts
  • examples/libraries/options-testing/rslib.config.ts
  • examples/libraries/single-entry/test/utils.test.ts
  • examples/libraries/with-bin/package.json
  • examples/libraries/options-testing/types/global.d.ts
  • examples/libraries/multi-entry/turbo.json
  • examples/libraries/single-entry/src/utils/add.ts
  • examples/libraries/multi-entry/tsdoc.json
  • examples/libraries/multi-entry/src/utils.ts
  • examples/libraries/options-testing/tsdoc.json
  • examples/rspress-plugin/plugin/tsconfig.json
  • examples/libraries/single-entry/src/utils/subtract.ts
  • examples/libraries/single-entry/turbo.json
  • examples/libraries/multi-entry/package.json
  • examples/libraries/multi-entry-shared-deps/src/shared.ts
  • examples/rspress-plugin/plugin/turbo.json
  • examples/libraries/multi-entry-shared-deps/tsconfig.json
  • examples/rspress-plugin/site/lib/scripts/dev.mts
  • examples/libraries/multi-entry/biome.jsonc
  • examples/libraries/multi-entry-shared-deps/src/runtime.ts
  • examples/libraries/single-entry/src/lib/calculator.ts
  • examples/libraries/multi-entry/src/index.ts
  • examples/libraries/single-entry/src/utils/round.ts
  • examples/libraries/with-bin/src/cli.ts
  • examples/libraries/multi-entry-shared-deps/biome.jsonc
  • examples/libraries/multi-entry-shared-deps/tsdoc.json
  • examples/libraries/dual-format-indexes/src/group/alpha.ts
  • examples/rspress-plugin/plugin/src/runtime/components/HelloBanner/index.tsx
  • examples/rspress-plugin/site/package.json
  • examples/libraries/multi-entry-shared-deps/turbo.json
  • examples/libraries/with-bin/turbo.json
  • examples/libraries/multi-entry-shared-deps/test/output-shape.test.ts
  • examples/libraries/dual-format-indexes/types/global.d.ts
  • examples/libraries/single-entry/tsdoc.json
  • examples/rspress-plugin/site/lib/scripts/preview.mts
  • examples/rspress-plugin/plugin/tsdoc.json
  • examples/libraries/with-bin/tsconfig.json
  • examples/rspress-plugin/site/rspress.config.ts
  • examples/rspress-plugin/plugin/src/runtime/components/shared/variables.css
  • package/rslib.config.ts
  • package/test/e2e/utils/assertions.ts
  • examples/libraries/single-entry/rslib.config.ts
  • examples/libraries/multi-entry-shared-deps/rslib.config.ts
  • examples/libraries/multi-entry/src/types.ts
  • examples/rspress-plugin/plugin/src/index.ts
  • examples/rspress-plugin/site/tsconfig.json
  • examples/libraries/dual-format-indexes/tsconfig.json
  • examples/libraries/dual-format-indexes/tsdoc.json
  • examples/rspress-plugin/plugin/src/runtime/styles.module.css
  • examples/libraries/single-entry/src/index.ts
  • examples/rspress-plugin/plugin/package.json
  • examples/libraries/multi-entry/rslib.config.ts
  • examples/libraries/single-entry/package.json
  • examples/libraries/with-bin/rslib.config.ts
  • examples/libraries/options-testing/src/types.ts
  • examples/libraries/options-testing/package.json
  • examples/libraries/dual-format-indexes/src/index.ts
  • lib/scripts/hard-reset.ts
  • examples/rspress-plugin/plugin/src/runtime/index.tsx
  • examples/rspress-plugin/plugin/src/plugin.ts
  • examples/rspress-plugin/plugin/types/env.d.ts
  • examples/libraries/options-testing/biome.jsonc
  • examples/libraries/multi-entry-shared-deps/src/index.ts
  • examples/libraries/with-bin/tsdoc.json
  • examples/libraries/multi-entry-shared-deps/package.json
  • examples/libraries/options-testing/tsconfig.json
  • examples/libraries/dual-format-indexes/src/group/beta.ts
  • examples/rspress-plugin/plugin/src/runtime/components/HelloBanner/index.module.css
  • examples/libraries/dual-format-indexes/turbo.json
  • examples/libraries/dual-format-indexes/rslib.config.ts

📝 Walkthrough

Walkthrough

@savvy-web/rslib-builder is marked deprecated in both READMEs. All examples/libraries/* and examples/rspress-plugin/* packages are removed from the pnpm workspace. The package build system migrates from rslib to savvy.build.ts via @savvy-web/bundler. New TsConfigJsonBase and TsConfigJson types are exported publicly, tsconfig path references are corrected, workspace catalog normalization is fixed, and root toolchain/CI configuration is updated.

Changes

Deprecation, workspace cleanup, and bundler migration

Layer / File(s) Summary
Deprecation notices
README.md, package/README.md
Both README files receive a top-of-file CAUTION deprecation block pointing readers to @savvy-web/bundler and declaring no further releases.
Remove example packages from workspace
pnpm-workspace.yaml, examples/libraries/dual-format-indexes/..., examples/libraries/multi-entry-shared-deps/..., examples/libraries/single-entry/src/..., examples/rspress-plugin/plugin/src/runtime/...
pnpm-workspace.yaml drops the examples/libraries/* and examples/rspress-plugin/* globs. Cleared files include rslib configs, tsconfig/tsdoc configs, source modules, and CSS modules across all example packages.
Migrate package build to savvy bundler
package/savvy.build.ts, package/package.json, package/tsconfig.json, package/turbo.json
New savvy.build.ts entrypoint uses defineBuild/runBuild with type-fest bundled and TSDoc modifier tags. package.json replaces rslib build scripts with node savvy.build.ts --target, re-points ./tsconfig/* exports to ./public/tsconfig/*, bumps dependencies, and simplifies publishConfig.targets. package/tsconfig.json extends @savvy-web/bundler/tsconfig/ecma.json. package/turbo.json tasks are cleared to {}.
New tsconfig types and path fixes
package/src/types/tsconfig-json.d.ts, package/src/index.ts, package/src/tsconfig/index.ts, package/src/rslib/builders/rspress-plugin-builder.ts, package/src/rslib/plugins/dts-plugin.ts, package/public/tsconfig/ecma/lib.json
TsConfigJsonBase type alias added; TSConfigJsonWithSchema now extends it. src/index.ts re-exports TsConfigJson, TsConfigJsonBase, and TSConfigJsonWithSchema. tsconfig/index.ts corrects JSON import paths from ../public/ to ../../public/ and updates jsonImports map keys and exported instance constructor paths. JSDoc annotations updated on externals constants and dts-plugin. ecma/lib.json compiler option ordering adjusted.
Normalize pnpm workspace catalog entries
package/src/rslib/plugins/utils/workspace-catalog.ts
readPnpmWorkspaceCatalogs now iterates getCatalogsFromWorkspaceManifest output, skips falsy catalogs, and filters out dependency entries with undefined versions instead of returning the result directly with a ?? {} fallback.
Root toolchain and CI updates
turbo.json, tsconfig.json, package.json, .github/workflows/claude.yml, .github/workflows/silk-update.yml
turbo.json rewrites build:dev, build:prod, and types:check tasks with expanded inputs, updated output paths (dist/dev/**, dist/prod/**, dist/.tsbuildinfo.lib), and narrows globalPassThroughEnv to ["GITHUB_ACTIONS","CI"]. Root tsconfig.json extends @savvy-web/silk/tsconfig/node/root.json. package.json bumps pnpm, Node engine floor to >=24.11.0, and dev tooling versions. CI workflows bump actions/checkout to v7 and silk-update-action to v3.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'feat: deprecate package' clearly and concisely summarizes the primary change—marking the package as deprecated—which is reflected throughout the changeset including deprecation notices in READMEs, removal of example libraries, and configuration updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/deprecate-package
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch feat/deprecate-package

Comment @coderabbitai help to get the list of available commands.

@socket-security

socket-security Bot commented Jun 24, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​savvy-web/​bundler@​0.9.27410010094100
Added@​savvy-web/​silk@​1.3.1821009795100
Addedworkspace-tools@​0.41.8981009196100

View full report

@socket-security

socket-security Bot commented Jun 24, 2026 •

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm jiti is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ? → npm/eslint@10.5.0 → npm/@savvy-web/vitest@1.5.1 → npm/@savvy-web/silk@1.3.1 → npm/jiti@2.6.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/jiti@2.6.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm string-width is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ? → npm/@savvy-web/silk@1.3.1 → npm/string-width@8.1.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/string-width@8.1.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Signed-off-by: C. Spencer Beggs <spencer@savvyweb.systems>

@savvy-web-bot savvy-web-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inline notes attached (changeset semver, peer-dep range).

"@savvy-web/rslib-builder": minor
---

## Breaking Changes

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changeset bumps minor but the body is headed ## Breaking Changes. These signal opposite things to consumers and to changesets' versioning. If the public @savvy-web/rslib-builder API surface is unchanged (this is a deprecation notice + internal build-system swap), consider dropping the "Breaking Changes" heading so it reads as a routine deprecation. If something consumer-facing genuinely breaks, the bump should be major. Either way, worth reconciling the two.

Minor: the file also has no trailing newline.

Comment thread package/package.json
"@rsbuild/plugin-react": "^2.0.0",
"@rslib/core": "^0.22.0",
"@types/node": "catalog:silkPeers",
"@types/node": "^26.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@types/node was un-catalog'd to ^26.0.0 while every sibling peer (@types/react, typescript, @typescript/native-preview, etc.) stays on catalog:silkPeers. Two things to confirm:

  1. Is this intentional (e.g. @types/node was removed from the silkPeers catalog and now needs a literal range), or an oversight?
  2. ^26.0.0 requires a major newer than this package's declared runtime floor (root engines.node is >=24.11.0). A consumer on Node 24/25 with matching @types/node@24/25 would fail this required peer. If 24.11 support is real, >=24.11.0 (or >=24) would be a looser, more accurate constraint. Given the package is being deprecated this is low-stakes, but flagging in case the range is unintended.

@savvy-web-bot

savvy-web-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Code Review

Current Commit: 49a9db2

Summary

This PR deprecates @savvy-web/rslib-builder and migrates its self-build from the in-repo NodeLibraryBuilder (rslib.config.ts) to the new @savvy-web/bundler (savvy.build.ts). It also removes the examples/* and e2e workspaces, moves package/src/public/ → package/public/, and adds release tags (@public/@internal) so API Extractor produces clean rolled-up declarations under the new bundler.

The scope is large but the changes are coherent and internally consistent. All validation checks pass:

Check Result
Tests ✅ success
Code Quality ✅ success
Markdown ✅ success
Conventional Commits ✅ success
PR Title Validation ✅ success

What looks good

  • Deprecation notices are clear and consistent across root README.md and package/README.md, pointing to @savvy-web/bundler and the Silk monorepo.
  • workspace-catalog.ts — the rewrite of readPnpmWorkspaceCatalogs correctly adapts to the stricter upstream @pnpm types (catalog/version entries now possibly undefined) by filtering before building the Record<string, string> Catalogs shape. Sound defensive code, and behavior is preserved by the surrounding try/catch.
  • type-fest re-export (TsConfigJsonBase) with an @internal tag is a tidy way to give the rolled-up .d.ts a release-tagged base type instead of an untagged external symbol.
  • Path move (src/public → public) is applied consistently across exports, the JSON imports/Map keys in tsconfig/index.ts, tsconfig.json, and turbo inputs. No dangling src/public references remain.

Notes (all minor, none blocking)

  1. Changeset semver vs. heading (.changeset/pretty-areas-rest.md) — minor bump under a ## Breaking Changes heading. Reconcile one way or the other (inline comment).
  2. @types/node peer range (package/package.json) — un-catalog'd to ^26.0.0 while siblings remain catalog:silkPeers, and ^26 is newer than the >=24.11.0 engines floor. Worth confirming it's intentional (inline comment).
  3. .claude/cache/issues.json is added by this PR, but it's a regenerable tool cache with a cachedAt timestamp — and it shows as deleted in the current working tree. Likely an accidental include; committing it adds churn/merge noise. Consider dropping it (and gitignoring .claude/cache/).

Nothing here blocks the deprecation. Not submitting a formal approval since the inline points are open for the author to confirm.

@spencerbeggs
C. Spencer Beggs (spencerbeggs) merged commit f4ef4b0 into main Jun 24, 2026
25 checks passed
@spencerbeggs
C. Spencer Beggs (spencerbeggs) deleted the feat/deprecate-package branch June 24, 2026 03:21
C. Spencer Beggs (spencerbeggs) added a commit that referenced this pull request Jun 24, 2026
Signed-off-by: C. Spencer Beggs <spencer@savvyweb.systems>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant