diff --git a/package-lock.json b/package-lock.json
index 6f5d501..cc04f21 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,9 +10,9 @@
"license": "MIT",
"devDependencies": {
"@actions/core": "1.10.0",
- "@types/node": "18.11.7",
- "@typescript-eslint/eslint-plugin": "5.41.0",
- "@typescript-eslint/parser": "5.41.0",
+ "@types/node": "18.11.9",
+ "@typescript-eslint/eslint-plugin": "5.42.0",
+ "@typescript-eslint/parser": "5.42.0",
"@vercel/ncc": "0.34.0",
"eslint": "8.26.0",
"markdownlint-cli": "0.32.2",
@@ -324,9 +324,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "18.11.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz",
- "integrity": "sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==",
+ "version": "18.11.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
"dev": true
},
"node_modules/@types/semver": {
@@ -336,16 +336,17 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz",
- "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz",
+ "integrity": "sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/type-utils": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.0",
+ "@typescript-eslint/type-utils": "5.42.0",
+ "@typescript-eslint/utils": "5.42.0",
"debug": "^4.3.4",
"ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
"regexpp": "^3.2.0",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
@@ -368,14 +369,14 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz",
- "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz",
+ "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.0",
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/typescript-estree": "5.42.0",
"debug": "^4.3.4"
},
"engines": {
@@ -395,13 +396,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz",
- "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz",
+ "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0"
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/visitor-keys": "5.42.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -412,13 +413,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz",
- "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz",
+ "integrity": "sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/typescript-estree": "5.42.0",
+ "@typescript-eslint/utils": "5.42.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
@@ -439,9 +440,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz",
- "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz",
+ "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -452,13 +453,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz",
- "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz",
+ "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0",
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/visitor-keys": "5.42.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -479,16 +480,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz",
- "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.0.tgz",
+ "integrity": "sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.0",
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/typescript-estree": "5.42.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0",
"semver": "^7.3.7"
@@ -505,12 +506,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz",
- "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz",
+ "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.41.0",
+ "@typescript-eslint/types": "5.42.0",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@@ -2863,9 +2864,9 @@
}
},
"node_modules/lru-cache": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz",
- "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==",
+ "version": "7.14.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz",
+ "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==",
"dev": true,
"engines": {
"node": ">=12"
@@ -3253,6 +3254,12 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
+ "node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
"node_modules/nconf": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz",
@@ -4930,9 +4937,9 @@
}
},
"node_modules/tar": {
- "version": "6.1.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
- "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "version": "6.1.12",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
+ "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==",
"dev": true,
"dependencies": {
"chownr": "^2.0.0",
@@ -4943,7 +4950,7 @@
"yallist": "^4.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">=10"
}
},
"node_modules/text-table": {
@@ -5728,9 +5735,9 @@
"dev": true
},
"@types/node": {
- "version": "18.11.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz",
- "integrity": "sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==",
+ "version": "18.11.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
+ "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
"dev": true
},
"@types/semver": {
@@ -5740,69 +5747,70 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz",
- "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz",
+ "integrity": "sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/type-utils": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.0",
+ "@typescript-eslint/type-utils": "5.42.0",
+ "@typescript-eslint/utils": "5.42.0",
"debug": "^4.3.4",
"ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
"regexpp": "^3.2.0",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/parser": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz",
- "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz",
+ "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.0",
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/typescript-estree": "5.42.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz",
- "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz",
+ "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0"
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/visitor-keys": "5.42.0"
}
},
"@typescript-eslint/type-utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz",
- "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz",
+ "integrity": "sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==",
"dev": true,
"requires": {
- "@typescript-eslint/typescript-estree": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/typescript-estree": "5.42.0",
+ "@typescript-eslint/utils": "5.42.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz",
- "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz",
+ "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz",
- "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz",
+ "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0",
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/visitor-keys": "5.42.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -5811,28 +5819,28 @@
}
},
"@typescript-eslint/utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz",
- "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.0.tgz",
+ "integrity": "sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.0",
+ "@typescript-eslint/types": "5.42.0",
+ "@typescript-eslint/typescript-estree": "5.42.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0",
"semver": "^7.3.7"
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz",
- "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==",
+ "version": "5.42.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz",
+ "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.41.0",
+ "@typescript-eslint/types": "5.42.0",
"eslint-visitor-keys": "^3.3.0"
}
},
@@ -7589,9 +7597,9 @@
"dev": true
},
"lru-cache": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz",
- "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==",
+ "version": "7.14.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz",
+ "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==",
"dev": true
},
"make-fetch-happen": {
@@ -7894,6 +7902,12 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
+ "natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
"nconf": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/nconf/-/nconf-0.12.0.tgz",
@@ -9125,9 +9139,9 @@
"dev": true
},
"tar": {
- "version": "6.1.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
- "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "version": "6.1.12",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
+ "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==",
"dev": true,
"requires": {
"chownr": "^2.0.0",
diff --git a/package.json b/package.json
index b44b414..e5323c3 100644
--- a/package.json
+++ b/package.json
@@ -32,9 +32,9 @@
"license": "MIT",
"devDependencies": {
"@actions/core": "1.10.0",
- "@types/node": "18.11.7",
- "@typescript-eslint/eslint-plugin": "5.41.0",
- "@typescript-eslint/parser": "5.41.0",
+ "@types/node": "18.11.9",
+ "@typescript-eslint/eslint-plugin": "5.42.0",
+ "@typescript-eslint/parser": "5.42.0",
"@vercel/ncc": "0.34.0",
"eslint": "8.26.0",
"markdownlint-cli": "0.32.2",
diff --git a/scripts/create-release-branch.sh b/scripts/create-release-branch.sh
deleted file mode 100755
index 9b2972f..0000000
--- a/scripts/create-release-branch.sh
+++ /dev/null
@@ -1,135 +0,0 @@
-#!/bin/bash
-# requires following packages:
-# - git; I believe you have already installed.
-# - sed; GNU sed is preferred. POSIX sed may not work.
-# - perl; Already installed on most of unix system.
-set -eu
-
-BASE_BRANCH="develop"
-
-PACKAGE_NAME="ssh-key-action"
-URL_PRODUCT="https://github.com/shimataro/${PACKAGE_NAME}"
-URL_REPOSITORY="${URL_PRODUCT}.git"
-URL_COMPARE="${URL_PRODUCT}/compare"
-URL_RELEASE="${URL_PRODUCT}/releases/new"
-
-COLOR_ERROR="\e[1;41m"
-COLOR_SECTION="\e[1;34m"
-COLOR_COMMAND_NAME="\e[1;34m"
-COLOR_OPTION="\e[4;36m"
-COLOR_COMMAND="\e[4m"
-COLOR_FILE="\e[1;34m"
-COLOR_BRANCH="\e[1;31m"
-COLOR_INPUT="\e[1;31m"
-COLOR_SELECT="\e[1;32m"
-COLOR_RESET="\e[m"
-
-function main() {
- cd $(dirname ${0})/..
-
- if [ $# -lt 1 ]; then
- usage
- fi
-
- local VERSION=$1
- local BRANCH="release/v${VERSION}"
- local TAG="v${VERSION}"
-
- check_version_format ${VERSION}
- check_current_branch
-
- create_branch ${BRANCH}
- ./scripts/prepare-release.sh ${VERSION}
- finish ${VERSION} ${BRANCH} ${TAG}
-}
-
-function usage() {
- local COMMAND=`basename ${0}`
-
- echo -e "${COLOR_SECTION}NAME${COLOR_RESET}
- ${COMMAND} - Create a branch and prepare for new release
-
-${COLOR_SECTION}SYNOPSIS${COLOR_RESET}
- ${COLOR_COMMAND_NAME}${COMMAND}${COLOR_RESET} <${COLOR_OPTION}new-version${COLOR_RESET}>
-
-${COLOR_SECTION}DESCRIPTION${COLOR_RESET}
- This command:
- - creates a new branch for release
- - updates ${COLOR_FILE}CHANGELOG.md${COLOR_RESET}
- - updates package version in ${COLOR_FILE}package.json${COLOR_RESET}
- - updates dependencies version in ${COLOR_FILE}package.json${COLOR_RESET}
- - verifies
- - ...and commits!
-
- ${COLOR_OPTION}new-version${COLOR_RESET} must follow \"Semantic Versioning\" .
-"
- exit 1
-}
-
-function check_version_format() {
- if [[ $1 =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then
- return
- fi
-
- echo -e "${COLOR_ERROR}ERROR:${COLOR_RESET} Follow \"Semantic Versioning\" for new version.
-" >&2
- exit 2
-}
-
-function check_current_branch() {
- local CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD`
- if [ ${CURRENT_BRANCH} = ${BASE_BRANCH} ]; then
- return
- fi
-
- echo -e "${COLOR_ERROR}ERROR:${COLOR_RESET} Work on ${COLOR_BRANCH}${BASE_BRANCH}${COLOR_RESET} branch
- ${COLOR_COMMAND}git checkout ${BASE_BRANCH}${COLOR_RESET}
-" >&2
- exit 2
-}
-
-function create_branch() {
- local BRANCH=$1
-
- git checkout -b ${BRANCH} ${BASE_BRANCH}
-}
-
-function finish() {
- local VERSION=$1
- local BRANCH=$2
- local TAG=$3
- local TARGET_BRANCH="v${VERSION%%[!0-9]*}"
- local UPSTREAM="origin"
- local CHANGELOG=$(git diff ${UPSTREAM}/${TARGET_BRANCH} ${BRANCH} CHANGELOG.md | sed -e "/^[^+]/d" -e "s/^\+\(.*\)$/\1/" -e "/^## /d" -e "/^\+/d" -e "/^\[/d" -e "s/\s/%20/g" -e "s/#/%23/g" -e 's/\n//g' | perl -pe "s/\n/%0A/g" | perl -pe "s/^(%0A)+//" | perl -pe "s/(%0A)+$//")
-
- echo -e "
-Branch ${COLOR_BRANCH}${BRANCH}${COLOR_RESET} has been created.
-Remaining processes are...
-
-1. Make sure all changes are correct
- ${COLOR_COMMAND}git diff ${BASE_BRANCH} ${BRANCH}${COLOR_RESET}
-2. Push to remote ${UPSTREAM}
- ${COLOR_COMMAND}git push --set-upstream ${UPSTREAM} ${BRANCH}${COLOR_RESET}
-3. Create a pull-request: ${COLOR_BRANCH}${BRANCH}${COLOR_RESET} to ${COLOR_BRANCH}${BASE_BRANCH}${COLOR_RESET}
- ${URL_COMPARE}/${BASE_BRANCH}...${BRANCH}?expand=1
- select ${COLOR_SELECT}Squash and merge${COLOR_RESET}
-4. Create a pull-request: ${COLOR_BRANCH}${BASE_BRANCH}${COLOR_RESET} to ${COLOR_BRANCH}${TARGET_BRANCH}${COLOR_RESET}
- ${URL_COMPARE}/${TARGET_BRANCH}...${BASE_BRANCH}?expand=1&title=version%20${VERSION}&body=${CHANGELOG}
- select ${COLOR_SELECT}Create a merge commit${COLOR_RESET}
-5. Create a new release
- ${URL_RELEASE}?tag=${TAG}&target=${TARGET_BRANCH}&title=${PACKAGE_NAME}%20${VERSION}%20released&body=${CHANGELOG}
- Tag version: ${COLOR_INPUT}${TAG}${COLOR_RESET}
- Target: ${COLOR_INPUT}${TARGET_BRANCH}${COLOR_RESET}
- Release title: ${COLOR_INPUT}${PACKAGE_NAME} ${VERSION} released${COLOR_RESET}
- Description this release: (copy and paste CHANGELOG.md)
-6. Post processing
- ${COLOR_COMMAND}git checkout ${BASE_BRANCH}${COLOR_RESET}
- ${COLOR_COMMAND}git pull${COLOR_RESET}
- ${COLOR_COMMAND}git fetch -p${COLOR_RESET}
- ${COLOR_COMMAND}git branch -D ${BRANCH}${COLOR_RESET}
-
-That's all!
-"
-}
-
-main "$@"
diff --git a/scripts/prepare-release.sh b/scripts/prepare-release.sh
index e8901f1..f8c11e8 100755
--- a/scripts/prepare-release.sh
+++ b/scripts/prepare-release.sh
@@ -1,9 +1,18 @@
#!/bin/bash
# requires following packages:
-# - git; I believe it's already installed.
+# - git; I believe you have already installed.
# - sed; GNU sed is preferred. POSIX sed may not work.
+# - perl; Already installed on most of unix system.
set -eu
+BASE_BRANCH="develop"
+
+PACKAGE_NAME="ssh-key-action"
+URL_PRODUCT="https://github.com/shimataro/${PACKAGE_NAME}"
+URL_REPOSITORY="${URL_PRODUCT}.git"
+URL_COMPARE="${URL_PRODUCT}/compare"
+URL_RELEASE="${URL_PRODUCT}/releases/new"
+
COLOR_ERROR="\e[1;41m"
COLOR_SECTION="\e[1;34m"
COLOR_COMMAND_NAME="\e[1;34m"
@@ -16,34 +25,39 @@ COLOR_SELECT="\e[1;32m"
COLOR_RESET="\e[m"
function main() {
+ cd $(dirname ${0})/..
+
if [ $# -lt 1 ]; then
usage
fi
- cd $(dirname ${0})/..
-
local VERSION=$1
- check_version_format ${VERSION}
+ local BRANCH="release/v${VERSION}"
+ local TAG="v${VERSION}"
+ check_version_format ${VERSION}
+ check_current_branch
+
+ create_branch ${BRANCH}
update_changelog ${VERSION}
update_package_version ${VERSION}
- update_dependencies_version
- regenerate_package_lock
build_package
commit_changes ${VERSION}
+ finish ${VERSION} ${BRANCH} ${TAG}
}
function usage() {
local COMMAND=`basename ${0}`
echo -e "${COLOR_SECTION}NAME${COLOR_RESET}
- ${COMMAND} - Prepare for new release
+ ${COMMAND} - Create a branch and prepare for new release
${COLOR_SECTION}SYNOPSIS${COLOR_RESET}
${COLOR_COMMAND_NAME}${COMMAND}${COLOR_RESET} <${COLOR_OPTION}new-version${COLOR_RESET}>
${COLOR_SECTION}DESCRIPTION${COLOR_RESET}
This command:
+ - creates a new branch for release
- updates ${COLOR_FILE}CHANGELOG.md${COLOR_RESET}
- updates package version in ${COLOR_FILE}package.json${COLOR_RESET}
- updates dependencies version in ${COLOR_FILE}package.json${COLOR_RESET}
@@ -65,6 +79,24 @@ function check_version_format() {
exit 2
}
+function check_current_branch() {
+ local CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD`
+ if [ ${CURRENT_BRANCH} = ${BASE_BRANCH} ]; then
+ return
+ fi
+
+ echo -e "${COLOR_ERROR}ERROR:${COLOR_RESET} Work on ${COLOR_BRANCH}${BASE_BRANCH}${COLOR_RESET} branch
+ ${COLOR_COMMAND}git checkout ${BASE_BRANCH}${COLOR_RESET}
+" >&2
+ exit 2
+}
+
+function create_branch() {
+ local BRANCH=$1
+
+ git checkout -b ${BRANCH} ${BASE_BRANCH}
+}
+
function update_changelog() {
local VERSION=$1
local DATE=`date "+%Y-%m-%d"`
@@ -79,20 +111,8 @@ function update_changelog() {
function update_package_version() {
local VERSION=$1
- sed -i".bak" -r \
- -e "s/(\"version\"\s*:\s*)\".*?\"/\1\"${VERSION}\"/" \
- package.json
-}
-
-function update_dependencies_version() {
- npm ci
- npm run check-updates -- -u
-}
-
-function regenerate_package_lock() {
- rm -rf package-lock.json node_modules
- npm install
- npm dedupe
+ # update package.json
+ npm version --no-git-tag-version ${VERSION}
}
function build_package() {
@@ -103,10 +123,46 @@ function build_package() {
function commit_changes() {
local VERSION=$1
- rm -rf node_modules
- npm ci --only=production
- git add CHANGELOG.md package.json package-lock.json lib
+ git add .
git commit -m "version ${VERSION}"
}
+function finish() {
+ local VERSION=$1
+ local BRANCH=$2
+ local TAG=$3
+ local TARGET_BRANCH="v${VERSION%%[!0-9]*}"
+ local UPSTREAM="origin"
+ local CHANGELOG=$(git diff ${UPSTREAM}/${TARGET_BRANCH} ${BRANCH} CHANGELOG.md | sed -e "/^[^+]/d" -e "s/^\+\(.*\)$/\1/" -e "/^## /d" -e "/^\+/d" -e "/^\[/d" -e "s/\s/%20/g" -e "s/#/%23/g" -e 's/\n//g' | perl -pe "s/\n/%0A/g" | perl -pe "s/^(%0A)+//" | perl -pe "s/(%0A)+$//")
+
+ echo -e "
+Branch ${COLOR_BRANCH}${BRANCH}${COLOR_RESET} has been created.
+Remaining processes are...
+
+1. Make sure all changes are correct
+ ${COLOR_COMMAND}git diff ${BASE_BRANCH} ${BRANCH}${COLOR_RESET}
+2. Push to remote ${UPSTREAM}
+ ${COLOR_COMMAND}git push --set-upstream ${UPSTREAM} ${BRANCH}${COLOR_RESET}
+3. Create a pull-request: ${COLOR_BRANCH}${BRANCH}${COLOR_RESET} to ${COLOR_BRANCH}${BASE_BRANCH}${COLOR_RESET}
+ ${URL_COMPARE}/${BASE_BRANCH}...${BRANCH}?expand=1
+ select ${COLOR_SELECT}Squash and merge${COLOR_RESET}
+4. Create a pull-request: ${COLOR_BRANCH}${BASE_BRANCH}${COLOR_RESET} to ${COLOR_BRANCH}${TARGET_BRANCH}${COLOR_RESET}
+ ${URL_COMPARE}/${TARGET_BRANCH}...${BASE_BRANCH}?expand=1&title=version%20${VERSION}&body=${CHANGELOG}
+ select ${COLOR_SELECT}Create a merge commit${COLOR_RESET}
+5. Create a new release
+ ${URL_RELEASE}?tag=${TAG}&target=${TARGET_BRANCH}&title=${PACKAGE_NAME}%20${VERSION}%20released&body=${CHANGELOG}
+ Tag version: ${COLOR_INPUT}${TAG}${COLOR_RESET}
+ Target: ${COLOR_INPUT}${TARGET_BRANCH}${COLOR_RESET}
+ Release title: ${COLOR_INPUT}${PACKAGE_NAME} ${VERSION} released${COLOR_RESET}
+ Description this release: (copy and paste CHANGELOG.md)
+6. Post processing
+ ${COLOR_COMMAND}git checkout ${BASE_BRANCH}${COLOR_RESET}
+ ${COLOR_COMMAND}git pull${COLOR_RESET}
+ ${COLOR_COMMAND}git fetch -p${COLOR_RESET}
+ ${COLOR_COMMAND}git branch -D ${BRANCH}${COLOR_RESET}
+
+That's all!
+"
+}
+
main "$@"