agmd 0.3.3 → 0.3.5

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.
package/lib/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * agmd v0.3.2
2
+ * agmd v0.3.5-beta2
3
3
  * author:kakajun <253495832@qq.com>
4
- * Thu Apr 28 2022 22:42:06 GMT+0800 (中国标准时间)
4
+ * Fri May 06 2022 09:36:13 GMT+0800 (中国标准时间)
5
5
  */
6
6
  var __create = Object.create;
7
7
  var __defProp = Object.defineProperty;
@@ -29,9 +29,9 @@ var __copyProps = (to, from, except, desc) => {
29
29
  };
30
30
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
31
31
 
32
- // node_modules/ms/index.js
33
- var require_ms = __commonJS({
34
- "node_modules/ms/index.js"(exports, module) {
32
+ // node_modules/_ms@2.1.2@ms/index.js
33
+ var require_ms_2_1 = __commonJS({
34
+ "node_modules/_ms@2.1.2@ms/index.js"(exports, module) {
35
35
  var s = 1e3;
36
36
  var m = s * 60;
37
37
  var h = m * 60;
@@ -141,9 +141,9 @@ var require_ms = __commonJS({
141
141
  }
142
142
  });
143
143
 
144
- // node_modules/debug/src/common.js
144
+ // node_modules/_debug@4.3.4@debug/src/common.js
145
145
  var require_common = __commonJS({
146
- "node_modules/debug/src/common.js"(exports, module) {
146
+ "node_modules/_debug@4.3.4@debug/src/common.js"(exports, module) {
147
147
  function setup(env2) {
148
148
  createDebug.debug = createDebug;
149
149
  createDebug.default = createDebug;
@@ -151,7 +151,7 @@ var require_common = __commonJS({
151
151
  createDebug.disable = disable;
152
152
  createDebug.enable = enable;
153
153
  createDebug.enabled = enabled2;
154
- createDebug.humanize = require_ms();
154
+ createDebug.humanize = require_ms_2_1();
155
155
  createDebug.destroy = destroy;
156
156
  Object.keys(env2).forEach((key) => {
157
157
  createDebug[key] = env2[key];
@@ -304,9 +304,9 @@ var require_common = __commonJS({
304
304
  }
305
305
  });
306
306
 
307
- // node_modules/debug/src/browser.js
307
+ // node_modules/_debug@4.3.4@debug/src/browser.js
308
308
  var require_browser = __commonJS({
309
- "node_modules/debug/src/browser.js"(exports, module) {
309
+ "node_modules/_debug@4.3.4@debug/src/browser.js"(exports, module) {
310
310
  exports.formatArgs = formatArgs;
311
311
  exports.save = save;
312
312
  exports.load = load;
@@ -469,9 +469,9 @@ var require_browser = __commonJS({
469
469
  }
470
470
  });
471
471
 
472
- // node_modules/has-flag/index.js
473
- var require_has_flag = __commonJS({
474
- "node_modules/has-flag/index.js"(exports, module) {
472
+ // node_modules/_has-flag@4.0.0@has-flag/index.js
473
+ var require_has_flag_4_0 = __commonJS({
474
+ "node_modules/_has-flag@4.0.0@has-flag/index.js"(exports, module) {
475
475
  "use strict";
476
476
  module.exports = (flag, argv = process.argv) => {
477
477
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
@@ -482,27 +482,29 @@ var require_has_flag = __commonJS({
482
482
  }
483
483
  });
484
484
 
485
- // node_modules/supports-color/index.js
486
- var require_supports_color = __commonJS({
487
- "node_modules/supports-color/index.js"(exports, module) {
485
+ // node_modules/_supports-color@8.1.1@supports-color/index.js
486
+ var require_supports_color_8_1 = __commonJS({
487
+ "node_modules/_supports-color@8.1.1@supports-color/index.js"(exports, module) {
488
488
  "use strict";
489
489
  var os = __require("os");
490
490
  var tty = __require("tty");
491
- var hasFlag = require_has_flag();
491
+ var hasFlag = require_has_flag_4_0();
492
492
  var { env: env2 } = process;
493
- var forceColor;
493
+ var flagForceColor;
494
494
  if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
495
- forceColor = 0;
495
+ flagForceColor = 0;
496
496
  } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
497
- forceColor = 1;
497
+ flagForceColor = 1;
498
498
  }
499
- if ("FORCE_COLOR" in env2) {
500
- if (env2.FORCE_COLOR === "true") {
501
- forceColor = 1;
502
- } else if (env2.FORCE_COLOR === "false") {
503
- forceColor = 0;
504
- } else {
505
- forceColor = env2.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env2.FORCE_COLOR, 10), 3);
499
+ function envForceColor() {
500
+ if ("FORCE_COLOR" in env2) {
501
+ if (env2.FORCE_COLOR === "true") {
502
+ return 1;
503
+ }
504
+ if (env2.FORCE_COLOR === "false") {
505
+ return 0;
506
+ }
507
+ return env2.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env2.FORCE_COLOR, 10), 3);
506
508
  }
507
509
  }
508
510
  function translateLevel(level) {
@@ -516,15 +518,22 @@ var require_supports_color = __commonJS({
516
518
  has16m: level >= 3
517
519
  };
518
520
  }
519
- function supportsColor(haveStream, streamIsTTY) {
521
+ function supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
522
+ const noFlagForceColor = envForceColor();
523
+ if (noFlagForceColor !== void 0) {
524
+ flagForceColor = noFlagForceColor;
525
+ }
526
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
520
527
  if (forceColor === 0) {
521
528
  return 0;
522
529
  }
523
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
524
- return 3;
525
- }
526
- if (hasFlag("color=256")) {
527
- return 2;
530
+ if (sniffFlags) {
531
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
532
+ return 3;
533
+ }
534
+ if (hasFlag("color=256")) {
535
+ return 2;
536
+ }
528
537
  }
529
538
  if (haveStream && !streamIsTTY && forceColor === void 0) {
530
539
  return 0;
@@ -541,7 +550,7 @@ var require_supports_color = __commonJS({
541
550
  return 1;
542
551
  }
543
552
  if ("CI" in env2) {
544
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
553
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
545
554
  return 1;
546
555
  }
547
556
  return min;
@@ -553,7 +562,7 @@ var require_supports_color = __commonJS({
553
562
  return 3;
554
563
  }
555
564
  if ("TERM_PROGRAM" in env2) {
556
- const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
565
+ const version = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
557
566
  switch (env2.TERM_PROGRAM) {
558
567
  case "iTerm.app":
559
568
  return version >= 3 ? 3 : 2;
@@ -572,21 +581,24 @@ var require_supports_color = __commonJS({
572
581
  }
573
582
  return min;
574
583
  }
575
- function getSupportLevel(stream) {
576
- const level = supportsColor(stream, stream && stream.isTTY);
584
+ function getSupportLevel(stream, options2 = {}) {
585
+ const level = supportsColor(stream, {
586
+ streamIsTTY: stream && stream.isTTY,
587
+ ...options2
588
+ });
577
589
  return translateLevel(level);
578
590
  }
579
591
  module.exports = {
580
592
  supportsColor: getSupportLevel,
581
- stdout: translateLevel(supportsColor(true, tty.isatty(1))),
582
- stderr: translateLevel(supportsColor(true, tty.isatty(2)))
593
+ stdout: getSupportLevel({ isTTY: tty.isatty(1) }),
594
+ stderr: getSupportLevel({ isTTY: tty.isatty(2) })
583
595
  };
584
596
  }
585
597
  });
586
598
 
587
- // node_modules/debug/src/node.js
599
+ // node_modules/_debug@4.3.4@debug/src/node.js
588
600
  var require_node = __commonJS({
589
- "node_modules/debug/src/node.js"(exports, module) {
601
+ "node_modules/_debug@4.3.4@debug/src/node.js"(exports, module) {
590
602
  var tty = __require("tty");
591
603
  var util = __require("util");
592
604
  exports.init = init;
@@ -599,7 +611,7 @@ var require_node = __commonJS({
599
611
  }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
600
612
  exports.colors = [6, 2, 3, 4, 5, 1];
601
613
  try {
602
- const supportsColor = require_supports_color();
614
+ const supportsColor = require_supports_color_8_1();
603
615
  if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
604
616
  exports.colors = [
605
617
  20,
@@ -755,9 +767,9 @@ var require_node = __commonJS({
755
767
  }
756
768
  });
757
769
 
758
- // node_modules/debug/src/index.js
770
+ // node_modules/_debug@4.3.4@debug/src/index.js
759
771
  var require_src = __commonJS({
760
- "node_modules/debug/src/index.js"(exports, module) {
772
+ "node_modules/_debug@4.3.4@debug/src/index.js"(exports, module) {
761
773
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
762
774
  module.exports = require_browser();
763
775
  } else {
@@ -843,7 +855,7 @@ import path2 from "path";
843
855
  import fs from "fs";
844
856
  import path from "path";
845
857
 
846
- // node_modules/kolorist/dist/esm/index.mjs
858
+ // node_modules/_kolorist@1.5.1@kolorist/dist/esm/index.mjs
847
859
  var enabled = true;
848
860
  var globalVar = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
849
861
  var supportLevel = 0;
@@ -1032,7 +1044,7 @@ function getFile(fullPath) {
1032
1044
  const imports = getImport(sarr, fullPath);
1033
1045
  const f = sarr[0].indexOf("eslint") === -1 && (sarr[0].indexOf("-->") > -1 || sarr[0].indexOf("*/") > -1 || sarr[0].indexOf("//") > -1) ? sarr[0] : "";
1034
1046
  return {
1035
- note: f,
1047
+ note: f.replace(/<\/?[^>]*>|(\n|\r)/g, ""),
1036
1048
  size,
1037
1049
  rowSize,
1038
1050
  imports
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../node_modules/ms/index.js", "../node_modules/debug/src/common.js", "../node_modules/debug/src/browser.js", "../node_modules/has-flag/index.js", "../node_modules/supports-color/index.js", "../node_modules/debug/src/node.js", "../node_modules/debug/src/index.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/compare-aliases.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/modes.enum.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/inspector.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/index.js", "../src/commands/get-file.ts", "../src/commands/change-path.ts", "../node_modules/kolorist/src/index.ts", "../src/shared/logger.ts", "../src/commands/wirte-md.ts"],
4
- "sourcesContent": ["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n", "/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n", "/**\n * Compare a list of case insensitive aliases for a given environment value\n *\n * @param {string} env value to be test\n * @param {string[]} aliases aliases to be compared to\n * @return {boolean}\n */\nmodule.exports = function compareAliases(env, ...aliases) {\n return aliases.some((alias) => alias.toLowerCase() === env.toLowerCase())\n}\n", "const Development = {\n dev: 'dev',\n development: 'development',\n}\n\nconst Production = {\n prod: 'prod',\n production: 'production',\n}\n\nmodule.exports = {\n Production,\n Development,\n}\n", "const compare = require('./compare-aliases')\nconst modes = require('./modes.enum')\n\n/**\n * Given an env value, checks whether NODE_ENV correspond to that value\n *\n * Inspector has two modes of operation, with a given argument or not. Given a\n * argument, the value is compared to a known environment values (dev, prod,...)\n * then a exact insensitive case match is made with the value. If there's no\n * given value, then compare the raw value of NODE_ENV is returned\n *\n * @example <caption>with NODE_ENV=\"dev\"</caption>\n * \t inspector() // \"dev\"\n * \t inspector(\"test\") // false\n * \t inspector(\"development\") // true\n * \t inspector(\"staging\", \"production\") // false\n * \t inspector(\"dev\") // true\n *\n * @param {string[] | undefined} [envs] environment to be tested\n * @return {boolean | string}\n */\nfunction inspector(...envs) {\n const nodeEnv = process.env.NODE_ENV ?? 'development'\n\n if (envs.length === 0) {\n return nodeEnv\n }\n\n return envs.reduce((prev, env) => {\n if (isKnownMode(env, nodeEnv)) {\n return true\n }\n\n return prev || compare(env, nodeEnv)\n }, false)\n}\n\n/**\n * Compare for a known env mode\n * @param {string} env\n * @param {string} nodeEnv\n * @return {boolean}\n */\nfunction isKnownMode(env, nodeEnv) {\n for (const mode of Object.values(modes)) {\n if (compareKnownMode(env, nodeEnv, Object.values(mode))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n *\n * @param {string} env\n * @param {string} nodeEnv\n * @param {string[]} possibleValues\n * @return {boolean}\n */\nfunction compareKnownMode(env, nodeEnv, possibleValues) {\n return compare(env, ...possibleValues) && compare(nodeEnv, ...possibleValues)\n}\n\nmodule.exports = inspector\n", "module.exports = {\n env: require('./inspector'),\n}\n", "/* \u83B7\u53D6\u6587\u4EF6\u76F8\u5173\u65B9\u6CD5 */\r\nimport fs from 'fs'\r\nimport path from 'path'\r\nimport createDebugger from 'debug'\r\nimport { changeImport } from './change-path';\r\nconst debug = createDebugger('get-file')\r\ndebug.enabled = false\r\nimport { env } from 'node-environment'\r\nconst isDev = env() === 'development'\r\n/**\r\n * @description:Gets the header comment of the file \u83B7\u53D6\u6587\u4EF6\u7684\u5934\u90E8\u6CE8\u91CA\r\n * @param {*} fullPath\r\n * @return {*}\r\n */\r\nexport function getFile(fullPath: string) {\r\n const str = fs.readFileSync(fullPath, 'utf-8')\r\n const size = str.length\r\n const sarr = str.split(/[\\n]/g)\r\n const rowSize = sarr.length\r\n const imports = getImport(sarr, fullPath)\r\n const f =\r\n sarr[0].indexOf('eslint') === -1 &&\r\n (sarr[0].indexOf('-->') > -1 || sarr[0].indexOf('*/') > -1 || sarr[0].indexOf('//') > -1)\r\n ? sarr[0]\r\n : ''\r\n return {\r\n note: f,\r\n size,\r\n rowSize,\r\n imports\r\n }\r\n}\r\n\r\n/**\r\n * @desc: \u8FD9\u662F\u521D\u59CB\u5316\u65F6\u5C31\u83B7\u53D6\u6BCF\u4E2A\u6587\u4EF6\u4F9D\u8D56\u7684\u65B9\u6CD5, \u4F46\u8981\u6C42\u5148\u8865\u5168\u540E\u7F00,\u5426\u5219\u4E0D\u7075\r\n * @author: majun\r\n * @param {any} sarr\r\n * @param {string} fullPath\r\n */\r\nexport function getImport(sarr: any[], fullPath: string) {\r\n // \u8FD9\u91CC\u83B7\u53D6\u6BCF\u4E2A\u6587\u4EF6\u7684import\u8DEF\u5F84\r\n const imports: string[] = []\r\n sarr.forEach((ele: string) => {\r\n if (ele.indexOf('from') > -1) {\r\n const { absoluteImport } = changeImport(ele, fullPath)\r\n if (absoluteImport) {\r\n imports.push(absoluteImport)\r\n }\r\n\r\n }\r\n })\r\n return imports\r\n}\r\n\r\nexport type ItemType = {\r\n name: string\r\n copyed?: boolean\r\n isDir: boolean\r\n level: number\r\n note: string\r\n size?: number\r\n suffix?: string\r\n rowSize?: number\r\n fullPath: string\r\n belongTo: string[] // \u6807\u8BB0\u5F52\u5C5E\u8BBE\u7F6E \u5206\u7C7B\u7528\r\n imports: string[] // \u4F9D\u8D56\u6536\u96C6\r\n children?: ItemType[]\r\n}\r\n\r\n/**\r\n * @description:Generate node information for all files \u751F\u6210\u6240\u6709\u6587\u4EF6\u7684node\u4FE1\u606F\r\n * @param {*} dir \u8981\u89E3\u6790\u7684\u8DEF\u5F84\r\n * @param {Array} nodes\r\n * @param {Number} level\r\n * @return {*}\r\n */\r\nexport function getFileNodes(\r\n dir = process.cwd(),\r\n option?: { ignore: string[] | undefined; include: string[] | undefined } | undefined,\r\n nodes: ItemType[] = [],\r\n level = 0\r\n): ItemType[] {\r\n //File filtering -- full name with suffix required \u6587\u4EF6\u8FC7\u6EE4--\u9700\u8981\u5168\u79F0\u5E26\u540E\u7F00\r\n let ignore = [\r\n // 'api',\r\n // 'src',\r\n 'bin',\r\n 'lib',\r\n 'jest.config.js',\r\n 'router',\r\n 'img',\r\n 'styles',\r\n 'node_modules',\r\n 'LICENSE',\r\n '.git',\r\n '.github',\r\n 'dist',\r\n '.husky',\r\n '.vscode',\r\n '.eslintrc.js',\r\n 'readme-file.js',\r\n 'readme-md.js'\r\n ]\r\n //File suffix contains only \u6587\u4EF6\u540E\u7F00\u53EA\u5305\u542B\r\n let include = isDev?['.js', '.vue']:['.js', '.vue', '.ts']\r\n if (option) {\r\n ignore = option.ignore || ignore\r\n include = option.include || include\r\n }\r\n\r\n const files = fs\r\n .readdirSync(dir)\r\n .map((item) => {\r\n let fullPath = path.join(dir, item)\r\n const isDir = fs.lstatSync(fullPath).isDirectory()\r\n return {\r\n name: item,\r\n isDir,\r\n level,\r\n note: '',\r\n imports: new Array(),\r\n belongTo: new Array()\r\n } as ItemType\r\n })\r\n //Sort folders and files, otherwise the generated will not correspond to the opening order of the editor \u5BF9\u6587\u4EF6\u5939\u548C\u6587\u4EF6\u8FDB\u884C\u6392\u5E8F,\u8981\u4E0D\u7136\u751F\u6210\u7684\u548C\u7F16\u8F91\u5668\u6253\u5F00\u7684\u987A\u5E8F\u4E0D\u5BF9\u5E94\r\n .sort((a, b) => {\r\n if (!a.isDir && b.isDir) return 1\r\n if (a.isDir && !b.isDir) return -1\r\n if ((a.isDir && b.isDir) || (!a.isDir && !b.isDir)) return 0\r\n return 0\r\n })\r\n for (let index = 0; index < files.length; index += 1) {\r\n const item = files[index]\r\n //Folder filtering is handled here \u8FD9\u91CC\u5904\u7406\u6587\u4EF6\u5939\u8FC7\u6EE4\r\n const foldFlag = ignore.findIndex((obj: string) => obj === item.name)\r\n if (foldFlag === -1) {\r\n const fullPath = path.join(dir, item.name)\r\n const isDir = fs.lstatSync(fullPath).isDirectory()\r\n if (isDir) {\r\n //recursion \u9012\u5F52\r\n getFileNodes(fullPath, option, (item.children = []), level + 1)\r\n item.fullPath = fullPath.replace(/\\\\/g, '/')\r\n nodes.push(item)\r\n } else {\r\n const i = fullPath.lastIndexOf('.')\r\n const lastName = fullPath.substring(i)\r\n //File filtering is handled here \u8FD9\u91CC\u5904\u7406\u6587\u4EF6\u8FC7\u6EE4\r\n if (include.includes(lastName)) {\r\n const obj = getFile(fullPath)\r\n Object.assign(item, obj)\r\n item.suffix = lastName\r\n item.fullPath = fullPath.replace(/\\\\/g, '/')\r\n nodes.push(item)\r\n }\r\n }\r\n }\r\n }\r\n return nodes\r\n}\r\n\r\n/**\r\n * @description:Recursive file name + note \u9012\u5F52\u5F97\u5230\u6587\u4EF6\u540D+note\r\n * @param {Array} datas\r\n * @param {string} keys\r\n * @return {*}\r\n */\r\nexport function getNote(datas: ItemType[], keys?: string[]) {\r\n const nodes = keys || []\r\n datas.forEach((obj: ItemType, index: Number) => {\r\n const last = index === datas.length - 1\r\n if (obj.children) {\r\n //fold\r\n getNote(obj.children, nodes)\r\n }\r\n const md = setMd(obj, last)\r\n nodes.push(md)\r\n })\r\n return nodes\r\n}\r\n\r\n/**\r\n * @description:One obj generates one line of text \u4E00\u4E2Aobj\u751F\u6210\u4E00\u4E2A\u4E00\u884C\u6587\u5B57\r\n * @param {ItemType} obj\r\n * @param {Boolean} last Is it the last one \u662F\u4E0D\u662F\u6700\u540E\u4E00\u4E2A\r\n * @return {*}\r\n */\r\n function setMd(obj: ItemType, last: Boolean): string {\r\n let filesString = ''\r\n const blank = '\u2502 '.repeat(obj.level) // \u91CD\u590D\u7A7A\u767D\r\n const pre = `${blank}${last ? '\u2514\u2500\u2500' : '\u251C\u2500\u2500'} ${obj.name}`\r\n if (obj.isDir) {\r\n filesString += `${pre}\\n`\r\n } else {\r\n filesString += `${pre} ${obj.note}\\n`\r\n }\r\n return filesString\r\n}\r\n", "/* \u6574\u4E2A\u6587\u4EF6\u4E3B\u8981\u628A\u7EDD\u5BF9\u8DEF\u5F84\u4FEE\u6539\u4E3A\u76F8\u5BF9\u8DEF\u5F84 */\r\nimport { ItemType } from './get-file'\r\nimport fs from 'fs'\r\nimport path from 'path'\r\nimport logger from '../shared/logger'\r\nimport createDebugger from 'debug'\r\nconst debug = createDebugger('change-path')\r\ndebug.enabled = false\r\n/**\r\n * @desc: \u9012\u5F52\u5FAA\u73AF\u6240\u6709\u6587\u4EF6\r\n * @author: majun\r\n * @param {Array} nodes \u6574\u4E2A\u6587\u4EF6\u7684nodes\r\n */\r\nexport async function changePath(nodes: ItemType[]) {\r\n async function getNode(nodes: ItemType[]) {\r\n for (let index = 0; index < nodes.length; index++) {\r\n const ele = nodes[index]\r\n if (ele.children) {\r\n await getNode(ele.children)\r\n } else {\r\n // TODO \u8FD9\u91CC\u5148\u5199\u6B7B\u7EDD\u5BF9\u8F6C\u76F8\u5BF9, \u540E\u9762\u5982\u679C\u60F3\u76F8\u5BF9\u90FD\u8F6C\u7EDD\u5BF9, \u53EF\u4EE5\u6539\u8FD9\u91CC\r\n witeFile(ele, true)\r\n }\r\n }\r\n }\r\n await getNode(nodes)\r\n}\r\n/**\r\n * @desc: \u8FD9\u91CC\u8FD4\u56DE\u6CA1\u6709@ \u7B26\u53F7\u7684\u8DEF\u5F84\r\n * @author: majun\r\n * @param {string} absoluteImport \u4F9D\u8D56\u672C\u8EAB\u540D\u5B57\r\n * @param {string} fullPath \u6587\u4EF6\u672C\u8EAB\u7EDD\u5BF9\u5730\u5740\r\n */\r\nexport function getRelatPath(absoluteImport: string, fullPath: string) {\r\n let relatPath = path.relative(path.dirname(fullPath), absoluteImport) // \u8F6C\u56DE\u76F8\u5BF9\u8DEF\u5F84\r\n relatPath = relatPath.replace(/\\\\/g, '/')\r\n if (relatPath.indexOf('.') !== 0) {\r\n relatPath = './' + relatPath\r\n }\r\n return relatPath\r\n}\r\n\r\n/**\r\n * @desc: \u8865\u540E\u7F00\u7684\u65B9\u6CD5+\u66FF\u6362\u524D\u7F00\r\n * @author: majun\r\n * @param {string} filePath \u6B63\u5219\u5339\u914D\u5230\u7684\u4F9D\u8D56\u8DEF\u5F84\r\n * @param {string} fullPath \u672C\u8EAB\u6587\u4EF6\u540D\u8DEF\u5F84\r\n * @param {string} impName \u6B63\u786E\u7684\u540D\u5B57\r\n */\r\nexport function makeSuffix(filePath: string, fullPath: string) {\r\n let absoluteImport = ''\r\n // \u5982\u679C\u6709@\u7B26\u53F7\u7684\r\n if (filePath.indexOf('@') > -1) {\r\n debug('!!!!!!!!!filePath: ', filePath)\r\n absoluteImport = filePath.replace('@', process.cwd())\r\n } else {\r\n absoluteImport = path.resolve(path.dirname(fullPath), filePath)\r\n }\r\n debug('makeSuffix \u5165\u53C2: absoluteImport', absoluteImport)\r\n const lastName = path.extname(absoluteImport)\r\n debug('lastName', lastName)\r\n // \u5047\u5982\u6CA1\u6709\u540E\u7F00,\u8865\u4E0A\r\n if (!lastName) {\r\n debug('!!!!!!!!!!!\u7F3A\u540E\u7F00\u6587\u4EF6: ', absoluteImport)\r\n // \u83B7\u53D6\u7EDD\u5BF9\u8DEF\u5F84\r\n const suffix = ['.js', '.ts', '.vue', '/index.js', '/index.vue']\r\n for (let j = 0; j < suffix.length; j++) {\r\n const fixStr = suffix[j]\r\n if (fs.existsSync(absoluteImport + fixStr)) {\r\n // \u628A\u6539\u597D\u7684\u66FF\u6362\u56DE\u53BB\r\n debug('\u8865\u5168\u7684\u6587\u4EF6: ', absoluteImport + fixStr)\r\n absoluteImport = absoluteImport + fixStr\r\n break\r\n }\r\n }\r\n }\r\n return absoluteImport.replace(/\\\\/g, '/')\r\n}\r\n\r\n/**\r\n * @desc: \u6839\u636E\u4E00\u884C\u4EE3\u7801\u5339\u914Dimport\u7684\u8BE6\u7EC6\u5185\u5BB9 TODO \u8FD9\u91CC\u8FD8\u5F97\u4F18\u5316\r\n * @author: majun\r\n */\r\nexport function getImportName(ele: string) {\r\n let str=''\r\n // \u6CE8\u91CA\u7684\u4E0D\u8F6C,\u5176\u4ED6\u516C\u5171\u4E5F\u4E0D\u8F6C\r\n const ignore = [\r\n 'xiwicloud',\r\n 'bpmn-js',\r\n 'element-ui',\r\n 'lodash',\r\n 'handsontable',\r\n 'nprogress',\r\n 'quill',\r\n 'qrcodejs2',\r\n 'echarts'\r\n ]\r\n const flag = ignore.some((item) => ele.indexOf(item) > -1)\r\n // const reg = /import.*[\\\"|\\'](.*)[\\'|\\\"]/\r\n const reg = / from [\\\"|\\'](.*)[\\'|\\\"]/\r\n // if (fullPath == 'D:/gitwork/auto-generate-md/unuse/App.vue') {\r\n // debug(!flag, ele.indexOf('/') > -1, \"000000000000000000000000\")\r\n // debug(ele.match(reg), '11111111111111')\r\n // }\r\n // \u8FD9\u91CC\u53EA\u6536\u96C6\u7EC4\u4EF6\u4F9D\u8D56, \u63D2\u4EF6\u4F9D\u8D56\u6392\u9664\u6389\r\n if (!flag && ele.indexOf('/') > -1 && ele.indexOf('//') !== 0) {\r\n const impStr = ele.match(reg);\r\n // \u6CA1\u6709import\u7684\u4E0D\u8F6C\r\n if (impStr && impStr[1]) str = impStr[1];\r\n }\r\n return str\r\n}\r\n\r\n/**\r\n * @desc: \u627E\u5230import\u5E76\u8FD4\u56DE\u5168\u8DEF\u5F84\u548C\u539F\u59CB\u8DEF\u5F84\r\n * @author: majun\r\n * @param {string} ele \u627E\u5230\u7684\u884C\u5F15\u5165\r\n * @param {string} fullPath \u6587\u4EF6\u7684\u5168\u8DEF\u5F84\r\n */\r\nexport function changeImport(ele: string, fullPath: string) {\r\n let obj = {\r\n impName: '',\r\n filePath: '',\r\n absoluteImport:''\r\n }\r\n const impName = getImportName(ele)\r\n if (impName) {\r\n // \u4F9D\u8D56\u7684\u5177\u4F53\u540D\u5B57\r\n obj.filePath = impName\r\n debug('!!!!!!!!!\u5339\u914Dimp: ', impName)\r\n // \u5148\u8865\u540E\u7F00\r\n obj.absoluteImport = makeSuffix(obj.filePath, fullPath)\r\n debug('\u8865\u8FC7\u540E', obj.absoluteImport)\r\n // \u540E\u6539\u76F8\u5BF9\u8DEF\u5F84\r\n obj.impName = getRelatPath(obj.absoluteImport, fullPath)\r\n debug('\u76F8\u5BF9\u8DEF\u5F84: ', obj.impName)\r\n }\r\n return obj\r\n}\r\n/**\r\n * @desc: \u5199\u6587\u4EF6\r\n * @author: majun\r\n\r\n * @param {string} file \u76EE\u6807\u5730\u5740\r\n */\r\nexport function witeFile(node: ItemType, isRelative?: Boolean) {\r\n const { fullPath} = node\r\n try {\r\n let writeFlag = false // \u5982\u679C\u5565\u90FD\u6CA1\u6539, \u4E0D\u66F4\u65B0\u6587\u4EF6\r\n let fileStr = fs.readFileSync(fullPath, 'utf-8')\r\n const sarr = fileStr.split(/[\\n]/g)\r\n for (let index = 0; index < sarr.length; index++) {\r\n const ele = sarr[index]\r\n if (ele.indexOf('from') > -1 && isRelative) {\r\n const obj = changeImport(ele, fullPath)\r\n // if (node.name === '***') {\r\n // debug(obj,\"bbbnnn\")\r\n // }\r\n if (obj.impName) {\r\n sarr[index] = ele.replace(obj.filePath, obj.impName)\r\n debug('node: ', node)\r\n writeFlag = true\r\n }\r\n }\r\n }\r\n if (writeFlag) {\r\n fileStr = sarr.join('\\n')\r\n // \u5F02\u6B65\u5199\u5165\u6570\u636E\u5230\u6587\u4EF6\r\n fs.writeFileSync(fullPath, fileStr, { encoding: 'utf8' })\r\n logger.success(`Write file successful: ${fullPath}`)\r\n }\r\n } catch (error) {\r\n logger.error(`\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25,\u6587\u4EF6\u540D: ${fullPath} `)\r\n }\r\n}\r\n\r\n/**\r\n * @description: Write the result to JS file \u628A\u7ED3\u679C\u5199\u5165\u5230js\u6587\u4EF6\r\n * @param {data} \u8981\u5199\u7684\u6570\u636E\r\n * @return {fileName} \u8981\u5199\u5165\u6587\u4EF6\u5730\u5740\r\n */\r\nexport function wirteJsNodes(data: string, filePath: string) {\r\n const file = path.resolve(process.cwd(), filePath)\r\n const pre = 'export default'\r\n // \u5F02\u6B65\u5199\u5165\u6570\u636E\u5230\u6587\u4EF6\r\n fs.writeFileSync(file, pre + data, { encoding: 'utf8' })\r\n logger.success(`Write file successful: ${filePath}`)\r\n}\r\n", null, "/* \u6253\u4E2A\u6F02\u4EAE\u65E5\u5FD7 */\r\nimport { lightBlue, lightGreen, lightRed, lightYellow } from 'kolorist';\r\n\r\nconst logger = {\r\n info(text: string) {\r\n console.log(lightBlue(`\u2708 - ${text}`));\r\n },\r\n success(text: string) {\r\n console.log(lightGreen(`\u2714 - ${text}`));\r\n },\r\n warn(text: string) {\r\n console.log(lightYellow(`\u25B6 - ${text}`));\r\n },\r\n error(text: string) {\r\n console.log(lightRed(`\u2716 - ${text}`));\r\n }\r\n};\r\n\r\nexport default logger;\r\n", "/* \u751F\u6210md\u8BF4\u660E\u6587\u6863 */\r\nimport fs from 'fs'\r\nimport path from 'path'\r\nimport { getFileNodes, getNote } from './get-file'\r\nimport { ItemType } from './get-file'\r\nimport logger from '../shared/logger'\r\nimport createDebugger from 'debug'\r\nconst rootPath = process.cwd().replace(/\\\\/g, '/')\r\nconst debug = createDebugger('wirte-md')\r\ndebug.enabled = false\r\ntype secoutType = { rowTotleNumber: number; sizeTotleNumber: number; coutObj: { [key: string]: number } }\r\n/**\r\n * @description:Write the result to JS file \u628A\u7ED3\u679C\u5199\u5165\u5230js\u6587\u4EF6\r\n * @param {data} \u8981\u5199\u7684\u6570\u636E\r\n * @return {fileName} \u8981\u5199\u5165\u6587\u4EF6\u5730\u5740\r\n */\r\nexport function wirteMd(data: string, filePath: string) {\r\n const file = path.resolve(rootPath, filePath)\r\n // \u5F02\u6B65\u5199\u5165\u6570\u636E\u5230\u6587\u4EF6\r\n fs.writeFile(file, data, { encoding: 'utf8' }, () => {\r\n logger.success('Write successful')\r\n })\r\n}\r\n\r\n/**\r\n * @description: Get statistics \u5F97\u5230\u7EDF\u8BA1\r\n * @param {Array} nodes\r\n * @return {*}\r\n */\r\nfunction getCountMd(datas: ItemType[]) {\r\n let rowTotleNumber = 0\r\n let sizeTotleNumber = 0\r\n const coutObj: { [key: string]: number } = {}\r\n function getDeatle(nodes: ItemType[]) {\r\n nodes.forEach((obj: ItemType) => {\r\n if (obj.children) getDeatle(obj.children)\r\n else if (obj.suffix && obj.rowSize && obj.size) {\r\n if (!coutObj.hasOwnProperty(obj.suffix)) coutObj[obj.suffix] = 0\r\n coutObj[obj.suffix]++\r\n rowTotleNumber += obj.rowSize\r\n sizeTotleNumber += obj.size\r\n }\r\n })\r\n }\r\n getDeatle(datas)\r\n return {\r\n rowTotleNumber,\r\n sizeTotleNumber,\r\n coutObj\r\n }\r\n}\r\n\r\n/**\r\n * @description:Thousands format \u5343\u5206\u4F4D\u683C\u5F0F\u5316\r\n * @param {num} To format a number \u8981\u683C\u5F0F\u5316\u6570\u5B57\r\n * @return {string}\r\n */\r\nfunction format(num: number) {\r\n var reg = /\\d{1,3}(?=(\\d{3})+$)/g\r\n return (num + '').replace(reg, '$&,')\r\n}\r\n\r\n/**\r\n * @description: Generate statistics MD \u751F\u6210\u7EDF\u8BA1md\r\n * @param {object} option\r\n * @return {*}\r\n */\r\nfunction setCountMd(obj: secoutType) {\r\n const { rowTotleNumber, sizeTotleNumber, coutObj } = obj\r\n let countMd = ''\r\n let totle = 0\r\n for (const key in coutObj) {\r\n const ele = coutObj[key]\r\n totle += ele\r\n countMd += `The suffix is ${key} has ${ele} files\\n`\r\n }\r\n countMd += `The totle has ${totle} files\\n`\r\n let md = `Total number of file lines: ${format(rowTotleNumber)},\r\nTotal number of codes: ${format(sizeTotleNumber)} \\n`\r\n md = countMd + md\r\n return md\r\n}\r\n/**\r\n * @description: Generate MD \u751F\u6210md\r\n * @param {object} option\r\n * @return {*}\r\n */\r\nexport function getMd(\r\n option?: { ignore: string[] | undefined; include: string[] | undefined } | undefined\r\n) {\r\n logger.success('*** run location: '+process.cwd() + '\\n')\r\n const nodes = getFileNodes(rootPath,option)\r\n const countMdObj = getCountMd(nodes)\r\n const coutMd = setCountMd(countMdObj)\r\n logger.success(coutMd)\r\n const note = getNote(nodes) // \u5F97\u5230\u6240\u6709note\u7684\u6570\u7EC4\r\n const md = note.join('') + '\\n' // \u6570\u7EC4\u8F6C\u5B57\u7B26\u4E32\r\n if (md.length > 0) {\r\n logger.success('*** Automatic generation completed !')\r\n }\r\n return { md: md + coutMd, nodes }\r\n}\r\n"],
5
- "mappings": "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",
3
+ "sources": ["../node_modules/_ms@2.1.2@ms/index.js", "../node_modules/_debug@4.3.4@debug/src/common.js", "../node_modules/_debug@4.3.4@debug/src/browser.js", "../node_modules/_has-flag@4.0.0@has-flag/index.js", "../node_modules/_supports-color@8.1.1@supports-color/index.js", "../node_modules/_debug@4.3.4@debug/src/node.js", "../node_modules/_debug@4.3.4@debug/src/index.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/compare-aliases.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/modes.enum.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/inspector.js", "../node_modules/_node-environment@0.5.1@node-environment/lib/index.js", "../src/commands/get-file.ts", "../src/commands/change-path.ts", "../node_modules/_kolorist@1.5.1@kolorist/src/index.ts", "../src/shared/logger.ts", "../src/commands/wirte-md.ts"],
4
+ "sourcesContent": ["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet flagForceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tflagForceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m') ||\n\t\t\thasFlag('color=full') ||\n\t\t\thasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream, options = {}) {\n\tconst level = supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options\n\t});\n\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel({isTTY: tty.isatty(1)}),\n\tstderr: getSupportLevel({isTTY: tty.isatty(2)})\n};\n", "/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.format(...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n", "/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n", "/**\n * Compare a list of case insensitive aliases for a given environment value\n *\n * @param {string} env value to be test\n * @param {string[]} aliases aliases to be compared to\n * @return {boolean}\n */\nmodule.exports = function compareAliases(env, ...aliases) {\n return aliases.some((alias) => alias.toLowerCase() === env.toLowerCase())\n}\n", "const Development = {\n dev: 'dev',\n development: 'development',\n}\n\nconst Production = {\n prod: 'prod',\n production: 'production',\n}\n\nmodule.exports = {\n Production,\n Development,\n}\n", "const compare = require('./compare-aliases')\nconst modes = require('./modes.enum')\n\n/**\n * Given an env value, checks whether NODE_ENV correspond to that value\n *\n * Inspector has two modes of operation, with a given argument or not. Given a\n * argument, the value is compared to a known environment values (dev, prod,...)\n * then a exact insensitive case match is made with the value. If there's no\n * given value, then compare the raw value of NODE_ENV is returned\n *\n * @example <caption>with NODE_ENV=\"dev\"</caption>\n * \t inspector() // \"dev\"\n * \t inspector(\"test\") // false\n * \t inspector(\"development\") // true\n * \t inspector(\"staging\", \"production\") // false\n * \t inspector(\"dev\") // true\n *\n * @param {string[] | undefined} [envs] environment to be tested\n * @return {boolean | string}\n */\nfunction inspector(...envs) {\n const nodeEnv = process.env.NODE_ENV ?? 'development'\n\n if (envs.length === 0) {\n return nodeEnv\n }\n\n return envs.reduce((prev, env) => {\n if (isKnownMode(env, nodeEnv)) {\n return true\n }\n\n return prev || compare(env, nodeEnv)\n }, false)\n}\n\n/**\n * Compare for a known env mode\n * @param {string} env\n * @param {string} nodeEnv\n * @return {boolean}\n */\nfunction isKnownMode(env, nodeEnv) {\n for (const mode of Object.values(modes)) {\n if (compareKnownMode(env, nodeEnv, Object.values(mode))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n *\n * @param {string} env\n * @param {string} nodeEnv\n * @param {string[]} possibleValues\n * @return {boolean}\n */\nfunction compareKnownMode(env, nodeEnv, possibleValues) {\n return compare(env, ...possibleValues) && compare(nodeEnv, ...possibleValues)\n}\n\nmodule.exports = inspector\n", "module.exports = {\n env: require('./inspector'),\n}\n", "/* \u83B7\u53D6\u6587\u4EF6\u76F8\u5173\u65B9\u6CD5 */\r\nimport fs from 'fs'\r\nimport path from 'path'\r\nimport createDebugger from 'debug'\r\nimport { changeImport } from './change-path';\r\nconst debug = createDebugger('get-file')\r\ndebug.enabled = false\r\nimport { env } from 'node-environment'\r\nconst isDev = env() === 'development'\r\n/**\r\n * @description:Gets the header comment of the file \u83B7\u53D6\u6587\u4EF6\u7684\u5934\u90E8\u6CE8\u91CA\r\n * @param {*} fullPath\r\n * @return {*}\r\n */\r\nexport function getFile(fullPath: string) {\r\n const str = fs.readFileSync(fullPath, 'utf-8')\r\n const size = str.length\r\n const sarr = str.split(/[\\n]/g)\r\n const rowSize = sarr.length\r\n const imports = getImport(sarr, fullPath)\r\n const f =\r\n sarr[0].indexOf('eslint') === -1 &&\r\n (sarr[0].indexOf('-->') > -1 || sarr[0].indexOf('*/') > -1 || sarr[0].indexOf('//') > -1)\r\n ? sarr[0]\r\n : ''\r\n return {\r\n note: f.replace(/<\\/?[^>]*>|(\\n|\\r)/g, ''), // \u53BB\u6389\u5C3E\u5DF4\u6362\u884C\u7B26\u53F7\r\n size,\r\n rowSize,\r\n imports\r\n }\r\n}\r\n\r\n/**\r\n * @desc: \u8FD9\u662F\u521D\u59CB\u5316\u65F6\u5C31\u83B7\u53D6\u6BCF\u4E2A\u6587\u4EF6\u4F9D\u8D56\u7684\u65B9\u6CD5, \u4F46\u8981\u6C42\u5148\u8865\u5168\u540E\u7F00,\u5426\u5219\u4E0D\u7075\r\n * @author: majun\r\n * @param {any} sarr\r\n * @param {string} fullPath\r\n */\r\nexport function getImport(sarr: any[], fullPath: string) {\r\n // \u8FD9\u91CC\u83B7\u53D6\u6BCF\u4E2A\u6587\u4EF6\u7684import\u8DEF\u5F84\r\n const imports: string[] = []\r\n sarr.forEach((ele: string) => {\r\n if (ele.indexOf('from') > -1) {\r\n const { absoluteImport } = changeImport(ele, fullPath)\r\n if (absoluteImport) {\r\n imports.push(absoluteImport)\r\n }\r\n\r\n }\r\n })\r\n return imports\r\n}\r\n\r\nexport type ItemType = {\r\n name: string\r\n copyed?: boolean\r\n isDir: boolean\r\n level: number\r\n note: string\r\n size?: number\r\n suffix?: string\r\n rowSize?: number\r\n fullPath: string\r\n belongTo: string[] // \u6807\u8BB0\u5F52\u5C5E\u8BBE\u7F6E \u5206\u7C7B\u7528\r\n imports: string[] // \u4F9D\u8D56\u6536\u96C6\r\n children?: ItemType[]\r\n}\r\n\r\n/**\r\n * @description:Generate node information for all files \u751F\u6210\u6240\u6709\u6587\u4EF6\u7684node\u4FE1\u606F\r\n * @param {*} dir \u8981\u89E3\u6790\u7684\u8DEF\u5F84\r\n * @param {Array} nodes\r\n * @param {Number} level\r\n * @return {*}\r\n */\r\nexport function getFileNodes(\r\n dir = process.cwd(),\r\n option?: { ignore: string[] | undefined; include: string[] | undefined } | undefined,\r\n nodes: ItemType[] = [],\r\n level = 0\r\n): ItemType[] {\r\n //File filtering -- full name with suffix required \u6587\u4EF6\u8FC7\u6EE4--\u9700\u8981\u5168\u79F0\u5E26\u540E\u7F00\r\n let ignore = [\r\n // 'api',\r\n // 'src',\r\n 'bin',\r\n 'lib',\r\n 'jest.config.js',\r\n 'router',\r\n 'img',\r\n 'styles',\r\n 'node_modules',\r\n 'LICENSE',\r\n '.git',\r\n '.github',\r\n 'dist',\r\n '.husky',\r\n '.vscode',\r\n '.eslintrc.js',\r\n 'readme-file.js',\r\n 'readme-md.js'\r\n ]\r\n //File suffix contains only \u6587\u4EF6\u540E\u7F00\u53EA\u5305\u542B\r\n let include = isDev?['.js', '.vue']:['.js', '.vue', '.ts']\r\n if (option) {\r\n ignore = option.ignore || ignore\r\n include = option.include || include\r\n }\r\n\r\n const files = fs\r\n .readdirSync(dir)\r\n .map((item) => {\r\n let fullPath = path.join(dir, item)\r\n const isDir = fs.lstatSync(fullPath).isDirectory()\r\n return {\r\n name: item,\r\n isDir,\r\n level,\r\n note: '',\r\n imports: new Array(),\r\n belongTo: new Array()\r\n } as ItemType\r\n })\r\n //Sort folders and files, otherwise the generated will not correspond to the opening order of the editor \u5BF9\u6587\u4EF6\u5939\u548C\u6587\u4EF6\u8FDB\u884C\u6392\u5E8F,\u8981\u4E0D\u7136\u751F\u6210\u7684\u548C\u7F16\u8F91\u5668\u6253\u5F00\u7684\u987A\u5E8F\u4E0D\u5BF9\u5E94\r\n .sort((a, b) => {\r\n if (!a.isDir && b.isDir) return 1\r\n if (a.isDir && !b.isDir) return -1\r\n if ((a.isDir && b.isDir) || (!a.isDir && !b.isDir)) return 0\r\n return 0\r\n })\r\n for (let index = 0; index < files.length; index += 1) {\r\n const item = files[index]\r\n //Folder filtering is handled here \u8FD9\u91CC\u5904\u7406\u6587\u4EF6\u5939\u8FC7\u6EE4\r\n const foldFlag = ignore.findIndex((obj: string) => obj === item.name)\r\n if (foldFlag === -1) {\r\n const fullPath = path.join(dir, item.name)\r\n const isDir = fs.lstatSync(fullPath).isDirectory()\r\n if (isDir) {\r\n //recursion \u9012\u5F52\r\n getFileNodes(fullPath, option, (item.children = []), level + 1)\r\n item.fullPath = fullPath.replace(/\\\\/g, '/')\r\n nodes.push(item)\r\n } else {\r\n const i = fullPath.lastIndexOf('.')\r\n const lastName = fullPath.substring(i)\r\n //File filtering is handled here \u8FD9\u91CC\u5904\u7406\u6587\u4EF6\u8FC7\u6EE4\r\n if (include.includes(lastName)) {\r\n const obj = getFile(fullPath)\r\n Object.assign(item, obj)\r\n item.suffix = lastName\r\n item.fullPath = fullPath.replace(/\\\\/g, '/')\r\n nodes.push(item)\r\n }\r\n }\r\n }\r\n }\r\n return nodes\r\n}\r\n\r\n/**\r\n * @description:Recursive file name + note \u9012\u5F52\u5F97\u5230\u6587\u4EF6\u540D+note\r\n * @param {Array} datas\r\n * @param {string} keys\r\n * @return {*}\r\n */\r\nexport function getNote(datas: ItemType[], keys?: string[]) {\r\n const nodes = keys || []\r\n datas.forEach((obj: ItemType, index: Number) => {\r\n const last = index === datas.length - 1\r\n if (obj.children) {\r\n //fold\r\n getNote(obj.children, nodes)\r\n }\r\n const md = setMd(obj, last)\r\n nodes.push(md)\r\n })\r\n return nodes\r\n}\r\n\r\n/**\r\n * @description:One obj generates one line of text \u4E00\u4E2Aobj\u751F\u6210\u4E00\u4E2A\u4E00\u884C\u6587\u5B57\r\n * @param {ItemType} obj\r\n * @param {Boolean} last Is it the last one \u662F\u4E0D\u662F\u6700\u540E\u4E00\u4E2A\r\n * @return {*}\r\n */\r\n function setMd(obj: ItemType, last: Boolean): string {\r\n let filesString = ''\r\n const blank = '\u2502 '.repeat(obj.level) // \u91CD\u590D\u7A7A\u767D\r\n const pre = `${blank}${last ? '\u2514\u2500\u2500' : '\u251C\u2500\u2500'} ${obj.name}`\r\n if (obj.isDir) {\r\n filesString += `${pre}\\n`\r\n } else {\r\n filesString += `${pre} ${obj.note}\\n`\r\n }\r\n return filesString\r\n}\r\n", "/* \u6574\u4E2A\u6587\u4EF6\u4E3B\u8981\u628A\u7EDD\u5BF9\u8DEF\u5F84\u4FEE\u6539\u4E3A\u76F8\u5BF9\u8DEF\u5F84 */\r\nimport { ItemType } from './get-file'\r\nimport fs from 'fs'\r\nimport path from 'path'\r\nimport logger from '../shared/logger'\r\nimport createDebugger from 'debug'\r\nconst debug = createDebugger('change-path')\r\ndebug.enabled = false\r\n/**\r\n * @desc: \u9012\u5F52\u5FAA\u73AF\u6240\u6709\u6587\u4EF6\r\n * @author: majun\r\n * @param {Array} nodes \u6574\u4E2A\u6587\u4EF6\u7684nodes\r\n */\r\nexport async function changePath(nodes: ItemType[]) {\r\n async function getNode(nodes: ItemType[]) {\r\n for (let index = 0; index < nodes.length; index++) {\r\n const ele = nodes[index]\r\n if (ele.children) {\r\n await getNode(ele.children)\r\n } else {\r\n // TODO \u8FD9\u91CC\u5148\u5199\u6B7B\u7EDD\u5BF9\u8F6C\u76F8\u5BF9, \u540E\u9762\u5982\u679C\u60F3\u76F8\u5BF9\u90FD\u8F6C\u7EDD\u5BF9, \u53EF\u4EE5\u6539\u8FD9\u91CC\r\n witeFile(ele, true)\r\n }\r\n }\r\n }\r\n await getNode(nodes)\r\n}\r\n/**\r\n * @desc: \u8FD9\u91CC\u8FD4\u56DE\u6CA1\u6709@ \u7B26\u53F7\u7684\u8DEF\u5F84\r\n * @author: majun\r\n * @param {string} absoluteImport \u4F9D\u8D56\u672C\u8EAB\u540D\u5B57\r\n * @param {string} fullPath \u6587\u4EF6\u672C\u8EAB\u7EDD\u5BF9\u5730\u5740\r\n */\r\nexport function getRelatPath(absoluteImport: string, fullPath: string) {\r\n let relatPath = path.relative(path.dirname(fullPath), absoluteImport) // \u8F6C\u56DE\u76F8\u5BF9\u8DEF\u5F84\r\n relatPath = relatPath.replace(/\\\\/g, '/')\r\n if (relatPath.indexOf('.') !== 0) {\r\n relatPath = './' + relatPath\r\n }\r\n return relatPath\r\n}\r\n\r\n/**\r\n * @desc: \u8865\u540E\u7F00\u7684\u65B9\u6CD5+\u66FF\u6362\u524D\u7F00\r\n * @author: majun\r\n * @param {string} filePath \u6B63\u5219\u5339\u914D\u5230\u7684\u4F9D\u8D56\u8DEF\u5F84\r\n * @param {string} fullPath \u672C\u8EAB\u6587\u4EF6\u540D\u8DEF\u5F84\r\n * @param {string} impName \u6B63\u786E\u7684\u540D\u5B57\r\n */\r\nexport function makeSuffix(filePath: string, fullPath: string) {\r\n let absoluteImport = ''\r\n // \u5982\u679C\u6709@\u7B26\u53F7\u7684\r\n if (filePath.indexOf('@') > -1) {\r\n debug('!!!!!!!!!filePath: ', filePath)\r\n absoluteImport = filePath.replace('@', process.cwd())\r\n } else {\r\n absoluteImport = path.resolve(path.dirname(fullPath), filePath)\r\n }\r\n debug('makeSuffix \u5165\u53C2: absoluteImport', absoluteImport)\r\n const lastName = path.extname(absoluteImport)\r\n debug('lastName', lastName)\r\n // \u5047\u5982\u6CA1\u6709\u540E\u7F00,\u8865\u4E0A\r\n if (!lastName) {\r\n debug('!!!!!!!!!!!\u7F3A\u540E\u7F00\u6587\u4EF6: ', absoluteImport)\r\n // \u83B7\u53D6\u7EDD\u5BF9\u8DEF\u5F84\r\n const suffix = ['.js', '.ts', '.vue', '/index.js', '/index.vue']\r\n for (let j = 0; j < suffix.length; j++) {\r\n const fixStr = suffix[j]\r\n if (fs.existsSync(absoluteImport + fixStr)) {\r\n // \u628A\u6539\u597D\u7684\u66FF\u6362\u56DE\u53BB\r\n debug('\u8865\u5168\u7684\u6587\u4EF6: ', absoluteImport + fixStr)\r\n absoluteImport = absoluteImport + fixStr\r\n break\r\n }\r\n }\r\n }\r\n return absoluteImport.replace(/\\\\/g, '/')\r\n}\r\n\r\n/**\r\n * @desc: \u6839\u636E\u4E00\u884C\u4EE3\u7801\u5339\u914Dimport\u7684\u8BE6\u7EC6\u5185\u5BB9 TODO \u8FD9\u91CC\u8FD8\u5F97\u4F18\u5316\r\n * @author: majun\r\n */\r\nexport function getImportName(ele: string) {\r\n let str=''\r\n // \u6CE8\u91CA\u7684\u4E0D\u8F6C,\u5176\u4ED6\u516C\u5171\u4E5F\u4E0D\u8F6C\r\n const ignore = [\r\n 'xiwicloud',\r\n 'bpmn-js',\r\n 'element-ui',\r\n 'lodash',\r\n 'handsontable',\r\n 'nprogress',\r\n 'quill',\r\n 'qrcodejs2',\r\n 'echarts'\r\n ]\r\n const flag = ignore.some((item) => ele.indexOf(item) > -1)\r\n // const reg = /import.*[\\\"|\\'](.*)[\\'|\\\"]/\r\n const reg = / from [\\\"|\\'](.*)[\\'|\\\"]/\r\n // if (fullPath == 'D:/gitwork/auto-generate-md/unuse/App.vue') {\r\n // debug(!flag, ele.indexOf('/') > -1, \"000000000000000000000000\")\r\n // debug(ele.match(reg), '11111111111111')\r\n // }\r\n // \u8FD9\u91CC\u53EA\u6536\u96C6\u7EC4\u4EF6\u4F9D\u8D56, \u63D2\u4EF6\u4F9D\u8D56\u6392\u9664\u6389\r\n if (!flag && ele.indexOf('/') > -1 && ele.indexOf('//') !== 0) {\r\n const impStr = ele.match(reg);\r\n // \u6CA1\u6709import\u7684\u4E0D\u8F6C\r\n if (impStr && impStr[1]) str = impStr[1];\r\n }\r\n return str\r\n}\r\n\r\n/**\r\n * @desc: \u627E\u5230import\u5E76\u8FD4\u56DE\u5168\u8DEF\u5F84\u548C\u539F\u59CB\u8DEF\u5F84\r\n * @author: majun\r\n * @param {string} ele \u627E\u5230\u7684\u884C\u5F15\u5165\r\n * @param {string} fullPath \u6587\u4EF6\u7684\u5168\u8DEF\u5F84\r\n */\r\nexport function changeImport(ele: string, fullPath: string) {\r\n let obj = {\r\n impName: '',\r\n filePath: '',\r\n absoluteImport:''\r\n }\r\n const impName = getImportName(ele)\r\n if (impName) {\r\n // \u4F9D\u8D56\u7684\u5177\u4F53\u540D\u5B57\r\n obj.filePath = impName\r\n debug('!!!!!!!!!\u5339\u914Dimp: ', impName)\r\n // \u5148\u8865\u540E\u7F00\r\n obj.absoluteImport = makeSuffix(obj.filePath, fullPath)\r\n debug('\u8865\u8FC7\u540E', obj.absoluteImport)\r\n // \u540E\u6539\u76F8\u5BF9\u8DEF\u5F84\r\n obj.impName = getRelatPath(obj.absoluteImport, fullPath)\r\n debug('\u76F8\u5BF9\u8DEF\u5F84: ', obj.impName)\r\n }\r\n return obj\r\n}\r\n/**\r\n * @desc: \u5199\u6587\u4EF6\r\n * @author: majun\r\n\r\n * @param {string} file \u76EE\u6807\u5730\u5740\r\n */\r\nexport function witeFile(node: ItemType, isRelative?: Boolean) {\r\n const { fullPath} = node\r\n try {\r\n let writeFlag = false // \u5982\u679C\u5565\u90FD\u6CA1\u6539, \u4E0D\u66F4\u65B0\u6587\u4EF6\r\n let fileStr = fs.readFileSync(fullPath, 'utf-8')\r\n const sarr = fileStr.split(/[\\n]/g)\r\n for (let index = 0; index < sarr.length; index++) {\r\n const ele = sarr[index]\r\n if (ele.indexOf('from') > -1 && isRelative) {\r\n const obj = changeImport(ele, fullPath)\r\n // if (node.name === '***') {\r\n // debug(obj,\"bbbnnn\")\r\n // }\r\n if (obj.impName) {\r\n sarr[index] = ele.replace(obj.filePath, obj.impName)\r\n debug('node: ', node)\r\n writeFlag = true\r\n }\r\n }\r\n }\r\n if (writeFlag) {\r\n fileStr = sarr.join('\\n')\r\n // \u5F02\u6B65\u5199\u5165\u6570\u636E\u5230\u6587\u4EF6\r\n fs.writeFileSync(fullPath, fileStr, { encoding: 'utf8' })\r\n logger.success(`Write file successful: ${fullPath}`)\r\n }\r\n } catch (error) {\r\n logger.error(`\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25,\u6587\u4EF6\u540D: ${fullPath} `)\r\n }\r\n}\r\n\r\n/**\r\n * @description: Write the result to JS file \u628A\u7ED3\u679C\u5199\u5165\u5230js\u6587\u4EF6\r\n * @param {data} \u8981\u5199\u7684\u6570\u636E\r\n * @return {fileName} \u8981\u5199\u5165\u6587\u4EF6\u5730\u5740\r\n */\r\nexport function wirteJsNodes(data: string, filePath: string) {\r\n const file = path.resolve(process.cwd(), filePath)\r\n const pre = 'export default'\r\n // \u5F02\u6B65\u5199\u5165\u6570\u636E\u5230\u6587\u4EF6\r\n fs.writeFileSync(file, pre + data, { encoding: 'utf8' })\r\n logger.success(`Write file successful: ${filePath}`)\r\n}\r\n", null, "/* \u6253\u4E2A\u6F02\u4EAE\u65E5\u5FD7 */\r\nimport { lightBlue, lightGreen, lightRed, lightYellow } from 'kolorist';\r\n\r\nconst logger = {\r\n info(text: string) {\r\n console.log(lightBlue(`\u2708 - ${text}`));\r\n },\r\n success(text: string) {\r\n console.log(lightGreen(`\u2714 - ${text}`));\r\n },\r\n warn(text: string) {\r\n console.log(lightYellow(`\u25B6 - ${text}`));\r\n },\r\n error(text: string) {\r\n console.log(lightRed(`\u2716 - ${text}`));\r\n }\r\n};\r\n\r\nexport default logger;\r\n", "/* \u751F\u6210md\u8BF4\u660E\u6587\u6863 */\r\nimport fs from 'fs'\r\nimport path from 'path'\r\nimport { getFileNodes, getNote } from './get-file'\r\nimport { ItemType } from './get-file'\r\nimport logger from '../shared/logger'\r\nimport createDebugger from 'debug'\r\nconst rootPath = process.cwd().replace(/\\\\/g, '/')\r\nconst debug = createDebugger('wirte-md')\r\ndebug.enabled = false\r\ntype secoutType = { rowTotleNumber: number; sizeTotleNumber: number; coutObj: { [key: string]: number } }\r\n/**\r\n * @description:Write the result to JS file \u628A\u7ED3\u679C\u5199\u5165\u5230js\u6587\u4EF6\r\n * @param {data} \u8981\u5199\u7684\u6570\u636E\r\n * @return {fileName} \u8981\u5199\u5165\u6587\u4EF6\u5730\u5740\r\n */\r\nexport function wirteMd(data: string, filePath: string) {\r\n const file = path.resolve(rootPath, filePath)\r\n // \u5F02\u6B65\u5199\u5165\u6570\u636E\u5230\u6587\u4EF6\r\n fs.writeFile(file, data, { encoding: 'utf8' }, () => {\r\n logger.success('Write successful')\r\n })\r\n}\r\n\r\n/**\r\n * @description: Get statistics \u5F97\u5230\u7EDF\u8BA1\r\n * @param {Array} nodes\r\n * @return {*}\r\n */\r\nfunction getCountMd(datas: ItemType[]) {\r\n let rowTotleNumber = 0\r\n let sizeTotleNumber = 0\r\n const coutObj: { [key: string]: number } = {}\r\n function getDeatle(nodes: ItemType[]) {\r\n nodes.forEach((obj: ItemType) => {\r\n if (obj.children) getDeatle(obj.children)\r\n else if (obj.suffix && obj.rowSize && obj.size) {\r\n if (!coutObj.hasOwnProperty(obj.suffix)) coutObj[obj.suffix] = 0\r\n coutObj[obj.suffix]++\r\n rowTotleNumber += obj.rowSize\r\n sizeTotleNumber += obj.size\r\n }\r\n })\r\n }\r\n getDeatle(datas)\r\n return {\r\n rowTotleNumber,\r\n sizeTotleNumber,\r\n coutObj\r\n }\r\n}\r\n\r\n/**\r\n * @description:Thousands format \u5343\u5206\u4F4D\u683C\u5F0F\u5316\r\n * @param {num} To format a number \u8981\u683C\u5F0F\u5316\u6570\u5B57\r\n * @return {string}\r\n */\r\nfunction format(num: number) {\r\n var reg = /\\d{1,3}(?=(\\d{3})+$)/g\r\n return (num + '').replace(reg, '$&,')\r\n}\r\n\r\n/**\r\n * @description: Generate statistics MD \u751F\u6210\u7EDF\u8BA1md\r\n * @param {object} option\r\n * @return {*}\r\n */\r\nfunction setCountMd(obj: secoutType) {\r\n const { rowTotleNumber, sizeTotleNumber, coutObj } = obj\r\n let countMd = ''\r\n let totle = 0\r\n for (const key in coutObj) {\r\n const ele = coutObj[key]\r\n totle += ele\r\n countMd += `The suffix is ${key} has ${ele} files\\n`\r\n }\r\n countMd += `The totle has ${totle} files\\n`\r\n let md = `Total number of file lines: ${format(rowTotleNumber)},\r\nTotal number of codes: ${format(sizeTotleNumber)} \\n`\r\n md = countMd + md\r\n return md\r\n}\r\n/**\r\n * @description: Generate MD \u751F\u6210md\r\n * @param {object} option\r\n * @return {*}\r\n */\r\nexport function getMd(\r\n option?: { ignore: string[] | undefined; include: string[] | undefined } | undefined\r\n) {\r\n logger.success('*** run location: '+process.cwd() + '\\n')\r\n const nodes = getFileNodes(rootPath,option)\r\n const countMdObj = getCountMd(nodes)\r\n const coutMd = setCountMd(countMdObj)\r\n logger.success(coutMd)\r\n const note = getNote(nodes) // \u5F97\u5230\u6240\u6709note\u7684\u6570\u7EC4\r\n const md = note.join('') + '\\n' // \u6570\u7EC4\u8F6C\u5B57\u7B26\u4E32\r\n if (md.length > 0) {\r\n logger.success('*** Automatic generation completed !')\r\n }\r\n return { md: md + coutMd, nodes }\r\n}\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agmd",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "auto generate markdown for node, Classification of engineering documents, Absolute path to relative path",
5
5
  "keywords": [
6
6
  "node",