2022-03-10 06:59:48 +00:00
|
|
|
const { readdirSync, writeFileSync } = require('fs');
|
2022-01-17 07:08:17 +00:00
|
|
|
|
2022-05-20 14:02:46 +00:00
|
|
|
const isPrivatePackage = (name) => {
|
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
const pkg = require(`./packages/${name}/package.json`);
|
|
|
|
|
return pkg.private;
|
|
|
|
|
};
|
|
|
|
|
|
2022-03-10 06:59:48 +00:00
|
|
|
const packages = readdirSync('./packages', { withFileTypes: true }).filter(
|
2022-05-20 14:02:46 +00:00
|
|
|
(dirent) => dirent.isDirectory() && dirent.name !== 'common' && !isPrivatePackage(dirent.name)
|
2022-02-05 01:39:40 +00:00
|
|
|
);
|
2022-01-17 07:08:17 +00:00
|
|
|
|
2022-03-10 06:59:48 +00:00
|
|
|
const imports = packages.map((dirent) => `import ${dirent.name} from './packages/${dirent.name}/lib'`);
|
|
|
|
|
imports.push(["import { QueryError, OAuthUnauthorizedClientError } from './packages/common/lib'"]);
|
2022-01-17 07:08:17 +00:00
|
|
|
|
2022-03-10 06:59:48 +00:00
|
|
|
const outs = `export default {\n${packages.map((dirent) => ` ${dirent.name}`).join(',\n')},
|
2022-02-05 01:39:40 +00:00
|
|
|
}`;
|
2022-01-17 07:08:17 +00:00
|
|
|
|
|
|
|
|
const content = `
|
2022-03-10 06:59:48 +00:00
|
|
|
${imports.join('\n')} \n
|
2022-01-17 07:08:17 +00:00
|
|
|
${outs}\n
|
2022-02-05 01:39:40 +00:00
|
|
|
export { QueryError, OAuthUnauthorizedClientError }
|
|
|
|
|
`;
|
2022-01-17 07:08:17 +00:00
|
|
|
|
2022-03-10 06:59:48 +00:00
|
|
|
writeFileSync('server.ts', content);
|