Dev Modules do not run on Production Wallet
Using the Packaged Production Nexus Interface, modules running in dev mode do not open.
This stems from JXSDev method from react not being available.
WORKAROUND:
Go to node_modules/nexus-module/lib/react-jsx-dev-runtime.js
and change the file to this:
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.jsxDEV = exports.default = exports.Fragment = void 0;
const {
libraries: {
React: {
jsxDevRuntime,
jsxRuntime
}
}
} = NEXUS;
const {
Fragment,
jsxDEV
} = jsxDevRuntime;
exports.jsxDEV = jsxRuntime.jsx;
exports.Fragment = Fragment;
var _default = jsxDevRuntime.default;
exports.default = _default;
This will port the prod version of jsx runtime into the module and will work.
Currently have a concept here, that will include a stripped down version of dev preload that will give access to some of these functions, low mb cost ( 1.2mb) but does not contain as much error feedback as it would if running the wallet from source.
https://github.com/Nexusoft/NexusInterface/commit/9178e1b5fbfcf6b8f8c46f0dda909b3a1c7be906
Looks good!
I've been developing a new module for 3.2.0 using the dev wallet. Thought I'd try the 3.2.0-1 beta to see if I really could run a dev module in a pre-compiled version. I am unable to as of yet. This is the error I've been getting every time I tried (e.g., in 3.2.0-0 as well.
When running the 3.2.0-beta.1 in dev mode ("npm run dev" from terminal - to overcome the issue mentioned by Neal above), the development modules run fine. But, when closing the wallet and re-running it in dev mode the module has been removed from the menu bar and needs to be re-installed, still the wallet seem to "remember" it from the last run and think it's already installed. So adding the module as a dev module fails due to being "already added".
This is probably fixed on the latest beta release. If not, feel free to reopen this issue