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

fix(deps): update dependency got to v14 #45

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 2, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
got ^11.8.6 -> ^14.4.5 age adoption passing confidence

Release Notes

sindresorhus/got (got)

v14.4.5

Compare Source

v14.4.4

Compare Source

v14.4.3

Compare Source

v14.4.2

Compare Source

v14.4.1

Compare Source

v14.4.0

Compare Source

v14.3.0

Compare Source

v14.2.1

Compare Source

v14.2.0

Compare Source

  • Add cause property with the original error to RequestError (#​2327) 4cbd01d

v14.1.0

Compare Source

v14.0.0

Compare Source

Breaking
  • Require Node.js 20 (#​2313) a004263
    • Why not target the oldest active Node.js LTS, which is Node.js 18? I usually strictly follow this convention in my packages. However, this package is the exception because the HTTP part of Node.js is consistently buggy, and I don't have time to work around issues in older Node.js releases. I you need to still support Node.js 18, I suggest staying on Got v13, which is quite stable. Node.js 18 will be out of active LTS in 5 months.
Improvements

v13.0.0

Compare Source

As a reminder, Got continues to require ESM. For TypeScript users, this includes having "module": "node16", "moduleResolution": "node16" in your tsconfig.

Breaking
Improvements

v12.6.1

Compare Source

v12.6.0

Compare Source

v12.5.3

Compare Source

v12.5.2

Compare Source

v12.5.1

Compare Source

  • Fix compatibility with TypeScript and ESM 3b3ea67
  • Fix request body not being properly cached (#​2150) 3e9d3af

v12.5.0

Compare Source

v12.4.1

Compare Source

Fixes
  • Fix options.context being not extensible b671480
  • Don't emit uploadProgress after promise cancelation 693de21

v12.4.0

Compare Source

Improvements
Fixes
  • Don't call beforeError hooks with HTTPError if the throwHttpErrors option is false (#​2104) 3927348

v12.3.1

Compare Source

v12.3.0

Compare Source

v12.2.0

Compare Source

v12.1.0

Compare Source

Improvements
Fixes

v12.0.4

Compare Source

  • Remove stream lock - unreliable since Node 17.3.0 bb8eca9

v12.0.3

Compare Source

v12.0.2

Compare Source

v12.0.1

Compare Source

v12.0.0

Compare Source

Introducing Got v12.0.0 🎉

Long time no see! The latest Got version (v11.8.2) was released just in February ❄️
We have been working hard on squashing bugs and improving overall experience.

If you find Got useful, you might want to sponsor the Got maintainers.

This package is now pure ESM

Please read this. Also see https://github.com/sindresorhus/got/issues/1789.

  • Please don't open issues about [ERR_REQUIRE_ESM] and Must use import to load ES Module errors. This is a problem with your setup, not Got.
  • Please don't open issues about using Got with Jest. Jest does not fully support ESM.
  • Pretty much any problem with loading this package is a problem with your bundler, test framework, etc, not Got.
  • If you use TypeScript, you will want to stay on Got v11 until TypeScript 4.6 is out. Why.
  • If you use a bundler, make sure it supports ESM and that you have correctly configured it for ESM.
  • The Got issue tracker is not a support channel for your favorite build/bundler tool.
Required Node.js >=14

While working with streams, we encountered more Node.js bugs that needed workarounds.
In order to keep our code clean, we had to drop Node.js v12 as the code would get more messy.
We strongly recommend that you update Node.js to v14 LTS.

HTTP/2 support

Every Node.js release, the native http2 module gets more stable.
Unfortunately there are still some issues on the Node.js side, so we decided to keep HTTP/2 disabled for now.
We may enable it by default in Got v13. It is still possible to turn it on via the http2 option.

To run HTTP/2 requests, it is required to use Node.js v15.10 or above.

Bug fixes

Woah, we possibly couldn't make a release if we didn't fix some bugs!

Improvements
Breaking changes
Improved option normalization
  • Got exports an Option class that is specifically designed to parse and validate Got options.
    It is made of setters and getters that provide fast normalization and more consistent behavior.

When passing an option does not exist, Got will throw an error. In order to retrieve the options before the error, use error.options.

import got from 'got';

try {
    await got('https://httpbin.org/anything', {
        thisOptionDoesNotExist: true
    });
} catch (error) {
    console.error(error);
    console.error(error.options.url.href);
    // Unexpected option: thisOptionDoesNotExist
    // https://httpbin.org/anything
}
  • The init hook now accepts a second argument: self, which points to an Options instance.

In order to define your own options, you have to move them to options.context in an init hook or store them in options.context directly.

  • The init hooks are ran only when passing an options object explicitly.
- await got('https://example.com'); // this will *not* trigger the init hooks
+ await got('https://example.com', {}); // this *will** trigger init hooks
- got.defaults.options = got.mergeOptions(got.defaults.options, {…});
+ got.defaults.options.merge(…);

This fixes issues like #​1450

  • Legacy Url instances are not supported anymore. You need to use WHATWG URL instead.
- await got(string, {port: 8443});
+ const url = new URL(string);
+ url.port = 8443;
+ await got(url);
  • No implicit timeout declaration.
- await got('https://example.com', {timeout: 5000})
+ await got('https://example.com', {timeout: {request: 5000})
  • No implicit retry declaration.
- await got('https://example.com', {retry: 5})
+ await got('https://example.com', {retry: {limit: 5})
  • dnsLookupIpVersion is now a number (4 or 6) or undefined
- await got('https://example.com', {dnsLookupIpVersion: 'ipv4'})
+ await got('https://example.com', {dnsLookupIpVersion: 4})
  • redirectUrls and requestUrl now give URL instances
- request.requestUrl
+ request.requestUrl.origin
+ request.requestUrl.href
+ request.requestUrl.toString()
- request.redirectUrls[0]
+ request.redirectUrls[0].origin
+ request.redirectUrls[0].href
+ request.redirectUrls[0].toString()
  • Renamed request.aborted to request.isAborted
- request.aborted
+ request.isAborted

Reason: consistency with options.isStream.

  • Renamed the lookup option to dnsLookup
- await got('https://example.com', {lookup: cacheable.lookup})
+ await got('https://example.com', {dnsLookup: cacheable.lookup})
  • The beforeRetry hook now accepts only two arguments: error and retryCount
await got('https://example.com', {
    hooks: {
        beforeRetry: [
-            (options, error, retryCount) => {
-                console.log(options, error, retryCount);
-            }
+            (error, retryCount) => {
+                console.log(error.options, error, retryCount);
+            }
        ]
    }
})

The options argument has been removed, however it's still accessible via error.options. All modifications on error.options will be reflected in the next requests (no behavior change, same as with Got 11).

  • The beforeRedirect hook's first argument (options) is now a cloned instance of the Request options.

This was done to make retrieving the original options possible: plainResponse.request.options.

await got('http://szmarczak.com', {
    hooks: {
        beforeRedirect: [
            (options, response) => {
-                console.log(options === response.request.options); //=> true [invalid! our original options were overriden]
+                console.log(options === response.request.options); //=> false [we can access the original options now]
            }
        ]
    }
})
  • The redirect event now takes two arguments in this order: updatedOptions and plainResponse.
- stream.on('redirect', (response, options) => …)
+ stream.on('redirect', (options, response) => …)

Reason: consistency with the beforeRedirect hook.

  • The socketPath option has been removed. Use the unix: protocol instead.
- got('/containers/json', {socketPath: '/var/run/docker.sock'})
+ got('unix:/var/run/docker.sock:/containers/json')
+ got('http://unix:/var/run/docker.sock:/containers/json')
  • The retryWithMergedOptions function in an afterResponse hook no longer returns a Promise.

It now throws RetryError, so this should this should be the last function being executed.
This was done to allow beforeRetry hooks getting called.

  • You can no longer set options.agent to false.
    To do so, you need to define all the options.agent properties: http, https and http2.
await got('https://example.com', {
-    agent: false
+    agent: {
+        http: false,
+        https: false,
+        http2: false
+    }
})
  • When passing a url option when paginating, it now needs to be an absolute URL - the prefixUrl option is always reset from now on. The same when retrying in an afterResponse hook.
- return {url: '/location'};
+ return {url: new URL('/location', response.request.options.url)};

There was confusion around the prefixUrl option. It was counterintuitive if used with the Pagination API. For example, it worked fine if the server replied with a relative URL, but if it was an absolute URL then the prefixUrl would end up duplicated. In order to fix this, Got now requires an absolute URL - no prefixUrl will be applied.

  • got.extend(…) will throw when passing some options that don't accept undefined - undefined no longer retains the old value, as setting undefined explicitly may reset the option
Documentation

We have redesigned the documentation so it's easier to navigate and find exactly what you are looking for. We hope you like it ❤️


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - "after 8:00 before 23:00 every weekday except on Friday" in timezone UTC.

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/got-14.x branch from c8b5162 to 1739393 Compare December 4, 2023 11:41
@renovate renovate bot force-pushed the renovate/got-14.x branch 3 times, most recently from 793724a to ec8f32c Compare December 18, 2023 10:54
@renovate renovate bot force-pushed the renovate/got-14.x branch 2 times, most recently from 0be3e48 to f3772cd Compare December 18, 2023 16:30
@renovate renovate bot force-pushed the renovate/got-14.x branch 2 times, most recently from 9e5d4fe to b55c02f Compare January 1, 2024 09:35
@renovate renovate bot force-pushed the renovate/got-14.x branch 4 times, most recently from c90fd2b to 8213f5f Compare January 10, 2024 10:59
@renovate renovate bot force-pushed the renovate/got-14.x branch 3 times, most recently from a259c43 to a763127 Compare January 18, 2024 09:09
@renovate renovate bot force-pushed the renovate/got-14.x branch 4 times, most recently from f83998d to ee318fa Compare January 29, 2024 11:00
@renovate renovate bot force-pushed the renovate/got-14.x branch 5 times, most recently from 8966ae5 to 1ddcac0 Compare February 5, 2024 12:59
@renovate renovate bot force-pushed the renovate/got-14.x branch 3 times, most recently from e0aa79f to 3242558 Compare February 6, 2024 10:37
@renovate renovate bot force-pushed the renovate/got-14.x branch 6 times, most recently from 7050a05 to df6563d Compare October 28, 2024 13:40
@renovate renovate bot force-pushed the renovate/got-14.x branch 6 times, most recently from 5efdcda to 6edd078 Compare November 7, 2024 13:52
@renovate renovate bot force-pushed the renovate/got-14.x branch 4 times, most recently from dd91279 to a269877 Compare November 12, 2024 07:44
@renovate renovate bot force-pushed the renovate/got-14.x branch 3 times, most recently from 7c47238 to cd2e0f5 Compare November 22, 2024 03:44
@renovate renovate bot force-pushed the renovate/got-14.x branch 5 times, most recently from 07e70e6 to 58bef9b Compare December 1, 2024 18:58
@renovate renovate bot force-pushed the renovate/got-14.x branch 4 times, most recently from ec11ad5 to af7c17c Compare December 8, 2024 09:04
@renovate renovate bot force-pushed the renovate/got-14.x branch from af7c17c to 15b426f Compare December 9, 2024 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants