diff options
| author | rejbasket <39080670+rejbasket@users.noreply.github.com> | 2023-05-22 22:33:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-22 22:33:19 +0200 |
| commit | ef6f6580df6e8fbce913eecc1fe7e0f8caf1315b (patch) | |
| tree | c1119a5d1affd44ad27e60cc6981ac98534c518d /electron/service/utils | |
| parent | da54f104e6bf5d0e98f7479cf1d060c76e0b01f2 (diff) | |
Update electron version to v14.2.9 (#2214)
Authored-by: rejbasket
Co-authored-by: Kaalleen
Co-authored-by: Lex Neva
Diffstat (limited to 'electron/service/utils')
| -rw-r--r-- | electron/service/utils/getLocalIP.js | 17 | ||||
| -rw-r--r-- | electron/service/utils/loadEnv.js | 39 | ||||
| -rw-r--r-- | electron/service/utils/logger.js | 72 | ||||
| -rw-r--r-- | electron/service/utils/paths.js | 6 | ||||
| -rw-r--r-- | electron/service/utils/resolveClientEnv.js | 11 | ||||
| -rw-r--r-- | electron/service/utils/spinner.js | 57 |
6 files changed, 202 insertions, 0 deletions
diff --git a/electron/service/utils/getLocalIP.js b/electron/service/utils/getLocalIP.js new file mode 100644 index 00000000..14926ee2 --- /dev/null +++ b/electron/service/utils/getLocalIP.js @@ -0,0 +1,17 @@ +'use strict' + +const os = require('os') + +module.exports = function getLocalIP() { + const interfaces = os.networkInterfaces() + + for (const devName in interfaces) { + const iface = interfaces[devName] + for (let i = 0; i < iface.length; i++) { + const alias = iface[i] + if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) { + return alias.address + } + } + } +} diff --git a/electron/service/utils/loadEnv.js b/electron/service/utils/loadEnv.js new file mode 100644 index 00000000..3c054ff6 --- /dev/null +++ b/electron/service/utils/loadEnv.js @@ -0,0 +1,39 @@ +'use strict' + +const path = require('path') +const dotenv = require('dotenv') +const dotenvExpand = require('dotenv-expand') +const { error } = require('./logger') + +module.exports = function loadEnv(mode) { + const basePath = path.resolve(process.cwd(), `.env${mode ? `.${mode}` : ``}`) + const localPath = `${basePath}.local` + + const load = (envPath) => { + try { + const env = dotenv.config({ path: envPath, debug: process.env.DEBUG }) + dotenvExpand.expand(env) + } catch (err) { + // only ignore error if file is not found + if (err.toString().indexOf('ENOENT') < 0) { + error(err) + } + } + } + + load(localPath) + load(basePath) + + // by default, NODE_ENV and BABEL_ENV are set to "development" unless mode + // is production or test. However the value in .env files will take higher + // priority. + if (mode) { + const defaultNodeEnv = mode === 'production' || mode === 'test' ? mode : 'development' + if (process.env.NODE_ENV == null) { + process.env.NODE_ENV = defaultNodeEnv + } + if (process.env.BABEL_ENV == null) { + process.env.BABEL_ENV = defaultNodeEnv + } + } +} diff --git a/electron/service/utils/logger.js b/electron/service/utils/logger.js new file mode 100644 index 00000000..0d74c52c --- /dev/null +++ b/electron/service/utils/logger.js @@ -0,0 +1,72 @@ +'use strict' + +const chalk = require('chalk') +const stripAnsi = require('strip-ansi') +const readline = require('readline') +const EventEmitter = require('events') + +exports.events = new EventEmitter() + +function _log(type, tag, message) { + if (process.env.VUE_CLI_API_MODE && message) { + exports.events.emit('log', { + message, + type, + tag, + }) + } +} + +const format = (label, msg) => { + return msg + .split('\n') + .map((line, i) => { + return i === 0 ? `${label} ${line}` : line.padStart(stripAnsi(label).length) + }) + .join('\n') +} + +const chalkTag = (msg) => chalk.bgBlackBright.white.dim(` ${msg} `) + +exports.log = (msg = '', tag = null) => { + tag ? console.log(format(chalkTag(tag), msg)) : console.log(msg) + _log('log', tag, msg) +} + +exports.info = (msg, tag = null) => { + console.log(format(chalk.bgBlue.black(' INFO ') + (tag ? chalkTag(tag) : ''), msg)) + _log('info', tag, msg) +} + +exports.done = (msg, tag = null) => { + console.log(format(chalk.bgGreen.black(' DONE ') + (tag ? chalkTag(tag) : ''), msg)) + _log('done', tag, msg) +} + +exports.warn = (msg, tag = null) => { + console.warn( + format(chalk.bgYellow.black(' WARN ') + (tag ? chalkTag(tag) : ''), chalk.yellow(msg)) + ) + _log('warn', tag, msg) +} + +exports.error = (msg, tag = null) => { + console.error(format(chalk.bgRed(' ERROR ') + (tag ? chalkTag(tag) : ''), chalk.red(msg))) + _log('error', tag, msg) + if (msg instanceof Error) { + console.error(msg.stack) + _log('error', tag, msg.stack) + } +} + +exports.clearConsole = (title) => { + if (process.stdout.isTTY) { + const blank = '\n'.repeat(process.stdout.rows) + console.log(blank) + readline.cursorTo(process.stdout, 0, 0) + readline.clearScreenDown(process.stdout) + if (title) { + console.log(title) + } + } +} diff --git a/electron/service/utils/paths.js b/electron/service/utils/paths.js new file mode 100644 index 00000000..a3e173c3 --- /dev/null +++ b/electron/service/utils/paths.js @@ -0,0 +1,6 @@ +'use strict' + +const path = require('path') + +// gen absolute path +exports.resolve = (...args) => path.posix.join(process.cwd(), ...args) diff --git a/electron/service/utils/resolveClientEnv.js b/electron/service/utils/resolveClientEnv.js new file mode 100644 index 00000000..4a4505a6 --- /dev/null +++ b/electron/service/utils/resolveClientEnv.js @@ -0,0 +1,11 @@ +'use strict' +const prefixRE = /^VUE_APP_/ + +module.exports = function resolveClientEnv(options, raw) { + process.env.PUBLIC_PATH = options.publicPath + + if (raw) { + return env + } + +}
\ No newline at end of file diff --git a/electron/service/utils/spinner.js b/electron/service/utils/spinner.js new file mode 100644 index 00000000..d643a933 --- /dev/null +++ b/electron/service/utils/spinner.js @@ -0,0 +1,57 @@ +'use strict' + +const ora = require('ora') +const chalk = require('chalk') + +const spinner = ora() +let lastMsg = null +let isPaused = false + +exports.logWithSpinner = (symbol, msg) => { + if (!msg) { + msg = symbol + symbol = chalk.green('✔') + } + if (lastMsg) { + spinner.stopAndPersist({ + symbol: lastMsg.symbol, + text: lastMsg.text, + }) + } + spinner.text = ' ' + msg + lastMsg = { + symbol: symbol + ' ', + text: msg, + } + spinner.start() +} + +exports.stopSpinner = (persist) => { + if (lastMsg && persist !== false) { + spinner.stopAndPersist({ + symbol: lastMsg.symbol, + text: lastMsg.text, + }) + } else { + spinner.stop() + } + lastMsg = null +} + +exports.pauseSpinner = () => { + if (spinner.isSpinning) { + spinner.stop() + isPaused = true + } +} + +exports.resumeSpinner = () => { + if (isPaused) { + spinner.start() + isPaused = false + } +} + +exports.failSpinner = (text) => { + spinner.fail(text) +} |
