UNPKG

@liangskyli/utils

Version:
172 lines (163 loc) 5.24 kB
'use strict'; var address = require('address'); var colors = require('colors'); var debug = require('debug'); var lodash = require('lodash'); var signale = require('signale'); var node_module = require('node:module'); var node = require('esbuild-register/dist/node'); var fs = require('fs-extra'); var path = require('node:path'); var prettier = require('prettier'); var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null; function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var colors__default = /*#__PURE__*/_interopDefault(colors); var debug__default = /*#__PURE__*/_interopDefault(debug); var lodash__default = /*#__PURE__*/_interopDefault(lodash); var signale__default = /*#__PURE__*/_interopDefault(signale); var fs__default = /*#__PURE__*/_interopDefault(fs); var path__default = /*#__PURE__*/_interopDefault(path); var prettier__default = /*#__PURE__*/_interopDefault(prettier); let revertList = []; const register = (opts) => { const { key, ...otherOpts } = opts; if (revertList.filter((item) => item.key === key).length > 0) { throw Error('register key have exist!'); } const revert = node.register({ target: `node${process.version.slice(1)}`, ...otherOpts, }).unregister; revertList.push({ key, revert }); const unregister = () => { revert(); revertList = revertList.filter((item) => item.key !== key); }; return { unregister, }; }; const restore = () => { revertList.forEach(({ revert }) => { revert(); }); revertList = []; }; const unregister = (key) => { revertList = revertList .map((item) => { if (item.key === key) { item.revert(); return true; } else { return item; } }) .filter((item) => item !== true); }; var register$1 = /*#__PURE__*/Object.freeze({ __proto__: null, register: register, restore: restore, unregister: unregister }); const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))); const getConfig = (configFile) => { let config = null; const { unregister } = register({ key: 'utils-getConfig' }); let errInfo = null; try { config = require$1(configFile).default; } catch (err) { errInfo = err; } finally { unregister(); } if (errInfo !== null) { throw errInfo; } return config; }; const getAbsolutePath = (pathName) => { return path__default.default.isAbsolute(pathName) ? pathName : path__default.default.join(process.cwd(), pathName); }; const getRelativePath = (absolutePath1, absolutePath2) => { return path__default.default.relative(absolutePath1, absolutePath2); }; const prettierData = async (fileContent, options) => { const configFile = await prettier__default.default.resolveConfigFile(); let configFileOptions = null; if (configFile !== null) { configFileOptions = await prettier__default.default.resolveConfig(configFile); } if (options === undefined) { options = { parser: 'typescript' }; } if (!options.parser) { options.parser = 'typescript'; } if (configFileOptions !== null) { options = Object.assign({}, configFileOptions, options); } return prettier__default.default.format(fileContent, options); }; const copyOptions = (options) => { if (options !== undefined) { options = Object.assign({}, options); } return options; }; const winPath = (pathStr) => { const isExtendedLengthPath = /^\\\\\?\\/.test(pathStr); if (isExtendedLengthPath) { return pathStr; } return pathStr.replace(/\\/g, '/'); }; const removeFilesSync = (dir) => { let items = []; try { items = fs__default.default.readdirSync(dir); } catch { fs__default.default.mkdirsSync(dir); } items.forEach((item) => { if (item !== 'custom-data') { fs__default.default.removeSync(path__default.default.join(dir, item)); } }); }; Object.defineProperty(exports, "ip", { enumerable: true, get: function () { return address.ip; } }); Object.defineProperty(exports, "colors", { enumerable: true, get: function () { return colors__default.default; } }); Object.defineProperty(exports, "createDebug", { enumerable: true, get: function () { return debug__default.default; } }); Object.defineProperty(exports, "lodash", { enumerable: true, get: function () { return lodash__default.default; } }); Object.defineProperty(exports, "signale", { enumerable: true, get: function () { return signale__default.default; } }); exports.copyOptions = copyOptions; exports.getAbsolutePath = getAbsolutePath; exports.getConfig = getConfig; exports.getRelativePath = getRelativePath; exports.prettierData = prettierData; exports.register = register$1; exports.removeFilesSync = removeFilesSync; exports.winPath = winPath;