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

Publish CJS + ESM #13181

Open
rarkins opened this issue Dec 18, 2021 · 4 comments
Open

Publish CJS + ESM #13181

rarkins opened this issue Dec 18, 2021 · 4 comments
Assignees
Labels
breaking Breaking change, requires major version bump priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality)
Milestone

Comments

@rarkins
Copy link
Collaborator

rarkins commented Dec 18, 2021

What would you like Renovate to be able to do?

Publish both CJS + ESM so that downstream tools can migrate gradually to ESM, prior to us supporting ESM only once #9890 is done

If you have any ideas on how this should be implemented, please tell us here.

@viceice :)

Is this a feature you are interested in implementing yourself?

No

@rarkins rarkins added type:feature Feature (new functionality) priority-2-high Bugs impacting wide number of users or very important features status:ready labels Dec 18, 2021
@viceice viceice self-assigned this Dec 18, 2021
@viceice viceice added status:in-progress Someone is working on implementation breaking Breaking change, requires major version bump and removed status:ready labels Dec 18, 2021
@viceice
Copy link
Member

viceice commented Jun 13, 2022

Looks like i need to forward this as more and more deps become ESM only 😞

@JamieMagee
Copy link
Contributor

What work is required or blocking here?

Jest has experimental support for mocking ESM, but I don't see it becoming stable any time soon as jest is blocked by work required upstream in Node and v8.

@viceice
Copy link
Member

viceice commented Mar 22, 2023

we can continue to test as commonjs, but the hard part is to properly compile to esm. the typescript compiler still can't do this on our codebase without changes.

we would need to change all local imports to full files with extension and add /index.ts for barrel imports.

or we use some kind of bundler to bundle only our code. but we should still provide some API to be used by ourselves other tools. so we can't simply build a single js binary.

@viceice
Copy link
Member

viceice commented Sep 28, 2023

@rarkins rarkins added priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others and removed status:ready priority-2-high Bugs impacting wide number of users or very important features labels Oct 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking change, requires major version bump priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants