Skip to content

build(client): build:compile:esm:packages - fast production ESM build#26769

Draft
jason-ha wants to merge 2 commits intomicrosoft:mainfrom
jason-ha:build/isolate-esm-only-production-build
Draft

build(client): build:compile:esm:packages - fast production ESM build#26769
jason-ha wants to merge 2 commits intomicrosoft:mainfrom
jason-ha:build/isolate-esm-only-production-build

Conversation

@jason-ha
Copy link
Copy Markdown
Contributor

pnpm build:compile:esm:packages will do a minimal ESM only package build.

Can be used to check validity of production code without hitting test collateral (except for a few test-oriented packages).

build:esnext tasks (fluid-build --task build:esnext) are able to complete without needing to build CommonJS with these changes:

  1. Remove extraneous ^tsc dependencies in examples.
  2. Reduce general build:esnext to not depend on ^tsc and ^api.
  3. Reduce presence ^api dependencies to ^api-extractor:esnext and ^api-extractor:commonjs.
  4. PropertyDDS packages configured to use bundler resolution (less strict Node16 resolution) and have exports defined in property-common. Previously property-properties would build using CommonJS property-changeset.

Note general tsc dependency is left to depend on ^api and ^build:esnext.

`fluid-build --task build:esnext` should be able to complete without needing to build CommonJS.

1. Remove extraneous `^tsc` dependencies in examples.
2. Reduce general `build:esnext` to not depend on `^tsc` and `^api`.
3. Reduce presence `^api` dependencies to `^api-extractor:esnext` and `^api-extractor:commonjs`.

Note general `tsc` dependency is left to depend on `^api` and `^build:esnext`.
Additional changes required for complete ESM package generation (sans tests)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant