agmd 0.3.3 → 0.3.5-beta1

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.cjs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * agmd v0.3.2
2
+ * agmd v0.3.4
3
3
  * author:kakajun <253495832@qq.com>
4
- * Thu Apr 28 2022 22:42:06 GMT+0800 (中国标准时间)
4
+ * Fri May 06 2022 09:01:26 GMT+0800 (中国标准时间)
5
5
  */
6
6
  var __create = Object.create;
7
7
  var __defProp = Object.defineProperty;
@@ -27,9 +27,9 @@ var __copyProps = (to, from, except, desc) => {
27
27
  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));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // node_modules/ms/index.js
31
- var require_ms = __commonJS({
32
- "node_modules/ms/index.js"(exports, module2) {
30
+ // node_modules/_ms@2.1.2@ms/index.js
31
+ var require_ms_2_1 = __commonJS({
32
+ "node_modules/_ms@2.1.2@ms/index.js"(exports, module2) {
33
33
  var s = 1e3;
34
34
  var m = s * 60;
35
35
  var h = m * 60;
@@ -139,9 +139,9 @@ var require_ms = __commonJS({
139
139
  }
140
140
  });
141
141
 
142
- // node_modules/debug/src/common.js
142
+ // node_modules/_debug@4.3.4@debug/src/common.js
143
143
  var require_common = __commonJS({
144
- "node_modules/debug/src/common.js"(exports, module2) {
144
+ "node_modules/_debug@4.3.4@debug/src/common.js"(exports, module2) {
145
145
  function setup(env2) {
146
146
  createDebug.debug = createDebug;
147
147
  createDebug.default = createDebug;
@@ -149,7 +149,7 @@ var require_common = __commonJS({
149
149
  createDebug.disable = disable;
150
150
  createDebug.enable = enable;
151
151
  createDebug.enabled = enabled2;
152
- createDebug.humanize = require_ms();
152
+ createDebug.humanize = require_ms_2_1();
153
153
  createDebug.destroy = destroy;
154
154
  Object.keys(env2).forEach((key) => {
155
155
  createDebug[key] = env2[key];
@@ -302,9 +302,9 @@ var require_common = __commonJS({
302
302
  }
303
303
  });
304
304
 
305
- // node_modules/debug/src/browser.js
305
+ // node_modules/_debug@4.3.4@debug/src/browser.js
306
306
  var require_browser = __commonJS({
307
- "node_modules/debug/src/browser.js"(exports, module2) {
307
+ "node_modules/_debug@4.3.4@debug/src/browser.js"(exports, module2) {
308
308
  exports.formatArgs = formatArgs;
309
309
  exports.save = save;
310
310
  exports.load = load;
@@ -467,9 +467,9 @@ var require_browser = __commonJS({
467
467
  }
468
468
  });
469
469
 
470
- // node_modules/has-flag/index.js
471
- var require_has_flag = __commonJS({
472
- "node_modules/has-flag/index.js"(exports, module2) {
470
+ // node_modules/_has-flag@4.0.0@has-flag/index.js
471
+ var require_has_flag_4_0 = __commonJS({
472
+ "node_modules/_has-flag@4.0.0@has-flag/index.js"(exports, module2) {
473
473
  "use strict";
474
474
  module2.exports = (flag, argv = process.argv) => {
475
475
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
@@ -480,27 +480,29 @@ var require_has_flag = __commonJS({
480
480
  }
481
481
  });
482
482
 
483
- // node_modules/supports-color/index.js
484
- var require_supports_color = __commonJS({
485
- "node_modules/supports-color/index.js"(exports, module2) {
483
+ // node_modules/_supports-color@8.1.1@supports-color/index.js
484
+ var require_supports_color_8_1 = __commonJS({
485
+ "node_modules/_supports-color@8.1.1@supports-color/index.js"(exports, module2) {
486
486
  "use strict";
487
487
  var os = require("os");
488
488
  var tty = require("tty");
489
- var hasFlag = require_has_flag();
489
+ var hasFlag = require_has_flag_4_0();
490
490
  var { env: env2 } = process;
491
- var forceColor;
491
+ var flagForceColor;
492
492
  if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
493
- forceColor = 0;
493
+ flagForceColor = 0;
494
494
  } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
495
- forceColor = 1;
495
+ flagForceColor = 1;
496
496
  }
497
- if ("FORCE_COLOR" in env2) {
498
- if (env2.FORCE_COLOR === "true") {
499
- forceColor = 1;
500
- } else if (env2.FORCE_COLOR === "false") {
501
- forceColor = 0;
502
- } else {
503
- forceColor = env2.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env2.FORCE_COLOR, 10), 3);
497
+ function envForceColor() {
498
+ if ("FORCE_COLOR" in env2) {
499
+ if (env2.FORCE_COLOR === "true") {
500
+ return 1;
501
+ }
502
+ if (env2.FORCE_COLOR === "false") {
503
+ return 0;
504
+ }
505
+ return env2.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env2.FORCE_COLOR, 10), 3);
504
506
  }
505
507
  }
506
508
  function translateLevel(level) {
@@ -514,15 +516,22 @@ var require_supports_color = __commonJS({
514
516
  has16m: level >= 3
515
517
  };
516
518
  }
517
- function supportsColor(haveStream, streamIsTTY) {
519
+ function supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
520
+ const noFlagForceColor = envForceColor();
521
+ if (noFlagForceColor !== void 0) {
522
+ flagForceColor = noFlagForceColor;
523
+ }
524
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
518
525
  if (forceColor === 0) {
519
526
  return 0;
520
527
  }
521
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
522
- return 3;
523
- }
524
- if (hasFlag("color=256")) {
525
- return 2;
528
+ if (sniffFlags) {
529
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
530
+ return 3;
531
+ }
532
+ if (hasFlag("color=256")) {
533
+ return 2;
534
+ }
526
535
  }
527
536
  if (haveStream && !streamIsTTY && forceColor === void 0) {
528
537
  return 0;
@@ -539,7 +548,7 @@ var require_supports_color = __commonJS({
539
548
  return 1;
540
549
  }
541
550
  if ("CI" in env2) {
542
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
551
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
543
552
  return 1;
544
553
  }
545
554
  return min;
@@ -551,7 +560,7 @@ var require_supports_color = __commonJS({
551
560
  return 3;
552
561
  }
553
562
  if ("TERM_PROGRAM" in env2) {
554
- const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
563
+ const version = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
555
564
  switch (env2.TERM_PROGRAM) {
556
565
  case "iTerm.app":
557
566
  return version >= 3 ? 3 : 2;
@@ -570,21 +579,24 @@ var require_supports_color = __commonJS({
570
579
  }
571
580
  return min;
572
581
  }
573
- function getSupportLevel(stream) {
574
- const level = supportsColor(stream, stream && stream.isTTY);
582
+ function getSupportLevel(stream, options2 = {}) {
583
+ const level = supportsColor(stream, {
584
+ streamIsTTY: stream && stream.isTTY,
585
+ ...options2
586
+ });
575
587
  return translateLevel(level);
576
588
  }
577
589
  module2.exports = {
578
590
  supportsColor: getSupportLevel,
579
- stdout: translateLevel(supportsColor(true, tty.isatty(1))),
580
- stderr: translateLevel(supportsColor(true, tty.isatty(2)))
591
+ stdout: getSupportLevel({ isTTY: tty.isatty(1) }),
592
+ stderr: getSupportLevel({ isTTY: tty.isatty(2) })
581
593
  };
582
594
  }
583
595
  });
584
596
 
585
- // node_modules/debug/src/node.js
597
+ // node_modules/_debug@4.3.4@debug/src/node.js
586
598
  var require_node = __commonJS({
587
- "node_modules/debug/src/node.js"(exports, module2) {
599
+ "node_modules/_debug@4.3.4@debug/src/node.js"(exports, module2) {
588
600
  var tty = require("tty");
589
601
  var util = require("util");
590
602
  exports.init = init;
@@ -597,7 +609,7 @@ var require_node = __commonJS({
597
609
  }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
598
610
  exports.colors = [6, 2, 3, 4, 5, 1];
599
611
  try {
600
- const supportsColor = require_supports_color();
612
+ const supportsColor = require_supports_color_8_1();
601
613
  if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
602
614
  exports.colors = [
603
615
  20,
@@ -753,9 +765,9 @@ var require_node = __commonJS({
753
765
  }
754
766
  });
755
767
 
756
- // node_modules/debug/src/index.js
768
+ // node_modules/_debug@4.3.4@debug/src/index.js
757
769
  var require_src = __commonJS({
758
- "node_modules/debug/src/index.js"(exports, module2) {
770
+ "node_modules/_debug@4.3.4@debug/src/index.js"(exports, module2) {
759
771
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
760
772
  module2.exports = require_browser();
761
773
  } else {
@@ -849,7 +861,7 @@ var import_debug2 = __toESM(require_src());
849
861
  var import_fs = __toESM(require("fs"));
850
862
  var import_path = __toESM(require("path"));
851
863
 
852
- // node_modules/kolorist/dist/esm/index.mjs
864
+ // node_modules/_kolorist@1.5.1@kolorist/dist/esm/index.mjs
853
865
  var enabled = true;
854
866
  var globalVar = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
855
867
  var supportLevel = 0;
@@ -1038,7 +1050,7 @@ function getFile(fullPath) {
1038
1050
  const imports = getImport(sarr, fullPath);
1039
1051
  const f = sarr[0].indexOf("eslint") === -1 && (sarr[0].indexOf("-->") > -1 || sarr[0].indexOf("*/") > -1 || sarr[0].indexOf("//") > -1) ? sarr[0] : "";
1040
1052
  return {
1041
- note: f,
1053
+ note: f.replace(/<\/?[^>]*>|(\n|\r)/g, ""),
1042
1054
  size,
1043
1055
  rowSize,
1044
1056
  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/index.ts", "../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", "/* \u8FD9\u91CC\u629B\u51FA\u4E00\u4E9B\u9AD8\u7EA7\u64CD\u4F5C\u65B9\u6CD5 */\r\nimport { getMd } from './commands/wirte-md'\r\nimport { getFileNodes } from './commands/get-file'\r\nexport { getMd, getFileNodes }\r\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/index.ts", "../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", "/* \u8FD9\u91CC\u629B\u51FA\u4E00\u4E9B\u9AD8\u7EA7\u64CD\u4F5C\u65B9\u6CD5 */\r\nimport { getMd } from './commands/wirte-md'\r\nimport { getFileNodes } from './commands/get-file'\r\nexport { getMd, getFileNodes }\r\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
  }