unjs / unjs/std-env

Reduce bundle size, when using a flag that does not depend on

Open
#129 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
641
Forks
41
PR merge metrics
No merged PRs in 30d

Description

Describe the feature

What to Expect

If we use this flag, providers will be bundled, but even if we use a flag that does not depend on providers, such as isWindows, they will still be bundled.

If they do not depend on it, we expect them not to be bundled.

Also, if you use isCI, all providers' code will be bundled. It might be nice to have a way for users to resolve providers themselves by exporting an API that resolves them.

Reproduction repo

https://github.com/kazupon/std-env-repro1

Related

https://github.com/rolldown/rolldown/pull/754#discussion_r1552846344

Additional information
  • Would you be willing to help implement this feature?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reproduction repository at https://github.com/kazupon/std-env-repro1 and read the related Rolldown discussion at https://github.com/rolldown/rolldown/pull/754#discussion_r1552846344. Trace how environment flags cause providers to be bundled. Done should mean flags such as isWindows do not include unrelated providers, while the proposed provider-resolution API has a clear, tested behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.