@unito/integration-cli
Version:
Integration CLI
45 lines (44 loc) • 1.47 kB
JavaScript
;
/**
* Generate the Integration CLI types
*
* Execute with:
*
* npx ts-node scripts/generateTypes.ts
*/
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const json_schema_to_typescript_1 = require("json-schema-to-typescript");
const fs = tslib_1.__importStar(require("fs"));
async function execute() {
const directory = `${__dirname}/../schemas`;
const compiled = await (0, json_schema_to_typescript_1.compileFromFile)(`${directory}/configuration.json`, {
declareExternallyReferenced: true,
enableConstEnums: false,
style: {
bracketSpacing: true,
printWidth: 120,
semi: true,
singleQuote: true,
useTabs: false,
tabWidth: 2,
trailingComma: 'all',
},
unknownAny: true,
$refOptions: {
resolve: {
local: {
order: 1,
canRead: true,
read: async function (file, _callback) {
const filename = file.url.split('https://unito.io/integration_cli/').at(1)?.split('.schema.json')?.at(0);
return fs.readFileSync(`${directory}/${filename}.json`, 'utf8');
},
},
},
},
});
console.log(compiled);
}
// eslint-disable-next-line @typescript-eslint/no-floating-promises
execute();