@abtnode/core 1.16.41 → 1.16.42-beta-20250402-131159-7647e64d
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 +1 -1
- package/lib/blocklet/downloader/bundle-downloader.js +1 -1
- package/lib/blocklet/extras.js +1 -1
- package/lib/blocklet/manager/disk.js +10 -5
- package/lib/blocklet/manager/helper/install-component-from-upload.js +0 -8
- package/lib/blocklet/manager/helper/migrate-application-to-struct-v2.js +1 -1
- package/lib/blocklet/manager/helper/upgrade-components.js +1 -1
- package/lib/blocklet/migration-dist/migration.cjs +9 -13
- package/lib/blocklet/security/utils.js +1 -1
- package/lib/blocklet/security/vault.js +1 -1
- package/lib/blocklet/storage/backup/blocklet-extras.js +1 -1
- package/lib/blocklet/storage/backup/blocklet.js +1 -1
- package/lib/blocklet/storage/restore/blocklet-extras.js +1 -1
- package/lib/event/index.js +2 -3
- package/lib/migrations/1.6.4-security.js +1 -1
- package/lib/migrations/1.6.5-security.js +1 -1
- package/lib/monitor/blocklet-runtime-monitor.js +1 -1
- package/lib/monitor/node-runtime-monitor.js +1 -1
- package/lib/router/helper.js +1 -1
- package/lib/router/index.js +1 -1
- package/lib/router/manager.js +1 -1
- package/lib/states/blocklet.js +1 -1
- package/lib/states/user.js +16 -2
- package/lib/util/get-migration-scripts.js +8 -12
- package/package.json +26 -26
package/lib/api/team.js
CHANGED
|
@@ -3,7 +3,7 @@ const axios = require('@abtnode/util/lib/axios');
|
|
|
3
3
|
const pick = require('lodash/pick');
|
|
4
4
|
const defaults = require('lodash/defaults');
|
|
5
5
|
const isEmpty = require('lodash/isEmpty');
|
|
6
|
-
const cloneDeep = require('
|
|
6
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
7
7
|
const { joinURL, withoutTrailingSlash } = require('ufo');
|
|
8
8
|
|
|
9
9
|
const logger = require('@abtnode/logger')('@abtnode/core:api:team');
|
|
@@ -3,7 +3,7 @@ const fs = require('fs-extra');
|
|
|
3
3
|
const { fileURLToPath } = require('url');
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const pick = require('lodash/pick');
|
|
6
|
-
const cloneDeep = require('
|
|
6
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
7
7
|
const { toBase58 } = require('@ocap/util');
|
|
8
8
|
|
|
9
9
|
const defaultLogger = require('@abtnode/logger')('@abtnode/core:bundle-downloader');
|
package/lib/blocklet/extras.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const uniqBy = require('lodash/uniqBy');
|
|
2
|
-
const cloneDeep = require('
|
|
2
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
3
3
|
const security = require('@abtnode/util/lib/security');
|
|
4
4
|
const { BLOCKLET_CONFIGURABLE_KEY } = require('@blocklet/constant');
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ const merge = require('lodash/merge');
|
|
|
12
12
|
const pick = require('lodash/pick');
|
|
13
13
|
const uniqBy = require('lodash/uniqBy');
|
|
14
14
|
const isEmpty = require('lodash/isEmpty');
|
|
15
|
-
const cloneDeep = require('
|
|
15
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
16
16
|
const defaultsDeep = require('lodash/defaultsDeep');
|
|
17
17
|
const isNil = require('lodash/isNil');
|
|
18
18
|
const isFunction = require('lodash/isFunction');
|
|
@@ -867,7 +867,7 @@ class DiskBlockletManager extends BaseBlockletManager {
|
|
|
867
867
|
if (checkDockerRunHistory(nodeInfo)) {
|
|
868
868
|
const needChownDirs = [];
|
|
869
869
|
await forEachBlocklet(blocklet, (b, { ancestors }) => {
|
|
870
|
-
if (!b.meta?.docker?.image) {
|
|
870
|
+
if (!b.meta?.docker?.image || b.meta?.docker?.runBaseScript) {
|
|
871
871
|
return;
|
|
872
872
|
}
|
|
873
873
|
const env = getRuntimeEnvironments(b, nodeEnvironments, ancestors);
|
|
@@ -4027,15 +4027,20 @@ class DiskBlockletManager extends BaseBlockletManager {
|
|
|
4027
4027
|
const nodeEnvironments = await states.node.getEnvironments();
|
|
4028
4028
|
|
|
4029
4029
|
const runMigration = async (b) => {
|
|
4030
|
+
if (!componentDids.includes(b.meta.did)) {
|
|
4031
|
+
return;
|
|
4032
|
+
}
|
|
4030
4033
|
const nextEnv = getRuntimeEnvironments(b, nodeEnvironments, [blocklet]);
|
|
4031
4034
|
const subNeedRunDocker = await checkNeedRunDocker(b.meta, nextEnv, nodeInfo);
|
|
4032
4035
|
const hookArgs = getHookArgs(b);
|
|
4033
4036
|
|
|
4037
|
+
const scriptsDir = path.join(b.env.appDir, 'migration');
|
|
4038
|
+
const scripts = await getMigrationScripts(scriptsDir, oldVersions[b.meta.did]);
|
|
4039
|
+
if (!scripts.length) {
|
|
4040
|
+
return;
|
|
4041
|
+
}
|
|
4034
4042
|
try {
|
|
4035
4043
|
if (subNeedRunDocker) {
|
|
4036
|
-
const scriptsDir = path.join(b.env.appDir, 'migration');
|
|
4037
|
-
const scripts = await getMigrationScripts(scriptsDir);
|
|
4038
|
-
|
|
4039
4044
|
if (scripts.length) {
|
|
4040
4045
|
await dockerExec({
|
|
4041
4046
|
blocklet,
|
|
@@ -19,8 +19,6 @@ const {
|
|
|
19
19
|
getBlockletStatus,
|
|
20
20
|
} = require('../../../util/blocklet');
|
|
21
21
|
const { resolveDownload, resolveDiffDownload, downloadFromUpload } = require('../../downloader/resolve-download');
|
|
22
|
-
const checkDockerRunHistory = require('../../../util/docker/check-docker-run-history');
|
|
23
|
-
const { dockerExecChown } = require('../../../util/docker/docker-exec-chown');
|
|
24
22
|
|
|
25
23
|
const installComponentFromUpload = async ({
|
|
26
24
|
rootDid,
|
|
@@ -174,12 +172,6 @@ const diff = async ({ did, hashFiles: clientFiles, rootDid: inputRootDid, states
|
|
|
174
172
|
const { version } = state.meta;
|
|
175
173
|
const bundleDir = getBundleDir(manager.installDir, state.meta);
|
|
176
174
|
|
|
177
|
-
// TODO,reduce chmod 这个需要在所有需要部署的机器都升级并且运行了一段时间后才可以移除
|
|
178
|
-
const nodeInfo = await states.node.read();
|
|
179
|
-
if (checkDockerRunHistory(nodeInfo)) {
|
|
180
|
-
await dockerExecChown({ name: `${rootDid}-${did}-deploy`, dirs: [bundleDir] });
|
|
181
|
-
}
|
|
182
|
-
|
|
183
175
|
const { addSet, changeSet, deleteSet } = await getDiffFiles(clientFiles, bundleDir);
|
|
184
176
|
|
|
185
177
|
logger.info('Diff files', {
|
|
@@ -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 cloneDeep = require('
|
|
36
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
37
37
|
|
|
38
38
|
const { getBlockletDomainGroupName } = require('../../../util/router');
|
|
39
39
|
const { getBundleDir } = require('../../../util/blocklet');
|
|
@@ -1338,10 +1338,11 @@ const fs = __nccwpck_require__(9896);
|
|
|
1338
1338
|
const semver = __nccwpck_require__(2088);
|
|
1339
1339
|
const uniqBy = __nccwpck_require__(813);
|
|
1340
1340
|
|
|
1341
|
-
const getMigrationScripts = (scriptsDir) => {
|
|
1341
|
+
const getMigrationScripts = (scriptsDir, version) => {
|
|
1342
1342
|
if (!fs.existsSync(scriptsDir)) {
|
|
1343
1343
|
return [];
|
|
1344
1344
|
}
|
|
1345
|
+
|
|
1345
1346
|
const files = fs.readdirSync(scriptsDir);
|
|
1346
1347
|
const scripts = files
|
|
1347
1348
|
.filter((x) => semver.coerce(x))
|
|
@@ -1350,23 +1351,18 @@ const getMigrationScripts = (scriptsDir) => {
|
|
|
1350
1351
|
version: semver.coerce(x).version,
|
|
1351
1352
|
}));
|
|
1352
1353
|
|
|
1353
|
-
const sorted = scripts.sort((a, b) =>
|
|
1354
|
-
if (semver.gt(a.version, b.version)) {
|
|
1355
|
-
return 1;
|
|
1356
|
-
}
|
|
1357
|
-
if (semver.lt(a.version, b.version)) {
|
|
1358
|
-
return -1;
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
return 0;
|
|
1362
|
-
});
|
|
1354
|
+
const sorted = scripts.sort((a, b) => semver.compare(a.version, b.version));
|
|
1363
1355
|
|
|
1364
1356
|
const uniq = uniqBy(sorted, (x) => x.version);
|
|
1365
1357
|
if (uniq.length !== sorted.length) {
|
|
1366
1358
|
throw new Error('Migration scripts with same version is not allowed');
|
|
1367
1359
|
}
|
|
1368
1360
|
|
|
1369
|
-
|
|
1361
|
+
if (version && typeof version === 'string') {
|
|
1362
|
+
return uniq.filter((x) => semver.gte(x.version, version));
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
return uniq;
|
|
1370
1366
|
};
|
|
1371
1367
|
|
|
1372
1368
|
module.exports = getMigrationScripts;
|
|
@@ -38719,7 +38715,7 @@ module.exports = require("zlib");
|
|
|
38719
38715
|
/***/ ((module) => {
|
|
38720
38716
|
|
|
38721
38717
|
"use strict";
|
|
38722
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@abtnode/core","publishConfig":{"access":"public"},"version":"1.16.
|
|
38718
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@abtnode/core","publishConfig":{"access":"public"},"version":"1.16.41","description":"","main":"lib/index.js","files":["lib"],"scripts":{"lint":"eslint tests lib --ignore-pattern \'tests/assets/*\'","lint:fix":"eslint --fix tests lib","test":"node tools/jest.js","coverage":"npm run test -- --coverage"},"keywords":[],"author":"wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)","license":"Apache-2.0","dependencies":{"@abtnode/analytics":"1.16.41","@abtnode/auth":"1.16.41","@abtnode/certificate-manager":"1.16.41","@abtnode/constant":"1.16.41","@abtnode/cron":"1.16.41","@abtnode/docker-utils":"1.16.41","@abtnode/logger":"1.16.41","@abtnode/models":"1.16.41","@abtnode/queue":"1.16.41","@abtnode/rbac":"1.16.41","@abtnode/router-provider":"1.16.41","@abtnode/static-server":"1.16.41","@abtnode/timemachine":"1.16.41","@abtnode/util":"1.16.41","@arcblock/did":"1.19.15","@arcblock/did-auth":"1.19.15","@arcblock/did-ext":"^1.19.16","@arcblock/did-motif":"^1.1.13","@arcblock/did-util":"1.19.15","@arcblock/event-hub":"1.19.15","@arcblock/jwt":"^1.19.16","@arcblock/pm2-events":"^0.0.5","@arcblock/validator":"^1.19.16","@arcblock/vc":"1.19.15","@blocklet/constant":"1.16.41","@blocklet/did-space-js":"^1.0.38","@blocklet/env":"1.16.41","@blocklet/meta":"1.16.41","@blocklet/resolver":"1.16.41","@blocklet/sdk":"1.16.41","@blocklet/store":"1.16.41","@fidm/x509":"^1.2.1","@ocap/mcrypto":"1.19.15","@ocap/util":"1.19.15","@ocap/wallet":"1.19.15","@slack/webhook":"^5.0.4","archiver":"^7.0.1","axios":"^1.7.9","axon":"^2.0.3","chalk":"^4.1.2","cross-spawn":"^7.0.3","dayjs":"^1.11.13","deep-diff":"^1.0.2","detect-port":"^1.5.1","envfile":"^7.1.0","escape-string-regexp":"^4.0.0","fast-glob":"^3.3.2","filesize":"^10.1.1","flat":"^5.0.2","fs-extra":"^11.2.0","get-port":"^5.1.1","hasha":"^5.2.2","is-base64":"^1.1.0","is-cidr":"4","is-ip":"3","is-url":"^1.2.4","joi":"17.12.2","joi-extension-semver":"^5.0.0","js-yaml":"^4.1.0","kill-port":"^2.0.1","lodash":"^4.17.21","lru-cache":"^11.0.2","node-stream-zip":"^1.15.0","p-all":"^3.0.0","p-limit":"^3.1.0","p-map":"^4.0.0","p-retry":"^4.6.2","rate-limiter-flexible":"^5.0.5","read-last-lines":"^1.8.0","semver":"^7.6.3","sequelize":"^6.35.0","shelljs":"^0.8.5","ssri":"^8.0.1","stream-throttle":"^0.1.3","stream-to-promise":"^3.0.0","systeminformation":"^5.23.3","tail":"^2.2.4","tar":"^6.1.11","transliteration":"^2.3.5","ua-parser-js":"^1.0.2","ufo":"^1.5.3","uuid":"^9.0.1","valid-url":"^1.0.9","which":"^2.0.2","xbytes":"^1.8.0"},"devDependencies":{"expand-tilde":"^2.0.2","express":"^4.18.2","jest":"^29.7.0","unzipper":"^0.10.11"},"gitHead":"e5764f753181ed6a7c615cd4fc6682aacf0cb7cd"}');
|
|
38723
38719
|
|
|
38724
38720
|
/***/ }),
|
|
38725
38721
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const { readFileSync, outputJson } = require('fs-extra');
|
|
2
2
|
const isEmpty = require('lodash/isEmpty');
|
|
3
|
-
const cloneDeep = require('
|
|
3
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
4
4
|
const { join } = require('path');
|
|
5
5
|
const security = require('@abtnode/util/lib/security');
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const { outputJson, createWriteStream, createReadStream, ensureDir } = require('fs-extra');
|
|
2
|
-
const cloneDeep = require('
|
|
2
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
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,6 +1,6 @@
|
|
|
1
1
|
const { removeSync, outputJsonSync, readJSONSync } = require('fs-extra');
|
|
2
2
|
const isEmpty = require('lodash/isEmpty');
|
|
3
|
-
const cloneDeep = require('
|
|
3
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
4
4
|
const { join } = require('path');
|
|
5
5
|
const security = require('@abtnode/util/lib/security');
|
|
6
6
|
const { BLOCKLET_CONFIGURABLE_KEY } = require('@blocklet/constant');
|
package/lib/event/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const get = require('lodash/get');
|
|
2
|
-
const cloneDeep = require('lodash/cloneDeep');
|
|
3
2
|
const { EventEmitter } = require('events');
|
|
4
3
|
const { wipeSensitiveData, getDisplayName } = require('@blocklet/meta/lib/util');
|
|
5
4
|
const logger = require('@abtnode/logger')('@abtnode/core:event');
|
|
@@ -119,11 +118,11 @@ module.exports = ({
|
|
|
119
118
|
const onEvent = (name, data, disabledNodeListener = false) => {
|
|
120
119
|
let safeData = data;
|
|
121
120
|
if (get(data, 'meta.did', '')) {
|
|
122
|
-
safeData = wipeSensitiveData(
|
|
121
|
+
safeData = wipeSensitiveData(data);
|
|
123
122
|
}
|
|
124
123
|
|
|
125
124
|
if (get(safeData, 'blocklet.meta.did', '')) {
|
|
126
|
-
safeData.blocklet = wipeSensitiveData(
|
|
125
|
+
safeData.blocklet = wipeSensitiveData(safeData.blocklet);
|
|
127
126
|
}
|
|
128
127
|
|
|
129
128
|
logger.debug('proxy event to event hub', { name });
|
|
@@ -3,7 +3,7 @@ const fs = require('fs');
|
|
|
3
3
|
const path = require('path');
|
|
4
4
|
const crypto = require('crypto');
|
|
5
5
|
const yaml = require('js-yaml');
|
|
6
|
-
const cloneDeep = require('
|
|
6
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
7
7
|
const security = require('@abtnode/util/lib/security');
|
|
8
8
|
|
|
9
9
|
module.exports = async ({ states, configFile, dataDir }) => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const fs = require('fs');
|
|
3
3
|
const path = require('path');
|
|
4
4
|
const uniq = require('lodash/uniq');
|
|
5
|
-
const cloneDeep = require('
|
|
5
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
6
6
|
const security = require('@abtnode/util/lib/security');
|
|
7
7
|
const { forEachBlocklet } = require('@blocklet/meta/lib/util');
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const { EventEmitter } = require('events');
|
|
2
2
|
|
|
3
|
-
const cloneDeep = require('
|
|
3
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
4
4
|
const pLimit = require('p-limit');
|
|
5
5
|
const dayjs = require('@abtnode/util/lib/dayjs');
|
|
6
6
|
const { forEachBlocklet, isGatewayBlocklet, hasStartEngine } = require('@blocklet/meta/lib/util');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const { EventEmitter } = require('events');
|
|
2
2
|
const dayjs = require('@abtnode/util/lib/dayjs');
|
|
3
3
|
const pick = require('lodash/pick');
|
|
4
|
-
const cloneDeep = require('
|
|
4
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
5
5
|
|
|
6
6
|
const { PROCESS_NAME_DAEMON, PROCESS_NAME_SERVICE, EVENTS } = require('@abtnode/constant');
|
|
7
7
|
const defaultLogger = require('@abtnode/logger')('@abtnode/util:node-runtime-info');
|
package/lib/router/helper.js
CHANGED
|
@@ -7,7 +7,7 @@ const UUID = require('uuid');
|
|
|
7
7
|
const dayjs = require('@abtnode/util/lib/dayjs');
|
|
8
8
|
const isUrl = require('is-url');
|
|
9
9
|
const get = require('lodash/get');
|
|
10
|
-
const cloneDeep = require('
|
|
10
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
11
11
|
const groupBy = require('lodash/groupBy');
|
|
12
12
|
const uniq = require('lodash/uniq');
|
|
13
13
|
const isEqual = require('lodash/isEqual');
|
package/lib/router/index.js
CHANGED
|
@@ -3,7 +3,7 @@ const uniq = require('lodash/uniq');
|
|
|
3
3
|
const throttle = require('lodash/throttle');
|
|
4
4
|
const pick = require('lodash/pick');
|
|
5
5
|
const isEqual = require('lodash/isEqual');
|
|
6
|
-
const cloneDeep = require('
|
|
6
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
7
7
|
const {
|
|
8
8
|
DOMAIN_FOR_DEFAULT_SITE,
|
|
9
9
|
DOMAIN_FOR_IP_SITE_REGEXP,
|
package/lib/router/manager.js
CHANGED
|
@@ -15,7 +15,7 @@ const { EventEmitter } = require('events');
|
|
|
15
15
|
const uuid = require('uuid');
|
|
16
16
|
const isUrl = require('is-url');
|
|
17
17
|
const { joinURL } = require('ufo');
|
|
18
|
-
const cloneDeep = require('
|
|
18
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
19
19
|
const normalizePathPrefix = require('@abtnode/util/lib/normalize-path-prefix');
|
|
20
20
|
const logger = require('@abtnode/logger')('@abtnode/core:router:manager');
|
|
21
21
|
const { getProvider } = require('@abtnode/router-provider');
|
package/lib/states/blocklet.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
const pick = require('lodash/pick');
|
|
6
6
|
const omit = require('lodash/omit');
|
|
7
7
|
const uniq = require('lodash/uniq');
|
|
8
|
-
const cloneDeep = require('
|
|
8
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
9
9
|
const detectPort = require('detect-port');
|
|
10
10
|
const Lock = require('@abtnode/util/lib/lock');
|
|
11
11
|
const security = require('@abtnode/util/lib/security');
|
package/lib/states/user.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const cloneDeep = require('
|
|
1
|
+
const cloneDeep = require('@abtnode/util/lib/deep-clone');
|
|
2
2
|
const pickBy = require('lodash/pickBy');
|
|
3
3
|
const get = require('lodash/get');
|
|
4
4
|
const pick = require('lodash/pick');
|
|
@@ -125,7 +125,21 @@ class User extends ExtendBase {
|
|
|
125
125
|
await Promise.all(
|
|
126
126
|
(get(cloneData, 'passports') || [])
|
|
127
127
|
.filter((x) => x.id)
|
|
128
|
-
.map((
|
|
128
|
+
.map(({ id, ...x }) => {
|
|
129
|
+
// HACK: 原来是直接使用 upsert 方法,但会出现 validation error,暂时先改成有查询到旧的值,使用 update 方法
|
|
130
|
+
return this.passport
|
|
131
|
+
.findOne({ id })
|
|
132
|
+
.then((passport) => {
|
|
133
|
+
if (passport) {
|
|
134
|
+
return this.passport.update({ id }, { ...x, userDid: did });
|
|
135
|
+
}
|
|
136
|
+
return this.passport.upsert({ id }, { ...x, userDid: did });
|
|
137
|
+
})
|
|
138
|
+
.catch((err) => {
|
|
139
|
+
console.error(`Failed to process passport ${id}:`, err);
|
|
140
|
+
throw err;
|
|
141
|
+
});
|
|
142
|
+
})
|
|
129
143
|
);
|
|
130
144
|
await Promise.all(
|
|
131
145
|
(get(cloneData, 'connectedAccounts') || [])
|
|
@@ -2,10 +2,11 @@ const fs = require('fs');
|
|
|
2
2
|
const semver = require('semver');
|
|
3
3
|
const uniqBy = require('lodash/uniqBy');
|
|
4
4
|
|
|
5
|
-
const getMigrationScripts = (scriptsDir) => {
|
|
5
|
+
const getMigrationScripts = (scriptsDir, version) => {
|
|
6
6
|
if (!fs.existsSync(scriptsDir)) {
|
|
7
7
|
return [];
|
|
8
8
|
}
|
|
9
|
+
|
|
9
10
|
const files = fs.readdirSync(scriptsDir);
|
|
10
11
|
const scripts = files
|
|
11
12
|
.filter((x) => semver.coerce(x))
|
|
@@ -14,23 +15,18 @@ const getMigrationScripts = (scriptsDir) => {
|
|
|
14
15
|
version: semver.coerce(x).version,
|
|
15
16
|
}));
|
|
16
17
|
|
|
17
|
-
const sorted = scripts.sort((a, b) =>
|
|
18
|
-
if (semver.gt(a.version, b.version)) {
|
|
19
|
-
return 1;
|
|
20
|
-
}
|
|
21
|
-
if (semver.lt(a.version, b.version)) {
|
|
22
|
-
return -1;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return 0;
|
|
26
|
-
});
|
|
18
|
+
const sorted = scripts.sort((a, b) => semver.compare(a.version, b.version));
|
|
27
19
|
|
|
28
20
|
const uniq = uniqBy(sorted, (x) => x.version);
|
|
29
21
|
if (uniq.length !== sorted.length) {
|
|
30
22
|
throw new Error('Migration scripts with same version is not allowed');
|
|
31
23
|
}
|
|
32
24
|
|
|
33
|
-
|
|
25
|
+
if (version && typeof version === 'string') {
|
|
26
|
+
return uniq.filter((x) => semver.gte(x.version, version));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return uniq;
|
|
34
30
|
};
|
|
35
31
|
|
|
36
32
|
module.exports = getMigrationScripts;
|
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.42-beta-20250402-131159-7647e64d",
|
|
7
7
|
"description": "",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -19,37 +19,37 @@
|
|
|
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/docker-utils": "1.16.
|
|
28
|
-
"@abtnode/logger": "1.16.
|
|
29
|
-
"@abtnode/models": "1.16.
|
|
30
|
-
"@abtnode/queue": "1.16.
|
|
31
|
-
"@abtnode/rbac": "1.16.
|
|
32
|
-
"@abtnode/router-provider": "1.16.
|
|
33
|
-
"@abtnode/static-server": "1.16.
|
|
34
|
-
"@abtnode/timemachine": "1.16.
|
|
35
|
-
"@abtnode/util": "1.16.
|
|
22
|
+
"@abtnode/analytics": "1.16.42-beta-20250402-131159-7647e64d",
|
|
23
|
+
"@abtnode/auth": "1.16.42-beta-20250402-131159-7647e64d",
|
|
24
|
+
"@abtnode/certificate-manager": "1.16.42-beta-20250402-131159-7647e64d",
|
|
25
|
+
"@abtnode/constant": "1.16.42-beta-20250402-131159-7647e64d",
|
|
26
|
+
"@abtnode/cron": "1.16.42-beta-20250402-131159-7647e64d",
|
|
27
|
+
"@abtnode/docker-utils": "1.16.42-beta-20250402-131159-7647e64d",
|
|
28
|
+
"@abtnode/logger": "1.16.42-beta-20250402-131159-7647e64d",
|
|
29
|
+
"@abtnode/models": "1.16.42-beta-20250402-131159-7647e64d",
|
|
30
|
+
"@abtnode/queue": "1.16.42-beta-20250402-131159-7647e64d",
|
|
31
|
+
"@abtnode/rbac": "1.16.42-beta-20250402-131159-7647e64d",
|
|
32
|
+
"@abtnode/router-provider": "1.16.42-beta-20250402-131159-7647e64d",
|
|
33
|
+
"@abtnode/static-server": "1.16.42-beta-20250402-131159-7647e64d",
|
|
34
|
+
"@abtnode/timemachine": "1.16.42-beta-20250402-131159-7647e64d",
|
|
35
|
+
"@abtnode/util": "1.16.42-beta-20250402-131159-7647e64d",
|
|
36
36
|
"@arcblock/did": "1.19.15",
|
|
37
37
|
"@arcblock/did-auth": "1.19.15",
|
|
38
|
-
"@arcblock/did-ext": "^1.19.
|
|
38
|
+
"@arcblock/did-ext": "^1.19.16",
|
|
39
39
|
"@arcblock/did-motif": "^1.1.13",
|
|
40
40
|
"@arcblock/did-util": "1.19.15",
|
|
41
41
|
"@arcblock/event-hub": "1.19.15",
|
|
42
|
-
"@arcblock/jwt": "^1.19.
|
|
42
|
+
"@arcblock/jwt": "^1.19.16",
|
|
43
43
|
"@arcblock/pm2-events": "^0.0.5",
|
|
44
|
-
"@arcblock/validator": "^1.19.
|
|
44
|
+
"@arcblock/validator": "^1.19.16",
|
|
45
45
|
"@arcblock/vc": "1.19.15",
|
|
46
|
-
"@blocklet/constant": "1.16.
|
|
47
|
-
"@blocklet/did-space-js": "^1.0.
|
|
48
|
-
"@blocklet/env": "1.16.
|
|
49
|
-
"@blocklet/meta": "1.16.
|
|
50
|
-
"@blocklet/resolver": "1.16.
|
|
51
|
-
"@blocklet/sdk": "1.16.
|
|
52
|
-
"@blocklet/store": "1.16.
|
|
46
|
+
"@blocklet/constant": "1.16.42-beta-20250402-131159-7647e64d",
|
|
47
|
+
"@blocklet/did-space-js": "^1.0.38",
|
|
48
|
+
"@blocklet/env": "1.16.42-beta-20250402-131159-7647e64d",
|
|
49
|
+
"@blocklet/meta": "1.16.42-beta-20250402-131159-7647e64d",
|
|
50
|
+
"@blocklet/resolver": "1.16.42-beta-20250402-131159-7647e64d",
|
|
51
|
+
"@blocklet/sdk": "1.16.42-beta-20250402-131159-7647e64d",
|
|
52
|
+
"@blocklet/store": "1.16.42-beta-20250402-131159-7647e64d",
|
|
53
53
|
"@fidm/x509": "^1.2.1",
|
|
54
54
|
"@ocap/mcrypto": "1.19.15",
|
|
55
55
|
"@ocap/util": "1.19.15",
|
|
@@ -111,5 +111,5 @@
|
|
|
111
111
|
"jest": "^29.7.0",
|
|
112
112
|
"unzipper": "^0.10.11"
|
|
113
113
|
},
|
|
114
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "f90e7dc430b14d99a8861d972967fb4b4c83c8ea"
|
|
115
115
|
}
|