UNPKG

@clusterio/lib

Version:
33 lines (28 loc) 923 B
"use strict"; const fs = require("fs-extra"); const path = require("path"); const Ajv = require("ajv"); const standaloneCode = require("ajv/dist/standalone").default; /* eslint-disable node/no-sync */ // Provide an empty file for message_core to load fs.outputFileSync(path.join(__dirname, "../dist/node/src/data/message_validate.js"), ""); const { Message } = require("../dist/node/src/data/messages_core"); const ajv = new Ajv({ allowUnionTypes: true, strict: "log", strictTuples: false, verbose: true, code: { source: true, }, }); const validate = ajv.compile(Message.jsonSchema); let moduleCode = standaloneCode(ajv, validate); function write(output) { fs.outputFileSync( path.join(__dirname, output), `// generated by scripts/compile_validator.js\n// @ts-nocheck\n/* eslint-disable */\n${moduleCode}` ); } write("../dist/node/src/data/message_validate.js"); write("../src/data/message_validate.js");