UNPKG

673 BJavaScriptView Raw
1///@ts-check
2'use strict';
3const npm = require('./npm-dependency');
4const logger = require('../log/logger');
5
6const REG_VAR = /\{\{package.([\w\d]*?)\}\}/g;
7
8/**
9 * 替换变量 {{package.xx}} from `package.json`
10 * @param {object} obj
11 */
12function replaceVar(obj) {
13 try {
14 const pkg = npm.loadPackage(process.cwd());
15 for (const k in obj) {
16 if (obj.hasOwnProperty(k) && typeof obj[k] === "string") {
17 obj[k] = obj[k].replace(REG_VAR, (m, key) => pkg[key]);
18 }
19 }
20 } catch (e) {
21 logger.warn('package.json load fail:');
22 logger.warn(''+e);
23 }
24 return obj;
25}
26
27module.exports = replaceVar
\No newline at end of file