@abtnode/core 1.16.30-beta-b80c7bcd → 1.16.30-beta-5d9c2c41
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/blocklet/manager/helper/install-application-from-general.js +3 -4
- package/lib/blocklet/manager/helper/upgrade-components.js +4 -1
- package/lib/blocklet/storage/backup/spaces.js +1 -1
- package/lib/router/helper.js +6 -14
- package/lib/router/manager.js +14 -2
- package/lib/util/router.js +29 -1
- package/package.json +33 -33
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
const joi = require('joi');
|
|
2
|
-
|
|
3
1
|
const { isInServerlessMode } = require('@abtnode/util/lib/serverless');
|
|
4
2
|
const { BLOCKLET_INSTALL_TYPE, INSTALL_ACTIONS } = require('@abtnode/constant');
|
|
5
3
|
const { BlockletStatus, BlockletEvents, BLOCKLET_CONFIGURABLE_KEY } = require('@blocklet/constant');
|
|
6
4
|
|
|
7
5
|
const logger = require('@abtnode/logger')('@abtnode/core:install-app-general');
|
|
8
6
|
const getApplicationWallet = require('@blocklet/meta/lib/wallet');
|
|
7
|
+
const { installBlockletTitleSchema, installBlockletDescriptionSchema } = require('@blocklet/meta/lib/schema');
|
|
9
8
|
|
|
10
9
|
const StoreUtil = require('../../../util/store');
|
|
11
10
|
const { getBlockletMetaFromUrl, ensureMeta, validateStore, validateInServerless } = require('../../../util/blocklet');
|
|
@@ -48,8 +47,8 @@ const installApplicationFromGeneral = async ({
|
|
|
48
47
|
componentSourceUrl = inputUrl;
|
|
49
48
|
await validateStore(nodeInfo, componentSourceUrl);
|
|
50
49
|
} else if (type === BLOCKLET_INSTALL_TYPE.CREATE) {
|
|
51
|
-
await
|
|
52
|
-
await
|
|
50
|
+
await installBlockletTitleSchema.validateAsync(title);
|
|
51
|
+
await installBlockletDescriptionSchema.validateAsync(description);
|
|
53
52
|
} else {
|
|
54
53
|
throw new Error(`Should not be here: unknown type ${type}`);
|
|
55
54
|
}
|
|
@@ -5,6 +5,7 @@ const logger = require('@abtnode/logger')('@abtnode/core:upgrade-component');
|
|
|
5
5
|
|
|
6
6
|
const { BlockletStatus, BlockletEvents } = require('@blocklet/constant');
|
|
7
7
|
const { INSTALL_ACTIONS } = require('@abtnode/constant');
|
|
8
|
+
const { parseOptionalComponents } = require('@blocklet/resolver');
|
|
8
9
|
const {
|
|
9
10
|
getUpdateMetaList,
|
|
10
11
|
parseComponents,
|
|
@@ -105,9 +106,11 @@ const upgrade = async ({ updateId, componentDids, context, states, manager }) =>
|
|
|
105
106
|
return oldComponent;
|
|
106
107
|
});
|
|
107
108
|
|
|
109
|
+
const optionalComponentDids = new Set((await parseOptionalComponents(oldBlocklet)).map((x) => x.meta.did));
|
|
108
110
|
dynamicComponents = filterDuplicateComponents(dynamicComponents, children);
|
|
109
|
-
|
|
111
|
+
dynamicComponents = dynamicComponents.filter((x) => !optionalComponentDids.has(x.meta.did));
|
|
110
112
|
|
|
113
|
+
children.push(...dynamicComponents);
|
|
111
114
|
// componentDids
|
|
112
115
|
componentDids.push(...dynamicComponents.map((x) => x.meta.did));
|
|
113
116
|
|
package/lib/router/helper.js
CHANGED
|
@@ -33,8 +33,6 @@ const {
|
|
|
33
33
|
USER_AVATAR_PATH_PREFIX,
|
|
34
34
|
DOMAIN_FOR_IP_SITE,
|
|
35
35
|
NAME_FOR_WELLKNOWN_SITE,
|
|
36
|
-
DEFAULT_HTTP_PORT,
|
|
37
|
-
DEFAULT_HTTPS_PORT,
|
|
38
36
|
ROUTING_RULE_TYPES,
|
|
39
37
|
CERTIFICATE_EXPIRES_OFFSET,
|
|
40
38
|
DEFAULT_SERVICE_PATH,
|
|
@@ -76,7 +74,7 @@ const { getFromCache: getAccessibleExternalNodeIp } = require('../util/get-acces
|
|
|
76
74
|
|
|
77
75
|
const Router = require('./index');
|
|
78
76
|
const states = require('../states');
|
|
79
|
-
const { getBlockletDomainGroupName, getDidFromDomainGroupName } = require('../util/router');
|
|
77
|
+
const { getBlockletDomainGroupName, getDidFromDomainGroupName, createProviderInstance } = require('../util/router');
|
|
80
78
|
const {
|
|
81
79
|
getBlockletDidDomainList,
|
|
82
80
|
updateDidDocument: updateBlockletDocument,
|
|
@@ -1258,12 +1256,7 @@ module.exports = function getRouterHelpers({ dataDirs, routingSnapshot, routerMa
|
|
|
1258
1256
|
await providers[providerName].reload();
|
|
1259
1257
|
} else {
|
|
1260
1258
|
providers[providerName] = new Router({
|
|
1261
|
-
provider:
|
|
1262
|
-
configDir: path.join(dataDirs.router, providerName),
|
|
1263
|
-
httpPort: nodeInfo.routing.httpPort || DEFAULT_HTTP_PORT,
|
|
1264
|
-
httpsPort: nodeInfo.routing.httpsPort || DEFAULT_HTTPS_PORT,
|
|
1265
|
-
cacheEnabled: isGatewayCacheEnabled(nodeInfo),
|
|
1266
|
-
}),
|
|
1259
|
+
provider: createProviderInstance({ nodeInfo, routerDataDir: dataDirs.router }),
|
|
1267
1260
|
getRoutingParams: async () => {
|
|
1268
1261
|
try {
|
|
1269
1262
|
const info = await nodeState.read();
|
|
@@ -1434,12 +1427,11 @@ module.exports = function getRouterHelpers({ dataDirs, routingSnapshot, routerMa
|
|
|
1434
1427
|
const Provider = getProvider(info.routing.provider);
|
|
1435
1428
|
if (Provider) {
|
|
1436
1429
|
try {
|
|
1437
|
-
const providerInstance =
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
httpsPort: info.routing.httpsPort || DEFAULT_HTTPS_PORT,
|
|
1441
|
-
cacheEnabled: isGatewayCacheEnabled(info),
|
|
1430
|
+
const providerInstance = createProviderInstance({
|
|
1431
|
+
nodeInfo: info,
|
|
1432
|
+
routerDataDir: dataDirs.router,
|
|
1442
1433
|
});
|
|
1434
|
+
|
|
1443
1435
|
await providerInstance.stop();
|
|
1444
1436
|
logger.info('original router stopped:', { provider: info.routing.provider });
|
|
1445
1437
|
} catch (err) {
|
package/lib/router/manager.js
CHANGED
|
@@ -47,7 +47,12 @@ const { findWebInterface } = require('../util/blocklet');
|
|
|
47
47
|
const { attachRuntimeDomainAliases, ensureLatestInfo } = require('./helper');
|
|
48
48
|
const Router = require('./index');
|
|
49
49
|
const states = require('../states');
|
|
50
|
-
const {
|
|
50
|
+
const {
|
|
51
|
+
getDidFromDomainGroupName,
|
|
52
|
+
updateNFTDomainRecord,
|
|
53
|
+
revokeAndDeleteNFTDomainRecord,
|
|
54
|
+
getGatewayPorts,
|
|
55
|
+
} = require('../util/router');
|
|
51
56
|
|
|
52
57
|
const checkPathPrefixInBlackList = (pathPrefix, extraBlackList = []) => {
|
|
53
58
|
const blacklist = [
|
|
@@ -644,8 +649,15 @@ class RouterManager extends EventEmitter {
|
|
|
644
649
|
const providerName = getProviderFromNodeInfo(info);
|
|
645
650
|
const Provider = getProvider(providerName);
|
|
646
651
|
const tmpDir = path.join(os.tmpdir(), `${providerName}-${Date.now()}`);
|
|
652
|
+
|
|
653
|
+
const { httpPort, httpsPort } = getGatewayPorts(info);
|
|
647
654
|
// disable cache to reduce nginx reload time and memory consumption
|
|
648
|
-
const provider = new Provider({
|
|
655
|
+
const provider = new Provider({
|
|
656
|
+
configDir: tmpDir,
|
|
657
|
+
cacheEnabled: false,
|
|
658
|
+
httpPort,
|
|
659
|
+
httpsPort,
|
|
660
|
+
});
|
|
649
661
|
const tempRouter = new Router({
|
|
650
662
|
provider,
|
|
651
663
|
getRoutingParams: async () => ({
|
package/lib/util/router.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
const
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { BLOCKLET_SITE_GROUP_SUFFIX, DEFAULT_HTTP_PORT, DEFAULT_HTTPS_PORT } = require('@abtnode/constant');
|
|
2
3
|
const axios = require('@abtnode/util/lib/axios');
|
|
3
4
|
const getBlockletInfo = require('@blocklet/meta/lib/info');
|
|
4
5
|
const { stableStringify } = require('@arcblock/vc');
|
|
5
6
|
const { toBase58 } = require('@ocap/util');
|
|
6
7
|
const { getDidDomainServiceURL } = require('@abtnode/util/lib/did-domain');
|
|
8
|
+
const { getProvider } = require('@abtnode/router-provider');
|
|
7
9
|
const logger = require('@abtnode/logger')('@abtnode/core:router:util');
|
|
8
10
|
|
|
11
|
+
const { isGatewayCacheEnabled } = require('.');
|
|
12
|
+
|
|
9
13
|
const getBlockletDomainGroupName = (did) => `${did}${BLOCKLET_SITE_GROUP_SUFFIX}`;
|
|
10
14
|
|
|
11
15
|
const getDidFromDomainGroupName = (name) => {
|
|
@@ -86,9 +90,33 @@ const revokeAndDeleteNFTDomainRecord = async ({ name, blocklet, nodeInfo }) => {
|
|
|
86
90
|
}
|
|
87
91
|
};
|
|
88
92
|
|
|
93
|
+
const getGatewayPorts = (info) => {
|
|
94
|
+
return {
|
|
95
|
+
httpPort: info.routing?.httpPort || DEFAULT_HTTP_PORT,
|
|
96
|
+
httpsPort: info.routing?.httpsPort || DEFAULT_HTTPS_PORT,
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const createProviderInstance = ({ nodeInfo, routerDataDir }) => {
|
|
101
|
+
const providerName = nodeInfo.routing.provider;
|
|
102
|
+
const Provider = getProvider(providerName);
|
|
103
|
+
const { httpPort, httpsPort } = getGatewayPorts(nodeInfo);
|
|
104
|
+
|
|
105
|
+
logger.info('create router instance', { providerName, httpPort, httpsPort });
|
|
106
|
+
|
|
107
|
+
return new Provider({
|
|
108
|
+
configDir: path.join(routerDataDir, providerName),
|
|
109
|
+
httpPort,
|
|
110
|
+
httpsPort,
|
|
111
|
+
cacheEnabled: isGatewayCacheEnabled(nodeInfo),
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
|
|
89
115
|
module.exports = {
|
|
90
116
|
getBlockletDomainGroupName,
|
|
91
117
|
getDidFromDomainGroupName,
|
|
118
|
+
getGatewayPorts,
|
|
92
119
|
updateNFTDomainRecord,
|
|
93
120
|
revokeAndDeleteNFTDomainRecord,
|
|
121
|
+
createProviderInstance,
|
|
94
122
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.16.30-beta-
|
|
6
|
+
"version": "1.16.30-beta-5d9c2c41",
|
|
7
7
|
"description": "",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -19,40 +19,40 @@
|
|
|
19
19
|
"author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
|
|
20
20
|
"license": "Apache-2.0",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@abtnode/analytics": "1.16.30-beta-
|
|
23
|
-
"@abtnode/auth": "1.16.30-beta-
|
|
24
|
-
"@abtnode/certificate-manager": "1.16.30-beta-
|
|
25
|
-
"@abtnode/constant": "1.16.30-beta-
|
|
26
|
-
"@abtnode/cron": "1.16.30-beta-
|
|
27
|
-
"@abtnode/logger": "1.16.30-beta-
|
|
28
|
-
"@abtnode/models": "1.16.30-beta-
|
|
29
|
-
"@abtnode/queue": "1.16.30-beta-
|
|
30
|
-
"@abtnode/rbac": "1.16.30-beta-
|
|
31
|
-
"@abtnode/router-provider": "1.16.30-beta-
|
|
32
|
-
"@abtnode/static-server": "1.16.30-beta-
|
|
33
|
-
"@abtnode/timemachine": "1.16.30-beta-
|
|
34
|
-
"@abtnode/util": "1.16.30-beta-
|
|
35
|
-
"@arcblock/did": "1.18.
|
|
36
|
-
"@arcblock/did-auth": "1.18.
|
|
37
|
-
"@arcblock/did-ext": "^1.18.
|
|
22
|
+
"@abtnode/analytics": "1.16.30-beta-5d9c2c41",
|
|
23
|
+
"@abtnode/auth": "1.16.30-beta-5d9c2c41",
|
|
24
|
+
"@abtnode/certificate-manager": "1.16.30-beta-5d9c2c41",
|
|
25
|
+
"@abtnode/constant": "1.16.30-beta-5d9c2c41",
|
|
26
|
+
"@abtnode/cron": "1.16.30-beta-5d9c2c41",
|
|
27
|
+
"@abtnode/logger": "1.16.30-beta-5d9c2c41",
|
|
28
|
+
"@abtnode/models": "1.16.30-beta-5d9c2c41",
|
|
29
|
+
"@abtnode/queue": "1.16.30-beta-5d9c2c41",
|
|
30
|
+
"@abtnode/rbac": "1.16.30-beta-5d9c2c41",
|
|
31
|
+
"@abtnode/router-provider": "1.16.30-beta-5d9c2c41",
|
|
32
|
+
"@abtnode/static-server": "1.16.30-beta-5d9c2c41",
|
|
33
|
+
"@abtnode/timemachine": "1.16.30-beta-5d9c2c41",
|
|
34
|
+
"@abtnode/util": "1.16.30-beta-5d9c2c41",
|
|
35
|
+
"@arcblock/did": "1.18.130",
|
|
36
|
+
"@arcblock/did-auth": "1.18.130",
|
|
37
|
+
"@arcblock/did-ext": "^1.18.130",
|
|
38
38
|
"@arcblock/did-motif": "^1.1.13",
|
|
39
|
-
"@arcblock/did-util": "1.18.
|
|
40
|
-
"@arcblock/event-hub": "1.18.
|
|
41
|
-
"@arcblock/jwt": "^1.18.
|
|
39
|
+
"@arcblock/did-util": "1.18.130",
|
|
40
|
+
"@arcblock/event-hub": "1.18.130",
|
|
41
|
+
"@arcblock/jwt": "^1.18.130",
|
|
42
42
|
"@arcblock/pm2-events": "^0.0.5",
|
|
43
|
-
"@arcblock/validator": "^1.18.
|
|
44
|
-
"@arcblock/vc": "1.18.
|
|
45
|
-
"@blocklet/constant": "1.16.30-beta-
|
|
46
|
-
"@blocklet/env": "1.16.30-beta-
|
|
47
|
-
"@blocklet/meta": "1.16.30-beta-
|
|
48
|
-
"@blocklet/resolver": "1.16.30-beta-
|
|
49
|
-
"@blocklet/sdk": "1.16.30-beta-
|
|
50
|
-
"@blocklet/store": "1.16.30-beta-
|
|
51
|
-
"@did-space/client": "^0.5.
|
|
43
|
+
"@arcblock/validator": "^1.18.130",
|
|
44
|
+
"@arcblock/vc": "1.18.130",
|
|
45
|
+
"@blocklet/constant": "1.16.30-beta-5d9c2c41",
|
|
46
|
+
"@blocklet/env": "1.16.30-beta-5d9c2c41",
|
|
47
|
+
"@blocklet/meta": "1.16.30-beta-5d9c2c41",
|
|
48
|
+
"@blocklet/resolver": "1.16.30-beta-5d9c2c41",
|
|
49
|
+
"@blocklet/sdk": "1.16.30-beta-5d9c2c41",
|
|
50
|
+
"@blocklet/store": "1.16.30-beta-5d9c2c41",
|
|
51
|
+
"@did-space/client": "^0.5.26",
|
|
52
52
|
"@fidm/x509": "^1.2.1",
|
|
53
|
-
"@ocap/mcrypto": "1.18.
|
|
54
|
-
"@ocap/util": "1.18.
|
|
55
|
-
"@ocap/wallet": "1.18.
|
|
53
|
+
"@ocap/mcrypto": "1.18.130",
|
|
54
|
+
"@ocap/util": "1.18.130",
|
|
55
|
+
"@ocap/wallet": "1.18.130",
|
|
56
56
|
"@slack/webhook": "^5.0.4",
|
|
57
57
|
"archiver": "^7.0.1",
|
|
58
58
|
"axios": "^1.7.2",
|
|
@@ -103,5 +103,5 @@
|
|
|
103
103
|
"jest": "^29.7.0",
|
|
104
104
|
"unzipper": "^0.10.11"
|
|
105
105
|
},
|
|
106
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "d9227f08e11c1d82969880b30b2a2e3639e88def"
|
|
107
107
|
}
|