ruyadorno/ntl

Error when "-O" option

mathiasgheno opened this issue · 3 comments

When

ntl --ordered true

or

ntl -O

I get a error

⬢  Node Task List
internal/modules/cjs/loader.js:1102
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/mycomputer/WebstormProjects/togglefly/node_modules/.pnpm/cli-cursor@4.0.0/node_modules/cli-cursor/index.js
require() of ES modules is not supported.
require() of /home/mycomputer/WebstormProjects/togglefly/node_modules/.pnpm/cli-cursor@4.0.0/node_modules/cli-cursor/index.js from /home/mycomputer/WebstormProjects/togglefly/node_modules/.pnpm/inquirer-ordinal-prompt@1.0.0_inquirer@7.3.3/node_modules/inquirer-ordinal-prompt/dist/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/mycomputer/WebstormProjects/togglefly/node_modules/.pnpm/cli-cursor@4.0.0/node_modules/cli-cursor/index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/mycomputer/WebstormProjects/togglefly/node_modules/.pnpm/cli-cursor@4.0.0/node_modules/cli-cursor/package.json.

    at new NodeError (internal/errors.js:322:7)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1102:13)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:101:18)
    at Object.<anonymous> (/home/mycomputer/WebstormProjects/togglefly/node_modules/.pnpm/inquirer-ordinal-prompt@1.0.0_inquirer@7.3.3/node_modules/inquirer-ordinal-prompt/dist/index.js:4:19)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32) {
  code: 'ERR_REQUIRE_ESM'
}

Node Version: v14.20.0
PNPM version: 7.8.0
OS: Ubuntu 20.04.4 LTS

I got the same error in another project using NPM version 6.14.17. In my first project I'm using ESM but in the second one I'm not. I also tried to make a minimal reproduction project for this issue, but it worked. It may be a problem with my computer or my projects, I'm still investigating.

EDIT
I forgot to put the version of my NPM: v6.14.17.

interesting, it would be very appreciated if you could provide a reproduction 😊

🤔 I do wonder if using npx works for you: npx ntl -O

I tried the npx option and did not work.

I reinstalled everything in the project with:

rm -rf node_modules && rm -rf package-lock.json && npm i

Did not worked also.

I'll focus this week in creating one minimal reproduction project based in my current project.

I had the same problem. It is caused by using version 4.0.0 of cli-cursor. The "-O" option seems only work with version 3.x.

I was able to provoke it like this:

npm i cli-cursor@4 -> npx ntl -O -> works not
npm i cli-cursor@3 -> npx ntl -O -> works
npm i cli-cursor@4 -> npx ntl -O -> works not
npm i cli-cursor@3 -> npx ntl -O -> works

So I added "cli-cursor": "^3.1.0", to my dependencies. Not a nice fix, but it works for now.