42 lines
990 B
JavaScript
Executable File
42 lines
990 B
JavaScript
Executable File
const crypto = require('crypto')
|
|
const chalk = require("chalk")
|
|
const pkg = require('../package.json')
|
|
|
|
function digest (str) {
|
|
return crypto
|
|
.createHash('md5')
|
|
.update(str)
|
|
.digest('hex')
|
|
}
|
|
|
|
module.exports = {
|
|
getEnvs () {
|
|
const envs = Object.keys(process.env).reduce((ret, key) => {
|
|
const val = process.env[key]
|
|
if (key.indexOf("APP_") >= 0) {
|
|
// console.log(chalk.green(`${key}=${val}`));
|
|
ret[key] = val
|
|
}
|
|
return ret
|
|
}, {})
|
|
envs.NODE_ENV = process.env.NODE_ENV
|
|
envs.TARO_ENV = process.env.TARO_ENV
|
|
return envs
|
|
},
|
|
|
|
getDefineConstants (consts) {
|
|
consts = Object.keys(consts).reduce((val, k) => {
|
|
val[`process.env.${k}`] = `'${consts[k]}'`
|
|
return val
|
|
}, {})
|
|
return consts
|
|
},
|
|
|
|
getCacheIdentifier (consts = {}) {
|
|
const env = process.env.NODE_ENV || 'development'
|
|
const envHash = digest(JSON.stringify(consts))
|
|
|
|
return `cache-loader:${pkg.version} ${env} ${envHash}`
|
|
}
|
|
}
|