|
|
|
@ -48,13 +48,24 @@ const configFlat = {
|
|
|
|
|
const packages = fs.readdirSync(path.resolve(process.cwd(), 'packages'));
|
|
|
|
|
console.log(packages);
|
|
|
|
|
for (const package of packages) {
|
|
|
|
|
const files = fs.readdirSync(path.resolve(process.cwd(), 'packages', package));
|
|
|
|
|
const basedir = path.resolve(process.cwd(), 'packages', package);
|
|
|
|
|
const files = fs.readdirSync(basedir);
|
|
|
|
|
if (!files.includes('src') && !files.map(n => n.split('.')[1]).includes('ts')) continue;
|
|
|
|
|
if (package !== 'hydrooj') config.references.push({ path: `packages/${package}` });
|
|
|
|
|
fs.writeFileSync(
|
|
|
|
|
path.resolve(process.cwd(), 'packages', package, 'tsconfig.json'),
|
|
|
|
|
path.resolve(basedir, 'tsconfig.json'),
|
|
|
|
|
files.includes('src') ? JSON.stringify(configSrc) : JSON.stringify(configFlat),
|
|
|
|
|
);
|
|
|
|
|
if (files.includes('src')) {
|
|
|
|
|
const inner = fs.readdirSync(path.resolve(basedir, 'src'));
|
|
|
|
|
for (const file of inner) {
|
|
|
|
|
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(process.cwd(), 'tsconfig.json'), JSON.stringify(config));
|
|
|
|
|
|
|
|
|
|