Skip to content

fix: move xlsx to devDependencies — npm 12 refuses the CDN tarball (#193) - #194

Merged
isamu merged 1 commit into
mainfrom
fix/193-xlsx-dev-dependency
Oct 21, 2026
Merged

isamu merged 1 commit into
mainfrom
fix/193-xlsx-dev-dependency

Conversation

@isamu

@isamu isamu commented Oct 21, 2026

Copy link
Copy Markdown
Member

Summary

Closes #193.

xlsx was a runtime dependency on https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz. npm 12 refuses URL specs by default (allow-remote=none), so installing anything that depends on this package fails — npx mulmoclaude@2.8.0 does. SheetJS is already bundled into dist/vue.js / dist/vue.cjs (it is not in vite.config.ts's external), so consumers never load the installed copy.

  • xlsx moves to devDependencies (still needed to build). Same spec.
  • tests/core/test_packageManifest.ts: dependencies / peerDependencies / optionalDependencies must not hold a URL, git, file: or owner/repo spec.
  • Plan: plans/fix-193-xlsx-dev-dependency.md.

Items to Confirm / Review

  • dist/ built from the old and the new package.json is byte-identical (diff -r), so nothing shipped changes except the manifest.
  • The npm pack tarball installs with npm 12.0.2 and an empty user config; xlsx is not installed; ., ./vue and ./core import, and ./vue also loads via require.
  • The new test fails on the old package.json (naming xlsx) and passes on this one. typecheck, lint, format:check, build, yarn test and yarn test:engine pass locally.
  • Not run: an Excel download in a browser. The bundle is unchanged, so its behaviour is too.
  • Release plan: 5.0.1 from main; 4.3.1 from a branch off the @gui-chat-plugin/spreadsheet@4.3.0 tag with the same change, published with --tag so latest stays on 5.x. mulmoclaude@2.8.0 depends on ^4.3.0, so 4.3.1 fixes it without a mulmoclaude release.

User Prompt

  • Fix it in the spreadsheet package (option 1): move xlsx out of the runtime dependencies so npm 12 can install it. Check first that xlsx is not used at runtime and nothing breaks.

work in mulmoclaude2

🤖 Generated with Claude Code

npm 12 refuses the CDN tarball spec by default, so every consumer's
install failed. The built files are identical either way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@isamu
isamu merged commit 5bfac3a into main Oct 21, 2026
14 checks passed
@isamu
isamu deleted the fix/193-xlsx-dev-dependency branch October 21, 2026 19:29
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.

npm 12 refuses to install the package: xlsx is a runtime dependency on a CDN tarball, but it is already bundled

1 participant