core: allow require module from plugin dir

This commit is contained in:
undefined committed 2023-03-23 20:01:49 +08:00
1 parent f79b8ab0c0
commit 15dba5dd45
4 files changed
+11 -6

No files matched your search

+7 -2
View File
@@ -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;
}
}
}
});
+1 -1
View File
@@ -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",