vercel / turborepo

Build system optimized for JavaScript and TypeScript, written in Rust
https://turbo.build/repo/docs
MIT License
26.21k stars 1.81k forks source link

Custom eslint config doesn't work in 1.4.3 version of Turborepo #1781

Closed adamklepacz closed 2 years ago

adamklepacz commented 2 years ago

What version of Turborepo are you using?

1.4.3

What package manager are you using / does the bug impact?

npm

What operating system are you using?

Mac

Describe the Bug

The custom config of eslint doesn't work after upgrading the turbo package to version 1.4.3.

In our project, we have been following the exact configuration from https://github.com/vercel/turborepo/tree/main/examples/basic but after running the npm run lint command from the root of the project we're getting:

The config "custom" was referenced from the config file in "/[path_to_the_file]/**/.eslintrc.js".

After a couple of hours of investigation and copying the exact config from the example repo I did change the version of turbo package into 1.4.0. Now everything works as expected and the eslint + ts errors are exposed after running the npm run lint command. I think this is a regression. This also relates to #1238 and #1325

Expected Behavior

Ruing the npm run lint script from the root of the project should run the turbo lint command and lint all directories as introduced in https://github.com/vercel/turborepo/tree/main/examples/basic.

To Reproduce

1) Clone https://github.com/vercel/turborepo/tree/main/examples/basic. 2) Make sure that in root package.json file, the turbo package version is 1.4.3 3) Run the npm run lint script from the root of the project.

tknickman commented 2 years ago

Hey @adamklepacz I wasn't able to reproduce this. Here's what I did:

  1. Clone the repo

    01:30 PM | ~/Developer/vercel/reproductions/turbo-1781
    $ git clone git@github.com:vercel/turborepo.git 
    Cloning into 'turborepo'...
    remote: Enumerating objects: 19029, done.
    remote: Counting objects: 100% (1159/1159), done.
    remote: Compressing objects: 100% (316/316), done.
    remote: Total 19029 (delta 954), reused 947 (delta 829), pack-reused 17870
    Receiving objects: 100% (19029/19029), 32.27 MiB | 4.70 MiB/s, done.
    Resolving deltas: 100% (12810/12810), done.
  2. Isolate the example (optionally git init)

    $ mv turborepo/examples/basic/ .
    $ cd basic/
    $ git init
  3. Install and set the turbo version

    $ npm install && npm install turbo@1.4.3 --save-dev
    $ npm run lint
  4. Lint

    
    > lint
    > turbo run lint

• Packages in scope: docs, eslint-config-custom, tsconfig, ui, web • Running lint in 5 packages web:lint: cache hit, replaying output 8ba5225a8520195a web:lint: web:lint: > web@1.0.0 lint web:lint: > next lint web:lint: web:lint: ✔ No ESLint warnings or errors docs:lint: cache hit, replaying output 0e9e6bfe65a5cca0 docs:lint: docs:lint: > docs@1.0.0 lint docs:lint: > next lint docs:lint: docs:lint: ✔ No ESLint warnings or errors ui:lint: cache hit, replaying output 62a93ea927c0de82 ui:lint: ui:lint: > ui@0.0.0 lint ui:lint: > eslint .ts