Skip to content

[Bug]: monorepo 项目中使用 pnpm 代码检查 eslint 无法正确工作 #4113

@StringKe

Description

@StringKe

版本信息

System:
    OS: macOS 13.4.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 3.96 GB / 64.00 GB
    Shell: 5.9 - /bin/zsh
  Browsers:
    Chrome: 114.0.5735.198
    Edge: 114.0.1823.67
    Safari: 16.5.1
  npmPackages:
    @modern-js/eslint-config: 2.25.1 => 2.25.1 
    @modern-js/monorepo-tools: 2.25.1 => 2.25.1 
    @modern-js/plugin-garfish: 2.25.1 => 2.25.1 
    @modern-js/tsconfig: 2.25.1 => 2.25.1

问题详情

pnpm 并不会在当前 workspace root 下依赖 eslint 的 cli

如果手动通过 pnpm add eslint -w -D 则 webstorm 会提示 eslint 无法加载 eslint-plugin-import 插件。

  1. root 下并未依赖 eslint
    CleanShot 2023-07-03 at 17 29 15@2x

  2. lint-staged 读取了 node_modules/eslint 中的内容
    CleanShot 2023-07-03 at 17 30 00@2x

如果手动添加 pnpm add eslint -D -w 则通过 webstorm 打开应用会出现 eslint-plugin-import 不存在。

复现链接

https://github.com/StringKe/modern-monorepo-eslint-error

复现步骤

提交任意 git 触发 husky 即可

Metadata

Metadata

Assignees

No one assigned

    Labels

    💉 bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions