From b35b1ab9e107cbcc6f5a6ac42075dab15bef17e2 Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Tue, 15 Sep 2026 01:12:11 +0000 Subject: [PATCH 1/5] chore(deps): shrink the install footprint - add devframe/utils/url, an in-house, browser-safe replacement for the handful of ufo helpers (joinURL, withBase, withProtocol, slash helpers, cleanDoubleSlashes); ufo is gone from every package and the catalog - move the types-only @standard-schema/spec to devDependencies everywhere and inline its declarations into each package's dts - bundle the remaining tiny pure deps instead of installing them: birpc, mrmime, nostics, pathe (devframe); pathe, perfect-debounce, tinyexec (hub); pathe (agentic, vite kit, service-open, plugin-git); image-meta, pathe, perfect-debounce, tinyglobby (plugin-assets) - give the throwing root entries an explicit 'export {}' so dts emit stops warning about them devframe's runtime deps shrink to crossws + h3; hub's to destr + h3 + zigpty; every dist stays self-contained (verified: no bundled-package import specifiers survive in dist). --- alias.ts | 1 + docs/app/pages/logos.vue | 3 +- docs/content/8.references/8.utilities.md | 14 ++ docs/package.json | 3 +- packages/agentic/package.json | 7 +- packages/agentic/src/connect/index.ts | 2 +- packages/agentic/src/index.ts | 3 + packages/agentic/tsdown.config.ts | 5 + packages/devframe/package.json | 14 +- packages/devframe/src/adapters/_shared.ts | 2 +- packages/devframe/src/adapters/dev.ts | 2 +- packages/devframe/src/adapters/initiate.ts | 2 +- packages/devframe/src/client/connection.ts | 2 +- packages/devframe/src/client/rpc-ws.ts | 2 +- packages/devframe/src/client/rpc.ts | 2 +- packages/devframe/src/node/instance-shell.ts | 2 +- packages/devframe/src/utils/url.test.ts | 63 ++++++++ packages/devframe/src/utils/url.ts | 69 +++++++++ packages/devframe/tsdown.config.ts | 7 + packages/hub/package.json | 9 +- packages/hub/src/constants.ts | 2 +- packages/hub/src/node/assemble.ts | 2 +- packages/hub/src/node/build.ts | 2 +- packages/hub/src/node/initiate.ts | 2 +- packages/hub/src/node/install-devframe.ts | 2 +- packages/hub/tsdown.config.ts | 4 + packages/json-render/package.json | 2 +- packages/json-render/tsdown.config.ts | 8 ++ packages/next/src/index.ts | 3 + packages/nuxt/src/index.ts | 3 + packages/vite/package.json | 4 +- packages/vite/src/index.ts | 3 + packages/vite/tsdown.config.ts | 3 + plugins/assets/package.json | 11 +- plugins/assets/src/node/scanner.ts | 2 +- plugins/assets/tsdown.config.ts | 14 ++ plugins/git/package.json | 4 +- plugins/git/tsdown.config.ts | 5 + pnpm-lock.yaml | 134 ++++++++---------- pnpm-workspace.yaml | 1 - services/open/package.json | 4 +- services/open/tsdown.config.ts | 5 + .../@devframes/json-render/node.snapshot.d.ts | 26 ++++ .../tsnapi/devframe/internal.snapshot.d.ts | 4 +- .../tsnapi/devframe/utils/url.snapshot.d.ts | 13 ++ .../tsnapi/devframe/utils/url.snapshot.js | 13 ++ tsconfig.base.json | 3 + 47 files changed, 364 insertions(+), 129 deletions(-) create mode 100644 packages/devframe/src/utils/url.test.ts create mode 100644 packages/devframe/src/utils/url.ts create mode 100644 tests/__snapshots__/tsnapi/devframe/utils/url.snapshot.d.ts create mode 100644 tests/__snapshots__/tsnapi/devframe/utils/url.snapshot.js diff --git a/alias.ts b/alias.ts index 90c945255..80067335b 100644 --- a/alias.ts +++ b/alias.ts @@ -41,6 +41,7 @@ export const alias = { 'devframe/utils/shared-state': r('devframe/src/utils/shared-state.ts'), 'devframe/utils/streaming-channel': r('devframe/src/utils/streaming-channel.ts'), 'devframe/utils/structured-clone': r('devframe/src/utils/structured-clone.ts'), + 'devframe/utils/url': r('devframe/src/utils/url.ts'), 'devframe/utils/when': r('devframe/src/utils/when.ts'), 'devframe/adapters/cac': r('devframe/src/adapters/cac.ts'), 'devframe/adapters/dev': r('devframe/src/adapters/dev.ts'), diff --git a/docs/app/pages/logos.vue b/docs/app/pages/logos.vue index 45e237457..02b2c2482 100644 --- a/docs/app/pages/logos.vue +++ b/docs/app/pages/logos.vue @@ -1,6 +1,5 @@