Publish plugin with ipm on windows

Bug report

I tried to publish an Inkdrop plugin using the new ipm cli, but the process failed with an error.

-> ipm publish --dry-run
Running publish in dry-run mode...
Failed to publish package: Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
    at throwIfUnsupportedURLScheme (node:internal/modules/esm/load:195:11)
    at defaultLoadSync (node:internal/modules/esm/load:142:3)
    at #loadAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:795:12)
    at #loadSync (node:internal/modules/esm/loader:815:49)
    at ModuleLoader.load (node:internal/modules/esm/loader:780:26)
    at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:526:31)
    at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:571:36)
    at afterResolve (node:internal/modules/esm/loader:624:52)
    at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:630:12)
    at onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:649:32) {
  code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}

A similar issue was reported earlier, but it was never resolved. The original reporter worked around the problem by publishing the plugin from within wsl.

Environment

  • Platform: Windows
  • Platform version: 11
  • App Version: 6.0.0-canary.11

Hi @Lukas ,

I made a fix for this:

It avoids a dynamic import statement, so it should work fine on Windows as well.

Can you try @inkdropapp/ipm-cli@1.0.2?

That fixed it. Thanks.

1 Like