Skip to content

Latest commit

 

History

History
280 lines (251 loc) · 6.68 KB

File metadata and controls

280 lines (251 loc) · 6.68 KB

Contributing to daisyUI

daisyUI welcomes contributions from anyone willing to help 🤝

Reporting issues

  • Before opening a new issue, first search for existing issues to avoid duplications.
  • Provide detailed reports to make things easier for maintainers.
  • If there's a weird bug, please provide a reproduction repository on GitHub (or a CodePen page or Tailwind Play page)

Fixing existing issues

  • You can help by fixing existing issues
  • Don't work on issues assigned to others (to avoid duplicate efforts)
  • Before starting to work on an issue, please first add a comment and ask to get assigned to that issue. This way everyone will know you're working on that and it avoids duplicate efforts.
  • Commit messages must start with: fix: #1 [description] where 1 is the number of the issue, so the issue will close automatically and it gets added to the changelog file on a release.

Feature requests

  • If you have an idea to discuss with the community, please open a discussion
  • For feature requests, open a new issue
  • All feature requests may not fit this library and some may get rejected. Don't take it personally.

Pull requests

  • A pull request must fix an open issue assigned to you. If there's no issue, please create one first. If it's not assigned to you, please ask for it in the comments. This is for avoiding duplicate efforts.
  • Fixing typos doesn't need to be an issue. You can just open a pull request.
  • Fixing a mistake in the document website doesn't need to be an issue. You can just open a pull request.

Contribute translations

Building on local

To build the daisyUI node package locally:

  1. [Fork and] clone the repo on local – only fork the master branch
  2. Install Bun if you don't have it:
  3. Install dependencies:
bun install
  1. Build daisyUI package:
bun run build
  1. Now you can use your local build of daisyUI in another local project by installing it as a dependency using Bun (or NPM, etc):
    In your own local project where you want to use daisyUI:
bun install /path/to/daisyui/packages/daisyui

To run the documentation site on local:

  1. [Fork and] clone the repo on local – only fork the master branch
  2. Install Bun if you don't have it:
  3. Install dependencies:
bun install
  1. Build daisyUI package:
bun run build
  1. Run the document site:
bun run dev

File structure

packages
├── daisyui //daisyUI package
   ├── index.js //entry point
   ├── functions
   ├── src
      ├── base
      ├── components
      ├── themes
      ╰── utilities
   ╰── // generated files
├── docs //documentation site
   ╰── src
       ├── routes
          ╰── (routes)
              ├── blog
              ├── components //component docs
              ├── docs //docs
              ╰── ...
       ╰── translations
╰── playground //playground site
    ╰── src
        ╰── components
            ╰── Component.astro // Where you can test things without committing

packages/daisyui workflow

---
title: daisyUI build flow
---
graph TD

    subgraph Build["src/"]
        E[Themes]
        F[base]
        G[components]
        H[utilities]
    end

    Build


    Build



    subgraph FinalPackage["components/"]

        E
        E
        E
        F
        F
        F
        G
        J12[components/*.css]
        G
        J13[components/*/index.js]
        G
        J14[components/*/object.js]
        G
        J15["*/class.json"]
        H
        H
        H
    end

    FinalPackage
	J13
	J12
	J12
	subgraph s1["CSS"]
		J2["daisyui.css - CDN"]
		J3["themes.css"]
		J4["chunks.css"]
	end
	J4
	J12 --- J4
	J4
	J4
	J4
	J3
	J12["*.css"] --- J2
	J2
	J2
	J2
	J2
	J2
	subgraph s2["@plugin "daisyui""]
		J19["import.js"]
		J1["index.js - Plugin"]
	end
	J1
	J19
	J19
	J19
	J13 --- J19
	J19 --- J1["index.js"]
	subgraph s3["utilities/"]
		J16["utilities/*.css"]
		J17["utilities/*/index.js"]
		J18["utilities/*/object.js"]
	end
	H
	J18["*/object.js"]
	J17 --- J19
	H
	J17["*/index.js"]
	J16 --- J2
	J16 --- J4
	H
	J16["*.css"]
	subgraph s4["base/"]
		J11["base/*/object.js"]
		J9["base/*.css"]
		J10["base/*/index.js"]
	end
	subgraph s5["colors/"]
		J5["colors/*.css"]
	end
	subgraph s6["themes/"]
		J6["theme/*.css"]
		J8["theme/*/object.js"]
		J7["theme/*/index.js"]
	end
	J10 --- J19
	F
	J10
	J9 --- J2
	J9 --- J4
	F
	J9["*.css"]
	F
	J11
	J7 --- J19["imports.js"]
	E
	J7
	E
	J8
	J6 --- J2
	J6 --- J3
	J6 --- J4
	E["themes"]
	J6["*.css"]
	J5 --- J2["daisyui.css"]
	J5 --- J4
	J5
	J8["*/object.js"] --- J7["*/index.js"]
	J14["*/object.js"] --- J13["*/index.js"]
	J11["*/object.js"] --- J10["*/index.js"]
	J5
	J18 --- J17
	subgraph s7["build"]
		n3@{ label: "Rectangle" }
	end
	Build
	J5
	s7
	s5
	subgraph s8["functions/"]
		n10["...other build functions"]
		D["functions/variables.css"]
		n8["variables.js"]
		n7["themeOrder.js"]
		n6["pluginOptionsHandler.js"]
		n5["plugin.js"]
		n4["addPrefix.js"]
		n1["themePlugin.js"]
	end
	n1
	H["utilities/*.css"] --- s3
	G["components/*.css"] --- FinalPackage
	F["base/*.css"] --- s4
	E["themes/*.css"] --- s6
	n3@{ shape: "flip-tri", label: "build.js" } --- Build
	n4 --- J1
	n8 --- J1
	n5 --- J1
	n6 --- J1
	n7 --- n6
	subgraph s9["@plugin "daisyui/theme""]
		n2["theme/index.js"]
		n9["/object.js"]
	end
	n1 --- n2["/index.js"]
	J8 --- n9
	D["variables.css"] --> J5["*.css"]
	style J1 fill:#FFDE59,color:#000000
	style n2 color:#000000,fill:#FFDE59
	n5 --- n1
	n9 --- n1
	n4
	J7
	n4 --- J17
	n4 --- J10
	n4 --- J13
	style J12 fill:#5E17EB,color:#FFFFFF
	style J16 fill:#5E17EB,color:#FFFFFF
	style J9 fill:#5E17EB,color:#FFFFFF
	style J5 fill:#5E17EB,color:#FFFFFF
	style J6 fill:#5E17EB,color:#FFFFFF
	style J3 fill:#5E17EB,color:#FFFFFF
	style J2 fill:#5E17EB,color:#FFFFFF
	style J4 fill:#5E17EB,color:#FFFFFF
Loading