mirror of
https://github.com/withastro/astro.git
synced 2024-12-16 21:46:22 -05:00
Fix: support FormData
object on fetch body (#3417)
* refactor: make node-fetch external in rollup build * deps: make node-fetch standard dep * refactor: switch to node-fetch pkg ref in fetch.ts * chore: changeset * chore: bump webapi to minor change
This commit is contained in:
parent
d296eb63eb
commit
4de53eccef
5 changed files with 19 additions and 21 deletions
6
.changeset/serious-vans-smell.md
Normal file
6
.changeset/serious-vans-smell.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
'@astrojs/webapi': minor
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix: support FormData object on fetch body
|
|
@ -49,6 +49,9 @@
|
||||||
],
|
],
|
||||||
"bugs": "https://github.com/withastro/astro/issues",
|
"bugs": "https://github.com/withastro/astro/issues",
|
||||||
"homepage": "https://github.com/withastro/astro/tree/main/packages/webapi#readme",
|
"homepage": "https://github.com/withastro/astro/tree/main/packages/webapi#readme",
|
||||||
|
"dependencies": {
|
||||||
|
"node-fetch": "^3.2.4"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/plugin-alias": "^3.1.9",
|
"@rollup/plugin-alias": "^3.1.9",
|
||||||
"@rollup/plugin-inject": "^4.0.4",
|
"@rollup/plugin-inject": "^4.0.4",
|
||||||
|
@ -65,7 +68,6 @@
|
||||||
"formdata-polyfill": "^4.0.10",
|
"formdata-polyfill": "^4.0.10",
|
||||||
"magic-string": "^0.25.9",
|
"magic-string": "^0.25.9",
|
||||||
"mocha": "^9.2.2",
|
"mocha": "^9.2.2",
|
||||||
"node-fetch": "^3.2.4",
|
|
||||||
"rollup": "^2.74.1",
|
"rollup": "^2.74.1",
|
||||||
"rollup-plugin-terser": "^7.0.2",
|
"rollup-plugin-terser": "^7.0.2",
|
||||||
"tslib": "^2.4.0",
|
"tslib": "^2.4.0",
|
||||||
|
|
|
@ -178,6 +178,7 @@ async function build() {
|
||||||
inputOptions: {
|
inputOptions: {
|
||||||
input: 'src/polyfill.ts',
|
input: 'src/polyfill.ts',
|
||||||
plugins: plugins,
|
plugins: plugins,
|
||||||
|
external: ['node-fetch'],
|
||||||
onwarn(warning, warn) {
|
onwarn(warning, warn) {
|
||||||
if (warning.code !== 'UNRESOLVED_IMPORT') warn(warning)
|
if (warning.code !== 'UNRESOLVED_IMPORT') warn(warning)
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,7 +3,8 @@ import {
|
||||||
Headers,
|
Headers,
|
||||||
Request,
|
Request,
|
||||||
Response,
|
Response,
|
||||||
} from 'node-fetch/src/index.js'
|
} from 'node-fetch'
|
||||||
|
import type { RequestInit } from 'node-fetch'
|
||||||
import Stream from 'node:stream'
|
import Stream from 'node:stream'
|
||||||
import * as _ from './utils'
|
import * as _ from './utils'
|
||||||
|
|
||||||
|
@ -11,7 +12,7 @@ export { Headers, Request, Response }
|
||||||
|
|
||||||
export const fetch = {
|
export const fetch = {
|
||||||
fetch(
|
fetch(
|
||||||
resource: string | URL | Request,
|
resource: string | Request,
|
||||||
init?: Partial<FetchInit>
|
init?: Partial<FetchInit>
|
||||||
): Promise<Response> {
|
): Promise<Response> {
|
||||||
const resourceURL = new URL(
|
const resourceURL = new URL(
|
||||||
|
@ -62,13 +63,7 @@ export const fetch = {
|
||||||
type USVString = {} & string
|
type USVString = {} & string
|
||||||
|
|
||||||
interface FetchInit {
|
interface FetchInit {
|
||||||
body:
|
body: RequestInit['body']
|
||||||
| Blob
|
|
||||||
| BufferSource
|
|
||||||
| FormData
|
|
||||||
| URLSearchParams
|
|
||||||
| ReadableStream
|
|
||||||
| USVString
|
|
||||||
cache:
|
cache:
|
||||||
| 'default'
|
| 'default'
|
||||||
| 'no-store'
|
| 'no-store'
|
||||||
|
|
|
@ -1687,6 +1687,8 @@ importers:
|
||||||
typescript: ^4.6.4
|
typescript: ^4.6.4
|
||||||
urlpattern-polyfill: ^1.0.0-rc5
|
urlpattern-polyfill: ^1.0.0-rc5
|
||||||
web-streams-polyfill: ^3.2.1
|
web-streams-polyfill: ^3.2.1
|
||||||
|
dependencies:
|
||||||
|
node-fetch: 3.2.4
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@rollup/plugin-alias': 3.1.9_rollup@2.74.1
|
'@rollup/plugin-alias': 3.1.9_rollup@2.74.1
|
||||||
'@rollup/plugin-inject': 4.0.4_rollup@2.74.1
|
'@rollup/plugin-inject': 4.0.4_rollup@2.74.1
|
||||||
|
@ -1703,7 +1705,6 @@ importers:
|
||||||
formdata-polyfill: 4.0.10
|
formdata-polyfill: 4.0.10
|
||||||
magic-string: 0.25.9
|
magic-string: 0.25.9
|
||||||
mocha: 9.2.2
|
mocha: 9.2.2
|
||||||
node-fetch: 3.2.4
|
|
||||||
rollup: 2.74.1
|
rollup: 2.74.1
|
||||||
rollup-plugin-terser: 7.0.2_rollup@2.74.1
|
rollup-plugin-terser: 7.0.2_rollup@2.74.1
|
||||||
tslib: 2.4.0
|
tslib: 2.4.0
|
||||||
|
@ -7745,6 +7746,7 @@ packages:
|
||||||
/data-uri-to-buffer/4.0.0:
|
/data-uri-to-buffer/4.0.0:
|
||||||
resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==}
|
resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==}
|
||||||
engines: {node: '>= 12'}
|
engines: {node: '>= 12'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/dataloader/1.4.0:
|
/dataloader/1.4.0:
|
||||||
resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
|
resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
|
||||||
|
@ -7757,11 +7759,6 @@ packages:
|
||||||
|
|
||||||
/debug/3.2.7:
|
/debug/3.2.7:
|
||||||
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
||||||
peerDependencies:
|
|
||||||
supports-color: '*'
|
|
||||||
peerDependenciesMeta:
|
|
||||||
supports-color:
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.3
|
ms: 2.1.3
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -9628,7 +9625,7 @@ packages:
|
||||||
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
|
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
|
||||||
engines: {node: '>= 10.13.0'}
|
engines: {node: '>= 10.13.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 14.18.18
|
'@types/node': 17.0.35
|
||||||
merge-stream: 2.0.0
|
merge-stream: 2.0.0
|
||||||
supports-color: 7.2.0
|
supports-color: 7.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -10583,8 +10580,6 @@ packages:
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
iconv-lite: 0.4.24
|
iconv-lite: 0.4.24
|
||||||
sax: 1.2.4
|
sax: 1.2.4
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/netmask/2.0.2:
|
/netmask/2.0.2:
|
||||||
|
@ -10646,6 +10641,7 @@ packages:
|
||||||
data-uri-to-buffer: 4.0.0
|
data-uri-to-buffer: 4.0.0
|
||||||
fetch-blob: 3.1.5
|
fetch-blob: 3.1.5
|
||||||
formdata-polyfill: 4.0.10
|
formdata-polyfill: 4.0.10
|
||||||
|
dev: false
|
||||||
|
|
||||||
/node-gyp-build/4.4.0:
|
/node-gyp-build/4.4.0:
|
||||||
resolution: {integrity: sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==}
|
resolution: {integrity: sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==}
|
||||||
|
@ -10667,8 +10663,6 @@ packages:
|
||||||
rimraf: 2.7.1
|
rimraf: 2.7.1
|
||||||
semver: 5.7.1
|
semver: 5.7.1
|
||||||
tar: 4.4.19
|
tar: 4.4.19
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/node-releases/2.0.4:
|
/node-releases/2.0.4:
|
||||||
|
|
Loading…
Reference in a new issue