diff --git a/.github/workflows/release-js-package.yml b/.github/workflows/release-js-package.yml new file mode 100644 index 0000000..9da3a86 --- /dev/null +++ b/.github/workflows/release-js-package.yml @@ -0,0 +1,41 @@ +name: Release JS Packages + +on: + push: + branches: + - main + paths: + - "packages/sdk/**" # Trigger only changes in packages + +concurrency: ${{ github.workflow }}-${{ github.ref }} + +jobs: + release: + runs-on: ubuntu-latest + defaults: + run: + working-directory: packages/sdk + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20.x + + - name: Set up pnpm + uses: pnpm/action-setup@v4 + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Create Release Pull Request or Publish to npm + id: changesets + uses: changesets/action@v1 + with: + # builds packages and calls changeset release + publish: pnpm build + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 54f12e7..a4f940b 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "unsend", - "version": "1.4.1", + "version": "1.4.2", "description": "", "main": "./dist/index.js", "module": "./dist/index.mjs", @@ -14,7 +14,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "MIT", "devDependencies": { "@types/node": "^20.12.12", "@types/react": "^18.3.2", @@ -25,7 +25,7 @@ "typescript": "^5.4.5" }, "dependencies": { - "@react-email/render": "^0.0.14", + "@react-email/render": "^1.0.6", "react": "^18.3.1" } } \ No newline at end of file diff --git a/packages/sdk/src/email.ts b/packages/sdk/src/email.ts index edef510..24a9ce7 100644 --- a/packages/sdk/src/email.ts +++ b/packages/sdk/src/email.ts @@ -1,4 +1,4 @@ -import { renderAsync } from "@react-email/render"; +import { render } from "@react-email/render"; import * as React from "react"; import { Unsend } from "./unsend"; import { paths } from "../types/schema"; @@ -57,7 +57,7 @@ export class Emails { async create(payload: SendEmailPayload): Promise { if (payload.react) { - payload.html = await renderAsync(payload.react as React.ReactElement); + payload.html = await render(payload.react as React.ReactElement); delete payload.react; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6df8175..0e28aea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -470,8 +470,8 @@ importers: packages/sdk: dependencies: '@react-email/render': - specifier: ^0.0.14 - version: 0.0.14 + specifier: ^1.0.6 + version: 1.0.6(react-dom@18.2.0)(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -5967,12 +5967,15 @@ packages: resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} dev: false - /@react-email/render@0.0.14: - resolution: {integrity: sha512-vZD59BHp1HOatJAWydTOdgN8QbNgsjCOfmPcT9ShwisBIu3Rw8pvUVoWsrAqfHfzc4vcNTGnbt6/8mMa8LcsvQ==} + /@react-email/render@1.0.6(react-dom@18.2.0)(react@18.3.1): + resolution: {integrity: sha512-zNueW5Wn/4jNC1c5LFgXzbUdv5Lhms+FWjOvWAhal7gx5YVf0q6dPJ0dnR70+ifo59gcMLwCZEaTS9EEuUhKvQ==} engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^18.0 || ^19.0 || ^19.0.0-rc dependencies: html-to-text: 9.0.5 - js-beautify: 1.15.1 + prettier: 3.5.3 react: 18.3.1 react-dom: 18.2.0(react@18.3.1) react-promise-suspense: 0.3.4 @@ -14545,6 +14548,12 @@ packages: hasBin: true dev: true + /prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + engines: {node: '>=14'} + hasBin: true + dev: false + /pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'}