Closed Sorunome closed 4 years ago
so this is resolved?
Nope, and it's broken serverless for me :(
Similar:
Unknown error: Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/vsts/work/1/s/node_modules/is-promise/index.js
require() of ES modules is not supported.
require() of /home/vsts/work/1/s/node_modules/is-promise/index.js from /home/vsts/work/1/s/node_modules/run-async/index.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename /home/vsts/work/1/s/node_modules/is-promise/index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/vsts/work/1/s/node_modules/is-promise/package.json.
A full log refer to azure pipelines
so this is resolved?
Nope, it got broken in the 2.2.0
update about an hour ago and there is no fix for it yet
The left pad fiasco all over. https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/
It's a single line of code. Why do we need a package for this?
Same is happening to me, started some minutes ago:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: .../node_modules/is-promise/index.js
require() of ES modules is not supported.
Broke Serverless for me too! :(
Duplicate of https://github.com/then/is-promise/issues/12.
If you're using Yarn here's a fix:
yarn why is-promise
is-promise
, pin the resolution. In my case, serverless
was installing run-async
and memoizee
, which each had their own copy of is-promise
. I added the following key to my package.json
: "resolutions": {
"is-promise": "2.1.0",
"run-async/is-promise": "2.1.0",
"memoizee/is-promise": "2.1.0"
}
Then I rm -rf
'd the directories with run-async
and memoizee
and reinstalled them using yarn add
. Works for me š
Broke create-react-app for me.
$ npx create-react-app my-app
npx: installed 99 in 7.558s
Must use import to load ES Module: /home/charlie/.npm/_npx/20884/lib/node_modules/create-react-app/node_modules/is-promise/index.js
require() of ES modules is not supported.
If you're using npm, you can fix the issue by editing your package-lock.json
file like so.
Identify the modules that are using the failing is-promise
modules:
"run-async": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz",
"integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==",
"dev": true,
"requires": {
"is-promise": "^2.1.0"
}
},
Move the is-promise
out of requires
and create a new object dependencies
:
"run-async": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz",
"integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==",
"dev": true,
"dependencies": {
"is-promise": {
"version": "2.1.0"
}
}
},
Next, rerun npm install --only=dev
and you should be good.
(If using yarn, see comment #13)
package-lock.jso
but how to do it to create a new project using npx create-react-app?
š holy shit š JS ecosystem is just utterly broken beyond any repair.
Fyi, this is on hackernews, expect a lot attention/comments/shitposting.
https://deno.land/ piling on the bandwagon
This also seems to be affecting latest on firebase-tools.
This also seems to be affecting latest on firebase-tools.
This is affecting so many packages, this is also affecting npx eslint --init š„
If you are on NPM, run: npm install is-promise@2.1.0 --save --save-exact
If you are on NPM, run: npm install is-promise@2.1.0 --save --save-exact
Does this work if a 3rd party dependency uses is-promise
?
Does this work if a 3rd party dependency uses
is-promise
?
It just did for me. inquirer
needed run-async
which needed is-promise
.
If you are on NPM, run: npm install is-promise@2.1.0 --save --save-exact
Does this work if a 3rd party dependency uses
is-promise
?
I'm unsure exactly what dependencies i have that were broken - but it was for sure more than one. It's some big projects, worked on all of them.
Version 2.2.1 released: https://github.com/then/is-promise/releases/tag/2.2.1
If you are on NPM, run: npm install is-promise@2.1.0 --save --save-exact
Didn't work for me :(
It should now be resolved. Since there are 4 issues about this, I'm going to close this issue in favour of #20. Please comment there if 2.2.1 does not fix your issue.
The module fails to import with node
v13.12.0
. The version 2.1.0 still works fine.