apollographql / apollographql/federation

Provide ES Modules distribution to allow treeshaking

Open
#668 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.