From 9410be1a32d5e1931c6edf3edd789a06fcf1a6bc Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Fri, 21 Jul 2023 15:52:59 +0100 Subject: [PATCH 1/2] feat: Deno starter --- .vscode/settings.json | 5 ++ deno/starter-template/.gitignore | 145 ++++++++++++++++++++++++++++++ deno/starter-template/README.md | 48 ++++++++++ deno/starter-template/src/main.ts | 33 +++++++ 4 files changed, 231 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 deno/starter-template/.gitignore create mode 100644 deno/starter-template/README.md create mode 100644 deno/starter-template/src/main.ts diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..4b924441 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "deno.enable": true, + "deno.unstable": true, + "deno.config": "deno/starter-template/" +} diff --git a/deno/starter-template/.gitignore b/deno/starter-template/.gitignore new file mode 100644 index 00000000..34d9775c --- /dev/null +++ b/deno/starter-template/.gitignore @@ -0,0 +1,145 @@ +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit + +# End of https://www.toptal.com/developers/gitignore/api/node + +# OS +## Mac +.DS_Store \ No newline at end of file diff --git a/deno/starter-template/README.md b/deno/starter-template/README.md new file mode 100644 index 00000000..2f32b124 --- /dev/null +++ b/deno/starter-template/README.md @@ -0,0 +1,48 @@ +# ⚡ Deno Starter Function + +A simple starter function. Edit `src/main.ts` to get started and create something awesome! 🚀 + +## 🧰 Usage + +### `GET` + +- Returns a "Hello, World!" message. + +**Response** + +Sample `200` Response: + +```text +Hello, World! 🌎 +``` + +### `POST`, `PUT`, `PATCH`, `DELETE` + +- Returns a "Learn More" JSON response. + +**Response** + +Sample `200` Response: + +```json +{ + "motto": "Build Fast. Scale Big. All in One Place.", + "learn": "https://appwrite.io/docs", + "connect": "https://appwrite.io/discord", + "getInspired": "https://builtwith.appwrite.io" +} +``` + +## ⚙️ Configuration + +| Setting | Value ----------- | +|-------------------|--------------------------| +| Runtime | Deno (1.35) | +| Entrypoint | `src/main.ts` | +| Build Commands | `deno cache src/main.ts` | +| Permissions | `any` | +| Timeout (Seconds) | 15 | + +## 🔒 Environment Variables + +No environment variables required. diff --git a/deno/starter-template/src/main.ts b/deno/starter-template/src/main.ts new file mode 100644 index 00000000..69275cde --- /dev/null +++ b/deno/starter-template/src/main.ts @@ -0,0 +1,33 @@ +import { Client } from "https://deno.land/x/appwrite@7.0.0/mod.ts"; + +// This is your Appwrite function +// It's executed each time we get a request +export default ({ req, res, log, error }: any) => { + // Why not try the Appwrite SDK? + // + // const client = new Client() + // .setEndpoint('https://cloud.appwrite.io/v1') + // .setProject(Deno.env.get("APPWRITE_PROJECT_ID")) + // .setKey(Deno.env.get("APPWRITE_API_KEY")); + + // You can log messages to the console + log("Hello, Logs! 👋"); + + // If something goes wrong, log an error + error("Hello, Errors! ⛔"); + + // The `req` object contains the request data + if (req.method === "GET") { + // Send a response with the res object helpers + // `res.send()` dispatches a string back to the client + return res.send("Hello, World! 🌎"); + } + + // `res.json()` is a handy helper for sending JSON + return res.json({ + motto: "Build Fast. Scale Big. All in One Place.", + learn: "https://appwrite.io/docs", + connect: "https://appwrite.io/discord", + getInspired: "https://builtwith.appwrite.io", + }); +}; From 4e19ec01068bc1db3b603104e9e968127f217160 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Fri, 21 Jul 2023 19:18:48 +0100 Subject: [PATCH 2/2] chore: remove .vscode --- .vscode/settings.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4b924441..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "deno.enable": true, - "deno.unstable": true, - "deno.config": "deno/starter-template/" -}