From a945e7e9b96fff4ae13cf7ca4e54f4be93cbd6db Mon Sep 17 00:00:00 2001 From: Jonatan Nilsson Date: Thu, 10 Mar 2022 13:26:09 +0000 Subject: [PATCH] Fix bug in cli style. Fix test. Add auto publish. Replace Circle with Appveyor --- .circleci/config.yml | 17 ---------- appveyor.yml | 75 +++++++++++++++++++++++++++++++++++++++++ bin/bunyan.mjs | 4 +-- package.json | 2 +- test/safe-json.test.mjs | 4 +-- 5 files changed, 80 insertions(+), 22 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 appveyor.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index e11796b..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: 2 -jobs: - build: - docker: - - image: node:6-alpine - working_directory: ~/mv-lite - steps: - - run: - name: Install SSH & Git - command: apk add --no-cache make bash git openssh - - checkout - - run: - name: Install dependancies - command: npm install - - run: - name: Run tests - command: npm test diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..5c99135 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,75 @@ +# version format +version: '{build}' +deploy: on + +# branches to build +branches: + # whitelist + only: + - master + +# Do not build on tags (GitHub, Bitbucket, GitLab, Gitea) +skip_tags: true + +# Maximum number of concurrent jobs for the project +max_jobs: 1 +clone_depth: 1 + +# Build worker image (VM template) +build_cloud: Docker + +environment: + APPVEYOR_SSH_KEY: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBRMxhawMlUlQ8l4pOaeHsZl8XDO54WQngkYM1U/XB4m samsyn\jonatan@JonatanAMD + docker_image: node:16-alpine + npm_config_cache: /appveyor/projects/cache + +test_script: + - sh: | + npm install + npm run test + if [ $? -ne 0 ]; then + exit 1 + fi + +# on successful build +on_success: + - sh: | + apk add curl jq + if [ $? -eq 0 ]; then + echo "Finished installling curl and jq" + else + exit 1 + fi + CURR_VER=$(cat package.json | jq -r .version) + echo "Checking https://git.nfp.is/api/v1/repos/$APPVEYOR_REPO_NAME/releases for version v${CURR_VER}" + curl -s -X GET -H "Authorization: token $deploytoken" https://git.nfp.is/api/v1/repos/$APPVEYOR_REPO_NAME/releases | grep -o "\"name\"\:\"v${CURR_VER}\"" > /dev/null + + if [ $? -eq 0 ] ; then + echo "Release already exists, nothing to do."; + else + echo "Creating release on gitea" + RELEASE_RESULT=$(curl \ + -X POST \ + -H "Authorization: token $deploytoken" \ + -H "Content-Type: application/json" \ + https://git.nfp.is/api/v1/repos/$APPVEYOR_REPO_NAME/releases \ + -d "{\"tag_name\":\"v${CURR_VER}\",\"name\":\"v${CURR_VER}\",\"body\":\"Automatic release from Appveyor from ${APPVEYOR_REPO_COMMIT} :\n\n${APPVEYOR_REPO_COMMIT_MESSAGE}\"}") + RELEASE_ID=$(echo $RELEASE_RESULT | jq -r .id) + echo '//registry.npmjs.org/:_authToken=${npmtoken}' > ~/.npmrc + echo "Publishing new version to npm" + npm publish + fi +# - sh: | +# YELLOW='\033[0;33m' +# NC='\033[0m' +# LOCK_FILE="${HOME}/build.lock" +# export APPVEYOR_SSH_BLOCK=true +# touch "${LOCK_FILE}" +# echo -e "Build paused. To resume it, open a bash session to run '${YELLOW}rm \"${LOCK_FILE}\"${NC}' command." +# while [ -f "${LOCK_FILE}" ]; do +# sleep 1 +# done + +# on build failure +on_failure: + - sh: echo on_failure diff --git a/bin/bunyan.mjs b/bin/bunyan.mjs index 5b51d5e..31f43ff 100644 --- a/bin/bunyan.mjs +++ b/bin/bunyan.mjs @@ -608,8 +608,8 @@ function stylizeWithColor(str, color) { return ''; var codes = colors[color]; if (codes) { - return '\x33[' + codes[0] + 'm' + str + - '\x33[' + codes[1] + 'm'; + return '\x1B[' + codes[0] + 'm' + str + + '\x1B[' + codes[1] + 'm'; } else { return str; } diff --git a/package.json b/package.json index 67e911b..f684b3a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bunyan-lite", - "version": "1.1.1", + "version": "1.2.0", "description": "a lite version of bunyan, a JSON logging library for node.js services with zero dependency", "author": "Jonatan Nilsson (https://nfp.is)", "main": "./lib/bunyan.mjs", diff --git a/test/safe-json.test.mjs b/test/safe-json.test.mjs index 1d12b35..f5c23c3 100644 --- a/test/safe-json.test.mjs +++ b/test/safe-json.test.mjs @@ -119,7 +119,7 @@ t.test('defined getter properties using __defineGetter__', function() { ); assert.strictEqual( - '{"foo":"[Throws: Cannot read property \'oh my\' of undefined]"}', + '{"foo":"[Throws: Cannot read properties of undefined (reading \'oh my\')]"}', safeJson(obj) ); }); @@ -142,7 +142,7 @@ t.test('enumerable defined getter properties using Object.defineProperty', funct ); assert.strictEqual( - '{"foo":"[Throws: Cannot read property \'oh my\' of undefined]"}', + '{"foo":"[Throws: Cannot read properties of undefined (reading \'oh my\')]"}', safeJson(obj) ); });