From 4bb9e9de536d16f493ba465fe2fc3826bfec3177 Mon Sep 17 00:00:00 2001 From: Arjun Raj Date: Mon, 18 Sep 2023 17:53:47 +0530 Subject: [PATCH 01/13] docs(www): update cli add options (#1484) --- apps/www/content/docs/cli.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/www/content/docs/cli.mdx b/apps/www/content/docs/cli.mdx index 31d344a0ab3..464a03c6a26 100644 --- a/apps/www/content/docs/cli.mdx +++ b/apps/www/content/docs/cli.mdx @@ -51,7 +51,8 @@ npx shadcn-ui@latest add [component] You will be presented with a list of components to choose from: ```txt -Which components would you like to add? › Space to select. Return to submit. +Which components would you like to add? › Space to select. A to toggle all. +Enter to submit. ◯ accordion ◯ alert From c9ca64d2b96b129aced6d5a7087ee0e7fbc378c9 Mon Sep 17 00:00:00 2001 From: MD <142647533+xbtmd@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:25:26 +0200 Subject: [PATCH 02/13] docs(www): update manual.mdx (#1471) Fix file name Co-authored-by: shadcn --- apps/www/content/docs/installation/manual.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/www/content/docs/installation/manual.mdx b/apps/www/content/docs/installation/manual.mdx index f5058a25980..efc5dd1fc7f 100644 --- a/apps/www/content/docs/installation/manual.mdx +++ b/apps/www/content/docs/installation/manual.mdx @@ -139,7 +139,7 @@ module.exports = { Add the following to your styles/globals.css file. You can learn more about using CSS variables for theming in the [theming section](/docs/theming). -```css title="styles.css" +```css title="globals.css" @tailwind base; @tailwind components; @tailwind utilities; From 7ce6c495bd7a9a1908abb3b2efbcb90b5f4a2064 Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Mon, 18 Sep 2023 05:31:21 -0700 Subject: [PATCH 03/13] fix(www): rename DataTableFacetedFilter interface (#1438) Co-authored-by: shadcn --- .../examples/tasks/components/data-table-faceted-filter.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/www/app/examples/tasks/components/data-table-faceted-filter.tsx b/apps/www/app/examples/tasks/components/data-table-faceted-filter.tsx index 105ca00497c..b1a975fd7a9 100644 --- a/apps/www/app/examples/tasks/components/data-table-faceted-filter.tsx +++ b/apps/www/app/examples/tasks/components/data-table-faceted-filter.tsx @@ -21,7 +21,7 @@ import { } from "@/registry/new-york/ui/popover" import { Separator } from "@/registry/new-york/ui/separator" -interface DataTableFacetedFilter { +interface DataTableFacetedFilterProps { column?: Column title?: string options: { @@ -35,7 +35,7 @@ export function DataTableFacetedFilter({ column, title, options, -}: DataTableFacetedFilter) { +}: DataTableFacetedFilterProps) { const facets = column?.getFacetedUniqueValues() const selectedValues = new Set(column?.getFilterValue() as string[]) From b838ffe8cc772dbe365caf04068a43c5192ef047 Mon Sep 17 00:00:00 2001 From: Abderrahim Guerfi <89612748+RahimGuerfi@users.noreply.github.com> Date: Mon, 18 Sep 2023 13:47:58 +0100 Subject: [PATCH 04/13] docs(www): add missing prop to ThemeProvider (#1447) Co-authored-by: shadcn --- apps/www/content/docs/dark-mode/next.mdx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/www/content/docs/dark-mode/next.mdx b/apps/www/content/docs/dark-mode/next.mdx index 84bccb97403..175014c4ec8 100644 --- a/apps/www/content/docs/dark-mode/next.mdx +++ b/apps/www/content/docs/dark-mode/next.mdx @@ -42,7 +42,12 @@ export default function RootLayout({ children }: RootLayoutProps) { - + {children} From ccb2d695a75cb50bfd86de5d723425a7c20d51a0 Mon Sep 17 00:00:00 2001 From: oasisy <65852944+yportfolio@users.noreply.github.com> Date: Mon, 18 Sep 2023 21:35:27 +0800 Subject: [PATCH 05/13] fix(www): enable input editing in the dialog demo (#1428) Co-authored-by: shadcn --- apps/www/registry/default/example/dialog-demo.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/www/registry/default/example/dialog-demo.tsx b/apps/www/registry/default/example/dialog-demo.tsx index 78de9069e57..31bde7637f3 100644 --- a/apps/www/registry/default/example/dialog-demo.tsx +++ b/apps/www/registry/default/example/dialog-demo.tsx @@ -29,13 +29,21 @@ export default function DialogDemo() { - +
- +
From ae845788f688d60f0e8ac020e16a4bd357978baf Mon Sep 17 00:00:00 2001 From: Santi Dalmasso <36210359+santidalmasso@users.noreply.github.com> Date: Tue, 19 Sep 2023 00:04:57 -0300 Subject: [PATCH 06/13] fix(cli): deduplicate classNames in applyColorMapping (#1089) * fix(cli): deduplicate classNames in applyColorMapping * refactor: simplify applyColorMapping return * chore: add changeset --------- Co-authored-by: shadcn --- .changeset/tricky-cooks-appear.md | 5 ++++ .../utils/transformers/transform-css-vars.ts | 18 +++++++-------- .../transform-css-vars.test.ts.snap | 8 +++++++ .../test/utils/apply-color-mapping.test.ts | 2 +- .../cli/test/utils/transform-css-vars.test.ts | 23 +++++++++++++++++++ 5 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 .changeset/tricky-cooks-appear.md diff --git a/.changeset/tricky-cooks-appear.md b/.changeset/tricky-cooks-appear.md new file mode 100644 index 00000000000..5f79140f328 --- /dev/null +++ b/.changeset/tricky-cooks-appear.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": patch +--- + +fix duplicate classnames diff --git a/packages/cli/src/utils/transformers/transform-css-vars.ts b/packages/cli/src/utils/transformers/transform-css-vars.ts index d0ad624b147..b5f1259c102 100644 --- a/packages/cli/src/utils/transformers/transform-css-vars.ts +++ b/packages/cli/src/utils/transformers/transform-css-vars.ts @@ -146,27 +146,27 @@ export function applyColorMapping( // Build color mappings. const classNames = input.split(" ") - const lightMode: string[] = [] - const darkMode: string[] = [] + const lightMode = new Set() + const darkMode = new Set() for (let className of classNames) { const [variant, value, modifier] = splitClassName(className) const prefix = PREFIXES.find((prefix) => value?.startsWith(prefix)) if (!prefix) { - if (!lightMode.includes(className)) { - lightMode.push(className) + if (!lightMode.has(className)) { + lightMode.add(className) } continue } const needle = value?.replace(prefix, "") if (needle && needle in mapping.light) { - lightMode.push( + lightMode.add( [variant, `${prefix}${mapping.light[needle]}`] .filter(Boolean) .join(":") + (modifier ? `/${modifier}` : "") ) - darkMode.push( + darkMode.add( ["dark", variant, `${prefix}${mapping.dark[needle]}`] .filter(Boolean) .join(":") + (modifier ? `/${modifier}` : "") @@ -174,10 +174,10 @@ export function applyColorMapping( continue } - if (!lightMode.includes(className)) { - lightMode.push(className) + if (!lightMode.has(className)) { + lightMode.add(className) } } - return lightMode.join(" ") + " " + darkMode.join(" ").trim() + return [...Array.from(lightMode), ...Array.from(darkMode)].join(" ").trim() } diff --git a/packages/cli/test/utils/__snapshots__/transform-css-vars.test.ts.snap b/packages/cli/test/utils/__snapshots__/transform-css-vars.test.ts.snap index 9f5962a2a73..baedb74d2d5 100644 --- a/packages/cli/test/utils/__snapshots__/transform-css-vars.test.ts.snap +++ b/packages/cli/test/utils/__snapshots__/transform-css-vars.test.ts.snap @@ -23,3 +23,11 @@ export function Foo() { }\\"\\" " `; + +exports[`transform css vars 4`] = ` +"import * as React from \\"react\\" +export function Foo() { + return
foo
+}\\"\\" + " +`; diff --git a/packages/cli/test/utils/apply-color-mapping.test.ts b/packages/cli/test/utils/apply-color-mapping.test.ts index 1b21150d57b..8da6765c772 100644 --- a/packages/cli/test/utils/apply-color-mapping.test.ts +++ b/packages/cli/test/utils/apply-color-mapping.test.ts @@ -64,7 +64,7 @@ describe("apply color mapping", async () => { input: "text-destructive border-destructive/50 dark:border-destructive [&>svg]:text-destructive text-destructive", output: - "text-red-500 border-red-500/50 dark:border-red-500 [&>svg]:text-red-500 text-red-500 dark:text-red-900 dark:border-red-900/50 dark:dark:border-red-900 dark:[&>svg]:text-red-900 dark:text-red-900", + "text-red-500 border-red-500/50 dark:border-red-500 [&>svg]:text-red-500 dark:text-red-900 dark:border-red-900/50 dark:dark:border-red-900 dark:[&>svg]:text-red-900", }, { input: diff --git a/packages/cli/test/utils/transform-css-vars.test.ts b/packages/cli/test/utils/transform-css-vars.test.ts index 46ad6916a58..586f1cee2bc 100644 --- a/packages/cli/test/utils/transform-css-vars.test.ts +++ b/packages/cli/test/utils/transform-css-vars.test.ts @@ -56,6 +56,29 @@ export function Foo() { raw: `import * as React from "react" export function Foo() { return
foo
+}" + `, + config: { + tsx: true, + tailwind: { + baseColor: "stone", + cssVariables: false, + }, + aliases: { + components: "@/components", + utils: "@/lib/utils", + }, + }, + baseColor: stone, + }) + ).toMatchSnapshot() + + expect( + await transform({ + filename: "test.ts", + raw: `import * as React from "react" +export function Foo() { + return
foo
}" `, config: { From 0a4286500ee06289eccde8fe9257c169b47dbc93 Mon Sep 17 00:00:00 2001 From: Ayhan <2834954+c0b41@users.noreply.github.com> Date: Tue, 19 Sep 2023 06:23:07 +0300 Subject: [PATCH 07/13] fix(cli): handle ts file extension (#1466) Co-authored-by: shadcn --- .changeset/hot-comics-smell.md | 5 +++++ packages/cli/src/commands/add.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/hot-comics-smell.md diff --git a/.changeset/hot-comics-smell.md b/.changeset/hot-comics-smell.md new file mode 100644 index 00000000000..8857c6049c3 --- /dev/null +++ b/.changeset/hot-comics-smell.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": patch +--- + +fix file extension diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index 46ef641575a..01a1e30efc1 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -155,6 +155,7 @@ export const add = new Command() if (!config.tsx) { filePath = filePath.replace(/\.tsx$/, ".jsx") + filePath = filePath.replace(/\.ts$/, ".js") } await fs.writeFile(filePath, content) From 963114e118a2263f4ee449cc07b0f6f7e5104bc1 Mon Sep 17 00:00:00 2001 From: Shishir Date: Mon, 18 Sep 2023 20:37:35 -0700 Subject: [PATCH 08/13] feat(cli): support adding all components via CLI (#1033) * feat: support adding all components via CLI `shadcn-ui add --all` This was manually tested to work as expected. * chore: run prettier * fix(cli): rename to all * chore: add changeset --------- Co-authored-by: shadcn --- .changeset/perfect-walls-dress.md | 5 +++++ packages/cli/src/commands/add.ts | 11 +++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 .changeset/perfect-walls-dress.md diff --git a/.changeset/perfect-walls-dress.md b/.changeset/perfect-walls-dress.md new file mode 100644 index 00000000000..33fdb7f1254 --- /dev/null +++ b/.changeset/perfect-walls-dress.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": minor +--- + +add --all option diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index 01a1e30efc1..bd33a94119e 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -24,6 +24,7 @@ const addOptionsSchema = z.object({ yes: z.boolean(), overwrite: z.boolean(), cwd: z.string(), + all: z.boolean(), path: z.string().optional(), }) @@ -38,6 +39,7 @@ export const add = new Command() "the working directory. defaults to the current directory.", process.cwd() ) + .option("-a, --all", "add all available components", false) .option("-p, --path ", "the path to add the component to.") .action(async (components, opts) => { try { @@ -65,8 +67,10 @@ export const add = new Command() const registryIndex = await getRegistryIndex() - let selectedComponents = options.components - if (!options.components?.length) { + let selectedComponents = options.all + ? registryIndex.map((entry) => entry.name) + : options.components + if (!options.components?.length && !options.all) { const { components } = await prompts({ type: "multiselect", name: "components", @@ -76,6 +80,9 @@ export const add = new Command() choices: registryIndex.map((entry) => ({ title: entry.name, value: entry.name, + selected: options.all + ? true + : options.components?.includes(entry.name), })), }) selectedComponents = components From 58d012e342d2563b4c43ed2ac18879a6d5044980 Mon Sep 17 00:00:00 2001 From: Paul Ebose <49006567+plbstl@users.noreply.github.com> Date: Tue, 19 Sep 2023 12:57:19 +0100 Subject: [PATCH 09/13] feat(cli): add overwrite confirmation for existing components (#973) * feat(cli): add overwrite confirmation for existing components * fix(cli): handle overwrite for multiple items * chore: add changeset --------- Co-authored-by: shadcn --- .changeset/tidy-cows-poke.md | 5 +++++ packages/cli/src/commands/add.ts | 28 ++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 .changeset/tidy-cows-poke.md diff --git a/.changeset/tidy-cows-poke.md b/.changeset/tidy-cows-poke.md new file mode 100644 index 00000000000..360edb64eb7 --- /dev/null +++ b/.changeset/tidy-cows-poke.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": minor +--- + +ask for overwrite diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index bd33a94119e..553e430de41 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -138,15 +138,27 @@ export const add = new Command() if (existingComponent.length && !options.overwrite) { if (selectedComponents.includes(item.name)) { - logger.warn( - `Component ${item.name} already exists. Use ${chalk.green( - "--overwrite" - )} to overwrite.` - ) - process.exit(1) - } + spinner.stop() + const { overwrite } = await prompts({ + type: "confirm", + name: "overwrite", + message: `Component ${item.name} already exists. Would you like to overwrite?`, + initial: false, + }) + + if (!overwrite) { + logger.info( + `Skipped ${item.name}. To overwrite, run with the ${chalk.green( + "--overwrite" + )} flag.` + ) + continue + } - continue + spinner.start(`Installing ${item.name}...`) + } else { + continue + } } for (const file of item.files) { From 2f0dbca22180507c20088f595613481adcfb51ed Mon Sep 17 00:00:00 2001 From: shadcn Date: Tue, 19 Sep 2023 16:25:57 +0400 Subject: [PATCH 10/13] feat(cli): do not ask for confirmation (#1554) * feat(cli): do not confirm * chore: add changeset --- .changeset/nice-icons-battle.md | 5 +++++ packages/cli/src/commands/add.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/nice-icons-battle.md diff --git a/.changeset/nice-icons-battle.md b/.changeset/nice-icons-battle.md new file mode 100644 index 00000000000..867a7c12eff --- /dev/null +++ b/.changeset/nice-icons-battle.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": minor +--- + +do not ask for confirmation diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index 553e430de41..30957296615 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -32,7 +32,7 @@ export const add = new Command() .name("add") .description("add a component to your project") .argument("[components...]", "the components to add") - .option("-y, --yes", "skip confirmation prompt.", false) + .option("-y, --yes", "skip confirmation prompt.", true) .option("-o, --overwrite", "overwrite existing files.", false) .option( "-c, --cwd ", From e8f58932bddf2b3fe593881292c47a2fec13f890 Mon Sep 17 00:00:00 2001 From: shadcn Date: Tue, 19 Sep 2023 16:35:50 +0400 Subject: [PATCH 11/13] chore: update repo for changeset --- .changeset/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/config.json b/.changeset/config.json index ec9454c7bd1..5e1305538ef 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": ["@changesets/changelog-github", { "repo": "shadcn/ui" }], + "changelog": ["@changesets/changelog-github", { "repo": "shadcn-ui/ui" }], "commit": false, "fixed": [], "linked": [], From d3d52fc68723a895ddad99e1f5c9420d981d3387 Mon Sep 17 00:00:00 2001 From: shadcn Date: Tue, 19 Sep 2023 16:52:45 +0400 Subject: [PATCH 12/13] docs(cli): update link to documentation (#1555) * docs(cli): update link to documentation * chore: add changeset --- .changeset/hot-dogs-melt.md | 5 +++++ packages/cli/README.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/hot-dogs-melt.md diff --git a/.changeset/hot-dogs-melt.md b/.changeset/hot-dogs-melt.md new file mode 100644 index 00000000000..4233cf9382b --- /dev/null +++ b/.changeset/hot-dogs-melt.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": patch +--- + +update README diff --git a/packages/cli/README.md b/packages/cli/README.md index a9d202577f1..49b9014fdf9 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -36,7 +36,7 @@ npx shadcn-ui add ## Documentation -Visit http://ui.shadcn.com/docs to view the documentation. +Visit https://ui.shadcn.com/docs/cli to view the documentation. ## License From 897376329b0d79021c11307e7100213b5e39b5d3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 17:14:39 +0400 Subject: [PATCH 13/13] chore(release): version packages (#1556) Co-authored-by: github-actions[bot] --- .changeset/hot-comics-smell.md | 5 ----- .changeset/hot-dogs-melt.md | 5 ----- .changeset/new-jeans-doubt.md | 5 ----- .changeset/nice-icons-battle.md | 5 ----- .changeset/perfect-walls-dress.md | 5 ----- .changeset/tidy-cows-poke.md | 5 ----- .changeset/tricky-cooks-appear.md | 5 ----- packages/cli/CHANGELOG.md | 20 ++++++++++++++++++++ packages/cli/package.json | 2 +- 9 files changed, 21 insertions(+), 36 deletions(-) delete mode 100644 .changeset/hot-comics-smell.md delete mode 100644 .changeset/hot-dogs-melt.md delete mode 100644 .changeset/new-jeans-doubt.md delete mode 100644 .changeset/nice-icons-battle.md delete mode 100644 .changeset/perfect-walls-dress.md delete mode 100644 .changeset/tidy-cows-poke.md delete mode 100644 .changeset/tricky-cooks-appear.md diff --git a/.changeset/hot-comics-smell.md b/.changeset/hot-comics-smell.md deleted file mode 100644 index 8857c6049c3..00000000000 --- a/.changeset/hot-comics-smell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": patch ---- - -fix file extension diff --git a/.changeset/hot-dogs-melt.md b/.changeset/hot-dogs-melt.md deleted file mode 100644 index 4233cf9382b..00000000000 --- a/.changeset/hot-dogs-melt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": patch ---- - -update README diff --git a/.changeset/new-jeans-doubt.md b/.changeset/new-jeans-doubt.md deleted file mode 100644 index 04708eec284..00000000000 --- a/.changeset/new-jeans-doubt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": patch ---- - -remove duplicate vi call diff --git a/.changeset/nice-icons-battle.md b/.changeset/nice-icons-battle.md deleted file mode 100644 index 867a7c12eff..00000000000 --- a/.changeset/nice-icons-battle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": minor ---- - -do not ask for confirmation diff --git a/.changeset/perfect-walls-dress.md b/.changeset/perfect-walls-dress.md deleted file mode 100644 index 33fdb7f1254..00000000000 --- a/.changeset/perfect-walls-dress.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": minor ---- - -add --all option diff --git a/.changeset/tidy-cows-poke.md b/.changeset/tidy-cows-poke.md deleted file mode 100644 index 360edb64eb7..00000000000 --- a/.changeset/tidy-cows-poke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": minor ---- - -ask for overwrite diff --git a/.changeset/tricky-cooks-appear.md b/.changeset/tricky-cooks-appear.md deleted file mode 100644 index 5f79140f328..00000000000 --- a/.changeset/tricky-cooks-appear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"shadcn-ui": patch ---- - -fix duplicate classnames diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index e9aa1f1dbbe..5e36b64cac2 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,25 @@ # @shadcn/ui +## 0.4.0 + +### Minor Changes + +- [#1554](https://github.com/shadcn-ui/ui/pull/1554) [`2f0dbca`](https://github.com/shadcn-ui/ui/commit/2f0dbca22180507c20088f595613481adcfb51ed) Thanks [@shadcn](https://github.com/shadcn)! - do not ask for confirmation + +- [#1033](https://github.com/shadcn-ui/ui/pull/1033) [`963114e`](https://github.com/shadcn-ui/ui/commit/963114e118a2263f4ee449cc07b0f6f7e5104bc1) Thanks [@sramam](https://github.com/sramam)! - add --all option + +- [#973](https://github.com/shadcn-ui/ui/pull/973) [`58d012e`](https://github.com/shadcn-ui/ui/commit/58d012e342d2563b4c43ed2ac18879a6d5044980) Thanks [@plbstl](https://github.com/plbstl)! - ask for overwrite + +### Patch Changes + +- [#1466](https://github.com/shadcn-ui/ui/pull/1466) [`0a42865`](https://github.com/shadcn-ui/ui/commit/0a4286500ee06289eccde8fe9257c169b47dbc93) Thanks [@c0b41](https://github.com/c0b41)! - fix file extension + +- [#1555](https://github.com/shadcn-ui/ui/pull/1555) [`d3d52fc`](https://github.com/shadcn-ui/ui/commit/d3d52fc68723a895ddad99e1f5c9420d981d3387) Thanks [@shadcn](https://github.com/shadcn)! - update README + +- [#1319](https://github.com/shadcn-ui/ui/pull/1319) [`4506822`](https://github.com/shadcn-ui/ui/commit/450682238922bf025ff919f0a84147894710fb71) Thanks [@K-Sato1995](https://github.com/K-Sato1995)! - remove duplicate vi call + +- [#1089](https://github.com/shadcn-ui/ui/pull/1089) [`ae84578`](https://github.com/shadcn-ui/ui/commit/ae845788f688d60f0e8ac020e16a4bd357978baf) Thanks [@santidalmasso](https://github.com/santidalmasso)! - fix duplicate classnames + ## 0.3.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 8e3a79bba33..e956074de02 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "shadcn-ui", - "version": "0.3.0", + "version": "0.4.0", "description": "Add components to your apps.", "publishConfig": { "access": "public"