From 0a8ba4bbbc62836cff3b44e32967de5db5db26a2 Mon Sep 17 00:00:00 2001 From: wendrul Date: Thu, 25 Apr 2024 17:31:32 +0200 Subject: [PATCH] Add publish to jsr scripts --- typescript-client/build.jsr.sh | 17 +++++++++++++++++ typescript-client/jsr.json | 8 ++++++++ typescript-client/publish.jsr.sh | 16 ++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100755 typescript-client/build.jsr.sh create mode 100644 typescript-client/jsr.json create mode 100755 typescript-client/publish.jsr.sh diff --git a/typescript-client/build.jsr.sh b/typescript-client/build.jsr.sh new file mode 100755 index 0000000000..e9c0bd9829 --- /dev/null +++ b/typescript-client/build.jsr.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -eou pipefail +script_dirpath="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +rm -rf "${script_dirpath}/src" + +npx --yes @hey-api/openapi-ts --input "${script_dirpath}/../backend/windmill-api/openapi.yaml" --output "${script_dirpath}/src" --useOptions --schemas false + +# Add explicit type as it's missing in the client source code. This will be unnecessary in newer openapi-ts versions +sed -i 's/get \[Symbol\.toStringTag\]() {/get \[Symbol\.toStringTag\]() : string {/g' "${script_dirpath}/src/core/CancelablePromise.ts" + +cp "${script_dirpath}/client.ts" "${script_dirpath}/src/" +cp "${script_dirpath}/s3Types.ts" "${script_dirpath}/src/" +echo "" >> "${script_dirpath}/src/index.ts" +echo 'export type { S3Object, DenoS3LightClientSettings } from "./s3Types";' >> "${script_dirpath}/src/index.ts" +echo "" >> "${script_dirpath}/src/index.ts" +echo 'export { type Base64, setClient, getVariable, setVariable, getResource, setResource, getResumeUrls, setState, getState, getIdToken, denoS3LightClientSettings, loadS3FileStream, loadS3File, writeS3File, task, runScript, runScriptAsync, waitJob, getRootJobId, setFlowUserState, getFlowUserState } from "./client";' >> "${script_dirpath}/src/index.ts" diff --git a/typescript-client/jsr.json b/typescript-client/jsr.json new file mode 100644 index 0000000000..4fd78d4b34 --- /dev/null +++ b/typescript-client/jsr.json @@ -0,0 +1,8 @@ +{ + "name": "@windmill-labs/windmill", + "version": "1.0.0", + "exports": "./src/index.ts", + "publish": { + "exclude": ["!src"] + } +} diff --git a/typescript-client/publish.jsr.sh b/typescript-client/publish.jsr.sh new file mode 100755 index 0000000000..8b71e8adf7 --- /dev/null +++ b/typescript-client/publish.jsr.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -eou pipefail +script_dirpath="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +args=${1:-} + +rm -rf "${script_dirpath}/dist" + +${script_dirpath}/build.jsr.sh +rm "${script_dirpath}/client.ts" +rm "${script_dirpath}/s3Types.ts" +npm install +tsc +cp "${script_dirpath}/src/client.ts" ${script_dirpath} +cp "${script_dirpath}/src/s3Types.ts" ${script_dirpath} +npx jsr publish ${args}