ci: build with noEmit

pull/169/head
undefined 3 years ago
parent 0cd91d7475
commit 68f5977e36

@ -7,11 +7,12 @@ const compilerOptionsBase = {
esModuleInterop: true,
moduleResolution: 'node',
declaration: true,
sourceMap: true,
sourceMap: false,
composite: true,
strictBindCallApply: true,
experimentalDecorators: true,
emitDecoratorMetadata: true,
noEmit: true,
};
const config = {
compilerOptions: compilerOptionsBase,
@ -23,7 +24,7 @@ const config = {
const configSrc = {
compilerOptions: {
...compilerOptionsBase,
outDir: 'dist',
outDir: 'src',
rootDir: 'src',
},
include: ['src'],
@ -60,7 +61,7 @@ for (const package of packages) {
if (!fs.statSync(path.resolve(basedir, 'src', file)).isFile()) continue;
const name = file.split('.')[0];
if (['handler', 'service', 'lib', 'model', 'script'].includes(name)) {
fs.writeFileSync(path.resolve(basedir, `${name}.js`), `module.exports = require('./dist/${name}');\n`);
fs.writeFileSync(path.resolve(basedir, `${name}.js`), `module.exports = require('./src/${name}');\n`);
}
}
}

@ -1,7 +1,34 @@
#!/usr/bin/env node
const argv = require('cac')().parse();
const esbuild = require('esbuild');
let transformTimeUsage = 0;
let displayTimeout;
function transform(type, filename) {
const start = new Date();
const result = esbuild.buildSync({
entryPoints: [filename],
sourcemap: 'inline',
platform: 'node',
format: 'cjs',
target: `node${process.version.split('.')[0].split('v')[1]}`,
jsx: 'transform',
write: false,
});
if (result.warnings.length) console.warn(result.warnings);
transformTimeUsage += new Date().getTime() - start.getTime();
if (displayTimeout) clearTimeout(displayTimeout);
displayTimeout = setTimeout(() => console.log(`Code transform took ${transformTimeUsage}ms`), 1000);
return result.outputFiles[0].text;
}
require.extensions['.ts'] = function loader(module, filename) {
return module._compile(transform('ts', filename), filename);
};
require.extensions['.tsx'] = function loader(module, filename) {
return module._compile(transform('tsx', filename), filename);
};
if (argv.options.debug) process.env.DEV = 'on';
if (argv.args[0] === 'cache') require('../dist/cache')();
else require('../dist/daemon')();
if (argv.args[0] === 'cache') require('../src/cache')();
else require('../src/daemon')();

@ -1 +1 @@
module.exports = require('./dist/service');
module.exports = require('./src/service');

@ -10,7 +10,7 @@
"@types/superagent": "^4.1.12"
},
"peerDependencies": {
"hydrooj": "workspace:*"
"hydrooj": "*"
},
"dependencies": {
"superagent": "^6.1.0"

@ -10,7 +10,7 @@
"@types/superagent": "^4.1.12"
},
"peerDependencies": {
"hydrooj": "workspace:*"
"hydrooj": "*"
},
"dependencies": {
"superagent": "^6.1.0"

@ -10,7 +10,7 @@
"@types/superagent": "^4.1.12"
},
"peerDependencies": {
"hydrooj": "workspace:*"
"hydrooj": "*"
},
"dependencies": {
"superagent": "^6.1.0"

@ -13,8 +13,8 @@ declare module 'hydrooj/src/interface' {
}
interface DomainDoc {
mount: string;
mountInfo: any;
mount?: string;
mountInfo?: any;
}
}
export interface IBasicProvider {

Loading…
Cancel
Save