Skip to content

Commit bd9bc2a

Browse files
collect plugins data
1 parent 9071e75 commit bd9bc2a

File tree

191 files changed

+9389
-8985
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

191 files changed

+9389
-8985
lines changed

npm-data/links.json

Lines changed: 212 additions & 212 deletions
Large diffs are not rendered by default.

npm-data/maintained-plugins.json

Lines changed: 574 additions & 574 deletions
Large diffs are not rendered by default.

npm-data/malicious-packages.json

Lines changed: 198 additions & 3 deletions
Large diffs are not rendered by default.

npm-data/maybe-plugins.json

Lines changed: 5329 additions & 5448 deletions
Large diffs are not rendered by default.

npm-data/plugins.json

Lines changed: 2573 additions & 2531 deletions
Large diffs are not rendered by default.

npm-data/plugins/@apimediaru/postcss-px-to-viewport.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,5 +228,5 @@
228228
"license": "MIT",
229229
"readme": "# postcss-px-to-viewport\r\n[![NPM version](https://badge.fury.io/js/postcss-px-to-viewport.svg)](http://badge.fury.io/js/postcss-px-to-viewport)\r\n\r\nEnglish | [中文](README_CN.md) \r\n\r\nA plugin for [PostCSS](https://github.com/postcss/postcss) that generates viewport units (vw, vh, vmin, vmax) from pixel units.\r\n\r\n## Demo\r\n\r\nIf your project involves a fixed width, this script will help to convert pixels into viewport units.\r\n\r\n### Input\r\n\r\n```css\r\n.class {\r\n margin: -10px .5vh;\r\n padding: 5vmin 9.5px 1px;\r\n border: 3px solid black;\r\n border-bottom-width: 1px;\r\n font-size: 14px;\r\n line-height: 20px;\r\n}\r\n\r\n.class2 {\r\n padding-top: 10px; /* px-to-viewport-ignore */\r\n /* px-to-viewport-ignore-next */\r\n padding-bottom: 10px;\r\n /* Any other comment */\r\n border: 1px solid black;\r\n margin-bottom: 1px;\r\n font-size: 20px;\r\n line-height: 30px;\r\n}\r\n\r\n@media (min-width: 750px) {\r\n .class3 {\r\n font-size: 16px;\r\n line-height: 22px;\r\n }\r\n}\r\n```\r\n\r\n### Output\r\n```css\r\n.class {\r\n margin: -3.125vw .5vh;\r\n padding: 5vmin 2.96875vw 1px;\r\n border: 0.9375vw solid black;\r\n border-bottom-width: 1px;\r\n font-size: 4.375vw;\r\n line-height: 6.25vw;\r\n}\r\n\r\n.class2 {\r\n padding-top: 10px;\r\n padding-bottom: 10px;\r\n /* Any other comment */\r\n border: 1px solid black;\r\n margin-bottom: 1px;\r\n font-size: 6.25vw;\r\n line-height: 9.375vw;\r\n}\r\n\r\n@media (min-width: 750px) {\r\n .class3 {\r\n font-size: 16px;\r\n line-height: 22px;\r\n }\r\n}\r\n```\r\n\r\n## Getting Started\r\n\r\n### Installation\r\nAdd via npm\r\n```\r\n$ npm install @apimediaru/postcss-px-to-viewport --save-dev\r\n```\r\n\r\n\r\n### Usage\r\n\r\nDefault Options:\r\n```js\r\n{\r\n unitToConvert: 'px',\r\n viewportWidth: 320,\r\n unitPrecision: 5,\r\n propList: ['*'],\r\n viewportUnit: 'vw',\r\n fontViewportUnit: 'vw',\r\n selectorBlackList: [],\r\n minPixelValue: 1,\r\n mediaQuery: false,\r\n replace: true,\r\n exclude: undefined,\r\n include: undefined,\r\n landscape: false,\r\n landscapeUnit: 'vw',\r\n landscapeWidth: 568,\r\n \r\n api_multiplier: 1\r\n}\r\n```\r\n- `unitToConvert` (String) unit to convert, by default, it is px.\r\n- `viewportWidth` (Number) The width of the viewport.\r\n- `unitPrecision` (Number) The decimal numbers to allow the vw units to grow to.\r\n- `propList` (Array) The properties that can change from px to vw.\r\n - Values need to be exact matches.\r\n - Use wildcard * to enable all properties. Example: ['*']\r\n - Use * at the start or end of a word. (['*position*'] will match background-position-y)\r\n - Use ! to not match a property. Example: ['*', '!letter-spacing']\r\n - Combine the \"not\" prefix with the other prefixes. Example: ['*', '!font*']\r\n- `viewportUnit` (String) Expected units.\r\n- `fontViewportUnit` (String) Expected units for font.\r\n- `selectorBlackList` (Array) The selectors to ignore and leave as px.\r\n - If value is string, it checks to see if selector contains the string.\r\n - `['body']` will match `.body-class`\r\n - If value is regexp, it checks to see if the selector matches the regexp.\r\n - `[/^body$/]` will match `body` but not `.body`\r\n- `minPixelValue` (Number) Set the minimum pixel value to replace.\r\n- `mediaQuery` (Boolean) Allow px to be converted in media queries.\r\n- `replace` (Boolean) replaces rules containing vw instead of adding fallbacks.\r\n- `exclude` (Regexp or Array of Regexp) Ignore some files like 'node_modules'\r\n - If value is regexp, will ignore the matches files.\r\n - If value is array, the elements of the array are regexp.\r\n- `include` (Regexp or Array of Regexp) If `include` is set, only matching files will be converted,\r\n for example, only files under `src/mobile/` (`include: /\\/src\\/mobile\\//`)\r\n - If the value is regexp, the matching file will be included, otherwise it will be excluded.\r\n - If value is array, the elements of the array are regexp.\r\n- `landscape` (Boolean) Adds `@media (orientation: landscape)` with values converted via `landscapeWidth`.\r\n- `landscapeUnit` (String) Expected unit for `landscape` option\r\n- `landscapeWidth` (Number) Viewport width for landscape orientation.\r\n\r\n> `exclude` and `include` can be set together, and the intersection of the two rules will be taken.\r\n\r\n#### Ignoring\r\n\r\nYou can use special comments for ignore conversion of single lines:\r\n- `/* px-to-viewport-ignore-next */` — on a separate line, prevents conversion on the next line.\r\n- `/* px-to-viewport-ignore */` — after the property on the right, prevents conversion on the same line.\r\n\r\nExample:\r\n```css\r\n/* example input: */\r\n.class {\r\n /* px-to-viewport-ignore-next */\r\n width: 10px;\r\n padding: 10px;\r\n height: 10px; /* px-to-viewport-ignore */\r\n border: solid 2px #000; /* px-to-viewport-ignore */\r\n}\r\n\r\n/* example output: */\r\n.class {\r\n width: 10px;\r\n padding: 3.125vw;\r\n height: 10px;\r\n border: solid 2px #000;\r\n}\r\n```\r\n\r\nThere are several more reasons why your pixels may not convert, the following options may affect this:\r\n`propList`, `selectorBlackList`, `minPixelValue`, `mediaQuery`, `exclude`, `include`.\r\n\r\n#### Use with PostCss configuration file\r\n\r\nadd to your `postcss.config.js`\r\n```js\r\nmodule.exports = {\r\n plugins: {\r\n // ...\r\n 'postcss-px-to-viewport': {\r\n // options\r\n }\r\n }\r\n}\r\n```\r\n\r\n#### Use with gulp-postcss\r\n\r\nadd to your `gulpfile.js`:\r\n```js\r\nvar gulp = require('gulp');\r\nvar postcss = require('gulp-postcss');\r\nvar pxtoviewport = require('postcss-px-to-viewport');\r\n\r\ngulp.task('css', function () {\r\n\r\n var processors = [\r\n pxtoviewport({\r\n viewportWidth: 320,\r\n viewportUnit: 'vmin'\r\n })\r\n ];\r\n\r\n return gulp.src(['build/css/**/*.css'])\r\n .pipe(postcss(processors))\r\n .pipe(gulp.dest('build/css'));\r\n});\r\n```\r\n\r\n## Contributing\r\n\r\nPlease read [Code of Conduct](CODE-OF-CONDUCT.md)\r\nand [Contributing Guidelines](CONTRIBUTING.md) for submitting pull requests to us.\r\n\r\n## Running the tests\r\n\r\nIn order to run tests, you need to install dev-packages:\r\n```\r\n$ npm install\r\n```\r\nThen run the tests via npm script:\r\n```\r\n$ npm run test\r\n```\r\n\r\n## Changelog\r\n\r\nThe changelog is [here](CHANGELOG.md).\r\n\r\n## Versioning\r\n\r\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/evrone/postcss-px-to-viewport/tags). \r\n\r\n## Authors\r\n\r\n* [Dmitry Karpunin](https://github.com/KODerFunk) - *Initial work*\r\n* [Ivan Bunin](https://github.com/chernobelenkiy)\r\n\r\nSee also the list of [contributors](https://github.com/evrone/postcss-px-to-viewport/contributors) who participated in this project.\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](LICENSE).\r\n\r\n## Sponsors\r\n\r\nVisit [Evrone](https://evrone.com/) website to get more information about the [projects](https://evrone.com/cases) build.\r\n\r\n<a href=\"https://evrone.com/?utm_source=postcss-px-to-viewport\">\r\n <img src=\"https://user-images.githubusercontent.com/417688/34437029-dbfe4ee6-ecab-11e7-9d80-2b274b4149b3.png\"\r\n alt=\"Sponsored by Evrone\" width=\"231\" />\r\n</a>\r\n\r\n## Acknowledgments\r\n\r\n* Hat tip to https://github.com/cuth/postcss-pxtorem/ for inspiring us for this project.\r\n",
230230
"readmeFilename": "README.md",
231-
"_downloads": 16
231+
"_downloads": 11
232232
}

npm-data/plugins/@arshaw/postcss-calc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,5 +140,5 @@
140140
"license": "MIT",
141141
"readme": "\n**Fork Info**: ensures spaces before and after `*` and `/` operators, which normally wouldn't happen\n\n\n# PostCSS Calc [<img src=\"https://postcss.github.io/postcss/logo.svg\" alt=\"PostCSS\" width=\"90\" height=\"90\" align=\"right\">][PostCSS]\n\n[![NPM Version][npm-img]][npm-url]\n[![Build Status][cli-img]][cli-url]\n[![Support Chat][git-img]][git-url]\n\n[PostCSS Calc] lets you reduce `calc()` references whenever it's possible. This\ncan be particularly useful with the [PostCSS Custom Properties] plugin.\n\nWhen multiple units are mixed together in the same expression, the `calc()`\nstatement is left as is, to fallback to the [W3C calc() implementation].\n\n## Installation\n\n```bash\nnpm install postcss-calc\n```\n\n## Usage\n\n```js\n// dependencies\nvar fs = require(\"fs\")\nvar postcss = require(\"postcss\")\nvar calc = require(\"postcss-calc\")\n\n// css to be processed\nvar css = fs.readFileSync(\"input.css\", \"utf8\")\n\n// process css\nvar output = postcss()\n .use(calc())\n .process(css)\n .css\n```\n\n**Example** (with [PostCSS Custom Properties] enabled as well):\n\n```js\n// dependencies\nvar fs = require(\"fs\")\nvar postcss = require(\"postcss\")\nvar customProperties = require(\"postcss-custom-properties\")\nvar calc = require(\"postcss-calc\")\n\n// css to be processed\nvar css = fs.readFileSync(\"input.css\", \"utf8\")\n\n// process css\nvar output = postcss()\n .use(customProperties())\n .use(calc())\n .process(css)\n .css\n```\n\nUsing this `input.css`:\n\n```css\n:root {\n --main-font-size: 16px;\n}\n\nbody {\n font-size: var(--main-font-size);\n}\n\nh1 {\n font-size: calc(var(--main-font-size) * 2);\n height: calc(100px - 2em);\n margin-bottom: calc(\n var(--main-font-size)\n * 1.5\n )\n}\n```\n\nyou will get:\n\n```css\nbody {\n font-size: 16px\n}\n\nh1 {\n font-size: 32px;\n height: calc(100px - 2em);\n margin-bottom: 24px\n}\n```\n\nCheckout [tests] for more examples.\n\n### Options\n\n#### `precision` (default: `5`)\n\nAllow you to define the precision for decimal numbers.\n\n```js\nvar out = postcss()\n .use(calc({precision: 10}))\n .process(css)\n .css\n```\n\n#### `preserve` (default: `false`)\n\nAllow you to preserve calc() usage in output so browsers will handle decimal\nprecision themselves.\n\n```js\nvar out = postcss()\n .use(calc({preserve: true}))\n .process(css)\n .css\n```\n\n#### `warnWhenCannotResolve` (default: `false`)\n\nAdds warnings when calc() are not reduced to a single value.\n\n```js\nvar out = postcss()\n .use(calc({warnWhenCannotResolve: true}))\n .process(css)\n .css\n```\n\n#### `mediaQueries` (default: `false`)\n\nAllows calc() usage as part of media query declarations.\n\n```js\nvar out = postcss()\n .use(calc({mediaQueries: true}))\n .process(css)\n .css\n```\n\n#### `selectors` (default: `false`)\n\nAllows calc() usage as part of selectors.\n\n```js\nvar out = postcss()\n .use(calc({selectors: true}))\n .process(css)\n .css\n```\n\nExample:\n\n```css\ndiv[data-size=\"calc(3*3)\"] {\n width: 100px;\n}\n```\n\n---\n\n## Contributing\n\nWork on a branch, install dev-dependencies, respect coding style & run tests\nbefore submitting a bug fix or a feature.\n\n```bash\ngit clone [email protected]:postcss/postcss-calc.git\ngit checkout -b patch-1\nnpm install\nnpm test\n```\n\n## [Changelog](CHANGELOG.md)\n\n## [License](LICENSE)\n\n[cli-img]: https://img.shields.io/travis/postcss/postcss-calc/master.svg\n[cli-url]: https://travis-ci.org/postcss/postcss-calc\n[git-img]: https://img.shields.io/badge/support-chat-blue.svg\n[git-url]: https://gitter.im/postcss/postcss\n[npm-img]: https://img.shields.io/npm/v/postcss-calc.svg\n[npm-url]: https://www.npmjs.com/package/postcss-calc\n\n[PostCSS]: https://github.com/postcss\n[PostCSS Calc]: https://github.com/postcss/postcss-calc\n[PostCSS Custom Properties]: https://github.com/postcss/postcss-custom-properties\n[tests]: src/__tests__/index.js\n[W3C calc() implementation]: https://www.w3.org/TR/css3-values/#calc-notation\n",
142142
"readmeFilename": "README.md",
143-
"_downloads": 23
143+
"_downloads": 19
144144
}

npm-data/plugins/@austinserb/react-zero-ui.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2810,5 +2810,5 @@
28102810
],
28112811
"readme": "# React Zero‑UI (Beta)\n\n**Instant UI state updates. ZERO React re‑renders. <1 KB runtime.**\n\nPre‑render your UI once, flip a `data-*` attribute to update — that's it.\n\n<a href=\"https://bundlephobia.com/package/@austinserb/[email protected]\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"https://badgen.net/bundlephobia/min/@austinserb/[email protected]\" alt=\"npm version\" /> </a><a href=\"https://www.npmjs.com/package/@austinserb/react-zero-ui\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"https://img.shields.io/npm/v/@austinserb/react-zero-ui\" alt=\"npm version\" /></a> <a href=\"https://opensource.org/licenses/MIT\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\" /></a> ![CI](https://github.com/austin1serb/react-zero-ui/actions/workflows/ci.yml/badge.svg?branch=main)\n\n---\n\n\n## 📚 Quick Links\n\n- [⚡️ Quick Start](#️-quick-start)\n- [🏄‍♂️ Usage](#-usage)\n- [🧬 How it works](#-how-it-works)\n- [✅ Features](#-features)\n- [🏗 Best Practices](#-best-practices)\n\n---\n\n## 🚀 Live Demo\n\n| Example | Link | What it shows | Link to Code |\n| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Interactive menu with render tracker | <a href=\"https://react-zero-ui.vercel.app/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Main Demo↗</strong></a> | Compare Zero‑UI vs. React side‑by‑side while toggling a menu. | <a href=\"https://github.com/Austin1serb/React-Zero-UI/tree/main/examples/demo\" target=\"_blank\" rel=\"noopener noreferrer\">Github</a> |\n| React benchmark (10 000 nested nodes) | <a href=\"https://react-zero-ui.vercel.app/react\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>React 10k↗</strong></a> | How long the traditional React render path takes. | <a href=\"https://github.com/Austin1serb/React-Zero-UI/tree/main/examples/demo/src/app/react\" target=\"_blank\" rel=\"noopener noreferrer\">Github</a> |\n| Zero‑UI benchmark (10 000 nested nodes) | <a href=\"https://react-zero-ui.vercel.app/zero-ui\" target=\"_blank\" rel=\"noopener noreferrer\"><strong style=\"text-align: nowrap;\">Zero‑UI 10k↗</strong></a> | Identical DOM, but powered by Zero‑UI's `data-*` switch. | <a href=\"https://github.com/Austin1serb/React-Zero-UI/tree/main/examples/demo/src/app/zero-ui\" target=\"_blank\" rel=\"noopener noreferrer\">Github</a> |\n\n---\n\n## 🧐 Why Zero‑UI?\n\nEvery `setState` in React triggers the full VDOM → Diff → Reconciliation → Paint pipeline. For _pure UI state_ (themes, menus, toggles) that work is wasted.\n\n**Zero‑UI introduces \"_PRE‑rendering_\":**\n\n1. Tailwind variants for every state are **generated at build‑time**.\n2. The app **pre‑renders once**.\n3. Runtime state changes only **flip a `data-*` attribute on `<body>`**.\n\nResult → **5-10× faster visual updates** with **ZERO additional bundle cost**.\n\n### 📊 Micro‑benchmarks (Apple M1)\n\n| Nodes updated | React state | Zero‑UI | Speed‑up |\n| ------------- | ----------- | ------- | -------- |\n| 10,000 | \\~50 ms | \\~5 ms | **10×** |\n| 25,000 | \\~180 ms | \\~15 ms | **12×** |\n| 50,000 | \\~300 ms | \\~20 ms | **15×** |\n\nRe‑run these numbers yourself via the links above.\n\n---\n\n## ⚡️ Quick Start\n\n> **Prerequisite:** Tailwind CSS v4 must already be initialized in your project.\n\n```bash\n# Inside an existing *Next.js (App Router)* or *Vite* repo\nnpx create-zero-ui\n```\n\nThat's it — the CLI patch‑installs the required Babel & PostCSS plugins and updates `configs` for you.\n\n### Manual Install\n\n```bash\nnpm install @austinserb/react-zero-ui\n```\n\nThen follow **Setup →** for your bundler.\n\n---\n\n## 🔧 Setup\n\n### Vite\n\n```js\n// vite.config.*\nimport { zeroUIPlugin } from '@austinserb/react-zero-ui/vite';\n\nexport default {\n\t// ❗️Remove the default `tailwindcss()` plugin — Zero‑UI extends it internally\n\tplugins: [zeroUIPlugin()],\n};\n```\n\n### Next.js (App Router)\n\n1. **Spread `bodyAttributes` on `<body>`** in your root layout.\n\n ```tsx\n // app/layout.tsx\n import { bodyAttributes } from '@austinserb/react-zero-ui/attributes';\n // or: import { bodyAttributes } from '../.zero-ui/attributes';\n\n export default function RootLayout({ children }) {\n \treturn (\n \t\t<html lang=\"en\">\n \t\t\t<body {...bodyAttributes}>{children}</body>\n \t\t</html>\n \t);\n }\n ```\n\n2. **Add the PostCSS plugin (must come _before_ Tailwind).**\n\n ```js\n // postcss.config.js\n module.exports = { plugins: { '@austinserb/react-zero-ui/postcss': {}, tailwindcss: {} } };\n ```\n\n---\n\n## 🏄‍♂️ Usage\n\n![react zero ui usage explained](docs/assets/useui-explained.webp)\n\n---\n\n## 🛠 API\n\n### `useUI(key, defaultValue)`\n\n```ts\nconst [staleValue, setValue] = useUI<'open' | 'closed'>('sidebar', 'closed');\n```\n\n- `key` → becomes `data-{key}` on `<body>`.\n- `defaultValue` → optional, prevents FOUC.\n- **Note:** the returned `staleValue` does **not** update (`useUI` is write‑only).\n\n### Tailwind variants\n\n```jsx\n<div className=\"sidebar-open:translate-x-0 sidebar-closed:-translate-x-full\" />\n```\n\nAny `data-{key}=\"{value}\"` pair becomes a variant: `{key}-{value}:`.\n\n---\n\n## 🧬 How it works\n\n1. **`useUI`** → writes to `data-*` attributes on `<body>`.\n2. **Babel plugin** → scans code, finds every `key/value`, injects them into **PostCSS**.\n3. **PostCSS plugin** → generates static Tailwind classes **at build‑time**.\n4. **Runtime** → changing state only touches the attribute — no VDOM, no reconciliation, no re‑paint.\n\n---\n\n## ✅ Features\n\n- **Zero React re‑renders** for UI‑only state.\n- **Global setters** — call from any component or util.\n- **Tiny**: < 1 KB gzipped runtime.\n- **TypeScript‑first**.\n- **SSR‑friendly** (Next.js & Vite SSR).\n- **Framework‑agnostic CSS** — generated classes work in plain HTML / Vue / Svelte as well.\n\n---\n\n## 🏗 Best Practices\n\n1. **UI state only** → themes, layout toggles, feature flags.\n2. **Business logic stays in React** → fetching, data mutation, etc.\n3. **Kebab‑case keys** → e.g. `sidebar-open`.\n4. **Provide defaults** to avoid Flash‑Of‑Unstyled‑Content.\n\n---\n\n## 🤝 Contributing\n\nPRs & issues welcome! Please read the [Contributing Guide](CONTRIBUTING.md).\n\n---\n\n## 📜 License\n\n[MIT](LICENSE) © Austin Serb\n\n---\n\nBuilt with ❤️ for the React community. If Zero‑UI makes your app feel ZERO fast, please ⭐️ the repo!\n",
28122812
"readmeFilename": "README.md",
2813-
"_downloads": 182
2813+
"_downloads": 181
28142814
}

0 commit comments

Comments
 (0)