Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Adopt ESM #394

Open
AuHau opened this issue Aug 17, 2021 · 1 comment
Open

Adopt ESM #394

AuHau opened this issue Aug 17, 2021 · 1 comment
Labels
kind:architecture Core architecture of project status:blocked Unable to be worked further until needs are met (see 'need:*' category) type:issue

Comments

@AuHau
Copy link
Contributor

AuHau commented Aug 17, 2021

There is a general shift in the JS ecosystem from the CommonJS module into native EcmaScript Modules. Currently, it is natively supported in the whole ecosystem, but for Node 12 it is hidden behind an experimental flag that the user would have to use.

Few of our dependencies already made the switch and that brings us to the fact that we will have to adopt it sooner or later. The main problem is that it is not possible to synchronously import ESM package, so it requires us to become ESM package in order to import those.

This switch will impose the requirement to use ESM on our users as well, so for now we are not doing the switch but in close future, it should happen. Currently, as we agreed the end-of-life of Node 12 seems like a good milestone when to revisit this as then it will be natively supported in the ecosystem without any need for flags and other barriers.

@AuHau AuHau added the kind:architecture Core architecture of project label Aug 17, 2021
@AuHau AuHau added the status:blocked Unable to be worked further until needs are met (see 'need:*' category) label Jan 10, 2022
@AuHau AuHau pinned this issue Jan 28, 2022
@AuHau
Copy link
Contributor Author

AuHau commented Feb 9, 2022

As the Node 12 EOL (30th of April) is approaching we revisited this issue. We have come up with a transition period that starts with the 3.3.0 release which will introduce a hybrid build that supports both CommonJS and ES Modules. This is the time to start preparing your (build) stack for the adoption of ESM as the plan is to drop CommonJS around 30th of April.

This was referenced Feb 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:architecture Core architecture of project status:blocked Unable to be worked further until needs are met (see 'need:*' category) type:issue
Projects
None yet
Development

No branches or pull requests

1 participant