@blocklet/resolver 1.16.27 → 1.16.28-beta-23b06b63

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.
Files changed (2) hide show
  1. package/index.js +19 -1
  2. package/package.json +5 -5
package/index.js CHANGED
@@ -15,6 +15,7 @@ const schema_1 = require("@blocklet/meta/lib/schema");
15
15
  const validate_1 = require("@blocklet/meta/lib/validate");
16
16
  const util_meta_1 = require("@blocklet/meta/lib/util-meta");
17
17
  const did_2 = __importDefault(require("@blocklet/meta/lib/did"));
18
+ const engine_1 = require("@blocklet/meta/lib/engine");
18
19
  const isDidMatchName = (did, name) => {
19
20
  if ((0, did_1.isValid)(did) && name === did) {
20
21
  return true;
@@ -77,6 +78,11 @@ const validateBlockletMeta = (meta, opts = {}) => {
77
78
  exports.validateBlockletMeta = validateBlockletMeta;
78
79
  const getComponentConfig = (meta) => {
79
80
  const components = meta.components || meta.children || [];
81
+ // treat engine as component
82
+ const engine = (0, engine_1.getBlockletEngine)(meta);
83
+ if (engine?.interpreter === 'blocklet') {
84
+ components.push({ source: engine.source, required: true });
85
+ }
80
86
  return components;
81
87
  };
82
88
  exports.getComponentConfig = getComponentConfig;
@@ -136,6 +142,16 @@ const parseComponents = async (component, context = {}, logger = console) => {
136
142
  required: !!config.required,
137
143
  version: config.source.version || 'latest',
138
144
  });
145
+ // parse engine components recursively
146
+ const engine = (0, engine_1.getBlockletEngine)(meta);
147
+ if (engine?.interpreter === 'blocklet') {
148
+ await (0, exports.parseComponents)({
149
+ // @ts-ignore
150
+ meta: { components: [{ source: engine.source, required: true }] },
151
+ dependencies: [],
152
+ children: [],
153
+ }, { ancestors: [...ancestors, { meta }], dynamicComponents });
154
+ }
139
155
  // @ts-ignore
140
156
  await (0, exports.parseComponents)(child, { ancestors: [...ancestors, { meta }], dynamicComponents });
141
157
  }));
@@ -227,7 +243,9 @@ const parseOptionalComponents = async (blocklet, logger = console) => {
227
243
  }
228
244
  for (const component of dynamicComponents) {
229
245
  const { mountPoint, bundleSource, meta } = component;
230
- if ((optionalNames.has(meta.name) || optionalNames.has(meta.did)) === false || appendNames.has(meta.did) || appendNames.has(meta.name)) {
246
+ if ((optionalNames.has(meta.name) || optionalNames.has(meta.did)) === false ||
247
+ appendNames.has(meta.did) ||
248
+ appendNames.has(meta.name)) {
231
249
  // eslint-disable-next-line no-continue
232
250
  continue;
233
251
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.27",
6
+ "version": "1.16.28-beta-23b06b63",
7
7
  "description": "Blocklet meta resolver",
8
8
  "main": "index.js",
9
9
  "files": [
@@ -22,13 +22,13 @@
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
24
  "@arcblock/did": "^1.18.123",
25
- "@blocklet/constant": "1.16.27",
26
- "@blocklet/meta": "1.16.27",
25
+ "@blocklet/constant": "1.16.28-beta-23b06b63",
26
+ "@blocklet/meta": "1.16.28-beta-23b06b63",
27
27
  "lru-cache": "^6.0.0",
28
28
  "semver": "^7.3.8"
29
29
  },
30
30
  "devDependencies": {
31
- "@abtnode/types": "1.16.27",
31
+ "@abtnode/types": "1.16.28-beta-23b06b63",
32
32
  "@arcblock/eslint-config-ts": "^0.3.0",
33
33
  "@types/jest": "^29.5.11",
34
34
  "@types/node": "^20.12.2",
@@ -40,5 +40,5 @@
40
40
  "ts-jest": "^29.1.1",
41
41
  "typescript": "^5.0.4"
42
42
  },
43
- "gitHead": "b7dcd46b040c5ad3a273b14b1a411fafc1390828"
43
+ "gitHead": "4e16d8cb992139e25f6702268895917561a1d2f1"
44
44
  }