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

import/namespace failures when importing chai@5 #2949

Open
timbeadle opened this issue Jan 3, 2024 · 6 comments
Open

import/namespace failures when importing chai@5 #2949

timbeadle opened this issue Jan 3, 2024 · 6 comments

Comments

@timbeadle
Copy link

Upgrading from chai v4 to chai v5 yields the following eslint error:

cfpathcheck/test/cfpathcheck.spec.js
  1:24  error  Parse errors in imported module 'chai': Unexpected token ; (146:10)  import/namespace

The line of code in question is as follows:

import { expect } from 'chai';

For now I have added an ignore annotation to my code so that the linting passes, but it would be good to know why the import/namespace rule has started to fail with this new, ESM-only, version of chai.

Thank you 😸

@ljharb
Copy link
Member

ljharb commented Jan 3, 2024

What’s your eslint config? A parse error is not expected.

@timbeadle
Copy link
Author

What’s your eslint config? A parse error is not expected.

env:
  browser: true
  es6: true
extends:
  - xo
  - plugin:import/recommended
parserOptions:
  ecmaVersion: 2021
  sourceType: module
plugins:
  - import
  - redos
rules:
  arrow-parens: 0
  object-curly-spacing: 0
  import/no-unresolved: [2]
  redos/no-vulnerable: error
overrides:
- files:
  - "**/*.spec.js"
  rules:
    redos/no-vulnerable: 'off'

@ljharb
Copy link
Member

ljharb commented Jan 6, 2024

(fwiw i would advise against using any "recommended" configs; use the airbnb config for the best settings for this plugin)

Is there any way you could make a repro repo for this? I don't see anything in https://unpkg.com/browse/chai@5.0.0/lib/chai/interface/expect.js that should fail to parse, but with a repro i can debug it locally.

@timbeadle
Copy link
Author

(fwiw i would advise against using any "recommended" configs; use the airbnb config for the best settings for this plugin)

Interesting - thanks. Does the README need to be updated to advise this?

I will prepare a repro for this later.

@ljharb
Copy link
Member

ljharb commented Jan 8, 2024

Yes, it probably should be, I'll get on that.

@anselmbradford
Copy link

I get this same error when attempting to import marked. Apparently from this line https://github.com/markedjs/marked/blob/d342aaa0f8a0f5987ffb8b5898f9e2e01ecab784/src/Tokenizer.ts#L72

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants