UNPKG

@anijs/load-config

Version:
74 lines (73 loc) 2.75 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __export = (target, all) => { __markAsModule(target); for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __reExport = (target, module2, desc) => { if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key of __getOwnPropNames(module2)) if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); } return target; }; var __toModule = (module2) => { return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); }; __export(exports, { default: () => readTSData_default }); var import_fs_extra = __toModule(require("fs-extra")); var import_path = __toModule(require("path")); var import_esbuild = __toModule(require("esbuild")); var import_tmp = __toModule(require("tmp")); async function readTSData(file) { const fileName = import_path.default.basename(file, ".ts"); const outfile = `${fileName}.js`; const buildResult = await (0, import_esbuild.build)({ absWorkingDir: process.cwd(), entryPoints: [file], write: false, bundle: true, platform: "node", format: "cjs", outfile, plugins: [ { name: "external-dependencies", setup(build) { build.onResolve({ filter: /.*/ }, (args) => { const id = args.path; if (id[0] !== "." && !import_path.default.isAbsolute(id)) { return { external: true }; } }); } } ] }); const { text } = buildResult.outputFiles[0]; const result = await new Promise((resolve, reject) => { import_tmp.default.dir(async (err, tmpPath, cleanupCallback) => { if (err) reject(err); const tmpOutfile = import_path.default.join(tmpPath, outfile); await (0, import_fs_extra.writeFile)(tmpOutfile, text); resolve(require(tmpOutfile).default); cleanupCallback(); }); }); return result; } var readTSData_default = readTSData; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {});