@abtnode/core 1.16.24-beta-64150e24 → 1.16.24-beta-30f58f8d

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.
@@ -106,6 +106,7 @@ const { validate: validateEngine, get: getEngine } = require('../blocklet/manage
106
106
  const isRequirementsSatisfied = require('./requirement');
107
107
  const { getDidDomainForBlocklet } = require('./get-domain-for-blocklet');
108
108
  const { expandBundle, findInterfacePortByName, prettyURL, templateReplace, getServerDidDomain } = require('./index');
109
+ const { installExternalDependencies } = require('./install-external-dependencies');
109
110
 
110
111
  /**
111
112
  * get blocklet engine info, default is node
@@ -564,6 +565,9 @@ const startBlockletProcess = async (
564
565
  const env = getRuntimeEnvironments(b, nodeEnvironments, ancestors);
565
566
  const startedAt = Date.now();
566
567
 
568
+ // install external dependencies
569
+ await Promise.resolve(installExternalDependencies(b, { env }));
570
+
567
571
  // run hook
568
572
  await preFlight(b, { env });
569
573
 
@@ -0,0 +1,35 @@
1
+ const { spawnSync } = require('child_process');
2
+ const fs = require('fs-extra');
3
+ const path = require('path');
4
+
5
+ function installExternalDependencies(blocklet, { env }) {
6
+ if (!env.BLOCKLET_APP_DIR) {
7
+ throw new Error('BLOCKLET_APP_DIR is required');
8
+ }
9
+
10
+ // 读取 BLOCKLET_APP_DIR 的 package.json
11
+ const packageJsonPath = path.resolve(env.BLOCKLET_APP_DIR, 'package.json');
12
+ if (!fs.existsSync(packageJsonPath)) {
13
+ return;
14
+ }
15
+
16
+ const packageJson = fs.readJsonSync(packageJsonPath);
17
+
18
+ if (!packageJson.externalManager) {
19
+ return;
20
+ }
21
+
22
+ const result = spawnSync(packageJson.externalManager, ['install'], {
23
+ cwd: env.BLOCKLET_APP_DIR,
24
+ stdio: 'pipe',
25
+ shell: true,
26
+ });
27
+
28
+ if (result.status !== 0 && result.stderr && result.stderr.toString().trim()) {
29
+ throw new Error(result.stderr.toString());
30
+ }
31
+ if (result.error) {
32
+ throw result.error;
33
+ }
34
+ }
35
+ module.exports = { installExternalDependencies };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.24-beta-64150e24",
6
+ "version": "1.16.24-beta-30f58f8d",
7
7
  "description": "",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -19,19 +19,19 @@
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.24-beta-64150e24",
23
- "@abtnode/auth": "1.16.24-beta-64150e24",
24
- "@abtnode/certificate-manager": "1.16.24-beta-64150e24",
25
- "@abtnode/constant": "1.16.24-beta-64150e24",
26
- "@abtnode/cron": "1.16.24-beta-64150e24",
27
- "@abtnode/logger": "1.16.24-beta-64150e24",
28
- "@abtnode/models": "1.16.24-beta-64150e24",
29
- "@abtnode/queue": "1.16.24-beta-64150e24",
30
- "@abtnode/rbac": "1.16.24-beta-64150e24",
31
- "@abtnode/router-provider": "1.16.24-beta-64150e24",
32
- "@abtnode/static-server": "1.16.24-beta-64150e24",
33
- "@abtnode/timemachine": "1.16.24-beta-64150e24",
34
- "@abtnode/util": "1.16.24-beta-64150e24",
22
+ "@abtnode/analytics": "1.16.24-beta-30f58f8d",
23
+ "@abtnode/auth": "1.16.24-beta-30f58f8d",
24
+ "@abtnode/certificate-manager": "1.16.24-beta-30f58f8d",
25
+ "@abtnode/constant": "1.16.24-beta-30f58f8d",
26
+ "@abtnode/cron": "1.16.24-beta-30f58f8d",
27
+ "@abtnode/logger": "1.16.24-beta-30f58f8d",
28
+ "@abtnode/models": "1.16.24-beta-30f58f8d",
29
+ "@abtnode/queue": "1.16.24-beta-30f58f8d",
30
+ "@abtnode/rbac": "1.16.24-beta-30f58f8d",
31
+ "@abtnode/router-provider": "1.16.24-beta-30f58f8d",
32
+ "@abtnode/static-server": "1.16.24-beta-30f58f8d",
33
+ "@abtnode/timemachine": "1.16.24-beta-30f58f8d",
34
+ "@abtnode/util": "1.16.24-beta-30f58f8d",
35
35
  "@arcblock/did": "1.18.110",
36
36
  "@arcblock/did-auth": "1.18.110",
37
37
  "@arcblock/did-ext": "^1.18.110",
@@ -42,11 +42,11 @@
42
42
  "@arcblock/pm2-events": "^0.0.5",
43
43
  "@arcblock/validator": "^1.18.110",
44
44
  "@arcblock/vc": "1.18.110",
45
- "@blocklet/constant": "1.16.24-beta-64150e24",
46
- "@blocklet/env": "1.16.24-beta-64150e24",
47
- "@blocklet/meta": "1.16.24-beta-64150e24",
48
- "@blocklet/resolver": "1.16.24-beta-64150e24",
49
- "@blocklet/sdk": "1.16.24-beta-64150e24",
45
+ "@blocklet/constant": "1.16.24-beta-30f58f8d",
46
+ "@blocklet/env": "1.16.24-beta-30f58f8d",
47
+ "@blocklet/meta": "1.16.24-beta-30f58f8d",
48
+ "@blocklet/resolver": "1.16.24-beta-30f58f8d",
49
+ "@blocklet/sdk": "1.16.24-beta-30f58f8d",
50
50
  "@did-space/client": "^0.3.64",
51
51
  "@fidm/x509": "^1.2.1",
52
52
  "@ocap/mcrypto": "1.18.110",
@@ -102,5 +102,5 @@
102
102
  "jest": "^29.7.0",
103
103
  "unzipper": "^0.10.11"
104
104
  },
105
- "gitHead": "30c91a8e2790a0527ba336497f5032ba54ed4225"
105
+ "gitHead": "95f8e79898d7901f0665f3883e3c014c36f16668"
106
106
  }