Skip to content

Make @iconify/json an optional peerDependency #3

Description

@AndreyYolkin

Summary

@tomjs/vite-plugin-iconify@1.4.0 declares @iconify/json: '*' as a required peerDependency (no peerDependenciesMeta). With auto-install-peers (default in npm 7+ and pnpm), this forces the full @iconify/json monolith (~94 MB tarball, ~405 MB unpacked) into every install — even for projects that only use individual @iconify-json/* collections via the local.sets option added in #2.

Request

Mark it optional so consumers providing icons through individual @iconify-json/* packages don't pull the monolith:

"peerDependenciesMeta": {
  "@iconify/json": { "optional": true }
}

Context

Follow-up to #2. We migrated our app to local.sets with 7 individual @iconify-json/* packages and confirmed the monolith is unused at build time — yet it's still installed purely to satisfy the required peer, and its slow tarball repeatedly breaks CI installs. Making the peer optional keeps the API unchanged for monolith users while letting local.sets users opt out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions