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); }; const main = require('./main'); if (!module.parent) main();