oipage 1.5.0 → 1.6.0-alpha.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/CHANGELOG +13 -1
- package/bin/disk.js +13 -1
- package/bin/help.js +6 -1
- package/bin/network.js +22 -0
- package/bin/run +10 -1
- package/bin/tools/deleteEmptyFolder.js +24 -0
- package/bin/tools/network.js +3 -3
- package/nodejs/animation/index.js +1 -1
- package/nodejs/cmdlog/index.js +1 -1
- package/nodejs/disk/index.d.ts +10 -1
- package/nodejs/disk/index.js +14 -2
- package/nodejs/format/index.js +1 -1
- package/nodejs/json/index.js +1 -1
- package/nodejs/logform/index.js +1 -1
- package/nodejs/reader/index.js +1 -1
- package/nodejs/throttle/index.js +1 -1
- package/package.json +1 -1
- package/web/XMLHttpRequest/index.js +1 -1
- package/web/animation/index.js +1 -1
- package/web/format/index.js +1 -1
- package/web/json/index.js +1 -1
- package/web/onReady/index.js +1 -1
- package/web/performChunk/index.js +1 -1
- package/web/reader/index.js +1 -1
- package/web/style/index.js +1 -1
- package/web/throttle/index.js +1 -1
package/CHANGELOG
CHANGED
|
@@ -114,4 +114,16 @@ v1.5.0:
|
|
|
114
114
|
* 图片转PDF
|
|
115
115
|
2、API功能(Node.js)
|
|
116
116
|
* disk 磁盘相关操作
|
|
117
|
-
(包括:moveDisk、listDisk)
|
|
117
|
+
(包括:moveDisk、listDisk)
|
|
118
|
+
v1.6.0:
|
|
119
|
+
date:
|
|
120
|
+
changes:
|
|
121
|
+
- 新增功能
|
|
122
|
+
1、命令(oipage-cli)
|
|
123
|
+
* disk
|
|
124
|
+
--link 创建磁盘链接
|
|
125
|
+
--delempty 删除空文件夹
|
|
126
|
+
* network 网络相关
|
|
127
|
+
2、API功能(Node.js)
|
|
128
|
+
* disk 磁盘相关操作
|
|
129
|
+
(包括:linkDisk)
|
package/bin/disk.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
const {
|
|
1
|
+
const { join } = require("path");
|
|
2
|
+
const { deleteDisk, copyDisk, moveDisk, linkDisk } = require("../nodejs/disk");
|
|
3
|
+
const deleteEmptyFolder = require("./tools/deleteEmptyFolder");
|
|
2
4
|
|
|
3
5
|
module.exports = function (config) {
|
|
4
6
|
let isForce = false;
|
|
@@ -27,5 +29,15 @@ module.exports = function (config) {
|
|
|
27
29
|
else if (config.value[i].name === "--copy") {
|
|
28
30
|
copyDisk(config.value[i].value[0], config.value[i].value[1], isForce);
|
|
29
31
|
}
|
|
32
|
+
|
|
33
|
+
// 创建磁盘链接
|
|
34
|
+
else if (config.value[i].name === "--link") {
|
|
35
|
+
linkDisk(config.value[i].value[0], config.value[i].value[1], isForce);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// 删除空文件夹
|
|
39
|
+
else if (config.value[i].name === "--delempty") {
|
|
40
|
+
deleteEmptyFolder(join(process.cwd(), config.value[i].value[0]));
|
|
41
|
+
}
|
|
30
42
|
}
|
|
31
43
|
};
|
package/bin/help.js
CHANGED
|
@@ -15,11 +15,16 @@ OIPage@v${packageValue.version}
|
|
|
15
15
|
【2】oipage-cli disk 磁盘操作
|
|
16
16
|
--force|-f 强制执行
|
|
17
17
|
--delete|-d 删除文件或文件夹
|
|
18
|
-
--
|
|
18
|
+
--delempty 删除空文件夹
|
|
19
|
+
--move|-m 移动文件或文件夹
|
|
19
20
|
--copy|-c 复制文件或文件夹
|
|
21
|
+
--link|-l 创建磁盘链接
|
|
20
22
|
|
|
21
23
|
【3】oipage-cli run "任务一" "任务二" ... 运行多命令
|
|
22
24
|
|
|
25
|
+
【4】oipage-cli network 网络相关
|
|
26
|
+
--log 打印网络信息
|
|
27
|
+
|
|
23
28
|
Powered by https://github.com/zxl20070701
|
|
24
29
|
\x1b[0m`);
|
|
25
30
|
|
package/bin/network.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const networkInfo = require("./tools/network");
|
|
2
|
+
|
|
3
|
+
module.exports = function (config) {
|
|
4
|
+
let info = networkInfo(true);
|
|
5
|
+
|
|
6
|
+
// 执行一个个任务
|
|
7
|
+
for (let i = 0; i < config.value.length; i++) {
|
|
8
|
+
|
|
9
|
+
// 打印信息
|
|
10
|
+
if (config.value[i].name === "--log") {
|
|
11
|
+
|
|
12
|
+
for (let iptype of ["IPv4", "IPv6"]) {
|
|
13
|
+
console.log("\n" + iptype);
|
|
14
|
+
for (let i = 0; i < info[iptype].length; i++) {
|
|
15
|
+
console.log(" \x1b[1m\x1b[32m" + info[iptype][i].address + "\x1b[0m " + info[iptype][i].mac);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
console.log("");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
package/bin/run
CHANGED
|
@@ -56,7 +56,8 @@ else if (process.argv[2] === "disk") {
|
|
|
56
56
|
"-f": "--force",
|
|
57
57
|
"-d": "--delete",
|
|
58
58
|
"-m": "--move",
|
|
59
|
-
"-c": "--copy"
|
|
59
|
+
"-c": "--copy",
|
|
60
|
+
"-l": "--link"
|
|
60
61
|
}, true);
|
|
61
62
|
|
|
62
63
|
require("./disk.js")(argvObj);
|
|
@@ -93,6 +94,14 @@ else if (process.argv[2] === "run") {
|
|
|
93
94
|
|
|
94
95
|
}
|
|
95
96
|
|
|
97
|
+
// 网络相关
|
|
98
|
+
else if (process.argv[2] === "network") {
|
|
99
|
+
|
|
100
|
+
let argvObj = formatArgv(process.argv, {}, true);
|
|
101
|
+
|
|
102
|
+
require("./network.js")(argvObj);
|
|
103
|
+
}
|
|
104
|
+
|
|
96
105
|
// 默认,帮助
|
|
97
106
|
else {
|
|
98
107
|
require("./help.js")();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const { readdirSync, lstatSync, rmdirSync } = require("fs");
|
|
2
|
+
const { join } = require("path");
|
|
3
|
+
|
|
4
|
+
module.exports = function (rootPath) {
|
|
5
|
+
(function deleteEmptyFolder(folderPath) {
|
|
6
|
+
let subItems = readdirSync(folderPath);
|
|
7
|
+
if (subItems.length > 0) {
|
|
8
|
+
for (let i = 0; i < subItems.length; i++) {
|
|
9
|
+
let itemPath = join(folderPath, subItems[i]);
|
|
10
|
+
if (lstatSync(itemPath).isDirectory()) deleteEmptyFolder(itemPath);
|
|
11
|
+
}
|
|
12
|
+
} else {
|
|
13
|
+
rmdirSync(folderPath);
|
|
14
|
+
|
|
15
|
+
folderPath = join(folderPath, "..");
|
|
16
|
+
while (folderPath.length >= rootPath.length) {
|
|
17
|
+
subItems = readdirSync(folderPath);
|
|
18
|
+
if (readdirSync(folderPath).length > 0) break;
|
|
19
|
+
rmdirSync(folderPath);
|
|
20
|
+
folderPath = join(folderPath, "..");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
})(params.path);
|
|
24
|
+
};
|
package/bin/tools/network.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const { networkInterfaces } = require("os");
|
|
2
2
|
|
|
3
3
|
// 网络信息
|
|
4
|
-
module.exports = function () {
|
|
4
|
+
module.exports = function (isAll) {
|
|
5
5
|
|
|
6
6
|
let infomation = {
|
|
7
7
|
IPv4: [],
|
|
@@ -15,8 +15,8 @@ module.exports = function () {
|
|
|
15
15
|
for (let typeName in networks) {
|
|
16
16
|
let network = networks[typeName]
|
|
17
17
|
for (let index = 0; index < network.length; index++) {
|
|
18
|
-
if (network[index].mac != "00:00:00:00:00:00") {
|
|
19
|
-
if (network[index].family == 'IPv4' && network[index].address != '127.0.0.1') {
|
|
18
|
+
if (network[index].mac != "00:00:00:00:00:00" || isAll) {
|
|
19
|
+
if (network[index].family == 'IPv4' && (network[index].address != '127.0.0.1' || isAll)) {
|
|
20
20
|
if (!IPv4Had[network[index].mac]) {
|
|
21
21
|
infomation.IPv4.push({
|
|
22
22
|
address: network[index].address,
|
package/nodejs/cmdlog/index.js
CHANGED
package/nodejs/disk/index.d.ts
CHANGED
|
@@ -36,4 +36,13 @@ export interface listDiskType {
|
|
|
36
36
|
}) => void): void
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export let listDisk: listDiskType
|
|
39
|
+
export let listDisk: listDiskType
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 创建文件或文件夹的链接
|
|
43
|
+
*/
|
|
44
|
+
export interface linkDiskType {
|
|
45
|
+
(sourcePath: string, targetPath: string): void
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export let linkDisk: linkDiskType
|
package/nodejs/disk/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* disk of OIPage v1.
|
|
2
|
+
* disk of OIPage v1.6.0-alpha.1
|
|
3
3
|
* git+https://github.com/oi-contrib/OIPage.git
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
const { join } = require("path");
|
|
7
|
-
const { existsSync, readdirSync, lstatSync, unlinkSync, rmdirSync, mkdirSync, copyFileSync } = require("fs");
|
|
7
|
+
const { existsSync, readdirSync, lstatSync, unlinkSync, rmdirSync, mkdirSync, copyFileSync, symlinkSync } = require("fs");
|
|
8
|
+
const { execSync } = require("child_process");
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* 删除文件或文件夹
|
|
@@ -156,8 +157,19 @@ function listDisk(sourcePath, callback) {
|
|
|
156
157
|
"folder": folder
|
|
157
158
|
});
|
|
158
159
|
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* 软链接文件或文件夹
|
|
164
|
+
* @param {*} sourcePath
|
|
165
|
+
* @param {*} targetPath
|
|
166
|
+
*/
|
|
167
|
+
function linkDisk(sourcePath, targetPath) {
|
|
168
|
+
const type = lstatSync(sourcePath).isDirectory() ? 'junction' : 'file';
|
|
169
|
+
symlinkSync(sourcePath, targetPath, type);
|
|
159
170
|
}
|
|
160
171
|
exports.deleteDisk = deleteDisk;
|
|
161
172
|
exports.copyDisk = copyDisk;
|
|
162
173
|
exports.moveDisk = moveDisk;
|
|
163
174
|
exports.listDisk = listDisk;
|
|
175
|
+
exports.linkDisk = linkDisk;
|
package/nodejs/format/index.js
CHANGED
package/nodejs/json/index.js
CHANGED
package/nodejs/logform/index.js
CHANGED
package/nodejs/reader/index.js
CHANGED
package/nodejs/throttle/index.js
CHANGED
package/package.json
CHANGED
package/web/animation/index.js
CHANGED
package/web/format/index.js
CHANGED
package/web/json/index.js
CHANGED
package/web/onReady/index.js
CHANGED
package/web/reader/index.js
CHANGED
package/web/style/index.js
CHANGED
package/web/throttle/index.js
CHANGED