mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 23:41:08 +02:00
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>
32 lines
654 B
JSON
32 lines
654 B
JSON
{
|
|
"name": "@mana/shared-icons",
|
|
"version": "1.0.0",
|
|
"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",
|
|
"exports": {
|
|
".": {
|
|
"svelte": "./src/index.ts",
|
|
"default": "./src/index.ts"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
|
"lint": "eslint ."
|
|
},
|
|
"peerDependencies": {
|
|
"svelte": "^5.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"svelte": "^5.16.6",
|
|
"svelte-check": "^4.2.1",
|
|
"typescript": "^5.9.3"
|
|
},
|
|
"dependencies": {
|
|
"phosphor-svelte": "^3.0.1"
|
|
}
|
|
}
|