diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 42604031..35db4bb8 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,5 +2,5 @@ blank_issues_enabled: false contact_links: - name: GitHub Discussions - url: https://github.com/trustification/exhort-javascript-api/discussions/ + url: https://github.com/guacsec/exhort-javascript-api/discussions/ about: You can also use Discussions for questions and ideas. diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index af7a30f6..39d2eab1 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -13,7 +13,7 @@ concurrency: jobs: call-shared: - uses: trustification/exhort-integration-tests/.github/workflows/integration.yml@main + uses: guacsec/exhort-integration-tests/.github/workflows/integration.yml@main with: language: javascript repo-url: ${{ github.event.pull_request.head.repo.full_name || github.repository }} diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index 072b699d..120e16cb 100644 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -33,7 +33,7 @@ jobs: - name: Create .npmrc run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc + echo "@guacsec:registry=https://npm.pkg.github.com" >> .npmrc - name: Install commitlint run: | diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 629f383a..1bf79298 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -35,7 +35,7 @@ jobs: - name: Create .npmrc run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc + echo "@guacsec:registry=https://npm.pkg.github.com" >> .npmrc - name: Enable Corepack run: corepack enable diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c6399f8..bc27f43c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,7 +43,7 @@ jobs: - name: Create .npmrc run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc + echo "@guacsec:registry=https://npm.pkg.github.com" >> .npmrc - name: Configure git run: | diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml index cbad2af5..cd6f05b4 100644 --- a/.github/workflows/stage.yml +++ b/.github/workflows/stage.yml @@ -29,7 +29,7 @@ jobs: stage: runs-on: ubuntu-latest # Branches that starts with `release/` shouldn't trigger this workflow, as these are triggering the release workflow. - if: github.repository_owner == 'trustification' && github.event.pull_request.merged == true && !startsWith(github.head_ref, 'release/') + if: github.repository_owner == 'guacsec' && github.event.pull_request.merged == true && !startsWith(github.head_ref, 'release/') environment: staging name: Stage the project steps: @@ -50,7 +50,7 @@ jobs: - name: Create .npmrc run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc + echo "@guacsec:registry=https://npm.pkg.github.com" >> .npmrc - name: Enable Corepack run: corepack enable diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..0bab0978 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,21 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Mocha (Test single file)", + "type": "node", + "request": "launch", + "runtimeArgs": [ + "${workspaceRoot}/node_modules/.bin/mocha", + "--inspect-brk", + "${relativeFile}", + ], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen", + // "port": 9229 + } + ] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be52e737..3a4e1eca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,7 @@ ### OpenAPI Specifications -The OpenAPI specification is located in the [`exhort-api-spec`](https://github.com/trustification/exhort-api-spec) where the Java and Javascript libraries are generated. +The OpenAPI specification is located in the [`exhort-api-spec`](https://github.com/guacsec/exhort-api-spec) where the Java and Javascript libraries are generated. ### Code Walkthrough @@ -86,7 +86,7 @@ scripts in [integration/testers](integration/testers).
We have 3 _testers_: * [integration/testers/cli](integration/testers/cli) is a _package.json_ used for installing the _ESM module_. - Invoking the CLI Script is done against the _@trustification/exhort-javascript-api/dist/src/cli.js_ in the tester's + Invoking the CLI Script is done against the _@guacsec/exhort-javascript-api/dist/src/cli.js_ in the tester's _node_modules_. * [integration/testers/javascript](integration/testers/javascript) is a _javascript_ script invoking the _ESM module_. * [integration/testers/typescript](integration/testers/typescript) is a _typescript_ script invoking the _ESM module_. @@ -119,7 +119,7 @@ contribution. See the [DCO](DCO) file for details. [0]: https://www.conventionalcommits.org/en/v1.0.0/ -[1]: https://github.com/trustification/exhort/blob/0.1.x/src/main/resources/META-INF/openapi.yaml +[1]: https://github.com/guacsec/exhort/blob/0.1.x/src/main/resources/META-INF/openapi.yaml [10]: https://badgen.net/badge/NodeJS%20Version/18/68a063 diff --git a/README.md b/README.md index ee7dfe60..f2910689 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Exhort JavaScript API
![latest-no-snapshot][0] ![latest-snapshot][1] -* Looking for the OpenAPI Spec? Try [Exhort API Spec](https://github.com/trustification/exhort-api-spec) -* Looking for our Java API? Try [Exhort Java API](https://github.com/trustification/exhort-java-api). -* Looking for our Backend implementation? Try [Exhort](https://github.com/trustification/exhort). +* Looking for the OpenAPI Spec? Try [Exhort API Spec](https://github.com/guacsec/exhort-api-spec) +* Looking for our Java API? Try [Exhort Java API](https://github.com/guacsec/exhort-java-api). +* Looking for our Backend implementation? Try [Exhort](https://github.com/guacsec/exhort). The _Exhort JavaScript API_ module is deployed to _GitHub Package Registry_. @@ -31,11 +31,11 @@ See [GH Docs](https://docs.github.com/en/packages/working-with-a-github-packages

Usage

-Configuring NPM to look in GHPR for the trustification namespace is done by adding -@trustification:registry=https://npm.pkg.github.com to .npmrc in the project root or user home. +Configuring NPM to look in GHPR for the guacsec namespace is done by adding +@guacsec:registry=https://npm.pkg.github.com to .npmrc in the project root or user home. ```shell -echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc +echo "@guacsec:registry=https://npm.pkg.github.com" >> .npmrc ```

@@ -44,11 +44,11 @@ echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc Use as ESM Module from an ESM module ```shell -npm install @trustification/exhort-javascript-api +npm install @guacsec/exhort-javascript-api ``` ```javascript -import exhort from '@trustification/exhort-javascript-api' +import exhort from '@guacsec/exhort-javascript-api' import fs from 'node:fs' // Get stack analysis in JSON format @@ -65,14 +65,14 @@ let componentAnalysis = await exhort.componentAnalysis('/path/to/pom.xml') Use as ESM Module from Common-JS module ```shell -npm install @trustification/exhort-javascript-api +npm install @guacsec/exhort-javascript-api ``` ```javascript async function loadExhort() { // dynamic import is the only way to import ESM module into commonJS module - const { default: exhort } = await import('@trustification/exhort-javascript-api'); + const { default: exhort } = await import('@guacsec/exhort-javascript-api'); return exhort } const runExhort = (manifestPath) => { @@ -98,7 +98,7 @@ Use as CLI Script Click for help menu ```shell -$ npx @trustification/exhort-javascript-api help +$ npx @guacsec/exhort-javascript-api help Usage: exhort-javascript-api {component|stack} @@ -113,16 +113,16 @@ Options: ```shell # get stack analysis in json format -$ npx @trustification/exhort-javascript-api stack /path/to/pom.xml +$ npx @guacsec/exhort-javascript-api stack /path/to/pom.xml # get stack analysis in json format (summary only) -$ npx @trustification/exhort-javascript-api stack /path/to/pom.xml --summary +$ npx @guacsec/exhort-javascript-api stack /path/to/pom.xml --summary # get stack analysis in html format format -$ npx @trustification/exhort-javascript-api stack /path/to/pom.xml --html +$ npx @guacsec/exhort-javascript-api stack /path/to/pom.xml --html # get component analysis -$ npx @trustification/exhort-javascript-api component /path/to/pom.xml +$ npx @guacsec/exhort-javascript-api component /path/to/pom.xml ``` @@ -130,7 +130,7 @@ $ npx @trustification/exhort-javascript-api component /path/to/pom.xml Use as Global Binary ```shell -npm install --global @trustification/exhort-javascript-api +npm install --global @guacsec/exhort-javascript-api ``` ```shell @@ -206,7 +206,7 @@ Excluding a package from any analysis can be achieved by marking the package for Golang users can add in go.mod a comment with //exhortignore next to the package to be ignored, or to "piggyback" on existing comment ( e.g - //indirect) , for example: ```go -module github.com/trustification/SaaSi/deployer +module github.com/guacsec/SaaSi/deployer go 1.19 @@ -295,7 +295,7 @@ for various customization. However, ESM Module users, can opt for customizing programmatically: ```javascript -import exhort from '@trustification/exhort-javascript-api' +import exhort from '@guacsec/exhort-javascript-api' import fs from 'node:fs' let options = { @@ -500,8 +500,8 @@ For some ecosystems we support passing additional CLI arguments to the underlyin -[0]: https://img.shields.io/github/v/release/trustification/exhort-javascript-api?color=green&label=latest -[1]: https://img.shields.io/github/v/release/trustification/exhort-javascript-api?color=yellow&include_prereleases&label=early-access +[0]: https://img.shields.io/github/v/release/guacsec/exhort-javascript-api?color=green&label=latest +[1]: https://img.shields.io/github/v/release/guacsec/exhort-javascript-api?color=yellow&include_prereleases&label=early-access ### Known Issues diff --git a/catalog-info.yaml b/catalog-info.yaml index e3642967..a449f36c 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -3,11 +3,11 @@ kind: Component metadata: annotations: backstage.io/kubernetes-id: exhort-javascript-api - github.com/project-slug: trustification/exhort-javascript-api + github.com/project-slug: guacsec/exhort-javascript-api github.com/project-readme-path: README.md - backstage.io/view-url: https://github.com/trustification/exhort-javascript-api/blob/main/catalog-info.yaml - backstage.io/edit-url: https://github.com/trustification/exhort-javascript-api/blob/main/catalog-info.yaml - backstage.io/source-location: url:https://github.com/trustification/exhort-javascript-api + backstage.io/view-url: https://github.com/guacsec/exhort-javascript-api/blob/main/catalog-info.yaml + backstage.io/edit-url: https://github.com/guacsec/exhort-javascript-api/blob/main/catalog-info.yaml + backstage.io/source-location: url:https://github.com/guacsec/exhort-javascript-api rhda/manifest-file-path: package.json backstage.io/techdocs-ref: dir:README.md name: exhort-javascript-api diff --git a/docker-image/Dockerfiles/Dockerfile b/docker-image/Dockerfiles/Dockerfile index c4e18b4d..4c1544c6 100644 --- a/docker-image/Dockerfiles/Dockerfile +++ b/docker-image/Dockerfiles/Dockerfile @@ -28,7 +28,7 @@ COPY configs/.npmrc . # replace placeholder with the actual environment variable RUN sed -i "s/__PACKAGE_REGISTRY_ACCESS_TOKEN__/${PACKAGE_REGISTRY_ACCESS_TOKEN}/g" ./.npmrc # install Exhort javascript API -RUN npm install --global @trustification/exhort-javascript-api@${EXHORT_JAVASCRIPT_API_VERSION} +RUN npm install --global @guacsec/exhort-javascript-api@${EXHORT_JAVASCRIPT_API_VERSION} # add RHDA script COPY scripts/rhda.sh /rhda.sh @@ -47,7 +47,7 @@ USER default # second stage FROM registry.access.redhat.com/ubi9/nodejs-20-minimal -LABEL org.opencontainers.image.source=https://github.com/trustification/exhort-javascript-api +LABEL org.opencontainers.image.source=https://github.com/guacsec/exhort-javascript-api # assign rhda source for exhort tracking purposes ENV RHDA_SOURCE='' diff --git a/integration/testers/cli/package.json b/integration/testers/cli/package.json index 4e208f20..30e910d0 100644 --- a/integration/testers/cli/package.json +++ b/integration/testers/cli/package.json @@ -6,6 +6,6 @@ "type": "module", "license": "Apache-2.0", "dependencies": { - "@trustification/exhort-javascript-api": "file:../../../" + "@guacsec/exhort-javascript-api": "file:../../../" } } diff --git a/integration/testers/javascript/index.js b/integration/testers/javascript/index.js index 80f10538..3d131857 100644 --- a/integration/testers/javascript/index.js +++ b/integration/testers/javascript/index.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -import exhort from '@trustification/exhort-javascript-api' +import exhort from '@guacsec/exhort-javascript-api' import process from 'node:process' const [,, ...args] = process.argv diff --git a/integration/testers/javascript/package.json b/integration/testers/javascript/package.json index eac4af4b..bb1e6d1b 100644 --- a/integration/testers/javascript/package.json +++ b/integration/testers/javascript/package.json @@ -6,6 +6,6 @@ "type": "module", "license": "Apache-2.0", "dependencies": { - "@trustification/exhort-javascript-api": "file:../../../" + "@guacsec/exhort-javascript-api": "file:../../../" } } diff --git a/integration/testers/typescript/index.ts b/integration/testers/typescript/index.ts index 3e5ac38c..d0995e6a 100644 --- a/integration/testers/typescript/index.ts +++ b/integration/testers/typescript/index.ts @@ -1,8 +1,8 @@ #!/usr/bin/env node -import exhort from '@trustification/exhort-javascript-api' +import exhort from '@guacsec/exhort-javascript-api' import process from 'node:process' -import { AnalysisReport } from '@trustification/exhort-api-spec/model/v4/AnalysisReport' +import { AnalysisReport } from '@guacsec/exhort-api-spec/model/v4/AnalysisReport' const [,, ...args] = process.argv diff --git a/integration/testers/typescript/package.json b/integration/testers/typescript/package.json index 2e93e718..0debe774 100644 --- a/integration/testers/typescript/package.json +++ b/integration/testers/typescript/package.json @@ -10,7 +10,7 @@ "compile": "tsc -p tsconfig.json" }, "dependencies": { - "@trustification/exhort-javascript-api": "file:../../../" + "@guacsec/exhort-javascript-api": "file:../../../" }, "devDependencies": { "typescript": "^5.1.3" diff --git a/package-lock.json b/package-lock.json index 9ac89306..74625987 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@trustification/exhort-javascript-api", + "name": "@guacsec/exhort-javascript-api", "version": "0.2.4-ea.9", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@trustification/exhort-javascript-api", + "name": "@guacsec/exhort-javascript-api", "version": "0.2.4-ea.9", "license": "Apache-2.0", "dependencies": { @@ -24,7 +24,7 @@ }, "devDependencies": { "@babel/core": "^7.23.2", - "@trustification/exhort-api-spec": "^1.0.18", + "@guacsec/exhort-api-spec": "^1.0.18", "@types/node": "^20.17.30", "@types/which": "^3.0.4", "babel-plugin-rewire": "^1.2.0", @@ -862,9 +862,9 @@ "dev": true, "license": "(Unlicense OR Apache-2.0)" }, - "node_modules/@trustification/exhort-api-spec": { + "node_modules/@guacsec/exhort-api-spec": { "version": "1.0.18", - "resolved": "https://npm.pkg.github.com/download/@trustification/exhort-api-spec/1.0.18/b7f6dc02d979899c009edbc0bf3d9bdee137f151", + "resolved": "https://npm.pkg.github.com/download/@guacsec/exhort-api-spec/1.0.18/b7f6dc02d979899c009edbc0bf3d9bdee137f151", "integrity": "sha512-ft9oRpItc9LDe/fzcrQiLYJBd3Tpmx0nMl9VMMSfajVDuy3Ot+vMqI3OvhytnzlSb3rY8UUg3+m7xqhi4U/zJw==", "dev": true, "license": "Apache-2.0" diff --git a/package.json b/package.json index a696ac08..fd1aed11 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { - "name": "@trustification/exhort-javascript-api", + "name": "@guacsec/exhort-javascript-api", "version": "0.2.4-ea.9", "description": "Code-Ready Dependency Analytics JavaScript API.", "license": "Apache-2.0", - "homepage": "https://github.com/trustification/exhort-javascript-api#README.md", - "bugs": "https://github.com/trustification/exhort-javascript-api/issues", - "repository": "github:trustification/exhort-javascript-api", + "homepage": "https://github.com/guacsec/exhort-javascript-api#README.md", + "bugs": "https://github.com/guacsec/exhort-javascript-api/issues", + "repository": "github:guacsec/exhort-javascript-api", "publishConfig": { "registry": "https://npm.pkg.github.com" }, @@ -56,7 +56,7 @@ }, "devDependencies": { "@babel/core": "^7.23.2", - "@trustification/exhort-api-spec": "^1.0.18", + "@guacsec/exhort-api-spec": "^1.0.18", "@types/node": "^20.17.30", "@types/which": "^3.0.4", "babel-plugin-rewire": "^1.2.0", diff --git a/src/analysis.js b/src/analysis.js index 20e05860..bdf75777 100644 --- a/src/analysis.js +++ b/src/analysis.js @@ -34,7 +34,7 @@ function addProxyAgent(options, opts) { * @param {string} url - the backend url to send the request to * @param {boolean} [html=false] - true will return 'text/html', false will return 'application/json' * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} */ async function requestStack(provider, manifest, url, html = false, opts = {}) { opts["source-manifest"] = Buffer.from(fs.readFileSync(manifest).toString()).toString('base64') @@ -97,7 +97,7 @@ async function requestStack(provider, manifest, url, html = false, opts = {}) { * @param {string} manifest - path for the manifest * @param {string} url - the backend url to send the request to * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} */ async function requestComponent(provider, manifest, url, opts = {}) { opts["source-manifest"] = Buffer.from(fs.readFileSync(manifest).toString()).toString('base64') @@ -151,7 +151,7 @@ async function requestComponent(provider, manifest, url, opts = {}) { * @param {Array} imageRefs * @param {string} url * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {Promise>} + * @returns {Promise>} */ async function requestImages(imageRefs, url, html = false, opts = {}) { const imageSboms = {} diff --git a/src/index.js b/src/index.js index 1b376c1b..11b7e345 100644 --- a/src/index.js +++ b/src/index.js @@ -149,7 +149,7 @@ let theUrl * @param {string} manifest * @param {false} html * @param {Options} [opts={}] - * @returns {Promise} + * @returns {Promise} * @throws {Error} */ @@ -159,7 +159,7 @@ let theUrl * @param {string} manifest - path for the manifest * @param {boolean} [html=false] - true will return a html string, false will return AnalysisReport object. * @param {Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} * @throws {Error} if manifest inaccessible, no matching provider, failed to get create content, * or backend request failed */ @@ -174,7 +174,7 @@ async function stackAnalysis(manifest, html = false, opts = {}) { * Get component analysis report for a manifest content. * @param {string} manifest - path to the manifest * @param {Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} * @throws {Error} if no matching provider, failed to get create content, or backend request failed */ async function componentAnalysis(manifest, opts = {}) { @@ -199,7 +199,7 @@ async function componentAnalysis(manifest, opts = {}) { * @param {Array} imageRefs * @param {false} html * @param {Options} [opts={}] - * @returns {Promise>} + * @returns {Promise>} * @throws {Error} */ @@ -209,7 +209,7 @@ async function componentAnalysis(manifest, opts = {}) { * @param {Array} imageRefs - OCI image references * @param {boolean} [html=false] - true will return a html string, false will return AnalysisReport * @param {Options} [opts={}] - optional various options to pass along the application - * @returns {Promise>} + * @returns {Promise>} * @throws {Error} if manifest inaccessible, no matching provider, failed to get create content, * or backend request failed */