contentful / contentful-sdk-core

Core modules for the Contentful JS SDKs
MIT License
22 stars 20 forks source link

modern esm support #438

Closed axe312ger closed 1 month ago

axe312ger commented 8 months ago

This PR, building upon #437, introduces comprehensive and up-to-date ESM support for the SDK-CORE, CMA, and CDA libraries.

Our goal is to transition these user-facing libraries to dual packages (both CommonJS and ESM compatible) as outlined in the Node.js documentation, with an added browser bundle for broader accessibility.

The SDK core will adopt an ESM-only format to guarantee compatibility with ESM-only dependencies, catering to our diverse range of customers by ensuring optimal usability across various JavaScript environments.

Complementary PRs for CDA and CMA are forthcoming. There's a potential need to standardize the CDA and CMA libraries on TypeScript and webpack for consistency, which I believe is crucial.

Change Summary

Where we have to be careful

axe312ger commented 5 months ago

The code itself looks great to me! This is a significant improvement and jumps out to me as a methodical approach to making it happen.

A few questions I have about the outstanding work:

1. This is a semantic version major/breaking release yes? Seems obvious but I'm not sure we've discussed it.

Yes, definitely a breaking change!

2. What is your thought on the testing process for this? I'd love to be able to deploy a canary/beta version of this for testing (+the CMA/CDA js changes), and can help out with that if so, though I don't have much experience working in this repo generally. I can also help out with some manual testing as needed.

I am testing currently extended on a local verdaccio server. As soon I am happy with it, I'll fix all the urls in the lock files to use public servers and we can deploy a public alpha version!

axe312ger commented 4 months ago

Will fix:

axe312ger commented 3 months ago

This is published as 8.1.5-9.x-alpha.1 (Will be later published as v9 due to breaking changes)

axe312ger commented 1 month ago

@mgoudy91 isnt the contenful.js already released using this?

We probably should release this then as well.

contentful-automation[bot] commented 1 month ago

:tada: This PR is included in version 9.0.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: