From 13f16b6dbb6e1153077775e0dd9005c5790af956 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Thu, 23 Jan 2025 16:51:27 -0600 Subject: [PATCH] JMAP --- package.json | 1 + pnpm-lock.yaml | 56 ++++++++++++++++++++++++++-------------- src/pages/api/contact.ts | 16 +++++++++--- 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 3529170..e9ab61a 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "tailwindcss": "^3.0.24" }, "devDependencies": { + "@types/node": "^22.10.10", "daisyui": "^4.12.23" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80c2fef..0335bbd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,16 @@ importers: dependencies: '@astrojs/node': specifier: ^9.0.2 - version: 9.0.2(astro@5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0)) + version: 9.0.2(astro@5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0)) '@astrojs/solid-js': specifier: ^5.0.4 - version: 5.0.4(jiti@1.21.7)(solid-js@1.9.4)(yaml@2.7.0) + version: 5.0.4(@types/node@22.10.10)(jiti@1.21.7)(solid-js@1.9.4)(yaml@2.7.0) '@astrojs/tailwind': specifier: ^5.1.5 - version: 5.1.5(astro@5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0))(tailwindcss@3.4.17) + version: 5.1.5(astro@5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0))(tailwindcss@3.4.17) astro: specifier: ^5.1.8 - version: 5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0) + version: 5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0) solid-js: specifier: ^1.9.4 version: 1.9.4 @@ -27,6 +27,9 @@ importers: specifier: ^3.0.24 version: 3.4.17 devDependencies: + '@types/node': + specifier: ^22.10.10 + version: 22.10.10 daisyui: specifier: ^4.12.23 version: 4.12.23(postcss@8.5.1) @@ -613,6 +616,9 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + '@types/node@22.10.10': + resolution: {integrity: sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -1821,6 +1827,9 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} @@ -2105,9 +2114,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/node@9.0.2(astro@5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0))': + '@astrojs/node@9.0.2(astro@5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0))': dependencies: - astro: 5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0) + astro: 5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0) send: 1.1.0 server-destroy: 1.0.1 transitivePeerDependencies: @@ -2117,11 +2126,11 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/solid-js@5.0.4(jiti@1.21.7)(solid-js@1.9.4)(yaml@2.7.0)': + '@astrojs/solid-js@5.0.4(@types/node@22.10.10)(jiti@1.21.7)(solid-js@1.9.4)(yaml@2.7.0)': dependencies: solid-js: 1.9.4 - vite: 6.0.11(jiti@1.21.7)(yaml@2.7.0) - vite-plugin-solid: 2.11.0(solid-js@1.9.4)(vite@6.0.11(jiti@1.21.7)(yaml@2.7.0)) + vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0) + vite-plugin-solid: 2.11.0(solid-js@1.9.4)(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0)) transitivePeerDependencies: - '@testing-library/jest-dom' - '@types/node' @@ -2137,9 +2146,9 @@ snapshots: - tsx - yaml - '@astrojs/tailwind@5.1.5(astro@5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0))(tailwindcss@3.4.17)': + '@astrojs/tailwind@5.1.5(astro@5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0))(tailwindcss@3.4.17)': dependencies: - astro: 5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0) + astro: 5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0) autoprefixer: 10.4.20(postcss@8.5.1) postcss: 8.5.1 postcss-load-config: 4.0.2(postcss@8.5.1) @@ -2609,6 +2618,10 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/node@22.10.10': + dependencies: + undici-types: 6.20.0 + '@types/unist@3.0.3': {} '@ungap/structured-clone@1.2.1': {} @@ -2648,7 +2661,7 @@ snapshots: array-iterate@2.0.1: {} - astro@5.1.8(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0): + astro@5.1.8(@types/node@22.10.10)(jiti@1.21.7)(rollup@4.31.0)(typescript@5.7.3)(yaml@2.7.0): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.2 @@ -2700,8 +2713,8 @@ snapshots: unist-util-visit: 5.0.0 unstorage: 1.14.4 vfile: 6.0.3 - vite: 6.0.11(jiti@1.21.7)(yaml@2.7.0) - vitefu: 1.0.5(vite@6.0.11(jiti@1.21.7)(yaml@2.7.0)) + vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0) + vitefu: 1.0.5(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0)) which-pm: 3.0.0 xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 @@ -4179,6 +4192,8 @@ snapshots: uncrypto@0.1.3: {} + undici-types@6.20.0: {} + unenv@1.10.0: dependencies: consola: 3.4.0 @@ -4275,7 +4290,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-solid@2.11.0(solid-js@1.9.4)(vite@6.0.11(jiti@1.21.7)(yaml@2.7.0)): + vite-plugin-solid@2.11.0(solid-js@1.9.4)(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0)): dependencies: '@babel/core': 7.26.0 '@types/babel__core': 7.20.5 @@ -4283,24 +4298,25 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.4 solid-refresh: 0.6.3(solid-js@1.9.4) - vite: 6.0.11(jiti@1.21.7)(yaml@2.7.0) - vitefu: 1.0.5(vite@6.0.11(jiti@1.21.7)(yaml@2.7.0)) + vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0) + vitefu: 1.0.5(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0)) transitivePeerDependencies: - supports-color - vite@6.0.11(jiti@1.21.7)(yaml@2.7.0): + vite@6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0): dependencies: esbuild: 0.24.2 postcss: 8.5.1 rollup: 4.31.0 optionalDependencies: + '@types/node': 22.10.10 fsevents: 2.3.3 jiti: 1.21.7 yaml: 2.7.0 - vitefu@1.0.5(vite@6.0.11(jiti@1.21.7)(yaml@2.7.0)): + vitefu@1.0.5(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0)): optionalDependencies: - vite: 6.0.11(jiti@1.21.7)(yaml@2.7.0) + vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.7)(yaml@2.7.0) web-namespaces@2.0.1: {} diff --git a/src/pages/api/contact.ts b/src/pages/api/contact.ts index 0481846..425b8ab 100644 --- a/src/pages/api/contact.ts +++ b/src/pages/api/contact.ts @@ -9,10 +9,18 @@ const sendEmailViaJMAP = async ({ subject: string; message: string; }) => { - const accessToken = import.meta.env.JMAP_ACCESS_TOKEN; - const accountId = import.meta.env.JMAP_ACCOUNT_ID; - const fromEmail = import.meta.env.FROM_EMAIL; - const toEmail = import.meta.env.TO_EMAIL; + const accessToken = process.env.JMAP_ACCESS_TOKEN + ? process.env.JMAP_ACCESS_TOKEN + : import.meta.env.JMAP_ACCESS_TOKEN; + const accountId = process.env.JMAP_ACCOUNT_ID + ? process.env.JMAP_ACCOUNT_ID + : import.meta.env.JMAP_ACCOUNT_ID; + const fromEmail = process.env.FROM_EMAIL + ? process.env.FROM_EMAIL + : import.meta.env.FROM_EMAIL; + const toEmail = process.env.TO_EMAIL + ? process.env.TO_EMAIL + : import.meta.env.TO_EMAIL; const apiUrl = "https://api.fastmail.com/jmap/api/"; if (!accessToken || !accountId || !fromEmail || !toEmail) {