node/test/es-module/test-esm-dynamic-import-attribute.mjs
Antoine du Hamel d1ef6aa2db
esm: use import attributes instead of import assertions
The old import assertions proposal has been
renamed to "import attributes" with the follwing major changes:

1. The keyword is now `with` instead of `assert`.
2. Unknown assertions cause an error rather than being ignored,

This commit updates the documentation to encourage folks to use the new
syntax, and add aliases for module customization hooks.

PR-URL: https://github.com/nodejs/node/pull/50140
Fixes: https://github.com/nodejs/node/issues/50134
Refs: 159c82c5e6
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2023-10-14 03:52:38 +00:00

43 lines
1.1 KiB
JavaScript

import '../common/index.mjs';
import { strictEqual } from 'assert';
{
const results = await Promise.allSettled([
import('../fixtures/empty.js', { with: { type: 'json' } }),
import('../fixtures/empty.js'),
]);
strictEqual(results[0].status, 'rejected');
strictEqual(results[1].status, 'fulfilled');
}
{
const results = await Promise.allSettled([
import('../fixtures/empty.js'),
import('../fixtures/empty.js', { with: { type: 'json' } }),
]);
strictEqual(results[0].status, 'fulfilled');
strictEqual(results[1].status, 'rejected');
}
{
const results = await Promise.allSettled([
import('../fixtures/empty.json', { with: { type: 'json' } }),
import('../fixtures/empty.json'),
]);
strictEqual(results[0].status, 'fulfilled');
strictEqual(results[1].status, 'rejected');
}
{
const results = await Promise.allSettled([
import('../fixtures/empty.json'),
import('../fixtures/empty.json', { with: { type: 'json' } }),
]);
strictEqual(results[0].status, 'rejected');
strictEqual(results[1].status, 'fulfilled');
}