Created by: bodograumann
The first try in #11298 did not work, because it broke the commonjs output.
Now I have differentiated between the two. When es6 is activated, we build an esmodule and when it is deactivated we build the classic commonjs format. For commonjs we don’t need to change our imports, because the esmodule import restrictions don’t apply to the commonjs format. For esmodule output we use a default import.
To make sure everything works, I have added a new sample that has supportsES6
enabled. The tests for it use esbuild as bundler. (Unfortunately a bundler is needed in any case, because we include commonjs polyfills. Ideally the esmodule output could just run in the browser as-is, but that is something for another day.)
As before I have included proper typings for url-parse.
I also had to expose the RequiredError
exception type to allow explicit casting to it, because typescript regards errors in catch
as unknown
these days.
Pet API tests are run against http://localhost/v2
as base server, to prevent HSTS in the browser from forcing https.
Finally, I added more fields to package.json
that include the module type and entry point, to improve compatibility with node and bundlers, especially when generating esmodule output.
PR checklist
-
Read the contribution guidelines. -
Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community. -
Run the following to build the project and update samples: ./mvnw clean package ./bin/generate-samples.sh ./bin/utils/export_docs_generators.sh
./bin/generate-samples.sh bin/configs/java*
. For Windows users, please run the script in Git BASH. -
File the PR against the correct branch: master
(5.3.0),6.0.x
-
If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.
@TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @topce (2018/10) @akehir (2019/07) @petejohansonxo (2019/11) @amakhrov (2020/02)