diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index 1f264cd42..1f7d3bbaf 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -129,7 +129,6 @@ yarn nx run-many --target=type-check --all
- `@griffel/react` - React bindings and hooks
- `@griffel/webpack-loader` - Webpack build-time transforms
- `@griffel/vite-plugin` - Vite build-time transforms
-- `@griffel/next-extraction-plugin` - Next.js CSS extraction
- `@griffel/devtools` - Browser extension for debugging
- `@griffel/eslint-plugin` - ESLint rules for Griffel usage
diff --git a/apps/website/docs/react/ahead-of-time-compilation/with-webpack.md b/apps/website/docs/react/ahead-of-time-compilation/with-webpack.md
index 2c1096553..262f182c9 100644
--- a/apps/website/docs/react/ahead-of-time-compilation/with-webpack.md
+++ b/apps/website/docs/react/ahead-of-time-compilation/with-webpack.md
@@ -13,14 +13,14 @@ import TabItem from '@theme/TabItem';
```shell
-yarn add --dev @griffel/webpack-loader
+yarn add --dev @griffel/webpack-plugin
```
```shell
-npm install --save-dev @griffel/webpack-loader
+npm install --save-dev @griffel/webpack-plugin
```
@@ -30,7 +30,7 @@ npm install --save-dev @griffel/webpack-loader
Webpack documentation: [Loaders](https://webpack.js.org/loaders/)
-Within your webpack configuration object, you'll need to add the `@griffel/webpack-loader` to the list of modules, like so:
+Within your webpack configuration object, you'll need to add the `@griffel/webpack-plugin` loader to the list of modules, like so:
```js
module.exports = {
@@ -40,7 +40,7 @@ module.exports = {
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
- loader: '@griffel/webpack-loader',
+ loader: '@griffel/webpack-plugin/loader',
},
},
@@ -49,7 +49,7 @@ module.exports = {
test: /\.(ts|tsx)$/,
exclude: /node_modules/,
use: {
- loader: '@griffel/webpack-loader',
+ loader: '@griffel/webpack-plugin/loader',
options: {
babelOptions: {
presets: ['@babel/preset-typescript'],
@@ -72,7 +72,7 @@ module.exports = {
test: /\.styles.ts$/,
exclude: /node_modules/,
use: {
- loader: '@griffel/webpack-loader',
+ loader: '@griffel/webpack-plugin/loader',
options: {
babelOptions: {
presets: ['@babel/preset-typescript'],
@@ -99,7 +99,7 @@ module.exports = {
exclude: /node_modules/,
use: [
{
- loader: '@griffel/webpack-loader',
+ loader: '@griffel/webpack-plugin/loader',
},
],
});
@@ -110,7 +110,7 @@ module.exports = {
exclude: /node_modules/,
use: [
{
- loader: '@griffel/webpack-loader',
+ loader: '@griffel/webpack-plugin/loader',
options: {
babelOptions: {
presets: ['next/babel'],
@@ -127,4 +127,4 @@ module.exports = {
## Configuration
-Please check [the README](https://github.com/microsoft/griffel/tree/main/packages/webpack-loader) of `@griffel/webpack-loader` to check how to configure module evaluation and imports.
+Please check [the README](https://github.com/microsoft/griffel/tree/main/packages/webpack-plugin) of `@griffel/webpack-plugin` to check how to configure module evaluation and imports.
diff --git a/apps/website/docs/react/css-extraction/with-nextjs.md b/apps/website/docs/react/css-extraction/with-nextjs.md
deleted file mode 100644
index d44bbca22..000000000
--- a/apps/website/docs/react/css-extraction/with-nextjs.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-sidebar_position: 3
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# With Next.js
-
-## Install
-
-
-
-
-```shell
-yarn add --dev @griffel/next-extraction-plugin
-```
-
-
-
-
-```shell
-npm install --save-dev @griffel/next-extraction-plugin
-```
-
-
-
-
-## Usage
-
-:::info
-
-Please configure [`@griffel/webpack-loader`](/react/ahead-of-time-compilation/with-webpack) first.
-
-:::
-
-In `next.config.js` file you'll need to add the next-plugin from `@griffel/webpack-extraction-plugin` like so:
-
-```js
-// next.config.js
-const { withGriffelCSSExtraction } = require('@griffel/next-extraction-plugin');
-
-module.exports = withGriffelCSSExtraction()({
- webpack(config) {
- config.module.rules.unshift({
- test: /\.(js|jsx)$/,
- exclude: /node_modules/,
- use: [
- {
- loader: '@griffel/webpack-loader',
- },
- ],
- });
-
- // If your project uses TypeScript
- config.module.rules.unshift({
- test: /\.(ts|tsx)$/,
- exclude: /node_modules/,
- use: [
- {
- loader: '@griffel/webpack-loader',
- options: {
- babelOptions: {
- presets: ['next/babel'],
- },
- },
- },
- ],
- });
-
- return config;
- },
-});
-```
diff --git a/apps/website/docs/react/css-extraction/with-webpack.md b/apps/website/docs/react/css-extraction/with-webpack.md
index 9e78b96fb..df8aa1d61 100644
--- a/apps/website/docs/react/css-extraction/with-webpack.md
+++ b/apps/website/docs/react/css-extraction/with-webpack.md
@@ -13,14 +13,14 @@ import TabItem from '@theme/TabItem';
```shell
-yarn add --dev @griffel/webpack-extraction-plugin
+yarn add --dev @griffel/webpack-plugin
```
```shell
-npm install --save-dev @griffel/webpack-extraction-plugin
+npm install --save-dev @griffel/webpack-plugin
```
@@ -28,16 +28,10 @@ npm install --save-dev @griffel/webpack-extraction-plugin
## Usage
-:::info
-
-Please configure [`@griffel/webpack-loader`](/react/ahead-of-time-compilation/with-webpack) first.
-
-:::
-
-Within your Webpack configuration object, you'll need to add the loader and the plugin from `@griffel/webpack-extraction-plugin` like so:
+Within your Webpack configuration object, you'll need to add the loader and the plugin from `@griffel/webpack-plugin` like so:
```js
-const { GriffelCSSExtractionPlugin } = require('@griffel/webpack-extraction-plugin');
+const { GriffelPlugin } = require('@griffel/webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
@@ -48,20 +42,7 @@ module.exports = {
// Apply "exclude" only if your dependencies **do not use** Griffel
// exclude: /node_modules/,
use: {
- loader: GriffelCSSExtractionPlugin.loader,
- },
- },
- // Add "@griffel/webpack-loader" if you use Griffel directly in your project
- {
- test: /\.(ts|tsx)$/,
- exclude: /node_modules/,
- use: {
- loader: '@griffel/webpack-loader',
- options: {
- babelOptions: {
- presets: ['@babel/preset-typescript'],
- },
- },
+ loader: '@griffel/webpack-plugin/loader',
},
},
// "css-loader" is required to handle produced CSS assets by Griffel
@@ -72,7 +53,7 @@ module.exports = {
},
],
},
- plugins: [new MiniCssExtractPlugin(), new GriffelCSSExtractionPlugin()],
+ plugins: [new MiniCssExtractPlugin(), new GriffelPlugin()],
};
```
@@ -84,10 +65,10 @@ module.exports = {
:::
-For better performance (to process less files) consider using `include` for `GriffelCSSExtractionPlugin.loader`:
+For better performance (to process less files) consider using `include` for `@griffel/webpack-plugin/loader`:
```js
-const { GriffelCSSExtractionPlugin } = require('@griffel/webpack-extraction-plugin');
+const { GriffelPlugin } = require('@griffel/webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
@@ -101,7 +82,7 @@ module.exports = {
// see https://webpack.js.org/configuration/module/#condition
],
use: {
- loader: GriffelCSSExtractionPlugin.loader,
+ loader: '@griffel/webpack-plugin/loader',
},
},
],
@@ -116,9 +97,6 @@ If you use `mini-css-extract-plugin`, you may need to set it to `false` to remov
```
WARNING in chunk griffel [mini-css-extract-plugin]
Conflicting order. Following module has been added:
-* css ./node_modules/css-loader/dist/cjs.js!./node_modules/@griffel/webpack-extraction-plugin/virtual-loader/index.js?style=%2F**%20%40griffel%3Acss-start%20%5Bd%5D%20**%2F%0A.fm40iov%7Bcolor%3A%23ccc%3B%7D%0A%2F**%20%40griffel%3Acss-end%20**%2F%0A!./src/foo-module/baz.js
- despite it was not able to fulfill desired ordering with these modules:
-* css ./node_modules/css-loader/dist/cjs.js!./node_modules/@griffel/webpack-extraction-plugin/virtual-loader/index.js?style=%2F**%20%40griffel%3Acss-start%20%5Bd%5D%20**%2F%0A.f1e30ogq%7Bcolor%3Ablueviolet%3B%7D%0A%2F**%20%40griffel%3Acss-end%20**%2F%0A!./src/foo-module/qux.js
- couldn't fulfill desired order of chunk group(s)
```
diff --git a/e2e/rspack/project.json b/e2e/rspack/project.json
index a5ce4e01e..d8296cdfa 100644
--- a/e2e/rspack/project.json
+++ b/e2e/rspack/project.json
@@ -3,7 +3,7 @@
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "e2e/rspack/src",
"projectType": "library",
- "implicitDependencies": ["@griffel/webpack-loader"],
+ "implicitDependencies": ["@griffel/webpack-plugin"],
"targets": {
"test": {
"executor": "nx:run-commands",
diff --git a/e2e/rspack/src/assets/rspack.config.js b/e2e/rspack/src/assets/rspack.config.js
index e2b46f448..75309635f 100644
--- a/e2e/rspack/src/assets/rspack.config.js
+++ b/e2e/rspack/src/assets/rspack.config.js
@@ -1,7 +1,6 @@
// @ts-check
-const { GriffelCSSExtractionPlugin } = require('@griffel/webpack-extraction-plugin');
-const path = require('path');
+const { GriffelPlugin } = require('@griffel/webpack-plugin');
/**
* @type {import('@rspack/core').Configuration}
@@ -22,17 +21,11 @@ const config = {
{
test: /\.js$/,
exclude: /node_modules/,
- use: [{ loader: GriffelCSSExtractionPlugin.loader }, { loader: '@griffel/webpack-loader' }],
+ use: [{ loader: '@griffel/webpack-plugin/loader' }],
},
],
},
- plugins: [/** @type {any} */ (new GriffelCSSExtractionPlugin())],
- resolve: {
- alias: {
- 'fake-module': path.resolve(__dirname, 'src', 'Component.js'),
- 'fake-colors': path.resolve(__dirname, 'src', 'colors.js'),
- },
- },
+ plugins: [/** @type {any} */ (new GriffelPlugin())],
};
module.exports = config;
diff --git a/e2e/rspack/src/assets/src/Component.js b/e2e/rspack/src/assets/src/Component.js
index 3fa3da096..bcda77aea 100644
--- a/e2e/rspack/src/assets/src/Component.js
+++ b/e2e/rspack/src/assets/src/Component.js
@@ -1,6 +1,5 @@
import { makeResetStyles, makeStyles } from '@griffel/react';
-// @ts-expect-error It's a fake module resolved via aliases
-import { colors } from 'fake-colors';
+import { colors } from './colors.js';
const useClasses = makeStyles({
root: {
diff --git a/e2e/rspack/src/assets/src/index.js b/e2e/rspack/src/assets/src/index.js
index 63b7c27e0..fe97f0f0e 100644
--- a/e2e/rspack/src/assets/src/index.js
+++ b/e2e/rspack/src/assets/src/index.js
@@ -1,4 +1,3 @@
-// @ts-expect-error It's a fake module resolved via aliases
-import { Component } from 'fake-module';
+import { Component } from './Component.js';
console.log(Component);
diff --git a/e2e/rspack/src/test.ts b/e2e/rspack/src/test.ts
index b532efc4f..1cda86713 100644
--- a/e2e/rspack/src/test.ts
+++ b/e2e/rspack/src/test.ts
@@ -26,9 +26,9 @@ async function performTest() {
packLocalPackage(rootDir, tempDir, '@griffel/style-types'),
packLocalPackage(rootDir, tempDir, '@griffel/core'),
packLocalPackage(rootDir, tempDir, '@griffel/react'),
- packLocalPackage(rootDir, tempDir, '@griffel/babel-preset'),
- packLocalPackage(rootDir, tempDir, '@griffel/webpack-extraction-plugin'),
- packLocalPackage(rootDir, tempDir, '@griffel/webpack-loader'),
+ packLocalPackage(rootDir, tempDir, '@griffel/transform-shaker'),
+ packLocalPackage(rootDir, tempDir, '@griffel/transform'),
+ packLocalPackage(rootDir, tempDir, '@griffel/webpack-plugin'),
]);
const rspackVersion = (await sh(`yarn rspack --version`, rootDir, true)).trim();
diff --git a/packages/next-extraction-plugin/.eslintrc.json b/packages/next-extraction-plugin/.eslintrc.json
deleted file mode 100644
index 9d9c0db55..000000000
--- a/packages/next-extraction-plugin/.eslintrc.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "extends": ["../../.eslintrc.json"],
- "ignorePatterns": ["!**/*"],
- "overrides": [
- {
- "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
- "rules": {}
- },
- {
- "files": ["*.ts", "*.tsx"],
- "rules": {}
- },
- {
- "files": ["*.js", "*.jsx"],
- "rules": {}
- }
- ]
-}
diff --git a/packages/next-extraction-plugin/CHANGELOG.json b/packages/next-extraction-plugin/CHANGELOG.json
deleted file mode 100644
index 05013850e..000000000
--- a/packages/next-extraction-plugin/CHANGELOG.json
+++ /dev/null
@@ -1,917 +0,0 @@
-{
- "name": "@griffel/next-extraction-plugin",
- "entries": [
- {
- "date": "Fri, 06 Mar 2026 15:56:28 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.15",
- "version": "0.1.15",
- "comments": {
- "none": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "f422dee59ffc7ad2f4e5396def5dae5c9785cf24",
- "comment": "chore: hoist common tsconfig strict options to base config"
- }
- ],
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.14",
- "commit": "75914de37870943b9f2d483be421efe9cad8872f"
- }
- ]
- }
- },
- {
- "date": "Fri, 06 Mar 2026 08:17:05 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.14",
- "version": "0.1.14",
- "comments": {
- "patch": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "5370788cea69e6e6e66a21e3bcc7031791d69811",
- "comment": "fix: work with Next.js 15"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.13",
- "commit": "832ca3b88650bb8fa8b20499ade2e679518bc934"
- }
- ]
- }
- },
- {
- "date": "Tue, 05 Aug 2025 16:25:42 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.13",
- "version": "0.1.13",
- "comments": {
- "none": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "fce8acbe447eb79df31918e5fd56f264ee1a3440",
- "comment": "chore: bump nx to 21.3.8"
- }
- ],
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.12",
- "commit": "04c09e10c83c712def41323320eb798c78638487"
- }
- ]
- }
- },
- {
- "date": "Mon, 28 Jul 2025 09:12:30 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.12",
- "version": "0.1.12",
- "comments": {
- "none": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "a588a6c1f301e598557a8a1255f6069ccbbb2534",
- "comment": "chore: apply release"
- }
- ],
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.11",
- "commit": "230887b0ab80fb2db29ed04687f15d14d0200396"
- }
- ]
- }
- },
- {
- "date": "Tue, 22 Apr 2025 10:05:48 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.11",
- "version": "0.1.11",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.10",
- "commit": "d25d0967a81daac6fd8640961836b806ecfc7fe8"
- }
- ]
- }
- },
- {
- "date": "Thu, 23 Jan 2025 12:09:03 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.10",
- "version": "0.1.10",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.9",
- "commit": "78b2b5f231e3032de8aa1b5c5794a2a4317df42e"
- }
- ]
- }
- },
- {
- "date": "Wed, 22 Jan 2025 13:44:43 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.9",
- "version": "0.1.9",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.8",
- "commit": "fa0a08b0452669a9bc4e0f83b2dbcd85b97f733e"
- }
- ]
- }
- },
- {
- "date": "Tue, 12 Nov 2024 09:58:11 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.8",
- "version": "0.1.8",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.7",
- "commit": "4dd2eec22aaff93dead8429c4a35496de7dab438"
- }
- ]
- }
- },
- {
- "date": "Thu, 31 Oct 2024 16:16:50 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.7",
- "version": "0.1.7",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.6",
- "commit": "00ba8831f3b895c1600e8211895c0d2b99c13365"
- }
- ]
- }
- },
- {
- "date": "Mon, 29 Jul 2024 07:31:53 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.6",
- "version": "0.1.6",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.5",
- "commit": "aa24116ea5cf763ee7f56363067a5c386c4c2222"
- }
- ]
- }
- },
- {
- "date": "Wed, 10 Jul 2024 14:36:29 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.5",
- "version": "0.1.5",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.4",
- "commit": "15496655df98b9d8e8f505b461cc6dbd12e3122e"
- }
- ]
- }
- },
- {
- "date": "Wed, 22 May 2024 08:24:17 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.4",
- "version": "0.1.4",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.3",
- "commit": "6ae570dbbd711a5e95184004f5d4d98a8ffa2df3"
- }
- ]
- }
- },
- {
- "date": "Thu, 02 May 2024 14:07:14 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.3",
- "version": "0.1.3",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.2",
- "commit": "9745935b1bd28b02ee7c19d9195883e8454f0810"
- }
- ]
- }
- },
- {
- "date": "Tue, 19 Mar 2024 11:33:53 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.2",
- "version": "0.1.2",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.1",
- "commit": "95326c52b330ad9d286fad926f2aa26914c39061"
- }
- ]
- }
- },
- {
- "date": "Fri, 26 Jan 2024 10:01:06 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.1",
- "version": "0.1.1",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.5.0",
- "commit": "b7180a73848f6c3aa277716d5c3411024d946197"
- }
- ]
- }
- },
- {
- "date": "Tue, 23 Jan 2024 11:03:15 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.0",
- "version": "0.1.0",
- "comments": {
- "none": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "9c0b1acf69a4645331d1623b1f0b5484ce5d2cc9",
- "comment": "chore: bump to Nx@15.9.7"
- }
- ]
- }
- },
- {
- "date": "Fri, 12 Jan 2024 11:08:40 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.1.0",
- "version": "0.1.0",
- "comments": {
- "minor": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "f134bc6056599a78cf27b71dec854224a162ee22",
- "comment": "chore: require Next.js 13 or 14"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.4.5",
- "commit": "0d2e5506d6b9bc9d7e4a102b88c2bb25eff9a34d"
- }
- ],
- "patch": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "5f2a0e43eb2ff94914904b54bd474cd1af948b6f",
- "comment": "chore: improve checks on .rules"
- }
- ]
- }
- },
- {
- "date": "Thu, 30 Nov 2023 16:42:15 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.36",
- "version": "0.0.36",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.4.4",
- "commit": "7d72d1eb3439ef8423fe958035a1525da1822750"
- }
- ]
- }
- },
- {
- "date": "Mon, 13 Nov 2023 15:16:05 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.35",
- "version": "0.0.35",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.4.3",
- "commit": "dbbdcb6cdacb4ee3200b0dbb4a6e4da7fd443805"
- }
- ]
- }
- },
- {
- "date": "Thu, 09 Nov 2023 14:35:07 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.34",
- "version": "0.0.34",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.4.2",
- "commit": "8f213a0c040ee833b268cb2558adf976773ac14d"
- }
- ]
- }
- },
- {
- "date": "Mon, 30 Oct 2023 14:08:55 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.33",
- "version": "0.0.33",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.4.1",
- "commit": "f001ae503d75d7ddcf70d0633e2f51111b70ed45"
- }
- ]
- }
- },
- {
- "date": "Wed, 18 Oct 2023 09:11:01 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.32",
- "version": "0.0.32",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.4.0",
- "commit": "c2d669493849f4c117624862379f05c25d7f1b40"
- }
- ]
- }
- },
- {
- "date": "Tue, 03 Oct 2023 19:09:32 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.31",
- "version": "0.0.31",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.22",
- "commit": "1476e34bd093df1132181acfebbb8c51922d5c8b"
- }
- ]
- }
- },
- {
- "date": "Fri, 15 Sep 2023 08:08:43 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.30",
- "version": "0.0.30",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.21",
- "commit": "744403e2d046701dc82b02460a60e1680bb60f2e"
- }
- ]
- }
- },
- {
- "date": "Fri, 01 Sep 2023 12:27:27 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.29",
- "version": "0.0.29",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.20",
- "commit": "64613e2b35984a40f1e1de4229409669d3499bfb"
- }
- ]
- }
- },
- {
- "date": "Mon, 28 Aug 2023 17:17:47 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.28",
- "version": "0.0.28",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.19",
- "commit": "5865f8ac8953dc0caa5dc47807e8bc9cc6487dae"
- }
- ]
- }
- },
- {
- "date": "Mon, 31 Jul 2023 12:18:47 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.27",
- "version": "0.0.27",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.18",
- "commit": "fa5f0d726cbdca1cc583ccc7af4578a7f3f6599f"
- }
- ]
- }
- },
- {
- "date": "Mon, 31 Jul 2023 09:05:33 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.26",
- "version": "0.0.26",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.17",
- "commit": "1d0df068e80f3cb602651f1875edbd625d221c47"
- }
- ]
- }
- },
- {
- "date": "Wed, 19 Jul 2023 07:32:54 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.25",
- "version": "0.0.25",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.16",
- "commit": "47f4df96449fc23545eab7c58ede2e55610c637c"
- }
- ]
- }
- },
- {
- "date": "Thu, 13 Jul 2023 11:31:22 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.24",
- "version": "0.0.24",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.15",
- "commit": "2f75c38dada524264284c2a92c57437309dcf491"
- }
- ]
- }
- },
- {
- "date": "Thu, 29 Jun 2023 12:49:54 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.23",
- "version": "0.0.23",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.14",
- "commit": "105857b021ee1d471efc29037a20601fb80bc72a"
- }
- ]
- }
- },
- {
- "date": "Wed, 28 Jun 2023 16:07:13 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.22",
- "version": "0.0.22",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.13",
- "commit": "d551a7f5a11b4123d1b353cab37e85058de17eb4"
- }
- ]
- }
- },
- {
- "date": "Tue, 27 Jun 2023 14:18:04 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.21",
- "version": "0.0.21",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.12",
- "commit": "02499fc94501e5f859aef982db3d9a23bc2a13bc"
- }
- ]
- }
- },
- {
- "date": "Tue, 25 Apr 2023 14:34:44 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.20",
- "version": "0.0.20",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.11",
- "commit": "b7b8ccddbc7681cdb9894d7415cd51ea29320145"
- }
- ]
- }
- },
- {
- "date": "Fri, 14 Apr 2023 07:58:49 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.19",
- "version": "0.0.19",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.10",
- "commit": "ff7edd54e829fbeb5453383fe6a19009e44b64b2"
- }
- ]
- }
- },
- {
- "date": "Wed, 29 Mar 2023 12:45:13 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.18",
- "version": "0.0.18",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.9",
- "commit": "9ad8031fa6346e97d5d444b26d7bdf380f9c69c1"
- }
- ]
- }
- },
- {
- "date": "Tue, 28 Mar 2023 13:04:53 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.17",
- "version": "0.0.17",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.8",
- "commit": "a0b6a6c16329b9ab79a603cbcfbbee7de80dba0e"
- }
- ]
- }
- },
- {
- "date": "Thu, 02 Mar 2023 14:51:11 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.16",
- "version": "0.0.16",
- "comments": {
- "none": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "d8e62d7756c8bd3908e2ce5a95ee0a842fc7df9d",
- "comment": "chore: bump Nx"
- }
- ],
- "patch": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "3edb840d4139d81744620d8bded738d814cd71f5",
- "comment": "chore: remove @griffel/core from peerDependencies"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.7",
- "commit": "3edb840d4139d81744620d8bded738d814cd71f5"
- }
- ]
- }
- },
- {
- "date": "Fri, 10 Feb 2023 10:23:25 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.15",
- "version": "0.0.15",
- "comments": {
- "none": [
- {
- "author": "olfedias@microsoft.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "bb07d370d3084b9bd7f2941fd82be79fa6c99b4b",
- "comment": "chore: update tsconfig files"
- }
- ],
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.6",
- "commit": "5837c739ee141a9099a031449870dbca46ce648d"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.9.2",
- "commit": "5837c739ee141a9099a031449870dbca46ce648d"
- }
- ]
- }
- },
- {
- "date": "Wed, 01 Feb 2023 10:47:40 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.14",
- "version": "0.0.14",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.5",
- "commit": "15fa8433ef03cb28b8f528960ae335e9e2231eeb"
- }
- ]
- }
- },
- {
- "date": "Thu, 26 Jan 2023 14:06:28 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.13",
- "version": "0.0.13",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.4",
- "commit": "d87ba30b4f07fc759c0abb18ff86fd57dd79296f"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.9.1",
- "commit": "d87ba30b4f07fc759c0abb18ff86fd57dd79296f"
- }
- ]
- }
- },
- {
- "date": "Tue, 20 Dec 2022 11:48:33 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.12",
- "version": "0.0.12",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.3",
- "commit": "7d2e3ba8656afccb6cf0b56e7b7f6cce0ae9fd15"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.9.0",
- "commit": "7d2e3ba8656afccb6cf0b56e7b7f6cce0ae9fd15"
- }
- ]
- }
- },
- {
- "date": "Fri, 09 Dec 2022 11:15:19 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.11",
- "version": "0.0.11",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.2",
- "commit": "9b94a45ba5bd526460dd97aaea103cf64d9d5450"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.8.3",
- "commit": "9b94a45ba5bd526460dd97aaea103cf64d9d5450"
- }
- ]
- }
- },
- {
- "date": "Wed, 30 Nov 2022 17:14:53 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.10",
- "version": "0.0.10",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.1",
- "commit": "f985b6dc5e3576f5aacce45752755d06cff7ef70"
- }
- ]
- }
- },
- {
- "date": "Wed, 30 Nov 2022 09:32:24 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.9",
- "version": "0.0.9",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.3.0",
- "commit": "f5c9ec05b8892ef7388e876671b475daf64b28b6"
- }
- ]
- }
- },
- {
- "date": "Thu, 24 Nov 2022 10:05:12 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.8",
- "version": "0.0.8",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.2.2",
- "commit": "fc3403a602d5dd0b206ceeb48ca689cb2fdf6d37"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.8.2",
- "commit": "fc3403a602d5dd0b206ceeb48ca689cb2fdf6d37"
- }
- ]
- }
- },
- {
- "date": "Wed, 26 Oct 2022 11:06:03 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.7",
- "version": "0.0.7",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.2.1",
- "commit": "f9fb5726c89abff0c7f5e07c6e1d1c8e0ebbcde6"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.8.1",
- "commit": "f9fb5726c89abff0c7f5e07c6e1d1c8e0ebbcde6"
- }
- ]
- }
- },
- {
- "date": "Thu, 13 Oct 2022 08:36:18 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.6",
- "version": "0.0.6",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.2.0",
- "commit": "32d9b0bfa4372343d710368b6bed1cc5185a6684"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.8.0",
- "commit": "32d9b0bfa4372343d710368b6bed1cc5185a6684"
- }
- ]
- }
- },
- {
- "date": "Wed, 05 Oct 2022 14:28:43 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.5",
- "version": "0.0.5",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.1.8",
- "commit": "9173966f4f1c69556f68351e6361d9302c674621"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.7.0",
- "commit": "9173966f4f1c69556f68351e6361d9302c674621"
- }
- ]
- }
- },
- {
- "date": "Tue, 04 Oct 2022 08:44:33 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.4",
- "version": "0.0.4",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.1.7",
- "commit": "6828b9b754d65621e12a8fbff54c9f486eab032e"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.6.1",
- "commit": "6828b9b754d65621e12a8fbff54c9f486eab032e"
- }
- ]
- }
- },
- {
- "date": "Tue, 16 Aug 2022 11:16:00 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.3",
- "version": "0.0.3",
- "comments": {
- "patch": [
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.1.6",
- "commit": "545253c7bd0c84f3c72803b6b88946e617922714"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/core to v1.6.0",
- "commit": "545253c7bd0c84f3c72803b6b88946e617922714"
- }
- ]
- }
- },
- {
- "date": "Fri, 05 Aug 2022 09:44:44 GMT",
- "tag": "@griffel/next-extraction-plugin_v0.0.2",
- "version": "0.0.2",
- "comments": {
- "patch": [
- {
- "author": "dwlad90@gmail.com",
- "package": "@griffel/next-extraction-plugin",
- "commit": "81c9176d20ecefdeca14c94fb4705563f5faeba2",
- "comment": "feat: export GriffelCSSExtractionPluginOptions type"
- },
- {
- "author": "beachball",
- "package": "@griffel/next-extraction-plugin",
- "comment": "Bump @griffel/webpack-extraction-plugin to v0.1.5",
- "commit": "81c9176d20ecefdeca14c94fb4705563f5faeba2"
- }
- ]
- }
- }
- ]
-}
diff --git a/packages/next-extraction-plugin/CHANGELOG.md b/packages/next-extraction-plugin/CHANGELOG.md
deleted file mode 100644
index 76f9c95f1..000000000
--- a/packages/next-extraction-plugin/CHANGELOG.md
+++ /dev/null
@@ -1,431 +0,0 @@
-# Change Log - @griffel/next-extraction-plugin
-
-This log was last generated on Fri, 06 Mar 2026 15:56:28 GMT and should not be manually modified.
-
-
-
-## 0.1.15
-
-Fri, 06 Mar 2026 15:56:28 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.14
-
-## 0.1.14
-
-Fri, 06 Mar 2026 08:17:05 GMT
-
-### Patches
-
-- fix: work with Next.js 15 (olfedias@microsoft.com)
-- Bump @griffel/webpack-extraction-plugin to v0.5.13
-
-## 0.1.13
-
-Tue, 05 Aug 2025 16:25:42 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.12
-
-## 0.1.12
-
-Mon, 28 Jul 2025 09:12:30 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.11
-
-## 0.1.11
-
-Tue, 22 Apr 2025 10:05:48 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.10
-
-## 0.1.10
-
-Thu, 23 Jan 2025 12:09:03 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.9
-
-## 0.1.9
-
-Wed, 22 Jan 2025 13:44:43 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.8
-
-## 0.1.8
-
-Tue, 12 Nov 2024 09:58:11 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.7
-
-## 0.1.7
-
-Thu, 31 Oct 2024 16:16:50 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.6
-
-## 0.1.6
-
-Mon, 29 Jul 2024 07:31:53 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.5
-
-## 0.1.5
-
-Wed, 10 Jul 2024 14:36:29 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.4
-
-## 0.1.4
-
-Wed, 22 May 2024 08:24:17 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.3
-
-## 0.1.3
-
-Thu, 02 May 2024 14:07:14 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.2
-
-## 0.1.2
-
-Tue, 19 Mar 2024 11:33:53 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.1
-
-## 0.1.1
-
-Fri, 26 Jan 2024 10:01:06 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.5.0
-
-## 0.1.0
-
-Fri, 12 Jan 2024 11:08:40 GMT
-
-### Minor changes
-
-- chore: require Next.js 13 or 14 (olfedias@microsoft.com)
-- Bump @griffel/webpack-extraction-plugin to v0.4.5
-
-### Patches
-
-- chore: improve checks on .rules (olfedias@microsoft.com)
-
-## 0.0.36
-
-Thu, 30 Nov 2023 16:42:15 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.4.4
-
-## 0.0.35
-
-Mon, 13 Nov 2023 15:16:05 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.4.3
-
-## 0.0.34
-
-Thu, 09 Nov 2023 14:35:07 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.4.2
-
-## 0.0.33
-
-Mon, 30 Oct 2023 14:08:55 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.4.1
-
-## 0.0.32
-
-Wed, 18 Oct 2023 09:11:01 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.4.0
-
-## 0.0.31
-
-Tue, 03 Oct 2023 19:09:32 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.22
-
-## 0.0.30
-
-Fri, 15 Sep 2023 08:08:43 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.21
-
-## 0.0.29
-
-Fri, 01 Sep 2023 12:27:27 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.20
-
-## 0.0.28
-
-Mon, 28 Aug 2023 17:17:47 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.19
-
-## 0.0.27
-
-Mon, 31 Jul 2023 12:18:47 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.18
-
-## 0.0.26
-
-Mon, 31 Jul 2023 09:05:33 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.17
-
-## 0.0.25
-
-Wed, 19 Jul 2023 07:32:54 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.16
-
-## 0.0.24
-
-Thu, 13 Jul 2023 11:31:22 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.15
-
-## 0.0.23
-
-Thu, 29 Jun 2023 12:49:54 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.14
-
-## 0.0.22
-
-Wed, 28 Jun 2023 16:07:13 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.13
-
-## 0.0.21
-
-Tue, 27 Jun 2023 14:18:04 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.12
-
-## 0.0.20
-
-Tue, 25 Apr 2023 14:34:44 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.11
-
-## 0.0.19
-
-Fri, 14 Apr 2023 07:58:49 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.10
-
-## 0.0.18
-
-Wed, 29 Mar 2023 12:45:13 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.9
-
-## 0.0.17
-
-Tue, 28 Mar 2023 13:04:53 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.8
-
-## 0.0.16
-
-Thu, 02 Mar 2023 14:51:11 GMT
-
-### Patches
-
-- chore: remove @griffel/core from peerDependencies (olfedias@microsoft.com)
-- Bump @griffel/webpack-extraction-plugin to v0.3.7
-
-## 0.0.15
-
-Fri, 10 Feb 2023 10:23:25 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.6
-- Bump @griffel/core to v1.9.2
-
-## 0.0.14
-
-Wed, 01 Feb 2023 10:47:40 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.5
-
-## 0.0.13
-
-Thu, 26 Jan 2023 14:06:28 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.4
-- Bump @griffel/core to v1.9.1
-
-## 0.0.12
-
-Tue, 20 Dec 2022 11:48:33 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.3
-- Bump @griffel/core to v1.9.0
-
-## 0.0.11
-
-Fri, 09 Dec 2022 11:15:19 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.2
-- Bump @griffel/core to v1.8.3
-
-## 0.0.10
-
-Wed, 30 Nov 2022 17:14:53 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.1
-
-## 0.0.9
-
-Wed, 30 Nov 2022 09:32:24 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.3.0
-
-## 0.0.8
-
-Thu, 24 Nov 2022 10:05:12 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.2.2
-- Bump @griffel/core to v1.8.2
-
-## 0.0.7
-
-Wed, 26 Oct 2022 11:06:03 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.2.1
-- Bump @griffel/core to v1.8.1
-
-## 0.0.6
-
-Thu, 13 Oct 2022 08:36:18 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.2.0
-- Bump @griffel/core to v1.8.0
-
-## 0.0.5
-
-Wed, 05 Oct 2022 14:28:43 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.1.8
-- Bump @griffel/core to v1.7.0
-
-## 0.0.4
-
-Tue, 04 Oct 2022 08:44:33 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.1.7
-- Bump @griffel/core to v1.6.1
-
-## 0.0.3
-
-Tue, 16 Aug 2022 11:16:00 GMT
-
-### Patches
-
-- Bump @griffel/webpack-extraction-plugin to v0.1.6
-- Bump @griffel/core to v1.6.0
-
-## 0.0.2
-
-Fri, 05 Aug 2022 09:44:44 GMT
-
-### Patches
-
-- feat: export GriffelCSSExtractionPluginOptions type (dwlad90@gmail.com)
-- Bump @griffel/webpack-extraction-plugin to v0.1.5
diff --git a/packages/next-extraction-plugin/README.md b/packages/next-extraction-plugin/README.md
deleted file mode 100644
index 558b4a7a5..000000000
--- a/packages/next-extraction-plugin/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# Next plugin to perform CSS extraction in Griffel
-
-A plugin for NextJS 12.0.5 and newer that adds [`@griffel/webpack-extraction-plugin`](../webpack-extraction-plugin) to webpack loaders pipeline.
-
-
-
-
-- [Install](#install)
-- [Usage](#usage)
-
-
-
-## Install
-
-```bash
-yarn add --dev @griffel/next-extraction-plugin
-# or
-npm install --save-dev @griffel/next-extraction-plugin
-```
-
-Please install `@griffel/webpack-loader` if you haven't done so already:
-
-```bash
-yarn add --dev @griffel/webpack-loader
-# or
-npm install --save-dev @griffel/webpack-loader
-```
-
-For more details please check [README of `@griffel/webpack-loader`](../webpack-loader/README.md).
-
-## Usage
-
-In `next.config.js` file you'll need to add the next-plugin from `@griffel/webpack-extraction-plugin` like so:
-
-```js
-// next.config.js
-const { withGriffelCSSExtraction } = require('@griffel/next-extraction-plugin');
-
-module.exports = withGriffelCSSExtraction()({
- webpack(config) {
- config.module.rules.unshift({
- test: /\.(js|jsx)$/,
- exclude: /node_modules/,
- use: [
- {
- loader: '@griffel/webpack-loader',
- },
- ],
- });
-
- // If your project uses TypeScript
- config.module.rules.unshift({
- test: /\.(ts|tsx)$/,
- exclude: /node_modules/,
- use: [
- {
- loader: '@griffel/webpack-loader',
- options: {
- babelOptions: {
- presets: ['next/babel'],
- },
- },
- },
- ],
- });
-
- return config;
- },
-});
-```
diff --git a/packages/next-extraction-plugin/jest.config.ts b/packages/next-extraction-plugin/jest.config.ts
deleted file mode 100644
index 878908829..000000000
--- a/packages/next-extraction-plugin/jest.config.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/* eslint-disable */
-export default {
- displayName: 'next-extraction-plugin',
- preset: '../../jest.preset.js',
- globals: {},
- testEnvironment: 'node',
- transform: {
- '^.+\\.[tj]sx?$': [
- 'ts-jest',
- {
- tsconfig: '/tsconfig.spec.json',
- },
- ],
- },
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
- coverageDirectory: '../../coverage/packages/next-extraction-plugin',
-};
diff --git a/packages/next-extraction-plugin/package.json b/packages/next-extraction-plugin/package.json
deleted file mode 100644
index 1f4bdac03..000000000
--- a/packages/next-extraction-plugin/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "@griffel/next-extraction-plugin",
- "version": "0.1.15",
- "description": "NextJS plugin that add Griffel's CSS extraction to webpack loaders pipeline",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/microsoft/griffel"
- },
- "dependencies": {
- "@griffel/webpack-extraction-plugin": "^0.5.14",
- "browserslist": "^4.19.1",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "next": ">=13"
- }
-}
diff --git a/packages/next-extraction-plugin/project.json b/packages/next-extraction-plugin/project.json
deleted file mode 100644
index 5daf93f80..000000000
--- a/packages/next-extraction-plugin/project.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "@griffel/next-extraction-plugin",
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
- "sourceRoot": "packages/next-extraction-plugin/src",
- "projectType": "library",
- "tags": [],
- "targets": {
- "lint": {
- "executor": "@nx/eslint:lint",
- "outputs": ["{options.outputFile}"]
- },
- "test": {
- "executor": "@nx/jest:jest",
- "outputs": ["{workspaceRoot}/coverage/packages/next-extraction-plugin"],
- "options": {
- "jestConfig": "packages/next-extraction-plugin/jest.config.ts"
- }
- },
- "build": {
- "executor": "@nx/js:tsc",
- "outputs": ["{options.outputPath}"],
- "options": {
- "outputPath": "dist/packages/next-extraction-plugin",
- "tsConfig": "packages/next-extraction-plugin/tsconfig.lib.json",
- "skipTypeField": true,
- "packageJson": "packages/next-extraction-plugin/package.json",
- "main": "packages/next-extraction-plugin/src/index.ts",
- "assets": ["packages/next-extraction-plugin/*.md"]
- }
- },
- "type-check": {
- "executor": "nx:run-commands",
- "options": {
- "cwd": "packages/next-extraction-plugin",
- "commands": [
- {
- "command": "tsc -b --pretty"
- }
- ]
- },
- "outputs": []
- }
- }
-}
diff --git a/packages/next-extraction-plugin/src/index.ts b/packages/next-extraction-plugin/src/index.ts
deleted file mode 100644
index a2e4df820..000000000
--- a/packages/next-extraction-plugin/src/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { withGriffelCSSExtraction } from './lib/next-extraction-plugin';
diff --git a/packages/next-extraction-plugin/src/lib/next-extraction-plugin.spec.ts b/packages/next-extraction-plugin/src/lib/next-extraction-plugin.spec.ts
deleted file mode 100644
index bef34b4ab..000000000
--- a/packages/next-extraction-plugin/src/lib/next-extraction-plugin.spec.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import { withGriffelCSSExtraction } from './next-extraction-plugin';
-
-import type { NextConfig } from 'next';
-import type { WebpackConfigContext } from 'next/dist/server/config-shared';
-import type { Configuration, RuleSetRule } from 'webpack';
-
-const getNextConfig: () => NextConfig = () => ({
- webpack: config => {
- return config;
- },
-});
-
-const getWebpackConfig: () => Configuration = () => ({
- module: {
- rules: [
- {
- oneOf: [
- {
- test: /.css/,
- },
- ],
- },
- ],
- },
- plugins: [],
-});
-
-const options = {
- defaultLoaders: {},
- dev: false,
- dir: '/',
- isServer: true,
- buildId: 'griffel',
-} as WebpackConfigContext;
-
-describe('nextExtractionPlugin', () => {
- it('should work', () => {
- const config = withGriffelCSSExtraction({})({});
-
- expect(config).toBeInstanceOf(Object);
- expect(config.webpack).toBeInstanceOf(Function);
- });
-
- it('should failed with next@5 and lower', () => {
- const config = withGriffelCSSExtraction({})({});
-
- if (config?.webpack) {
- const result = () => config.webpack?.({}, {} as WebpackConfigContext);
- expect(result).toThrow(Error);
- }
- });
-
- it('should call custom webpack config', () => {
- // eslint-disable-next-line @typescript-eslint/no-empty-function
- const nextConfig = getNextConfig();
- const consoleSpy = jest.spyOn(nextConfig, 'webpack');
-
- const config = withGriffelCSSExtraction({})(nextConfig);
-
- if (config?.webpack) config?.webpack({}, options);
-
- expect(consoleSpy).toHaveBeenCalled();
- });
-
- it('should extract css when mode is prod', () => {
- const nextConfig = getNextConfig();
- const webpackConfig = getWebpackConfig();
-
- const config = withGriffelCSSExtraction({})(nextConfig);
-
- expect(webpackConfig.plugins?.length).toEqual(0);
- expect(webpackConfig.module?.rules?.length).toEqual(1);
- expect((webpackConfig.module?.rules?.[0] as RuleSetRule)?.oneOf?.length).toEqual(1);
-
- config.webpack?.(webpackConfig, { ...options });
-
- expect(webpackConfig.plugins?.length).toEqual(1);
- expect(webpackConfig.module?.rules?.length).toEqual(2);
- expect((webpackConfig.module?.rules?.[1] as RuleSetRule)?.oneOf?.length).toEqual(2);
- });
-
- it('should extend webpack loader rule', () => {
- const nextConfig = getNextConfig();
- const webpackConfig = getWebpackConfig();
-
- // @ts-expect-error - pass 'test' param isn't legal
- const config = withGriffelCSSExtraction({ extractLoaderRuleAttrs: { test: /\.(jsx)$/, exclude: /node_modules/ } })(
- nextConfig,
- );
-
- config.webpack?.(webpackConfig, { ...options });
-
- const rule = webpackConfig.module?.rules?.[0] as RuleSetRule;
-
- expect(rule?.exclude).toEqual(/node_modules/);
- expect(rule?.test).toEqual(/\.(tsx|ts|js|jsx)$/);
- expect(rule?.use).toHaveLength(1);
- });
-
- it("should't extract css when mode is dev", () => {
- const nextConfig = getNextConfig();
- const webpackConfig = getWebpackConfig();
-
- const config = withGriffelCSSExtraction({})(nextConfig);
-
- config.webpack?.(webpackConfig, { ...options, dev: true });
-
- expect(webpackConfig.plugins?.length).toEqual(0);
- expect(webpackConfig.module?.rules?.length).toEqual(1);
- expect((webpackConfig.module?.rules?.[0] as RuleSetRule)?.oneOf?.length).toEqual(1);
- });
-
- it("should't extract css if native css loader isn't exist", () => {
- const nextConfig = getNextConfig();
- const webpackConfig = getWebpackConfig();
-
- webpackConfig.module!.rules!.length = 0;
-
- const config = withGriffelCSSExtraction({})(nextConfig);
-
- config.webpack?.(webpackConfig, { ...options, dev: true });
-
- expect(webpackConfig.plugins?.length).toEqual(0);
- expect(webpackConfig.module?.rules?.length).toEqual(0);
- });
-});
diff --git a/packages/next-extraction-plugin/src/lib/next-extraction-plugin.ts b/packages/next-extraction-plugin/src/lib/next-extraction-plugin.ts
deleted file mode 100644
index 40116c406..000000000
--- a/packages/next-extraction-plugin/src/lib/next-extraction-plugin.ts
+++ /dev/null
@@ -1,111 +0,0 @@
-import { GriffelCSSExtractionPlugin } from '@griffel/webpack-extraction-plugin';
-import * as browserslist from 'browserslist';
-import { lazyPostCSS } from 'next/dist/build/webpack/config/blocks/css';
-import { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/loaders';
-
-import type { GriffelCSSExtractionPluginOptions } from '@griffel/webpack-extraction-plugin';
-import type { NextConfig } from 'next';
-import type { ConfigurationContext } from 'next/dist/build/webpack/config/utils';
-import type { Configuration, RuleSetRule } from 'webpack';
-
-type GriffelNextExtractionPluginOptions = GriffelCSSExtractionPluginOptions & {
- extractLoaderRuleAttrs?: Omit;
-};
-
-function getSupportedBrowsers(dir: string, isDevelopment: boolean) {
- let browsers: string[] | undefined;
- try {
- browsers = browserslist.loadConfig({
- path: dir,
- env: isDevelopment ? 'development' : 'production',
- });
- } catch {
- // Prevent error on build time
- }
-
- return browsers;
-}
-
-export const withGriffelCSSExtraction =
- ({
- extractLoaderRuleAttrs: webpackLoaderRules = {},
- ...webpackPluginOptions
- }: GriffelNextExtractionPluginOptions = {}) =>
- (nextConfig: NextConfig = {}) =>
- Object.assign({}, nextConfig, {
- webpack(config: Configuration & ConfigurationContext, options) {
- const { dir, dev, isServer } = options;
-
- if (!options.defaultLoaders) {
- throw new Error(
- 'This plugin is not compatible with Next.js versions below 5.0.0 https://err.sh/next-plugins/upgrade',
- );
- }
-
- // The @Griffel compiler must run on source code, which means it must be
- // configured as the last loader in webpack so that it runs before any
- // other transformation.
-
- if (typeof nextConfig.webpack === 'function') {
- // eslint-disable-next-line no-param-reassign
- config = nextConfig.webpack(config, options);
- }
-
- if (dev) {
- // not push @griffel/webpack-extraction-plugin if dev build
- return config;
- }
-
- const cssRules = (
- config.module?.rules?.find(
- rule =>
- typeof rule === 'object' &&
- rule !== null &&
- Array.isArray(rule.oneOf) &&
- rule.oneOf.some(
- setRule =>
- setRule &&
- setRule.test instanceof RegExp &&
- typeof setRule.test.test === 'function' &&
- setRule.test.test('filename.css'),
- ),
- ) as RuleSetRule
- )?.oneOf;
-
- if (cssRules) {
- config?.module?.rules?.unshift({
- ...webpackLoaderRules,
- test: /\.(tsx|ts|js|jsx)$/,
- use: [
- {
- loader: GriffelCSSExtractionPlugin.loader,
- },
- ],
- });
-
- cssRules.unshift({
- test: /griffel\.css$/i,
- sideEffects: true,
- use: getGlobalCssLoader(
- {
- assetPrefix: config.assetPrefix,
- isClient: !isServer,
- isServer,
- isDevelopment: dev,
- experimental: nextConfig.experimental || {},
- } as ConfigurationContext,
- () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev), undefined, undefined),
- [],
- ),
- });
-
- if (!Array.isArray(config?.plugins)) {
- config.plugins = [];
- }
-
- config.plugins.push(new GriffelCSSExtractionPlugin(webpackPluginOptions));
- }
-
- return config;
- },
- } as NextConfig);
diff --git a/packages/next-extraction-plugin/tsconfig.json b/packages/next-extraction-plugin/tsconfig.json
deleted file mode 100644
index b5371dfd3..000000000
--- a/packages/next-extraction-plugin/tsconfig.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "extends": "../../tsconfig.base.json",
- "compilerOptions": {
- "allowJs": true,
- "checkJs": true
- },
- "files": [],
- "include": [],
- "references": [
- {
- "path": "./tsconfig.lib.json"
- },
- {
- "path": "./tsconfig.spec.json"
- }
- ]
-}
diff --git a/packages/next-extraction-plugin/tsconfig.lib.json b/packages/next-extraction-plugin/tsconfig.lib.json
deleted file mode 100644
index 0a5aff6ef..000000000
--- a/packages/next-extraction-plugin/tsconfig.lib.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "module": "commonjs",
- "outDir": "../../dist/out-tsc",
- "declaration": true,
- "types": ["node", "environment"]
- },
- "exclude": ["**/*.spec.ts", "**/*.test.ts", "jest.config.ts"],
- "include": ["**/*.ts"]
-}
diff --git a/packages/next-extraction-plugin/tsconfig.spec.json b/packages/next-extraction-plugin/tsconfig.spec.json
deleted file mode 100644
index 1470336f4..000000000
--- a/packages/next-extraction-plugin/tsconfig.spec.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "jsx": "react",
- "outDir": "../../dist/out-tsc",
- "module": "commonjs",
- "types": ["jest", "node", "environment", "static-assets"]
- },
- "include": [
- "__fixtures__/**/*/code.ts",
- "**/*.test.ts",
- "**/*.spec.ts",
- "**/*.test.tsx",
- "**/*.spec.tsx",
- "**/*.test.js",
- "**/*.spec.js",
- "**/*.test.jsx",
- "**/*.spec.jsx",
- "**/*.d.ts",
- "jest.config.ts"
- ]
-}
diff --git a/packages/transform-shaker/package.json b/packages/transform-shaker/package.json
index 3431d5fdd..0eb52168d 100644
--- a/packages/transform-shaker/package.json
+++ b/packages/transform-shaker/package.json
@@ -8,10 +8,12 @@
"url": "https://github.com/microsoft/griffel"
},
"type": "module",
+ "main": "./src/index.js",
+ "types": "./src/index.d.ts",
"exports": {
".": {
- "node": "./transform-shaker.js",
- "types": "./index.d.mts"
+ "types": "./src/index.d.ts",
+ "default": "./src/index.js"
},
"./package.json": "./package.json"
},
diff --git a/packages/transform-shaker/project.json b/packages/transform-shaker/project.json
index 7e017c20f..9c49f36e3 100644
--- a/packages/transform-shaker/project.json
+++ b/packages/transform-shaker/project.json
@@ -17,12 +17,22 @@
}
},
"build": {
- "executor": "@nx/vite:build",
+ "executor": "@nx/js:tsc",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/packages/transform-shaker",
- "compiler": "swc",
- "format": ["esm"]
+ "tsConfig": "packages/transform-shaker/tsconfig.lib.json",
+ "skipTypeField": true,
+ "packageJson": "packages/transform-shaker/package.json",
+ "main": "packages/transform-shaker/src/index.ts",
+ "assets": [
+ "packages/transform-shaker/README.md",
+ {
+ "glob": "LICENSE.md",
+ "input": ".",
+ "output": "."
+ }
+ ]
}
},
"type-check": {
diff --git a/packages/transform-shaker/tsconfig.lib.json b/packages/transform-shaker/tsconfig.lib.json
index 4ed42b2e1..e52065737 100644
--- a/packages/transform-shaker/tsconfig.lib.json
+++ b/packages/transform-shaker/tsconfig.lib.json
@@ -1,6 +1,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
+ "module": "ESNext",
+ "moduleResolution": "bundler",
"outDir": "../../dist/out-tsc",
"declaration": true,
"types": ["node"]
diff --git a/packages/transform-shaker/vite.config.ts b/packages/transform-shaker/vite.config.ts
deleted file mode 100644
index 7f0cdef7b..000000000
--- a/packages/transform-shaker/vite.config.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-///
-import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
-import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
-import { defineConfig } from 'vite';
-import dts from 'vite-plugin-dts';
-import { readFileSync } from 'node:fs';
-import { join, resolve } from 'node:path';
-
-const packageJson = JSON.parse(readFileSync(join(__dirname, 'package.json'), 'utf-8'));
-
-const dependencies: string[] = Object.keys(packageJson.dependencies || {});
-const external = ([/node:/] as (string | RegExp)[]).concat(dependencies);
-
-export default defineConfig(() => ({
- root: __dirname,
- cacheDir: '../../node_modules/.vite/packages/transform-shaker',
- plugins: [
- nxViteTsPaths(),
- nxCopyAssetsPlugin(['*.md']),
- dts({ entryRoot: 'src', tsconfigPath: join(__dirname, 'tsconfig.lib.json'), pathsToAliases: false }),
- ],
- build: {
- emptyOutDir: true,
- lib: {
- entry: resolve(__dirname, 'src/index.ts'),
- formats: ['es' as const],
- target: 'node20' as const,
- },
- rollupOptions: {
- external,
- },
- minify: false,
- },
- test: {
- watch: false,
- globals: true,
- passWithNoTests: true,
- environment: 'node',
- include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
- reporters: ['default'],
- coverage: {
- reportsDirectory: '../../coverage/packages/transform-shaker',
- provider: 'v8' as const,
- },
- },
-}));
diff --git a/packages/transform-shaker/vitest.config.mts b/packages/transform-shaker/vitest.config.mts
new file mode 100644
index 000000000..05078158b
--- /dev/null
+++ b/packages/transform-shaker/vitest.config.mts
@@ -0,0 +1,20 @@
+import { defineConfig } from 'vitest/config';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+
+export default defineConfig({
+ root: __dirname,
+ cacheDir: '../../node_modules/.vite/packages/transform-shaker',
+ plugins: [nxViteTsPaths()],
+ test: {
+ watch: false,
+ globals: true,
+ passWithNoTests: true,
+ environment: 'node',
+ include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../coverage/packages/transform-shaker',
+ provider: 'v8',
+ },
+ },
+});
diff --git a/packages/transform/package.json b/packages/transform/package.json
index a5bfba035..7825c5c7a 100644
--- a/packages/transform/package.json
+++ b/packages/transform/package.json
@@ -8,10 +8,12 @@
"url": "https://github.com/microsoft/griffel"
},
"type": "module",
+ "main": "./src/index.mjs",
+ "types": "./src/index.d.mts",
"exports": {
".": {
- "node": "./transform.js",
- "types": "./index.d.mts"
+ "types": "./src/index.d.mts",
+ "default": "./src/index.mjs"
},
"./package.json": "./package.json"
},
diff --git a/packages/transform/project.json b/packages/transform/project.json
index b945f9777..8ed24e6f5 100644
--- a/packages/transform/project.json
+++ b/packages/transform/project.json
@@ -17,12 +17,22 @@
}
},
"build": {
- "executor": "@nx/vite:build",
+ "executor": "@nx/js:tsc",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/packages/transform",
- "compiler": "swc",
- "format": ["esm"]
+ "tsConfig": "packages/transform/tsconfig.lib.json",
+ "skipTypeField": true,
+ "packageJson": "packages/transform/package.json",
+ "main": "packages/transform/src/index.mts",
+ "assets": [
+ "packages/transform/README.md",
+ {
+ "glob": "LICENSE.md",
+ "input": ".",
+ "output": "."
+ }
+ ]
}
},
"type-check": {
diff --git a/packages/transform/tsconfig.lib.json b/packages/transform/tsconfig.lib.json
index a99a4ea5c..6d2b82de4 100644
--- a/packages/transform/tsconfig.lib.json
+++ b/packages/transform/tsconfig.lib.json
@@ -1,6 +1,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
+ "module": "ESNext",
+ "moduleResolution": "bundler",
"outDir": "../../dist/out-tsc",
"declaration": true,
"types": ["node", "environment"]
diff --git a/packages/transform/vite.config.ts b/packages/transform/vite.config.ts
deleted file mode 100644
index b965b0f6c..000000000
--- a/packages/transform/vite.config.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-///
-import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
-import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
-import { defineConfig } from 'vite';
-import dts from 'vite-plugin-dts';
-import { readFileSync } from 'node:fs';
-import { join, resolve } from 'node:path';
-
-const packageJson = JSON.parse(readFileSync(join(__dirname, 'package.json'), 'utf-8'));
-
-const dependencies: string[] = Object.keys(packageJson.dependencies || {});
-const external = ([/node:/] as (string | RegExp)[]).concat(dependencies);
-
-export default defineConfig(() => ({
- root: __dirname,
- cacheDir: '../../node_modules/.vite/packages/transform',
- plugins: [
- nxViteTsPaths(),
- nxCopyAssetsPlugin(['*.md']),
- dts({ entryRoot: 'src', tsconfigPath: join(__dirname, 'tsconfig.lib.json'), pathsToAliases: false }),
- ],
- // Uncomment this if you are using workers.
- // worker: {
- // plugins: [ nxViteTsPaths() ],
- // },
- build: {
- emptyOutDir: true,
- lib: {
- entry: resolve(__dirname, 'src/index.mts'),
- formats: ['es' as const],
- target: 'node20' as const,
- },
- rollupOptions: {
- external,
- },
- minify: false,
- },
- test: {
- watch: false,
- globals: true,
- environment: 'node',
- include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
- reporters: ['default'],
- coverage: {
- reportsDirectory: '../../coverage/packages/transform',
- provider: 'v8' as const,
- },
- },
-}));
diff --git a/packages/transform/vitest.config.mts b/packages/transform/vitest.config.mts
new file mode 100644
index 000000000..b0432da6c
--- /dev/null
+++ b/packages/transform/vitest.config.mts
@@ -0,0 +1,19 @@
+import { defineConfig } from 'vitest/config';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+
+export default defineConfig({
+ root: __dirname,
+ cacheDir: '../../node_modules/.vite/packages/transform',
+ plugins: [nxViteTsPaths()],
+ test: {
+ watch: false,
+ globals: true,
+ environment: 'node',
+ include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../coverage/packages/transform',
+ provider: 'v8',
+ },
+ },
+});
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 530daa8ca..fd9f32599 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -8,14 +8,16 @@
"url": "https://github.com/microsoft/griffel"
},
"type": "module",
+ "main": "./src/index.mjs",
+ "types": "./src/index.d.mts",
"exports": {
".": {
- "node": "./webpack-plugin.js",
- "types": "./index.d.mts"
+ "types": "./src/index.d.mts",
+ "default": "./src/index.mjs"
},
"./loader": {
- "node": "./webpack-loader.js",
- "types": "./webpackLoader.d.mts"
+ "types": "./src/webpackLoader.d.mts",
+ "default": "./src/webpackLoader.mjs"
},
"./package.json": "./package.json"
},
diff --git a/packages/webpack-plugin/project.json b/packages/webpack-plugin/project.json
index 74428db48..ecfdf61c3 100644
--- a/packages/webpack-plugin/project.json
+++ b/packages/webpack-plugin/project.json
@@ -10,12 +10,27 @@
"outputs": ["{options.outputFile}"]
},
"build": {
- "executor": "@nx/vite:build",
+ "executor": "@nx/js:tsc",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/packages/webpack-plugin",
- "compiler": "swc",
- "format": ["esm"]
+ "tsConfig": "packages/webpack-plugin/tsconfig.lib.json",
+ "skipTypeField": true,
+ "packageJson": "packages/webpack-plugin/package.json",
+ "main": "packages/webpack-plugin/src/index.mts",
+ "assets": [
+ "packages/webpack-plugin/README.md",
+ {
+ "glob": "LICENSE.md",
+ "input": ".",
+ "output": "."
+ },
+ {
+ "glob": "*",
+ "input": "packages/webpack-plugin/src/virtual-loader",
+ "output": "src/virtual-loader"
+ }
+ ]
}
},
"type-check": {
diff --git a/packages/webpack-plugin/src/GriffelPlugin.mts b/packages/webpack-plugin/src/GriffelPlugin.mts
index 2066e7fbe..920f54ed8 100644
--- a/packages/webpack-plugin/src/GriffelPlugin.mts
+++ b/packages/webpack-plugin/src/GriffelPlugin.mts
@@ -121,7 +121,10 @@ export class GriffelPlugin {
evaluationMode: 'ast' | 'vm';
}
> = {};
- readonly #perfIssues: Map }> = new Map();
+ readonly #perfIssues: Map<
+ string,
+ { type: 'cjs-module' | 'barrel-export-star'; dependencyFilename: string; sourceFilenames: Set }
+ > = new Map();
constructor(options: GriffelCSSExtractionPluginOptions = {}) {
this.#attachToEntryPoint = options.unstable_attachToEntryPoint;
@@ -144,8 +147,7 @@ export class GriffelPlugin {
// Webpack to shake out generated CSS.
// @ Rspack compat:
- // "createModule" in "normalModuleFactory" is not supported by Rspack
- // https://github.com/web-infra-dev/rspack/blob/e52601e059fff1f0cdc4e9328746fb3ae6c3ecb2/packages/rspack/src/NormalModuleFactory.ts#L53
+ // "createModule" in "normalModuleFactory" is supported by Rspack, but updates of `settings` are ignored
if (!IS_RSPACK) {
compiler.hooks.normalModuleFactory.tap(PLUGIN_NAME, nmf => {
nmf.hooks.createModule.tap(
@@ -181,70 +183,65 @@ export class GriffelPlugin {
compiler.hooks.compilation.tap(PLUGIN_NAME, compilation => {
const resolveModule = this.#resolverFactory(compilation);
- // @ Rspack compat
- // As Rspack does not support functions in "splitChunks.cacheGroups" we have to emit modules differently
- // and can't rely on this approach due
- if (!IS_RSPACK) {
- // WHAT?
- // Adds a callback to the loader context
- // WHY?
- // Allows us to register the CSS extracted from Griffel calls to then process in a CSS module
- const cssByModuleMap = new Map();
-
- NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (loaderContext, module) => {
- const resourcePath = module.resource;
-
- (loaderContext as SupplementedLoaderContext)[GriffelCssLoaderContextKey] = {
- collectPerfIssues: this.#collectPerfIssues,
- resolveModule,
- registerExtractedCss(css: string) {
- cssByModuleMap.set(resourcePath, css);
- },
- getExtractedCss() {
- const css = cssByModuleMap.get(resourcePath) ?? '';
- cssByModuleMap.delete(resourcePath);
-
- return css;
- },
- runWithTimer: cb => {
- if (!this.#collectStats && !this.#collectPerfIssues) {
- return cb().result;
- }
+ // WHAT?
+ // Adds a callback to the loader context
+ // WHY?
+ // Allows us to register the CSS extracted from Griffel calls to then process in a CSS module
+ const cssByModuleMap = new Map();
- const start = this.#collectStats ? process.hrtime.bigint() : 0n;
- const { meta, result } = cb();
+ NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (loaderContext, module) => {
+ const resourcePath = module.resource;
- if (this.#collectStats) {
- const end = process.hrtime.bigint();
+ (loaderContext as SupplementedLoaderContext)[GriffelCssLoaderContextKey] = {
+ collectPerfIssues: this.#collectPerfIssues,
+ resolveModule,
+ registerExtractedCss(css: string) {
+ cssByModuleMap.set(resourcePath, css);
+ },
+ getExtractedCss() {
+ const css = cssByModuleMap.get(resourcePath) ?? '';
+ cssByModuleMap.delete(resourcePath);
- this.#stats[meta.filename] = {
- time: end - start,
- evaluationMode: meta.evaluationMode,
- };
- }
+ return css;
+ },
+ runWithTimer: cb => {
+ if (!this.#collectStats && !this.#collectPerfIssues) {
+ return cb().result;
+ }
+
+ const start = this.#collectStats ? process.hrtime.bigint() : 0n;
+ const { meta, result } = cb();
+
+ if (this.#collectStats) {
+ const end = process.hrtime.bigint();
+
+ this.#stats[meta.filename] = {
+ time: end - start,
+ evaluationMode: meta.evaluationMode,
+ };
+ }
- if (this.#collectPerfIssues && meta.perfIssues) {
- for (const issue of meta.perfIssues) {
- const key = `${issue.type}:${issue.dependencyFilename}`;
- const existing = this.#perfIssues.get(key);
-
- if (existing) {
- existing.sourceFilenames.add(meta.filename);
- } else {
- this.#perfIssues.set(key, {
- type: issue.type,
- dependencyFilename: issue.dependencyFilename,
- sourceFilenames: new Set([meta.filename]),
- });
- }
+ if (this.#collectPerfIssues && meta.perfIssues) {
+ for (const issue of meta.perfIssues) {
+ const key = `${issue.type}:${issue.dependencyFilename}`;
+ const existing = this.#perfIssues.get(key);
+
+ if (existing) {
+ existing.sourceFilenames.add(meta.filename);
+ } else {
+ this.#perfIssues.set(key, {
+ type: issue.type,
+ dependencyFilename: issue.dependencyFilename,
+ sourceFilenames: new Set([meta.filename]),
+ });
}
}
+ }
- return result;
- },
- };
- });
- }
+ return result;
+ },
+ };
+ });
// WHAT?
// Performs module movements between chunks if SplitChunksPlugin is not enabled.
@@ -297,24 +294,14 @@ export class GriffelPlugin {
stage: Compilation.PROCESS_ASSETS_STAGE_PRE_PROCESS,
},
assets => {
- let cssAssetDetails;
-
- // @ Rspack compat
- // "compilation.namedChunks.get()" explodes with Rspack
- if (IS_RSPACK) {
- cssAssetDetails = Object.entries(assets).find(
- ([assetName]) => assetName.endsWith('.css') && assetName.includes('griffel'),
- );
- } else {
- const griffelChunk = compilation.namedChunks.get('griffel');
-
- if (typeof griffelChunk === 'undefined') {
- return;
- }
+ const griffelChunk = compilation.namedChunks.get('griffel');
- cssAssetDetails = Object.entries(assets).find(([assetName]) => griffelChunk.files.has(assetName));
+ if (typeof griffelChunk === 'undefined') {
+ return;
}
+ const cssAssetDetails = Object.entries(assets).find(([assetName]) => griffelChunk.files.has(assetName));
+
if (typeof cssAssetDetails === 'undefined') {
return;
}
diff --git a/packages/webpack-plugin/src/webpackLoader.mts b/packages/webpack-plugin/src/webpackLoader.mts
index 8061c1983..510a1cb9b 100644
--- a/packages/webpack-plugin/src/webpackLoader.mts
+++ b/packages/webpack-plugin/src/webpackLoader.mts
@@ -30,19 +30,17 @@ function webpackLoader(
this.cacheable();
// Early return to handle cases when there is no Griffel usage in the file
- if (sourceCode.indexOf('makeStyles') === -1 && sourceCode.indexOf('makeResetStyles') === -1 && sourceCode.indexOf('makeStaticStyles') === -1) {
+ if (
+ sourceCode.indexOf('makeStyles') === -1 &&
+ sourceCode.indexOf('makeResetStyles') === -1 &&
+ sourceCode.indexOf('makeStaticStyles') === -1
+ ) {
this.callback(null, sourceCode, inputSourceMap);
return;
}
- const IS_RSPACK = !this.webpack;
-
- // @ Rspack compat:
- // We don't use the trick with loader context as assets are generated differently
- if (!IS_RSPACK) {
- if (!this[GriffelCssLoaderContextKey]) {
- throw new Error('GriffelCSSExtractionPlugin is not configured, please check your webpack config');
- }
+ if (!this[GriffelCssLoaderContextKey]) {
+ throw new Error('GriffelCSSExtractionPlugin is not configured, please check your webpack config');
}
const { classNameHashSalt, modules, evaluationRules } = this.getOptions();
@@ -92,7 +90,9 @@ function webpackLoader(
return { result: undefined, meta };
}
- if (IS_RSPACK) {
+ // Rspack compat:
+ // Support of CSS extraction is weird in Rspack, revisit later.
+ if (!this.webpack) {
const request = `griffel.css!=!${virtualLoaderPath}!${virtualCSSFilePath}?style=${toURIComponent(css)}`;
const stringifiedRequest = JSON.stringify(this.utils.contextify(this.context || this.rootContext, request));
diff --git a/packages/webpack-plugin/tsconfig.lib.json b/packages/webpack-plugin/tsconfig.lib.json
index a99a4ea5c..6d2b82de4 100644
--- a/packages/webpack-plugin/tsconfig.lib.json
+++ b/packages/webpack-plugin/tsconfig.lib.json
@@ -1,6 +1,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
+ "module": "ESNext",
+ "moduleResolution": "bundler",
"outDir": "../../dist/out-tsc",
"declaration": true,
"types": ["node", "environment"]
diff --git a/packages/webpack-plugin/vite.config.ts b/packages/webpack-plugin/vite.config.ts
deleted file mode 100644
index b13732a7b..000000000
--- a/packages/webpack-plugin/vite.config.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-///
-import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
-import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
-import { defineConfig } from 'vite';
-import dts from 'vite-plugin-dts';
-import { readFileSync } from 'node:fs';
-import { join, resolve } from 'node:path';
-
-const packageJson = JSON.parse(readFileSync(join(__dirname, 'package.json'), 'utf-8'));
-
-const dependencies: string[] = Object.keys({
- ...(packageJson.dependencies || {}),
- ...(packageJson.peerDependencies || {}),
-});
-const external = ([/node:/] as (string | RegExp)[]).concat(dependencies);
-
-export default defineConfig(() => ({
- root: __dirname,
- cacheDir: '../../node_modules/.vite/packages/webpack-plugin',
- plugins: [
- nxViteTsPaths(),
- nxCopyAssetsPlugin([
- '*.md',
- {
- glob: '*',
- input: 'src/virtual-loader',
- output: 'virtual-loader',
- },
- ]),
- dts({ entryRoot: 'src', tsconfigPath: join(__dirname, 'tsconfig.lib.json'), pathsToAliases: false }),
- ],
-
- // Uncomment this if you are using workers.
- // worker: {
- // plugins: [ nxViteTsPaths() ],
- // },
-
- build: {
- emptyOutDir: true,
- lib: {
- entry: {
- 'webpack-plugin': resolve(__dirname, 'src/index.mts'),
- 'webpack-loader': resolve(__dirname, 'src/webpackLoader.mts'),
- },
- formats: ['es' as const],
- target: 'node20' as const,
- },
- rollupOptions: {
- external,
- },
- minify: false,
- },
- test: {
- watch: false,
- globals: true,
- environment: 'node',
- include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
- reporters: ['default'],
- coverage: {
- reportsDirectory: '../../coverage/packages/webpack-plugin',
- provider: 'v8' as const,
- },
- },
-}));
diff --git a/packages/webpack-plugin/vitest.config.mts b/packages/webpack-plugin/vitest.config.mts
new file mode 100644
index 000000000..787a10138
--- /dev/null
+++ b/packages/webpack-plugin/vitest.config.mts
@@ -0,0 +1,19 @@
+import { defineConfig } from 'vitest/config';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+
+export default defineConfig({
+ root: __dirname,
+ cacheDir: '../../node_modules/.vite/packages/webpack-plugin',
+ plugins: [nxViteTsPaths()],
+ test: {
+ watch: false,
+ globals: true,
+ environment: 'node',
+ include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../coverage/packages/webpack-plugin',
+ provider: 'v8',
+ },
+ },
+});
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 7d1b4649a..e0f002819 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -27,7 +27,6 @@
"@griffel/e2e-utils": ["e2e/utils/src/index.ts"],
"@griffel/eslint-plugin": ["packages/eslint-plugin/src/index.ts"],
"@griffel/jest-serializer": ["packages/jest-serializer/src/index.ts"],
- "@griffel/next-extraction-plugin": ["packages/next-extraction-plugin/src/index.ts"],
"@griffel/postcss-syntax": ["packages/postcss-syntax/src/index.ts"],
"@griffel/react": ["packages/react/src/index.ts"],
"@griffel/style-types": ["packages/style-types/src/index.ts"],