current commit
250820.8 · esm: link modules synchronously when no async loader hooks are used
'use strict';

const common = require('../common');
const assert = require('assert');

const file = '../fixtures/syntax/bad_syntax.mjs';

let error;
(async () => {
  try {
    await import(file);
  } catch (e) {
    assert.strictEqual(e.name, 'SyntaxError');
    error = e;
  }

  assert(error);

  await assert.rejects(
    () => import(file),
    (e) => {
      // The module may be compiled again and a new SyntaxError would be thrown but
      // with the same content.
      assert.deepStrictEqual(error, e);
      return true;
    }
  );
})().then(common.mustCall());