From 6225071d2443d9a3eff1716e1f02c39322e26f8d Mon Sep 17 00:00:00 2001 From: John Wright Date: Sun, 8 Feb 2026 15:27:46 +0000 Subject: [PATCH 1/5] chore: bump private packages too --- .releaserc.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.releaserc.cjs b/.releaserc.cjs index 52ea343fd..c0cf2af69 100644 --- a/.releaserc.cjs +++ b/.releaserc.cjs @@ -16,7 +16,7 @@ const config = { [ '@semantic-release/exec', { - prepareCmd: `${isPublicPackage} && ${bumpVersion}`, + prepareCmd: `${bumpVersion}`, verifyReleaseCmd: `${isPublicPackage} && ${publish} --set-version "\${nextRelease.version}" --dry-run`, publishCmd: `${isPublicPackage} && ${publish}`, From 808011b1f4c2481dce6bbe453c1bb89cff3b040b Mon Sep 17 00:00:00 2001 From: John Wright Date: Sun, 8 Feb 2026 15:27:51 +0000 Subject: [PATCH 2/5] chore: deno --- deno.lock | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deno.lock b/deno.lock index 28a4acdea..285ae3dce 100644 --- a/deno.lock +++ b/deno.lock @@ -34,6 +34,7 @@ "npm:qs@^6.14.0": "6.14.0", "npm:semantic-release@*": "24.2.9_marked@15.0.12", "npm:supertest@*": "7.1.4", + "npm:ts-toolbelt@9": "9.6.0", "npm:ts-toolbelt@^9.6.0": "9.6.0", "npm:yaml@^2.8.1": "2.8.1", "npm:yargs@18": "18.0.0", @@ -90,6 +91,7 @@ "integrity": "23019d5521cea7d1c424d1b27e49a9b8e91a037b092e3e0ba1ef77d3f079dab2", "dependencies": [ "npm:fast-deep-equal@3", + "npm:ts-toolbelt@9", "npm:zod@^4.0.15" ] } From e7bab8ca50e1ddadcd4824eac2a34a02bd71bcd6 Mon Sep 17 00:00:00 2001 From: John Wright Date: Sun, 8 Feb 2026 15:38:07 +0000 Subject: [PATCH 3/5] chore: upgrade deno and packages --- .dvmrc | 2 +- .github/workflows/test.yml | 2 +- deno.lock | 202 ++++++++---------- packages/api/deno.json | 2 +- packages/client/deno.json | 4 +- packages/date-range/deno.json | 4 +- packages/explode/deno.json | 4 +- packages/fs/deno.json | 8 +- packages/json-schema/deno.json | 6 +- .../test/__snapshots__/index.test.ts.snap | 56 ++--- packages/server/deno.json | 12 +- 11 files changed, 141 insertions(+), 161 deletions(-) diff --git a/.dvmrc b/.dvmrc index f44b563fb..da9021818 100644 --- a/.dvmrc +++ b/.dvmrc @@ -1 +1 @@ -v2.x +5.9.2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 347988262..4d347243b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest container: - image: denoland/deno:2.5.6 + image: denoland/deno:5.9.2 steps: - name: Checkout project diff --git a/deno.lock b/deno.lock index 285ae3dce..2929114cd 100644 --- a/deno.lock +++ b/deno.lock @@ -1,7 +1,7 @@ { "version": "5", "specifiers": { - "jsr:@es-toolkit/es-toolkit@^1.39.10": "1.39.10", + "jsr:@es-toolkit/es-toolkit@^1.44.0": "1.44.0", "jsr:@std/assert@*": "1.0.13", "jsr:@std/assert@^1.0.13": "1.0.13", "jsr:@std/async@^1.0.13": "1.0.13", @@ -14,36 +14,33 @@ "jsr:@std/internal@^1.0.8": "1.0.8", "jsr:@std/path@^1.1.0": "1.1.0", "jsr:@std/testing@*": "1.0.13", - "jsr:@targetd/api@^7.3.0": "7.3.0", + "jsr:@targetd/api@8": "7.3.0", "npm:@johngw/error@^2.2.2": "2.2.2", "npm:@johngw/fs@^3.0.1": "3.0.1", - "npm:@types/express@^5.0.3": "5.0.3", + "npm:@types/express@^5.0.6": "5.0.6", "npm:@types/node@*": "24.2.0", "npm:@types/qs@^6.14.0": "6.14.0", "npm:@types/supertest@*": "6.0.3", - "npm:@types/yargs@*": "17.0.33", - "npm:@types/yargs@17.0.33": "17.0.33", - "npm:@types/yargs@^17.0.33": "17.0.33", - "npm:cors@^2.8.5": "2.8.5", + "npm:@types/yargs@^17.0.35": "17.0.35", + "npm:cors@^2.8.6": "2.8.6", "npm:express-query-boolean@2": "2.0.0", - "npm:express@^5.1.0": "5.1.0", + "npm:express@^5.2.1": "5.2.1", "npm:fast-deep-equal@3": "3.1.3", "npm:fast-deep-equal@^3.1.3": "3.1.3", "npm:flat@^6.0.1": "6.0.1", "npm:lodash@*": "4.17.21", - "npm:qs@^6.14.0": "6.14.0", + "npm:qs@^6.14.1": "6.14.1", "npm:semantic-release@*": "24.2.9_marked@15.0.12", "npm:supertest@*": "7.1.4", "npm:ts-toolbelt@9": "9.6.0", "npm:ts-toolbelt@^9.6.0": "9.6.0", - "npm:yaml@^2.8.1": "2.8.1", + "npm:yaml@^2.8.2": "2.8.2", "npm:yargs@18": "18.0.0", - "npm:zod@^4.0.15": "4.1.11", - "npm:zod@^4.1.11": "4.1.11" + "npm:zod@^4.3.6": "4.3.6" }, "jsr": { - "@es-toolkit/es-toolkit@1.39.10": { - "integrity": "8757072a13aa64b3b349ba2b9d7d22fbe7ea6f138506c6cd2222d767cd79918f" + "@es-toolkit/es-toolkit@1.44.0": { + "integrity": "647a7e777945a3ac81bd1783670f85429c2a661510d9af36becc6963ddfca00d" }, "@std/assert@1.0.13": { "integrity": "ae0d31e41919b12c656c742b22522c32fb26ed0cba32975cb0de2a273cb68b29", @@ -91,8 +88,7 @@ "integrity": "23019d5521cea7d1c424d1b27e49a9b8e91a037b092e3e0ba1ef77d3f079dab2", "dependencies": [ "npm:fast-deep-equal@3", - "npm:ts-toolbelt@9", - "npm:zod@^4.0.15" + "npm:ts-toolbelt@9" ] } }, @@ -226,7 +222,7 @@ "@pnpm/network.ca-file@1.0.2": { "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", "dependencies": [ - "graceful-fs@4.2.10" + "graceful-fs" ] }, "@pnpm/npm-conf@2.3.1": { @@ -385,8 +381,8 @@ "@types/cookiejar@2.1.5": { "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==" }, - "@types/express-serve-static-core@5.0.7": { - "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", + "@types/express-serve-static-core@5.1.1": { + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", "dependencies": [ "@types/node", "@types/qs", @@ -394,8 +390,8 @@ "@types/send" ] }, - "@types/express@5.0.3": { - "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", + "@types/express@5.0.6": { + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dependencies": [ "@types/body-parser", "@types/express-serve-static-core", @@ -408,9 +404,6 @@ "@types/methods@1.1.4": { "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==" }, - "@types/mime@1.3.5": { - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" - }, "@types/node@24.2.0": { "integrity": "sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==", "dependencies": [ @@ -426,19 +419,17 @@ "@types/range-parser@1.2.7": { "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, - "@types/send@0.17.5": { - "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "@types/send@1.2.1": { + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dependencies": [ - "@types/mime", "@types/node" ] }, - "@types/serve-static@1.15.8": { - "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "@types/serve-static@2.2.0": { + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "dependencies": [ "@types/http-errors", - "@types/node", - "@types/send" + "@types/node" ] }, "@types/superagent@8.1.9": { @@ -460,8 +451,8 @@ "@types/yargs-parser@21.0.3": { "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, - "@types/yargs@17.0.33": { - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "@types/yargs@17.0.35": { + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", "dependencies": [ "@types/yargs-parser" ] @@ -469,7 +460,7 @@ "accepts@2.0.0": { "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "dependencies": [ - "mime-types@3.0.1", + "mime-types@3.0.2", "negotiator" ] }, @@ -531,14 +522,14 @@ "before-after-hook@4.0.0": { "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==" }, - "body-parser@2.2.0": { - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "body-parser@2.2.2": { + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", "dependencies": [ "bytes", "content-type", "debug", "http-errors", - "iconv-lite@0.6.3", + "iconv-lite", "on-finished", "qs", "raw-body", @@ -687,11 +678,8 @@ "proto-list" ] }, - "content-disposition@1.0.0": { - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "dependencies": [ - "safe-buffer@5.2.1" - ] + "content-disposition@1.0.1": { + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==" }, "content-type@1.0.5": { "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" @@ -737,8 +725,8 @@ "core-util-is@1.0.3": { "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "cors@2.8.5": { - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "cors@2.8.6": { + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", "dependencies": [ "object-assign", "vary" @@ -919,8 +907,8 @@ "express-query-boolean@2.0.0": { "integrity": "sha512-4dU/1HPm8lkTPR12+HFUXqCarcsC19OKOkb4otLOuADfPYrQMaugPJkSmxNsqwmWYjozvT6vdTiqkgeBHkzOow==" }, - "express@5.1.0": { - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "express@5.2.1": { + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "dependencies": [ "accepts", "body-parser", @@ -929,6 +917,7 @@ "cookie", "cookie-signature", "debug", + "depd", "encodeurl", "escape-html", "etag", @@ -936,7 +925,7 @@ "fresh", "http-errors", "merge-descriptors", - "mime-types@3.0.1", + "mime-types@3.0.2", "on-finished", "once", "parseurl", @@ -946,7 +935,7 @@ "router", "send", "serve-static", - "statuses@2.0.2", + "statuses", "type-is", "vary" ] @@ -987,15 +976,15 @@ "to-regex-range" ] }, - "finalhandler@2.1.0": { - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "finalhandler@2.1.1": { + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "dependencies": [ "debug", "encodeurl", "escape-html", "on-finished", "parseurl", - "statuses@2.0.2" + "statuses" ] }, "find-up-simple@1.0.1": { @@ -1052,7 +1041,7 @@ "fs-extra@11.3.2": { "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", "dependencies": [ - "graceful-fs@4.2.11", + "graceful-fs", "jsonfile", "universalify" ] @@ -1124,9 +1113,6 @@ "graceful-fs@4.2.10": { "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, - "graceful-fs@4.2.11": { - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, "handlebars@4.7.8": { "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dependencies": [ @@ -1179,13 +1165,13 @@ "lru-cache" ] }, - "http-errors@2.0.0": { - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "http-errors@2.0.1": { + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "dependencies": [ "depd", "inherits", "setprototypeof", - "statuses@2.0.1", + "statuses", "toidentifier" ] }, @@ -1209,14 +1195,8 @@ "human-signals@8.0.1": { "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==" }, - "iconv-lite@0.6.3": { - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": [ - "safer-buffer" - ] - }, - "iconv-lite@0.7.0": { - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "iconv-lite@0.7.2": { + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "dependencies": [ "safer-buffer" ] @@ -1328,7 +1308,7 @@ "universalify" ], "optionalDependencies": [ - "graceful-fs@4.2.11" + "graceful-fs" ] }, "lines-and-columns@1.2.4": { @@ -1337,7 +1317,7 @@ "load-json-file@4.0.0": { "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dependencies": [ - "graceful-fs@4.2.11", + "graceful-fs", "parse-json@4.0.0", "pify", "strip-bom" @@ -1428,8 +1408,8 @@ "mime-db@1.52.0" ] }, - "mime-types@3.0.1": { - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "mime-types@3.0.2": { + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dependencies": [ "mime-db@1.54.0" ] @@ -1663,8 +1643,8 @@ "ipaddr.js" ] }, - "qs@6.14.0": { - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "qs@6.14.1": { + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "dependencies": [ "side-channel" ] @@ -1672,12 +1652,12 @@ "range-parser@1.2.1": { "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, - "raw-body@3.0.1": { - "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", + "raw-body@3.0.2": { + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "dependencies": [ "bytes", "http-errors", - "iconv-lite@0.7.0", + "iconv-lite", "unpipe" ] }, @@ -1716,7 +1696,7 @@ "inherits", "isarray", "process-nextick-args", - "safe-buffer@5.1.2", + "safe-buffer", "string_decoder", "util-deprecate" ] @@ -1749,9 +1729,6 @@ "safe-buffer@5.1.2": { "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-buffer@5.2.1": { - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, "safer-buffer@2.1.2": { "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, @@ -1839,8 +1816,8 @@ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "bin": true }, - "send@1.2.0": { - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "send@1.2.1": { + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "dependencies": [ "debug", "encodeurl", @@ -1848,15 +1825,15 @@ "etag", "fresh", "http-errors", - "mime-types@3.0.1", + "mime-types@3.0.2", "ms", "on-finished", "range-parser", - "statuses@2.0.2" + "statuses" ] }, - "serve-static@2.2.0": { - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "serve-static@2.2.1": { + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "dependencies": [ "encodeurl", "escape-html", @@ -1961,9 +1938,6 @@ "through2" ] }, - "statuses@2.0.1": { - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, "statuses@2.0.2": { "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" }, @@ -1993,7 +1967,7 @@ "string_decoder@1.1.1": { "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": [ - "safe-buffer@5.1.2" + "safe-buffer" ] }, "strip-ansi@6.0.1": { @@ -2143,7 +2117,7 @@ "dependencies": [ "content-type", "media-typer", - "mime-types@3.0.1" + "mime-types@3.0.2" ] }, "uglify-js@3.19.3": { @@ -2228,8 +2202,8 @@ "y18n@5.0.8": { "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, - "yaml@2.8.1": { - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "yaml@2.8.2": { + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "bin": true }, "yargs-parser@20.2.9": { @@ -2279,8 +2253,8 @@ "yoctocolors@2.1.2": { "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==" }, - "zod@4.1.11": { - "integrity": "sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==" + "zod@4.3.6": { + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==" } }, "workspace": { @@ -2289,59 +2263,59 @@ "dependencies": [ "npm:fast-deep-equal@^3.1.3", "npm:ts-toolbelt@^9.6.0", - "npm:zod@^4.1.11" + "npm:zod@^4.3.6" ] }, "packages/client": { "dependencies": [ - "jsr:@targetd/api@^7.3.0", + "jsr:@targetd/api@8", "npm:ts-toolbelt@^9.6.0", - "npm:zod@^4.1.11" + "npm:zod@^4.3.6" ] }, "packages/date-range": { "dependencies": [ - "jsr:@targetd/api@^7.3.0", - "npm:zod@^4.1.11" + "jsr:@targetd/api@8", + "npm:zod@^4.3.6" ] }, "packages/explode": { "dependencies": [ - "jsr:@targetd/api@^7.3.0", + "jsr:@targetd/api@8", "npm:flat@^6.0.1", "npm:ts-toolbelt@^9.6.0", - "npm:zod@^4.1.11" + "npm:zod@^4.3.6" ] }, "packages/fs": { "dependencies": [ - "jsr:@es-toolkit/es-toolkit@^1.39.10", - "jsr:@targetd/api@^7.3.0", + "jsr:@es-toolkit/es-toolkit@^1.44.0", + "jsr:@targetd/api@8", "npm:@johngw/fs@^3.0.1", "npm:ts-toolbelt@^9.6.0", - "npm:yaml@^2.8.1", - "npm:zod@^4.1.11" + "npm:yaml@^2.8.2", + "npm:zod@^4.3.6" ] }, "packages/json-schema": { "dependencies": [ - "jsr:@targetd/api@^7.3.0", - "npm:@types/yargs@^17.0.33", + "jsr:@targetd/api@8", + "npm:@types/yargs@^17.0.35", "npm:yargs@18", - "npm:zod@^4.1.11" + "npm:zod@^4.3.6" ] }, "packages/server": { "dependencies": [ - "jsr:@targetd/api@^7.3.0", + "jsr:@targetd/api@8", "npm:@johngw/error@^2.2.2", - "npm:@types/express@^5.0.3", + "npm:@types/express@^5.0.6", "npm:@types/qs@^6.14.0", - "npm:cors@^2.8.5", + "npm:cors@^2.8.6", "npm:express-query-boolean@2", - "npm:express@^5.1.0", - "npm:qs@^6.14.0", - "npm:zod@^4.1.11" + "npm:express@^5.2.1", + "npm:qs@^6.14.1", + "npm:zod@^4.3.6" ] } } diff --git a/packages/api/deno.json b/packages/api/deno.json index 6ababf505..fdb288b7d 100644 --- a/packages/api/deno.json +++ b/packages/api/deno.json @@ -21,7 +21,7 @@ "imports": { "fast-deep-equal": "npm:fast-deep-equal@^3.1.3", "ts-toolbelt": "npm:ts-toolbelt@^9.6.0", - "zod": "npm:zod@^4.1.11" + "zod": "npm:zod@^4.3.6" }, "publish": { "include": [ diff --git a/packages/client/deno.json b/packages/client/deno.json index e5b248b4c..8614e6764 100644 --- a/packages/client/deno.json +++ b/packages/client/deno.json @@ -3,9 +3,9 @@ "version": "6.0.1", "exports": "./src/index.ts", "imports": { - "@targetd/api": "jsr:@targetd/api@^7.3.0", + "@targetd/api": "jsr:@targetd/api@^8.0.0", "ts-toolbelt": "npm:ts-toolbelt@^9.6.0", - "zod": "npm:zod@^4.1.11" + "zod": "npm:zod@^4.3.6" }, "lint": { "rules": { diff --git a/packages/date-range/deno.json b/packages/date-range/deno.json index 5186ab4c3..46a609c3a 100644 --- a/packages/date-range/deno.json +++ b/packages/date-range/deno.json @@ -3,8 +3,8 @@ "version": "5.0.1", "exports": "./src/index.ts", "imports": { - "@targetd/api": "jsr:@targetd/api@^7.3.0", - "zod": "npm:zod@^4.1.11" + "@targetd/api": "jsr:@targetd/api@^8.0.0", + "zod": "npm:zod@^4.3.6" }, "lint": { "rules": { diff --git a/packages/explode/deno.json b/packages/explode/deno.json index 488e0cd8b..5839f8c4a 100644 --- a/packages/explode/deno.json +++ b/packages/explode/deno.json @@ -3,10 +3,10 @@ "version": "3.0.0", "exports": "./src/index.ts", "imports": { - "@targetd/api": "jsr:@targetd/api@^7.3.0", + "@targetd/api": "jsr:@targetd/api@^8.0.0", "flat": "npm:flat@^6.0.1", "ts-toolbelt": "npm:ts-toolbelt@^9.6.0", - "zod": "npm:zod@^4.1.11" + "zod": "npm:zod@^4.3.6" }, "lint": { "rules": { diff --git a/packages/fs/deno.json b/packages/fs/deno.json index 2715ad70d..db263ee7a 100644 --- a/packages/fs/deno.json +++ b/packages/fs/deno.json @@ -3,12 +3,12 @@ "version": "6.0.2", "exports": "./src/index.ts", "imports": { - "@es-toolkit/es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.39.10", + "@es-toolkit/es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.44.0", "@johngw/fs": "npm:@johngw/fs@^3.0.1", - "@targetd/api": "jsr:@targetd/api@^7.3.0", + "@targetd/api": "jsr:@targetd/api@^8.0.0", "ts-toolbelt": "npm:ts-toolbelt@^9.6.0", - "yaml": "npm:yaml@^2.8.1", - "zod": "npm:zod@^4.1.11" + "yaml": "npm:yaml@^2.8.2", + "zod": "npm:zod@^4.3.6" }, "lint": { "rules": { diff --git a/packages/json-schema/deno.json b/packages/json-schema/deno.json index 218029b13..bd5e24fd7 100644 --- a/packages/json-schema/deno.json +++ b/packages/json-schema/deno.json @@ -6,10 +6,10 @@ "./cli": "./src/cli.ts" }, "imports": { - "@targetd/api": "jsr:@targetd/api@^7.3.0", - "@types/yargs": "npm:@types/yargs@^17.0.33", + "@targetd/api": "jsr:@targetd/api@^8.0.0", + "@types/yargs": "npm:@types/yargs@^17.0.35", "yargs": "npm:yargs@^18.0.0", - "zod": "npm:zod@^4.1.11" + "zod": "npm:zod@^4.3.6" }, "lint": { "rules": { diff --git a/packages/json-schema/test/__snapshots__/index.test.ts.snap b/packages/json-schema/test/__snapshots__/index.test.ts.snap index eaf614302..87dec096c 100644 --- a/packages/json-schema/test/__snapshots__/index.test.ts.snap +++ b/packages/json-schema/test/__snapshots__/index.test.ts.snap @@ -28,6 +28,35 @@ snapshot[`json schema for simple data object 1`] = ` type: "array", }, __schema3: { + type: "string", + }, + __schema4: { + items: { + additionalProperties: false, + properties: { + payload: {}, + targeting: { + anyOf: [ + { + "\$ref": "#/\$defs/__schema5", + }, + { + items: { + "\$ref": "#/\$defs/__schema5", + }, + type: "array", + }, + ], + }, + }, + required: [ + "payload", + ], + type: "object", + }, + type: "array", + }, + __schema5: { additionalProperties: false, properties: { browser: { @@ -79,33 +108,10 @@ snapshot[`json schema for simple data object 1`] = ` }, variables: { additionalProperties: { - items: { - additionalProperties: false, - properties: { - payload: {}, - targeting: { - anyOf: [ - { - "\$ref": "#/\$defs/__schema3", - }, - { - items: { - "\$ref": "#/\$defs/__schema3", - }, - type: "array", - }, - ], - }, - }, - required: [ - "payload", - ], - type: "object", - }, - type: "array", + "\$ref": "#/\$defs/__schema4", }, propertyNames: { - type: "string", + "\$ref": "#/\$defs/__schema3", }, type: "object", }, diff --git a/packages/server/deno.json b/packages/server/deno.json index 6e5f96e5b..cddeefd0a 100644 --- a/packages/server/deno.json +++ b/packages/server/deno.json @@ -4,14 +4,14 @@ "exports": "./src/index.ts", "imports": { "@johngw/error": "npm:@johngw/error@^2.2.2", - "@targetd/api": "jsr:@targetd/api@^7.3.0", - "@types/express": "npm:@types/express@^5.0.3", + "@targetd/api": "jsr:@targetd/api@^8.0.0", + "@types/express": "npm:@types/express@^5.0.6", "@types/qs": "npm:@types/qs@^6.14.0", - "cors": "npm:cors@^2.8.5", - "express": "npm:express@^5.1.0", + "cors": "npm:cors@^2.8.6", + "express": "npm:express@^5.2.1", "express-query-boolean": "npm:express-query-boolean@^2.0.0", - "qs": "npm:qs@^6.14.0", - "zod": "npm:zod@^4.1.11" + "qs": "npm:qs@^6.14.1", + "zod": "npm:zod@^4.3.6" }, "lint": { "rules": { From 5cb3365c1d188412046c2eaf87b5eb03c0c020f6 Mon Sep 17 00:00:00 2001 From: John Wright Date: Sun, 8 Feb 2026 15:39:34 +0000 Subject: [PATCH 4/5] chore: upgrade deno and packages --- .dvmrc | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.dvmrc b/.dvmrc index da9021818..743af5e12 100644 --- a/.dvmrc +++ b/.dvmrc @@ -1 +1 @@ -5.9.2 +2.6.8 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4d347243b..77b0b2778 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest container: - image: denoland/deno:5.9.2 + image: denoland/deno:2.6.8 steps: - name: Checkout project From fe3cfe6d99cbfc8172091db7914cbc3c8c91929d Mon Sep 17 00:00:00 2001 From: John Wright Date: Sun, 8 Feb 2026 15:58:57 +0000 Subject: [PATCH 5/5] chore: migrate from semantic-release to release-please --- .github/workflows/release.yml | 59 +++++++++++++++-------------- .release-please-manifest.json | 9 +++++ .releaserc.cjs | 36 ------------------ packages/api/.releaserc.cjs | 11 ------ packages/client/.releaserc.cjs | 11 ------ packages/date-range/.releaserc.cjs | 11 ------ packages/explode/.releaserc.cjs | 11 ------ packages/fs/.releaserc.cjs | 11 ------ packages/json-schema/.releaserc.cjs | 11 ------ packages/server/.releaserc.cjs | 11 ------ release-please-config.json | 54 ++++++++++++++++++++++++++ 11 files changed, 93 insertions(+), 142 deletions(-) create mode 100644 .release-please-manifest.json delete mode 100644 .releaserc.cjs delete mode 100644 packages/api/.releaserc.cjs delete mode 100644 packages/client/.releaserc.cjs delete mode 100644 packages/date-range/.releaserc.cjs delete mode 100644 packages/explode/.releaserc.cjs delete mode 100644 packages/fs/.releaserc.cjs delete mode 100644 packages/json-schema/.releaserc.cjs delete mode 100644 packages/server/.releaserc.cjs create mode 100644 release-please-config.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8863fe2a9..12044ae3d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,46 +1,47 @@ -name: Publish +name: Release on: push: branches: [master] +permissions: + contents: write + pull-requests: write + id-token: write + jobs: - test: + release-test: if: github.actor != 'renovate[bot]' uses: ./.github/workflows/test.yml - publish: - name: Publish - needs: [test] + release-github: + name: Release Please + needs: [release-test] runs-on: ubuntu-latest - concurrency: - group: release - permissions: - id-token: write + outputs: + releases_created: ${{ steps.release.outputs.releases_created }} + paths_released: ${{ steps.release.outputs.paths_released }} steps: - - uses: actions/checkout@v6 + - uses: googleapis/release-please-action@v4 + id: release with: token: ${{ secrets.PUSH_TOKEN }} + release-jsr: + needs: [release-github] + if: needs.release-github.outputs.releases_created == 'true' + runs-on: ubuntu-latest + strategy: + matrix: + path_released: ${{ fromJson(needs.release-github.outputs.paths_released) }} + name: Publish ${{ matrix.path_released }} to JSR + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v6 - uses: denoland/setup-deno@v2 with: deno-version-file: .dvmrc - - - uses: actions/setup-node@v6 - with: - node-version: 24 - - - name: Release - env: - GITHUB_TOKEN: ${{ secrets.PUSH_TOKEN }} - run: | # shell - for path in $(deno task --quiet --recursive pwd); do - cd $path - if [ ! -f package.json ]; then - package_name=$(cat deno.json | jq -r .name) - echo '{"name":"'"${package_name}"'"}' > package.json - fi - npm install --dev semantic-release semantic-release-monorepo @semantic-release/exec @semantic-release/git - npx semantic-release - sleep 3 - done + - working-directory: ${{ matrix.path_released }} + run: if [ "$(cat deno.json | jq -r '.private // false')" != "true" ]; then deno publish; fi diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 000000000..ebd152803 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,9 @@ +{ + "packages/api": "8.0.0", + "packages/client": "6.0.1", + "packages/date-range": "5.0.1", + "packages/explode": "3.0.0", + "packages/fs": "6.0.2", + "packages/json-schema": "4.2.2", + "packages/server": "7.0.2" +} diff --git a/.releaserc.cjs b/.releaserc.cjs deleted file mode 100644 index c0cf2af69..000000000 --- a/.releaserc.cjs +++ /dev/null @@ -1,36 +0,0 @@ -// @ts-check - -const bumpVersion = - 'cat deno.json | jq \'.version |= "${nextRelease.version}"\' > deno.tmp.json && mv deno.tmp.json deno.json' -const isPublicPackage = '[ $(cat deno.json | jq -r .private) != "true" ]' -const publish = 'deno publish --allow-dirty' - -/** - * @type {import('npm:semantic-release').Options} - */ -const config = { - branches: ['master'], - plugins: [ - '@semantic-release/commit-analyzer', - '@semantic-release/release-notes-generator', - [ - '@semantic-release/exec', - { - prepareCmd: `${bumpVersion}`, - verifyReleaseCmd: - `${isPublicPackage} && ${publish} --set-version "\${nextRelease.version}" --dry-run`, - publishCmd: `${isPublicPackage} && ${publish}`, - }, - ], - [ - '@semantic-release/git', - { - message: 'chore(release): ${nextRelease.version} [skip ci]', - assets: ['deno.json'], - }, - ], - '@semantic-release/github', - ], -} - -module.exports = config diff --git a/packages/api/.releaserc.cjs b/packages/api/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/api/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/packages/client/.releaserc.cjs b/packages/client/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/client/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/packages/date-range/.releaserc.cjs b/packages/date-range/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/date-range/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/packages/explode/.releaserc.cjs b/packages/explode/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/explode/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/packages/fs/.releaserc.cjs b/packages/fs/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/fs/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/packages/json-schema/.releaserc.cjs b/packages/json-schema/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/json-schema/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/packages/server/.releaserc.cjs b/packages/server/.releaserc.cjs deleted file mode 100644 index 5a0bb57b0..000000000 --- a/packages/server/.releaserc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-check - -/** - * @type {import('npm:semantic-release').Options} - */ -module.exports = { - extends: [ - '../../.releaserc.cjs', - 'semantic-release-monorepo', - ], -} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 000000000..d40ae0cbd --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,54 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + "packages/api": { + "release-type": "simple", + "package-name": "@targetd/api", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + }, + "packages/client": { + "release-type": "simple", + "package-name": "@targetd/client", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + }, + "packages/date-range": { + "release-type": "simple", + "package-name": "@targetd/date-range", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + }, + "packages/explode": { + "release-type": "simple", + "package-name": "@targetd/explode", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + }, + "packages/fs": { + "release-type": "simple", + "package-name": "@targetd/fs", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + }, + "packages/json-schema": { + "release-type": "simple", + "package-name": "@targetd/json-schema", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + }, + "packages/server": { + "release-type": "simple", + "package-name": "@targetd/server", + "tag-separator": "-v", + "include-component-in-tag": true, + "extra-files": ["deno.json"] + } + } +}