From 6ffdfdcda3009836a16760ef33421d20d261fb29 Mon Sep 17 00:00:00 2001 From: vitaliy-guliy Date: Mon, 23 Dec 2024 22:41:22 +0000 Subject: [PATCH 1/3] fix: compile nmp library as 'commonjs' module Signed-off-by: vitaliy-guliy --- build/typescript-model/generate.sh | 57 ++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/build/typescript-model/generate.sh b/build/typescript-model/generate.sh index 79f42022..13469522 100755 --- a/build/typescript-model/generate.sh +++ b/build/typescript-model/generate.sh @@ -53,12 +53,49 @@ EOF export OPENAPI_GENERATOR_COMMIT="v6.3.0" bash $WORK_DIR/gen/openapi/typescript.sh $WORK_DIR/typescript-models $WORK_DIR/config.sh - apply_sed 's/\"name\": \".*\"/"name": "@devfile\/api"/g' $WORK_DIR/typescript-models/package.json - apply_sed 's/\"description\": \".*\"/"description": "Typescript types for devfile api"/g' $WORK_DIR/typescript-models/package.json - apply_sed 's/\"repository\": \".*\"/"repository": "devfile\/api"/g' $WORK_DIR/typescript-models/package.json - apply_sed 's/\"license\": \".*\"/"license": "Apache-2.0"/g' $WORK_DIR/typescript-models/package.json - apply_sed 's/\"@types\/bluebird\": \".*\"/"@types\/bluebird": "3.5.21"/g' $WORK_DIR/typescript-models/package.json - + local workdir=$(pwd) + cd "$WORK_DIR/typescript-models" + + ###################################################################################################### + echo "[INFO] preparing package.json" + ###################################################################################################### + + echo "$(jq '. += {"name": "@devfile/api"}' package.json)" > package.json + echo "$(jq '. += {"description": "Typescript types for devfile api"}' package.json)" > package.json + echo "$(jq '.repository += {"url": "https://github.com/devfile/api"}' package.json)" > package.json + echo "$(jq '. += {"homepage": "https://github.com/devfile/api/blob/main/README.md"}' package.json)" > package.json + echo "$(jq '. += {"license": "Apache-2.0"}' package.json)" > package.json + + echo "$(jq 'del(.main)' package.json)" > package.json + echo "$(jq 'del(.type)' package.json)" > package.json + echo "$(jq 'del(.module)' package.json)" > package.json + echo "$(jq 'del(.exports)' package.json)" > package.json + echo "$(jq 'del(.typings)' package.json)" > package.json + + echo "$(jq '. += {"main": "dist/index.js"}' package.json)" > package.json + echo "$(jq '. += {"types": "dist/index.d.ts"}' package.json)" > package.json + + ###################################################################################################### + echo "[INFO] preparing tsconfig.json" + ###################################################################################################### + + # remove comments + cp -f tsconfig.json tsconfig.json.copy + node -p 'JSON.stringify(eval(`(${require("fs").readFileSync("tsconfig.json.copy", "utf-8").toString()})`))' | jq > tsconfig.json + + # remove unwanted properties + echo "$(jq 'del(.compilerOptions.noUnusedLocals)' tsconfig.json)" > tsconfig.json + echo "$(jq 'del(.compilerOptions.noUnusedParameters)' tsconfig.json)" > tsconfig.json + echo "$(jq 'del(.compilerOptions.noImplicitReturns)' tsconfig.json)" > tsconfig.json + echo "$(jq 'del(.compilerOptions.noFallthroughCasesInSwitch)' tsconfig.json)" > tsconfig.json + + # add module type + echo "$(jq '.compilerOptions += {"module": "commonjs"}' tsconfig.json)" > tsconfig.json + # add skipLibCheck + echo "$(jq '.compilerOptions += {"skipLibCheck": true}' tsconfig.json)" > tsconfig.json + + cd $workdir + echo "" > $WORK_DIR/typescript-models/.npmignore echo "[INFO] Generated typescript model which now is available in $WORK_DIR/typescript-models" } @@ -86,14 +123,6 @@ build_typescript_model() { echo "[INFO] Done." } -apply_sed(){ - if [ "$(uname)" == "Darwin" ]; then - sed -i '' "$@" - else - sed -i "$@" - fi -} - generate_swagger_json k8s_client_gen generate_typescript_metadata From 4f88b85c564d243b9f05f7cdf2f56895f891c6b0 Mon Sep 17 00:00:00 2001 From: vitaliy-guliy Date: Thu, 6 Feb 2025 12:24:51 +0000 Subject: [PATCH 2/3] fix: compile nmp library as 'commonjs' module Signed-off-by: vitaliy-guliy --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f34b75f1..57729f21 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -46,6 +46,8 @@ The following are required to build the CRDs and TypeScript models containing yo - Docker or Podman - Git +- Command-line JSON processor (jq) +- Node 18 or later Testing requires Go 1.21+ to be installed. From a3131201499c1486940ce1ae76309bf1e21af2fa Mon Sep 17 00:00:00 2001 From: vitaliy-guliy Date: Thu, 6 Feb 2025 12:29:08 +0000 Subject: [PATCH 3/3] fix: update version of upload-artifact action Signed-off-by: vitaliy-guliy --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b93f2950..e978c69c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,7 +45,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 with: name: SARIF file path: results.sarif