mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +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,29 +1,4 @@
|
||||
const esbuild = require('esbuild');
|
||||
const fs = require('fs');
|
||||
|
||||
function transform(filename) {
|
||||
const result = esbuild.buildSync({
|
||||
entryPoints: [filename],
|
||||
sourcemap: 'inline',
|
||||
platform: 'node',
|
||||
format: 'cjs',
|
||||
target: 'node12',
|
||||
jsx: 'transform',
|
||||
write: false,
|
||||
});
|
||||
if (result.warnings.length) console.warn(result.warnings);
|
||||
return result.outputFiles[0].text;
|
||||
}
|
||||
require.extensions['.js'] = function loader(module, filename) {
|
||||
if (filename.includes('chalk') || (!filename.includes('node_modules') && !filename.includes('postcss.config.js'))) {
|
||||
return module._compile(transform(filename), filename);
|
||||
}
|
||||
const content = fs.readFileSync(filename, 'utf-8');
|
||||
return module._compile(content, filename);
|
||||
};
|
||||
require.extensions['.ts'] = function loader(module, filename) {
|
||||
return module._compile(transform(filename), filename);
|
||||
};
|
||||
require('@hydrooj/utils/lib/register');
|
||||
const main = require('./main');
|
||||
|
||||
if (!module.parent) main();
|
||||
Reference in new issue
Block a user