Skip to content

Make the SDK system-agnostic #58

@tolik518

Description

@tolik518

Using Linux the SDK steamdeck create crashes after putting in the Plugin UUID with:

node:fs:1583
  const result = binding.readdir(
                         ^

Error: ENOENT: no such file or directory, scandir '/home/tolik/AppData/Roaming/Elgato/StreamDeck/Plugins'
    at readdirSync (node:fs:1583:26)
    at $P (file:///home/tolik/.nvm/versions/node/v22.17.0/lib/node_modules/@elgato/cli/bin/streamdeck.mjs:5:632467)
    at validate (file:///home/tolik/.nvm/versions/node/v22.17.0/lib/node_modules/@elgato/cli/bin/streamdeck.mjs:5:637044)
    at Object.<anonymous> (file:///home/tolik/.nvm/versions/node/v22.17.0/lib/node_modules/@elgato/cli/bin/streamdeck.mjs:5:438128)
    at file:///home/tolik/.nvm/versions/node/v22.17.0/lib/node_modules/@elgato/cli/bin/streamdeck.mjs:5:215867
    at ReadStream.<anonymous> (file:///home/tolik/.nvm/versions/node/v22.17.0/lib/node_modules/@elgato/cli/bin/streamdeck.mjs:5:206730)
    at AsyncResource.runInAsyncScope (node:async_hooks:214:14)
    at ReadStream.bound (node:async_hooks:245:16)
    at ReadStream.emit (node:events:530:35)
    at emitKeys (node:internal/readline/utils:370:14) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: '/home/tolik/AppData/Roaming/Elgato/StreamDeck/Plugins'
}

the path is not system-agnostic and expects the user to use Windows.
If I create the given path by hand, I can put in all the asked information and it still crashes in the end with

node:internal/child_process:285
      const err = new ErrnoException(exitCode, syscall);
                  ^

Error: spawn reg.exe ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:285:19)
    at onErrorNT (node:internal/child_process:483:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn reg.exe',
  path: 'reg.exe',
  spawnargs: [ 'QUERY', 'HKLM\\NONEXISTENT' ]
}

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