diff --git a/packages/unocss/build.config.ts b/packages/unocss/build.config.ts index 3c021bf780..5ee8d023f4 100644 --- a/packages/unocss/build.config.ts +++ b/packages/unocss/build.config.ts @@ -4,6 +4,7 @@ export default defineBuildConfig({ entries: [ 'src/index', 'src/vite', + 'src/webpack', 'src/preset-uno', 'src/preset-icons', 'src/preset-attributify', diff --git a/packages/unocss/package.json b/packages/unocss/package.json index 14f5000055..a9cf04e489 100644 --- a/packages/unocss/package.json +++ b/packages/unocss/package.json @@ -72,6 +72,11 @@ "types": "./dist/vite.d.ts", "require": "./dist/vite.cjs", "import": "./dist/vite.mjs" + }, + "./webpack": { + "types": "./dist/webpack.d.ts", + "require": "./dist/webpack.cjs", + "import": "./dist/webpack.mjs" } }, "main": "dist/index.cjs", @@ -88,6 +93,14 @@ "build": "unbuild", "stub": "unbuild --stub" }, + "peerDependencies": { + "@unocss/webpack": "workspace:*" + }, + "peerDependenciesMeta": { + "@unocss/webpack": { + "optional": true + } + }, "dependencies": { "@unocss/cli": "workspace:*", "@unocss/core": "workspace:*", diff --git a/packages/unocss/src/webpack.ts b/packages/unocss/src/webpack.ts new file mode 100644 index 0000000000..9ca288031e --- /dev/null +++ b/packages/unocss/src/webpack.ts @@ -0,0 +1,18 @@ +import type { WebpackPluginOptions } from '@unocss/webpack' +import WebpackPlugin from '@unocss/webpack' +import presetUno from '@unocss/preset-uno' + +export * from '@unocss/webpack' + +export default function UnocssWebpackPlugin( + configOrPath?: WebpackPluginOptions | string, +) { + return WebpackPlugin( + configOrPath, + { + presets: [ + presetUno(), + ], + }, + ) +} diff --git a/packages/webpack/README.md b/packages/webpack/README.md index 2a02cbf115..e8461bac23 100644 --- a/packages/webpack/README.md +++ b/packages/webpack/README.md @@ -9,12 +9,12 @@ Currently, this plugin only supports [the `global` mode](https://github.com/unoc ## Installation ```bash -npm i -D @unocss/webpack +npm i -D unocss @unocss/webpack ``` ```ts // webpack.config.js -const UnoCSS = require('@unocss/webpack').default +const UnoCSS = require('unocss/webpack').default module.exports = { plugins: [ diff --git a/packages/webpack/src/index.ts b/packages/webpack/src/index.ts index e87e5c7e8e..ae31cc6de4 100644 --- a/packages/webpack/src/index.ts +++ b/packages/webpack/src/index.ts @@ -23,8 +23,8 @@ export function defineConfig(config: WebpackPluginOptions( + configOrPath?: WebpackPluginOptions | string, defaults?: UserConfigDefaults, ) { return createUnplugin(() => {