agmd 0.4.0 → 1.0.1
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/AGENTS.md +215 -0
- package/README.EN.md +106 -9
- package/README.md +374 -225
- package/agmd.js +55 -0
- package/bin/agmd-linux-arm64 +0 -0
- package/bin/agmd-linux-x64 +0 -0
- package/bin/agmd-windows-x64.exe +0 -0
- package/install.js +59 -0
- package/package.json +46 -91
- package/es6/package.json +0 -91
- package/es6/script/cli/handle.js +0 -26
- package/es6/script/cli/handle.js.map +0 -1
- package/es6/script/cli/index.js +0 -29
- package/es6/script/cli/index.js.map +0 -1
- package/es6/script/help/index.js +0 -23
- package/es6/script/help/index.js.map +0 -1
- package/es6/src/bin.js +0 -8
- package/es6/src/bin.js.map +0 -1
- package/es6/src/commands/agmd.js +0 -24
- package/es6/src/commands/agmd.js.map +0 -1
- package/es6/src/commands/change-path.js +0 -141
- package/es6/src/commands/change-path.js.map +0 -1
- package/es6/src/commands/command-actions.js +0 -114
- package/es6/src/commands/command-actions.js.map +0 -1
- package/es6/src/commands/command-handler.js +0 -132
- package/es6/src/commands/command-handler.js.map +0 -1
- package/es6/src/commands/get-file.js +0 -162
- package/es6/src/commands/get-file.js.map +0 -1
- package/es6/src/commands/get-router.js +0 -108
- package/es6/src/commands/get-router.js.map +0 -1
- package/es6/src/commands/mark-file.js +0 -148
- package/es6/src/commands/mark-file.js.map +0 -1
- package/es6/src/commands/mark-write-file.js +0 -58
- package/es6/src/commands/mark-write-file.js.map +0 -1
- package/es6/src/commands/rename-path.js +0 -252
- package/es6/src/commands/rename-path.js.map +0 -1
- package/es6/src/commands/wirte-md.js +0 -120
- package/es6/src/commands/wirte-md.js.map +0 -1
- package/es6/src/index.js +0 -4
- package/es6/src/index.js.map +0 -1
- package/es6/src/shared/constant.js +0 -16
- package/es6/src/shared/constant.js.map +0 -1
- package/es6/src/types.js +0 -2
- package/es6/src/types.js.map +0 -1
- package/es6/src/utils/router-utils.js +0 -37
- package/es6/src/utils/router-utils.js.map +0 -1
- package/lib/package.json +0 -91
- package/lib/script/cli/handle.js +0 -31
- package/lib/script/cli/handle.js.map +0 -1
- package/lib/script/cli/index.js +0 -34
- package/lib/script/cli/index.js.map +0 -1
- package/lib/script/help/index.js +0 -25
- package/lib/script/help/index.js.map +0 -1
- package/lib/src/bin.js +0 -10
- package/lib/src/bin.js.map +0 -1
- package/lib/src/commands/agmd.js +0 -29
- package/lib/src/commands/agmd.js.map +0 -1
- package/lib/src/commands/change-path.js +0 -153
- package/lib/src/commands/change-path.js.map +0 -1
- package/lib/src/commands/command-actions.js +0 -131
- package/lib/src/commands/command-actions.js.map +0 -1
- package/lib/src/commands/command-handler.js +0 -139
- package/lib/src/commands/command-handler.js.map +0 -1
- package/lib/src/commands/get-file.js +0 -172
- package/lib/src/commands/get-file.js.map +0 -1
- package/lib/src/commands/get-router.js +0 -150
- package/lib/src/commands/get-router.js.map +0 -1
- package/lib/src/commands/mark-file.js +0 -160
- package/lib/src/commands/mark-file.js.map +0 -1
- package/lib/src/commands/mark-write-file.js +0 -65
- package/lib/src/commands/mark-write-file.js.map +0 -1
- package/lib/src/commands/rename-path.js +0 -270
- package/lib/src/commands/rename-path.js.map +0 -1
- package/lib/src/commands/wirte-md.js +0 -130
- package/lib/src/commands/wirte-md.js.map +0 -1
- package/lib/src/index.js +0 -8
- package/lib/src/index.js.map +0 -1
- package/lib/src/shared/constant.js +0 -22
- package/lib/src/shared/constant.js.map +0 -1
- package/lib/src/types.js +0 -3
- package/lib/src/types.js.map +0 -1
- package/lib/src/utils/router-utils.js +0 -42
- package/lib/src/utils/router-utils.js.map +0 -1
|
Binary file
|
|
Binary file
|
package/install.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const os = require('os');
|
|
4
|
+
|
|
5
|
+
function getBinaryName() {
|
|
6
|
+
const platform = os.platform();
|
|
7
|
+
const arch = os.arch();
|
|
8
|
+
|
|
9
|
+
const platformMap = {
|
|
10
|
+
win32: 'windows',
|
|
11
|
+
darwin: 'macos',
|
|
12
|
+
linux: 'linux',
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const archMap = {
|
|
16
|
+
x64: 'x64',
|
|
17
|
+
arm64: 'arm64',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const p = platformMap[platform];
|
|
21
|
+
const a = archMap[arch];
|
|
22
|
+
|
|
23
|
+
if (!p || !a) {
|
|
24
|
+
console.error(`Unsupported platform: ${platform} ${arch}`);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const ext = platform === 'win32' ? '.exe' : '';
|
|
29
|
+
return `agmd-${p}-${a}${ext}`;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function main() {
|
|
33
|
+
const binaryName = getBinaryName();
|
|
34
|
+
const binDir = path.join(__dirname, 'bin');
|
|
35
|
+
const sourcePath = path.join(binDir, binaryName);
|
|
36
|
+
|
|
37
|
+
if (!fs.existsSync(sourcePath)) {
|
|
38
|
+
console.error(`Binary not found for your platform: ${binaryName}`);
|
|
39
|
+
console.error('Supported platforms: Linux x64/ARM64, macOS x64/ARM64, Windows x64');
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const targetName = os.platform() === 'win32' ? 'agmd.exe' : 'agmd';
|
|
44
|
+
const targetPath = path.join(binDir, targetName);
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
if (fs.existsSync(targetPath)) {
|
|
48
|
+
fs.unlinkSync(targetPath);
|
|
49
|
+
}
|
|
50
|
+
fs.copyFileSync(sourcePath, targetPath);
|
|
51
|
+
fs.chmodSync(targetPath, 0o755);
|
|
52
|
+
console.log(`agmd installed: ${binaryName}`);
|
|
53
|
+
} catch (err) {
|
|
54
|
+
console.error('Failed to setup binary:', err.message);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
main();
|
package/package.json
CHANGED
|
@@ -1,91 +1,46 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "agmd",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Automatically generate a directory structure for any file or folder, create Markdown documentation for nodes, classify engineering documents, and convert absolute paths to relative paths.",
|
|
5
|
-
"keywords": [
|
|
6
|
-
|
|
7
|
-
"filesystem",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
},
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"dependencies":{
|
|
48
|
-
"consola": "^3.2.3",
|
|
49
|
-
"fs-extra": "^11.2.0",
|
|
50
|
-
"arg": "5.0.2",
|
|
51
|
-
"commander": "^11.1.0",
|
|
52
|
-
"node-environment": "^0.5.1",
|
|
53
|
-
"prompts": "^2.4.2",
|
|
54
|
-
"@types/prompts": "^2.4.9"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"@types/debug": "^4.1.12",
|
|
58
|
-
"@types/fs-extra": "^11.0.4",
|
|
59
|
-
"@types/jest": "^29.5.11",
|
|
60
|
-
"@types/node": "^20.11.10",
|
|
61
|
-
"eslint-plugin-import": "^2.29.1",
|
|
62
|
-
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
63
|
-
"@typescript-eslint/parser": "^6.19.1",
|
|
64
|
-
"eslint": "^8.56.0",
|
|
65
|
-
"eslint-config-prettier": "^9.1.0",
|
|
66
|
-
"husky": "^9.0.6",
|
|
67
|
-
"jest": "^29.7.0",
|
|
68
|
-
"lint-staged": "^15.2.0",
|
|
69
|
-
"nodemon": "^3.0.3",
|
|
70
|
-
"prettier": "^3.2.4",
|
|
71
|
-
"ts-jest": "^29.1.2",
|
|
72
|
-
"ts-node": "^10.9.2",
|
|
73
|
-
"typescript": "^5.3.3",
|
|
74
|
-
"ts-node-dev":"^2.0.0",
|
|
75
|
-
"memfs":"^4.9.2",
|
|
76
|
-
"raf-stub":"3.0.0"
|
|
77
|
-
},
|
|
78
|
-
"lint-staged": {
|
|
79
|
-
"*.{ts,tsx,js}": "prettier --write",
|
|
80
|
-
"*.{ts,tsx}": "eslint --fix"
|
|
81
|
-
},
|
|
82
|
-
"license": "MIT",
|
|
83
|
-
"bugs": {
|
|
84
|
-
"url": "https://github.com/kakajun/auto-generate-md/issues"
|
|
85
|
-
},
|
|
86
|
-
"homepage": "https://github.com/kakajun/auto-generate-md",
|
|
87
|
-
"files": [
|
|
88
|
-
"es6",
|
|
89
|
-
"lib"
|
|
90
|
-
]
|
|
91
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "agmd",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Automatically generate a directory structure for any file or folder, create Markdown documentation for nodes, classify engineering documents, and convert absolute paths to relative paths.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"fs",
|
|
7
|
+
"filesystem",
|
|
8
|
+
"file",
|
|
9
|
+
"file system",
|
|
10
|
+
"directory",
|
|
11
|
+
"auto",
|
|
12
|
+
"generate",
|
|
13
|
+
"relative path",
|
|
14
|
+
"md",
|
|
15
|
+
"classification",
|
|
16
|
+
"markdown",
|
|
17
|
+
"cli",
|
|
18
|
+
"rust"
|
|
19
|
+
],
|
|
20
|
+
"main": "agmd.js",
|
|
21
|
+
"bin": {
|
|
22
|
+
"agmd": "agmd.js"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "cargo build --release",
|
|
26
|
+
"test": "cargo test",
|
|
27
|
+
"release": "node release.js"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"agmd.js",
|
|
31
|
+
"install.js",
|
|
32
|
+
"bin/",
|
|
33
|
+
"package.json",
|
|
34
|
+
"AGENTS.md"
|
|
35
|
+
],
|
|
36
|
+
"author": "kakajun <253495832@qq.com>",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git@github.com:kakajun/auto-generate-md.git"
|
|
40
|
+
},
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/kakajun/auto-generate-md/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/kakajun/auto-generate-md"
|
|
46
|
+
}
|
package/es6/package.json
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "agmd",
|
|
3
|
-
"version": "0.4.0",
|
|
4
|
-
"description": "Automatically generate a directory structure for any file or folder, create Markdown documentation for nodes, classify engineering documents, and convert absolute paths to relative paths.",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"fs",
|
|
7
|
-
"filesystem",
|
|
8
|
-
"fs.js",
|
|
9
|
-
"memory-fs",
|
|
10
|
-
"file",
|
|
11
|
-
"file system",
|
|
12
|
-
"mount",
|
|
13
|
-
"memory",
|
|
14
|
-
"mock",
|
|
15
|
-
"in-memory",
|
|
16
|
-
"directory",
|
|
17
|
-
"auto",
|
|
18
|
-
"generate",
|
|
19
|
-
"relative path",
|
|
20
|
-
"md",
|
|
21
|
-
"classification",
|
|
22
|
-
"markdown"
|
|
23
|
-
],
|
|
24
|
-
"main": "lib/src/index.js",
|
|
25
|
-
"module": "es6/src/index.js",
|
|
26
|
-
"bin": {
|
|
27
|
-
"agmd": "lib/src/bin.js"
|
|
28
|
-
},
|
|
29
|
-
"scripts": {
|
|
30
|
-
"build": "tsc&&tsc --project tsconfig.es6.json",
|
|
31
|
-
"devtsc": "tsc --watch --noEmit --strict src/commands/agmd.ts",
|
|
32
|
-
"cli": "ts-node src/bin.ts",
|
|
33
|
-
"dev": "ts-node-dev src/commands/agmd.ts",
|
|
34
|
-
"agmd": "npx agmd --ignore lib,node_modules,dist --include .js,.ts,.vue",
|
|
35
|
-
"lint": "eslint --fix --ext .js,.ts ./src",
|
|
36
|
-
"prepare": "husky install",
|
|
37
|
-
"test": "jest",
|
|
38
|
-
"test:coverage": "jest --coverage",
|
|
39
|
-
"testdev": "jest --watch ",
|
|
40
|
-
"lint-fix": "eslint --fix --ext .js,.ts"
|
|
41
|
-
},
|
|
42
|
-
"author": "kakajun <253495832@qq.com>",
|
|
43
|
-
"repository": {
|
|
44
|
-
"type": "git",
|
|
45
|
-
"url": "git@github.com:kakajun/auto-generate-md.git"
|
|
46
|
-
},
|
|
47
|
-
"dependencies": {
|
|
48
|
-
"consola": "^3.2.3",
|
|
49
|
-
"fs-extra": "^11.2.0",
|
|
50
|
-
"arg": "5.0.2",
|
|
51
|
-
"commander": "^11.1.0",
|
|
52
|
-
"node-environment": "^0.5.1",
|
|
53
|
-
"prompts": "^2.4.2",
|
|
54
|
-
"@types/prompts": "^2.4.9"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"@types/debug": "^4.1.12",
|
|
58
|
-
"@types/fs-extra": "^11.0.4",
|
|
59
|
-
"@types/jest": "^29.5.11",
|
|
60
|
-
"@types/node": "^20.11.10",
|
|
61
|
-
"eslint-plugin-import": "^2.29.1",
|
|
62
|
-
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
63
|
-
"@typescript-eslint/parser": "^6.19.1",
|
|
64
|
-
"eslint": "^8.56.0",
|
|
65
|
-
"eslint-config-prettier": "^9.1.0",
|
|
66
|
-
"husky": "^9.0.6",
|
|
67
|
-
"jest": "^29.7.0",
|
|
68
|
-
"lint-staged": "^15.2.0",
|
|
69
|
-
"nodemon": "^3.0.3",
|
|
70
|
-
"prettier": "^3.2.4",
|
|
71
|
-
"ts-jest": "^29.1.2",
|
|
72
|
-
"ts-node": "^10.9.2",
|
|
73
|
-
"typescript": "^5.3.3",
|
|
74
|
-
"ts-node-dev": "^2.0.0",
|
|
75
|
-
"memfs": "^4.9.2",
|
|
76
|
-
"raf-stub": "3.0.0"
|
|
77
|
-
},
|
|
78
|
-
"lint-staged": {
|
|
79
|
-
"*.{ts,tsx,js}": "prettier --write",
|
|
80
|
-
"*.{ts,tsx}": "eslint --fix"
|
|
81
|
-
},
|
|
82
|
-
"license": "MIT",
|
|
83
|
-
"bugs": {
|
|
84
|
-
"url": "https://github.com/kakajun/auto-generate-md/issues"
|
|
85
|
-
},
|
|
86
|
-
"homepage": "https://github.com/kakajun/auto-generate-md",
|
|
87
|
-
"files": [
|
|
88
|
-
"es6",
|
|
89
|
-
"lib"
|
|
90
|
-
]
|
|
91
|
-
}
|
package/es6/script/cli/handle.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import help from '../help';
|
|
2
|
-
import pkg from '../../package.json';
|
|
3
|
-
function handle(settings) {
|
|
4
|
-
if (settings.help) {
|
|
5
|
-
help();
|
|
6
|
-
}
|
|
7
|
-
if (settings.version) {
|
|
8
|
-
console.log(`agmd version is: ` + '\x1B[36m%s\x1B[0m', pkg.version);
|
|
9
|
-
process.exit(0);
|
|
10
|
-
}
|
|
11
|
-
if (settings.ignore) {
|
|
12
|
-
settings.ignores = settings.ignore.split(' ');
|
|
13
|
-
}
|
|
14
|
-
if (settings.include) {
|
|
15
|
-
settings.includes = settings.include.split(' ');
|
|
16
|
-
}
|
|
17
|
-
if (settings.dryRun) {
|
|
18
|
-
process.env.AGMD_DRY_RUN = '1';
|
|
19
|
-
}
|
|
20
|
-
if (settings.silent) {
|
|
21
|
-
process.env.AGMD_SILENT = '1';
|
|
22
|
-
}
|
|
23
|
-
return settings;
|
|
24
|
-
}
|
|
25
|
-
export default handle;
|
|
26
|
-
//# sourceMappingURL=handle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../script/cli/handle.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,GAAG,MAAM,oBAAoB,CAAA;AAWpC,SAAS,MAAM,CAAC,QAAmB;IACjC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,CAAA;IACR,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAA;IAChC,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAA;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,eAAe,MAAM,CAAA"}
|
package/es6/script/cli/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import arg from 'arg';
|
|
2
|
-
const stringToArgs = (rawArgs) => {
|
|
3
|
-
const args = arg({
|
|
4
|
-
'--ignore': String,
|
|
5
|
-
'--include': String,
|
|
6
|
-
'--version': Boolean,
|
|
7
|
-
'--help': Boolean,
|
|
8
|
-
'--dry-run': Boolean,
|
|
9
|
-
'--silent': Boolean,
|
|
10
|
-
'-h': '--help',
|
|
11
|
-
'-i': '--ignore',
|
|
12
|
-
'-in': '--include',
|
|
13
|
-
'-v': '--version',
|
|
14
|
-
'-d': '--dry-run',
|
|
15
|
-
'-s': '--silent'
|
|
16
|
-
}, {
|
|
17
|
-
argv: rawArgs.slice(2)
|
|
18
|
-
});
|
|
19
|
-
return {
|
|
20
|
-
help: args['--help'],
|
|
21
|
-
ignore: args['--ignore'],
|
|
22
|
-
include: args['--include'],
|
|
23
|
-
version: args['--version'],
|
|
24
|
-
dryRun: args['--dry-run'],
|
|
25
|
-
silent: args['--silent']
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
export default stringToArgs;
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../script/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,MAAM,YAAY,GAAG,CAAC,OAAiB,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,GAAG,CACd;QACE,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,OAAO;QACpB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;KACjB,EACD;QACE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KACvB,CACF,CAAA;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QAC1B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QAC1B,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;KACzB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,YAAY,CAAA"}
|
package/es6/script/help/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const st = `使用说明:
|
|
2
|
-
1. 在控制台按上下切换功能并回车进行确认, 执行相对应的操作!
|
|
3
|
-
2. 可以在 package.json 的 scripts 下配置如下, 然后运行命令:
|
|
4
|
-
agmd --include <string> --ignore <string> [--dry-run] [--silent]
|
|
5
|
-
|
|
6
|
-
选项:
|
|
7
|
-
--include string / -in string.......... 包括文件扩展名 (以空格分隔)
|
|
8
|
-
--ignore string / -i string........... 忽略文件或文件夹 (以空格分隔)
|
|
9
|
-
--dry-run / -d.................. 预演模式, 不对文件系统进行写入
|
|
10
|
-
--silent / -s.................. 静默模式, 最小化日志输出
|
|
11
|
-
|
|
12
|
-
默认配置:
|
|
13
|
-
--ignore img,styles,node_modules,LICENSE,.git,.github,dist,.husky,.vscode,readme-file.js,readme-md.js
|
|
14
|
-
--include .js,.vue,.ts,.tsx
|
|
15
|
-
|
|
16
|
-
示例:
|
|
17
|
-
$ agmd --ignore lib node_modules dist --include .js .ts .vue --dry-run --silent`;
|
|
18
|
-
function help() {
|
|
19
|
-
console.log(st);
|
|
20
|
-
process.exit(0);
|
|
21
|
-
}
|
|
22
|
-
export default help;
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../script/help/index.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG;;;;;;;;;;;;;;;;kFAgBuE,CAAA;AAElF,SAAS,IAAI;IACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AACD,eAAe,IAAI,CAAA"}
|
package/es6/src/bin.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { handleCommand } from './commands/command-handler';
|
|
4
|
-
const program = new Command();
|
|
5
|
-
program.allowUnknownOption(true);
|
|
6
|
-
program.action(handleCommand);
|
|
7
|
-
program.parse(process.argv);
|
|
8
|
-
//# sourceMappingURL=bin.js.map
|
package/es6/src/bin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAC7B,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAChC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
|
package/es6/src/commands/agmd.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
import { generateAllAction } from './command-actions';
|
|
12
|
-
import { getMd } from './wirte-md';
|
|
13
|
-
import stringToArgs from '../../script/cli';
|
|
14
|
-
import handle from '../../script/cli/handle';
|
|
15
|
-
function main() {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const options = stringToArgs(process.argv);
|
|
18
|
-
const { ignores: ignore, includes: include } = handle(options);
|
|
19
|
-
const { md, nodes } = yield getMd({ ignore, include });
|
|
20
|
-
yield generateAllAction(nodes, md);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
main();
|
|
24
|
-
//# sourceMappingURL=agmd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agmd.js","sourceRoot":"","sources":["../../../src/commands/agmd.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAC3C,OAAO,MAAM,MAAM,yBAAyB,CAAA;AAE3C,SAAe,IAAI;;QAClB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9D,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAE,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACrD,MAAM,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;CAAA;AAED,IAAI,EAAE,CAAA"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import fs from 'fs';
|
|
11
|
-
import path from 'path';
|
|
12
|
-
import { readFile, writeFile } from 'fs/promises';
|
|
13
|
-
import { createConsola } from 'consola';
|
|
14
|
-
import { getDependencies } from '../utils/router-utils';
|
|
15
|
-
const logger = createConsola({
|
|
16
|
-
level: process.env.AGMD_SILENT === '1' ? 0 : 4
|
|
17
|
-
});
|
|
18
|
-
const rootPath = process.cwd().replace(/\\/g, '/');
|
|
19
|
-
function isRootDirectory() {
|
|
20
|
-
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
21
|
-
try {
|
|
22
|
-
fs.accessSync(packageJsonPath, fs.constants.R_OK);
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function changePath(nodes, nochangePath, toAbsoluteAlias) {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
function getNode(objs) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
for (const ele of objs) {
|
|
34
|
-
if (ele.children) {
|
|
35
|
-
yield getNode(ele.children);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
if (isRootDirectory()) {
|
|
39
|
-
yield writeToFile(ele, true, nochangePath, toAbsoluteAlias);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
yield getNode(nodes);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
export function getRelatPath(absoluteImport, fullPath) {
|
|
49
|
-
let relatPath = path.relative(path.dirname(fullPath), absoluteImport).replace(/\\/g, '/');
|
|
50
|
-
if (!relatPath.startsWith('.')) {
|
|
51
|
-
relatPath = './' + relatPath;
|
|
52
|
-
}
|
|
53
|
-
return relatPath;
|
|
54
|
-
}
|
|
55
|
-
export function makeSuffix(filePath, fullPath) {
|
|
56
|
-
let absoluteImport = filePath.includes('@')
|
|
57
|
-
? filePath.replace('@', process.cwd())
|
|
58
|
-
: path.resolve(path.dirname(fullPath), filePath);
|
|
59
|
-
const lastName = path.extname(absoluteImport);
|
|
60
|
-
if (!lastName) {
|
|
61
|
-
const suffixes = ['.ts', '.vue', '.tsx', '.js', '/index.js', '/index.vue'];
|
|
62
|
-
for (const suffix of suffixes) {
|
|
63
|
-
if (fs.existsSync(absoluteImport + suffix)) {
|
|
64
|
-
absoluteImport += suffix;
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return absoluteImport.replace(/\\/g, '/');
|
|
70
|
-
}
|
|
71
|
-
export function getImportName(ele, dependencies) {
|
|
72
|
-
let str = '';
|
|
73
|
-
const flag = dependencies.some((item) => ele.indexOf(item) > -1);
|
|
74
|
-
const reg = / from [\"|\'](.*)[\'|\"]/;
|
|
75
|
-
if (!flag && ele.indexOf('/') > -1 && ele.indexOf('//') !== 0) {
|
|
76
|
-
const impStr = ele.match(reg);
|
|
77
|
-
if (impStr && impStr[1])
|
|
78
|
-
str = impStr[1];
|
|
79
|
-
}
|
|
80
|
-
return str;
|
|
81
|
-
}
|
|
82
|
-
export function changeImport(ele, fullPath, dependencies, nochangePath, toAbsoluteAlias) {
|
|
83
|
-
const impName = getImportName(ele, dependencies);
|
|
84
|
-
if (!impName)
|
|
85
|
-
return null;
|
|
86
|
-
const absoluteImport = makeSuffix(impName, fullPath);
|
|
87
|
-
const aliasPath = absoluteImport.replace(rootPath, '@');
|
|
88
|
-
const obj = {
|
|
89
|
-
impName: nochangePath ? impName : toAbsoluteAlias ? aliasPath : getRelatPath(absoluteImport, fullPath),
|
|
90
|
-
filePath: impName,
|
|
91
|
-
absoluteImport
|
|
92
|
-
};
|
|
93
|
-
return obj;
|
|
94
|
-
}
|
|
95
|
-
export function writeToFile(node, isRelative, nochangePath, toAbsoluteAlias) {
|
|
96
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
-
const { fullPath } = node;
|
|
98
|
-
const packageJsonPath = path.join(rootPath, 'package.json');
|
|
99
|
-
const dependencies = yield getDependencies(packageJsonPath);
|
|
100
|
-
try {
|
|
101
|
-
const fileStr = yield readFile(fullPath, 'utf-8');
|
|
102
|
-
const lines = fileStr.split(/[\n]/g);
|
|
103
|
-
const updatedLines = lines.map((line) => {
|
|
104
|
-
if (line.includes('from') && isRelative) {
|
|
105
|
-
const obj = changeImport(line, fullPath, dependencies, nochangePath, toAbsoluteAlias);
|
|
106
|
-
if (obj && obj.impName) {
|
|
107
|
-
logger.info(`Updating import in node: ${node}`);
|
|
108
|
-
return line.replace(obj.filePath, obj.impName);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return line;
|
|
112
|
-
});
|
|
113
|
-
if (updatedLines.join('\n') !== fileStr) {
|
|
114
|
-
if (process.env.AGMD_DRY_RUN === '1') {
|
|
115
|
-
logger.info(`Dry-run: would write file ${fullPath}`);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
yield writeFile(fullPath, updatedLines.join('\n'), 'utf-8');
|
|
119
|
-
logger.success(`Write file successful: ${fullPath}`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
logger.error(`Error reading file: ${fullPath}, Error: ${error}`);
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
export function wirteJsNodes(data, filePath) {
|
|
129
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
-
const file = path.resolve(rootPath, filePath);
|
|
131
|
-
const content = `export default ${data}`;
|
|
132
|
-
if (process.env.AGMD_DRY_RUN === '1') {
|
|
133
|
-
logger.info(`Dry-run: would write file ${filePath}`);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
yield writeFile(file, content, { encoding: 'utf8' });
|
|
137
|
-
logger.success(`Write file successful: ${filePath}`);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=change-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"change-path.js","sourceRoot":"","sources":["../../../src/commands/change-path.ts"],"names":[],"mappings":"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"}
|