Skip to content

Make the SDK system-agnostic #58

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions