@abtnode/core 1.8.27 → 1.8.28

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.
@@ -102,6 +102,7 @@ const {
102
102
  findAvailableDid,
103
103
  ensureMeta,
104
104
  getBlocklet,
105
+ ensureEnvDefault,
105
106
  } = require('../../util/blocklet');
106
107
  const { parseSourceUrl } = require('../../util/registry');
107
108
  const states = require('../../states');
@@ -3375,10 +3376,13 @@ class BlockletManager extends BaseBlockletManager {
3375
3376
 
3376
3377
  if (!childDid) {
3377
3378
  await forEachBlocklet(blocklet, async (b, { ancestors }) => {
3378
- await states.blockletExtras.setConfigs(
3379
- [...ancestors.map((x) => x.meta.did), b.meta.did],
3380
- get(b.meta, 'environments', [])
3381
- );
3379
+ const environments = get(b.meta, 'environments', []);
3380
+
3381
+ // remove default if ancestors has a value
3382
+ ensureEnvDefault(environments, ancestors);
3383
+
3384
+ // write configs to db
3385
+ await states.blockletExtras.setConfigs([...ancestors.map((x) => x.meta.did), b.meta.did], environments);
3382
3386
  });
3383
3387
  } else {
3384
3388
  const child = blocklet.children.find((x) => x.meta.did === childDid);
@@ -52,6 +52,7 @@ const {
52
52
  isComponentBlocklet,
53
53
  getSharedConfigObj,
54
54
  getComponentName,
55
+ isEnvShareable,
55
56
  } = require('@blocklet/meta/lib/util');
56
57
  const toBlockletDid = require('@blocklet/meta/lib/did');
57
58
  const { titleSchema, descriptionSchema } = require('@blocklet/meta/lib/schema');
@@ -324,6 +325,8 @@ const getComponentSystemEnvironments = (blocklet) => {
324
325
  };
325
326
 
326
327
  const getRuntimeEnvironments = (blocklet, nodeEnvironments, ancestors) => {
328
+ const root = (ancestors || [])[0] || blocklet;
329
+
327
330
  // pm2 will force inject env variables of daemon process to blocklet process
328
331
  // we can only rewrite these private env variables to empty
329
332
  const safeNodeEnvironments = PRIVATE_NODE_ENVS.reduce((o, x) => {
@@ -339,7 +342,11 @@ const getRuntimeEnvironments = (blocklet, nodeEnvironments, ancestors) => {
339
342
  }
340
343
  : {};
341
344
 
342
- const root = (ancestors || [])[0] || blocklet;
345
+ // BLOCKLET_DEV_PORT should NOT in components of production mode
346
+ if (process.env.BLOCKLET_DEV_PORT) {
347
+ devEnvironments.BLOCKLET_DEV_PORT =
348
+ blocklet.mode === BLOCKLET_MODES.DEVELOPMENT ? process.env.BLOCKLET_DEV_PORT : '';
349
+ }
343
350
 
344
351
  const ports = {};
345
352
  forEachBlockletSync(root, (x) => {
@@ -1331,6 +1338,35 @@ const getBlocklet = async ({
1331
1338
  return blocklet;
1332
1339
  };
1333
1340
 
1341
+ /**
1342
+ * this function has side effect on environments
1343
+ */
1344
+ const ensureEnvDefault = (environments, ancestors) => {
1345
+ // remove default if ancestors has a value
1346
+ const envMap = environments.reduce((o, env) => {
1347
+ o[env.name] = env;
1348
+ return o;
1349
+ }, {});
1350
+
1351
+ for (let i = ancestors.length - 1; i >= 0; i--) {
1352
+ const ancestor = ancestors[i];
1353
+ const aEnvironments = get(ancestor.meta, 'environments', []);
1354
+ const aEnv = aEnvironments.find((x) => envMap[x.name]);
1355
+
1356
+ if (!isEnvShareable(aEnv)) {
1357
+ break;
1358
+ }
1359
+
1360
+ const env = envMap[aEnv.name];
1361
+ if (isEnvShareable(env) && aEnv.default) {
1362
+ env.default = '';
1363
+ break;
1364
+ }
1365
+ }
1366
+
1367
+ return environments;
1368
+ };
1369
+
1334
1370
  module.exports = {
1335
1371
  forEachBlocklet,
1336
1372
  getBlockletMetaFromUrl: (url) => getBlockletMetaFromUrl(url, { logger }),
@@ -1370,4 +1406,5 @@ module.exports = {
1370
1406
  findAvailableDid,
1371
1407
  ensureMeta,
1372
1408
  getBlocklet,
1409
+ ensureEnvDefault,
1373
1410
  };
package/lib/util/chain.js CHANGED
@@ -1,4 +1,4 @@
1
- const axios = require('axios');
1
+ const axios = require('@abtnode/util/lib/axios');
2
2
  const get = require('lodash/get');
3
3
 
4
4
  const getFactoryState = async (endpoint, address) => {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.8.27",
6
+ "version": "1.8.28",
7
7
  "description": "",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -19,56 +19,56 @@
19
19
  "author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
- "@abtnode/auth": "1.8.27",
23
- "@abtnode/certificate-manager": "1.8.27",
24
- "@abtnode/constant": "1.8.27",
25
- "@abtnode/cron": "1.8.27",
26
- "@abtnode/db": "1.8.27",
27
- "@abtnode/logger": "1.8.27",
28
- "@abtnode/queue": "1.8.27",
29
- "@abtnode/rbac": "1.8.27",
30
- "@abtnode/router-provider": "1.8.27",
31
- "@abtnode/static-server": "1.8.27",
32
- "@abtnode/timemachine": "1.8.27",
33
- "@abtnode/util": "1.8.27",
34
- "@arcblock/did": "1.17.20",
22
+ "@abtnode/auth": "1.8.28",
23
+ "@abtnode/certificate-manager": "1.8.28",
24
+ "@abtnode/constant": "1.8.28",
25
+ "@abtnode/cron": "1.8.28",
26
+ "@abtnode/db": "1.8.28",
27
+ "@abtnode/logger": "1.8.28",
28
+ "@abtnode/queue": "1.8.28",
29
+ "@abtnode/rbac": "1.8.28",
30
+ "@abtnode/router-provider": "1.8.28",
31
+ "@abtnode/static-server": "1.8.28",
32
+ "@abtnode/timemachine": "1.8.28",
33
+ "@abtnode/util": "1.8.28",
34
+ "@arcblock/did": "1.17.23",
35
35
  "@arcblock/did-motif": "^1.1.10",
36
- "@arcblock/did-util": "1.17.20",
37
- "@arcblock/event-hub": "1.17.20",
38
- "@arcblock/jwt": "^1.17.20",
36
+ "@arcblock/did-util": "1.17.23",
37
+ "@arcblock/event-hub": "1.17.23",
38
+ "@arcblock/jwt": "^1.17.23",
39
39
  "@arcblock/pm2-events": "^0.0.5",
40
- "@arcblock/vc": "1.17.20",
41
- "@blocklet/constant": "1.8.27",
42
- "@blocklet/meta": "1.8.27",
43
- "@blocklet/sdk": "1.8.27",
40
+ "@arcblock/vc": "1.17.23",
41
+ "@blocklet/constant": "1.8.28",
42
+ "@blocklet/meta": "1.8.28",
43
+ "@blocklet/sdk": "1.8.28",
44
44
  "@fidm/x509": "^1.2.1",
45
- "@ocap/mcrypto": "1.17.20",
46
- "@ocap/util": "1.17.20",
47
- "@ocap/wallet": "1.17.20",
45
+ "@ocap/mcrypto": "1.17.23",
46
+ "@ocap/util": "1.17.23",
47
+ "@ocap/wallet": "1.17.23",
48
48
  "@slack/webhook": "^5.0.4",
49
49
  "axios": "^0.27.2",
50
50
  "axon": "^2.0.3",
51
51
  "chalk": "^4.1.2",
52
52
  "deep-diff": "^1.0.2",
53
- "detect-port": "^1.3.0",
53
+ "detect-port": "^1.5.1",
54
54
  "flat": "^5.0.2",
55
55
  "fs-extra": "^10.1.0",
56
56
  "get-port": "^5.1.1",
57
57
  "is-base64": "^1.1.0",
58
58
  "is-ip": "^3.1.0",
59
59
  "is-url": "^1.2.4",
60
- "joi": "^17.6.0",
60
+ "joi": "^17.6.2",
61
61
  "js-yaml": "^4.1.0",
62
62
  "lodash": "^4.17.21",
63
63
  "lru-cache": "^6.0.0",
64
64
  "pm2": "^5.2.0",
65
- "semver": "^7.3.7",
65
+ "semver": "^7.3.8",
66
66
  "shelljs": "^0.8.5",
67
67
  "slugify": "^1.6.5",
68
68
  "ssri": "^8.0.1",
69
69
  "stream-throttle": "^0.1.3",
70
70
  "stream-to-promise": "^3.0.0",
71
- "systeminformation": "^5.12.4",
71
+ "systeminformation": "^5.12.6",
72
72
  "tar": "^6.1.11",
73
73
  "ua-parser-js": "^1.0.2",
74
74
  "unzipper": "^0.10.11",
@@ -78,8 +78,8 @@
78
78
  "devDependencies": {
79
79
  "compression": "^1.7.4",
80
80
  "expand-tilde": "^2.0.2",
81
- "express": "^4.18.1",
81
+ "express": "^4.18.2",
82
82
  "jest": "^27.5.1"
83
83
  },
84
- "gitHead": "84b2cb3ee703479f17e88c91650ecf3015cbf6af"
84
+ "gitHead": "af7aacf5507177600ae563ab597cb42d7223b113"
85
85
  }