import '../common/index.mjs'; import * as fixtures from '../common/fixtures.mjs'; import { register } from 'node:module'; import assert from 'node:assert'; async function resolve(referrer, context, next) { const result = await next(referrer, context); const url = new URL(result.url); url.searchParams.set('randomSeed', Math.random()); result.url = url.href; return result; } function load(url, context, next) { if (context.importAttributes.type === 'json') { return { shortCircuit: true, format: 'json', source: JSON.stringify({ data: Math.random() }), }; } return next(url, context); } register(`data:text/javascript,export ${encodeURIComponent(resolve)};export ${encodeURIComponent(load)}`); assert.notDeepStrictEqual( await import(fixtures.fileURL('empty.json'), { with: { type: 'json' } }), await import(fixtures.fileURL('empty.json'), { with: { type: 'json' } }), );