feat: remove all core envs and add empty-env as default #10046
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Remove all core environments from Bit's core binary to reduce size and node_modules footprint. All previous core envs (node, react, aspect, mdx, etc.) are now regular dependencies instead of bundled core aspects.
Created
teambit.envs/empty-envas the new default environment - a minimal env with no compiler, tester, or other tools, solving the chicken-and-egg problem of needing a default env during early initialization.Changes
Core Envs Removed from manifests.ts
New Empty Env Created
teambit.envs/empty-env- minimal empty environment as new defaultteambit.harmony/nodetoteambit.envs/empty-envBackward Compatibility
getLegacyCoreEnvsIds()listing all 9 legacy core envsresolveEnv()to handle legacy core envs with version resolutiongetCoreEnvsIds()to include empty-env plus legacy core envsgetDefaultEnv()and all calling locations for proper error handlingDocumentation
docs/removing-core-envs.mddocumenting the implementationBenefits
Testing
Verified with
bbit:Notes
Draft PR as
bit statusneeds additional work to function properly.