@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
|
-
|
|
114
|
+
if(packageInfo){
|
|
115
|
+
appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: true});
|
|
116
|
+
}
|
|
113
117
|
}
|
|
114
118
|
} catch (error) {
|
|
115
|
-
|
|
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
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
+
"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.
|
|
13
|
-
"@steedos/core": "2.5.18-beta.
|
|
14
|
-
"@steedos/metadata-core": "2.5.18-beta.
|
|
15
|
-
"@steedos/objectql": "2.5.18-beta.
|
|
16
|
-
"@steedos/service-package-loader": "2.5.18-beta.
|
|
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": "
|
|
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:
|
|
508
|
+
enable: false,
|
|
505
509
|
version: _packageInfo.version,
|
|
506
510
|
description: _packageInfo.description,
|
|
507
511
|
metadata: metadata,
|