{"id":19859403,"url":"https://github.com/siguici/plugwind","last_synced_at":"2025-10-18T21:53:13.085Z","repository":{"id":244140482,"uuid":"814325846","full_name":"siguici/plugwind","owner":"siguici","description":"🧩 Extends the TailwindCSS plugin API and provides some utilities.","archived":false,"fork":false,"pushed_at":"2024-10-21T11:48:58.000Z","size":109,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T21:26:16.258Z","etag":null,"topics":["plug","plugger","plugin-api","plugin-manager","plugwind","plugwind-js","tailwindcss-plugin"],"latest_commit_sha":null,"homepage":"https://npm.im/plugwind.js","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/siguici.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-12T19:37:30.000Z","updated_at":"2024-10-21T15:40:27.000Z","dependencies_parsed_at":"2024-06-13T04:32:21.613Z","dependency_job_id":"f91535f7-4abf-4ea2-af95-cf65b8dd8e84","html_url":"https://github.com/siguici/plugwind","commit_stats":null,"previous_names":["siguici/plugwind"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fplugwind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fplugwind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fplugwind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siguici%2Fplugwind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/siguici","download_url":"https://codeload.github.com/siguici/plugwind/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251972508,"owners_count":21673616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["plug","plugger","plugin-api","plugin-manager","plugwind","plugwind-js","tailwindcss-plugin"],"created_at":"2024-11-12T14:27:03.805Z","updated_at":"2025-10-18T21:53:08.032Z","avatar_url":"https://github.com/siguici.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [🧩 PlugWind](https://jsr.io/@siguici/plugwind)\n\n[PlugWind](https://jsr.io/@siguici/plugwind) makes it easy to create TailwindCSS plugins.\n\n## 🚀 Installation\n\nYou can install [`PlugWind`](https://github.com/siguici/plugwind) from [`NPM`](https://npmjs.com/package/plugwind.js) or [`JSR`](https://jsr.io/@siguici/plugwind):\n\n- Using `npm`:\n\n  From [`NPM`](https://npmjs.com/package/plugwind.js):\n\n  ```bash\n  npm install plugwind.js\n  ```\n\n  From [`JSR`](https://jsr.io/@siguici/plugwind):\n\n  ```bash\n  npx jsr add @siguici/plugwind\n  ```\n\n- Using `Yarn`:\n\n  From [`NPM`](https://npmjs.com/package/plugwind.js):\n\n  ```bash\n  yarn add plugwind.js\n  ```\n\n  From [`JSR`](https://jsr.io/@siguici/plugwind):\n\n  ```bash\n  yarn dlx jsr add @siguici/plugwind\n  ```\n\n- Using `PNPM`:\n\n  From [`NPM`](https://npmjs.com/package/plugwind.js):\n\n  ```bash\n  pnpm add plugwind.js\n  ```\n\n  From [`JSR`](https://jsr.io/@siguici/plugwind):\n\n  ```bash\n  pnpm dlx jsr add @siguici/plugwind\n  ```\n\n- Using `Bun`:\n\n  From [`NPM`](https://npmjs.com/package/plugwind.js):\n\n  ```bash\n  bun install plugwind.js\n  ```\n\n  From [`JSR`](https://jsr.io/@siguici/plugwind):\n\n  ```bash\n  bunx jsr add @siguici/plugwind\n  ```\n\n- Using `Deno`:\n\n  From [`NPM`](https://npmjs.com/package/plugwind.js):\n\n  ```bash\n  deno install npm:plugwind.js\n  ```\n\n  From [`JSR`](https://jsr.io/@siguici/plugwind):\n\n  ```bash\n  deno add @siguici/plugwind\n  ```\n\n  Without install:\n\n  ```typescript\n  import plugwind.js from 'jsr:@siguici/plugwind';\n  ```\n\n## 💡 Usage\n\n- Import from `node_modules`:\n\n  ```javascript\n  import plug from 'plugwind.js';\n  ```\n\n- Import without install (using `Deno`):\n\n  ```javascript\n  import plug from 'jsr:@siguici/plugwind';\n  ```\n\n- Use the `plug` function to define a plugin:\n\n  ```typescript\n  export default plug((api) =\u003e {\n    api.addBase(base);\n    api.addTheme(theme, rule);\n    api.addThemes(themes);\n    api.addVar(varName, varValue);\n    api.addVars(vars);\n    api.addRoot(rule);\n    api.addComponent(component, rule);\n    api.addComponents(components);\n    api.addUtility(utility, rule);\n    api.addUtilities(utilities);\n    api.addProperty(property, value, utility);\n    api.addProperties(properties, utilities);\n    api.addVariant(variants);\n    api.addDark(component, darkRule, lightRule);\n    api.addDarkVariant(component, darkRule, lightRule, variant);\n    api.addDarkSelector(component, darkRule, lightRule, selector);\n    api.addDarkClass(component, darkRule, lightRule, className);\n    api.addDarkMedia(component, darkRule, lightRule);\n    api.addGradient(color, name, to);\n    api.addGradientFrom(color, name, to);\n    api.addGradientVia(color, name, to);\n    api.addGradientTo(color, name);\n    api.addDarkGradient(darkColor, lightColor, colorName, toColor);\n    api.addDarkGradientFrom(darkColor, lightColor, name, to);\n    api.addDarkGradientVia(darkColor, lightColor, name, to);\n    api.addDarkGradientTo(darkColor, lightColor, name);\n  });\n  ```\n\n- Use the `plug.with` method to define a plugin with options:\n\n  ```typescript\n  export default plug.with\u003c{ selector?: string; prefix?: string }\u003e(\n    (options) =\u003e (api) =\u003e {\n      api.addVar(\n        name,\n        value,\n        options.selector ?? ':root',\n        options.prefix ?? 'tw',\n      );\n    },\n  );\n  ```\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE.md file](./LICENSE.md) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiguici%2Fplugwind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiguici%2Fplugwind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiguici%2Fplugwind/lists"}