UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

57 lines (56 loc) 7.01 kB
/* eslint-disable @typescript-eslint/no-floating-promises */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "generateTypes", { enumerable: true, get: function() { return generateTypes; } }); const _fs = /*#__PURE__*/ _interop_require_default(require("fs")); const _jsonschematotypescript = require("json-schema-to-typescript"); const _ = /*#__PURE__*/ _interop_require_default(require("..")); const _load = /*#__PURE__*/ _interop_require_default(require("../config/load")); const _configToJSONSchema = require("../utilities/configToJSONSchema"); const _logger = /*#__PURE__*/ _interop_require_default(require("../utilities/logger")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function generateTypes() { const logger = (0, _logger.default)(); const config = await (0, _load.default)(); const outputFile = process.env.PAYLOAD_TS_OUTPUT_PATH || config.typescript.outputFile; await _.default.init({ disableDBConnect: true, disableOnInit: true, local: true, secret: '--unused--' }); logger.info('Compiling TS types for Collections and Globals...'); const jsonSchema = (0, _configToJSONSchema.configToJSONSchema)(_.default.config, _.default.db.defaultIDType); const declare = `declare module 'payload' {\n export interface GeneratedTypes extends Config {}\n}`; (0, _jsonschematotypescript.compile)(jsonSchema, 'Config', { bannerComment: '/* tslint:disable */\n/* eslint-disable */\n/**\n* This file was automatically generated by Payload.\n* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,\n* and re-run `payload generate:types` to regenerate this file.\n*/', style: { singleQuote: true }, // Generates code for $defs that aren't referenced by the schema. Reason: // If a field defines an interfaceName, it should be included in the generated types // even if it's not used by another type. Reason: the user might want to use it in their own code. unreachableDefinitions: true }).then((compiled)=>{ if (config.typescript.declare !== false) { compiled += `\n\n${declare}`; } _fs.default.writeFileSync(outputFile, compiled); logger.info(`Types written to ${outputFile}`); }); } // when generateTypes.js is launched directly if (module.id === require.main.id) { generateTypes(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vZ2VuZXJhdGVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZmxvYXRpbmctcHJvbWlzZXMgKi9cbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCB7IGNvbXBpbGUgfSBmcm9tICdqc29uLXNjaGVtYS10by10eXBlc2NyaXB0J1xuXG5pbXBvcnQgcGF5bG9hZCBmcm9tICcuLidcbmltcG9ydCBsb2FkQ29uZmlnIGZyb20gJy4uL2NvbmZpZy9sb2FkJ1xuaW1wb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2NvbmZpZ1RvSlNPTlNjaGVtYSdcbmltcG9ydCBMb2dnZXIgZnJvbSAnLi4vdXRpbGl0aWVzL2xvZ2dlcidcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlVHlwZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGxvZ2dlciA9IExvZ2dlcigpXG4gIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcoKVxuICBjb25zdCBvdXRwdXRGaWxlID0gcHJvY2Vzcy5lbnYuUEFZTE9BRF9UU19PVVRQVVRfUEFUSCB8fCBjb25maWcudHlwZXNjcmlwdC5vdXRwdXRGaWxlXG5cbiAgYXdhaXQgcGF5bG9hZC5pbml0KHtcbiAgICBkaXNhYmxlREJDb25uZWN0OiB0cnVlLFxuICAgIGRpc2FibGVPbkluaXQ6IHRydWUsXG4gICAgbG9jYWw6IHRydWUsXG4gICAgc2VjcmV0OiAnLS11bnVzZWQtLScsXG4gIH0pXG5cbiAgbG9nZ2VyLmluZm8oJ0NvbXBpbGluZyBUUyB0eXBlcyBmb3IgQ29sbGVjdGlvbnMgYW5kIEdsb2JhbHMuLi4nKVxuXG4gIGNvbnN0IGpzb25TY2hlbWEgPSBjb25maWdUb0pTT05TY2hlbWEocGF5bG9hZC5jb25maWcsIHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSlcblxuICBjb25zdCBkZWNsYXJlID0gYGRlY2xhcmUgbW9kdWxlICdwYXlsb2FkJyB7XFxuICBleHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlZFR5cGVzIGV4dGVuZHMgQ29uZmlnIHt9XFxufWBcblxuICBjb21waWxlKGpzb25TY2hlbWEsICdDb25maWcnLCB7XG4gICAgYmFubmVyQ29tbWVudDpcbiAgICAgICcvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xcbi8qIGVzbGludC1kaXNhYmxlICovXFxuLyoqXFxuKiBUaGlzIGZpbGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IFBheWxvYWQuXFxuKiBETyBOT1QgTU9ESUZZIElUIEJZIEhBTkQuIEluc3RlYWQsIG1vZGlmeSB5b3VyIHNvdXJjZSBQYXlsb2FkIGNvbmZpZyxcXG4qIGFuZCByZS1ydW4gYHBheWxvYWQgZ2VuZXJhdGU6dHlwZXNgIHRvIHJlZ2VuZXJhdGUgdGhpcyBmaWxlLlxcbiovJyxcbiAgICBzdHlsZToge1xuICAgICAgc2luZ2xlUXVvdGU6IHRydWUsXG4gICAgfSxcbiAgICAvLyBHZW5lcmF0ZXMgY29kZSBmb3IgJGRlZnMgdGhhdCBhcmVuJ3QgcmVmZXJlbmNlZCBieSB0aGUgc2NoZW1hLiBSZWFzb246XG4gICAgLy8gSWYgYSBmaWVsZCBkZWZpbmVzIGFuIGludGVyZmFjZU5hbWUsIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgZ2VuZXJhdGVkIHR5cGVzXG4gICAgLy8gZXZlbiBpZiBpdCdzIG5vdCB1c2VkIGJ5IGFub3RoZXIgdHlwZS4gUmVhc29uOiB0aGUgdXNlciBtaWdodCB3YW50IHRvIHVzZSBpdCBpbiB0aGVpciBvd24gY29kZS5cbiAgICB1bnJlYWNoYWJsZURlZmluaXRpb25zOiB0cnVlLFxuICB9KS50aGVuKChjb21waWxlZCkgPT4ge1xuICAgIGlmIChjb25maWcudHlwZXNjcmlwdC5kZWNsYXJlICE9PSBmYWxzZSkge1xuICAgICAgY29tcGlsZWQgKz0gYFxcblxcbiR7ZGVjbGFyZX1gXG4gICAgfVxuICAgIGZzLndyaXRlRmlsZVN5bmMob3V0cHV0RmlsZSwgY29tcGlsZWQpXG4gICAgbG9nZ2VyLmluZm8oYFR5cGVzIHdyaXR0ZW4gdG8gJHtvdXRwdXRGaWxlfWApXG4gIH0pXG59XG5cbi8vIHdoZW4gZ2VuZXJhdGVUeXBlcy5qcyBpcyBsYXVuY2hlZCBkaXJlY3RseVxuaWYgKG1vZHVsZS5pZCA9PT0gcmVxdWlyZS5tYWluLmlkKSB7XG4gIGdlbmVyYXRlVHlwZXMoKVxufVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlVHlwZXMiLCJsb2dnZXIiLCJMb2dnZXIiLCJjb25maWciLCJsb2FkQ29uZmlnIiwib3V0cHV0RmlsZSIsInByb2Nlc3MiLCJlbnYiLCJQQVlMT0FEX1RTX09VVFBVVF9QQVRIIiwidHlwZXNjcmlwdCIsInBheWxvYWQiLCJpbml0IiwiZGlzYWJsZURCQ29ubmVjdCIsImRpc2FibGVPbkluaXQiLCJsb2NhbCIsInNlY3JldCIsImluZm8iLCJqc29uU2NoZW1hIiwiY29uZmlnVG9KU09OU2NoZW1hIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiZGVjbGFyZSIsImNvbXBpbGUiLCJiYW5uZXJDb21tZW50Iiwic3R5bGUiLCJzaW5nbGVRdW90ZSIsInVucmVhY2hhYmxlRGVmaW5pdGlvbnMiLCJ0aGVuIiwiY29tcGlsZWQiLCJmcyIsIndyaXRlRmlsZVN5bmMiLCJtb2R1bGUiLCJpZCIsInJlcXVpcmUiLCJtYWluIl0sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQ7Ozs7K0JBU3BDQTs7O2VBQUFBOzs7MkRBUlA7d0NBQ1M7eURBRUo7NkRBQ0c7b0NBQ1k7K0RBQ2hCOzs7Ozs7QUFFWixlQUFlQTtJQUNwQixNQUFNQyxTQUFTQyxJQUFBQSxlQUFNO0lBQ3JCLE1BQU1DLFNBQVMsTUFBTUMsSUFBQUEsYUFBVTtJQUMvQixNQUFNQyxhQUFhQyxRQUFRQyxHQUFHLENBQUNDLHNCQUFzQixJQUFJTCxPQUFPTSxVQUFVLENBQUNKLFVBQVU7SUFFckYsTUFBTUssU0FBTyxDQUFDQyxJQUFJLENBQUM7UUFDakJDLGtCQUFrQjtRQUNsQkMsZUFBZTtRQUNmQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUVBZCxPQUFPZSxJQUFJLENBQUM7SUFFWixNQUFNQyxhQUFhQyxJQUFBQSxzQ0FBa0IsRUFBQ1IsU0FBTyxDQUFDUCxNQUFNLEVBQUVPLFNBQU8sQ0FBQ1MsRUFBRSxDQUFDQyxhQUFhO0lBRTlFLE1BQU1DLFVBQVUsQ0FBQyxrRkFBa0YsQ0FBQztJQUVwR0MsSUFBQUEsK0JBQU8sRUFBQ0wsWUFBWSxVQUFVO1FBQzVCTSxlQUNFO1FBQ0ZDLE9BQU87WUFDTEMsYUFBYTtRQUNmO1FBQ0EseUVBQXlFO1FBQ3pFLG9GQUFvRjtRQUNwRixrR0FBa0c7UUFDbEdDLHdCQUF3QjtJQUMxQixHQUFHQyxJQUFJLENBQUMsQ0FBQ0M7UUFDUCxJQUFJekIsT0FBT00sVUFBVSxDQUFDWSxPQUFPLEtBQUssT0FBTztZQUN2Q08sWUFBWSxDQUFDLElBQUksRUFBRVAsUUFBUSxDQUFDO1FBQzlCO1FBQ0FRLFdBQUUsQ0FBQ0MsYUFBYSxDQUFDekIsWUFBWXVCO1FBQzdCM0IsT0FBT2UsSUFBSSxDQUFDLENBQUMsaUJBQWlCLEVBQUVYLFdBQVcsQ0FBQztJQUM5QztBQUNGO0FBRUEsNkNBQTZDO0FBQzdDLElBQUkwQixPQUFPQyxFQUFFLEtBQUtDLFFBQVFDLElBQUksQ0FBQ0YsRUFBRSxFQUFFO0lBQ2pDaEM7QUFDRiJ9