mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 09:46:28 +08:00
utils: module loader register
This commit is contained in:
1 parent
20bbda794e
commit
7dafab8344
50 files changed
+83
-275
No files matched your search
@@ -1,45 +1,7 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const argv = require('cac')().parse();
|
||||
const esbuild = require('esbuild');
|
||||
const fs = require('fs-extra');
|
||||
require('@hydrooj/utils/lib/register');
|
||||
|
||||
const major = +process.version.split('.')[0].split('v')[1];
|
||||
const minor = +process.version.split('.')[1];
|
||||
|
||||
let transformTimeUsage = 0;
|
||||
let transformCount = 0;
|
||||
let displayTimeout;
|
||||
function transform(filename) {
|
||||
const start = new Date();
|
||||
const result = esbuild.buildSync({
|
||||
entryPoints: [filename],
|
||||
sourcemap: 'inline',
|
||||
platform: 'node',
|
||||
format: 'cjs',
|
||||
target: `node${major}.${minor}`,
|
||||
jsx: 'transform',
|
||||
write: false,
|
||||
});
|
||||
if (result.warnings.length) console.warn(result.warnings);
|
||||
transformTimeUsage += new Date().getTime() - start.getTime();
|
||||
transformCount++;
|
||||
if (displayTimeout) clearTimeout(displayTimeout);
|
||||
displayTimeout = setTimeout(() => console.log(`Transformed ${transformCount} files. (${transformTimeUsage}ms)`), 1000);
|
||||
return result.outputFiles[0].text;
|
||||
}
|
||||
const ESM = ['p-queue', 'p-timeout'];
|
||||
require.extensions['.js'] = function loader(module, filename) {
|
||||
if (ESM.filter((i) => filename.includes(i)).length || major < 14) {
|
||||
return module._compile(transform(filename), filename);
|
||||
}
|
||||
const content = fs.readFileSync(filename, 'utf-8');
|
||||
return module._compile(content, filename);
|
||||
};
|
||||
require.extensions['.ts'] = require.extensions['.tsx'] = function loader(module, filename) {
|
||||
return module._compile(transform(filename), filename);
|
||||
};
|
||||
|
||||
if (argv.options.debug) process.env.DEV = 'on';
|
||||
if (argv.args[0] === 'cache') require('../src/cache')();
|
||||
else require('../src/daemon')();
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@hydrooj/hydrojudge",
|
||||
"bin": "bin/hydrojudge.js",
|
||||
"version": "2.22.4",
|
||||
"version": "2.22.5",
|
||||
"main": "package.json",
|
||||
"author": "undefined <i@undefined.moe>",
|
||||
"repository": "https://github.com/hydro-dev/Hydro.git",
|
||||
@@ -9,14 +9,13 @@
|
||||
"@hydrooj/utils": "workspace:*",
|
||||
"axios": "^0.27.2",
|
||||
"cac": "^6.7.12",
|
||||
"esbuild": "0.14.3",
|
||||
"fs-extra": "^10.1.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"lodash": "^4.17.21",
|
||||
"mongodb": "^3.7.3",
|
||||
"p-queue": "^7.2.0",
|
||||
"p-queue": "^7.3.0",
|
||||
"shell-quote": "^1.7.3",
|
||||
"ws": "^8.8.0"
|
||||
"ws": "^8.8.1"
|
||||
},
|
||||
"preferUnplugged": true,
|
||||
"license": "AGPL-3.0-or-later",
|
||||
@@ -26,8 +25,5 @@
|
||||
"@types/lodash": "^4.14.182",
|
||||
"@types/shell-quote": "^1.7.1",
|
||||
"@types/ws": "^8.5.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"hydrooj": "*"
|
||||
}
|
||||
}
|
||||
Vendored
+1
-1
Submodule packages/hydrojudge/vendor/testlib updated: f5b55f1387...4cc5a417ca.
Reference in new issue
Block a user