apollographql / apollographql/federation
Provide ES Modules distribution to allow treeshaking
- Dominant language
- TypeScript
- Stars
- 725
- Forks
- 276
- Avg merge
- 1h 47m
- Merged PRs (30d)
- 1
Description
Importing the single function `composeAndValidate` bloats up my webpack bundle to more than 450KB 🙉 .
```js
import { composeAndValidate } from '@apollo/federation'
```
Example:
- https://github.com/graphql/graphql-js/blob/main/.babelrc-npm.json
- https://github.com/graphql/graphql-js/blob/main/resources/build-npm.js
Contributor guide
Research direction
Start by comparing the package distribution approach in graphql-js's .babelrc-npm.json and resources/build-npm.js, as linked in the issue. Determine how the federation package is currently built and what ES Modules output would be needed for webpack tree shaking. Done means composeAndValidate can be imported without bundling the unused package code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, webpack
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100