@abtnode/router-provider 1.8.4 → 1.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/default/index.js +5 -0
- package/lib/nginx/index.js +56 -42
- package/package.json +17 -17
package/lib/default/index.js
CHANGED
|
@@ -151,6 +151,11 @@ class DefaultProvider extends BaseProvider {
|
|
|
151
151
|
fs.writeFileSync(`${this.wwwDir}/404.html`, get404Template(nodeInfo));
|
|
152
152
|
fs.writeFileSync(`${this.wwwDir}/502.html`, get502Template(nodeInfo));
|
|
153
153
|
fs.writeFileSync(`${this.wwwDir}/5xx.html`, get5xxTemplate(nodeInfo));
|
|
154
|
+
// 将 @abtnode/router-templates/lib/styles (font 相关样式) 复制到 www/router-template-styles 中
|
|
155
|
+
fs.copySync(
|
|
156
|
+
`${path.dirname(require.resolve('@abtnode/router-templates/package.json'))}/lib/styles`,
|
|
157
|
+
`${this.wwwDir}/router-template-styles`
|
|
158
|
+
);
|
|
154
159
|
}
|
|
155
160
|
|
|
156
161
|
getLogFilesForToday() {
|
package/lib/nginx/index.js
CHANGED
|
@@ -643,6 +643,11 @@ class NginxProvider extends BaseProvider {
|
|
|
643
643
|
fs.writeFileSync(`${this.wwwDir}/404.html`, get404Template(nodeInfo));
|
|
644
644
|
fs.writeFileSync(`${this.wwwDir}/502.html`, get502Template(nodeInfo));
|
|
645
645
|
fs.writeFileSync(`${this.wwwDir}/5xx.html`, get5xxTemplate(nodeInfo));
|
|
646
|
+
// 将 @abtnode/router-templates/lib/styles (font 相关样式) 复制到 www/router-template-styles 中
|
|
647
|
+
fs.copySync(
|
|
648
|
+
`${path.dirname(require.resolve('@abtnode/router-templates/package.json'))}/lib/styles`,
|
|
649
|
+
`${this.wwwDir}/router-template-styles`
|
|
650
|
+
);
|
|
646
651
|
}
|
|
647
652
|
|
|
648
653
|
_copyConfigFiles() {
|
|
@@ -904,62 +909,71 @@ NginxProvider.check = async ({ configDir = '' } = {}) => {
|
|
|
904
909
|
`test_nginx_provider-${Date.now()}-${Math.ceil(Math.random() * 10000)}`,
|
|
905
910
|
CONFIG_FOLDER_NAME
|
|
906
911
|
);
|
|
907
|
-
|
|
912
|
+
try {
|
|
913
|
+
fs.mkdirSync(tmpDir, { recursive: true });
|
|
914
|
+
|
|
915
|
+
const provider = new NginxProvider({ configDir: tmpDir, isTest: true });
|
|
916
|
+
provider.initialize();
|
|
908
917
|
|
|
909
|
-
|
|
910
|
-
|
|
918
|
+
logger.info('check:addTestServer', { configPath: provider.configPath });
|
|
919
|
+
await addTestServer({
|
|
920
|
+
configPath: provider.configPath,
|
|
921
|
+
port: await getPort(),
|
|
922
|
+
upstreamPort: await getPort(),
|
|
923
|
+
});
|
|
924
|
+
|
|
925
|
+
const missingModules = getMissingModules(provider.readNginxConfigParams());
|
|
911
926
|
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
927
|
+
if (missingModules.length > 0) {
|
|
928
|
+
result.available = false;
|
|
929
|
+
result.error = `Blocklet Server depends on some modules of Nginx that are not compiled: ${missingModules.join(
|
|
930
|
+
', '
|
|
931
|
+
)}`;
|
|
932
|
+
return result;
|
|
933
|
+
}
|
|
918
934
|
|
|
919
|
-
|
|
935
|
+
await provider.start();
|
|
936
|
+
await provider.stop();
|
|
920
937
|
|
|
921
|
-
|
|
938
|
+
return result;
|
|
939
|
+
} catch (error) {
|
|
922
940
|
result.available = false;
|
|
923
|
-
result.error =
|
|
924
|
-
|
|
925
|
-
)}`;
|
|
941
|
+
result.error = error.message;
|
|
942
|
+
logger.error('check nginx failed', { error });
|
|
926
943
|
return result;
|
|
944
|
+
} finally {
|
|
945
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
927
946
|
}
|
|
947
|
+
};
|
|
948
|
+
|
|
949
|
+
const hasPortPermission = async (port) => {
|
|
950
|
+
const configDir = path.join(
|
|
951
|
+
os.tmpdir(),
|
|
952
|
+
`test_nginx_provider-${Date.now()}-${Math.ceil(Math.random() * 10000)}`,
|
|
953
|
+
CONFIG_FOLDER_NAME
|
|
954
|
+
);
|
|
955
|
+
try {
|
|
956
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
928
957
|
|
|
929
|
-
|
|
930
|
-
|
|
958
|
+
const provider = new NginxProvider({ configDir, isTest: true });
|
|
959
|
+
provider.initialize();
|
|
931
960
|
|
|
932
|
-
|
|
961
|
+
await addTestServer({ configPath: provider.configPath, port });
|
|
962
|
+
await provider.start();
|
|
963
|
+
await provider.stop();
|
|
933
964
|
|
|
934
|
-
|
|
965
|
+
return true;
|
|
966
|
+
} catch (err) {
|
|
967
|
+
return false;
|
|
968
|
+
} finally {
|
|
969
|
+
fs.rmSync(configDir, { recursive: true, force: true });
|
|
970
|
+
}
|
|
935
971
|
};
|
|
936
972
|
|
|
937
973
|
NginxProvider.getStatus = getNginxStatus;
|
|
938
974
|
NginxProvider.exists = () => !!shelljs.which('nginx');
|
|
939
975
|
|
|
940
|
-
NginxProvider.getUsablePorts = async () =>
|
|
941
|
-
|
|
942
|
-
try {
|
|
943
|
-
const configDir = path.join(
|
|
944
|
-
os.tmpdir(),
|
|
945
|
-
`test_nginx_provider-${Date.now()}-${Math.ceil(Math.random() * 10000)}`,
|
|
946
|
-
CONFIG_FOLDER_NAME
|
|
947
|
-
);
|
|
948
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
949
|
-
|
|
950
|
-
const provider = new NginxProvider({ configDir, isTest: true });
|
|
951
|
-
provider.initialize();
|
|
952
|
-
|
|
953
|
-
await addTestServer({ configPath: provider.configPath, port });
|
|
954
|
-
await provider.start();
|
|
955
|
-
await provider.stop();
|
|
956
|
-
|
|
957
|
-
fs.rmSync(configDir, { recursive: true });
|
|
958
|
-
|
|
959
|
-
return true;
|
|
960
|
-
} catch (err) {
|
|
961
|
-
return false;
|
|
962
|
-
}
|
|
963
|
-
});
|
|
976
|
+
NginxProvider.getUsablePorts = async () => getUsablePorts('nginx', hasPortPermission);
|
|
977
|
+
NginxProvider.hasPortPermission = hasPortPermission;
|
|
964
978
|
|
|
965
979
|
module.exports = NginxProvider;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/router-provider",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.7",
|
|
4
4
|
"description": "Routing engine implementations for abt node",
|
|
5
5
|
"author": "polunzh <polunzh@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/ArcBlock/blocklet-server#readme",
|
|
@@ -32,35 +32,35 @@
|
|
|
32
32
|
"url": "https://github.com/ArcBlock/blocklet-server/issues"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@abtnode/constant": "1.8.
|
|
36
|
-
"@abtnode/logger": "1.8.
|
|
37
|
-
"@abtnode/router-templates": "1.8.
|
|
38
|
-
"@abtnode/util": "1.8.
|
|
35
|
+
"@abtnode/constant": "1.8.7",
|
|
36
|
+
"@abtnode/logger": "1.8.7",
|
|
37
|
+
"@abtnode/router-templates": "1.8.7",
|
|
38
|
+
"@abtnode/util": "1.8.7",
|
|
39
39
|
"axios": "^0.27.2",
|
|
40
|
-
"debug": "^4.3.
|
|
41
|
-
"find-process": "^1.4.
|
|
42
|
-
"fkill": "^7.
|
|
43
|
-
"fs-extra": "^10.0
|
|
40
|
+
"debug": "^4.3.4",
|
|
41
|
+
"find-process": "^1.4.7",
|
|
42
|
+
"fkill": "^7.2.1",
|
|
43
|
+
"fs-extra": "^10.1.0",
|
|
44
44
|
"get-port": "^5.1.1",
|
|
45
45
|
"http-proxy": "^1.18.1",
|
|
46
46
|
"is-valid-domain": "^0.1.6",
|
|
47
47
|
"lodash": "^4.17.21",
|
|
48
|
-
"lru-cache": "^7.
|
|
49
|
-
"moment": "^2.29.
|
|
50
|
-
"nginx-conf": "^1.
|
|
48
|
+
"lru-cache": "^7.13.2",
|
|
49
|
+
"moment": "^2.29.4",
|
|
50
|
+
"nginx-conf": "^1.7.0",
|
|
51
51
|
"object-hash": "^3.0.0",
|
|
52
52
|
"port-used": "^2.0.8",
|
|
53
53
|
"promise-retry": "^2.0.1",
|
|
54
|
-
"shelljs": "^0.8.
|
|
55
|
-
"tar": "^6.1.
|
|
54
|
+
"shelljs": "^0.8.5",
|
|
55
|
+
"tar": "^6.1.11",
|
|
56
56
|
"url-join": "^4.0.1",
|
|
57
57
|
"uuid": "^8.3.2",
|
|
58
58
|
"valid-url": "^1.0.9"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"bluebird": "^3.7.2",
|
|
62
|
-
"fs-extra": "^10.0
|
|
63
|
-
"needle": "^3.
|
|
62
|
+
"fs-extra": "^10.1.0",
|
|
63
|
+
"needle": "^3.1.0"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "9807ea28b3ae634f5806c875774ac3b7e38502a1"
|
|
66
66
|
}
|