ci: build with noEmit

This commit is contained in:
undefined committed 2021-07-29 14:15:44 +08:00
1 parent 0cd91d7475
commit 68f5977e36
7 files changed
+39 -11

No files matched your search

+4 -3
View File
@@ -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`);
}
}
}
+29 -2
View File
@@ -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
View File
@@ -1 +1 @@
module.exports = require('./dist/service');
module.exports = require('./src/service');
+1 -1
View File
@@ -10,7 +10,7 @@
"@types/superagent": "^4.1.12"
},
"peerDependencies": {
"hydrooj": "workspace:*"
"hydrooj": "*"
},
"dependencies": {
"superagent": "^6.1.0"
+1 -1
View File
@@ -10,7 +10,7 @@
"@types/superagent": "^4.1.12"
},
"peerDependencies": {
"hydrooj": "workspace:*"
"hydrooj": "*"
},
"dependencies": {
"superagent": "^6.1.0"
+1 -1
View File
@@ -10,7 +10,7 @@
"@types/superagent": "^4.1.12"
},
"peerDependencies": {
"hydrooj": "workspace:*"
"hydrooj": "*"
},
"dependencies": {
"superagent": "^6.1.0"
+2 -2
View File
@@ -13,8 +13,8 @@ declare module 'hydrooj/src/interface' {
}
interface DomainDoc {
mount: string;
mountInfo: any;
mount?: string;
mountInfo?: any;
}
}
export interface IBasicProvider {