UNPKG

@unito/integration-cli

Version:

Integration CLI

45 lines (44 loc) 1.47 kB
"use strict"; /** * 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();