syncpack icon indicating copy to clipboard operation
syncpack copied to clipboard

fix(output): show useful message when a dependency type is not found

Open guillempuche opened this issue 1 year ago • 2 comments

Description

I run syncpack list on my Yarn monorepo. There's something is not good on my package.json or Syncpack.

Logs

node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

TypeError: Cannot read properties of undefined (reading 'read')
    at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/dist/get-package-json-files/package-json-file.js:20:81
    at Array.map (<anonymous>)
    at PackageJsonFile.getInstances (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/dist/get-package-json-files/package-json-file.js:20:49)
    at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/dist/get-instances/index.js:9:305
    at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1303:243
    at body (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/core.js:444:17)
    at FiberRuntime.While (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1021:14)
    at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1068:31
    at Object.context (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/tracer.js:73:17)
    at FiberRuntime.runLoop (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1063:28) {
  name: '(FiberFailure) TypeError',
  [Symbol(effect/Runtime/FiberFailure)]: Symbol(effect/Runtime/FiberFailure),
  [Symbol(effect/Runtime/FiberFailure/Cause)]: {
    _tag: 'Die',
    defect: TypeError: Cannot read properties of undefined (reading 'read')
        at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/dist/get-package-json-files/package-json-file.js:20:81
        at Array.map (<anonymous>)
        at PackageJsonFile.getInstances (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/dist/get-package-json-files/package-json-file.js:20:49)
        at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/dist/get-instances/index.js:9:305
        at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1303:243
        at body (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/core.js:444:17)
        at FiberRuntime.While (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1021:14)
        at file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1068:31
        at Object.context (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/tracer.js:73:17)
        at FiberRuntime.runLoop (file:///Users/guillem/programacio/codi/cites/xiroi/xiroi/node_modules/syncpack/node_modules/effect/dist/esm/internal/fiberRuntime.js:1063:28)
  }
}

Suggested Solution

Point where is the error.

Help Needed

I add you, @JamieMason, to my private monorepo to check it.

guillempuche avatar Jul 16 '24 07:07 guillempuche

hey @guillempuchem, it's a small typo of peers -> peer

/** @type {import("syncpack").RcFile} */
export default {
-	dependencyTypes: ['dev', 'prod', 'overrides', 'peers', 'resolutions'],
+	dependencyTypes: ['dev', 'prod', 'overrides', 'peer', 'resolutions'],

I'll leave this open for this to be handled properly with a useful message, thanks.

JamieMason avatar Jul 16 '24 08:07 JamieMason

Thanks Jamie! This will be a good improvement.

guillempuche avatar Jul 16 '24 09:07 guillempuche

Hey @guillempuche, this is pre-released in 14.0.0-alpha.7.

You can see it by running:

npx syncpack@alpha lint --dependency-types typo
✗ dependencyType 'typo' does not match any of syncpack or your customTypes
✗ check your syncpack config file

But the same would happen if you had a typo in your config file.

JamieMason avatar Feb 09 '25 22:02 JamieMason

Great!

guillempuche avatar Feb 10 '25 05:02 guillempuche