Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

add effect packages into the optimized-by-default list #65465

Merged
merged 2 commits into from
May 16, 2024

Conversation

datner
Copy link
Contributor

@datner datner commented May 7, 2024

What?

Adding packages from the Effect ecosystem to the list of optimized-by-default imports

Why?

Effect usage includes very liberal use of import * as Module from "effect/Module" and import { Module } from "effect". This is usually trees-shaken but in nextjs we must declare it to be optimized to be have this way. To provide a better experience to users I added all the packages in the ecosystem to the list that are possibly relevant. I don't expect all of them to get in, but the proposal should start from the full set of possible candidates. Not included are /cli, /printer, /printer-ansi, and /vitest.

At the very least effect and /schema should be added for their prevalence, but even if there is hesitance I recommend adding /platform and /platform-node since it's natural for effect usage to grow into benefitting from these quickly enough.

Related issue in the effect repo
Effect-TS/effect#2701

cited source for taken action:
the vercel blog

How?

Adding strings to a set

Copy link

vercel bot commented May 7, 2024

Notifying the following users due to files changed in this PR based on this repo's notify modifiers:

@timneutkens, @ijjk, @shuding, @huozhi:

packages/next/src/server/config.ts

@ijjk
Copy link
Member

ijjk commented May 7, 2024

Allow CI Workflow Run

  • approve CI run for commit: 0ff8b19

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

@datner datner force-pushed the patch-2 branch 3 times, most recently from 233824e to d1bfe01 Compare May 12, 2024 11:16
@datner
Copy link
Contributor Author

datner commented May 12, 2024

How can I progress this? It's not a big complicated change..

@datner
Copy link
Contributor Author

datner commented May 16, 2024

please

@ijjk ijjk enabled auto-merge (squash) May 16, 2024 18:44
@datner
Copy link
Contributor Author

datner commented May 16, 2024

Thank you ❤️ 🙏🏻

@ijjk ijjk merged commit 9f647f3 into vercel:canary May 16, 2024
74 checks passed
@datner datner deleted the patch-2 branch May 16, 2024 20:43
panteliselef pushed a commit to panteliselef/next.js that referenced this pull request May 20, 2024
### What?

Adding packages from the Effect ecosystem to the list of
optimized-by-default imports

### Why?

Effect usage includes very liberal use of `import * as Module from
"effect/Module"` and `import { Module } from "effect"`. This is usually
trees-shaken but in nextjs we must declare it to be optimized to be have
this way. To provide a better experience to users I added all the
packages in the ecosystem to the list that are possibly relevant. I
don't expect all of them to get in, but the proposal should start from
the full set of possible candidates. Not included are `/cli`,
`/printer`, `/printer-ansi`, and `/vitest`.

At the very least `effect` and `/schema` should be added for their
prevalence, but even if there is hesitance I recommend adding
`/platform` and `/platform-node` since it's natural for effect usage to
grow into benefitting from these quickly enough.

Related issue in the effect repo 
Effect-TS/effect#2701

cited source for taken action:
[the vercel
blog](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)

### How?

Adding strings to a set

Co-authored-by: JJ Kasper <jj@jjsweb.site>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 31, 2024
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants