@steedos/service-package-registry 2.5.13-beta.8 → 2.5.13
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.
- package/main/default/manager/loader.js +17 -3
- package/main/default/manager/packages.js +6 -2
- package/main/default/manager/registry.js +1 -1
- package/main/default/objects/steedos_packages/fields/description.field.yml +1 -1
- package/main/default/objects/steedos_packages/fields/homepage.field.yml +4 -0
- package/main/default/objects/steedos_packages/fields/metadata.field.yml +2 -1
- package/main/default/objects/steedos_packages/listviews/all.listview.yml +2 -2
- package/package.json +7 -7
- package/project.package.service.js +23 -3
|
@@ -70,7 +70,18 @@ const loadPackages = async ()=>{
|
|
|
70
70
|
for (const packageName in packages) {
|
|
71
71
|
const package = packages[packageName]
|
|
72
72
|
if(package.enable){
|
|
73
|
-
if(package.
|
|
73
|
+
if(package.static === true){
|
|
74
|
+
try {
|
|
75
|
+
const packagePath = package.path || path.dirname(require.resolve(`${packageName}/package.json`))
|
|
76
|
+
if(packagePath){
|
|
77
|
+
const packageInfo = await loadPackage(packageName, packagePath);
|
|
78
|
+
appendToPackagesConfig(packageInfo.name, {version: packageInfo.version, description: packageInfo.description, local: true});
|
|
79
|
+
}
|
|
80
|
+
} catch (error) {
|
|
81
|
+
console.error(error)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
}else if(package.local !== true){
|
|
74
85
|
try {
|
|
75
86
|
const packagePath = path.dirname(require.resolve(`${packageName}/package.json`, {
|
|
76
87
|
paths: [path.join(userDir, 'node_modules')]
|
|
@@ -148,6 +159,9 @@ const isPackage = (name)=>{
|
|
|
148
159
|
|
|
149
160
|
const loadDependency = async (mainPackageInfo, dependencyName, dependencyVersion)=>{
|
|
150
161
|
// console.log(`loadDependency`, mainPackageInfo, dependencyName, dependencyVersion)
|
|
162
|
+
if(mainPackageInfo.static == true){
|
|
163
|
+
return ;
|
|
164
|
+
}
|
|
151
165
|
let schema = objectql.getSteedosSchema();
|
|
152
166
|
let broker = schema.broker;
|
|
153
167
|
let packageInfo = null;
|
|
@@ -171,11 +185,11 @@ const loadDependency = async (mainPackageInfo, dependencyName, dependencyVersion
|
|
|
171
185
|
await enablePackage(dependencyName)
|
|
172
186
|
}else{
|
|
173
187
|
try {
|
|
174
|
-
if(mainPackageInfo
|
|
188
|
+
if(mainPackageInfo?.static != true){
|
|
175
189
|
await installPackage(broker, {module: dependencyName, version: dependencyVersion, enable: true})
|
|
176
190
|
}
|
|
177
191
|
} catch (error) {
|
|
178
|
-
console.log(error)
|
|
192
|
+
// console.log(error)
|
|
179
193
|
}
|
|
180
194
|
}
|
|
181
195
|
// 如果steedos package yml 中没有该依赖,则直接安装
|
|
@@ -33,6 +33,7 @@ const getAllPackages = async ()=>{
|
|
|
33
33
|
package.new_version = package.version
|
|
34
34
|
package.local = package.local
|
|
35
35
|
package.static = package.static
|
|
36
|
+
package.homepage = package.homepage
|
|
36
37
|
delete package.version
|
|
37
38
|
if(installPackages[package.name]){
|
|
38
39
|
package.status = installPackages[package.name].enable ? 'enable' : 'disable'
|
|
@@ -54,7 +55,8 @@ const getAllPackages = async ()=>{
|
|
|
54
55
|
label: package.label || packageName,
|
|
55
56
|
description: package.description,
|
|
56
57
|
metadata: package.metadata,
|
|
57
|
-
static: package.static
|
|
58
|
+
static: package.static,
|
|
59
|
+
homepage: package.homepage
|
|
58
60
|
})
|
|
59
61
|
}
|
|
60
62
|
})
|
|
@@ -67,6 +69,7 @@ const getAllPackages = async ()=>{
|
|
|
67
69
|
_package.node_id = packageInfo.nodeID
|
|
68
70
|
_package.instance_id = packageInfo.instanceID
|
|
69
71
|
_package.version = packageInfo.version
|
|
72
|
+
_package.homepage = packageInfo.homepage
|
|
70
73
|
}else{
|
|
71
74
|
packages.push({
|
|
72
75
|
_id : packageName.replace("/", '_'),
|
|
@@ -78,7 +81,8 @@ const getAllPackages = async ()=>{
|
|
|
78
81
|
version : packageInfo.version,
|
|
79
82
|
label: packageInfo.label || packageName,
|
|
80
83
|
description: packageInfo.description,
|
|
81
|
-
local: false
|
|
84
|
+
local: false,
|
|
85
|
+
homepage: packageInfo.homepage
|
|
82
86
|
})
|
|
83
87
|
}
|
|
84
88
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-package-registry",
|
|
3
|
-
"version": "2.5.13
|
|
3
|
+
"version": "2.5.13",
|
|
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.13
|
|
13
|
-
"@steedos/core": "2.5.13
|
|
14
|
-
"@steedos/metadata-core": "2.5.13
|
|
15
|
-
"@steedos/objectql": "2.5.13
|
|
16
|
-
"@steedos/service-package-loader": "2.5.13
|
|
12
|
+
"@steedos/auth": "2.5.13",
|
|
13
|
+
"@steedos/core": "2.5.13",
|
|
14
|
+
"@steedos/metadata-core": "2.5.13",
|
|
15
|
+
"@steedos/objectql": "2.5.13",
|
|
16
|
+
"@steedos/service-package-loader": "2.5.13",
|
|
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": "70670f8b8ea0aad61e73a3258b5c8aaf6139c682"
|
|
35
35
|
}
|
|
@@ -441,7 +441,13 @@ module.exports = {
|
|
|
441
441
|
path: util.getPackageRelativePath(process.cwd(), packagePath)
|
|
442
442
|
}
|
|
443
443
|
loader.appendToPackagesConfig(packageName, packageConfig);
|
|
444
|
-
|
|
444
|
+
let metadata = {}
|
|
445
|
+
try {
|
|
446
|
+
// 软件包元数据扫描失败,并不影响软件包的启动. 在控制台输出异常信息即可.
|
|
447
|
+
metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packagePath));
|
|
448
|
+
} catch (error) {
|
|
449
|
+
console.error(error)
|
|
450
|
+
}
|
|
445
451
|
await broker.call(`@steedos/service-packages.install`, {
|
|
446
452
|
serviceInfo: Object.assign({}, packageConfig, {
|
|
447
453
|
name: packageName,
|
|
@@ -583,7 +589,18 @@ module.exports = {
|
|
|
583
589
|
return {
|
|
584
590
|
path: _path,
|
|
585
591
|
version: packageJson.version,
|
|
586
|
-
description: packageJson.description
|
|
592
|
+
description: packageJson.description,
|
|
593
|
+
homepage: packageJson.homepage
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
getPackageInfo: {
|
|
598
|
+
handler(packageInfo, packageName){
|
|
599
|
+
const packageJson = require(`${_path}/package.json`);
|
|
600
|
+
return {
|
|
601
|
+
version: packageJson.version,
|
|
602
|
+
description: packageJson.description,
|
|
603
|
+
homepage: packageJson.homepage
|
|
587
604
|
}
|
|
588
605
|
}
|
|
589
606
|
},
|
|
@@ -596,6 +613,8 @@ module.exports = {
|
|
|
596
613
|
let _packageInfo = installPackages[name];
|
|
597
614
|
if(_packageInfo.static){
|
|
598
615
|
_packageInfo = Object.assign({}, _packageInfo, this.getStaticPackageInfo(_packageInfo, name))
|
|
616
|
+
}else{
|
|
617
|
+
_packageInfo = Object.assign({}, _packageInfo, this.getPackageInfo(_packageInfo, name))
|
|
599
618
|
}
|
|
600
619
|
const metadata = await loader.getPackageMetadata(_packageInfo.path);
|
|
601
620
|
await this.broker.call(`@steedos/service-packages.install`, {
|
|
@@ -609,7 +628,8 @@ module.exports = {
|
|
|
609
628
|
version: _packageInfo.version,
|
|
610
629
|
description: _packageInfo.description,
|
|
611
630
|
metadata: metadata,
|
|
612
|
-
static: _packageInfo.static
|
|
631
|
+
static: _packageInfo.static,
|
|
632
|
+
homepage: _packageInfo.homepage
|
|
613
633
|
}
|
|
614
634
|
})
|
|
615
635
|
}
|