perf(shared-icons): mark package as side-effect-free for tree-shaking

phosphor-svelte ships a 28 MB lib of per-icon Svelte components and
does not declare "sideEffects" in its own package.json. When
@mana/shared-icons re-exports that package without its own
"sideEffects" hint, Vite/Rollup conservatively assume every
transitive module evaluation might matter and cannot aggressively
prune unused icons across chunk boundaries.

Our re-exports (index.ts: `export * from 'phosphor-svelte'` + a small
name→component registry) are pure ESM barrels with no top-level
runtime code, so flagging the package as side-effect-free is safe
and lets the bundler drop unused icons and skip evaluating the
icon-registry module from chunks that only want a named icon.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-14 17:16:19 +02:00
parent e219d38436
commit d5cabed14d

View file

@ -4,6 +4,7 @@
"private": true,
"description": "Phosphor Icons for all Mana SvelteKit web apps",
"type": "module",
"sideEffects": false,
"svelte": "./src/index.ts",
"main": "./src/index.ts",
"types": "./src/index.ts",