Some old research:


Search


This requires extending the current zwe functionality.

zwe components search with a --json flag to fetch name, description, version, keywords and maintainers.

This will be useful for searching a component and making the App Cards with basic information.

Ex: zwe components search angular-sample --registry=https://zowe.jfrog.io/zowe/api/npm/npm-release/ --json
[{
"name":"angular-sample",
"description":"Sample App Showcasing Angular Adapter",
"maintainers":[
],
  "version":"2.6.0",
  "date":null,
  "keywords":[
     "zlux",
     "appfw",
     "app",
     "angular",
     "sample"
  ],
  "author":null,
},
{
"name":"sample-input",
"description":"This project was generated with Angular CLI version 1.0.1.",
"maintainers":[
{
"username":"rroxana",
"[email":"[email protected]](mailto:email%22:%[email protected])"
}
],
"version":"10.0.0",
"date":"2023-05-21T14:34:54.968Z",
"keywords":[
  ],
  "author":null
},
... with other results
]

zwe components view with a —json flag, this will be a completely new command. This will help us fetch the package.json of a component.

This will be useful for making the entire App Page - with name, desc, time, repository, keywords, license, version, homepage, tarball url, unpacked size etc.

Ex: zwe components view angular-sample --registry=https://zowe.jfrog.io/zowe/api/npm/npm-release/ --json
{
  "_id": "[email protected]",
  "_rev": "1-0",
  "name": "angular-sample",
  "description": "Sample App Showcasing Angular Adapter",
  "dist-tags": {
    "latest": "2.6.0"
  },
  "versions": [
    "2.0.6",
    "2.0.7",
    "2.6.0"
  ],
  "time": {
    "unpublished": null,
    "created": "2022-12-22T02:02:47.636Z",
    "modified": "2023-01-05T19:13:32.749Z",
    "2.0.6": "2022-12-22T02:02:47.636Z",
    "2.6.0": "2023-01-05T19:13:32.749Z",
    "2.0.7": "2022-12-22T02:52:27.192Z"
  },
  "repository": {
    "type": "git",
    "url": "<https://github.com/zowe/sample-angular-app.git>"
  },
  "users": {},
  "keywords": [
    "zlux",
    "appfw",
    "app",
    "angular",
    "sample"
  ],
  "license": "EPL-2.0",
  "_cached": true,
  "_contentLength": 0,
  "version": "2.6.0",
  "main": "angular-sample.pax",
  "scripts": {},
  "dist": {
    "tarball": "<https://zowe.jfrog.io/zowe/api/npm/npm-release/angular-sample/-/angular-sample-2.6.0.tgz>",
    "shasum": "dadfa65617ca1cf4cebf2332d2c366d1868b1836",
    "integrity": "sha512-OPjA9AsdP0wPl/G768RoulZ+9jDpVFVIpE43sddYGNWvfWVWtWqcatWq0JPtvf/oTl8/0OeGgkjInRTr+LUgSg=="
  },
  "homepgae": "<https://zowe.org>"
}

But still, there are somethings missing that are very much needed - we don’t fetch the pluginDefinition.json which mainly contains all these informations like - i. Actual name of the App → pluginDefinition.webContent.launchDefinition.pluginShortNameDefault