From e93a5a75f89a66daaacc060d392ac64fc4e4df2c Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 11 Sep 2023 17:03:54 +0200 Subject: [PATCH 1/6] fix: (WIP) function templates rtuntimes --- src/lib/stores/marketplace.ts | 60 +++++++++---------- src/lib/wizards/functions/cover.svelte | 28 +++++---- .../wizards/functions/createTemplate.svelte | 4 +- .../steps/templateConfiguration.svelte | 13 ++-- src/lib/wizards/functions/store.ts | 1 + 5 files changed, 54 insertions(+), 52 deletions(-) diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index 5c95eb771a..2826cf3db2 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -12,31 +12,31 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Starter'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/starter' }, { - name: 'php-8.0', + name: 'php', commands: 'composer install', entrypoint: 'src/index.php', providerRootDirectory: 'php/starter' }, { - name: 'ruby-3.0', + name: 'ruby', commands: 'bundle install', entrypoint: 'lib/main.rb', providerRootDirectory: 'ruby/starter' }, { - name: 'python-3.9', + name: 'python', commands: 'pip install -r requirements.txt', entrypoint: 'src/main.py', providerRootDirectory: 'python/starter' }, { - name: 'dart-2.17', + name: 'dart', commands: 'dart pub get', entrypoint: 'lib/main.dart', providerRootDirectory: 'dart/starter' @@ -70,25 +70,25 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['AI'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/prompt-chatgpt' }, { - name: 'python-3.9', + name: 'python', commands: 'pip install -r requirements.txt', entrypoint: 'src/main.py', providerRootDirectory: 'python/prompt_chatgpt' }, { - name: 'php-8.0', + name: 'php', commands: 'composer install', entrypoint: 'src/index.php', providerRootDirectory: 'php/prompt-chatgpt' }, { - name: 'dart-2.17', + name: 'dart', commands: 'dart pub get', entrypoint: 'lib/main.dart', providerRootDirectory: 'dart/prompt_chatgpt' @@ -130,13 +130,13 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Messaging'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install && npm run setup', entrypoint: 'src/main.js', providerRootDirectory: 'node/discord-command-bot' }, { - name: 'python-3.9', + name: 'python', commands: 'pip install -r requirements.txt && python src/setup.py', entrypoint: 'src/main.py', providerRootDirectory: 'python/discord_command_bot' @@ -186,7 +186,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['AI'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/analyze-with-perspectiveapi' @@ -221,19 +221,19 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['AI'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/censor-with-redact' }, { - name: 'python-3.9', + name: 'python', commands: 'pip install -r requirements.txt', entrypoint: 'src/main.py', providerRootDirectory: 'python/censor_with_redact' }, { - name: 'dart-2.17', + name: 'dart', commands: 'dart pub get', entrypoint: 'lib/main.dart', providerRootDirectory: 'dart/censor_with_redact' @@ -267,7 +267,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Utilities'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/generate-pdf' @@ -293,7 +293,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Dev Tools'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/github-issue-bot' @@ -335,7 +335,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Utilities'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/url-shortener' @@ -401,19 +401,19 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Databases'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/sync-with-algolia' }, { - name: 'python-3.9', + name: 'python', commands: 'pip install -r requirements.txt', entrypoint: 'src/main.py', providerRootDirectory: 'python/sync_with_algolia' }, { - name: 'php-8.0', + name: 'php', commands: 'composer install', entrypoint: 'src/index.php', providerRootDirectory: 'php/sync-with-algolia' @@ -490,7 +490,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Databases'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/sync-with-meilisearch' @@ -574,7 +574,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Messaging'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/whatsapp-with-vonage' @@ -629,7 +629,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Messaging'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/push-notification-with-fcm' @@ -684,19 +684,19 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Utilities'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/email-contact-form' }, { - name: 'python-3.9', + name: 'python', commands: 'pip install -r requirements.txt', entrypoint: 'src/main.py', providerRootDirectory: 'python/email_contact_form' }, { - name: 'php-8.0', + name: 'php', commands: 'composer install', entrypoint: 'src/index.php', providerRootDirectory: 'php/email-contact-form' @@ -766,7 +766,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Utilities'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install', entrypoint: 'src/main.js', providerRootDirectory: 'node/subscriptions-with-stripe' @@ -822,7 +822,7 @@ export const marketplace: MarketplaceTemplate[] = [ usecases: ['Utilities'], runtimes: [ { - name: 'node-18.0', + name: 'node', commands: 'npm install && npm run setup', entrypoint: 'src/main.js', providerRootDirectory: 'node/payments-with-stripe' @@ -932,7 +932,7 @@ Template: "timeout": 15, "runtimes": [ { - "name": "node-18", + "name": "node", "entrypoint": "src/main.js", "commands": "npm install" } diff --git a/src/lib/wizards/functions/cover.svelte b/src/lib/wizards/functions/cover.svelte index 189ed47d27..dc5afc37c2 100644 --- a/src/lib/wizards/functions/cover.svelte +++ b/src/lib/wizards/functions/cover.svelte @@ -1,20 +1,21 @@ @@ -54,7 +54,6 @@ (); export const templateConfig = writable<{ $id: string; name: string; + language: string; runtime: string; variables: { [key: string]: unknown }; repositoryBehaviour: 'new' | 'existing'; From ac2386691612d5308637611a38b9c21d88d8fa69 Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 12 Sep 2023 10:51:03 +0200 Subject: [PATCH 2/6] fix: cover function showed runtimes --- src/lib/wizards/functions/cover.svelte | 6 +----- .../functions/steps/templateConfiguration.svelte | 14 ++++++++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/lib/wizards/functions/cover.svelte b/src/lib/wizards/functions/cover.svelte index dc5afc37c2..502cbf0087 100644 --- a/src/lib/wizards/functions/cover.svelte +++ b/src/lib/wizards/functions/cover.svelte @@ -7,16 +7,12 @@ variables[variable.name] = variable.value ?? ''; }); - if (!language) { - language = template.runtimes[0].name; - } - templateStore.set(template); templateConfig.set({ $id: null, + name: template.name, language, runtime: null, - name: template.name, variables, repositoryBehaviour: 'new', repositoryName: template.id, diff --git a/src/lib/wizards/functions/steps/templateConfiguration.svelte b/src/lib/wizards/functions/steps/templateConfiguration.svelte index 78b2fa17ef..e47021bf1b 100644 --- a/src/lib/wizards/functions/steps/templateConfiguration.svelte +++ b/src/lib/wizards/functions/steps/templateConfiguration.svelte @@ -15,16 +15,22 @@ } async function loadRuntimes() { - const allowedRuntimes = (await $runtimesList).runtimes.filter((runtime) => - runtime.$id.includes($templateConfig.language) - ); + const allowedRuntimes = (await $runtimesList).runtimes.filter((runtime) => { + if ($templateConfig.language) { + return runtime.$id.includes($templateConfig.language); + } else { + return $template.runtimes.some((templateRuntime) => + runtime.$id.includes(templateRuntime.name) + ); + } + }); const options = allowedRuntimes .map((runtime) => ({ label: `${runtime.name} - ${runtime.version}`, value: runtime.$id })) .reverse(); - $templateConfig.runtime = options[0].value; + $templateConfig.runtime = options[0]?.value; return options; } From 3d32ff58c5570920ea69c86f2b6d14509f466d56 Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 12 Sep 2023 11:09:24 +0200 Subject: [PATCH 3/6] fix: templates page --- .../functions/templates/+page.svelte | 42 +++++-------------- .../template-[template]/+page.svelte | 2 +- 2 files changed, 11 insertions(+), 33 deletions(-) diff --git a/src/routes/console/project-[project]/functions/templates/+page.svelte b/src/routes/console/project-[project]/functions/templates/+page.svelte index 3e6c37fb44..fc9fdfcb0b 100644 --- a/src/routes/console/project-[project]/functions/templates/+page.svelte +++ b/src/routes/console/project-[project]/functions/templates/+page.svelte @@ -13,7 +13,6 @@ } from '$lib/components'; import { Button, InputSearch } from '$lib/elements/forms'; import { Container } from '$lib/layout'; - import { app } from '$lib/stores/app'; import { connectTemplate } from '$lib/wizards/functions/cover.svelte'; export let data; @@ -39,23 +38,6 @@ goto(target.toString()); } - function getIconFromRuntime(runtime: string) { - switch (true) { - case runtime.includes('node'): - return 'node'; - case runtime.includes('php'): - return 'php'; - case runtime.includes('ruby'): - return 'ruby'; - case runtime.includes('python'): - return 'python'; - case runtime.includes('dart'): - return 'dart'; - default: - return undefined; - } - } - function applySearch(event: CustomEvent) { const value = event.detail; const target = new URL($page.url); @@ -108,7 +90,6 @@ Runtime
    {#each [...data.runtimes] as runtime} - {@const icon = getIconFromRuntime(runtime)}
  • @@ -140,19 +121,20 @@ Have an idea for a function template? View our contribution guidelinescontribution guidelines.

    - {#if data.templates.length > 0} + {#if data?.templates?.length}
      {#each data.templates as template} {@const displayed = template.runtimes.slice(0, 2)} - {@const hidden = template.runtimes.slice(1, -1)} + {@const hidden = template.runtimes.slice(2)}
    • @@ -161,16 +143,12 @@
        {#each displayed as runtime} - {@const icon = getIconFromRuntime(runtime.name)} - {#if icon} + {#if runtime.name}
      • - +
      • {/if} diff --git a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte index 7a8809820b..78a6fa9bda 100644 --- a/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte +++ b/src/routes/console/project-[project]/functions/templates/template-[template]/+page.svelte @@ -52,7 +52,7 @@
        From 7044cbfd0d542a79a8765bbb4efbb2303fe49461 Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 12 Sep 2023 12:57:59 +0200 Subject: [PATCH 4/6] fix: can't disable smtp --- src/routes/console/project-[project]/settings/smtp/+page.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/settings/smtp/+page.svelte b/src/routes/console/project-[project]/settings/smtp/+page.svelte index cfe276fa43..b8254129c6 100644 --- a/src/routes/console/project-[project]/settings/smtp/+page.svelte +++ b/src/routes/console/project-[project]/settings/smtp/+page.svelte @@ -46,7 +46,7 @@ async function updateSmtp() { try { if (!enabled) { - enabled = undefined; + enabled = false; senderName = undefined; senderEmail = undefined; replyTo = undefined; From 13ca6d49a76f0085e64fd499e2e96040b8d8634d Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 12 Sep 2023 13:01:22 +0200 Subject: [PATCH 5/6] fix: naming --- src/lib/wizards/functions/cover.svelte | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/wizards/functions/cover.svelte b/src/lib/wizards/functions/cover.svelte index 502cbf0087..d84ee5b650 100644 --- a/src/lib/wizards/functions/cover.svelte +++ b/src/lib/wizards/functions/cover.svelte @@ -1,7 +1,10 @@