From 7299e1afc3c644669af9c8ba2e5a24dddff2a740 Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 16:08:13 +0000 Subject: [PATCH 01/10] switch to tsdown Signed-off-by: Nik Nasr --- .gitignore | 2 + api-extractor.base.json | 20 +- package-lock.json | 1006 ++++++++++++++++- package.json | 4 +- packages/restate-e2e-services/package.json | 2 +- packages/restate-sdk-clients/package.json | 23 +- .../src/{public_api.ts => index.ts} | 0 packages/restate-sdk-clients/tsconfig.json | 2 +- packages/restate-sdk-clients/tsdown.config.ts | 12 + .../package.json | 45 +- .../patch_sdk_cf_workers.sh | 9 +- .../tsdown.config.ts | 10 + packages/restate-sdk-core/package.json | 23 +- .../src/{public_api.ts => index.ts} | 0 packages/restate-sdk-core/tsconfig.json | 2 +- packages/restate-sdk-core/tsdown.config.ts | 11 + packages/restate-sdk-examples/package.json | 2 +- .../restate-sdk-testcontainers/package.json | 23 +- .../src/{public_api.ts => index.ts} | 0 .../restate-sdk-testcontainers/tsconfig.json | 2 +- .../tsdown.config.ts | 10 + packages/restate-sdk-zod/package.json | 23 +- .../src/{public_api.ts => index.ts} | 0 packages/restate-sdk-zod/tsconfig.json | 2 +- packages/restate-sdk-zod/tsdown.config.ts | 10 + packages/restate-sdk/package.json | 63 +- .../restate-sdk/src/endpoint/node_endpoint.ts | 2 +- .../src/{public_api.ts => index.ts} | 0 .../restate-sdk/test/service_bind.test.ts | 2 +- packages/restate-sdk/test/testutils.ts | 2 +- packages/restate-sdk/tsconfig.json | 2 +- packages/restate-sdk/tsdown.config.ts | 13 + tsconfig.base.json | 10 +- turbo.json | 18 + typedoc.json | 8 +- 35 files changed, 1173 insertions(+), 190 deletions(-) rename packages/restate-sdk-clients/src/{public_api.ts => index.ts} (100%) create mode 100644 packages/restate-sdk-clients/tsdown.config.ts create mode 100644 packages/restate-sdk-cloudflare-workers/tsdown.config.ts rename packages/restate-sdk-core/src/{public_api.ts => index.ts} (100%) create mode 100644 packages/restate-sdk-core/tsdown.config.ts rename packages/restate-sdk-testcontainers/src/{public_api.ts => index.ts} (100%) create mode 100644 packages/restate-sdk-testcontainers/tsdown.config.ts rename packages/restate-sdk-zod/src/{public_api.ts => index.ts} (100%) create mode 100644 packages/restate-sdk-zod/tsdown.config.ts rename packages/restate-sdk/src/{public_api.ts => index.ts} (100%) create mode 100644 packages/restate-sdk/tsdown.config.ts create mode 100644 turbo.json diff --git a/.gitignore b/.gitignore index 03fd5205..003d373a 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ docs-out cdk.out lambda.zip .DS_Store + +.turbo diff --git a/api-extractor.base.json b/api-extractor.base.json index c22d0c3f..d34bcf19 100644 --- a/api-extractor.base.json +++ b/api-extractor.base.json @@ -45,7 +45,7 @@ * * SUPPORTED TOKENS: , , */ - "mainEntryPointFilePath": "/packages//dist/esm/src/public_api.d.ts", + "mainEntryPointFilePath": "/packages//dist/index.d.ts", /** * A list of NPM package names whose exports should be treated as part of this package. @@ -198,7 +198,7 @@ * SUPPORTED TOKENS: , , * DEFAULT VALUE: "/temp/" */ - "reportTempFolder": "/.api//temp" + "reportTempFolder": "/.api//temp" /** * Whether "forgotten exports" should be included in the API report file. Forgotten exports are declarations @@ -228,7 +228,7 @@ * SUPPORTED TOKENS: , , * DEFAULT VALUE: "/temp/.api.json" */ - "apiJsonFilePath": "/.api//.api.json" + "apiJsonFilePath": "/.api//.api.json" /** * Whether "forgotten exports" should be included in the doc model file. Forgotten exports are declarations @@ -277,7 +277,7 @@ * SUPPORTED TOKENS: , , * DEFAULT VALUE: "/dist/.d.ts" */ - "untrimmedFilePath": "/.api//internal.d.ts", + "untrimmedFilePath": "/.api//internal.d.ts", /** * Specifies the output path for a .d.ts rollup file to be generated with trimming for an "alpha" release. @@ -319,7 +319,7 @@ * SUPPORTED TOKENS: , , * DEFAULT VALUE: "" */ - "publicTrimmedFilePath": "/.api//public.d.ts" + "publicTrimmedFilePath": "/.api//public.d.ts" /** * When a declaration is trimmed, by default it will be replaced by a code comment such as @@ -420,10 +420,10 @@ "logLevel": "error" // "addToApiReportFile": false }, - "ae-forgotten-export": { - "logLevel": "error", - "addToApiReportFile": false - }, + "ae-forgotten-export": { + "logLevel": "error", + "addToApiReportFile": false + }, "ae-missing-release-tag": { "logLevel": "none" @@ -431,7 +431,7 @@ "ae-unresolved-link": { "logLevel": "warning" - }, + } // "ae-extra-release-tag": { // "logLevel": "warning", // "addToApiReportFile": true diff --git a/package-lock.json b/package-lock.json index 19f8cbb6..4bbe1291 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,8 @@ "globals": "^16.4.0", "prettier": "^2.8.4", "release-it": "^17.11.0", + "tsdown": "^0.16.0", + "turbo": "^2.6.0", "typedoc": "^0.28.10", "typescript": "^5.9.3", "typescript-eslint": "^8.46.2", @@ -80,7 +82,7 @@ "node": ">=18" } }, - "node_modules/@arethetypeswrong/core": { + "node_modules/@arethetypeswrong/cli/node_modules/@arethetypeswrong/core": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/@arethetypeswrong/core/-/core-0.15.1.tgz", "integrity": "sha512-FYp6GBAgsNz81BkfItRz8RLZO03w5+BaeiPma1uCfmxTnxbtuMrI/dbzGiOk8VghO108uFI0oJo0OkewdSHw7g==", @@ -98,7 +100,7 @@ "node": ">=18" } }, - "node_modules/@arethetypeswrong/core/node_modules/typescript": { + "node_modules/@arethetypeswrong/cli/node_modules/typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", @@ -112,6 +114,53 @@ "node": ">=14.17" } }, + "node_modules/@arethetypeswrong/core": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/@arethetypeswrong/core/-/core-0.18.2.tgz", + "integrity": "sha512-GiwTmBFOU1/+UVNqqCGzFJYfBXEytUkiI+iRZ6Qx7KmUVtLm00sYySkfe203C9QtPG11yOz1ZaMek8dT/xnlgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@andrewbranch/untar.js": "^1.0.3", + "@loaderkit/resolve": "^1.0.2", + "cjs-module-lexer": "^1.2.3", + "fflate": "^0.8.2", + "lru-cache": "^11.0.1", + "semver": "^7.5.4", + "typescript": "5.6.1-rc", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@arethetypeswrong/core/node_modules/lru-cache": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", + "dev": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@arethetypeswrong/core/node_modules/typescript": { + "version": "5.6.1-rc", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.1-rc.tgz", + "integrity": "sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/@aws-cdk/asset-awscli-v1": { "version": "2.2.242", "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.242.tgz", @@ -175,22 +224,98 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-identifier": { + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@babel/helper-string-parser": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@balena/dockerignore": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", "license": "Apache-2.0" }, + "node_modules/@braidai/lang": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@braidai/lang/-/lang-1.1.2.tgz", + "integrity": "sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==", + "dev": true, + "license": "ISC", + "optional": true + }, "node_modules/@cloudflare/kv-asset-handler": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz", @@ -310,7 +435,8 @@ "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20251008.0.tgz", "integrity": "sha512-dZLkO4PbCL0qcCSKzuW7KE4GYe49lI12LCfQ5y9XeSwgYBoAUbwH4gmJ6A0qUIURiTJTkGkRkhVPqpq2XNgYRA==", "dev": true, - "license": "MIT OR Apache-2.0" + "license": "MIT OR Apache-2.0", + "peer": true }, "node_modules/@colors/colors": { "version": "1.5.0", @@ -1685,6 +1811,28 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -1713,6 +1861,17 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@loaderkit/resolve": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@loaderkit/resolve/-/resolve-1.0.4.tgz", + "integrity": "sha512-rJzYKVcV4dxJv+vW6jlvagF8zvGxHJ2+HTr1e2qOejfmGhAApgJHl8Aog4mMszxceTRiKTTbnpgmTO1bEZHV/A==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "@braidai/lang": "^1.0.0" + } + }, "node_modules/@microsoft/api-extractor": { "version": "7.53.2", "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.53.2.tgz", @@ -2024,6 +2183,7 @@ "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -2175,6 +2335,16 @@ "@octokit/openapi-types": "^24.2.0" } }, + "node_modules/@oxc-project/types": { + "version": "0.96.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.96.0.tgz", + "integrity": "sha512-r/xkmoXA0xEpU6UGtn18CNVjXH6erU3KCpCDbpLmbVxBFor1U9MqN5Z2uMmCHJuXjJzlnDR+hWY+yPoLo8oHDw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -2285,6 +2455,19 @@ "dev": true, "license": "MIT" }, + "node_modules/@quansync/fs": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@quansync/fs/-/fs-0.1.5.tgz", + "integrity": "sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "quansync": "^0.2.11" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, "node_modules/@release-it-plugins/workspaces": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@release-it-plugins/workspaces/-/workspaces-4.2.1.tgz", @@ -2418,6 +2601,264 @@ "resolved": "templates/lambda", "link": true }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.46.tgz", + "integrity": "sha512-1nfXUqZ227uKuLw9S12OQZU5z+h+cUOXLW5orntWVxHWvt20pt1PGUcVoIU8ssngKABu0vzHY268kAxuYX24BQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.46.tgz", + "integrity": "sha512-w4IyumCQkpA3ezZ37COG3mMusFYxjEE8zqCfXZU/qb5k1JMD2kVl0fgJafIbGli27tgelYMweXkJGnlrxSGT9Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.46.tgz", + "integrity": "sha512-9QqaRHPbdAnv306+7nzltq4CktJ49Z4W9ybHLWYxSeDSoOGL4l1QmxjDWoRHrqYEkNr+DWHqqoD4NNHgOk7lKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.46.tgz", + "integrity": "sha512-Cuk5opdEMb+Evi7QcGArc4hWVoHSGz/qyUUWLTpFJWjylb8wH1u4f+HZE6gVGACuf4w/5P/VhAIamHyweAbBVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.46.tgz", + "integrity": "sha512-BPWDxEnxb4JNMXrSmPuc5ywI6cHOELofmT0e/WGkbL1MwKYRVvqTf+gMcGLF6zAV+OF5hLYMAEk8XKfao6xmDQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.46.tgz", + "integrity": "sha512-CDQSVlryuRC955EwgbBK1h/6xQyttSxQG8+6/PeOfvUlfKGPMbBdcsOEHzGve5ED1Y7Ovh2UFjY/eT106aQqig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.46.tgz", + "integrity": "sha512-6IZHycZetmVaC9zwcl1aA9fPYPuxLa5apALjJRoJu/2BZdER3zBWxDnCzlEh4SUlo++cwdfV9ZQRK9JS8cLNuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.46.tgz", + "integrity": "sha512-R/kI8fMnsxXvWzcMv5A408hfvrwtAwD/HdQKIE1HKWmfxdSHB11Y3PVwlnt7RVo7I++6mWCIxxj5o3gut4ibEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.46.tgz", + "integrity": "sha512-vGUXKuHGUlG2XBwvN4A8KIegeaVVxN2ZxdGG9thycwRkzUvZ9ccKvqUVZM8cVRyNRWgVgsGCS18qLUefVplwKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.46.tgz", + "integrity": "sha512-6SpDGH+0Dud3/RFDoC6fva6+Cm/0COnMRKR8kI4ssHWlCXPymlM59kYFCIBLZZqwURpNVVMPln4rWjxXuwD23w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.46.tgz", + "integrity": "sha512-peWDGp8YUAbTw5RJzr9AuPlTuf2adr+TBNIGF6ysMbobBKuQL41wYfGQlcerXJfLmjnQLf6DU2zTPBTfrS2Y8A==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.7" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", + "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.46.tgz", + "integrity": "sha512-Ydbwg1JCnVbTAuDyKtu3dOuBLgZ6iZsy8p1jMPX/r7LMPnpXnS15GNcmMwa11nyl/M2VjGE1i/MORUTMt8mnRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.46.tgz", + "integrity": "sha512-XcPZG2uDxEn6G3takXQvi7xWgDiJqdC0N6mubL/giKD4I65zgQtbadwlIR8oDB/erOahZr5IX8cRBVcK3xcvpg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.46.tgz", + "integrity": "sha512-VPC+F9S6nllv02aGG+gxHRgpOaOlYBPn94kDe9DCFSLOztf4uYIAkN+tLDlg5OcsOC8XNR5rP49zOfI0PfnHYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.46.tgz", + "integrity": "sha512-xMNwJo/pHkEP/mhNVnW+zUiJDle6/hxrwO0mfSJuEVRbBfgrJFuUSRoZx/nYUw5pCjrysl9OkNXCkAdih8GCnA==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.52.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz", @@ -2969,6 +3410,34 @@ "dev": true, "license": "MIT" }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, "node_modules/@tybys/wasm-util": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", @@ -3093,6 +3562,7 @@ "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -3176,6 +3646,7 @@ "integrity": "sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.46.2", "@typescript-eslint/types": "8.46.2", @@ -3803,6 +4274,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3943,6 +4415,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -4142,6 +4624,13 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -4302,6 +4791,23 @@ "node": ">=12" } }, + "node_modules/ast-kit": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.1.3.tgz", + "integrity": "sha512-TH+b3Lv6pUjy/Nu0m6A2JULtdzLpmqF9x1Dhj00ZoEiML8qvVA9j1flkzTKNYgdEhWrjDwtWNpyyCUbfQe514g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.4", + "pathe": "^2.0.3" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, "node_modules/ast-types": { "version": "0.13.4", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", @@ -4903,6 +5409,16 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/birpc": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.7.0.tgz", + "integrity": "sha512-tub/wFGH49vNCm0xraykcY3TcRgX/3JsALYq/Lwrtti+bTyFHkCUAWF5wgYoie8P41wYwig2mIKiqoocr1EkEQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -5342,6 +5858,22 @@ "node": ">= 16" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/ci-info": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", @@ -5358,6 +5890,14 @@ "node": ">=8" } }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/cli-boxes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", @@ -5711,7 +6251,8 @@ "version": "10.4.2", "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.2.tgz", "integrity": "sha512-wsNxBlAott2qg8Zv87q3eYZYgheb9lchtBfjHzzLHtXbttwSrHPs1NNQbBrmbb1YZvYg2+Vh0Dor76w4mFxJkA==", - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/cookie": { "version": "1.0.2", @@ -5835,6 +6376,13 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -6115,6 +6663,16 @@ "node": ">=8" } }, + "node_modules/diff": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz", + "integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/docker-compose": { "version": "0.24.8", "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.24.8.tgz", @@ -6156,6 +6714,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/dts-resolver": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/dts-resolver/-/dts-resolver-2.1.2.tgz", + "integrity": "sha512-xeXHBQkn2ISSXxbJWD828PFjtyg+/UrMDo7W4Ffcs7+YWCquxU8YjV1KoxuiL+eJ5pg3ll+bC6flVv61L3LKZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "oxc-resolver": ">=11.0.0" + }, + "peerDependenciesMeta": { + "oxc-resolver": { + "optional": true + } + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -6190,6 +6769,16 @@ "dev": true, "license": "MIT" }, + "node_modules/empathic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -6524,6 +7113,7 @@ "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -6669,6 +7259,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -7403,9 +7994,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.11.0.tgz", - "integrity": "sha512-sNsqf7XKQ38IawiVGPOoAlqZo1DMrO7TU+ZcZwi7yLl7/7S0JwmoBMKz/IkUPhSoXM0Ng3vT0yB1iCe5XavDeQ==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7694,6 +8285,13 @@ "node": "*" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true, + "license": "MIT" + }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -8674,6 +9272,16 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", @@ -8708,6 +9316,19 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/json-bignum": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz", @@ -9049,15 +9670,22 @@ } }, "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", @@ -9089,6 +9717,7 @@ "integrity": "sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==", "dev": true, "license": "MIT", + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -10841,6 +11470,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/quansync": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", + "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -10962,6 +11608,20 @@ "node": ">=10" } }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -11063,6 +11723,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@iarna/toml": "2.2.5", "@octokit/rest": "20.1.1", @@ -11328,6 +11989,85 @@ "node": ">=0.10.0" } }, + "node_modules/rolldown": { + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.46.tgz", + "integrity": "sha512-FYUbq0StVHOjkR/hEJ667Pup3ugeB9odBcbmxU5il9QfT9X2t/FPhkqFYQthbYxD2bKnQyO+2vHTgnmOHwZdeA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@oxc-project/types": "=0.96.0", + "@rolldown/pluginutils": "1.0.0-beta.46" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.46", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.46", + "@rolldown/binding-darwin-x64": "1.0.0-beta.46", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.46", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.46", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.46", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.46", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.46", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.46", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.46", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.46", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.46", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.46", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.46" + } + }, + "node_modules/rolldown-plugin-dts": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/rolldown-plugin-dts/-/rolldown-plugin-dts-0.17.3.tgz", + "integrity": "sha512-8mGnNUVNrqEdTnrlcaDxs4sAZg0No6njO+FuhQd4L56nUbJO1tHxOoKDH3mmMJg7f/BhEj/1KjU5W9kZ9zM/kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.28.5", + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "ast-kit": "^2.1.3", + "birpc": "^2.6.1", + "debug": "^4.4.3", + "dts-resolver": "^2.1.2", + "get-tsconfig": "^4.13.0", + "magic-string": "^0.30.21" + }, + "engines": { + "node": ">=20.18.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@ts-macro/tsc": "^0.3.6", + "@typescript/native-preview": ">=7.0.0-dev.20250601.1", + "rolldown": "^1.0.0-beta.44", + "typescript": "^5.0.0", + "vue-tsc": "~3.1.0" + }, + "peerDependenciesMeta": { + "@ts-macro/tsc": { + "optional": true + }, + "@typescript/native-preview": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, "node_modules/rollup": { "version": "4.52.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz", @@ -11512,8 +12252,7 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/semver": { "version": "7.7.3", @@ -12385,6 +13124,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -12448,6 +13188,16 @@ "node": ">=8.0" } }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/ts-api-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", @@ -12481,6 +13231,80 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tsdown": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/tsdown/-/tsdown-0.16.0.tgz", + "integrity": "sha512-VCqqxT5FbjCmxmLNlOLHiNhu1MBtdvCsk43murvUFloQzQzr/C0FRauWtAw7lAPmS40rZlgocCoTNFqX72WSTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansis": "^4.2.0", + "cac": "^6.7.14", + "chokidar": "^4.0.3", + "debug": "^4.4.3", + "diff": "^8.0.2", + "empathic": "^2.0.0", + "hookable": "^5.5.3", + "rolldown": "1.0.0-beta.46", + "rolldown-plugin-dts": "^0.17.3", + "semver": "^7.7.3", + "tinyexec": "^1.0.1", + "tinyglobby": "^0.2.15", + "tree-kill": "^1.2.2", + "unconfig": "^7.3.3" + }, + "bin": { + "tsdown": "dist/run.mjs" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@arethetypeswrong/core": "^0.18.1", + "@vitejs/devtools": "^0.0.0-alpha.10", + "publint": "^0.3.0", + "typescript": "^5.0.0", + "unplugin-lightningcss": "^0.4.0", + "unplugin-unused": "^0.5.0", + "unrun": "^0.2.1" + }, + "peerDependenciesMeta": { + "@arethetypeswrong/core": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "publint": { + "optional": true + }, + "typescript": { + "optional": true + }, + "unplugin-lightningcss": { + "optional": true + }, + "unplugin-unused": { + "optional": true + }, + "unrun": { + "optional": true + } + } + }, + "node_modules/tsdown/node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -12507,6 +13331,108 @@ "fsevents": "~2.3.3" } }, + "node_modules/turbo": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.6.0.tgz", + "integrity": "sha512-kC5VJqOXo50k0/0jnJDDjibLAXalqT9j7PQ56so0pN+81VR4Fwb2QgIE9dTzT3phqOTQuEXkPh3sCpnv5Isz2g==", + "dev": true, + "license": "MIT", + "bin": { + "turbo": "bin/turbo" + }, + "optionalDependencies": { + "turbo-darwin-64": "2.6.0", + "turbo-darwin-arm64": "2.6.0", + "turbo-linux-64": "2.6.0", + "turbo-linux-arm64": "2.6.0", + "turbo-windows-64": "2.6.0", + "turbo-windows-arm64": "2.6.0" + } + }, + "node_modules/turbo-darwin-64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.6.0.tgz", + "integrity": "sha512-6vHnLAubHj8Ib45Knu+oY0ZVCLO7WcibzAvt5b1E72YHqAs4y8meMAGMZM0jLqWPh/9maHDc16/qBCMxtW4pXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/turbo-darwin-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.6.0.tgz", + "integrity": "sha512-IU+gWMEXNBw8H0pxvE7nPEa5p6yahxbN8g/Q4Bf0AHymsAFqsScgV0peeNbWybdmY9jk1LPbALOsF2kY1I7ZiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/turbo-linux-64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.6.0.tgz", + "integrity": "sha512-CKoiJ2ZFJLCDsWdRlZg+ew1BkGn8iCEGdePhISVpjsGwkJwSVhVu49z2zKdBeL1IhcSKS2YALwp9ellNZANJxw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.6.0.tgz", + "integrity": "sha512-WroVCdCvJbrhNxNdw7XB7wHAfPPJPV+IXY+ZKNed+9VdfBu/2mQNfKnvqTuFTH7n+Pdpv8to9qwhXRTJe26upg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.6.0.tgz", + "integrity": "sha512-7pZo5aGQPR+A7RMtWCZHusarJ6y15LQ+o3jOmpMxTic/W6Bad+jSeqo07TWNIseIWjCVzrSv27+0odiYRYtQdA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.6.0.tgz", + "integrity": "sha512-1Ty+NwIksQY7AtFUCPrTpcKQE7zmd/f7aRjdT+qkqGFQjIjFYctEtN7qo4vpQPBgCfS1U3ka83A2u/9CfJQ3wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", @@ -12660,6 +13586,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12734,6 +13661,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/unconfig": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-7.3.3.tgz", + "integrity": "sha512-QCkQoOnJF8L107gxfHL0uavn7WD9b3dpBcFX6HtfQYmjw2YzWxGuFQ0N0J6tE9oguCBJn9KOvfqYDCMPHIZrBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@quansync/fs": "^0.1.5", + "defu": "^6.1.4", + "jiti": "^2.5.1", + "quansync": "^0.2.11" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/undici": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/undici/-/undici-7.14.0.tgz", @@ -12756,6 +13699,7 @@ "integrity": "sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "defu": "^6.1.4", "exsolve": "^1.0.7", @@ -12913,6 +13857,13 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, "node_modules/validate-npm-package-name": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", @@ -12940,6 +13891,7 @@ "integrity": "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -13056,6 +14008,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -13586,6 +14539,7 @@ "dev": true, "hasInstallScript": true, "license": "Apache-2.0", + "peer": true, "bin": { "workerd": "bin/workerd" }, @@ -14243,6 +15197,16 @@ "node": ">=10" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -14410,6 +15374,7 @@ "@restatedev/restate-sdk-core": "^1.9.0" }, "devDependencies": { + "@restatedev/restate-sdk": "*", "@types/aws-lambda": "^8.10.115" }, "engines": { @@ -14684,10 +15649,21 @@ "version": "22.5.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.19.2" } }, + "templates/lambda/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "templates/lambda/node_modules/prettier": { "version": "3.6.2", "dev": true, diff --git a/package.json b/package.json index ead425a4..f7155eca 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "type": "module", "scripts": { "api:extract": "npm run api:extract -ws --if-present", - "build": "npm run --workspace packages build --if-present", + "build": "turbo run build --filter=\"./packages/*\"", "build-docs": "npm run build && npx typedoc", "test": "npm run test -ws --if-present", "lint": "npm run lint -ws --if-present", @@ -60,6 +60,8 @@ "globals": "^16.4.0", "prettier": "^2.8.4", "release-it": "^17.11.0", + "tsdown": "^0.16.0", + "turbo": "^2.6.0", "typedoc": "^0.28.10", "typescript": "^5.9.3", "typescript-eslint": "^8.46.2", diff --git a/packages/restate-e2e-services/package.json b/packages/restate-e2e-services/package.json index f9396163..55d302a6 100644 --- a/packages/restate-e2e-services/package.json +++ b/packages/restate-e2e-services/package.json @@ -21,7 +21,7 @@ "dist" ], "scripts": { - "build": "tsc -b", + "build": "tsc", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-clients/package.json b/packages/restate-sdk-clients/package.json index 56c841a1..26a677e6 100644 --- a/packages/restate-sdk-clients/package.json +++ b/packages/restate-sdk-clients/package.json @@ -15,29 +15,22 @@ }, "type": "module", "sideEffects": false, - "main": "./dist/cjs/src/public_api.js", - "types": "./dist/cjs/src/public_api.d.ts", - "module": "./dist/esm/src/public_api.js", + "main": "./dist/index.cjs", + "types": "./dist/index.d.cts", + "module": "./dist/index.js", "exports": { ".": { - "import": { - "types": "./dist/esm/src/public_api.d.ts", - "default": "./dist/esm/src/public_api.js" - }, - "require": { - "types": "./dist/cjs/src/public_api.d.ts", - "default": "./dist/cjs/src/public_api.js" - } - } + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./package.json": "./package.json" }, "files": [ "dist" ], "scripts": { "api:extract": "api-extractor run --local", - "build": "npm run build:cjs && npm run build:esm", - "build:cjs": "tsc --module commonjs --verbatimModuleSyntax false --moduleResolution node10 --outDir ./dist/cjs --declaration --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", - "build:esm": "tsc --outDir ./dist/esm --declaration --declarationDir ./dist/esm", + "build": "tsc --noEmit && tsdown", "test": "vitest run --silent --passWithNoTests", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-clients/src/public_api.ts b/packages/restate-sdk-clients/src/index.ts similarity index 100% rename from packages/restate-sdk-clients/src/public_api.ts rename to packages/restate-sdk-clients/src/index.ts diff --git a/packages/restate-sdk-clients/tsconfig.json b/packages/restate-sdk-clients/tsconfig.json index d4ef757e..6a38242d 100644 --- a/packages/restate-sdk-clients/tsconfig.json +++ b/packages/restate-sdk-clients/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./dist/esm", + "outDir": "./dist", "paths": {} }, "include": ["src/**/*.ts"], diff --git a/packages/restate-sdk-clients/tsdown.config.ts b/packages/restate-sdk-clients/tsdown.config.ts new file mode 100644 index 00000000..307593be --- /dev/null +++ b/packages/restate-sdk-clients/tsdown.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts"], + platform: "neutral", + exports: true, + format: ["esm", "cjs"], + dts: true, + ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], + unbundle: true, + external: ["@restatedev/restate-sdk-core"], +}); diff --git a/packages/restate-sdk-cloudflare-workers/package.json b/packages/restate-sdk-cloudflare-workers/package.json index e309b0bc..acb80d9b 100644 --- a/packages/restate-sdk-cloudflare-workers/package.json +++ b/packages/restate-sdk-cloudflare-workers/package.json @@ -15,51 +15,27 @@ }, "type": "module", "sideEffects": false, - "main": "./dist/cjs/src/public_api.js", - "module": "./dist/esm/src/public_api.js", + "main": "./dist/index.cjs", + "module": "./dist/index.js", "exports": { ".": { - "import": { - "types": "./dist/esm/src/public_api.d.ts", - "default": "./dist/esm/src/public_api.js" - }, - "require": { - "types": "./dist/cjs/src/public_api.d.ts", - "default": "./dist/cjs/src/public_api.js" - } + "import": "./dist/index.js", + "require": "./dist/index.cjs" }, + "./package.json": "./package.json", "./fetch": { - "import": { - "types": "./dist/esm/src/fetch.d.ts", - "default": "./dist/esm/src/fetch.js" - }, - "require": { - "types": "./dist/cjs/src/fetch.d.ts", - "default": "./dist/cjs/src/fetch.js" - } - }, - "./lambda": { - "import": { - "types": "./dist/esm/src/lambda.d.ts", - "default": "./dist/esm/src/lambda.js" - }, - "require": { - "types": "./dist/cjs/src/lambda.d.ts", - "default": "./dist/cjs/src/lambda.js" - } + "import": "./dist/fetch.js", + "require": "./dist/fetch.cjs" } }, "typesVersions": { "*": { "fetch": [ - "dist/cjs/src/fetch.d.ts" - ], - "lambda": [ - "dist/cjs/src/lambda.d.ts" + "./dist/fetch.d.ts" ] } }, - "types": "./dist/cjs/src/public_api.d.ts", + "types": "./dist/index.d.cts", "files": [ "dist" ], @@ -71,7 +47,8 @@ "@restatedev/restate-sdk-core": "^1.9.0" }, "devDependencies": { - "@types/aws-lambda": "^8.10.115" + "@types/aws-lambda": "^8.10.115", + "@restatedev/restate-sdk": "*" }, "engines": { "node": ">= 20.19" diff --git a/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh b/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh index ccdad210..e78cfbb4 100755 --- a/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh +++ b/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh @@ -6,14 +6,13 @@ if [[ ! -d ../restate-sdk/dist ]]; then fi cp -r ../restate-sdk/dist . -rm -r dist/cjs # Copy fetch.js -cp patches/fetch.js dist/esm/src/fetch.js +cp patches/fetch.js dist/fetch.js # Copy vm -rm -r dist/esm/src/endpoint/handlers/vm -cp -r patches/vm dist/esm/src/endpoint/handlers +# rm -r dist/endpoint/handlers/vm +cp -r patches/vm dist/endpoint/handlers # Copy vm entrypoint -cp patches/sdk_shared_core_wasm_bindings.js dist/esm/src/endpoint/handlers/vm \ No newline at end of file +cp patches/sdk_shared_core_wasm_bindings.js dist/endpoint/handlers/vm diff --git a/packages/restate-sdk-cloudflare-workers/tsdown.config.ts b/packages/restate-sdk-cloudflare-workers/tsdown.config.ts new file mode 100644 index 00000000..d39ec1f6 --- /dev/null +++ b/packages/restate-sdk-cloudflare-workers/tsdown.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts", "src/fetch.ts"], + platform: "neutral", + exports: true, + format: ["esm", "cjs"], + dts: true, + ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], +}); diff --git a/packages/restate-sdk-core/package.json b/packages/restate-sdk-core/package.json index 8c12ddc7..a4a94111 100644 --- a/packages/restate-sdk-core/package.json +++ b/packages/restate-sdk-core/package.json @@ -15,29 +15,22 @@ }, "type": "module", "sideEffects": false, - "main": "./dist/cjs/src/public_api.js", - "types": "./dist/cjs/src/public_api.d.ts", - "module": "./dist/esm/src/public_api.js", + "main": "./dist/index.cjs", + "types": "./dist/index.d.cts", + "module": "./dist/index.js", "exports": { ".": { - "import": { - "types": "./dist/esm/src/public_api.d.ts", - "default": "./dist/esm/src/public_api.js" - }, - "require": { - "types": "./dist/cjs/src/public_api.d.ts", - "default": "./dist/cjs/src/public_api.js" - } - } + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./package.json": "./package.json" }, "files": [ "dist" ], "scripts": { "api:extract": "api-extractor run --local", - "build": "npm run build:cjs && npm run build:esm", - "build:cjs": "tsc --module commonjs --verbatimModuleSyntax false --moduleResolution node10 --outDir ./dist/cjs --declaration --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", - "build:esm": "tsc --outDir ./dist/esm --declaration --declarationDir ./dist/esm", + "build": "tsc --noEmit && tsdown", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-core/src/public_api.ts b/packages/restate-sdk-core/src/index.ts similarity index 100% rename from packages/restate-sdk-core/src/public_api.ts rename to packages/restate-sdk-core/src/index.ts diff --git a/packages/restate-sdk-core/tsconfig.json b/packages/restate-sdk-core/tsconfig.json index 111f1f20..0798ddee 100644 --- a/packages/restate-sdk-core/tsconfig.json +++ b/packages/restate-sdk-core/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./dist/esm", + "outDir": "./dist", "paths": {} }, "include": ["src/**/*.ts"] diff --git a/packages/restate-sdk-core/tsdown.config.ts b/packages/restate-sdk-core/tsdown.config.ts new file mode 100644 index 00000000..7c3a1c8e --- /dev/null +++ b/packages/restate-sdk-core/tsdown.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts"], + platform: "neutral", + exports: true, + format: ["esm", "cjs"], + dts: true, + ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], + unbundle: true, +}); diff --git a/packages/restate-sdk-examples/package.json b/packages/restate-sdk-examples/package.json index 263d954d..506f1eaf 100644 --- a/packages/restate-sdk-examples/package.json +++ b/packages/restate-sdk-examples/package.json @@ -21,7 +21,7 @@ "dist" ], "scripts": { - "build": "tsc -b", + "build": "tsc", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-testcontainers/package.json b/packages/restate-sdk-testcontainers/package.json index 6eede98e..0e78f33a 100644 --- a/packages/restate-sdk-testcontainers/package.json +++ b/packages/restate-sdk-testcontainers/package.json @@ -15,29 +15,22 @@ }, "type": "module", "sideEffects": false, - "main": "./dist/cjs/src/public_api.js", - "types": "./dist/cjs/src/public_api.d.ts", - "module": "./dist/esm/src/public_api.js", + "main": "./dist/index.cjs", + "types": "./dist/index.d.cts", + "module": "./dist/index.js", "exports": { ".": { - "import": { - "types": "./dist/esm/src/public_api.d.ts", - "default": "./dist/esm/src/public_api.js" - }, - "require": { - "types": "./dist/cjs/src/public_api.d.ts", - "default": "./dist/cjs/src/public_api.js" - } - } + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./package.json": "./package.json" }, "files": [ "dist" ], "scripts": { "api:extract": "api-extractor run --local", - "build": "npm run build:cjs && npm run build:esm", - "build:cjs": "tsc --module commonjs --verbatimModuleSyntax false --moduleResolution node10 --outDir ./dist/cjs --declaration --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", - "build:esm": "tsc --outDir ./dist/esm --declaration --declarationDir ./dist/esm", + "build": "tsc --noEmit && tsdown", "test": "vitest run --silent --passWithNoTests", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-testcontainers/src/public_api.ts b/packages/restate-sdk-testcontainers/src/index.ts similarity index 100% rename from packages/restate-sdk-testcontainers/src/public_api.ts rename to packages/restate-sdk-testcontainers/src/index.ts diff --git a/packages/restate-sdk-testcontainers/tsconfig.json b/packages/restate-sdk-testcontainers/tsconfig.json index 00a37d5d..cd16a30d 100644 --- a/packages/restate-sdk-testcontainers/tsconfig.json +++ b/packages/restate-sdk-testcontainers/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./dist/esm", + "outDir": "./dist", "paths": {} }, "include": ["src/**/*.ts"], diff --git a/packages/restate-sdk-testcontainers/tsdown.config.ts b/packages/restate-sdk-testcontainers/tsdown.config.ts new file mode 100644 index 00000000..8ac3a440 --- /dev/null +++ b/packages/restate-sdk-testcontainers/tsdown.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts"], + platform: "neutral", + exports: true, + format: ["esm", "cjs"], + dts: true, + ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], +}); diff --git a/packages/restate-sdk-zod/package.json b/packages/restate-sdk-zod/package.json index 7b68c01d..199f0a00 100644 --- a/packages/restate-sdk-zod/package.json +++ b/packages/restate-sdk-zod/package.json @@ -15,20 +15,15 @@ }, "type": "module", "sideEffects": false, - "main": "./dist/cjs/src/public_api.js", - "types": "./dist/cjs/src/public_api.d.ts", - "module": "./dist/esm/src/public_api.js", + "main": "./dist/index.cjs", + "types": "./dist/index.d.cts", + "module": "./dist/index.js", "exports": { ".": { - "import": { - "types": "./dist/esm/src/public_api.d.ts", - "default": "./dist/esm/src/public_api.js" - }, - "require": { - "types": "./dist/cjs/src/public_api.d.ts", - "default": "./dist/cjs/src/public_api.js" - } - } + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./package.json": "./package.json" }, "files": [ "dist" @@ -43,9 +38,7 @@ }, "scripts": { "api:extract": "api-extractor run --local", - "build": "npm run build:cjs && npm run build:esm", - "build:cjs": "tsc --module commonjs --verbatimModuleSyntax false --moduleResolution node10 --outDir ./dist/cjs --declaration --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", - "build:esm": "tsc --outDir ./dist/esm --declaration --declarationDir ./dist/esm", + "build": "tsc --noEmit && tsdown", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-zod/src/public_api.ts b/packages/restate-sdk-zod/src/index.ts similarity index 100% rename from packages/restate-sdk-zod/src/public_api.ts rename to packages/restate-sdk-zod/src/index.ts diff --git a/packages/restate-sdk-zod/tsconfig.json b/packages/restate-sdk-zod/tsconfig.json index 9e060ce4..4a98754c 100644 --- a/packages/restate-sdk-zod/tsconfig.json +++ b/packages/restate-sdk-zod/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./dist/esm", + "outDir": "./dist", "paths": {} }, "include": ["src/**/*.ts"], diff --git a/packages/restate-sdk-zod/tsdown.config.ts b/packages/restate-sdk-zod/tsdown.config.ts new file mode 100644 index 00000000..8ac3a440 --- /dev/null +++ b/packages/restate-sdk-zod/tsdown.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts"], + platform: "neutral", + exports: true, + format: ["esm", "cjs"], + dts: true, + ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], +}); diff --git a/packages/restate-sdk/package.json b/packages/restate-sdk/package.json index 1e53cbbf..daa923ed 100644 --- a/packages/restate-sdk/package.json +++ b/packages/restate-sdk/package.json @@ -15,64 +15,41 @@ }, "type": "module", "sideEffects": false, - "main": "./dist/cjs/src/public_api.js", - "module": "./dist/esm/src/public_api.js", + "main": "./dist/index.cjs", + "module": "./dist/index.js", "exports": { ".": { - "import": { - "types": "./dist/esm/src/public_api.d.ts", - "default": "./dist/esm/src/public_api.js" - }, - "require": { - "types": "./dist/cjs/src/public_api.d.ts", - "default": "./dist/cjs/src/public_api.js" - } - }, - "./node": { - "import": { - "types": "./dist/esm/src/node.d.ts", - "default": "./dist/esm/src/node.js" - }, - "require": { - "types": "./dist/cjs/src/node.d.ts", - "default": "./dist/cjs/src/node.js" - } + "import": "./dist/index.js", + "require": "./dist/index.cjs" }, "./fetch": { - "import": { - "types": "./dist/esm/src/fetch.d.ts", - "default": "./dist/esm/src/fetch.js" - }, - "require": { - "types": "./dist/cjs/src/fetch.d.ts", - "default": "./dist/cjs/src/fetch.js" - } + "import": "./dist/fetch.js", + "require": "./dist/fetch.cjs" }, "./lambda": { - "import": { - "types": "./dist/esm/src/lambda.d.ts", - "default": "./dist/esm/src/lambda.js" - }, - "require": { - "types": "./dist/cjs/src/lambda.d.ts", - "default": "./dist/cjs/src/lambda.js" - } - } + "import": "./dist/lambda.js", + "require": "./dist/lambda.cjs" + }, + "./node": { + "import": "./dist/node.js", + "require": "./dist/node.cjs" + }, + "./package.json": "./package.json" }, "typesVersions": { "*": { "node": [ - "dist/cjs/src/node.d.ts" + "./dist/node.d.ts" ], "fetch": [ - "dist/cjs/src/fetch.d.ts" + "./dist/fetch.d.ts" ], "lambda": [ - "dist/cjs/src/lambda.d.ts" + "./dist/lambda.d.ts" ] } }, - "types": "./dist/cjs/src/public_api.d.ts", + "types": "./dist/index.d.cts", "files": [ "dist" ], @@ -80,9 +57,7 @@ "api:extract": "api-extractor run --local", "gen:version": "node ./scripts/version.mjs", "prebuild": "npm run gen:version", - "build": "npm run build:cjs && npm run build:esm", - "build:cjs": "tsc --module commonjs --verbatimModuleSyntax false --moduleResolution node10 --outDir ./dist/cjs --declaration --declarationDir ./dist/cjs && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", - "build:esm": "tsc --outDir ./dist/esm --declaration --declarationDir ./dist/esm", + "build": "tsc --noEmit && tsdown", "pretest": "npm run gen:version", "test": "vitest run --silent", "lint": "eslint --max-warnings=0 .", diff --git a/packages/restate-sdk/src/endpoint/node_endpoint.ts b/packages/restate-sdk/src/endpoint/node_endpoint.ts index b6b9d7c8..c09dbc99 100644 --- a/packages/restate-sdk/src/endpoint/node_endpoint.ts +++ b/packages/restate-sdk/src/endpoint/node_endpoint.ts @@ -9,7 +9,7 @@ * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE */ -import type { RestateEndpoint } from "../public_api.js"; +import type { RestateEndpoint } from "../index.js"; import type { JournalValueCodec, ServiceDefinition, diff --git a/packages/restate-sdk/src/public_api.ts b/packages/restate-sdk/src/index.ts similarity index 100% rename from packages/restate-sdk/src/public_api.ts rename to packages/restate-sdk/src/index.ts diff --git a/packages/restate-sdk/test/service_bind.test.ts b/packages/restate-sdk/test/service_bind.test.ts index e2f9f059..db51aae9 100644 --- a/packages/restate-sdk/test/service_bind.test.ts +++ b/packages/restate-sdk/test/service_bind.test.ts @@ -10,7 +10,7 @@ */ import { toServiceDiscovery } from "./testutils.js"; -import * as restate from "../src/public_api.js"; +import * as restate from "../src/index.js"; import { describe, expect, it } from "vitest"; const greeterFoo = restate.service({ diff --git a/packages/restate-sdk/test/testutils.ts b/packages/restate-sdk/test/testutils.ts index 63eaafd0..7876bc27 100644 --- a/packages/restate-sdk/test/testutils.ts +++ b/packages/restate-sdk/test/testutils.ts @@ -14,7 +14,7 @@ import type { VirtualObjectDefinition, WorkflowDefinition, DefaultServiceOptions, -} from "../src/public_api.js"; +} from "../src/index.js"; import type * as discovery from "../src/endpoint/discovery.js"; import { EndpointBuilder } from "../src/endpoint/endpoint.js"; diff --git a/packages/restate-sdk/tsconfig.json b/packages/restate-sdk/tsconfig.json index cb7aaafc..4d8d0101 100644 --- a/packages/restate-sdk/tsconfig.json +++ b/packages/restate-sdk/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./dist/esm", + "outDir": "./dist", "paths": {} }, "include": ["src/**/*.ts", "src/**/*.js"], diff --git a/packages/restate-sdk/tsdown.config.ts b/packages/restate-sdk/tsdown.config.ts new file mode 100644 index 00000000..3d2c0982 --- /dev/null +++ b/packages/restate-sdk/tsdown.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: ["src/index.ts", "src/node.ts", "src/fetch.ts", "src/lambda.ts"], + platform: "neutral", + exports: true, + format: ["esm", "cjs"], + dts: true, + ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], + unbundle: true, + clean: true, + external: ["@restatedev/restate-sdk-core"], +}); diff --git a/tsconfig.base.json b/tsconfig.base.json index 969f18e6..46ea1706 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -23,15 +23,13 @@ "noImplicitOverride": true, "paths": { "@restatedev/restate-sdk-core": [ - "./packages/restate-sdk-core/src/public_api.ts" + "./packages/restate-sdk-core/src/index.ts" ], - "@restatedev/restate-sdk": ["./packages/restate-sdk/src/public_api.ts"], + "@restatedev/restate-sdk": ["./packages/restate-sdk/src/index.ts"], "@restatedev/restate-sdk-clients": [ - "./packages/restate-sdk-clients/src/public_api.ts" + "./packages/restate-sdk-clients/src/index.ts" ], - "@restatedev/restate-sdk-zod": [ - "./packages/restate-sdk-zod/src/public_api.ts" - ] + "@restatedev/restate-sdk-zod": ["./packages/restate-sdk-zod/src/index.ts"] } } } diff --git a/turbo.json b/turbo.json new file mode 100644 index 00000000..db4cbb24 --- /dev/null +++ b/turbo.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://turbo.build/schema.json", + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "test": { + "dependsOn": ["build"] + }, + "lint": {}, + "format": {}, + "format-check": {}, + "verify": { + "dependsOn": ["format-check", "lint", "test", "build"] + } + } +} diff --git a/typedoc.json b/typedoc.json index 88ed994d..0d6fbda0 100644 --- a/typedoc.json +++ b/typedoc.json @@ -10,10 +10,8 @@ ], "entryPointStrategy": "packages", "packageOptions": { - "entryPoints": [ - "src/public_api.ts" - ], - "tsconfig": "tsconfig.json", + "entryPoints": ["src/index.ts"], + "tsconfig": "tsconfig.json" }, "out": "docs-out" -} \ No newline at end of file +} From c1b13743a00a1a80e394d1c40ce90f04f080bc5b Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 16:22:56 +0000 Subject: [PATCH 02/10] fix build Signed-off-by: Nik Nasr --- package.json | 2 +- packages/restate-e2e-services/package.json | 2 +- packages/restate-sdk-examples/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f7155eca..a319afcf 100644 --- a/package.json +++ b/package.json @@ -88,5 +88,5 @@ }, "npm": false }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" + "packageManager": "npm@10.2.4" } diff --git a/packages/restate-e2e-services/package.json b/packages/restate-e2e-services/package.json index 55d302a6..f9396163 100644 --- a/packages/restate-e2e-services/package.json +++ b/packages/restate-e2e-services/package.json @@ -21,7 +21,7 @@ "dist" ], "scripts": { - "build": "tsc", + "build": "tsc -b", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk-examples/package.json b/packages/restate-sdk-examples/package.json index 506f1eaf..263d954d 100644 --- a/packages/restate-sdk-examples/package.json +++ b/packages/restate-sdk-examples/package.json @@ -21,7 +21,7 @@ "dist" ], "scripts": { - "build": "tsc", + "build": "tsc -b", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", From d18f748f488737e93ac14df46e0bf1f97427124e Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 16:31:37 +0000 Subject: [PATCH 03/10] fix lint Signed-off-by: Nik Nasr --- eslint.config.js | 1 + packages/restate-sdk/tsdown.config.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/eslint.config.js b/eslint.config.js index aa4c581f..9125fa43 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -16,6 +16,7 @@ export default [ "**/*.mjs", "**/test/**", "**/api-extractor.json", + "**/src/generated/**", ], }, { diff --git a/packages/restate-sdk/tsdown.config.ts b/packages/restate-sdk/tsdown.config.ts index 3d2c0982..25ea8bdf 100644 --- a/packages/restate-sdk/tsdown.config.ts +++ b/packages/restate-sdk/tsdown.config.ts @@ -9,5 +9,14 @@ export default defineConfig({ ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], unbundle: true, clean: true, - external: ["@restatedev/restate-sdk-core"], + external: [ + "@restatedev/restate-sdk-core", + // Node.js built-in modules + "http2", + "node:stream", + "node:stream/web", + "node:buffer", + "node:timers/promises", + "node:zlib", + ], }); From 6274392de2fa03d06d7ef751a2186615a853e47f Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 17:45:14 +0000 Subject: [PATCH 04/10] fix patch Signed-off-by: Nik Nasr --- .../patches/fetch.js | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/packages/restate-sdk-cloudflare-workers/patches/fetch.js b/packages/restate-sdk-cloudflare-workers/patches/fetch.js index c895f89a..a72eadc0 100644 --- a/packages/restate-sdk-cloudflare-workers/patches/fetch.js +++ b/packages/restate-sdk-cloudflare-workers/patches/fetch.js @@ -1,25 +1,20 @@ -/* - * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH - * - * This file is part of the Restate SDK for Node.js/TypeScript, - * which is released under the MIT license. - * - * You can find a copy of the license in file LICENSE in the root - * directory of this repository or package, or at - * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE - */ -export * from "./common_api.js"; +import { CancelledError, RestateError, RetryableError, TerminalError, TimeoutError } from "./types/errors.js"; +import { Opts, SendOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js"; +import { InvocationIdParser, RestatePromise } from "./context.js"; +import { CombineablePromise, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde } from "./common_api.js"; import { FetchEndpointImpl } from "./endpoint/fetch_endpoint.js"; import { withOptions } from "./endpoint/withOptions.js"; import { cloudflareWorkersBundlerPatch } from "./endpoint/handlers/vm/sdk_shared_core_wasm_bindings.js"; + +//#region src/fetch.ts /** - * Create a new {@link RestateEndpoint} in request response protocol mode. - * Bidirectional mode (must be served over http2) can be enabled with .enableHttp2() - * @deprecated Please use {@link createEndpointHandler} - */ -export function endpoint() { +* Create a new {@link RestateEndpoint} in request response protocol mode. +* Bidirectional mode (must be served over http2) can be enabled with .enableHttp2() +* @deprecated Please use {@link createEndpointHandler} +*/ +function endpoint() { cloudflareWorkersBundlerPatch(); - return new FetchEndpointImpl("REQUEST_RESPONSE"); + return new FetchEndpointImpl("REQUEST_RESPONSE"); } /** @@ -43,7 +38,7 @@ export function endpoint() { * export const handler = createEndpointHandler({ services: [myService], bidirectional: true }) * */ -export function createEndpointHandler(options) { +function createEndpointHandler(options) { cloudflareWorkersBundlerPatch(); return withOptions( new FetchEndpointImpl( @@ -53,4 +48,6 @@ export function createEndpointHandler(options) { ).handler().fetch; } +//#endregion +export { CancelledError, CombineablePromise, InvocationIdParser, Opts, RestateError, RestatePromise, RetryableError, SendOpts, TerminalError, TimeoutError, createEndpointHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, endpoint, handlers, object, rpc, serde, service, workflow }; //# sourceMappingURL=fetch.js.map From 1eefe930b62005910c9c41ed3655fbd5f2ad619f Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 17:55:45 +0000 Subject: [PATCH 05/10] update tsdown config Signed-off-by: Nik Nasr --- packages/restate-sdk-testcontainers/tsdown.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/restate-sdk-testcontainers/tsdown.config.ts b/packages/restate-sdk-testcontainers/tsdown.config.ts index 8ac3a440..cca41a8b 100644 --- a/packages/restate-sdk-testcontainers/tsdown.config.ts +++ b/packages/restate-sdk-testcontainers/tsdown.config.ts @@ -7,4 +7,5 @@ export default defineConfig({ format: ["esm", "cjs"], dts: true, ignoreWatch: ["dist", ".turbo", "*.tsbuildinfo"], + external: ["http2"], }); From 63ed0bc8fe2c0cf1882430f67827420618529aa6 Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 18:14:10 +0000 Subject: [PATCH 06/10] remove gen:version Signed-off-by: Nik Nasr --- packages/restate-sdk/package.json | 3 --- packages/restate-sdk/scripts/version.mjs | 32 ------------------------ packages/restate-sdk/src/user_agent.ts | 4 +-- packages/restate-sdk/tsconfig.json | 2 +- 4 files changed, 3 insertions(+), 38 deletions(-) delete mode 100644 packages/restate-sdk/scripts/version.mjs diff --git a/packages/restate-sdk/package.json b/packages/restate-sdk/package.json index daa923ed..965fd64e 100644 --- a/packages/restate-sdk/package.json +++ b/packages/restate-sdk/package.json @@ -55,10 +55,7 @@ ], "scripts": { "api:extract": "api-extractor run --local", - "gen:version": "node ./scripts/version.mjs", - "prebuild": "npm run gen:version", "build": "tsc --noEmit && tsdown", - "pretest": "npm run gen:version", "test": "vitest run --silent", "lint": "eslint --max-warnings=0 .", "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", diff --git a/packages/restate-sdk/scripts/version.mjs b/packages/restate-sdk/scripts/version.mjs deleted file mode 100644 index aa7d2d3e..00000000 --- a/packages/restate-sdk/scripts/version.mjs +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2023-2024 - Restate Software, Inc., Restate GmbH - * - * This file is part of the Restate SDK for Node.js/TypeScript, - * which is released under the MIT license. - * - * You can find a copy of the license in file LICENSE in the root - * directory of this repository or package, or at - * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE - */ - -// The following script injects the current version -// taken from package.json into a src/generated/version.ts -// file. - -import * as fs from "node:fs"; - -// -// compute the relative paths to the package root, which `npm run` always executes fro -// -const packageJsonPath = `./package.json`; -const targetDir = `./src/generated`; -const targetFile = `${targetDir}/version.ts`; - -// -// generate version.ts -// -const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8")); -const version = packageJson.version; -const versionFileContent = `export const SDK_VERSION = '${version}';\n`; -fs.mkdirSync(targetDir, { recursive: true }); -fs.writeFileSync(targetFile, versionFileContent); diff --git a/packages/restate-sdk/src/user_agent.ts b/packages/restate-sdk/src/user_agent.ts index b5f8c1cd..9c901881 100644 --- a/packages/restate-sdk/src/user_agent.ts +++ b/packages/restate-sdk/src/user_agent.ts @@ -9,6 +9,6 @@ * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE */ -import { SDK_VERSION } from "./generated/version.js"; +import pkg from "../package.json" with { type: "json" }; -export const X_RESTATE_SERVER = `restate-sdk-typescript/${SDK_VERSION}`; +export const X_RESTATE_SERVER = `restate-sdk-typescript/${pkg.version}`; diff --git a/packages/restate-sdk/tsconfig.json b/packages/restate-sdk/tsconfig.json index 4d8d0101..39da6a1e 100644 --- a/packages/restate-sdk/tsconfig.json +++ b/packages/restate-sdk/tsconfig.json @@ -4,6 +4,6 @@ "outDir": "./dist", "paths": {} }, - "include": ["src/**/*.ts", "src/**/*.js"], + "include": ["src/**/*.ts", "src/**/*.js", "./package.json"], "references": [{ "path": "../restate-sdk-core" }] } From d0d54f2a02b4a8d8c417db66b836c37068057115 Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 18:22:32 +0000 Subject: [PATCH 07/10] update prettier Signed-off-by: Nik Nasr --- package.json | 2 +- packages/restate-sdk/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a319afcf..4867e0ef 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "eslint-plugin-import": "^2.32.0", "eslint-plugin-require-extensions": "^0.1.3", "globals": "^16.4.0", - "prettier": "^2.8.4", + "prettier": "^3.6.2", "release-it": "^17.11.0", "tsdown": "^0.16.0", "turbo": "^2.6.0", diff --git a/packages/restate-sdk/package.json b/packages/restate-sdk/package.json index 965fd64e..750c6afa 100644 --- a/packages/restate-sdk/package.json +++ b/packages/restate-sdk/package.json @@ -61,7 +61,7 @@ "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.+(js|ts|json)\"", "format-check": "prettier --ignore-path ../../.prettierignore --check \"**/*.+(js|ts|json)\"", "attw": "attw --pack", - "verify": "npm run format-check && npm run gen:version && npm run lint && npm run test && npm run build && npm run attw && npm run api:extract", + "verify": "npm run format-check && npm run lint && npm run test && npm run build && npm run attw && npm run api:extract", "release": "release-it" }, "dependencies": { From ddabc0551cd05c129ba025bbbef80fb7862b4169 Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 18:22:40 +0000 Subject: [PATCH 08/10] update prettier Signed-off-by: Nik Nasr --- package-lock.json | 54 ++++++----------------------------------------- 1 file changed, 6 insertions(+), 48 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4bbe1291..82684ce6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "eslint-plugin-import": "^2.32.0", "eslint-plugin-require-extensions": "^0.1.3", "globals": "^16.4.0", - "prettier": "^2.8.4", + "prettier": "^3.6.2", "release-it": "^17.11.0", "tsdown": "^0.16.0", "turbo": "^2.6.0", @@ -11311,16 +11311,16 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -15574,20 +15574,6 @@ "typescript": "^5.4.5" } }, - "templates/bun/node_modules/prettier": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "templates/cloudflare": { "name": "restate-cloudflare-worker-template", "version": "0.0.1", @@ -15604,20 +15590,6 @@ "wrangler": "^4.38.0" } }, - "templates/cloudflare/node_modules/prettier": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "templates/deno": { "name": "restate-deno-template", "version": "0.0.1" @@ -15664,20 +15636,6 @@ "node": ">=0.3.1" } }, - "templates/lambda/node_modules/prettier": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "templates/lambda/node_modules/ts-node": { "version": "10.9.2", "dev": true, From afb8b50c1d04263b5dcf709449078a0748529f56 Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Fri, 7 Nov 2025 18:27:22 +0000 Subject: [PATCH 09/10] update prettier Signed-off-by: Nik Nasr --- .prettierrc | 3 + packages/restate-sdk-core/src/core.ts | 66 ++++++++----------- .../restate-sdk/src/endpoint/components.ts | 8 +-- .../src/endpoint/handlers/generic.ts | 8 +-- packages/restate-sdk/src/types/rpc.ts | 36 +++++----- 5 files changed, 57 insertions(+), 64 deletions(-) create mode 100644 .prettierrc diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..757fd64c --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "trailingComma": "es5" +} diff --git a/packages/restate-sdk-core/src/core.ts b/packages/restate-sdk-core/src/core.ts index ab1379ce..8fbb5be2 100644 --- a/packages/restate-sdk-core/src/core.ts +++ b/packages/restate-sdk-core/src/core.ts @@ -29,8 +29,8 @@ export interface RestateWorkflowContext export type ArgType = T extends (ctx: any) => any ? void : T extends (ctx: any, input: infer I) => any - ? I - : never; + ? I + : never; export type HandlerReturnType = T extends ( ctx: any, @@ -44,8 +44,8 @@ export type ServiceHandler = F extends ( ) => Promise ? F : F extends (ctx: C, input: any) => Promise - ? F - : (ctx: C, input?: any) => Promise; + ? F + : (ctx: C, input?: any) => Promise; /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ export type ServiceDefinition

= { @@ -53,23 +53,21 @@ export type ServiceDefinition

= { }; export type Service = M extends ServiceDefinition ? S : M; -export type ServiceDefinitionFrom = M extends ServiceDefinition< - string, - unknown -> - ? M - : ServiceDefinition; +export type ServiceDefinitionFrom = + M extends ServiceDefinition + ? M + : ServiceDefinition; // ----------- object ------------------------------------------------------- export type ObjectSharedHandler< F, - SC = RestateObjectSharedContext + SC = RestateObjectSharedContext, > = F extends (ctx: SC, param: any) => Promise ? F : F extends (ctx: SC) => Promise - ? F - : (ctx: SC, param?: any) => Promise; + ? F + : (ctx: SC, param?: any) => Promise; export type ObjectHandler = F extends ( ctx: C, @@ -77,38 +75,32 @@ export type ObjectHandler = F extends ( ) => Promise ? F : F extends (ctx: C) => Promise - ? F - : (ctx: C, param?: any) => Promise; + ? F + : (ctx: C, param?: any) => Promise; /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ export type VirtualObjectDefinition

= { name: P; }; -export type VirtualObject = M extends VirtualObjectDefinition< - string, - infer O -> - ? O - : M; +export type VirtualObject = + M extends VirtualObjectDefinition ? O : M; -export type VirtualObjectDefinitionFrom = M extends VirtualObjectDefinition< - string, - unknown -> - ? M - : VirtualObjectDefinition; +export type VirtualObjectDefinitionFrom = + M extends VirtualObjectDefinition + ? M + : VirtualObjectDefinition; // ----------- workflow ------------------------------------------------------- export type WorkflowSharedHandler< F, - SC = RestateWorkflowSharedContext + SC = RestateWorkflowSharedContext, > = F extends (ctx: SC, param: any) => Promise ? F : F extends (ctx: SC) => Promise - ? F - : (ctx: SC, param?: any) => Promise; + ? F + : (ctx: SC, param?: any) => Promise; export type WorkflowHandler = F extends ( ctx: C, @@ -116,8 +108,8 @@ export type WorkflowHandler = F extends ( ) => Promise ? F : F extends (ctx: C) => Promise - ? F - : (ctx: C, param?: any) => Promise; + ? F + : (ctx: C, param?: any) => Promise; /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ export type WorkflowDefinition

= { @@ -126,9 +118,7 @@ export type WorkflowDefinition

= { export type Workflow = M extends WorkflowDefinition ? W : M; -export type WorkflowDefinitionFrom = M extends WorkflowDefinition< - string, - unknown -> - ? M - : WorkflowDefinition; +export type WorkflowDefinitionFrom = + M extends WorkflowDefinition + ? M + : WorkflowDefinition; diff --git a/packages/restate-sdk/src/endpoint/components.ts b/packages/restate-sdk/src/endpoint/components.ts index 571ee29f..c61e983b 100644 --- a/packages/restate-sdk/src/endpoint/components.ts +++ b/packages/restate-sdk/src/endpoint/components.ts @@ -391,8 +391,8 @@ function commonServiceOptions( retryPolicyOnMaxAttempts: (options?.retryPolicy?.onMaxAttempts === "kill" ? "KILL" : options?.retryPolicy?.onMaxAttempts === "pause" - ? "PAUSE" - : undefined) as d.RetryPolicyOnMaxAttempts, + ? "PAUSE" + : undefined) as d.RetryPolicyOnMaxAttempts, }; } @@ -434,8 +434,8 @@ function commonHandlerOptions( retryPolicyOnMaxAttempts: (wrapper.retryPolicy?.onMaxAttempts === "kill" ? "KILL" : wrapper.retryPolicy?.onMaxAttempts === "pause" - ? "PAUSE" - : undefined) as d.RetryPolicyOnMaxAttempts1, + ? "PAUSE" + : undefined) as d.RetryPolicyOnMaxAttempts1, documentation: wrapper.description, metadata: wrapper.metadata, diff --git a/packages/restate-sdk/src/endpoint/handlers/generic.ts b/packages/restate-sdk/src/endpoint/handlers/generic.ts index fe1ed964..7ac13843 100644 --- a/packages/restate-sdk/src/endpoint/handlers/generic.ts +++ b/packages/restate-sdk/src/endpoint/handlers/generic.ts @@ -120,8 +120,8 @@ function invocationIdFromHeaders(headers: Headers) { typeof invocationIdHeader === "string" ? invocationIdHeader : Array.isArray(invocationIdHeader) - ? invocationIdHeader[0] ?? "unknown id" - : "unknown id"; + ? (invocationIdHeader[0] ?? "unknown id") + : "unknown id"; return invocationId; } @@ -656,8 +656,8 @@ export class GenericHandler implements RestateHandler { manifestVersion === 2 ? ENDPOINT_MANIFEST_V2 : manifestVersion === 3 - ? ENDPOINT_MANIFEST_V3 - : ENDPOINT_MANIFEST_V4, + ? ENDPOINT_MANIFEST_V3 + : ENDPOINT_MANIFEST_V4, "x-restate-server": X_RESTATE_SERVER, }, statusCode: 200, diff --git a/packages/restate-sdk/src/types/rpc.ts b/packages/restate-sdk/src/types/rpc.ts index a37c7b69..e46f746f 100644 --- a/packages/restate-sdk/src/types/rpc.ts +++ b/packages/restate-sdk/src/types/rpc.ts @@ -512,7 +512,7 @@ export namespace handlers { export function workflow< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( opts: WorkflowHandlerOpts, fn: (ctx: WorkflowContext, input: I) => Promise @@ -521,7 +521,7 @@ export namespace handlers { export function workflow< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( fn: (ctx: WorkflowContext, input: I) => Promise ): RemoveVoidArgument; @@ -554,7 +554,7 @@ export namespace handlers { export function shared< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( opts: WorkflowHandlerOpts, fn: (ctx: WorkflowSharedContext, input: I) => Promise @@ -572,7 +572,7 @@ export namespace handlers { export function shared< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( fn: (ctx: WorkflowSharedContext, input: I) => Promise ): RemoveVoidArgument; @@ -615,7 +615,7 @@ export namespace handlers { export function exclusive< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( opts: ObjectHandlerOpts, fn: (ctx: ObjectContext, input: I) => Promise @@ -636,7 +636,7 @@ export namespace handlers { export function exclusive< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( fn: (ctx: ObjectContext, input: I) => Promise ): RemoveVoidArgument; @@ -684,7 +684,7 @@ export namespace handlers { export function shared< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( opts: ObjectHandlerOpts, fn: (ctx: ObjectSharedContext, input: I) => Promise @@ -704,7 +704,7 @@ export namespace handlers { export function shared< O, I = void, - TState extends TypedState = UntypedState + TState extends TypedState = UntypedState, >( fn: (ctx: ObjectSharedContext, input: I) => Promise ): RemoveVoidArgument; @@ -970,10 +970,10 @@ export type ObjectOpts = { [K in keyof U]: U[K] extends ObjectHandler> ? U[K] : U[K] extends ObjectHandler> - ? U[K] - : - | ObjectHandler> - | ObjectHandler>; + ? U[K] + : + | ObjectHandler> + | ObjectHandler>; }; export type ObjectOptions = ServiceOptions & { @@ -1092,12 +1092,12 @@ export type WorkflowOpts = { | "workflowOutput" ? `${K} is a reserved keyword` : K extends "run" - ? U[K] extends WorkflowHandler> - ? U[K] - : "An handler named 'run' must take as a first argument a WorkflowContext, and must return a Promise" - : U[K] extends WorkflowSharedHandler> - ? U[K] - : "An handler other then 'run' must accept as a first argument a WorkflowSharedContext"; + ? U[K] extends WorkflowHandler> + ? U[K] + : "An handler named 'run' must take as a first argument a WorkflowContext, and must return a Promise" + : U[K] extends WorkflowSharedHandler> + ? U[K] + : "An handler other then 'run' must accept as a first argument a WorkflowSharedContext"; }; export type WorkflowOptions = ServiceOptions & { From 18b57f6b3b8184f7020e5947ab160e6a5555f0d4 Mon Sep 17 00:00:00 2001 From: Nik Nasr Date: Sat, 8 Nov 2025 15:13:35 +0000 Subject: [PATCH 10/10] uncomment patch Signed-off-by: Nik Nasr --- packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh b/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh index e78cfbb4..8e7ac3f7 100755 --- a/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh +++ b/packages/restate-sdk-cloudflare-workers/patch_sdk_cf_workers.sh @@ -11,7 +11,7 @@ cp -r ../restate-sdk/dist . cp patches/fetch.js dist/fetch.js # Copy vm -# rm -r dist/endpoint/handlers/vm +rm -r dist/endpoint/handlers/vm cp -r patches/vm dist/endpoint/handlers # Copy vm entrypoint