@abtnode/core 1.16.25 → 1.16.26-beta-c724c8e6
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/api/team.js +7 -0
- package/lib/blocklet/manager/disk.js +10 -0
- package/lib/blocklet/manager/helper/migrate-application-to-struct-v2.js +1 -1
- package/lib/blocklet/project/connect-to-store.js +69 -0
- package/lib/blocklet/project/create-pack-release.js +1 -0
- package/lib/blocklet/project/index.js +5 -0
- package/lib/blocklet/project/publish-to-store.js +78 -0
- package/lib/blocklet/storage/backup/blocklet-extras.js +2 -1
- package/lib/blocklet/storage/backup/blocklet.js +1 -1
- package/lib/blocklet/storage/backup/disk.js +1 -1
- package/lib/blocklet/storage/backup/spaces.js +1 -1
- package/lib/blocklet/storage/restore/blocklet-extras.js +2 -1
- package/lib/blocklet/storage/restore/disk.js +1 -1
- package/lib/cert.js +13 -9
- package/lib/index.js +2 -0
- package/lib/migrations/1.6.9-update-node-info-and-certificate.js +2 -1
- package/lib/monitor/node-monit-sender.js +2 -2
- package/lib/states/release.js +1 -0
- package/lib/team/manager.js +1 -0
- package/package.json +36 -35
package/lib/api/team.js
CHANGED
|
@@ -1345,6 +1345,13 @@ class TeamAPI extends EventEmitter {
|
|
|
1345
1345
|
throw new Error(`Blocklet registry does not exist: ${sanitized}`);
|
|
1346
1346
|
}
|
|
1347
1347
|
|
|
1348
|
+
const settings = await this.states.blockletExtras.getSettings(teamDid);
|
|
1349
|
+
|
|
1350
|
+
if (settings?.connectedStores?.length) {
|
|
1351
|
+
settings.connectedStores = settings.connectedStores.filter((x) => x.storeUrl !== sanitized);
|
|
1352
|
+
await this.states.blockletExtras.setSettings(teamDid, settings);
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1348
1355
|
return this.teamManager.updateStoreList(
|
|
1349
1356
|
teamDid,
|
|
1350
1357
|
storeList.filter((x) => x.url !== sanitized)
|
|
@@ -198,6 +198,8 @@ const {
|
|
|
198
198
|
deleteRelease,
|
|
199
199
|
getSelectedResources,
|
|
200
200
|
updateSelectedResources,
|
|
201
|
+
connectToStore,
|
|
202
|
+
publishToStore,
|
|
201
203
|
} = require('../project');
|
|
202
204
|
|
|
203
205
|
const { formatEnvironments, getBlockletMeta, validateOwner, isCLI } = util;
|
|
@@ -2349,6 +2351,14 @@ class DiskBlockletManager extends BaseBlockletManager {
|
|
|
2349
2351
|
return deleteRelease({ did, projectId, releaseId, manager: this });
|
|
2350
2352
|
}
|
|
2351
2353
|
|
|
2354
|
+
connectToStore(params) {
|
|
2355
|
+
return connectToStore({ ...params, manager: this, blockletExtras: states.blockletExtras });
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2358
|
+
publishToStore(params) {
|
|
2359
|
+
return publishToStore({ ...params, manager: this, blockletExtras: states.blockletExtras });
|
|
2360
|
+
}
|
|
2361
|
+
|
|
2352
2362
|
getSelectedResources({ did, projectId, releaseId, componentDid } = {}) {
|
|
2353
2363
|
return getSelectedResources({ did, projectId, releaseId, componentDid, manager: this });
|
|
2354
2364
|
}
|
|
@@ -33,7 +33,7 @@ const {
|
|
|
33
33
|
} = require('@blocklet/constant');
|
|
34
34
|
const { update: updateMetaFile } = require('@blocklet/meta/lib/file');
|
|
35
35
|
const getBlockletWallet = require('@blocklet/meta/lib/wallet');
|
|
36
|
-
const
|
|
36
|
+
const cloneDeep = require('lodash/cloneDeep');
|
|
37
37
|
|
|
38
38
|
const { getBlockletDomainGroupName } = require('../../../util/router');
|
|
39
39
|
const { getIpDnsDomainForBlocklet } = require('../../../util/get-domain-for-blocklet');
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const validUrl = require('valid-url');
|
|
2
|
+
|
|
3
|
+
const { createConnect } = require('@blocklet/store');
|
|
4
|
+
const { BlockletEvents } = require('@blocklet/constant');
|
|
5
|
+
|
|
6
|
+
const connectToStore = async ({ did, storeName, storeId, storeUrl, blockletExtras, manager }) => {
|
|
7
|
+
if (!did) {
|
|
8
|
+
throw new Error('Invalid did');
|
|
9
|
+
}
|
|
10
|
+
// 校验是否为合法的url地址(必须是 http 或 https 协议),例如:https://store.blocklet.dev/
|
|
11
|
+
if (!validUrl.isWebUri(storeUrl)) {
|
|
12
|
+
throw new Error('Invalid store url:', storeUrl);
|
|
13
|
+
}
|
|
14
|
+
const settings = await blockletExtras.getSettings(did);
|
|
15
|
+
|
|
16
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
17
|
+
return new Promise(async (resolve, reject) => {
|
|
18
|
+
try {
|
|
19
|
+
const fetchData = await createConnect({
|
|
20
|
+
connectUrl: storeUrl,
|
|
21
|
+
connectAction: 'connect-cli',
|
|
22
|
+
enableEncrypt: true,
|
|
23
|
+
openPage: (pageUrl) => {
|
|
24
|
+
resolve(pageUrl);
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
const { secretKey, developerDid, name, email } = fetchData;
|
|
28
|
+
if (!settings.connectedStores) {
|
|
29
|
+
settings.connectedStores = [];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const nextStore = {
|
|
33
|
+
storeId,
|
|
34
|
+
storeName,
|
|
35
|
+
storeUrl,
|
|
36
|
+
accessToken: secretKey,
|
|
37
|
+
developerDid,
|
|
38
|
+
developerName: name,
|
|
39
|
+
developerEmail: email,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const oldStore = settings.connectedStores.find((x) => x.storeUrl === storeUrl);
|
|
43
|
+
if (oldStore) {
|
|
44
|
+
Object.assign(oldStore, nextStore);
|
|
45
|
+
} else {
|
|
46
|
+
settings.connectedStores.push(nextStore);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
await blockletExtras.setSettings(did, settings);
|
|
50
|
+
|
|
51
|
+
await manager.teamManager.createNotification({
|
|
52
|
+
teamDid: did,
|
|
53
|
+
title: `Connected ${storeName} successfully`,
|
|
54
|
+
description: `You can publish your blocklet to ${storeName} now`,
|
|
55
|
+
entityType: 'blocklet',
|
|
56
|
+
entityId: did,
|
|
57
|
+
severity: 'success',
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
manager.emit(BlockletEvents.updated, {
|
|
61
|
+
meta: { did },
|
|
62
|
+
});
|
|
63
|
+
} catch (error) {
|
|
64
|
+
reject(error);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
module.exports = connectToStore;
|
|
@@ -15,6 +15,8 @@ const { createReleaseSchema } = require('../../validators/project');
|
|
|
15
15
|
|
|
16
16
|
const { getLogoFile, exportBlockletResources, getResourceList, checkResourceExists } = require('./util');
|
|
17
17
|
const createPackRelease = require('./create-pack-release');
|
|
18
|
+
const connectToStore = require('./connect-to-store');
|
|
19
|
+
const publishToStore = require('./publish-to-store');
|
|
18
20
|
|
|
19
21
|
const COMPONENT_CONFIG_MAP_DIR = '.component_config';
|
|
20
22
|
|
|
@@ -199,6 +201,7 @@ const createRelease = async ({
|
|
|
199
201
|
|
|
200
202
|
const release = await releaseState.upsertRelease({
|
|
201
203
|
...params,
|
|
204
|
+
publishedStoreIds: [],
|
|
202
205
|
projectId,
|
|
203
206
|
releaseId,
|
|
204
207
|
status,
|
|
@@ -410,4 +413,6 @@ module.exports = {
|
|
|
410
413
|
deleteRelease,
|
|
411
414
|
getSelectedResources,
|
|
412
415
|
updateSelectedResources,
|
|
416
|
+
connectToStore,
|
|
417
|
+
publishToStore,
|
|
413
418
|
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { PROJECT } = require('@blocklet/constant');
|
|
3
|
+
const { upload } = require('@blocklet/store');
|
|
4
|
+
|
|
5
|
+
function ensureArray(value) {
|
|
6
|
+
if (!value) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
if (typeof value === 'string') {
|
|
10
|
+
return JSON.parse(value);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getReleaseDir(blocklet, projectId, releaseId) {
|
|
16
|
+
const projectDir = path.join(blocklet.env.dataDir, PROJECT.DIR, `${projectId}`);
|
|
17
|
+
return path.join(projectDir, PROJECT.RELEASE_DIR, `${releaseId}`);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const publishToStore = async ({ did, projectId, releaseId, type, storeId, manager, blockletExtras }) => {
|
|
21
|
+
if (
|
|
22
|
+
!did ||
|
|
23
|
+
!projectId ||
|
|
24
|
+
!releaseId ||
|
|
25
|
+
!type ||
|
|
26
|
+
!storeId ||
|
|
27
|
+
typeof projectId !== 'string' ||
|
|
28
|
+
typeof releaseId !== 'string'
|
|
29
|
+
) {
|
|
30
|
+
throw new Error('params is failed');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const { releaseState } = await manager._getProjectState(did);
|
|
34
|
+
|
|
35
|
+
const release = await releaseState.findOne({ projectId, id: releaseId });
|
|
36
|
+
if (!release) {
|
|
37
|
+
throw new Error('release not found');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const settings = await blockletExtras.getSettings(did);
|
|
41
|
+
|
|
42
|
+
if (!settings.connectedStores) {
|
|
43
|
+
throw new Error('no connected stores');
|
|
44
|
+
}
|
|
45
|
+
const store = settings.connectedStores.find((x) => x.storeId === storeId);
|
|
46
|
+
if (!store) {
|
|
47
|
+
throw new Error('no connected stores');
|
|
48
|
+
}
|
|
49
|
+
const { storeUrl } = store;
|
|
50
|
+
const { accessToken, developerDid } = store;
|
|
51
|
+
|
|
52
|
+
const blocklet = await manager.getBlocklet(did);
|
|
53
|
+
if (!blocklet) {
|
|
54
|
+
throw new Error('blocklet not found');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const releaseDir = getReleaseDir(blocklet, projectId, releaseId);
|
|
58
|
+
const metaFile = path.join(releaseDir, '.blocklet', 'release', 'blocklet.json');
|
|
59
|
+
|
|
60
|
+
const response = await upload({
|
|
61
|
+
metaFile,
|
|
62
|
+
storeUrl,
|
|
63
|
+
accessToken,
|
|
64
|
+
developerDid,
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
release.publishedStoreIds = ensureArray(release.publishedStoreIds);
|
|
68
|
+
release.publishedStoreIds.push(storeId);
|
|
69
|
+
|
|
70
|
+
await releaseState.update(
|
|
71
|
+
{ id: releaseId },
|
|
72
|
+
{ $set: { publishedStoreIds: Array.from(new Set(release.publishedStoreIds)) } }
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
return response?.status;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
module.exports = publishToStore;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const { readFileSync, outputJson } = require('fs-extra');
|
|
2
|
-
const
|
|
2
|
+
const isEmpty = require('lodash/isEmpty');
|
|
3
|
+
const cloneDeep = require('lodash/cloneDeep');
|
|
3
4
|
const { join } = require('path');
|
|
4
5
|
const security = require('@abtnode/util/lib/security');
|
|
5
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const { outputJson, createWriteStream, createReadStream, ensureDir } = require('fs-extra');
|
|
2
|
-
const
|
|
2
|
+
const cloneDeep = require('lodash/cloneDeep');
|
|
3
3
|
const { join, basename, dirname } = require('path');
|
|
4
4
|
const { BLOCKLET_CONFIGURABLE_KEY } = require('@blocklet/constant');
|
|
5
5
|
const isEmpty = require('lodash/isEmpty');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const fs = require('fs-extra');
|
|
2
2
|
const { isValid } = require('@arcblock/did');
|
|
3
3
|
const { ensureDirSync } = require('fs-extra');
|
|
4
|
-
const
|
|
4
|
+
const isEmpty = require('lodash/isEmpty');
|
|
5
5
|
const { join } = require('path');
|
|
6
6
|
const { getAppName } = require('@blocklet/meta/lib/util');
|
|
7
7
|
|
|
@@ -21,7 +21,7 @@ const { isValid } = require('@arcblock/did');
|
|
|
21
21
|
const { BLOCKLET_CONFIGURABLE_KEY, BlockletEvents } = require('@blocklet/constant');
|
|
22
22
|
const { SpaceClient, IncrementalBackupBlockletCommand } = require('@did-space/client');
|
|
23
23
|
const { ensureDirSync, existsSync, remove } = require('fs-extra');
|
|
24
|
-
const
|
|
24
|
+
const isEmpty = require('lodash/isEmpty');
|
|
25
25
|
const { join, basename } = require('path');
|
|
26
26
|
const { getAppName, getAppDescription } = require('@blocklet/meta/lib/util');
|
|
27
27
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const { removeSync, outputJsonSync, readJSONSync } = require('fs-extra');
|
|
2
|
-
const
|
|
2
|
+
const isEmpty = require('lodash/isEmpty');
|
|
3
|
+
const cloneDeep = require('lodash/cloneDeep');
|
|
3
4
|
const { join } = require('path');
|
|
4
5
|
const security = require('@abtnode/util/lib/security');
|
|
5
6
|
const { BLOCKLET_CONFIGURABLE_KEY } = require('@blocklet/constant');
|
package/lib/cert.js
CHANGED
|
@@ -89,17 +89,21 @@ class Cert extends EventEmitter {
|
|
|
89
89
|
return this.manager
|
|
90
90
|
.issue({ domain, siteId, inBlockletSetup }, { delay, metadata: { inBlockletSetup, blockletDid: did } })
|
|
91
91
|
.then(async (cert) => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
// 在 Blocklet Dashboard 中添加域名时,需要更新 domainAliases 中 certificateId
|
|
93
|
+
// 直接在 Blocklet Server Dashboard 中添加域名时,不需要更新 domainAliases 中 certificateId
|
|
94
|
+
if (siteId) {
|
|
95
|
+
const site = await this.states.site.findOne({ id: siteId });
|
|
96
|
+
for (const d of site.domainAliases) {
|
|
97
|
+
if (d.value === domain) {
|
|
98
|
+
d.certificateId = cert.id;
|
|
99
|
+
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
98
102
|
}
|
|
99
|
-
}
|
|
100
103
|
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
await this.states.site.update({ id: siteId }, { $set: { domainAliases: site.domainAliases } });
|
|
105
|
+
logger.info('updated cert id for domain alias', { domain, did, certId: cert.id });
|
|
106
|
+
}
|
|
103
107
|
|
|
104
108
|
return cert;
|
|
105
109
|
});
|
package/lib/index.js
CHANGED
|
@@ -344,6 +344,8 @@ function ABTNode(options) {
|
|
|
344
344
|
getProject: blockletManager.getProject.bind(blockletManager),
|
|
345
345
|
updateProject: blockletManager.updateProject.bind(blockletManager),
|
|
346
346
|
createRelease: blockletManager.createRelease.bind(blockletManager),
|
|
347
|
+
connectToStore: blockletManager.connectToStore.bind(blockletManager),
|
|
348
|
+
publishToStore: blockletManager.publishToStore.bind(blockletManager),
|
|
347
349
|
getReleases: blockletManager.getReleases.bind(blockletManager),
|
|
348
350
|
getRelease: blockletManager.getRelease.bind(blockletManager),
|
|
349
351
|
deleteRelease: blockletManager.deleteRelease.bind(blockletManager),
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/* eslint-disable no-await-in-loop */
|
|
2
2
|
|
|
3
3
|
const { DEFAULT_DID_REGISTRY, DEFAULT_DID_DOMAIN } = require('@abtnode/constant');
|
|
4
|
-
const
|
|
4
|
+
const omit = require('lodash/omit');
|
|
5
|
+
const isEmpty = require('lodash/isEmpty');
|
|
5
6
|
|
|
6
7
|
const updateNodeInfo = async ({ printInfo, states }) => {
|
|
7
8
|
// add didRegistry and didDomain
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const filesize = require('filesize');
|
|
1
|
+
const { filesize } = require('filesize');
|
|
2
2
|
const { sendToAppChannel } = require('@blocklet/sdk/lib/util/send-notification');
|
|
3
3
|
const { getAppPublicChannel } = require('@blocklet/meta/lib/channel');
|
|
4
4
|
|
|
@@ -57,7 +57,7 @@ class NodeMonitSender {
|
|
|
57
57
|
const cpuContent = `${Math.floor(cpuPercent)}%`;
|
|
58
58
|
const memoryPercent = (usedMem / totalMem) * 100;
|
|
59
59
|
const memoryWanning = memoryPercent > 90;
|
|
60
|
-
const memContent = `${filesize(Math.floor(usedMem))} (${Math.floor(memoryPercent)}%)`;
|
|
60
|
+
const memContent = `${filesize(Math.floor(usedMem), { base: 2 })} (${Math.floor(memoryPercent)}%)`;
|
|
61
61
|
|
|
62
62
|
const sender = await this.getSender();
|
|
63
63
|
const channel = getAppPublicChannel(sender.appDid);
|
package/lib/states/release.js
CHANGED
package/lib/team/manager.js
CHANGED
|
@@ -318,6 +318,7 @@ class TeamManager extends EventEmitter {
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
const metaDid = await this.states.blocklet.getBlockletMetaDid(did);
|
|
321
|
+
|
|
321
322
|
await this.states.blockletExtras.setSettings(metaDid, { storeList: list });
|
|
322
323
|
this.emit(BlockletEvents.storeChange, { meta: { did: metaDid } });
|
|
323
324
|
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.16.
|
|
6
|
+
"version": "1.16.26-beta-c724c8e6",
|
|
7
7
|
"description": "",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -19,41 +19,42 @@
|
|
|
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.
|
|
23
|
-
"@abtnode/auth": "1.16.
|
|
24
|
-
"@abtnode/certificate-manager": "1.16.
|
|
25
|
-
"@abtnode/constant": "1.16.
|
|
26
|
-
"@abtnode/cron": "1.16.
|
|
27
|
-
"@abtnode/logger": "1.16.
|
|
28
|
-
"@abtnode/models": "1.16.
|
|
29
|
-
"@abtnode/queue": "1.16.
|
|
30
|
-
"@abtnode/rbac": "1.16.
|
|
31
|
-
"@abtnode/router-provider": "1.16.
|
|
32
|
-
"@abtnode/static-server": "1.16.
|
|
33
|
-
"@abtnode/timemachine": "1.16.
|
|
34
|
-
"@abtnode/util": "1.16.
|
|
35
|
-
"@arcblock/did": "1.18.
|
|
36
|
-
"@arcblock/did-auth": "1.18.
|
|
37
|
-
"@arcblock/did-ext": "^1.18.
|
|
22
|
+
"@abtnode/analytics": "1.16.26-beta-c724c8e6",
|
|
23
|
+
"@abtnode/auth": "1.16.26-beta-c724c8e6",
|
|
24
|
+
"@abtnode/certificate-manager": "1.16.26-beta-c724c8e6",
|
|
25
|
+
"@abtnode/constant": "1.16.26-beta-c724c8e6",
|
|
26
|
+
"@abtnode/cron": "1.16.26-beta-c724c8e6",
|
|
27
|
+
"@abtnode/logger": "1.16.26-beta-c724c8e6",
|
|
28
|
+
"@abtnode/models": "1.16.26-beta-c724c8e6",
|
|
29
|
+
"@abtnode/queue": "1.16.26-beta-c724c8e6",
|
|
30
|
+
"@abtnode/rbac": "1.16.26-beta-c724c8e6",
|
|
31
|
+
"@abtnode/router-provider": "1.16.26-beta-c724c8e6",
|
|
32
|
+
"@abtnode/static-server": "1.16.26-beta-c724c8e6",
|
|
33
|
+
"@abtnode/timemachine": "1.16.26-beta-c724c8e6",
|
|
34
|
+
"@abtnode/util": "1.16.26-beta-c724c8e6",
|
|
35
|
+
"@arcblock/did": "1.18.114",
|
|
36
|
+
"@arcblock/did-auth": "1.18.114",
|
|
37
|
+
"@arcblock/did-ext": "^1.18.114",
|
|
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.114",
|
|
40
|
+
"@arcblock/event-hub": "1.18.114",
|
|
41
|
+
"@arcblock/jwt": "^1.18.114",
|
|
42
42
|
"@arcblock/pm2-events": "^0.0.5",
|
|
43
|
-
"@arcblock/validator": "^1.18.
|
|
44
|
-
"@arcblock/vc": "1.18.
|
|
45
|
-
"@blocklet/constant": "1.16.
|
|
46
|
-
"@blocklet/env": "1.16.
|
|
47
|
-
"@blocklet/meta": "1.16.
|
|
48
|
-
"@blocklet/resolver": "1.16.
|
|
49
|
-
"@blocklet/sdk": "1.16.
|
|
50
|
-
"@
|
|
43
|
+
"@arcblock/validator": "^1.18.114",
|
|
44
|
+
"@arcblock/vc": "1.18.114",
|
|
45
|
+
"@blocklet/constant": "1.16.26-beta-c724c8e6",
|
|
46
|
+
"@blocklet/env": "1.16.26-beta-c724c8e6",
|
|
47
|
+
"@blocklet/meta": "1.16.26-beta-c724c8e6",
|
|
48
|
+
"@blocklet/resolver": "1.16.26-beta-c724c8e6",
|
|
49
|
+
"@blocklet/sdk": "1.16.26-beta-c724c8e6",
|
|
50
|
+
"@blocklet/store": "1.16.26-beta-c724c8e6",
|
|
51
|
+
"@did-space/client": "^0.3.75",
|
|
51
52
|
"@fidm/x509": "^1.2.1",
|
|
52
|
-
"@ocap/mcrypto": "1.18.
|
|
53
|
-
"@ocap/util": "1.18.
|
|
54
|
-
"@ocap/wallet": "1.18.
|
|
53
|
+
"@ocap/mcrypto": "1.18.114",
|
|
54
|
+
"@ocap/util": "1.18.114",
|
|
55
|
+
"@ocap/wallet": "1.18.114",
|
|
55
56
|
"@slack/webhook": "^5.0.4",
|
|
56
|
-
"archiver": "^
|
|
57
|
+
"archiver": "^7.0.1",
|
|
57
58
|
"axios": "^0.27.2",
|
|
58
59
|
"axon": "^2.0.3",
|
|
59
60
|
"chalk": "^4.1.2",
|
|
@@ -62,14 +63,14 @@
|
|
|
62
63
|
"detect-port": "^1.5.1",
|
|
63
64
|
"escape-string-regexp": "^4.0.0",
|
|
64
65
|
"fast-glob": "^3.3.2",
|
|
65
|
-
"filesize": "^
|
|
66
|
+
"filesize": "^10.1.1",
|
|
66
67
|
"flat": "^5.0.2",
|
|
67
68
|
"fs-extra": "^11.2.0",
|
|
68
69
|
"get-port": "^5.1.1",
|
|
69
70
|
"hasha": "^5.2.2",
|
|
70
71
|
"is-base64": "^1.1.0",
|
|
71
72
|
"is-url": "^1.2.4",
|
|
72
|
-
"joi": "17.
|
|
73
|
+
"joi": "17.12.2",
|
|
73
74
|
"joi-extension-semver": "^5.0.0",
|
|
74
75
|
"js-yaml": "^4.1.0",
|
|
75
76
|
"kill-port": "^2.0.1",
|
|
@@ -102,5 +103,5 @@
|
|
|
102
103
|
"jest": "^29.7.0",
|
|
103
104
|
"unzipper": "^0.10.11"
|
|
104
105
|
},
|
|
105
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "f2b51533d934be041b1cc5b4b2fc8c56f4855a26"
|
|
106
107
|
}
|