| 'use strict'; |
| const common = require('../common'); |
| const fixtures = require('../common/fixtures'); |
| const assert = require('assert'); |
| const { pathToFileURL } = require('url'); |
| |
| assert.rejects( |
| import('data:text/javascript,require;'), |
| /require is not defined in ES module scope, you can use import instead$/ |
| ).then(common.mustCall()); |
| assert.rejects( |
| import('data:text/javascript,exports={};'), |
| /exports is not defined in ES module scope$/ |
| ).then(common.mustCall()); |
| |
| assert.rejects( |
| import('data:text/javascript,require_custom;'), |
| /^(?!in ES module scope)(?!use import instead).*$/ |
| ).then(common.mustCall()); |
| |
| const pkgUrl = pathToFileURL(fixtures.path('/es-modules/package-type-module/')); |
| assert.rejects( |
| import(new URL('./cjs.js', pkgUrl)), |
| /use the '\.cjs' file extension/ |
| ).then(common.mustCall()); |
| assert.rejects( |
| import(new URL('./cjs.js#target', pkgUrl)), |
| /use the '\.cjs' file extension/ |
| ).then(common.mustCall()); |
| assert.rejects( |
| import(new URL('./cjs.js?foo=bar', pkgUrl)), |
| /use the '\.cjs' file extension/ |
| ).then(common.mustCall()); |
| assert.rejects( |
| import(new URL('./cjs.js?foo=bar#target', pkgUrl)), |
| /use the '\.cjs' file extension/ |
| ).then(common.mustCall()); |
| |
| assert.rejects( |
| import('data:text/javascript,require;//.js'), |
| /^(?!use the '\.cjs' file extension).*$/ |
| ).then(common.mustCall()); |