webrecorder / warcio.js

JS Streaming WARC IO optimized for Browser and Node
MIT License
30 stars 6 forks source link

Node JS: crypto import polyfill not taken into account? #49

Open matteocargnelutti opened 1 year ago

matteocargnelutti commented 1 year ago

Hi there 👋 !

I see that there is now a polyfill to automatically import and declare crypto in the global scope.

Unfortunately, I'm getting the following error when using WARCRecord.create() after removing my own global import of crypto :

ReferenceError: crypto is not defined

For reference, I'm importing crypto as such to compensate for its absence:

import crypto from 'crypto'
global.crypto = crypto

I'm using warcio.js 2.0.1 with Node 18+.

Thanks in advance,

ikreymer commented 1 year ago

Yes, the current polyfill applies only to the test suite. I was having trouble setting up a proper polyfill for the node build. Though, Node 18 does have --experimental-global-webcrypto for making crypto global and I guess in node 19, this is the default..

jlarmstrongiv commented 1 year ago

Finally found a way to have automatic polyfills:

Use inject with a separate polyfills file