utiller 1.0.384 → 1.0.386

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
17
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
- var _path5 = _interopRequireDefault(require("path"));
19
+ var _path4 = _interopRequireDefault(require("path"));
20
20
  var _fs = _interopRequireDefault(require("fs"));
21
21
  var _promises = _interopRequireDefault(require("fs/promises"));
22
22
  var _lodash = _interopRequireDefault(require("lodash"));
@@ -96,7 +96,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
96
96
  */
97
97
  (0, _defineProperty2["default"])(_this, "getPathAfterSpecificFolder", function (fullPath) {
98
98
  var folder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "src";
99
- var parts = fullPath.split(_path5["default"].sep);
99
+ var parts = fullPath.split(_path4["default"].sep);
100
100
  for (var i = parts.length - 1; i >= 0; i--) {
101
101
  if (parts[i] === folder) {
102
102
  return "/" + parts.slice(i + 1).join("/");
@@ -118,10 +118,10 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
118
118
  return (0, _createClass2["default"])(NodeUtiller, [{
119
119
  key: "findSpecificFolderByPath",
120
120
  value: function findSpecificFolderByPath(path, folderName) {
121
- var absolute = _path5["default"].resolve(path);
122
- var parts = absolute.split(_path5["default"].sep);
121
+ var absolute = _path4["default"].resolve(path);
122
+ var parts = absolute.split(_path4["default"].sep);
123
123
  while (parts.length) {
124
- var joined = _path5["default"].join.apply(_path5["default"], (0, _toConsumableArray2["default"])(parts).concat([folderName]));
124
+ var joined = _path4["default"].join.apply(_path4["default"], (0, _toConsumableArray2["default"])(parts).concat([folderName]));
125
125
  if (_fs["default"].existsSync(joined)) return joined;
126
126
  parts.pop();
127
127
  }
@@ -192,7 +192,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
192
192
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
193
193
  var entry = _step.value;
194
194
  if (excludes.includes(entry.name)) continue;
195
- var fullPath = _path5["default"].join(path, entry.name);
195
+ var fullPath = _path4["default"].join(path, entry.name);
196
196
  if (entry.isDirectory()) {
197
197
  result.push.apply(result, (0, _toConsumableArray2["default"])(this.findFilePathBy.apply(this, [fullPath, predicate].concat(excludes))));
198
198
  } else if (entry.isFile()) {
@@ -226,9 +226,9 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
226
226
  this.appendError("renameFile \u932F\u8AA4, path: ".concat(path, ", newName: ").concat(newName));
227
227
  return;
228
228
  }
229
- var dir = _path5["default"].dirname(path);
230
- var ext = _path5["default"].extname(path);
231
- var newPath = _path5["default"].join(dir, "".concat(newName).concat(ext));
229
+ var dir = _path4["default"].dirname(path);
230
+ var ext = _path4["default"].extname(path);
231
+ var newPath = _path4["default"].join(dir, "".concat(newName).concat(ext));
232
232
  _fs["default"].renameSync(path, newPath);
233
233
  }
234
234
 
@@ -236,7 +236,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
236
236
  }, {
237
237
  key: "getPathInfo",
238
238
  value: function getPathInfo(path) {
239
- var absolute = _path5["default"].resolve(path);
239
+ var absolute = _path4["default"].resolve(path);
240
240
  var obj = {
241
241
  path: path,
242
242
  absolute: absolute,
@@ -290,14 +290,14 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
290
290
  key: "persistByPath",
291
291
  value: /** '/a/b/c.js' 把它變成真的 */
292
292
  function persistByPath(targetPath) {
293
- var isAbsolute = _path5["default"].isAbsolute(targetPath);
293
+ var isAbsolute = _path4["default"].isAbsolute(targetPath);
294
294
  var parts = targetPath.split("/").filter(Boolean);
295
295
  var lastPart = parts[parts.length - 1];
296
- var isFile = _path5["default"].extname(lastPart) !== ""; // ← 正規判斷副檔名
296
+ var isFile = _path4["default"].extname(lastPart) !== ""; // ← 正規判斷副檔名
297
297
 
298
- var current = isAbsolute ? _path5["default"].sep : "";
298
+ var current = isAbsolute ? _path4["default"].sep : "";
299
299
  for (var i = 0; i < parts.length; i++) {
300
- current = _path5["default"].join(current, parts[i]);
300
+ current = _path4["default"].join(current, parts[i]);
301
301
  if (!_fs["default"].existsSync(current)) {
302
302
  if (i === parts.length - 1 && isFile) {
303
303
  // 最後一個而且是檔案 → 建檔案
@@ -310,7 +310,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
310
310
  }
311
311
  }
312
312
  }
313
- return _path5["default"].resolve(targetPath);
313
+ return _path4["default"].resolve(targetPath);
314
314
  }
315
315
 
316
316
  /**
@@ -607,7 +607,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
607
607
  try {
608
608
  var files = _fs["default"].readdirSync(_path);
609
609
  return files.map(function (file) {
610
- return _this3.getPathInfo(_path5["default"].join(_path, file));
610
+ return _this3.getPathInfo(_path4["default"].join(_path, file));
611
611
  });
612
612
  } catch (error) {
613
613
  throw new _index2["default"](8002, error);
@@ -623,7 +623,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
623
623
  key: "copySingleFile",
624
624
  value: function copySingleFile(from, dest, fileName) {
625
625
  var force = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
626
- var destination = fileName && fileName.trim() ? _path5["default"].join(dest, fileName) : dest;
626
+ var destination = fileName && fileName.trim() ? _path4["default"].join(dest, fileName) : dest;
627
627
  if (_fs["default"].existsSync(destination) && !force) {
628
628
  throw new _index2["default"](8006, destination);
629
629
  }
@@ -632,7 +632,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
632
632
  }, {
633
633
  key: "ensureFolderExists",
634
634
  value: function ensureFolderExists(folderPath) {
635
- var resolved = _path5["default"].resolve(folderPath);
635
+ var resolved = _path4["default"].resolve(folderPath);
636
636
  if (_fs["default"].existsSync(resolved)) return;
637
637
  _fs["default"].mkdirSync(resolved, {
638
638
  recursive: true
@@ -805,14 +805,14 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
805
805
  /** 6.要產生webstorm run case? */
806
806
  ideaWorkspacePath = "".concat(this.findSpecificFolderByPath(dirPath, ".idea"), "/workspace.xml");
807
807
  /** 7.要產生cd script 腳本 **/
808
- this.insertShellCommand(_configerer.configerer.BASE_SHELL_SCRIPT, "cd_".concat(packageName), "cd ".concat(_path5["default"].resolve(dirPath)));
808
+ this.insertShellCommand(_configerer.configerer.BASE_SHELL_SCRIPT, "cd_".concat(packageName), "cd ".concat(_path4["default"].resolve(dirPath)));
809
809
  if (_fs["default"].existsSync(ideaWorkspacePath)) {
810
810
  workspace = this.getFileContextInRaw(ideaWorkspacePath);
811
811
  splited = workspace.split("\n");
812
812
  indexOfRunManager = _lodash["default"].findIndex(splited, function (line) {
813
813
  return _this5.has(line, 'name="RunManager');
814
814
  });
815
- this.insertToArray(splited, indexOfRunManager, "<configuration name=\"".concat(packageName, "\" \n type=\"NodeJSConfigurationType\" \n path-to-node=\"$USER_HOME$/.nvm/versions/node/v18.19.1/bin/node\" \n node-parameters=\"--require @babel/register\" \n path-to-js-file=\"").concat(_path5["default"].resolve(dirPath), "/src/index.js\" \n working-dir=\"").concat(_path5["default"].resolve(dirPath), "\" >"), " <envs>", " <env name=\"self_debug\" value=\"true\" />", " <env name=\"is_node\" value=\"true\" />", " </envs>", " <method v=\"2\" />", "</configuration>");
815
+ this.insertToArray(splited, indexOfRunManager, "<configuration name=\"".concat(packageName, "\" \n type=\"NodeJSConfigurationType\" \n path-to-node=\"$USER_HOME$/.nvm/versions/node/v18.19.1/bin/node\" \n node-parameters=\"--require @babel/register\" \n path-to-js-file=\"").concat(_path4["default"].resolve(dirPath), "/src/index.js\" \n working-dir=\"").concat(_path4["default"].resolve(dirPath), "\" >"), " <envs>", " <env name=\"self_debug\" value=\"true\" />", " <env name=\"is_node\" value=\"true\" />", " </envs>", " <method v=\"2\" />", "</configuration>");
816
816
  indexOfList = _lodash["default"].findIndex(splited, function (line) {
817
817
  return _lodash["default"].isEqual(_lodash["default"].trim(line), "<list>");
818
818
  }, indexOfRunManager);
@@ -822,7 +822,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
822
822
  this.appendError("".concat(ideaWorkspacePath, " not exist"));
823
823
  }
824
824
  _context10.next = 17;
825
- return this.executeCommandLine("cd ".concat(_path5["default"].resolve(dirPath), " && npm install"));
825
+ return this.executeCommandLine("cd ".concat(_path4["default"].resolve(dirPath), " && npm install"));
826
826
  case 17:
827
827
  this.appendInfo("build ".concat(packageName, " succeed!"));
828
828
  case 18:
@@ -878,7 +878,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
878
878
  var newline = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
879
879
  var forceDelete = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
880
880
  try {
881
- var resolvedPath = _path5["default"].resolve(filePath); // <<--- 正規化路徑
881
+ var resolvedPath = _path4["default"].resolve(filePath); // <<--- 正規化路徑
882
882
  if (forceDelete && _fs["default"].existsSync(resolvedPath)) _fs["default"].unlinkSync(resolvedPath);
883
883
  if (!_fs["default"].existsSync(resolvedPath)) this.persistByPath(resolvedPath);
884
884
  var content = "".concat(newline ? "\n" : "").concat(data);
@@ -912,7 +912,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
912
912
  while (1) switch (_context11.prev = _context11.next) {
913
913
  case 0:
914
914
  ignoreP = _args11.length > 2 && _args11[2] !== undefined ? _args11[2] : false;
915
- path = _path5["default"].resolve(path);
915
+ path = _path4["default"].resolve(path);
916
916
  this.appendFile(path, JSON.stringify(object), true, true);
917
917
  if (ignoreP) {
918
918
  _context11.next = 6;
@@ -1033,7 +1033,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1033
1033
  }
1034
1034
 
1035
1035
  // 確保目的路徑存在(遞迴建立)
1036
- this.ensureFolderExists(_path5["default"].dirname(destPath));
1036
+ this.ensureFolderExists(_path4["default"].dirname(destPath));
1037
1037
 
1038
1038
  // 強制複製
1039
1039
  this.copySingleFile(absolute, destPath, undefined, true);
@@ -1108,7 +1108,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1108
1108
  _iterator7 = _createForOfIteratorHelper(packagejsons);
1109
1109
  _context14.prev = 8;
1110
1110
  _loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
1111
- var path, tempFolderPath, release, _path4, localBabelPath, command, pathOfPackageJson, indexFileName, templatePath, _yield$_this7$upgrade, moduleName, version;
1111
+ var path, tempFolderPath, release, pathOfPackageJson, indexFileName, templatePath, _yield$_this7$upgrade, moduleName, version;
1112
1112
  return _regenerator["default"].wrap(function _loop$(_context13) {
1113
1113
  while (1) switch (_context13.prev = _context13.next) {
1114
1114
  case 0:
@@ -1118,95 +1118,93 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1118
1118
  return !_this7.has(path, projectName);
1119
1119
  };
1120
1120
  })))) {
1121
- _context13.next = 49;
1121
+ _context13.next = 46;
1122
1122
  break;
1123
1123
  }
1124
1124
  _context13.next = 4;
1125
- return _this7.generateTempFolderWithCleanSrc(_path4);
1125
+ return _this7.generateTempFolderWithCleanSrc(path);
1126
1126
  case 4:
1127
1127
  tempFolderPath = _context13.sent;
1128
1128
  /** 產生release資料夾 */
1129
- release = _this7.persistByPath(_path5["default"].join(_path4, "release")); // 1. 定義您的 functions 目錄路徑
1130
- _path4 = "/Users/davidtu/cross-achieve/high/idea-inventer/gen/sashanailgel/functions"; // 2. 獲取本地安裝的 Babel CLI 執行檔的絕對路徑
1131
- localBabelPath = "".concat(_path4, "/node_modules/.bin/babel"); // 3. 構造最終命令:先切換目錄,然後執行絕對路徑的 Babel
1132
- command = "cd ".concat(_path4, " && ").concat(localBabelPath, " ./temp --out-dir ./release/lib"); // 4. 執行
1133
- _context13.next = 11;
1134
- return _this7.executeCommandLine(command);
1135
- case 11:
1136
- pathOfPackageJson = _path5["default"].join(_path4, "package.json");
1137
- _context13.prev = 12;
1129
+ release = _this7.persistByPath(_path4["default"].join(path, "release"));
1130
+ /** 利用babel 產生出 es5相容性高的src file */
1131
+ _context13.next = 8;
1132
+ return _this7.executeCommandLine("cd ".concat(path, " ; npx babel ./temp --out-dir ./release/lib"));
1133
+ case 8:
1134
+ pathOfPackageJson = _path4["default"].join(path, "package.json");
1135
+ _context13.prev = 9;
1138
1136
  indexFileName = "sample.npm.module.index.js";
1139
1137
  /** 複製公版的index.js */
1140
1138
  _this7.copySingleFile("/Users/davidtu/cross-achieve/high/idea-inventer/utiller/template/".concat(indexFileName), release, "index.js", true);
1141
1139
 
1142
1140
  /** template就是樣板的概念 */
1143
- templatePath = _path5["default"].join(_path4, "template");
1141
+ templatePath = _path4["default"].join(path, "template");
1144
1142
  if (!_this7.isPathExist(templatePath)) {
1145
- _context13.next = 19;
1143
+ _context13.next = 16;
1146
1144
  break;
1147
1145
  }
1148
- _context13.next = 19;
1149
- return _this7.copyFromFolderToDestFolder(templatePath, _this7.persistByPath(_path5["default"].join(release, "template")));
1150
- case 19:
1146
+ _context13.next = 16;
1147
+ return _this7.copyFromFolderToDestFolder(templatePath, _this7.persistByPath(_path4["default"].join(release, "template")));
1148
+ case 16:
1151
1149
  if (!deployToNPMServer) {
1152
- _context13.next = 27;
1150
+ _context13.next = 24;
1153
1151
  break;
1154
1152
  }
1155
- _context13.next = 22;
1153
+ _context13.next = 19;
1156
1154
  return _this7.upgradePackageJsonVersion(pathOfPackageJson);
1157
- case 22:
1155
+ case 19:
1158
1156
  _yield$_this7$upgrade = _context13.sent;
1159
1157
  moduleName = _yield$_this7$upgrade.moduleName;
1160
1158
  version = _yield$_this7$upgrade.version;
1161
- _context13.next = 27;
1159
+ _context13.next = 24;
1162
1160
  return _this7.updateVersionOfTemplate(moduleName, version);
1163
- case 27:
1161
+ case 24:
1164
1162
  /** 把package.json release放進去 */
1165
- _this7.copySingleFile(pathOfPackageJson, _path5["default"].join(release, "package.json"), undefined, true);
1163
+ _this7.copySingleFile(pathOfPackageJson, _path4["default"].join(release, "package.json"), undefined, true);
1166
1164
 
1167
1165
  /** 安裝一個沒有devDependency 的node_module */
1168
- if (!(forceInstallNodeModule || !_this7.isPathExist(_path5["default"].join(release, "node_module")))) {
1169
- _context13.next = 33;
1166
+ if (!(forceInstallNodeModule || !_this7.isPathExist(_path4["default"].join(release, "node_module")))) {
1167
+ _context13.next = 30;
1170
1168
  break;
1171
1169
  }
1172
- _context13.next = 31;
1170
+ _context13.next = 28;
1173
1171
  return _this7.executeCommandLine("cd ".concat(release, " && yarn install --production"));
1174
- case 31:
1175
- _context13.next = 34;
1172
+ case 28:
1173
+ _context13.next = 31;
1176
1174
  break;
1177
- case 33:
1175
+ case 30:
1178
1176
  _this7.appendInfo("ignore node-module install behavior");
1179
- case 34:
1180
- _this7.appendInfo("build ".concat(_path4, " succeed"));
1177
+ case 31:
1178
+ _this7.appendInfo("build ".concat(path, " succeed"));
1181
1179
 
1182
1180
  /** 部署到 local server*/
1183
1181
  if (!deployToNPMServer) {
1184
- _context13.next = 38;
1182
+ _context13.next = 35;
1185
1183
  break;
1186
1184
  }
1187
- _context13.next = 38;
1185
+ _context13.next = 35;
1188
1186
  return _this7.executeCommandLine("cd ".concat(release, " && npm publish"));
1189
- case 38:
1190
- _context13.next = 45;
1187
+ case 35:
1188
+ _context13.next = 42;
1191
1189
  break;
1192
- case 40:
1193
- _context13.prev = 40;
1194
- _context13.t0 = _context13["catch"](12);
1195
- _context13.next = 44;
1190
+ case 37:
1191
+ _context13.prev = 37;
1192
+ _context13.t0 = _context13["catch"](9);
1193
+ _context13.next = 41;
1196
1194
  return _this7.deleteSelfByPath(release, true);
1197
- case 44:
1195
+ case 41:
1198
1196
  throw new _index2["default"](9999, "generatePackage \u5831\u932F, ".concat(_context13.t0.message));
1199
- case 45:
1200
- _context13.prev = 45;
1201
- _context13.next = 48;
1197
+ case 42:
1198
+ _context13.prev = 42;
1199
+ _context13.next = 45;
1202
1200
  return _this7.deleteSelfByPath(tempFolderPath, true);
1203
- case 48:
1204
- return _context13.finish(45);
1205
- case 49:
1201
+ case 45:
1202
+ return _context13.finish(42);
1203
+ case 46:
1206
1204
  case "end":
1207
1205
  return _context13.stop();
1208
1206
  }
1209
- }, _loop, null, [[12, 40, 45, 49]]);
1207
+ }, _loop, null, [[9, 37, 42, 46]]);
1210
1208
  });
1211
1209
  _iterator7.s();
1212
1210
  case 11:
@@ -1481,7 +1479,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1481
1479
  case 0:
1482
1480
  width = _args19.length > 1 && _args19[1] !== undefined ? _args19[1] : 200;
1483
1481
  _context19.next = 3;
1484
- return this.executeCommandLine("cd ".concat(_path5["default"].resolve("."), " && npx prettier --write ").concat(_path5["default"].resolve(path), " --print-width ").concat(width));
1482
+ return this.executeCommandLine("cd ".concat(_path4["default"].resolve("."), " && npx prettier --write ").concat(_path4["default"].resolve(path), " --print-width ").concat(width));
1485
1483
  case 3:
1486
1484
  case "end":
1487
1485
  return _context19.stop();
@@ -1651,7 +1649,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1651
1649
  var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
1652
1650
  if (_lodash["default"].isEqual(this.getExtensionFromPath(path), "js")) {
1653
1651
  var _source$key;
1654
- var source = require(_path5["default"].resolve(path))["default"];
1652
+ var source = require(_path4["default"].resolve(path))["default"];
1655
1653
  return (_source$key = source[key]) !== null && _source$key !== void 0 ? _source$key : defaultValue;
1656
1654
  } else {
1657
1655
  throw new _index2["default"](8020, "path is not js file, which is ".concat(path));
@@ -1824,8 +1822,8 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1824
1822
  while (1) switch (_context26.prev = _context26.next) {
1825
1823
  case 0:
1826
1824
  this.appendInfo("generateTempFolderWithCleanSrc", basePath);
1827
- sourceFile = _path5["default"].join(basePath, "src");
1828
- tempFolderPath = _path5["default"].join(basePath, "temp");
1825
+ sourceFile = _path4["default"].join(basePath, "src");
1826
+ tempFolderPath = _path4["default"].join(basePath, "temp");
1829
1827
  if (_fs["default"].existsSync(sourceFile)) {
1830
1828
  _context26.next = 5;
1831
1829
  break;
@@ -1866,7 +1864,7 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1866
1864
 
1867
1865
  // 美化代碼
1868
1866
  _context26.next = 25;
1869
- return this.executeCommandLine("cd ".concat(_path5["default"].dirname(tempFilePath), " && npx prettier --write \"").concat(tempFilePath, "\""));
1867
+ return this.executeCommandLine("cd ".concat(_path4["default"].dirname(tempFilePath), " && npx prettier --write \"").concat(tempFilePath, "\""));
1870
1868
  case 25:
1871
1869
  _context26.next = 13;
1872
1870
  break;
@@ -1974,8 +1972,8 @@ var NodeUtiller = /*#__PURE__*/function (_Utiller) {
1974
1972
  }
1975
1973
  var shouldHaveDotSlash = (_args$ = args[0]) === null || _args$ === void 0 ? void 0 : _args$.startsWith("./");
1976
1974
  var cleanArgs = (_args$2 = args[0]) !== null && _args$2 !== void 0 && _args$2.startsWith("./") ? [args[0].slice(2)].concat((0, _toConsumableArray2["default"])(args.slice(1))) : args;
1977
- var joined = _path5["default"].join.apply(_path5["default"], (0, _toConsumableArray2["default"])(cleanArgs));
1978
- return shouldHaveDotSlash && !_path5["default"].isAbsolute(joined) ? "./".concat(joined) : joined;
1975
+ var joined = _path4["default"].join.apply(_path4["default"], (0, _toConsumableArray2["default"])(cleanArgs));
1976
+ return shouldHaveDotSlash && !_path4["default"].isAbsolute(joined) ? "./".concat(joined) : joined;
1979
1977
  }
1980
1978
  }]);
1981
1979
  }(_index["default"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utiller",
3
- "version": "1.0.384",
3
+ "version": "1.0.386",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -11,7 +11,7 @@
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
13
  "configerer": "^1.0.23",
14
- "utiller": "^1.0.383",
14
+ "utiller": "^1.0.385",
15
15
  "linepayer": "^1.0.15",
16
16
  "databazer": "^1.0.17",
17
17
  "lodash": "^4.17.20",