RocketChat / RocketChat/EmbeddedChat
chore: dependency cleanup and workspace optimization
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 165
- Forks
- 381
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
Analysis of the project's dependency tree revealed several unused packages, redundant dev-dependencies across workspace packages, and opportunities for performance optimization. Cleaning these up will reduce the node_modules size (currently ~1.5GB), improve installation times, and lighten the final build artifacts.
Findings
The following packages are listed in package.json but are not imported or used in the source code:
- Root: esbuild
- @embeddedchat/react: schedule, identity-obj-proxy, jest, babel-jest
- @embeddedchat/ui-elements: schedule, identity-obj-proxy, jest, babel-jest, @rocket.chat/icons
- @embeddedchat/ui-kit: schedule, identity-obj-proxy, jest, babel-jest, color
- @embeddedchat/markups: schedule, identity-obj-proxy, jest, babel-jest
- @embeddedchat/api: rollup-plugin-serve
Redundant Dependencies (Hoisting)
The following packages are duplicated across multiple workspace packages. Hoisting them to the root package.json will optimize the dependency tree:
- @rollup/plugin-json (4 packages)
- @emotion/babel-preset-css-prop (4 packages)
- @emotion/react (4 packages)
- normalize.css (3 packages)
- prop-types (4 packages)
- rollup-plugin-analyzer (3 packages)
- rollup-plugin-terser (3 packages)
Build Tooling Inconsistencies
- Unused Dev Tools: concurrently, npm-run-all, and deepmerge appear in
devDependenciesbut are not utilized in scripts or source. - Rollup Versions: Inconsistent versions across packages (
^2.70.1vs^3.23.0).
Proposed Changes
- Remove unused packages by pruning the relevant
package.jsonfiles in each workspace. - Hoist common devDependencies to the root level.
- Standardize versions of Rollup and other build-related plugins across the monorepo.
Expected Impact
- Reduced
node_modulesfootprint. - Faster CI/CD pipelines due to lower installation overhead.
- Cleaner dependency graph and easier long-term maintenance.
Additional Context
Analysis was performed via static code search and dependency usage metrics. The current node_modules size is approximately 1.5GB.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the root and listed workspace package.json files, then compare their dependencies with imports, scripts, and the existing Rollup versions. Remove only confirmed unused entries, hoist the specified shared dependencies, and standardize the build-tool versions. Done means the dependency tree and node_modules footprint are reduced without breaking the workspace build.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react, rollup
- Domain
- build-system, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100