Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

isModuleDeclaration has been deprecated #259

Open

Description

@eleven-net-cn

image

babel/babel#15266

@babel/types v7.21.0, isModuleDeclaration has been deprecated, the terminal has the following warning.

Trace: `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration`.

Activity

  1. qqjay2017 commented on Feb 21, 2023

    @qqjay2017

    me too , what can i do to fix it

  2. sggvision commented on Feb 21, 2023

    @sggvision

    Same here

  3. llxsgdsg commented on Feb 21, 2023

    @llxsgdsg

    me too

  4. char0n commented on Feb 21, 2023

    @char0n

    The workaround for this issue (until it's fixed in babel-plugin-lodash) , you have to do the following modification in you babel.config.js file:

    /**
     * This is override for https://github.com/lodash/babel-plugin-lodash/issues/259.
     * babel-plugin-lodash is using deprecated babel API, which causes generation of many
     * console.trace calls.
     */
    
    const consoleTrace = console.trace.bind(console);
    console.trace = (message, ...optionalParams) => {
      if (
        typeof message === 'string' &&
        message.startsWith('`isModuleDeclaration` has been deprecated')
      ) {
        return undefined; // noop
      }
    
      return consoleTrace(message, ...optionalParams);
    };
    
    module.exports = {
      ...babel-config...
    }
  5. samuelslva-jlfs commented on Feb 21, 2023

    @samuelslva-jlfs

    or if you use yarn, in package.json:

    {
       // [...]
       "resolutions": {
        "babel-plugin-lodash/@babel/types": "~7.20.0"
      }
    }

    EDIT: if you use NPM use this instead on your package.json (I guess, according to the docs)

    {
       // [...]
      "overrides": {
        "babel-plugin-lodash": {
          "@babel/types": "~7.20.0"
        }
      }
    }

    EDIT2: Be careful with this solution this will lock you forever on an old @babel/types version, right now its fine as we wait for babel/babel#15448 be released and we're a single minor behind, but don't rely on this forever, there might be security/performance improvements on babel (unless when remove the deprecated method outright then locking will be the only option), the real solution would be this project updating the deprecated reference, both mine and @char0n's solutions are palliatives. Stay on top of this issue to either replace this (seemly abandoned) library, or get a new version of this that doesn't need the version locking or warning clobbering

  6. eleven-net-cn commented on Feb 22, 2023

    @eleven-net-cn
    Author

    or if you use yarn, in package.json:

    {
       // [...]
       "resolutions": {
        "babel-plugin-lodash/@babel/types": "~7.20.0"
      }
    }

    EDIT: if you use NPM use this instead on your package.json (I guess, according to the docs)

    {
       // [...]
      "overrides": {
        "babel-plugin-lodash": {
          "@babel/types": "~7.20.0"
        }
      }
    }

    It works fine with npm

  7. char0n commented on Feb 22, 2023

    @char0n

    Yep npm overrides is a good solution as well, but be sure to be using npm >= 8.3.0. Earlier versions of npm don't support overrides.

  8. miqdad-f commented on Jun 6, 2023

    @miqdad-f

    If you are using pnpm, you can use this instead

     "pnpm": {
        "overrides": {
          "babel-plugin-lodash>@babel/types": "~7.20.0"
        }
      }
  9. justtoconfirm commented on Jun 6, 2023

    @justtoconfirm

    I'm using gatsby@5.10.0 that looks to have babel-plugin-lodash@3.3.4 as a dependency package and I'm getting this issue as a warning when I run npm run develop. I've attempted to update the package.json file as mentioned previously, but this hasn't worked.

    Is there an expected fix for this? Looks like a PR is open but has not been approved/merged: #261

  10. Semigradsky commented on Jun 6, 2023

    @Semigradsky

    This plugin looks unmaintained. Can anyone publish a fork with fix?

    UPD: @sigmacomputing/babel-plugin-lodash

  11. arsinclair commented on Jul 19, 2023

    @arsinclair

    Forking is the worst option, since it doesn't solve the issue for the ecosystem that relies on the plugin (e.g. GatsbyJS). I think we should as much as possible try to draw the attention of maintainers here. There seems to be an easy fix for the issue.

    @jdalton @mathiasbynens @veksen any thoughts?

  12. ThiefMaster commented on Aug 1, 2023

    @ThiefMaster

    I'd also love to see an update - the warning is harmless (so far, dunno when the deprecated object gets removed for good) but nonetheless annoying.

  13. kirkstrobeck commented on Aug 18, 2023

    @kirkstrobeck

    Note the warning in #259 (comment)

    It’s best to just set this in your package.json deps

    {
      "devDependencies": {
        "@babel/core": "~7.20.0",
      }
    }

    update the dep later

  14. gknapp commented on Sep 6, 2023

    @gknapp

    Note the warning in #259 (comment)

    It’s best to just set this in your package.json deps

    {
      "devDependencies": {
        "@babel/core": "~7.20.0",
      }
    }

    update the dep later

    I found just installing @babel/types to the latest 7.20 release silenced this message (I am tied to node v14 for a previous product release):

    {
      "devDependencies": {
        "@babel/types": "7.20.7"
      }
    }

    I am able to use the latest @babel/core with this installed (time of writing 7.22.15).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions