From ae349ed6df892c1eaeb7a38988eaedb4a699a18d Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Wed, 19 Jul 2023 20:02:24 +0100 Subject: [PATCH 1/7] feat: Starter Template function --- starter-template/.gitignore | 130 +++++++++++++++++++++++++++++ starter-template/README.md | 34 ++++++++ starter-template/package-lock.json | 114 +++++++++++++++++++++++++ starter-template/package.json | 10 +++ starter-template/src/main.js | 33 ++++++++ 5 files changed, 321 insertions(+) create mode 100644 starter-template/.gitignore create mode 100644 starter-template/README.md create mode 100644 starter-template/package-lock.json create mode 100644 starter-template/package.json create mode 100644 starter-template/src/main.js diff --git a/starter-template/.gitignore b/starter-template/.gitignore new file mode 100644 index 00000000..6a7d6d8e --- /dev/null +++ b/starter-template/.gitignore @@ -0,0 +1,130 @@ +# 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 +.cache + +# 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.* \ No newline at end of file diff --git a/starter-template/README.md b/starter-template/README.md new file mode 100644 index 00000000..5af3e5da --- /dev/null +++ b/starter-template/README.md @@ -0,0 +1,34 @@ +# ⚡ Starter Function + +A simple starter function. Edit `src/index.js` 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" +} +``` diff --git a/starter-template/package-lock.json b/starter-template/package-lock.json new file mode 100644 index 00000000..7e431ad2 --- /dev/null +++ b/starter-template/package-lock.json @@ -0,0 +1,114 @@ +{ + "name": "starter-template", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "starter-template", + "version": "1.0.0", + "dependencies": { + "node-appwrite": "^9.0.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-appwrite": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/node-appwrite/-/node-appwrite-9.0.0.tgz", + "integrity": "sha512-iTcHbuaJfr6bP/HFkRVV+FcaumKkbINqZyypQdl+tYxv6Dx0bkB/YKUXGYfTkgP18TLPWQQB++OGQhi98dlo2w==", + "dependencies": { + "axios": "^1.3.6", + "form-data": "^4.0.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + } +} diff --git a/starter-template/package.json b/starter-template/package.json new file mode 100644 index 00000000..f0f434e4 --- /dev/null +++ b/starter-template/package.json @@ -0,0 +1,10 @@ +{ + "name": "starter-template", + "version": "1.0.0", + "description": "", + "main": "src/main.js", + "type": "module", + "dependencies": { + "node-appwrite": "^9.0.0" + } +} diff --git a/starter-template/src/main.js b/starter-template/src/main.js new file mode 100644 index 00000000..13de60f5 --- /dev/null +++ b/starter-template/src/main.js @@ -0,0 +1,33 @@ +import { Client } from "node-appwrite"; + +// This is your Appwrite function +// It's executed each time we get a request +export default async ({ req, res, log, error }) => { + // Why not try the Appwrite SDK? + // + // const client = new Client() + // .setEndpoint(process.env.APPWRITE_ENDPOINT) + // .setProject(process.env.APPWRITE_PROJECT_ID) + // .setKey(process.env.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 f20a57b404d11698b14dae964a204ea20cad1645 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:09:35 +0100 Subject: [PATCH 2/7] chore: matej suggestion --- starter-template/README.md | 2 +- starter-template/src/main.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/starter-template/README.md b/starter-template/README.md index 5af3e5da..eb3aaabe 100644 --- a/starter-template/README.md +++ b/starter-template/README.md @@ -1,6 +1,6 @@ # ⚡ Starter Function -A simple starter function. Edit `src/index.js` to get started and create something awesome! 🚀 +A simple starter function. Edit `src/main.js` to get started and create something awesome! 🚀 ## 🧰 Usage diff --git a/starter-template/src/main.js b/starter-template/src/main.js index 13de60f5..c92f3018 100644 --- a/starter-template/src/main.js +++ b/starter-template/src/main.js @@ -6,7 +6,6 @@ export default async ({ req, res, log, error }) => { // Why not try the Appwrite SDK? // // const client = new Client() - // .setEndpoint(process.env.APPWRITE_ENDPOINT) // .setProject(process.env.APPWRITE_PROJECT_ID) // .setKey(process.env.APPWRITE_API_KEY); From 780867dd169d664b49cd5b2b97f6436799128fec Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:33:09 +0100 Subject: [PATCH 3/7] chore: change structure --- {starter-template => node/starter-template}/.gitignore | 0 {starter-template => node/starter-template}/README.md | 0 {starter-template => node/starter-template}/package-lock.json | 0 {starter-template => node/starter-template}/package.json | 0 {starter-template => node/starter-template}/src/main.js | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename {starter-template => node/starter-template}/.gitignore (100%) rename {starter-template => node/starter-template}/README.md (100%) rename {starter-template => node/starter-template}/package-lock.json (100%) rename {starter-template => node/starter-template}/package.json (100%) rename {starter-template => node/starter-template}/src/main.js (100%) diff --git a/starter-template/.gitignore b/node/starter-template/.gitignore similarity index 100% rename from starter-template/.gitignore rename to node/starter-template/.gitignore diff --git a/starter-template/README.md b/node/starter-template/README.md similarity index 100% rename from starter-template/README.md rename to node/starter-template/README.md diff --git a/starter-template/package-lock.json b/node/starter-template/package-lock.json similarity index 100% rename from starter-template/package-lock.json rename to node/starter-template/package-lock.json diff --git a/starter-template/package.json b/node/starter-template/package.json similarity index 100% rename from starter-template/package.json rename to node/starter-template/package.json diff --git a/starter-template/src/main.js b/node/starter-template/src/main.js similarity index 100% rename from starter-template/src/main.js rename to node/starter-template/src/main.js From 60e57fb25c01b5be3f2399ea651cf7e814fc5c22 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 20 Jul 2023 11:12:37 +0100 Subject: [PATCH 4/7] chore: setEndpoint --- node/starter-template/src/main.js | 1 + 1 file changed, 1 insertion(+) diff --git a/node/starter-template/src/main.js b/node/starter-template/src/main.js index c92f3018..9dc2e143 100644 --- a/node/starter-template/src/main.js +++ b/node/starter-template/src/main.js @@ -6,6 +6,7 @@ export default async ({ req, res, log, error }) => { // Why not try the Appwrite SDK? // // const client = new Client() + // .setEndpoint("https://cloud.appwrite.io/v1") // .setProject(process.env.APPWRITE_PROJECT_ID) // .setKey(process.env.APPWRITE_API_KEY); From 6ee035613770339e15d1c95bac3831800ba5089f Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:01:30 +0100 Subject: [PATCH 5/7] feat: add prettier --- node/starter-template/package-lock.json | 18 ++++++++++++++++++ node/starter-template/package.json | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/node/starter-template/package-lock.json b/node/starter-template/package-lock.json index 7e431ad2..0d053f59 100644 --- a/node/starter-template/package-lock.json +++ b/node/starter-template/package-lock.json @@ -9,6 +9,9 @@ "version": "1.0.0", "dependencies": { "node-appwrite": "^9.0.0" + }, + "devDependencies": { + "prettier": "^3.0.0" } }, "node_modules/asynckit": { @@ -105,6 +108,21 @@ "form-data": "^4.0.0" } }, + "node_modules/prettier": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", diff --git a/node/starter-template/package.json b/node/starter-template/package.json index f0f434e4..c7a0987d 100644 --- a/node/starter-template/package.json +++ b/node/starter-template/package.json @@ -4,7 +4,13 @@ "description": "", "main": "src/main.js", "type": "module", + "scripts": { + "format": "prettier --write ." + }, "dependencies": { "node-appwrite": "^9.0.0" + }, + "devDependencies": { + "prettier": "^3.0.0" } } From 5e4340be676d51ffc0bf5ae830774a99d7623e41 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:02:26 +0100 Subject: [PATCH 6/7] chore: add prettierrc --- node/starter-template/.prettierrc.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 node/starter-template/.prettierrc.json diff --git a/node/starter-template/.prettierrc.json b/node/starter-template/.prettierrc.json new file mode 100644 index 00000000..0a725205 --- /dev/null +++ b/node/starter-template/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "singleQuote": true +} From 160a5a2ab61778b08b17986fb8f9fa3069ef60c2 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:04:19 +0100 Subject: [PATCH 7/7] chore: npm run format --- node/starter-template/src/main.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/node/starter-template/src/main.js b/node/starter-template/src/main.js index 9dc2e143..9c6f0736 100644 --- a/node/starter-template/src/main.js +++ b/node/starter-template/src/main.js @@ -1,4 +1,4 @@ -import { Client } from "node-appwrite"; +import { Client } from 'node-appwrite'; // This is your Appwrite function // It's executed each time we get a request @@ -6,28 +6,28 @@ export default async ({ req, res, log, error }) => { // Why not try the Appwrite SDK? // // const client = new Client() - // .setEndpoint("https://cloud.appwrite.io/v1") + // .setEndpoint('https://cloud.appwrite.io/v1') // .setProject(process.env.APPWRITE_PROJECT_ID) // .setKey(process.env.APPWRITE_API_KEY); // You can log messages to the console - log("Hello, Logs! 👋"); + log('Hello, Logs! 👋'); // If something goes wrong, log an error - error("Hello, Errors! ⛔"); + error('Hello, Errors! ⛔'); // The `req` object contains the request data - if (req.method === "GET") { + 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! 🌎"); + 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", + motto: 'Build Fast. Scale Big. All in One Place.', + learn: 'https://appwrite.io/docs', + connect: 'https://appwrite.io/discord', + getInspired: 'https://builtwith.appwrite.io', }); };