diff --git a/packages/hydrooj/bin/hydrooj.js b/packages/hydrooj/bin/hydrooj.js index ecce3b7a3..53bbe06ab 100755 --- a/packages/hydrooj/bin/hydrooj.js +++ b/packages/hydrooj/bin/hydrooj.js @@ -2,8 +2,9 @@ require('@hydrooj/utils/lib/register'); const packageBasedir = require('path').resolve(__dirname, '..'); +const { homedir } = require('os'); const { default: hook } = require('require-resolve-hook'); -const { bypass } = hook(/^(hydrooj|@hydrooj\/utils|cordis|lodash|js-yaml)($|\/)/, (id) => { +const { bypass } = hook(/^(hydrooj|@hydrooj|cordis|lodash|js-yaml)($|\/)/, (id) => { if (id.startsWith('hydrooj/src')) { console.log('module require via %s is deprecated.', id); if (process.env.DEV) { @@ -24,7 +25,11 @@ const { bypass } = hook(/^(hydrooj|@hydrooj\/utils|cordis|lodash|js-yaml)($|\/)/ try { return require.resolve(id, { paths: [`${process.cwd()}/node_modules`] }); } catch (e) { - return id; + try { + return require.resolve(id.replace(/^@hydrooj\//, './'), { paths: [`${homedir()}/.hydro/addons`] }); + } catch (er) { + return id; + } } } }); diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index edf3f4008..dc74baf11 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "4.9.4", + "version": "4.9.5", "bin": "bin/hydrooj.js", "main": "src/plugin-api", "module": "src/plugin-api", diff --git a/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx b/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx index 0c6d9ee31..0efbc32a9 100644 --- a/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx +++ b/packages/ui-default/components/scratchpad/ScratchpadToolbarContainer.jsx @@ -83,8 +83,8 @@ export default connect(mapStateToProps, mapDispatchToProps)(class ScratchpadTool super(props); if (!availableLangs[this.props.editorLang]) { // preference not allowed - const key = keys.filter((i) => availableLangs[i].pretest) - .find((i) => availableLangs[i].pretest.split('.')[0] === this.props.editorLang.split('.')[0]); + const key = this.props.editorLang ? keys.filter((i) => availableLangs[i].pretest) + .find((i) => availableLangs[i].pretest.split('.')[0] === this.props.editorLang.split('.')[0]) : ''; this.props.setEditorLanguage(key || keys[0]); } } diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 26c0c19c0..505d5b590 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.48.8", + "version": "4.48.9", "author": "undefined ", "license": "AGPL-3.0", "main": "index.ts",