rename envar-base-* to envar-config and envar-secret
This commit is contained in:
		
							parent
							
								
									f426101042
								
							
						
					
					
						commit
						9a7d03552d
					
				@ -13,7 +13,7 @@ const readlineSync = require('readline-sync')
 | 
				
			|||||||
const my = { envar: {} }
 | 
					const my = { envar: {} }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = {
 | 
					module.exports = {
 | 
				
			||||||
  start_watching ({ envarFiles = ['./envar-base-dynamic.js', './envar-base-dynamic.gitignore.js'], rawEnvar = {}, interval = 1000 } = {}) {
 | 
					  start_watching ({ envarFiles = ['./envar-config.js', './envar-config.gitignore.js'], rawEnvar = {}, interval = 1000 } = {}) {
 | 
				
			||||||
    chokidar.watch(envarFiles, { interval }).on('change', (onpath) => {
 | 
					    chokidar.watch(envarFiles, { interval }).on('change', (onpath) => {
 | 
				
			||||||
      // .on('all', (event, onpath)) 但这时,即使server刚启动,也会调用到这里一次
 | 
					      // .on('all', (event, onpath)) 但这时,即使server刚启动,也会调用到这里一次
 | 
				
			||||||
      console.log('envarTool.start_watching: envar file changed:', onpath)
 | 
					      console.log('envarTool.start_watching: envar file changed:', onpath)
 | 
				
			||||||
@ -77,22 +77,12 @@ module.exports = {
 | 
				
			|||||||
   *  - 字符串数组: 按顺序导入导入每个文件,后面文件里的变量覆盖前面的。
 | 
					   *  - 字符串数组: 按顺序导入导入每个文件,后面文件里的变量覆盖前面的。
 | 
				
			||||||
   *  - 对象: 直接添加到 rawEnvar 上。
 | 
					   *  - 对象: 直接添加到 rawEnvar 上。
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  merge_envar ({
 | 
					  merge_envar ({ rawEnvar = {}, envarFiles = ['./envar-config.js', './envar-config.gitignore.js'] } = {}) {
 | 
				
			||||||
    rawEnvar = {},
 | 
					 | 
				
			||||||
    envarFiles = [
 | 
					 | 
				
			||||||
      './envar-base-basic.js',
 | 
					 | 
				
			||||||
      './envar-base-basic.gitignore.js',
 | 
					 | 
				
			||||||
      './envar-base-dynamic.js',
 | 
					 | 
				
			||||||
      './envar-base-dynamic.gitignore.js',
 | 
					 | 
				
			||||||
      './envar-base-secret.js',
 | 
					 | 
				
			||||||
      './envar-base-secret.gitignore.js',
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
  } = {}) {
 | 
					 | 
				
			||||||
    console.info({ _at: new Date().toJSON(), _from: 'merge_envar', about: `<<<<<<<< Configuring [${process.env.NODE_ENV}] Environment <<<<<<<<` }, '\n,')
 | 
					    console.info({ _at: new Date().toJSON(), _from: 'merge_envar', about: `<<<<<<<< Configuring [${process.env.NODE_ENV}] Environment <<<<<<<<` }, '\n,')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    console.info({ _at: new Date().toJSON(), _from: 'merge_envar', about: '- Loading Configuration Files (读取配置文件)' }, '\n,')
 | 
					    console.info({ _at: new Date().toJSON(), _from: 'merge_envar', about: '- Loading Configuration Files (读取配置文件)' }, '\n,')
 | 
				
			||||||
    if (typeof envarFiles === 'string') {
 | 
					    if (typeof envarFiles === 'string') {
 | 
				
			||||||
      // 例如当输入参数为 envarFiles = 'envar-base.js' 里面应当 module.exports 一个数组
 | 
					      // 例如当输入参数为 envarFiles = 'envar-config.js' 里面应当 module.exports 一个数组
 | 
				
			||||||
      if (fs.existsSync(path.resolve(envarFiles))) {
 | 
					      if (fs.existsSync(path.resolve(envarFiles))) {
 | 
				
			||||||
        envarFiles = require(path.resolve(envarFiles))
 | 
					        envarFiles = require(path.resolve(envarFiles))
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
@ -141,14 +131,17 @@ module.exports = {
 | 
				
			|||||||
      delete rawEnvar.commanderOptions
 | 
					      delete rawEnvar.commanderOptions
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    console.log({ _at: new Date().toJSON(), _from: 'merge_envar', about: `>>>>>>>> Configured [${process.env.NODE_ENV}] Environment >>>>>>>>` }, '\n,')
 | 
					    console.log(
 | 
				
			||||||
 | 
					      { _at: new Date().toJSON(), _from: 'merge_envar', about: `>>>>>>>> Configured [${process.env.NODE_ENV || 'development'}] Environment >>>>>>>>` },
 | 
				
			||||||
 | 
					      '\n,'
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return rawEnvar
 | 
					    return rawEnvar
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* 读取动态配置文件中的环境变量。
 | 
					  /* 读取动态配置文件中的环境变量。
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  get_dynamic_envar ({ dynamicEnvarFiles = ['./envar-base-dynamic.js', './envar-base-dynamic.gitignore.js'], base2app } = {}) {
 | 
					  get_dynamic_envar ({ dynamicEnvarFiles = ['./envar-config.js', './envar-config.gitignore.js'], base2app } = {}) {
 | 
				
			||||||
    // config file should be absolute or relative to the node process's dir.
 | 
					    // config file should be absolute or relative to the node process's dir.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let dynamicEnvar = {}
 | 
					    let dynamicEnvar = {}
 | 
				
			||||||
@ -192,7 +185,7 @@ module.exports = {
 | 
				
			|||||||
  /* 隐藏机密配置文件中的环境变量。
 | 
					  /* 隐藏机密配置文件中的环境变量。
 | 
				
			||||||
   * 需要输出当前环境变量时,必须调用本函数,避免机密信息被输出。
 | 
					   * 需要输出当前环境变量时,必须调用本函数,避免机密信息被输出。
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  mask_secret_envar ({ rawEnvar, secretEnvarFiles = ['./envar-base-secret.js', './envar-base-secret.gitignore.js'] } = {}) {
 | 
					  mask_secret_envar ({ rawEnvar, secretEnvarFiles = ['./envar-secret.js', './envar-secret.gitignore.js'] } = {}) {
 | 
				
			||||||
    let envar = JSON.parse(JSON.stringify(rawEnvar)) // 复制一份,避免污染
 | 
					    let envar = JSON.parse(JSON.stringify(rawEnvar)) // 复制一份,避免污染
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let secretEnvar = {}
 | 
					    let secretEnvar = {}
 | 
				
			||||||
@ -237,16 +230,7 @@ module.exports = {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // 预制方法
 | 
					  // 预制方法
 | 
				
			||||||
  envar_all ({
 | 
					  envar_all ({ files = ['./envar-config.js', './envar-config.gitignore.js', './envar-secret.js', './envar-secret.gitignore.js'] } = {}) {
 | 
				
			||||||
    files = [
 | 
					 | 
				
			||||||
      './envar-base-basic.js',
 | 
					 | 
				
			||||||
      './envar-base-basic.gitignore.js',
 | 
					 | 
				
			||||||
      './envar-base-dynamic.js',
 | 
					 | 
				
			||||||
      './envar-base-dynamic.gitignore.js',
 | 
					 | 
				
			||||||
      './envar-base-secret.js',
 | 
					 | 
				
			||||||
      './envar-base-secret.gitignore.js',
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
  } = {}) {
 | 
					 | 
				
			||||||
    let envar = this.get_envar({ inProcess: false, refresh: true, files })
 | 
					    let envar = this.get_envar({ inProcess: false, refresh: true, files })
 | 
				
			||||||
    if (process.argv.length > 2 && Array.isArray(envar.commanderOptions)) {
 | 
					    if (process.argv.length > 2 && Array.isArray(envar.commanderOptions)) {
 | 
				
			||||||
      console.info({ _at: new Date().toJSON(), _from: 'envar_all', about: '- Loading Command Line Parameters (载入命令行参数)' }, '\n,')
 | 
					      console.info({ _at: new Date().toJSON(), _from: 'envar_all', about: '- Loading Command Line Parameters (载入命令行参数)' }, '\n,')
 | 
				
			||||||
@ -267,13 +251,13 @@ module.exports = {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    return envar
 | 
					    return envar
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  envar_basic ({ envarKey, files = ['./envar-base-basic.js', './envar-base-basic.gitignore.js'] } = {}) {
 | 
					  envar_basic ({ envarKey, files = ['./envar-config.js', './envar-config.gitignore.js'] } = {}) {
 | 
				
			||||||
    return (my['basic'] = this.get_envar({ envarKey, inProcess: false, inCache: true, cachename: 'basic', refresh: false, files }))
 | 
					    return (my['basic'] = this.get_envar({ envarKey, inProcess: false, inCache: true, cachename: 'basic', refresh: false, files }))
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  envar_dynamic ({ envarKey, files = ['./envar-base-dynamic.js', './envar-base-dynamic.gitignore.js'] } = {}) {
 | 
					  envar_dynamic ({ envarKey, files = ['./envar-config.js', './envar-config.gitignore.js'] } = {}) {
 | 
				
			||||||
    return this.get_envar({ envarKey, inProcess: true, inCache: false, refresh: true, files })
 | 
					    return this.get_envar({ envarKey, inProcess: true, inCache: false, refresh: true, files })
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  envar_sesame ({ envarKey, files = ['./envar-base-secret.js', './envar-base-secret.gitignore.js'] } = {}) {
 | 
					  envar_sesame ({ envarKey, files = ['./envar-secret.js', './envar-secret.gitignore.js'] } = {}) {
 | 
				
			||||||
    return (my['sesame'] = this.get_envar({ envarKey, inProcess: true, inCache: true, cachename: 'sesame', refresh: false, files }))
 | 
					    return (my['sesame'] = this.get_envar({ envarKey, inProcess: true, inCache: true, cachename: 'sesame', refresh: false, files }))
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  // 可定制的通用方法
 | 
					  // 可定制的通用方法
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user