Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revert to older version of terminal-link & figures (they are ES modules) #28

Merged
merged 1 commit into from
Apr 18, 2022

Conversation

fharper
Copy link
Contributor

@fharper fharper commented Mar 16, 2022

hukum would need to be updated to use them

@fharper
Copy link
Contributor Author

fharper commented Mar 16, 2022

Without this change, I get this kind of errors for the two packages I downgraded

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: /Users/fharper/Documents/code/tests/hukum/node_modules/figures/index.js
require() of ES modules is not supported.
require() of /Users/fharper/Documents/code/tests/hukum/node_modules/figures/index.js from /Users/fharper/Documents/code/tests/hukum/lib/print.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 index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /Users/fharper/Documents/code/tests/hukum/node_modules/figures/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:93:18)
    at Object.<anonymous> (/Users/fharper/Documents/code/tests/hukum/lib/print.js:1:17)
    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'
}

@benregn
Copy link

benregn commented Apr 7, 2022

I get a similar error on v16.8.0:

/usr/local/lib/node_modules/hukum/lib/hukum.js:2
const link = require('terminal-link')
             ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /usr/local/lib/node_modules/hukum/node_modules/terminal-link/index.js from /usr/local/lib/node_modules/hukum/lib/hukum.js not supported.
Instead change the require of index.js in /usr/local/lib/node_modules/hukum/lib/hukum.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/usr/local/lib/node_modules/hukum/lib/hukum.js:2:14)
    at Object.<anonymous> (/usr/local/lib/node_modules/hukum/bin/cli.js:2:15) {
  code: 'ERR_REQUIRE_ESM'
}

@abskmj abskmj merged commit a74741c into abskmj:master Apr 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants