%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
import { mustCall, spawnPromisified } from '../common/index.mjs'; import { ok, match, notStrictEqual } from 'node:assert'; import { spawn as spawnAsync } from 'node:child_process'; import { execPath } from 'node:process'; import { describe, it } from 'node:test'; describe('ESM: http import via CLI', { concurrency: true }, () => { const disallowedSpecifier = 'http://example.com'; it('should throw disallowed error for insecure protocol', async () => { const { code, stderr } = await spawnPromisified(execPath, [ '--experimental-network-imports', '--input-type=module', '--eval', `import ${JSON.stringify(disallowedSpecifier)}`, ]); notStrictEqual(code, 0); // [ERR_NETWORK_IMPORT_DISALLOWED]: import of 'http://example.com/' by // …/[eval1] is not supported: http can only be used to load local // resources (use https instead). match(stderr, /ERR_NETWORK_IMPORT_DISALLOWED/); ok(stderr.includes(disallowedSpecifier)); }); it('should throw disallowed error for insecure protocol in REPL', () => { const child = spawnAsync(execPath, [ '--experimental-network-imports', '--input-type=module', ]); child.stdin.end(`import ${JSON.stringify(disallowedSpecifier)}`); let stderr = ''; child.stderr.setEncoding('utf8'); child.stderr.on('data', (data) => stderr += data); child.on('close', mustCall((code, _signal) => { notStrictEqual(code, 0); // [ERR_NETWORK_IMPORT_DISALLOWED]: import of 'http://example.com/' by // …/[stdin] is not supported: http can only be used to load local // resources (use https instead). match(stderr, /\[ERR_NETWORK_IMPORT_DISALLOWED\]/); ok(stderr.includes(disallowedSpecifier)); })); }); });