Skip to content

node_modules after production build is too large #1134

@Kaarel

Description

@Kaarel

Description / Steps to reproduce / Feature proposal

As a developer I want a minimal necessary (as in bytes and number of dependencies) package of my loopback service for deployment.

  1. docker run -ti node:alpine sh
  2. npm i -g @loopback/cli
  3. lb4 poc # Selecting all defaults by pressing Enter
  4. cd poc
  5. npm run build
  6. rm -rf node_modules # To ensure no dev cruft
  7. npm install --only=production

Current Behavior

du -sh node_modules is over 70M

Expected Behavior

I would have expected du -sh node_modules to be a few megs...10 at most?

du -s node_modules/* | sort -rn | head reveals node_modules/typescript (dependency of @loopback/openapi-v3) takes almost half that space.
Plus couple other random pics:

  • node_modules/loopback-datasource-juggler/test 1Mb
  • node_modules/strong-globalize 4Mb
  • node_modules/@loopback/* modules contain unnecessary:
    • api-docs
    • src

A release/production build should not include test files, src files, module documentation files, build time utilities (eg typescript), dependencies that I don't use in my API service (eg globalization).

Action items

Metadata

Metadata

Assignees

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