summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar André Alves <71379045+andremralves@users.noreply.github.com> 2023-05-26 10:02:35 -0300
committerGravatar GitHub <noreply@github.com> 2023-05-26 15:02:35 +0200
commitbf63f615fc1b97d6fb84db55f7639084e3ada5af (patch)
tree5e4f488ba3ed6e03d4d0c1c216c52b0c20fc51fd
parent52af9ad18840ffa4e2996386c82cbe34d9fd076a (diff)
downloadastro-bf63f615fc1b97d6fb84db55f7639084e3ada5af.tar.gz
astro-bf63f615fc1b97d6fb84db55f7639084e3ada5af.tar.zst
astro-bf63f615fc1b97d6fb84db55f7639084e3ada5af.zip
Add global crypto to @astrojs/webapi (#6981)
* add crypto to be polyfilled * chore: changeset * chore: update deps for node types --------- Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com> Co-authored-by: Princesseuh <princssdev@gmail.com>
-rw-r--r--.changeset/fifty-months-mix.md5
-rw-r--r--packages/telemetry/package.json2
-rw-r--r--packages/webapi/mod.d.ts2
-rw-r--r--packages/webapi/package.json2
-rw-r--r--packages/webapi/src/polyfill.ts3
-rw-r--r--packages/webapi/src/ponyfill.ts2
-rw-r--r--pnpm-lock.yaml8
7 files changed, 17 insertions, 7 deletions
diff --git a/.changeset/fifty-months-mix.md b/.changeset/fifty-months-mix.md
new file mode 100644
index 000000000..78a009950
--- /dev/null
+++ b/.changeset/fifty-months-mix.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/webapi': minor
+---
+
+Add polyfill for `crypto`
diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json
index 63c20cba3..c50c89ba3 100644
--- a/packages/telemetry/package.json
+++ b/packages/telemetry/package.json
@@ -38,7 +38,7 @@
"devDependencies": {
"@types/debug": "^4.1.7",
"@types/dlv": "^1.1.2",
- "@types/node": "^14.18.21",
+ "@types/node": "^18.7.21",
"@types/which-pm-runs": "^1.0.0",
"astro-scripts": "workspace:*",
"chai": "^4.3.6",
diff --git a/packages/webapi/mod.d.ts b/packages/webapi/mod.d.ts
index ecc902364..60bdbab37 100644
--- a/packages/webapi/mod.d.ts
+++ b/packages/webapi/mod.d.ts
@@ -1,6 +1,6 @@
// organize-imports-ignore
export { pathToPosix } from './lib/utils';
-export { alert, ByteLengthQueuingStrategy, cancelAnimationFrame, cancelIdleCallback, CanvasRenderingContext2D, CharacterData, clearTimeout, Comment, CountQueuingStrategy, CSSStyleSheet, CustomElementRegistry, CustomEvent, Document, DocumentFragment, DOMException, Element, Event, EventTarget, fetch, File, FormData, Headers, HTMLBodyElement, HTMLCanvasElement, HTMLDivElement, HTMLDocument, HTMLElement, HTMLHeadElement, HTMLHtmlElement, HTMLImageElement, HTMLSpanElement, HTMLStyleElement, HTMLTemplateElement, HTMLUnknownElement, Image, ImageData, IntersectionObserver, MediaQueryList, MutationObserver, Node, NodeFilter, NodeIterator, OffscreenCanvas, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, Request, requestAnimationFrame, requestIdleCallback, ResizeObserver, Response, setTimeout, ShadowRoot, structuredClone, StyleSheet, Text, TransformStream, TreeWalker, URLPattern, Window, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter, } from './mod.js';
+export { alert, ByteLengthQueuingStrategy, cancelAnimationFrame, cancelIdleCallback, CanvasRenderingContext2D, CharacterData, clearTimeout, Comment, CountQueuingStrategy, crypto, CSSStyleSheet, CustomElementRegistry, CustomEvent, Document, DocumentFragment, DOMException, Element, Event, EventTarget, fetch, File, FormData, Headers, HTMLBodyElement, HTMLCanvasElement, HTMLDivElement, HTMLDocument, HTMLElement, HTMLHeadElement, HTMLHtmlElement, HTMLImageElement, HTMLSpanElement, HTMLStyleElement, HTMLTemplateElement, HTMLUnknownElement, Image, ImageData, IntersectionObserver, MediaQueryList, MutationObserver, Node, NodeFilter, NodeIterator, OffscreenCanvas, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, Request, requestAnimationFrame, requestIdleCallback, ResizeObserver, Response, setTimeout, ShadowRoot, structuredClone, StyleSheet, Text, TransformStream, TreeWalker, URLPattern, Window, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter, } from './mod.js';
export declare const polyfill: {
(target: any, options?: PolyfillOptions): any;
internals(target: any, name: string): any;
diff --git a/packages/webapi/package.json b/packages/webapi/package.json
index 2e35c43c7..61f359a33 100644
--- a/packages/webapi/package.json
+++ b/packages/webapi/package.json
@@ -59,7 +59,7 @@
"@rollup/plugin-typescript": "^8.3.2",
"@types/chai": "^4.3.1",
"@types/mocha": "^9.1.1",
- "@types/node": "^14.18.21",
+ "@types/node": "^18.7.21",
"@ungap/structured-clone": "^0.3.4",
"chai": "^4.3.6",
"event-target-shim": "^6.0.2",
diff --git a/packages/webapi/src/polyfill.ts b/packages/webapi/src/polyfill.ts
index 4d1531a3f..5fadd5a68 100644
--- a/packages/webapi/src/polyfill.ts
+++ b/packages/webapi/src/polyfill.ts
@@ -8,6 +8,7 @@ import {
clearTimeout,
Comment,
CountQueuingStrategy,
+ crypto,
CSSStyleSheet,
CustomElementRegistry,
CustomEvent,
@@ -87,6 +88,7 @@ export {
clearTimeout,
Comment,
CountQueuingStrategy,
+ crypto,
CSSStyleSheet,
CustomElementRegistry,
CustomEvent,
@@ -211,6 +213,7 @@ export const polyfill = (target: any, options?: PolyfillOptions) => {
cancelAnimationFrame,
cancelIdleCallback,
clearTimeout,
+ crypto,
fetch,
requestAnimationFrame,
requestIdleCallback,
diff --git a/packages/webapi/src/ponyfill.ts b/packages/webapi/src/ponyfill.ts
index 368f7ee5b..9be4377c5 100644
--- a/packages/webapi/src/ponyfill.ts
+++ b/packages/webapi/src/ponyfill.ts
@@ -14,6 +14,7 @@ import {
WritableStreamDefaultController,
WritableStreamDefaultWriter,
} from 'node:stream/web' // Remove when Node 16 is dropped for Node 18.
+import { webcrypto as crypto } from 'node:crypto' // Remove when Node 18 is dropped for Node 20
import { fetch, File, FormData, Headers, Request, Response } from 'undici' // Remove when Node 16 is dropped for Node 18.
import { URLPattern } from 'urlpattern-polyfill'
import {
@@ -133,6 +134,7 @@ export {
cancelAnimationFrame,
cancelIdleCallback,
clearTimeout,
+ crypto,
fetch,
requestAnimationFrame,
requestIdleCallback,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 82cad787a..635c51a2f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5201,8 +5201,8 @@ importers:
specifier: ^1.1.2
version: 1.1.2
'@types/node':
- specifier: ^14.18.21
- version: 14.18.21
+ specifier: ^18.7.21
+ version: 18.16.3
'@types/which-pm-runs':
specifier: ^1.0.0
version: 1.0.0
@@ -5241,8 +5241,8 @@ importers:
specifier: ^9.1.1
version: 9.1.1
'@types/node':
- specifier: ^14.18.21
- version: 14.18.21
+ specifier: ^18.7.21
+ version: 18.16.3
'@ungap/structured-clone':
specifier: ^0.3.4
version: 0.3.4