feature: vor und nachteile

This commit is contained in:
Hikyu
2026-05-31 13:54:31 +02:00
parent 552a947a1c
commit e3dad17446
23270 changed files with 3024794 additions and 200 deletions
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021-PRESENT Anthony Fu <https://github.com/antfu>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+88
View File
@@ -0,0 +1,88 @@
<br>
<p align="center">
<img src="https://raw.githubusercontent.com/unocss/unocss/main/playground/public/icon-gray.svg" style="width:100px;" />
</p>
<h1 align="center">UnoCSS</h1>
<p align="center">
The instant on-demand Atomic CSS engine.
</p>
<p align="center">
<a href="https://www.npmjs.com/package/unocss"><img src="https://img.shields.io/npm/v/unocss?color=c95f8b&amp;label=" alt="NPM version"></a></p>
<blockquote align="center">
<p>💡 I highly recommend reading this blog post - <br><a href="https://antfu.me/posts/reimagine-atomic-css"><strong>Reimagine Atomic CSS</strong></a><br>for the story behind</p>
</blockquote>
<br>
<p align="center">
<a href="https://unocss.dev/">📚 Documentation</a> |
<a href="https://unocss.dev/interactive/">🧑‍💻 Interactive Docs</a> |
<a href="https://unocss.dev/play/">🤹‍♂️ Playground</a> |
<a href="https://tutorial.unocss.dev/">🎓 Tutorial</a>
</p>
<br>
## Features
Inspired by [Windi CSS](http://windicss.org/), [Tailwind CSS](https://tailwindcss.com/), and [Twind](https://github.com/tw-in-js/twind), but:
- [Fully customizable](https://unocss.dev/config/) - no core utilities. All functionalities are provided via presets.
- No parsing, no AST, no scanning, it's **INSTANT** (5x faster than Windi CSS or Tailwind JIT).
- ~6kb min+brotli - zero deps and browser friendly.
- [Shortcuts](https://unocss.dev/config/shortcuts) - aliasing utilities, dynamically.
- [Attributify mode](https://unocss.dev/presets/attributify/) - group utilities in attributes.
- [Pure CSS Icons](https://unocss.dev/presets/icons/) - use any icon as a single class.
- [Variant Groups](https://unocss.dev/transformers/variant-group) - shorthand for group utils with common prefixes.
- [CSS Directives](https://unocss.dev/transformers/directives) - reuse utils in CSS with `@apply` directive.
- [Compilation mode](https://unocss.dev/transformers/compile-class/) - synthesizes multiple classes into one at build time.
- [Inspector](https://unocss.dev/tools/inspector) - inspect and debug interactively.
- [CSS-in-JS Runtime build](https://unocss.dev/integrations/runtime) - use UnoCSS with one line of CDN import.
- [VS Code extension](https://marketplace.visualstudio.com/items?itemName=antfu.unocss)
- Code-splitting for CSS - ships minimal CSS for MPA.
## Documentation
Read the [documentation](https://unocss.dev/) for more details.
## Installation
- [Vite](https://unocss.dev/integrations/vite)
- [Nuxt](https://unocss.dev/integrations/nuxt)
- [Astro](https://unocss.dev/integrations/astro)
- [Webpack](https://unocss.dev/integrations/webpack)
- [CDN Runtime](https://unocss.dev/integrations/runtime)
- [CLI](https://unocss.dev/integrations/cli)
- [VS Code extension](https://unocss.dev/integrations/vscode)
- [ESLint Config](https://unocss.dev/integrations/eslint)
- [PostCSS](https://unocss.dev/integrations/postcss)
## Acknowledgement
UnoCSS is made possible thanks to the inspirations from the following projects:
> in alphabetical order
- [ACSS](https://acss.io/)
- [Bootstrap Utilities](https://getbootstrap.com/docs/5.1/utilities/flex/)
- [Chakra UI Style Props](https://chakra-ui.com/docs/features/style-props)
- [Semantic UI](https://semantic-ui.com/)
- [Tachyons](https://tachyons.io/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Twind](https://github.com/tw-in-js/twind)
- [Windi CSS](http://windicss.org/)
## Sponsors
<p align="center">
<a href="https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg">
<img src='https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg'/>
</a>
</p>
## License
[MIT](./LICENSE) License &copy; 2021-PRESENT [Anthony Fu](https://github.com/antfu)
+6
View File
@@ -0,0 +1,6 @@
import { AstroIntegrationConfig } from '@unocss/astro';
import { AstroIntegration } from 'astro';
declare function UnocssAstroIntegration<Theme extends object>(config?: AstroIntegrationConfig<Theme>): AstroIntegration;
export { UnocssAstroIntegration as default };
+6
View File
@@ -0,0 +1,6 @@
import { AstroIntegrationConfig } from '@unocss/astro';
import { AstroIntegration } from 'astro';
declare function UnocssAstroIntegration<Theme extends object>(config?: AstroIntegrationConfig<Theme>): AstroIntegration;
export { UnocssAstroIntegration as default };
+15
View File
@@ -0,0 +1,15 @@
import AstroIntegrationPlugin from '@unocss/astro';
import presetUno__default from '@unocss/preset-uno';
function UnocssAstroIntegration(config) {
return AstroIntegrationPlugin(
config,
{
presets: [
presetUno__default()
]
}
);
}
export { UnocssAstroIntegration as default };
+22
View File
@@ -0,0 +1,22 @@
import { UserConfig } from '@unocss/core';
export * from '@unocss/core';
import { Theme } from '@unocss/preset-uno';
export { Theme as PresetUnoTheme, default as presetUno } from '@unocss/preset-uno';
export { default as presetAttributify } from '@unocss/preset-attributify';
export { default as presetIcons } from '@unocss/preset-icons';
export { Theme as PresetMiniTheme, default as presetMini } from '@unocss/preset-mini';
export { default as presetTagify } from '@unocss/preset-tagify';
export { default as presetTypography } from '@unocss/preset-typography';
export { default as presetWebFonts } from '@unocss/preset-web-fonts';
export { Theme as PresetWindTheme, default as presetWind } from '@unocss/preset-wind';
export { default as transformerAttributifyJsx } from '@unocss/transformer-attributify-jsx';
export { default as transformerCompileClass } from '@unocss/transformer-compile-class';
export { default as transformerDirectives } from '@unocss/transformer-directives';
export { default as transformerVariantGroup } from '@unocss/transformer-variant-group';
/**
* Define UnoCSS config
*/
declare function defineConfig<T extends object = Theme>(config: UserConfig<T>): UserConfig<T>;
export { defineConfig };
+22
View File
@@ -0,0 +1,22 @@
import { UserConfig } from '@unocss/core';
export * from '@unocss/core';
import { Theme } from '@unocss/preset-uno';
export { Theme as PresetUnoTheme, default as presetUno } from '@unocss/preset-uno';
export { default as presetAttributify } from '@unocss/preset-attributify';
export { default as presetIcons } from '@unocss/preset-icons';
export { Theme as PresetMiniTheme, default as presetMini } from '@unocss/preset-mini';
export { default as presetTagify } from '@unocss/preset-tagify';
export { default as presetTypography } from '@unocss/preset-typography';
export { default as presetWebFonts } from '@unocss/preset-web-fonts';
export { Theme as PresetWindTheme, default as presetWind } from '@unocss/preset-wind';
export { default as transformerAttributifyJsx } from '@unocss/transformer-attributify-jsx';
export { default as transformerCompileClass } from '@unocss/transformer-compile-class';
export { default as transformerDirectives } from '@unocss/transformer-directives';
export { default as transformerVariantGroup } from '@unocss/transformer-variant-group';
/**
* Define UnoCSS config
*/
declare function defineConfig<T extends object = Theme>(config: UserConfig<T>): UserConfig<T>;
export { defineConfig };
+19
View File
@@ -0,0 +1,19 @@
export * from '@unocss/core';
export { default as presetAttributify } from '@unocss/preset-attributify';
export { default as presetIcons } from '@unocss/preset-icons';
export { default as presetMini } from '@unocss/preset-mini';
export { default as presetTagify } from '@unocss/preset-tagify';
export { default as presetTypography } from '@unocss/preset-typography';
export { default as presetUno } from '@unocss/preset-uno';
export { default as presetWebFonts } from '@unocss/preset-web-fonts';
export { default as presetWind } from '@unocss/preset-wind';
export { default as transformerAttributifyJsx } from '@unocss/transformer-attributify-jsx';
export { default as transformerCompileClass } from '@unocss/transformer-compile-class';
export { default as transformerDirectives } from '@unocss/transformer-directives';
export { default as transformerVariantGroup } from '@unocss/transformer-variant-group';
function defineConfig(config) {
return config;
}
export { defineConfig };
+11
View File
@@ -0,0 +1,11 @@
'use strict';
const postcss = require('@unocss/postcss');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
const postcss__default = /*#__PURE__*/_interopDefaultCompat(postcss);
module.exports = postcss__default;
+3
View File
@@ -0,0 +1,3 @@
import postcss from '@unocss/postcss';
export = postcss;
+2
View File
@@ -0,0 +1,2 @@
import postcss from '@unocss/postcss';
export { default } from '@unocss/postcss';
+3
View File
@@ -0,0 +1,3 @@
import postcss from '@unocss/postcss';
export = postcss;
+2
View File
@@ -0,0 +1,2 @@
import postcss from '@unocss/postcss';
export { default } from '@unocss/postcss';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-attributify';
export { default } from '@unocss/preset-attributify';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-attributify';
export { default } from '@unocss/preset-attributify';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-attributify';
export { default } from '@unocss/preset-attributify';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-icons';
export { default } from '@unocss/preset-icons';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-icons';
export { default } from '@unocss/preset-icons';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-icons';
export { default } from '@unocss/preset-icons';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-mini';
export { default } from '@unocss/preset-mini';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-mini';
export { default } from '@unocss/preset-mini';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-mini';
export { default } from '@unocss/preset-mini';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-tagify';
export { default } from '@unocss/preset-tagify';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-tagify';
export { default } from '@unocss/preset-tagify';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-tagify';
export { default } from '@unocss/preset-tagify';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-typography';
export { default } from '@unocss/preset-typography';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-typography';
export { default } from '@unocss/preset-typography';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-typography';
export { default } from '@unocss/preset-typography';
+9
View File
@@ -0,0 +1,9 @@
export * from '@unocss/preset-uno';
export { default } from '@unocss/preset-uno';
import '@unocss/preset-icons';
import '@unocss/preset-attributify';
import '@unocss/preset-tagify';
import '@unocss/preset-web-fonts';
import '@unocss/preset-typography';
import '@unocss/preset-wind';
import '@unocss/preset-mini';
+9
View File
@@ -0,0 +1,9 @@
export * from '@unocss/preset-uno';
export { default } from '@unocss/preset-uno';
import '@unocss/preset-icons';
import '@unocss/preset-attributify';
import '@unocss/preset-tagify';
import '@unocss/preset-web-fonts';
import '@unocss/preset-typography';
import '@unocss/preset-wind';
import '@unocss/preset-mini';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-uno';
export { default } from '@unocss/preset-uno';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-web-fonts';
export { default } from '@unocss/preset-web-fonts';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-web-fonts';
export { default } from '@unocss/preset-web-fonts';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-web-fonts';
export { default } from '@unocss/preset-web-fonts';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-wind';
export { default } from '@unocss/preset-wind';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-wind';
export { default } from '@unocss/preset-wind';
+2
View File
@@ -0,0 +1,2 @@
export * from '@unocss/preset-wind';
export { default } from '@unocss/preset-wind';
+7
View File
@@ -0,0 +1,7 @@
import { VitePluginConfig } from '@unocss/vite';
export * from '@unocss/vite';
import { Plugin } from 'vite';
declare function UnocssVitePlugin<Theme extends object>(configOrPath?: VitePluginConfig<Theme> | string): Plugin[];
export { UnocssVitePlugin as default };
+7
View File
@@ -0,0 +1,7 @@
import { VitePluginConfig } from '@unocss/vite';
export * from '@unocss/vite';
import { Plugin } from 'vite';
declare function UnocssVitePlugin<Theme extends object>(configOrPath?: VitePluginConfig<Theme> | string): Plugin[];
export { UnocssVitePlugin as default };
+16
View File
@@ -0,0 +1,16 @@
import presetUno__default from '@unocss/preset-uno';
import VitePlugin__default from '@unocss/vite';
export * from '@unocss/vite';
function UnocssVitePlugin(configOrPath) {
return VitePlugin__default(
configOrPath,
{
presets: [
presetUno__default()
]
}
);
}
export { UnocssVitePlugin as default };
+34
View File
@@ -0,0 +1,34 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const presetUno = require('@unocss/preset-uno');
const WebpackPlugin = require('@unocss/webpack');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
const presetUno__default = /*#__PURE__*/_interopDefaultCompat(presetUno);
const WebpackPlugin__default = /*#__PURE__*/_interopDefaultCompat(WebpackPlugin);
function UnocssWebpackPlugin(configOrPath) {
return WebpackPlugin__default(
configOrPath,
{
presets: [
presetUno__default()
]
}
);
}
exports.default = UnocssWebpackPlugin;
Object.prototype.hasOwnProperty.call(WebpackPlugin, '__proto__') &&
!Object.prototype.hasOwnProperty.call(exports, '__proto__') &&
Object.defineProperty(exports, '__proto__', {
enumerable: true,
value: WebpackPlugin['__proto__']
});
Object.keys(WebpackPlugin).forEach(function (k) {
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = WebpackPlugin[k];
});
+6
View File
@@ -0,0 +1,6 @@
import { WebpackPluginOptions } from '@unocss/webpack';
export * from '@unocss/webpack';
declare function UnocssWebpackPlugin<Theme extends object>(configOrPath?: WebpackPluginOptions<Theme> | string): any;
export = UnocssWebpackPlugin;
+6
View File
@@ -0,0 +1,6 @@
import { WebpackPluginOptions } from '@unocss/webpack';
export * from '@unocss/webpack';
declare function UnocssWebpackPlugin<Theme extends object>(configOrPath?: WebpackPluginOptions<Theme> | string): any;
export { UnocssWebpackPlugin as default };
+6
View File
@@ -0,0 +1,6 @@
import { WebpackPluginOptions } from '@unocss/webpack';
export * from '@unocss/webpack';
declare function UnocssWebpackPlugin<Theme extends object>(configOrPath?: WebpackPluginOptions<Theme> | string): any;
export = UnocssWebpackPlugin;
+16
View File
@@ -0,0 +1,16 @@
import presetUno from '@unocss/preset-uno';
import WebpackPlugin__default from '@unocss/webpack';
export * from '@unocss/webpack';
function UnocssWebpackPlugin(configOrPath) {
return WebpackPlugin__default(
configOrPath,
{
presets: [
presetUno()
]
}
);
}
export { UnocssWebpackPlugin as default };
+152
View File
@@ -0,0 +1,152 @@
{
"name": "unocss",
"type": "module",
"version": "0.65.4",
"description": "The instant on-demand Atomic CSS engine.",
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
"license": "MIT",
"funding": "https://github.com/sponsors/antfu",
"homepage": "https://github.com/unocss/unocss#readme",
"repository": {
"type": "git",
"url": "https://github.com/unocss/unocss"
},
"sponsor": {
"url": "https://github.com/sponsors/antfu"
},
"bugs": {
"url": "https://github.com/unocss/unocss/issues"
},
"keywords": [
"unocss",
"atomic-css",
"atomic-css-engine",
"css",
"tailwind",
"windicss"
],
"sideEffects": false,
"exports": {
".": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"./preset-attributify": {
"types": "./dist/preset-attributify.d.mts",
"default": "./dist/preset-attributify.mjs"
},
"./preset-tagify": {
"types": "./dist/preset-tagify.d.mts",
"default": "./dist/preset-tagify.mjs"
},
"./preset-icons": {
"types": "./dist/preset-icons.d.mts",
"default": "./dist/preset-icons.mjs"
},
"./preset-mini": {
"types": "./dist/preset-mini.d.mts",
"default": "./dist/preset-mini.mjs"
},
"./preset-typography": {
"types": "./dist/preset-typography.d.mts",
"default": "./dist/preset-typography.mjs"
},
"./preset-uno": {
"types": "./dist/preset-uno.d.mts",
"default": "./dist/preset-uno.mjs"
},
"./preset-web-fonts": {
"types": "./dist/preset-web-fonts.d.mts",
"default": "./dist/preset-web-fonts.mjs"
},
"./preset-wind": {
"types": "./dist/preset-wind.d.mts",
"default": "./dist/preset-wind.mjs"
},
"./vite": {
"types": "./dist/vite.d.mts",
"default": "./dist/vite.mjs"
},
"./astro": {
"types": "./dist/astro.d.mts",
"default": "./dist/astro.mjs"
},
"./webpack": {
"import": {
"types": "./dist/webpack.d.mts",
"default": "./dist/webpack.mjs"
},
"require": {
"types": "./dist/webpack.d.cts",
"default": "./dist/webpack.cjs"
}
},
"./postcss": {
"import": {
"types": "./dist/postcss.d.mts",
"default": "./dist/postcss.mjs"
},
"require": {
"types": "./dist/postcss.d.cts",
"default": "./dist/postcss.cjs"
}
}
},
"main": "dist/index.mjs",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"typesVersions": {
"*": {
"*": [
"./dist/*",
"./*"
]
}
},
"files": [
"dist"
],
"engines": {
"node": ">=14"
},
"peerDependencies": {
"vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0",
"@unocss/webpack": "0.65.4"
},
"peerDependenciesMeta": {
"@unocss/webpack": {
"optional": true
},
"vite": {
"optional": true
}
},
"dependencies": {
"@unocss/astro": "0.65.4",
"@unocss/core": "0.65.4",
"@unocss/preset-attributify": "0.65.4",
"@unocss/postcss": "0.65.4",
"@unocss/preset-icons": "0.65.4",
"@unocss/cli": "0.65.4",
"@unocss/preset-mini": "0.65.4",
"@unocss/preset-tagify": "0.65.4",
"@unocss/preset-typography": "0.65.4",
"@unocss/preset-uno": "0.65.4",
"@unocss/preset-web-fonts": "0.65.4",
"@unocss/preset-wind": "0.65.4",
"@unocss/transformer-compile-class": "0.65.4",
"@unocss/transformer-variant-group": "0.65.4",
"@unocss/transformer-attributify-jsx": "0.65.4",
"@unocss/transformer-directives": "0.65.4",
"@unocss/vite": "0.65.4"
},
"devDependencies": {
"vite": "^6.0.5",
"@unocss/webpack": "0.65.4"
},
"scripts": {
"build": "unbuild",
"stub": "unbuild --stub",
"test:attw": "attw --pack --config-path ../../.attw-esm-only.json"
}
}