mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-28 19:06:12 +01:00
da41d3dbcf
## About the changes This PR automates the generation of exported open api schemas on pre-commit, removing some manual steps and also standardizing the process. The schema list definition now looks way simpler:b6f3877296/src/lib/openapi/index.ts (L37-L49)
Also added2817e66b29/src/lib/openapi/spec/index.ts (L1-L4)
for devs
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const directoryPath = path.join(`${__dirname}/..`, 'src/lib/openapi/spec');
|
|
const indexPath = path.join(directoryPath, 'index.ts');
|
|
|
|
// Read files from the directory
|
|
fs.readdir(directoryPath, (err, files) => {
|
|
if (err) {
|
|
console.error('Could not list the directory.', err);
|
|
process.exit(1);
|
|
}
|
|
|
|
const exports = files
|
|
.filter((file) => file.includes('schema.ts')) // Filter files by 'schema.ts'
|
|
.map((file) => `export * from './${file.replace('.ts', '')}';`) // Create export statements
|
|
.join('\n');
|
|
|
|
// Append export statements to index.ts
|
|
const script = path.basename(__filename);
|
|
const message = `/**
|
|
* Auto-generated file by ${script}. Do not edit.
|
|
* To run it manually execute \`node ${script}\` from ${path.basename(
|
|
__dirname,
|
|
)}
|
|
*/\n`;
|
|
fs.writeFileSync(indexPath, `${message}${exports}\n${message}`, (err) => {
|
|
if (err) {
|
|
console.error('Could not append to file.', err);
|
|
process.exit(1);
|
|
}
|
|
console.log('Export statements added to index.ts successfully.');
|
|
});
|
|
});
|