@steedos/service-package-registry 2.5.13-beta.9 → 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.
@@ -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.local !== true){
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;
@@ -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
  })
@@ -320,7 +320,7 @@ async function uninstallModule(module){
320
320
  // }
321
321
 
322
322
  const isPackageUrl = (url)=>{
323
- return pkgurlRe.test(url)
323
+ return pkgurlRe.test(url) || localtgzRe.test(url)
324
324
  }
325
325
 
326
326
  module.exports = {
@@ -10,6 +10,6 @@ readonly: false
10
10
  required: false
11
11
  rows: 2
12
12
  searchable: false
13
- sort_no: 999
13
+ sort_no: 450
14
14
  sortable: false
15
15
  type: textarea
@@ -0,0 +1,4 @@
1
+ name: homepage
2
+ type: url
3
+ label: homepage
4
+ sort_no: 130
@@ -1,4 +1,5 @@
1
1
  name: metadata
2
2
  label: 软件包组件
3
3
  type: grid
4
- is_wide: true
4
+ is_wide: true
5
+ sort_no: 500
@@ -2,11 +2,11 @@ name: all
2
2
  columns:
3
3
  - field: label
4
4
  wrap: false
5
- - field: version
6
- wrap: false
7
5
  - field: description
8
6
  width: '150'
9
7
  wrap: false
8
+ - field: version
9
+ wrap: false
10
10
  - field: status
11
11
  filter_scope: space
12
12
  label: 已安装
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-package-registry",
3
- "version": "2.5.13-beta.9",
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-beta.9",
13
- "@steedos/core": "2.5.13-beta.9",
14
- "@steedos/metadata-core": "2.5.13-beta.9",
15
- "@steedos/objectql": "2.5.13-beta.9",
16
- "@steedos/service-package-loader": "2.5.13-beta.9",
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": "3c7f9046326982d3fc836500382679e75e05ba18"
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
- const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packagePath));
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
  }