diff --git a/.devcontainer/configurations/.zshrc b/.devcontainer/configurations/.zshrc index 0d89b55..44f8504 100644 --- a/.devcontainer/configurations/.zshrc +++ b/.devcontainer/configurations/.zshrc @@ -17,5 +17,10 @@ source $ZSH/oh-my-zsh.sh DISABLE_AUTO_UPDATE=true DISABLE_UPDATE_PROMPT=true +# enable terminal commands history +HISTFILE=~/.zsh_history +HISTSIZE=1000 +SAVEHIST=1000 + # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh diff --git a/.gitignore b/.gitignore index c2a3e84..730db1d 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,6 @@ node_modules # go binary rtldev-middleware-go-sdk + +## dns control repo rtldev-middleware-dnscontrol \ No newline at end of file diff --git a/.releaserc.json b/.releaserc.json index f4cf175..7b7b82c 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -9,9 +9,23 @@ } ], [ - "@semantic-release/exec", + "semantic-release-replace-plugin", { - "prepareCmd": "./updateVersion.sh ${nextRelease.version} ${options.branch}" + "replacements": [ + { + "files": ["apiclient/apiclient.go"], + "from": "\"\\d+\\.\\d+\\.\\d+\"", + "to": "\"${nextRelease.version}\"", + "countMatches": true + }, + { + "files": ["./**/*.go", "go.mod"], + "from": "github.com/centralnicgroup-opensource/rtldev-middleware-go-sdk/v\\d+", + "to": "github.com/centralnicgroup-opensource/rtldev-middleware-go-sdk/v${nextRelease.version.split('.')[0]}", + "ignore": ["./node_modules/**", "./rtldev-middleware-dnscontrol/**"], + "countMatches": true + } + ] } ], [ diff --git a/package-lock.json b/package-lock.json index eaff2eb..4256534 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,9 @@ "license": "MIT", "devDependencies": { "@semantic-release/changelog": "^6.0.3", - "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", "semantic-release": "^23.1.1", + "semantic-release-replace-plugin": "github:centralnicgroup-opensource/rtldev-middleware-semantic-release-replace-plugin", "semantic-release-teams-notify-plugin": "github:centralnicgroup-opensource/rtldev-middleware-semantic-release-notify-plugin" }, "engines": { @@ -211,6 +211,18 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -463,25 +475,6 @@ "node": ">=14.17" } }, - "node_modules/@semantic-release/exec": { - "version": "6.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@semantic-release/error": "^3.0.0", - "aggregate-error": "^3.0.0", - "debug": "^4.0.0", - "execa": "^5.0.0", - "lodash": "^4.17.4", - "parse-json": "^5.0.0" - }, - "engines": { - "node": ">=14.17" - }, - "peerDependencies": { - "semantic-release": ">=18.0.0" - } - }, "node_modules/@semantic-release/git": { "version": "10.0.1", "dev": true, @@ -834,6 +827,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "dev": true, @@ -1304,6 +1303,15 @@ "dev": true, "license": "MIT" }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -2467,6 +2475,30 @@ "node": ">= 0.6.0" } }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "dev": true, @@ -5923,6 +5955,32 @@ "node": ">= 0.8.0" } }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/pretty-ms": { "version": "9.0.0", "dev": true, @@ -5988,6 +6046,12 @@ "rc": "cli.js" } }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, "node_modules/read-package-up": { "version": "11.0.0", "dev": true, @@ -6079,6 +6143,105 @@ "node": ">=14" } }, + "node_modules/replace-in-file": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-7.2.0.tgz", + "integrity": "sha512-CiLXVop3o8/h2Kd1PwKPPimmS9wUV0Ki6Fl8+1ITD35nB3Gl/PrW5IONpTE0AXk0z4v8WYcpEpdeZqMXvSnWpg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "glob": "^8.1.0", + "yargs": "^17.7.2" + }, + "bin": { + "replace-in-file": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/replace-in-file/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/replace-in-file/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/replace-in-file/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/replace-in-file/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/replace-in-file/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/replace-in-file/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/require-directory": { "version": "2.1.1", "dev": true, @@ -6195,6 +6358,22 @@ "node": ">=20.8.1" } }, + "node_modules/semantic-release-replace-plugin": { + "version": "1.2.7", + "resolved": "git+ssh://git@github.com/centralnicgroup-opensource/rtldev-middleware-semantic-release-replace-plugin.git#7cac108b29d8844a98729e3435ece4fa95d0f9c9", + "dev": true, + "dependencies": { + "jest-diff": "^29.6.0", + "lodash-es": "^4.17.21", + "replace-in-file": "^7.0.1" + }, + "engines": { + "node": ">=20.6.1" + }, + "peerDependencies": { + "semantic-release": "^23.0.6" + } + }, "node_modules/semantic-release-teams-notify-plugin": { "version": "1.0.0", "resolved": "git+ssh://git@github.com/centralnicgroup-opensource/rtldev-middleware-semantic-release-notify-plugin.git#b3144369a4747a79808c8716ac63408fe5e93135", diff --git a/package.json b/package.json index 04718d6..fb1145b 100644 --- a/package.json +++ b/package.json @@ -38,9 +38,9 @@ ], "devDependencies": { "@semantic-release/changelog": "^6.0.3", - "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", "semantic-release": "^23.1.1", + "semantic-release-replace-plugin": "github:centralnicgroup-opensource/rtldev-middleware-semantic-release-replace-plugin", "semantic-release-teams-notify-plugin": "github:centralnicgroup-opensource/rtldev-middleware-semantic-release-notify-plugin" } } diff --git a/updateVersion.sh b/updateVersion.sh deleted file mode 100755 index 136b302..0000000 --- a/updateVersion.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# THIS SCRIPT UPDATES THE HARDCODED VERSION -# IT WILL BE EXECUTED IN STEP "prepare" OF -# semantic-release. SEE package.json - -# version format: X.Y.Z -newversion="$1" - -printf -v sed_script 's/return "[0-9]\+\.[0-9]\+\.[0-9]\+"/return "%s"/g' "${newversion}" -sed -i -e "${sed_script}" apiclient/apiclient.go