agmd 0.3.7 → 0.3.8
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/README.md +34 -20
- package/bin/bin.js +81 -77
- package/bin/bin.js.map +4 -4
- package/lib/commands/change-path.d.ts +3 -3
- package/lib/commands/get-file.d.ts +1 -1
- package/lib/index.cjs.js +29 -17
- package/lib/index.cjs.js.map +3 -3
- package/lib/index.esm.js +29 -17
- package/lib/index.esm.js.map +3 -3
- package/package.json +3 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ItemType } from './get-file';
|
|
2
|
-
export declare function changePath(nodes: ItemType[]): Promise<void>;
|
|
2
|
+
export declare function changePath(nodes: ItemType[], nochangePath?: Boolean): Promise<void>;
|
|
3
3
|
export declare function getRelatPath(absoluteImport: string, fullPath: string): string;
|
|
4
4
|
export declare function makeSuffix(filePath: string, fullPath: string): string;
|
|
5
5
|
export declare function getImportName(ele: string): string;
|
|
6
|
-
export declare function changeImport(ele: string, fullPath: string): {
|
|
6
|
+
export declare function changeImport(ele: string, fullPath: string, nochangePath?: Boolean): {
|
|
7
7
|
impName: string;
|
|
8
8
|
filePath: string;
|
|
9
9
|
absoluteImport: string;
|
|
10
10
|
};
|
|
11
|
-
export declare function witeFile(node: ItemType, isRelative?: Boolean): void;
|
|
11
|
+
export declare function witeFile(node: ItemType, isRelative?: Boolean, nochangePath?: Boolean): void;
|
|
12
12
|
export declare function wirteJsNodes(data: string, filePath: string): void;
|
|
@@ -5,7 +5,7 @@ export declare function getFile(fullPath: string): {
|
|
|
5
5
|
imports: string[];
|
|
6
6
|
};
|
|
7
7
|
export declare function getImport(sarr: any[], fullPath: string): string[];
|
|
8
|
-
export
|
|
8
|
+
export type ItemType = {
|
|
9
9
|
name: string;
|
|
10
10
|
copyed?: boolean;
|
|
11
11
|
isDir: boolean;
|
package/lib/index.cjs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* agmd v0.3.
|
|
2
|
+
* agmd v0.3.8
|
|
3
3
|
* author:kakajun <253495832@qq.com>
|
|
4
|
-
* Tue
|
|
4
|
+
* Tue Jun 20 2023 22:38:30 GMT+0800 (中国标准时间)
|
|
5
5
|
*/
|
|
6
6
|
"use strict";
|
|
7
7
|
var __create = Object.create;
|
|
@@ -872,15 +872,15 @@ var import_debug2 = __toESM(require_src());
|
|
|
872
872
|
var import_fs = __toESM(require("fs"));
|
|
873
873
|
var import_path = __toESM(require("path"));
|
|
874
874
|
|
|
875
|
-
// node_modules/_kolorist@1.
|
|
875
|
+
// node_modules/_kolorist@1.8.0@kolorist/dist/esm/index.mjs
|
|
876
876
|
var enabled = true;
|
|
877
877
|
var globalVar = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
|
|
878
878
|
var supportLevel = 0;
|
|
879
879
|
if (globalVar.process && globalVar.process.env && globalVar.process.stdout) {
|
|
880
|
-
const { FORCE_COLOR, NODE_DISABLE_COLORS, TERM } = globalVar.process.env;
|
|
881
|
-
if (NODE_DISABLE_COLORS || FORCE_COLOR === "0") {
|
|
880
|
+
const { FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, COLORTERM } = globalVar.process.env;
|
|
881
|
+
if (NODE_DISABLE_COLORS || NO_COLOR || FORCE_COLOR === "0") {
|
|
882
882
|
enabled = false;
|
|
883
|
-
} else if (FORCE_COLOR === "1") {
|
|
883
|
+
} else if (FORCE_COLOR === "1" || FORCE_COLOR === "2" || FORCE_COLOR === "3") {
|
|
884
884
|
enabled = true;
|
|
885
885
|
} else if (TERM === "dumb") {
|
|
886
886
|
enabled = false;
|
|
@@ -898,7 +898,17 @@ if (globalVar.process && globalVar.process.env && globalVar.process.stdout) {
|
|
|
898
898
|
enabled = process.stdout.isTTY;
|
|
899
899
|
}
|
|
900
900
|
if (enabled) {
|
|
901
|
-
|
|
901
|
+
if (process.platform === "win32") {
|
|
902
|
+
supportLevel = 3;
|
|
903
|
+
} else {
|
|
904
|
+
if (COLORTERM && (COLORTERM === "truecolor" || COLORTERM === "24bit")) {
|
|
905
|
+
supportLevel = 3;
|
|
906
|
+
} else if (TERM && (TERM.endsWith("-256color") || TERM.endsWith("256"))) {
|
|
907
|
+
supportLevel = 2;
|
|
908
|
+
} else {
|
|
909
|
+
supportLevel = 1;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
902
912
|
}
|
|
903
913
|
}
|
|
904
914
|
var options = {
|
|
@@ -1030,7 +1040,7 @@ function getImportName(ele) {
|
|
|
1030
1040
|
}
|
|
1031
1041
|
return str;
|
|
1032
1042
|
}
|
|
1033
|
-
function changeImport(ele, fullPath) {
|
|
1043
|
+
function changeImport(ele, fullPath, nochangePath) {
|
|
1034
1044
|
let obj = {
|
|
1035
1045
|
impName: "",
|
|
1036
1046
|
filePath: "",
|
|
@@ -1042,8 +1052,10 @@ function changeImport(ele, fullPath) {
|
|
|
1042
1052
|
debug("!!!!!!!!!\u5339\u914Dimp: ", impName);
|
|
1043
1053
|
obj.absoluteImport = makeSuffix(obj.filePath, fullPath);
|
|
1044
1054
|
debug("\u8865\u8FC7\u540E", obj.absoluteImport);
|
|
1045
|
-
|
|
1046
|
-
|
|
1055
|
+
if (!nochangePath) {
|
|
1056
|
+
obj.impName = getRelatPath(obj.absoluteImport, fullPath);
|
|
1057
|
+
debug("\u76F8\u5BF9\u8DEF\u5F84: ", obj.impName);
|
|
1058
|
+
}
|
|
1047
1059
|
}
|
|
1048
1060
|
return obj;
|
|
1049
1061
|
}
|
|
@@ -1209,24 +1221,24 @@ function format(num) {
|
|
|
1209
1221
|
}
|
|
1210
1222
|
function setCountMd(obj) {
|
|
1211
1223
|
const { rowTotleNumber, sizeTotleNumber, coutObj } = obj;
|
|
1212
|
-
let countMd = "";
|
|
1224
|
+
let countMd = "\u{1F60D} \u4EE3\u7801\u603B\u6570\u7EDF\u8BA1\uFF1A\n";
|
|
1213
1225
|
let totle = 0;
|
|
1214
1226
|
for (const key in coutObj) {
|
|
1215
1227
|
const ele = coutObj[key];
|
|
1216
1228
|
totle += ele;
|
|
1217
|
-
countMd +=
|
|
1229
|
+
countMd += `\u540E\u7F00\u662F ${key} \u7684\u6587\u4EF6\u6709 ${ele} \u4E2A
|
|
1218
1230
|
`;
|
|
1219
1231
|
}
|
|
1220
|
-
countMd +=
|
|
1232
|
+
countMd += `\u603B\u5171\u6709 ${totle} \u4E2A\u6587\u4EF6
|
|
1221
1233
|
`;
|
|
1222
|
-
let md =
|
|
1223
|
-
|
|
1234
|
+
let md = `\u603B\u4EE3\u7801\u884C\u6570\u6709: ${format(rowTotleNumber)}\u884C,
|
|
1235
|
+
\u603B\u4EE3\u7801\u5B57\u6570\u6709: ${format(sizeTotleNumber)}\u4E2A
|
|
1224
1236
|
`;
|
|
1225
1237
|
md = countMd + md;
|
|
1226
1238
|
return md;
|
|
1227
1239
|
}
|
|
1228
1240
|
function getMd(option) {
|
|
1229
|
-
logger_default.success("
|
|
1241
|
+
logger_default.success("\u{1F449} \u547D\u4EE4\u8FD0\u884C\u4F4D\u7F6E: " + process.cwd() + "\n");
|
|
1230
1242
|
const nodes = getFileNodes(rootPath, option);
|
|
1231
1243
|
const countMdObj = getCountMd(nodes);
|
|
1232
1244
|
const coutMd = setCountMd(countMdObj);
|
|
@@ -1234,7 +1246,7 @@ function getMd(option) {
|
|
|
1234
1246
|
const note = getNote(nodes);
|
|
1235
1247
|
const md = note.join("") + "\n";
|
|
1236
1248
|
if (md.length > 0) {
|
|
1237
|
-
logger_default.success("
|
|
1249
|
+
logger_default.success("\u{1F004}\uFE0F \u751F\u6210MarkDown\u5B8C\u6BD5 !");
|
|
1238
1250
|
}
|
|
1239
1251
|
return { md: md + coutMd, nodes };
|
|
1240
1252
|
}
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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.
|
|
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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",
|
|
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.8.0@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[], nochangePath?: Boolean) {\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, nochangePath)\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, nochangePath?: Boolean) {\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 if (!nochangePath) {\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 }\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, nochangePath?: 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, nochangePath)\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 = '\uD83D\uDE0D \u4EE3\u7801\u603B\u6570\u7EDF\u8BA1\uFF1A\\n'\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 += `\u540E\u7F00\u662F ${key} \u7684\u6587\u4EF6\u6709 ${ele} \u4E2A\\n`\r\n }\r\n countMd += `\u603B\u5171\u6709 ${totle} \u4E2A\u6587\u4EF6\\n`\r\n let md = `\u603B\u4EE3\u7801\u884C\u6570\u6709: ${format(rowTotleNumber)}\u884C,\r\n\u603B\u4EE3\u7801\u5B57\u6570\u6709: ${format(sizeTotleNumber)}\u4E2A\\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(option?: { ignore: string[] | undefined; include: string[] | undefined } | undefined) {\r\n logger.success('\uD83D\uDC49 \u547D\u4EE4\u8FD0\u884C\u4F4D\u7F6E: ' + 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('\uD83C\uDC04\uFE0F \u751F\u6210MarkDown\u5B8C\u6BD5 !')\r\n }\r\n return { md: md + coutMd, nodes }\r\n}\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["module", "options", "module", "env", "enabled", "debug", "self", "format", "module", "module", "module", "env", "options", "module", "useColors", "debug", "module", "module", "env", "module", "module", "env", "module", "import_fs", "import_path", "import_debug", "createDebugger", "path", "fs", "debug", "createDebugger", "fs", "path", "import_debug", "debug", "createDebugger"]
|
|
7
7
|
}
|
package/lib/index.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* agmd v0.3.
|
|
2
|
+
* agmd v0.3.8
|
|
3
3
|
* author:kakajun <253495832@qq.com>
|
|
4
|
-
* Tue
|
|
4
|
+
* Tue Jun 20 2023 22:38:30 GMT+0800 (中国标准时间)
|
|
5
5
|
*/
|
|
6
6
|
var __create = Object.create;
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
@@ -865,15 +865,15 @@ import path2 from "path";
|
|
|
865
865
|
import fs from "fs";
|
|
866
866
|
import path from "path";
|
|
867
867
|
|
|
868
|
-
// node_modules/_kolorist@1.
|
|
868
|
+
// node_modules/_kolorist@1.8.0@kolorist/dist/esm/index.mjs
|
|
869
869
|
var enabled = true;
|
|
870
870
|
var globalVar = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
|
|
871
871
|
var supportLevel = 0;
|
|
872
872
|
if (globalVar.process && globalVar.process.env && globalVar.process.stdout) {
|
|
873
|
-
const { FORCE_COLOR, NODE_DISABLE_COLORS, TERM } = globalVar.process.env;
|
|
874
|
-
if (NODE_DISABLE_COLORS || FORCE_COLOR === "0") {
|
|
873
|
+
const { FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, COLORTERM } = globalVar.process.env;
|
|
874
|
+
if (NODE_DISABLE_COLORS || NO_COLOR || FORCE_COLOR === "0") {
|
|
875
875
|
enabled = false;
|
|
876
|
-
} else if (FORCE_COLOR === "1") {
|
|
876
|
+
} else if (FORCE_COLOR === "1" || FORCE_COLOR === "2" || FORCE_COLOR === "3") {
|
|
877
877
|
enabled = true;
|
|
878
878
|
} else if (TERM === "dumb") {
|
|
879
879
|
enabled = false;
|
|
@@ -891,7 +891,17 @@ if (globalVar.process && globalVar.process.env && globalVar.process.stdout) {
|
|
|
891
891
|
enabled = process.stdout.isTTY;
|
|
892
892
|
}
|
|
893
893
|
if (enabled) {
|
|
894
|
-
|
|
894
|
+
if (process.platform === "win32") {
|
|
895
|
+
supportLevel = 3;
|
|
896
|
+
} else {
|
|
897
|
+
if (COLORTERM && (COLORTERM === "truecolor" || COLORTERM === "24bit")) {
|
|
898
|
+
supportLevel = 3;
|
|
899
|
+
} else if (TERM && (TERM.endsWith("-256color") || TERM.endsWith("256"))) {
|
|
900
|
+
supportLevel = 2;
|
|
901
|
+
} else {
|
|
902
|
+
supportLevel = 1;
|
|
903
|
+
}
|
|
904
|
+
}
|
|
895
905
|
}
|
|
896
906
|
}
|
|
897
907
|
var options = {
|
|
@@ -1023,7 +1033,7 @@ function getImportName(ele) {
|
|
|
1023
1033
|
}
|
|
1024
1034
|
return str;
|
|
1025
1035
|
}
|
|
1026
|
-
function changeImport(ele, fullPath) {
|
|
1036
|
+
function changeImport(ele, fullPath, nochangePath) {
|
|
1027
1037
|
let obj = {
|
|
1028
1038
|
impName: "",
|
|
1029
1039
|
filePath: "",
|
|
@@ -1035,8 +1045,10 @@ function changeImport(ele, fullPath) {
|
|
|
1035
1045
|
debug("!!!!!!!!!\u5339\u914Dimp: ", impName);
|
|
1036
1046
|
obj.absoluteImport = makeSuffix(obj.filePath, fullPath);
|
|
1037
1047
|
debug("\u8865\u8FC7\u540E", obj.absoluteImport);
|
|
1038
|
-
|
|
1039
|
-
|
|
1048
|
+
if (!nochangePath) {
|
|
1049
|
+
obj.impName = getRelatPath(obj.absoluteImport, fullPath);
|
|
1050
|
+
debug("\u76F8\u5BF9\u8DEF\u5F84: ", obj.impName);
|
|
1051
|
+
}
|
|
1040
1052
|
}
|
|
1041
1053
|
return obj;
|
|
1042
1054
|
}
|
|
@@ -1202,24 +1214,24 @@ function format(num) {
|
|
|
1202
1214
|
}
|
|
1203
1215
|
function setCountMd(obj) {
|
|
1204
1216
|
const { rowTotleNumber, sizeTotleNumber, coutObj } = obj;
|
|
1205
|
-
let countMd = "";
|
|
1217
|
+
let countMd = "\u{1F60D} \u4EE3\u7801\u603B\u6570\u7EDF\u8BA1\uFF1A\n";
|
|
1206
1218
|
let totle = 0;
|
|
1207
1219
|
for (const key in coutObj) {
|
|
1208
1220
|
const ele = coutObj[key];
|
|
1209
1221
|
totle += ele;
|
|
1210
|
-
countMd +=
|
|
1222
|
+
countMd += `\u540E\u7F00\u662F ${key} \u7684\u6587\u4EF6\u6709 ${ele} \u4E2A
|
|
1211
1223
|
`;
|
|
1212
1224
|
}
|
|
1213
|
-
countMd +=
|
|
1225
|
+
countMd += `\u603B\u5171\u6709 ${totle} \u4E2A\u6587\u4EF6
|
|
1214
1226
|
`;
|
|
1215
|
-
let md =
|
|
1216
|
-
|
|
1227
|
+
let md = `\u603B\u4EE3\u7801\u884C\u6570\u6709: ${format(rowTotleNumber)}\u884C,
|
|
1228
|
+
\u603B\u4EE3\u7801\u5B57\u6570\u6709: ${format(sizeTotleNumber)}\u4E2A
|
|
1217
1229
|
`;
|
|
1218
1230
|
md = countMd + md;
|
|
1219
1231
|
return md;
|
|
1220
1232
|
}
|
|
1221
1233
|
function getMd(option) {
|
|
1222
|
-
logger_default.success("
|
|
1234
|
+
logger_default.success("\u{1F449} \u547D\u4EE4\u8FD0\u884C\u4F4D\u7F6E: " + process.cwd() + "\n");
|
|
1223
1235
|
const nodes = getFileNodes(rootPath, option);
|
|
1224
1236
|
const countMdObj = getCountMd(nodes);
|
|
1225
1237
|
const coutMd = setCountMd(countMdObj);
|
|
@@ -1227,7 +1239,7 @@ function getMd(option) {
|
|
|
1227
1239
|
const note = getNote(nodes);
|
|
1228
1240
|
const md = note.join("") + "\n";
|
|
1229
1241
|
if (md.length > 0) {
|
|
1230
|
-
logger_default.success("
|
|
1242
|
+
logger_default.success("\u{1F004}\uFE0F \u751F\u6210MarkDown\u5B8C\u6BD5 !");
|
|
1231
1243
|
}
|
|
1232
1244
|
return { md: md + coutMd, nodes };
|
|
1233
1245
|
}
|