This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
Error [ERR_INVALID_PROTOCOL]: Protocol 'node:' not supported. Expected 'file:' #904
Open
Description
Problem:
Using esm
to import module that imports builtin Node modules using 'node:*'
URL results with an error:
file:///C:/NodeJsProjects/esm-error-test/some-external-module.mjs:1
Error [ERR_INVALID_PROTOCOL]: Protocol 'node:' not supported. Expected 'file:'
at file:///C:/NodeJsProjects/esm-error-test/some-external-module.mjs:1
at Generator.next (<anonymous>)
Import with 'node:*'
type URL lies inside external package so I can't replace it. Switching my project from CJS to ESM is probably not possible (I'm creating Electron.js app).
Reproducing:
some-external-module.mjs
:
import process from 'node:process'
export default process.platform
package.json
:
{
"dependencies": {
"esm": "^3.2.25"
}
}
index.mjs
:
import platform from './some-external-module.mjs'
console.log('mjs: ' + platform)
index.cjs
:
require = require('esm')(module)
const platform = require('./some-external-module.mjs')
console.log('cjs: ' + platform)
Running node index.mjs
gives expected output ("mjs: win32
"), but running node index.cjs
results in error
- esm version: 3.2.25
- node version: v14.15.3
Metadata
Assignees
Labels
No labels