chore: add release script

This commit is contained in:
ayo 2026-07-05 12:01:58 +02:00
parent 5503e57897
commit f5703af9f4
4 changed files with 159 additions and 53 deletions

View file

@ -36,10 +36,7 @@
"size-limit": "pnpm run build && size-limit", "size-limit": "pnpm run build && size-limit",
"clean": "rm -rf dist", "clean": "rm -rf dist",
"copy:source": "esbuild --minify --bundle ./src/*.js ./src/utils/* --outdir=\"./dist\" --format=\"esm\"", "copy:source": "esbuild --minify --bundle ./src/*.js ./src/utils/* --outdir=\"./dist\" --format=\"esm\"",
"pub": "pnpm run clean && pnpm run build && npm publish", "release": "bumpp & node ./scripts/release.js",
"pub:patch": "npm version patch && pnpm run pub",
"pub:minor": "npm version minor && pnpm run pub",
"pub:major": "npm version major && pnpm run pub",
"format": "prettier . --write", "format": "prettier . --write",
"lint": "eslint . --config eslint.config.mjs", "lint": "eslint . --config eslint.config.mjs",
"prepare": "husky" "prepare": "husky"
@ -64,6 +61,7 @@
"@eslint/js": "^9.39.2", "@eslint/js": "^9.39.2",
"@size-limit/preset-small-lib": "^12.0.0", "@size-limit/preset-small-lib": "^12.0.0",
"@vitest/coverage-v8": "4.0.18", "@vitest/coverage-v8": "4.0.18",
"bumpp": "^11.1.0",
"esbuild": "^0.27.2", "esbuild": "^0.27.2",
"eslint": "^9.39.2", "eslint": "^9.39.2",
"eslint-plugin-jsdoc": "^62.4.1", "eslint-plugin-jsdoc": "^62.4.1",

View file

@ -17,15 +17,18 @@ importers:
'@vitest/coverage-v8': '@vitest/coverage-v8':
specifier: 4.0.18 specifier: 4.0.18
version: 4.0.18(vitest@4.0.18(@opentelemetry/api@1.8.0)(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(terser@5.39.0)(yaml@2.8.2)) version: 4.0.18(vitest@4.0.18(@opentelemetry/api@1.8.0)(@types/node@25.0.10)(happy-dom@20.3.7)(jiti@2.6.1)(terser@5.39.0)(yaml@2.8.2))
bumpp:
specifier: ^11.1.0
version: 11.1.0
esbuild: esbuild:
specifier: ^0.27.2 specifier: ^0.27.2
version: 0.27.2 version: 0.27.2
eslint: eslint:
specifier: ^9.39.2 specifier: ^9.39.2
version: 9.39.2(jiti@2.6.1) version: 9.39.2(jiti@2.6.1)(supports-color@10.2.2)
eslint-plugin-jsdoc: eslint-plugin-jsdoc:
specifier: ^62.4.1 specifier: ^62.4.1
version: 62.4.1(eslint@9.39.2(jiti@2.6.1)) version: 62.4.1(eslint@9.39.2(jiti@2.6.1)(supports-color@10.2.2))(supports-color@10.2.2)
globals: globals:
specifier: ^17.1.0 specifier: ^17.1.0
version: 17.1.0 version: 17.1.0
@ -37,13 +40,13 @@ importers:
version: 9.1.7 version: 9.1.7
netlify-cli: netlify-cli:
specifier: ^23.13.5 specifier: ^23.13.5
version: 23.13.5(@types/node@25.0.10)(db0@0.3.1)(ioredis@5.6.0)(picomatch@4.0.3)(rollup@4.60.3) version: 23.13.5(@types/node@25.0.10)(db0@0.3.1)(ioredis@5.6.0)(picomatch@4.0.3)(rollup@4.60.3)(supports-color@10.2.2)
prettier: prettier:
specifier: ^3.8.1 specifier: ^3.8.1
version: 3.8.1 version: 3.8.1
release-it: release-it:
specifier: ^19.2.4 specifier: ^19.2.4
version: 19.2.4(@types/node@25.0.10)(magicast@0.5.2) version: 19.2.4(@types/node@25.0.10)(magicast@0.5.2)(supports-color@10.2.2)
simple-server: simple-server:
specifier: ^1.1.1 specifier: ^1.1.1
version: 1.1.1 version: 1.1.1
@ -1469,6 +1472,9 @@ packages:
resolution: {integrity: sha512-bWLDlHsBlgKY/05wDN/V3ETcn5G2SV/SiA2ZmNvKGGlmVX4G5li7GRDhHcgYvHJHyJ8TUStqg2xtHmCs0UbAbg==} resolution: {integrity: sha512-bWLDlHsBlgKY/05wDN/V3ETcn5G2SV/SiA2ZmNvKGGlmVX4G5li7GRDhHcgYvHJHyJ8TUStqg2xtHmCs0UbAbg==}
engines: {node: '>=18'} engines: {node: '>=18'}
'@quansync/fs@1.0.0':
resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==}
'@rollup/pluginutils@5.3.0': '@rollup/pluginutils@5.3.0':
resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
@ -2234,6 +2240,9 @@ packages:
argparse@2.0.1: argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
args-tokenizer@0.3.0:
resolution: {integrity: sha512-xXAd7G2Mll5W8uo37GETpQ2VrE84M181Z7ugHFGQnJZ50M2mbOv0osSZ9VsSgPfJQ+LVG0prSi0th+ELMsno7Q==}
args@4.0.0: args@4.0.0:
resolution: {integrity: sha512-4b7lVF58nlo7sNtq8s2OueroOY/UHn0Nt/NVjsx9zn28u6yDVb9bQ/uy/5jKtHCbUDil4MlMyDLF5+OHEgnTug==} resolution: {integrity: sha512-4b7lVF58nlo7sNtq8s2OueroOY/UHn0Nt/NVjsx9zn28u6yDVb9bQ/uy/5jKtHCbUDil4MlMyDLF5+OHEgnTug==}
engines: {node: '> 4.0.0'} engines: {node: '> 4.0.0'}
@ -2335,6 +2344,7 @@ packages:
basic-ftp@5.1.0: basic-ftp@5.1.0:
resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==} resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
deprecated: Security vulnerability fixed in 5.2.1, please upgrade
bcp-47-match@2.0.3: bcp-47-match@2.0.3:
resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==}
@ -2404,6 +2414,11 @@ packages:
buffer@6.0.3: buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
bumpp@11.1.0:
resolution: {integrity: sha512-jdwOGMyX8JIqpQ0N2RMRR87DHZaoJnUtui5lU9LqFfFK5JC0H8qY9uWqXoa+dEWt/K7rOmmsoyiZB8RBM7RPBQ==}
engines: {node: '>=20.19.0'}
hasBin: true
bundle-name@4.1.0: bundle-name@4.1.0:
resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
engines: {node: '>=18'} engines: {node: '>=18'}
@ -2432,6 +2447,10 @@ packages:
magicast: magicast:
optional: true optional: true
cac@7.0.0:
resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==}
engines: {node: '>=20.19.0'}
cacheable-lookup@7.0.0: cacheable-lookup@7.0.0:
resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
@ -3668,6 +3687,7 @@ packages:
glob@10.5.0: glob@10.5.0:
resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==}
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
hasBin: true hasBin: true
global-directory@4.0.1: global-directory@4.0.1:
@ -5420,6 +5440,9 @@ packages:
resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}
quansync@1.0.0:
resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
queue-microtask@1.2.3: queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@ -6134,6 +6157,7 @@ packages:
tar@7.5.6: tar@7.5.6:
resolution: {integrity: sha512-xqUeu2JAIJpXyvskvU3uvQW8PAmHrtXp2KDuMJwQqW8Sqq0CaZBAQ+dKS3RBXVhU4wC5NjAdKrmh84241gO9cA==} resolution: {integrity: sha512-xqUeu2JAIJpXyvskvU3uvQW8PAmHrtXp2KDuMJwQqW8Sqq0CaZBAQ+dKS3RBXVhU4wC5NjAdKrmh84241gO9cA==}
engines: {node: '>=18'} engines: {node: '>=18'}
deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
term-size@1.2.0: term-size@1.2.0:
resolution: {integrity: sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==} resolution: {integrity: sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==}
@ -6322,6 +6346,12 @@ packages:
unbzip2-stream@1.4.3: unbzip2-stream@1.4.3:
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
unconfig-core@7.5.0:
resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==}
unconfig@7.5.0:
resolution: {integrity: sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA==}
uncrypto@0.1.3: uncrypto@0.1.3:
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
@ -6873,6 +6903,11 @@ packages:
engines: {node: '>= 14.6'} engines: {node: '>= 14.6'}
hasBin: true hasBin: true
yaml@2.9.0:
resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
engines: {node: '>= 14.6'}
hasBin: true
yargs-parser@21.1.1: yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'} engines: {node: '>=12'}
@ -7304,14 +7339,14 @@ snapshots:
'@esbuild/win32-x64@0.27.7': '@esbuild/win32-x64@0.27.7':
optional: true optional: true
'@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1)(supports-color@10.2.2))':
dependencies: dependencies:
eslint: 9.39.2(jiti@2.6.1) eslint: 9.39.2(jiti@2.6.1)(supports-color@10.2.2)
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {} '@eslint-community/regexpp@4.12.2': {}
'@eslint/config-array@0.21.1': '@eslint/config-array@0.21.1(supports-color@10.2.2)':
dependencies: dependencies:
'@eslint/object-schema': 2.1.7 '@eslint/object-schema': 2.1.7
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
@ -7327,7 +7362,7 @@ snapshots:
dependencies: dependencies:
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
'@eslint/eslintrc@3.3.3': '@eslint/eslintrc@3.3.3(supports-color@10.2.2)':
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
@ -7703,7 +7738,7 @@ snapshots:
https-proxy-agent: 7.0.6(supports-color@10.2.2) https-proxy-agent: 7.0.6(supports-color@10.2.2)
node-fetch: 2.7.0 node-fetch: 2.7.0
nopt: 8.1.0 nopt: 8.1.0
semver: 7.7.2 semver: 7.7.4
tar: 7.5.6 tar: 7.5.6
transitivePeerDependencies: transitivePeerDependencies:
- encoding - encoding
@ -7890,7 +7925,7 @@ snapshots:
image-size: 2.0.2 image-size: 2.0.2
js-image-generator: 1.0.4 js-image-generator: 1.0.4
parse-gitignore: 2.0.0 parse-gitignore: 2.0.0
semver: 7.7.2 semver: 7.7.4
tmp-promise: 3.0.3 tmp-promise: 3.0.3
uuid: 11.1.0 uuid: 11.1.0
write-file-atomic: 5.0.1 write-file-atomic: 5.0.1
@ -7926,7 +7961,7 @@ snapshots:
image-size: 2.0.2 image-size: 2.0.2
js-image-generator: 1.0.4 js-image-generator: 1.0.4
parse-gitignore: 2.0.0 parse-gitignore: 2.0.0
semver: 7.7.2 semver: 7.7.4
tmp-promise: 3.0.3 tmp-promise: 3.0.3
uuid: 13.0.0 uuid: 13.0.0
write-file-atomic: 5.0.1 write-file-atomic: 5.0.1
@ -8140,7 +8175,7 @@ snapshots:
precinct: 12.2.0(supports-color@10.2.2) precinct: 12.2.0(supports-color@10.2.2)
require-package-name: 2.0.1 require-package-name: 2.0.1
resolve: 2.0.0-next.5 resolve: 2.0.0-next.5
semver: 7.7.2 semver: 7.7.4
tmp-promise: 3.0.3 tmp-promise: 3.0.3
toml: 3.0.0 toml: 3.0.0
unixify: 1.0.0 unixify: 1.0.0
@ -8310,7 +8345,7 @@ snapshots:
'@opentelemetry/propagator-b3': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/propagator-b3': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/propagator-jaeger': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/propagator-jaeger': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0)
semver: 7.7.2 semver: 7.7.4
'@opentelemetry/semantic-conventions@1.28.0': {} '@opentelemetry/semantic-conventions@1.28.0': {}
@ -8372,7 +8407,7 @@ snapshots:
'@parcel/watcher-wasm@2.5.6': '@parcel/watcher-wasm@2.5.6':
dependencies: dependencies:
is-glob: 4.0.3 is-glob: 4.0.3
picomatch: 4.0.3 picomatch: 4.0.4
'@parcel/watcher-win32-arm64@2.5.6': '@parcel/watcher-win32-arm64@2.5.6':
optional: true optional: true
@ -8388,7 +8423,7 @@ snapshots:
detect-libc: 2.1.2 detect-libc: 2.1.2
is-glob: 4.0.3 is-glob: 4.0.3
node-addon-api: 7.1.1 node-addon-api: 7.1.1
picomatch: 4.0.3 picomatch: 4.0.4
optionalDependencies: optionalDependencies:
'@parcel/watcher-android-arm64': 2.5.6 '@parcel/watcher-android-arm64': 2.5.6
'@parcel/watcher-darwin-arm64': 2.5.6 '@parcel/watcher-darwin-arm64': 2.5.6
@ -8423,7 +8458,7 @@ snapshots:
'@pnpm/network.ca-file': 1.0.2 '@pnpm/network.ca-file': 1.0.2
config-chain: 1.1.13 config-chain: 1.1.13
'@pnpm/tabtab@0.5.4': '@pnpm/tabtab@0.5.4(supports-color@10.2.2)':
dependencies: dependencies:
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
enquirer: 2.4.1 enquirer: 2.4.1
@ -8432,6 +8467,10 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@quansync/fs@1.0.0':
dependencies:
quansync: 1.0.0
'@rollup/pluginutils@5.3.0(rollup@4.60.3)': '@rollup/pluginutils@5.3.0(rollup@4.60.3)':
dependencies: dependencies:
'@types/estree': 1.0.8 '@types/estree': 1.0.8
@ -8791,8 +8830,8 @@ snapshots:
'@typescript-eslint/visitor-keys': 8.53.1 '@typescript-eslint/visitor-keys': 8.53.1
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
minimatch: 9.0.5 minimatch: 9.0.5
semver: 7.7.3 semver: 7.7.4
tinyglobby: 0.2.15 tinyglobby: 0.2.16
ts-api-utils: 2.4.0(typescript@5.9.3) ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
@ -8817,7 +8856,7 @@ snapshots:
glob: 10.5.0 glob: 10.5.0
graceful-fs: 4.2.11 graceful-fs: 4.2.11
node-gyp-build: 4.8.4 node-gyp-build: 4.8.4
picomatch: 4.0.3 picomatch: 4.0.4
resolve-from: 5.0.0 resolve-from: 5.0.0
transitivePeerDependencies: transitivePeerDependencies:
- encoding - encoding
@ -9008,6 +9047,10 @@ snapshots:
dependencies: dependencies:
acorn: 8.15.0 acorn: 8.15.0
acorn-import-attributes@1.9.5(acorn@8.16.0):
dependencies:
acorn: 8.16.0
acorn-jsx@5.3.2(acorn@8.15.0): acorn-jsx@5.3.2(acorn@8.15.0):
dependencies: dependencies:
acorn: 8.15.0 acorn: 8.15.0
@ -9140,6 +9183,8 @@ snapshots:
argparse@2.0.1: {} argparse@2.0.1: {}
args-tokenizer@0.3.0: {}
args@4.0.0: args@4.0.0:
dependencies: dependencies:
camelcase: 5.0.0 camelcase: 5.0.0
@ -9418,6 +9463,18 @@ snapshots:
base64-js: 1.5.1 base64-js: 1.5.1
ieee754: 1.2.1 ieee754: 1.2.1
bumpp@11.1.0:
dependencies:
args-tokenizer: 0.3.0
cac: 7.0.0
jsonc-parser: 3.3.1
package-manager-detector: 1.6.0
semver: 7.7.4
tinyexec: 1.1.2
tinyglobby: 0.2.16
unconfig: 7.5.0
yaml: 2.9.0
bundle-name@4.1.0: bundle-name@4.1.0:
dependencies: dependencies:
run-applescript: 7.1.0 run-applescript: 7.1.0
@ -9447,6 +9504,8 @@ snapshots:
optionalDependencies: optionalDependencies:
magicast: 0.5.2 magicast: 0.5.2
cac@7.0.0: {}
cacheable-lookup@7.0.0: {} cacheable-lookup@7.0.0: {}
cacheable-request@10.2.14: cacheable-request@10.2.14:
@ -10159,7 +10218,7 @@ snapshots:
optionalDependencies: optionalDependencies:
source-map: 0.6.1 source-map: 0.6.1
eslint-plugin-jsdoc@62.4.1(eslint@9.39.2(jiti@2.6.1)): eslint-plugin-jsdoc@62.4.1(eslint@9.39.2(jiti@2.6.1)(supports-color@10.2.2))(supports-color@10.2.2):
dependencies: dependencies:
'@es-joy/jsdoccomment': 0.83.0 '@es-joy/jsdoccomment': 0.83.0
'@es-joy/resolve.exports': 1.2.0 '@es-joy/resolve.exports': 1.2.0
@ -10167,7 +10226,7 @@ snapshots:
comment-parser: 1.4.5 comment-parser: 1.4.5
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint: 9.39.2(jiti@2.6.1) eslint: 9.39.2(jiti@2.6.1)(supports-color@10.2.2)
espree: 11.1.0 espree: 11.1.0
esquery: 1.7.0 esquery: 1.7.0
html-entities: 2.6.0 html-entities: 2.6.0
@ -10190,14 +10249,14 @@ snapshots:
eslint-visitor-keys@5.0.0: {} eslint-visitor-keys@5.0.0: {}
eslint@9.39.2(jiti@2.6.1): eslint@9.39.2(jiti@2.6.1)(supports-color@10.2.2):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)(supports-color@10.2.2))
'@eslint-community/regexpp': 4.12.2 '@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1 '@eslint/config-array': 0.21.1(supports-color@10.2.2)
'@eslint/config-helpers': 0.4.2 '@eslint/config-helpers': 0.4.2
'@eslint/core': 0.17.0 '@eslint/core': 0.17.0
'@eslint/eslintrc': 3.3.3 '@eslint/eslintrc': 3.3.3(supports-color@10.2.2)
'@eslint/js': 9.39.2 '@eslint/js': 9.39.2
'@eslint/plugin-kit': 0.4.1 '@eslint/plugin-kit': 0.4.1
'@humanfs/node': 0.16.7 '@humanfs/node': 0.16.7
@ -10410,7 +10469,7 @@ snapshots:
extend@3.0.2: {} extend@3.0.2: {}
extract-zip@2.0.1: extract-zip@2.0.1(supports-color@10.2.2):
dependencies: dependencies:
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
get-stream: 5.2.0 get-stream: 5.2.0
@ -10604,7 +10663,7 @@ snapshots:
dependencies: dependencies:
from2: 2.3.0 from2: 2.3.0
follow-redirects@1.15.11(debug@4.4.3): follow-redirects@1.15.11(debug@4.4.3(supports-color@10.2.2)):
optionalDependencies: optionalDependencies:
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
@ -10701,7 +10760,7 @@ snapshots:
dependencies: dependencies:
resolve-pkg-maps: 1.0.0 resolve-pkg-maps: 1.0.0
get-uri@6.0.5: get-uri@6.0.5(supports-color@10.2.2):
dependencies: dependencies:
basic-ftp: 5.1.0 basic-ftp: 5.1.0
data-uri-to-buffer: 6.0.2 data-uri-to-buffer: 6.0.2
@ -11111,20 +11170,20 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
http-proxy-middleware@2.0.9(debug@4.4.3): http-proxy-middleware@2.0.9(debug@4.4.3(supports-color@10.2.2)):
dependencies: dependencies:
'@types/http-proxy': 1.17.17 '@types/http-proxy': 1.17.17
http-proxy: 1.18.1(debug@4.4.3) http-proxy: 1.18.1(debug@4.4.3(supports-color@10.2.2))
is-glob: 4.0.3 is-glob: 4.0.3
is-plain-obj: 3.0.0 is-plain-obj: 3.0.0
micromatch: 4.0.8 micromatch: 4.0.8
transitivePeerDependencies: transitivePeerDependencies:
- debug - debug
http-proxy@1.18.1(debug@4.4.3): http-proxy@1.18.1(debug@4.4.3(supports-color@10.2.2)):
dependencies: dependencies:
eventemitter3: 4.0.7 eventemitter3: 4.0.7
follow-redirects: 1.15.11(debug@4.4.3) follow-redirects: 1.15.11(debug@4.4.3(supports-color@10.2.2))
requires-port: 1.0.0 requires-port: 1.0.0
transitivePeerDependencies: transitivePeerDependencies:
- debug - debug
@ -11184,8 +11243,8 @@ snapshots:
import-in-the-middle@1.15.0: import-in-the-middle@1.15.0:
dependencies: dependencies:
acorn: 8.15.0 acorn: 8.16.0
acorn-import-attributes: 1.9.5(acorn@8.15.0) acorn-import-attributes: 1.9.5(acorn@8.16.0)
cjs-module-lexer: 1.4.3 cjs-module-lexer: 1.4.3
module-details-from-path: 1.0.4 module-details-from-path: 1.0.4
@ -11712,7 +11771,7 @@ snapshots:
make-dir@4.0.0: make-dir@4.0.0:
dependencies: dependencies:
semver: 7.7.3 semver: 7.7.4
make-error@1.3.6: {} make-error@1.3.6: {}
@ -12349,7 +12408,7 @@ snapshots:
neotraverse@0.6.18: {} neotraverse@0.6.18: {}
netlify-cli@23.13.5(@types/node@25.0.10)(db0@0.3.1)(ioredis@5.6.0)(picomatch@4.0.3)(rollup@4.60.3): netlify-cli@23.13.5(@types/node@25.0.10)(db0@0.3.1)(ioredis@5.6.0)(picomatch@4.0.3)(rollup@4.60.3)(supports-color@10.2.2):
dependencies: dependencies:
'@fastify/static': 7.0.4 '@fastify/static': 7.0.4
'@netlify/ai': 0.3.4(@netlify/api@14.0.12) '@netlify/ai': 0.3.4(@netlify/api@14.0.12)
@ -12368,7 +12427,7 @@ snapshots:
'@netlify/zip-it-and-ship-it': 14.2.0(rollup@4.60.3)(supports-color@10.2.2) '@netlify/zip-it-and-ship-it': 14.2.0(rollup@4.60.3)(supports-color@10.2.2)
'@octokit/rest': 22.0.0 '@octokit/rest': 22.0.0
'@opentelemetry/api': 1.8.0 '@opentelemetry/api': 1.8.0
'@pnpm/tabtab': 0.5.4 '@pnpm/tabtab': 0.5.4(supports-color@10.2.2)
ansi-escapes: 7.1.1 ansi-escapes: 7.1.1
ansi-to-html: 0.7.2 ansi-to-html: 0.7.2
ascii-table: 0.0.9 ascii-table: 0.0.9
@ -12393,7 +12452,7 @@ snapshots:
execa: 5.1.1 execa: 5.1.1
express: 4.22.1 express: 4.22.1
express-logging: 1.1.1 express-logging: 1.1.1
extract-zip: 2.0.1 extract-zip: 2.0.1(supports-color@10.2.2)
fastest-levenshtein: 1.0.16 fastest-levenshtein: 1.0.16
fastify: 4.29.1 fastify: 4.29.1
find-up: 7.0.0 find-up: 7.0.0
@ -12403,8 +12462,8 @@ snapshots:
gh-release-fetch: 4.0.3 gh-release-fetch: 4.0.3
git-repo-info: 2.1.1 git-repo-info: 2.1.1
gitconfiglocal: 2.1.0 gitconfiglocal: 2.1.0
http-proxy: 1.18.1(debug@4.4.3) http-proxy: 1.18.1(debug@4.4.3(supports-color@10.2.2))
http-proxy-middleware: 2.0.9(debug@4.4.3) http-proxy-middleware: 2.0.9(debug@4.4.3(supports-color@10.2.2))
https-proxy-agent: 7.0.6(supports-color@10.2.2) https-proxy-agent: 7.0.6(supports-color@10.2.2)
inquirer: 8.2.7(@types/node@25.0.10) inquirer: 8.2.7(@types/node@25.0.10)
inquirer-autocomplete-prompt: 1.4.0(inquirer@8.2.7(@types/node@25.0.10)) inquirer-autocomplete-prompt: 1.4.0(inquirer@8.2.7(@types/node@25.0.10))
@ -12531,7 +12590,7 @@ snapshots:
normalize-package-data@6.0.2: normalize-package-data@6.0.2:
dependencies: dependencies:
hosted-git-info: 7.0.2 hosted-git-info: 7.0.2
semver: 7.7.2 semver: 7.7.4
validate-npm-package-license: 3.0.4 validate-npm-package-license: 3.0.4
normalize-package-data@7.0.1: normalize-package-data@7.0.1:
@ -12568,7 +12627,7 @@ snapshots:
dependencies: dependencies:
citty: 0.2.0 citty: 0.2.0
pathe: 2.0.3 pathe: 2.0.3
tinyexec: 1.0.2 tinyexec: 1.1.2
object-deep-merge@2.0.0: {} object-deep-merge@2.0.0: {}
@ -12743,12 +12802,12 @@ snapshots:
dependencies: dependencies:
p-timeout: 6.1.4 p-timeout: 6.1.4
pac-proxy-agent@7.2.0: pac-proxy-agent@7.2.0(supports-color@10.2.2):
dependencies: dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0 '@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.4 agent-base: 7.1.4
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
get-uri: 6.0.5 get-uri: 6.0.5(supports-color@10.2.2)
http-proxy-agent: 7.0.2 http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6(supports-color@10.2.2) https-proxy-agent: 7.0.6(supports-color@10.2.2)
pac-resolver: 7.0.1 pac-resolver: 7.0.1
@ -12772,7 +12831,7 @@ snapshots:
ky: 1.14.3 ky: 1.14.3
registry-auth-token: 5.1.1 registry-auth-token: 5.1.1
registry-url: 6.0.1 registry-url: 6.0.1
semver: 7.7.2 semver: 7.7.4
package-manager-detector@1.6.0: {} package-manager-detector@1.6.0: {}
@ -13021,14 +13080,14 @@ snapshots:
forwarded: 0.2.0 forwarded: 0.2.0
ipaddr.js: 1.9.1 ipaddr.js: 1.9.1
proxy-agent@6.5.0: proxy-agent@6.5.0(supports-color@10.2.2):
dependencies: dependencies:
agent-base: 7.1.4 agent-base: 7.1.4
debug: 4.4.3(supports-color@10.2.2) debug: 4.4.3(supports-color@10.2.2)
http-proxy-agent: 7.0.2 http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6(supports-color@10.2.2) https-proxy-agent: 7.0.6(supports-color@10.2.2)
lru-cache: 7.18.3 lru-cache: 7.18.3
pac-proxy-agent: 7.2.0 pac-proxy-agent: 7.2.0(supports-color@10.2.2)
proxy-from-env: 1.1.0 proxy-from-env: 1.1.0
socks-proxy-agent: 8.0.5 socks-proxy-agent: 8.0.5
transitivePeerDependencies: transitivePeerDependencies:
@ -13060,6 +13119,8 @@ snapshots:
dependencies: dependencies:
side-channel: 1.1.0 side-channel: 1.1.0
quansync@1.0.0: {}
queue-microtask@1.2.3: {} queue-microtask@1.2.3: {}
quick-format-unescaped@4.0.4: {} quick-format-unescaped@4.0.4: {}
@ -13265,7 +13326,7 @@ snapshots:
rehype-stringify: 10.0.1 rehype-stringify: 10.0.1
unified: 11.0.5 unified: 11.0.5
release-it@19.2.4(@types/node@25.0.10)(magicast@0.5.2): release-it@19.2.4(@types/node@25.0.10)(magicast@0.5.2)(supports-color@10.2.2):
dependencies: dependencies:
'@nodeutils/defaults-deep': 1.1.0 '@nodeutils/defaults-deep': 1.1.0
'@octokit/rest': 22.0.1 '@octokit/rest': 22.0.1
@ -13283,7 +13344,7 @@ snapshots:
open: 10.2.0 open: 10.2.0
ora: 9.0.0 ora: 9.0.0
os-name: 6.1.0 os-name: 6.1.0
proxy-agent: 6.5.0 proxy-agent: 6.5.0(supports-color@10.2.2)
semver: 7.7.3 semver: 7.7.3
tinyglobby: 0.2.15 tinyglobby: 0.2.15
undici: 6.23.0 undici: 6.23.0
@ -14182,6 +14243,19 @@ snapshots:
buffer: 5.7.1 buffer: 5.7.1
through: 2.3.8 through: 2.3.8
unconfig-core@7.5.0:
dependencies:
'@quansync/fs': 1.0.0
quansync: 1.0.0
unconfig@7.5.0:
dependencies:
'@quansync/fs': 1.0.0
defu: 6.1.7
jiti: 2.6.1
quansync: 1.0.0
unconfig-core: 7.5.0
uncrypto@0.1.3: {} uncrypto@0.1.3: {}
undici-types@7.16.0: {} undici-types@7.16.0: {}
@ -14581,6 +14655,8 @@ snapshots:
yaml@2.8.2: {} yaml@2.8.2: {}
yaml@2.9.0: {}
yargs-parser@21.1.1: {} yargs-parser@21.1.1: {}
yargs-parser@22.0.0: {} yargs-parser@22.0.0: {}

View file

@ -1,3 +1,5 @@
packages: packages:
# include packages in subfolders (e.g. apps/ and packages/) # include packages in subfolders (e.g. apps/ and packages/)
- 'docs/' - 'docs/'
allowBuilds:
netlify-cli: false

30
scripts/release.js Normal file
View file

@ -0,0 +1,30 @@
// forked from https://github.com/elk-zone/elk/blob/main/scripts/release.ts
import { simpleGit } from 'simple-git'
const git = simpleGit()
const hash = await git.revparse(['main'])
const remote = 'gh'
console.log('Fetch remote gh repo')
await git.fetch(remote)
console.log('Checkout release branch')
await git.checkout(['-b', 'release', '--track', 'gh/release'])
console.log(`Reset to main branch (${hash})`)
await git.reset(['--hard', hash])
console.log('Push to release branch')
await git.push(['--force', remote])
console.log('Checkout main branch')
await git.checkout('main')
console.log('Deleting local release branch')
await git.branch(['-D', 'release'])
// TODO: handle multiple remotes with a data structure
console.log('Push tags')
await git.push(['--tags'])
await git.push(['--tags', remote])
await git.push(['--tags', 'sh'])