From 7aa4f0773e6333817471b9123cf93c8e1bd9b5f8 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 22 Nov 2024 05:15:57 -0800 Subject: [PATCH] feat: short description for each add-on (#299) * feat: short description for each add-on * add addon template * make description optional * Update packages/addons/lucia/index.ts Co-authored-by: Victor Zhivotikov * tweak separator * tweak separator * changeset --------- Co-authored-by: Manuel Serret Co-authored-by: Victor Zhivotikov Co-authored-by: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> --- .changeset/silver-pianos-nail.md | 5 +++++ packages/addons/drizzle/index.ts | 1 + packages/addons/eslint/index.ts | 1 + packages/addons/lucia/index.ts | 1 + packages/addons/mdsvex/index.ts | 1 + packages/addons/paraglide/index.ts | 1 + packages/addons/playwright/index.ts | 1 + packages/addons/prettier/index.ts | 1 + packages/addons/storybook/index.ts | 1 + packages/addons/tailwindcss/index.ts | 1 + packages/addons/vitest-addon/index.ts | 1 + packages/cli/commands/add/index.ts | 6 +++++- packages/core/addon/config.ts | 1 + 13 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 .changeset/silver-pianos-nail.md diff --git a/.changeset/silver-pianos-nail.md b/.changeset/silver-pianos-nail.md new file mode 100644 index 00000000..25aa27f6 --- /dev/null +++ b/.changeset/silver-pianos-nail.md @@ -0,0 +1,5 @@ +--- +'sv': patch +--- + +feat: add short descriptions for each add-on diff --git a/packages/addons/drizzle/index.ts b/packages/addons/drizzle/index.ts index 4b953805..626efaaa 100644 --- a/packages/addons/drizzle/index.ts +++ b/packages/addons/drizzle/index.ts @@ -65,6 +65,7 @@ const options = defineAddonOptions({ export default defineAddon({ id: 'drizzle', + shortDescription: 'database orm', homepage: 'https://orm.drizzle.team', options, setup: ({ kit, unsupported }) => { diff --git a/packages/addons/eslint/index.ts b/packages/addons/eslint/index.ts index c72bf820..c6713c0c 100644 --- a/packages/addons/eslint/index.ts +++ b/packages/addons/eslint/index.ts @@ -14,6 +14,7 @@ import { parseJson, parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ id: 'eslint', + shortDescription: 'linter', homepage: 'https://eslint.org', options: {}, run: ({ sv, typescript, dependencyVersion }) => { diff --git a/packages/addons/lucia/index.ts b/packages/addons/lucia/index.ts index b5d8feb7..ba5e19d6 100644 --- a/packages/addons/lucia/index.ts +++ b/packages/addons/lucia/index.ts @@ -34,6 +34,7 @@ const options = defineAddonOptions({ export default defineAddon({ id: 'lucia', + shortDescription: 'auth guide', homepage: 'https://lucia-auth.com', options, setup: ({ kit, dependencyVersion, unsupported, dependsOn }) => { diff --git a/packages/addons/mdsvex/index.ts b/packages/addons/mdsvex/index.ts index 884952c6..c2034ab5 100644 --- a/packages/addons/mdsvex/index.ts +++ b/packages/addons/mdsvex/index.ts @@ -4,6 +4,7 @@ import { parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ id: 'mdsvex', + shortDescription: 'svelte + markdown', homepage: 'https://mdsvex.pngwn.io', options: {}, run: ({ sv }) => { diff --git a/packages/addons/paraglide/index.ts b/packages/addons/paraglide/index.ts index 6b9cae42..7c475471 100644 --- a/packages/addons/paraglide/index.ts +++ b/packages/addons/paraglide/index.ts @@ -61,6 +61,7 @@ const options = defineAddonOptions({ export default defineAddon({ id: 'paraglide', + shortDescription: 'i18n', homepage: 'https://inlang.com', options, setup: ({ kit, unsupported }) => { diff --git a/packages/addons/playwright/index.ts b/packages/addons/playwright/index.ts index 1b69183a..f299119e 100644 --- a/packages/addons/playwright/index.ts +++ b/packages/addons/playwright/index.ts @@ -4,6 +4,7 @@ import { parseJson, parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ id: 'playwright', + shortDescription: 'browser testing', homepage: 'https://playwright.dev', options: {}, run: ({ sv, typescript }) => { diff --git a/packages/addons/prettier/index.ts b/packages/addons/prettier/index.ts index 04a74602..d0b4e25b 100644 --- a/packages/addons/prettier/index.ts +++ b/packages/addons/prettier/index.ts @@ -4,6 +4,7 @@ import { parseJson } from '@sveltejs/cli-core/parsers'; export default defineAddon({ id: 'prettier', + shortDescription: 'formatter', homepage: 'https://prettier.io', options: {}, run: ({ sv, dependencyVersion }) => { diff --git a/packages/addons/storybook/index.ts b/packages/addons/storybook/index.ts index f77a1c96..82edb41f 100644 --- a/packages/addons/storybook/index.ts +++ b/packages/addons/storybook/index.ts @@ -2,6 +2,7 @@ import { defineAddon } from '@sveltejs/cli-core'; export default defineAddon({ id: 'storybook', + shortDescription: 'frontend workshop', homepage: 'https://storybook.js.org', options: {}, run: async ({ sv }) => { diff --git a/packages/addons/tailwindcss/index.ts b/packages/addons/tailwindcss/index.ts index 1820b469..ca397670 100644 --- a/packages/addons/tailwindcss/index.ts +++ b/packages/addons/tailwindcss/index.ts @@ -50,6 +50,7 @@ const options = defineAddonOptions({ export default defineAddon({ id: 'tailwindcss', alias: 'tailwind', + shortDescription: 'css framework', homepage: 'https://tailwindcss.com', options, run: ({ sv, options, typescript, kit, dependencyVersion }) => { diff --git a/packages/addons/vitest-addon/index.ts b/packages/addons/vitest-addon/index.ts index 88059301..26909799 100644 --- a/packages/addons/vitest-addon/index.ts +++ b/packages/addons/vitest-addon/index.ts @@ -4,6 +4,7 @@ import { parseJson, parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ id: 'vitest', + shortDescription: 'unit testing', homepage: 'https://vitest.dev', options: {}, run: ({ sv, typescript }) => { diff --git a/packages/cli/commands/add/index.ts b/packages/cli/commands/add/index.ts index 9d37679a..b0c8ef00 100644 --- a/packages/cli/commands/add/index.ts +++ b/packages/cli/commands/add/index.ts @@ -280,7 +280,11 @@ export async function runAddCommand( const addonOptions = officialAddons // only display supported addons relative to the current environment .filter(({ id }) => addonSetupResults[id].unsupported.length === 0) - .map(({ id, homepage }) => ({ label: id, value: id, hint: homepage })); + .map(({ id, homepage, shortDescription }) => ({ + label: id, + value: id, + hint: `${shortDescription} - ${homepage}` + })); const selected = await p.multiselect({ message: `What would you like to add to your project? ${pc.dim('(use arrow keys / space bar)')}`, diff --git a/packages/core/addon/config.ts b/packages/core/addon/config.ts index 85c6ba0f..9890046f 100644 --- a/packages/core/addon/config.ts +++ b/packages/core/addon/config.ts @@ -29,6 +29,7 @@ export type SvApi = { export type Addon = { id: string; alias?: string; + shortDescription?: string; homepage?: string; options: Args; setup?: (