javascript-obfuscator / javascript-obfuscator-ui

A web UI to the JavaScript Obfuscator node.js package.
https://obfuscator.io
BSD 2-Clause "Simplified" License
230 stars 130 forks source link

Package subpath './dist' is not defined by "exports" in '/path/javascript-obfuscator-ui/node_modules/threads/package.json' #62

Closed jacobkim9881 closed 3 years ago

jacobkim9881 commented 3 years ago

When putting npm start in ./

output:

> javascript-obfuscator-web@3.14.8 start /home/user/javascript-obfuscator-ui
> node server.js

internal/modules/cjs/loader.js:438
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './dist' is not defined by "exports" in /home/user/javascript-obfuscator-ui/node_modules/threads/package.json
    at throwExportsNotFound (internal/modules/esm/resolve.js:290:9)
    at packageExportsResolve (internal/modules/esm/resolve.js:513:3)
    at resolveExports (internal/modules/cjs/loader.js:432:36)
    at Function.Module._findPath (internal/modules/cjs/loader.js:472:31)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:867:27)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/home/kim/javascript-obfuscator-ui/server.js:3:27)
    at Module._compile (internal/modules/cjs/loader.js:1063:30) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

expected: The application should run.

How to fix this issue? The application runs after editing exports option of package.json like below at ./node_modules/threads/package.json :

from:

  "exports": {
    "./": {
      "require": "./dist/index.js",
      "default": "./index.mjs"
    },
    "./observable": {
      "require": "./observable.js",
      "default": "./observable.mjs"
    },
    "./register": {
      "require": "./register.js",
      "default": "./register.mjs"
    },
    "./worker": {
      "require": "./worker.js",
      "default": "./worker.mjs"
    }
  },

to :

  "exports": {
    "./dist": {
      "require": "./dist/index.js",
      "default": "./index.mjs"
    },
    "./observable": {
      "require": "./observable.js",
      "default": "./observable.mjs"
    },
    "./register": {
      "require": "./register.js",
      "default": "./register.mjs"
    },
    "./worker": {
      "require": "./worker.js",
      "default": "./worker.mjs"
    }
  },

Is other solution? Because the solution I tried seems not the best solution.

sanex3339 commented 3 years ago

Can't reproduce. Try to remove node_modules directory and reinstall your dependencies.

sanex3339 commented 3 years ago

I updated most of the package's dependencies, try now, please.

jacobkim9881 commented 3 years ago

@sanex3339 It works now perfectly!