@steedos/service-package-registry 2.5.18-beta.3 → 2.5.18-beta.4

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.
@@ -100,6 +100,8 @@ const appendToPackagesConfig = (packageName, options, actionName)=>{
100
100
  }
101
101
 
102
102
  const loadPackages = async ()=>{
103
+ let schema = objectql.getSteedosSchema();
104
+ let broker = schema.broker;
103
105
  const packages = loadPackagesConfig();
104
106
  for (const packageName in packages) {
105
107
  const package = packages[packageName]
@@ -109,10 +111,12 @@ const loadPackages = async ()=>{
109
111
  const packagePath = package.path || path.dirname(require.resolve(`${packageName}/package.json`))
110
112
  if(packagePath){
111
113
  const packageInfo = await loadPackage(packageName, packagePath);
112
- appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: true});
114
+ if(packageInfo){
115
+ appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: true});
116
+ }
113
117
  }
114
118
  } catch (error) {
115
- console.error(error)
119
+ broker.logger.error(`start package ${packageName} error: ${error.message}`)
116
120
  }
117
121
 
118
122
  }else if(package.local !== true){
@@ -130,7 +134,7 @@ const loadPackages = async ()=>{
130
134
  const packageInfo = await loadPackage(packageName);
131
135
  appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: false});
132
136
  } catch (error) {
133
- console.error(error)
137
+ broker.logger.error(`start package ${packageName} error: ${error.message}`)
134
138
  }
135
139
  }
136
140
  }else if(package.local === true && package.static != true){
@@ -139,9 +143,13 @@ const loadPackages = async ()=>{
139
143
  packagePath = path.resolve(process.cwd(), packagePath)
140
144
  }
141
145
  if(packagePath){
142
- const packageInfo = await loadPackage(packageName, packagePath);
143
- if(packageInfo){
144
- appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: true});
146
+ try {
147
+ const packageInfo = await loadPackage(packageName, packagePath);
148
+ if(packageInfo){
149
+ appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: true});
150
+ }
151
+ } catch (error) {
152
+ broker.logger.error(`start package ${packageName} error: ${error.message}`)
145
153
  }
146
154
  }
147
155
  }
@@ -232,7 +240,7 @@ const loadDependency = async (mainPackageInfo = {}, dependencyName, dependencyVe
232
240
  }
233
241
 
234
242
  const loadPackage = async (packageName, packagePath)=>{
235
- try {
243
+ // try {
236
244
  if(!packagePath){
237
245
  packagePath = path.dirname(require.resolve(`${packageName}/package.json`, {
238
246
  paths: [path.join(userDir, 'node_modules')]
@@ -246,19 +254,28 @@ const loadPackage = async (packageName, packagePath)=>{
246
254
  return ;
247
255
  }
248
256
  const packageInfo = require(path.join(packagePath, 'package.json'));
257
+ const packageYml = getPackageYmlData(packagePath);
258
+
259
+ if(packageYml && packageYml.license && _.isArray(packageYml.license) && packageYml.license.length > 0){
260
+ const has = await broker.call('@steedos/service-license.checkProducts', {keys: packageYml.license});
261
+ if(!has){
262
+ throw new Error(`Software package 「${packageName}」 requires 「${packageYml.license.join(',')}」 license.`)
263
+ }
264
+ }
265
+
249
266
  await destroyExistThePackageService(packageInfo);
250
267
  await steedos.loadPackage(packagePath);
251
- const packageConfig = getPackageConfig(packageName);
252
- if(packageInfo.dependencies){
253
- for (const dependencyName in packageInfo.dependencies) {
254
- const dependencyVersion = packageInfo.dependencies[dependencyName];
255
- await loadDependency(packageConfig, dependencyName, dependencyVersion);
256
- }
257
- }
268
+ // const packageConfig = getPackageConfig(packageName);
269
+ // if(packageInfo.dependencies){
270
+ // for (const dependencyName in packageInfo.dependencies) {
271
+ // const dependencyVersion = packageInfo.dependencies[dependencyName];
272
+ // await loadDependency(packageConfig, dependencyName, dependencyVersion);
273
+ // }
274
+ // }
258
275
  return Object.assign({packagePath: packagePath}, packageInfo);
259
- } catch (error) {
260
- console.error(packageName, packagePath, error)
261
- }
276
+ // } catch (error) {
277
+ // console.error(packageName, packagePath, error)
278
+ // }
262
279
  }
263
280
 
264
281
  const disablePackage = async (packageName)=>{
@@ -303,6 +320,7 @@ const removePackageConfig = (packageName)=>{
303
320
  const getPackageConfig = (packageName)=>{
304
321
  const packages = loadPackagesConfig();
305
322
  return _.find(packages, (info, name)=>{
323
+ info.name = name;
306
324
  return packageName == name
307
325
  });
308
326
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-package-registry",
3
- "version": "2.5.18-beta.3",
3
+ "version": "2.5.18-beta.4",
4
4
  "description": "",
5
5
  "main": "package.service.js",
6
6
  "scripts": {
@@ -9,11 +9,11 @@
9
9
  "author": "",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@steedos/auth": "2.5.18-beta.3",
13
- "@steedos/core": "2.5.18-beta.3",
14
- "@steedos/metadata-core": "2.5.18-beta.3",
15
- "@steedos/objectql": "2.5.18-beta.3",
16
- "@steedos/service-package-loader": "2.5.18-beta.3",
12
+ "@steedos/auth": "2.5.18-beta.4",
13
+ "@steedos/core": "2.5.18-beta.4",
14
+ "@steedos/metadata-core": "2.5.18-beta.4",
15
+ "@steedos/objectql": "2.5.18-beta.4",
16
+ "@steedos/service-package-loader": "2.5.18-beta.4",
17
17
  "fs-extra": "8.1.0",
18
18
  "i18next": "20.3.2",
19
19
  "json-stringify-safe": "5.0.1",
@@ -31,5 +31,5 @@
31
31
  "publishConfig": {
32
32
  "access": "public"
33
33
  },
34
- "gitHead": "ad7085eedba341a58446a969102da5cdc3d691b2"
34
+ "gitHead": "dbed817b5b9689fd0ee6bbfb8e9911a18a3c8403"
35
35
  }
@@ -157,6 +157,10 @@ module.exports = {
157
157
  const { module } = ctx.params
158
158
  let packageConfig = await loader.getPackageConfig(module);
159
159
 
160
+ if(packageConfig.static){
161
+ packageConfig = Object.assign({}, packageConfig, this.getStaticPackageInfo(packageConfig, packageConfig.name))
162
+ }
163
+
160
164
  const packageYmlData = loader.getPackageYmlData(packageConfig.path);
161
165
 
162
166
  if(packageYmlData.dependencies){
@@ -501,7 +505,7 @@ module.exports = {
501
505
  instanceID: this.broker.instanceID,
502
506
  path: _packageInfo.path,
503
507
  local: _packageInfo.local,
504
- enable: _packageInfo.enable,
508
+ enable: false,
505
509
  version: _packageInfo.version,
506
510
  description: _packageInfo.description,
507
511
  metadata: metadata,