{"id":31033404,"url":"https://github.com/xdev-software/vaadin-package-json-optimizer","last_synced_at":"2026-02-15T01:33:28.478Z","repository":{"id":314114540,"uuid":"1054217112","full_name":"xdev-software/vaadin-package-json-optimizer","owner":"xdev-software","description":"A package.json optimizer for Vaadin","archived":false,"fork":false,"pushed_at":"2026-01-02T04:30:18.000Z","size":872,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2026-01-05T22:29:39.903Z","etag":null,"topics":["npm","package-json","supply-chain","vaadin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xdev-software.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-10T14:24:41.000Z","updated_at":"2025-10-27T03:37:37.000Z","dependencies_parsed_at":"2026-01-01T15:04:45.063Z","dependency_job_id":null,"html_url":"https://github.com/xdev-software/vaadin-package-json-optimizer","commit_stats":null,"previous_names":["xdev-software/vaadin-package-json-optimizer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/xdev-software/vaadin-package-json-optimizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdev-software%2Fvaadin-package-json-optimizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdev-software%2Fvaadin-package-json-optimizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdev-software%2Fvaadin-package-json-optimizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdev-software%2Fvaadin-package-json-optimizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xdev-software","download_url":"https://codeload.github.com/xdev-software/vaadin-package-json-optimizer/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdev-software%2Fvaadin-package-json-optimizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29464187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"ssl_error","status_checked_at":"2026-02-15T01:01:23.809Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["npm","package-json","supply-chain","vaadin"],"created_at":"2025-09-14T01:53:18.915Z","updated_at":"2026-02-15T01:33:28.472Z","avatar_url":"https://github.com/xdev-software.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Latest version](https://img.shields.io/maven-central/v/software.xdev/vaadin-package-json-optimizer?logo=apache%20maven)](https://mvnrepository.com/artifact/software.xdev/vaadin-package-json-optimizer)\n[![Build](https://img.shields.io/github/actions/workflow/status/xdev-software/vaadin-package-json-optimizer/check-build.yml?branch=develop)](https://github.com/xdev-software/vaadin-package-json-optimizer/actions/workflows/check-build.yml?query=branch%3Adevelop)\n\n# `package.json` optimizer for Vaadin\n\n\u003e [!WARNING]\n\u003e Deprecated!\u003cbr/\u003e\n\u003e As of Vaadin 25 this module is no longer supported.\u003cbr/\u003e\n\u003e Please use pnpm and [`pnpm-workspace.yaml`](https://github.com/xdev-software/vaadin-addon-template/blob/master/template-placeholder-demo/pnpm-workspace.yaml) instead\n\nPatches `package.json` and replaces unused packages with an empty package.\n\nThis also prevents the installation of the corresponding transitive dependencies and lowers the overall attack surface.\n\nAs of Vaadin 24.8 this results in the following:\n* at least 280 fewer packages (-55%): ~500 → ~210\n* 80MB fewer required storage space (-40%): ~210MB → ~130MB\n* overall faster build/`npm install` by processing/downloading less packages\n\nPlease note that this is currently intended as a stopgap measure until Vaadin implements [improvements upstream](https://github.com/vaadin/flow/issues/22207).\n\n\u003cdetails\u003e\u003csummary\u003eCurrently these npm package groups are overwritten with an empty package\u003c/summary\u003e\n\n* `glob`'s and `rollup-plugin-visualizer`'s CLI packages\n  * Vaadin never uses their CLI and only library methods\n* Incorrectly declared dependencies of `transform-ast`\n* All Vaadin Pro components and their corresponding packages\n* Unused dependencies of `workbox`\n\nFull details are available in the [source code](./vaadin-package-json-optimizer/src/main/java/software/xdev/vaadin/vpjo/VPJOptimizer.java).\n\n\u003c/details\u003e\n\n## Usage\n\n`package.json` needs to be modified BEFORE the Vaadin installs all dependencies using `npm install`.\n\nThis needs to happen in 2 places:\n1. When building the frontend with the build-frontend goal\n    ```xml\n        \u003cbuild\u003e\n            \u003cplugins\u003e\n                \u003cplugin\u003e\n                    \u003cgroupId\u003eorg.codehaus.mojo\u003c/groupId\u003e\n                    \u003cartifactId\u003eexec-maven-plugin\u003c/artifactId\u003e\n                    \u003cversion\u003e...\u003c/version\u003e\n                    \u003cexecutions\u003e\n                        \u003cexecution\u003e\n                            \u003cid\u003epatch-package-json-overrides\u003c/id\u003e\n                            \u003cphase\u003ecompile\u003c/phase\u003e\n                            \u003cgoals\u003e\n                                \u003cgoal\u003ejava\u003c/goal\u003e\n                            \u003c/goals\u003e\n                            \u003cconfiguration\u003e\n                                \u003cmainClass\u003esoftware.xdev.vaadin.vpjo.Launcher\u003c/mainClass\u003e\n                                \u003carguments\u003e\n                                    \u003cargument\u003e${project.basedir}\u003c/argument\u003e\n                                    \u003cargument\u003e${project.build.directory}\u003c/argument\u003e\n                                \u003c/arguments\u003e\n                                \u003cincludeProjectDependencies\u003efalse\u003c/includeProjectDependencies\u003e\n                                \u003cincludePluginDependencies\u003etrue\u003c/includePluginDependencies\u003e\n                                \u003cexecutableDependency\u003e\n                                    \u003cgroupId\u003esoftware.xdev\u003c/groupId\u003e\n                                    \u003cartifactId\u003evaadin-package-json-optimizer\u003c/artifactId\u003e\n                                \u003c/executableDependency\u003e\n                            \u003c/configuration\u003e\n                        \u003c/execution\u003e\n                    \u003c/executions\u003e\n                    \u003cdependencies\u003e\n                        \u003cdependency\u003e\n                            \u003cgroupId\u003esoftware.xdev\u003c/groupId\u003e\n                            \u003cartifactId\u003evaadin-package-json-optimizer\u003c/artifactId\u003e\n                            \u003cversion\u003e...\u003c/version\u003e\n                        \u003c/dependency\u003e\n                    \u003c/dependencies\u003e\n                \u003c/plugin\u003e\n    ...\n    ```\n2. When running in dev mode\n    ```xml\n        \u003cprofiles\u003e\n            \u003cprofile\u003e\n                \u003cid\u003edev\u003c/id\u003e\n                \u003cactivation\u003e\n                    \u003cactiveByDefault\u003etrue\u003c/activeByDefault\u003e\n                \u003c/activation\u003e\n                \u003cdependencies\u003e\n                    \u003c!-- Only needed as dependency during development not in production! --\u003e\n                    \u003cdependency\u003e\n                        \u003cgroupId\u003esoftware.xdev\u003c/groupId\u003e\n                        \u003cartifactId\u003evaadin-package-json-optimizer\u003c/artifactId\u003e\n                        \u003cversion\u003e...\u003c/version\u003e\n                    \u003c/dependency\u003e\n                \u003c/dependencies\u003e\n            \u003c/profile\u003e\n        ...\n    ```\n\nFor more information have a look at the [demo's `pom.xml`](./vaadin-package-json-optimizer-demo/pom.xml).\n\n## Installation\n[Installation guide for the latest release](https://github.com/xdev-software/vaadin-package-json-optimizer/releases/latest#Installation)\n\n## Support\nIf you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services/support).\n\n## Contributing\nSee the [contributing guide](./CONTRIBUTING.md) for detailed instructions on how to get started with our project.\n\n## Dependencies and Licenses\nView the [license of the current project](LICENSE) or the [summary including all dependencies](https://xdev-software.github.io/vaadin-package-json-optimizer/dependencies)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxdev-software%2Fvaadin-package-json-optimizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxdev-software%2Fvaadin-package-json-optimizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxdev-software%2Fvaadin-package-json-optimizer/lists"}