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

Non-obvious error with NodePackageManager and bad tsconfig #9749

Open
marcins opened this issue May 29, 2024 · 0 comments
Open

Non-obvious error with NodePackageManager and bad tsconfig #9749

marcins opened this issue May 29, 2024 · 0 comments
Labels
🐛 Bug Diagnostics Error messages/diagnostics

Comments

@marcins
Copy link
Contributor

marcins commented May 29, 2024

🐛 bug report

If you have:

  • a bad tsconfig file (e.g. the "extends" reference is to a missing file)
  • a babel.config.json

Then the error you get will be:

A build error occured:
@parcel/transformer-babel: Could not resolve module "@babel/core" from "/app/src/index.js"

Error: Could not resolve module "@babel/core" from "/app/src/index.js"

The underlying result from the resolver contains the correct error:

//...
  error: {
    type: 'TsConfigExtendsNotFound',
    tsconfig: '/app/root/tsconfig.json',
    error: {
      type: 'FileNotFound',
      relative: 'tsconfig.entrypoints.json',
      from: '/app/root/tsconfig.json'
    }
  },
//...

.. but it is masked by the error handling here:

if (res.error) {
let e = new Error(`Could not resolve module "${name}" from "${from}"`);
// $FlowFixMe
e.code = 'MODULE_NOT_FOUND';
throw e;
}

🤔 Expected Behavior

A more meaningful error, like when you don't have babel.config:

@parcel/core: Failed to resolve './other.js' from './src/index.js'

/app/src/index.js:1:24
> 1 | import {Thing, x} from "./other.js";
>   |                        ^^^^^^^^^^^^
  2 | new Thing().run();

--------------------------------------------------------------------------------

@parcel/resolver-default: Could not find extended tsconfig

/app/src/tsconfig.json:2:14
  1 | {
> 2 |   "extends": "nofile.json"
>   |              ^^^^^^^^^^^^^
  3 | }

--------------------------------------------------------------------------------

@parcel/resolver-default: Cannot find module 'nofile.json'

💻 Code Sample

https://repl.parceljs.org/#JTdCJTIyZmlsZXMlMjIlM0ElNUIlNUIlMjIlMkZzcmMlMkZpbmRleC5qcyUyMiUyQyU3QiUyMnZhbHVlJTIyJTNBJTIyaW1wb3J0JTIwJTdCVGhpbmclMkMlMjB4JTdEJTIwZnJvbSUyMCU1QyUyMi4lMkZvdGhlci5qcyU1QyUyMiUzQiU1Q25uZXclMjBUaGluZygpLnJ1bigpJTNCJTIyJTJDJTIyaXNFbnRyeSUyMiUzQXRydWUlN0QlNUQlMkMlNUIlMjIlMkZzcmMlMkZvdGhlci5qcyUyMiUyQyU3QiUyMnZhbHVlJTIyJTNBJTIyY2xhc3MlMjBUaGluZyUyMCU3QiU1Q24lMjAlMjBydW4oKSUyMCU3QiU1Q24lMjAlMjAlMjAlMjBjb25zb2xlLmxvZyglNUMlMjJUZXN0JTVDJTIyKSUzQiU1Q24lMjAlMjAlN0QlMjAlNUNuJTdEJTVDbiU1Q25jb25zdCUyMHglMjAlM0QlMjAxMjMlM0IlNUNuZXhwb3J0JTIwJTdCVGhpbmclMkMlMjB4JTdEJTNCJTIyJTdEJTVEJTJDJTVCJTIyJTJGc3JjJTJGdHNjb25maWcuanNvbiUyMiUyQyU3QiUyMnZhbHVlJTIyJTNBJTIyJTdCJTVDbiUyMCUyMCU1QyUyMmV4dGVuZHMlNUMlMjIlM0ElMjAlNUMlMjJkb2VzJTIwbm90JTIwZXhpc3QlNUMlMjIlNUNuJTdEJTIyJTdEJTVEJTJDJTVCJTIyJTJGc3JjJTJGYmFiZWwuY29uZmlnLmpzb24lMjIlMkMlN0IlMjJ2YWx1ZSUyMiUzQSUyMiUyMiU3RCU1RCU1RCUyQyUyMm9wdGlvbnMlMjIlM0ElN0IlMjJlbnRyaWVzJTIyJTNBJTVCJTVEJTJDJTIybWluaWZ5JTIyJTNBZmFsc2UlMkMlMjJzY29wZUhvaXN0JTIyJTNBdHJ1ZSUyQyUyMnNvdXJjZU1hcHMlMjIlM0FmYWxzZSUyQyUyMnB1YmxpY1VybCUyMiUzQSUyMiUyRl9fcmVwbF9kaXN0JTIyJTJDJTIydGFyZ2V0VHlwZSUyMiUzQSUyMmJyb3dzZXJzJTIyJTJDJTIydGFyZ2V0RW52JTIyJTNBbnVsbCUyQyUyMm91dHB1dEZvcm1hdCUyMiUzQW51bGwlMkMlMjJobXIlMjIlM0FmYWxzZSUyQyUyMm1vZGUlMjIlM0ElMjJwcm9kdWN0aW9uJTIyJTJDJTIycmVuZGVyR3JhcGhzJTIyJTNBZmFsc2UlMkMlMjJ2aWV3U291cmNlbWFwcyUyMiUzQWZhbHNlJTJDJTIyZGVwZW5kZW5jaWVzJTIyJTNBJTVCJTVEJTJDJTIybnVtV29ya2VycyUyMiUzQTAlN0QlMkMlMjJ1c2VUYWJzJTIyJTNBZmFsc2UlMkMlMjJicm93c2VyQ29sbGFwc2VkJTIyJTNBJTVCJTVEJTJDJTIydmlld3MlMjIlM0ElNUIlMjIlMkZzcmMlMkZpbmRleC5qcyUyMiUyQyUyMiUyRnNyYyUyRm90aGVyLmpzJTIyJTJDJTIyJTJGc3JjJTJGdHNjb25maWcuanNvbiUyMiUyQyUyMk9wdGlvbnMlMjIlMkMlMjIlMkZzcmMlMkZiYWJlbC5jb25maWcuanNvbiUyMiU1RCUyQyUyMmN1cnJlbnRWaWV3JTIyJTNBNCU3RA==

@mischnic mischnic added 🐛 Bug Diagnostics Error messages/diagnostics labels Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 Bug Diagnostics Error messages/diagnostics
Projects
None yet
Development

No branches or pull requests

2 participants