From 4b0038cd477c17b00c63a6d8d404d2743b6e0d26 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Thu, 20 Mar 2025 21:02:24 +0900 Subject: [PATCH 1/2] Fix webpack issue --- packages/webpack-plugin/package.json | 6 ++---- packages/webpack-plugin/src/plugin.ts | 4 ++-- pnpm-lock.yaml | 3 --- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 6bf12eda..9c5b4070 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -32,12 +32,10 @@ "dist" ], "dependencies": { - "@devup-ui/wasm": "workspace:*", - "webpack": "^5.98" + "@devup-ui/wasm": "workspace:*" }, "peerDependencies": { - "@devup-ui/wasm": "*", - "webpack": "*" + "@devup-ui/wasm": "*" }, "devDependencies": { "vite": "^6.2.2", diff --git a/packages/webpack-plugin/src/plugin.ts b/packages/webpack-plugin/src/plugin.ts index 833340d0..0eb7487a 100644 --- a/packages/webpack-plugin/src/plugin.ts +++ b/packages/webpack-plugin/src/plugin.ts @@ -16,7 +16,7 @@ import { registerTheme, setDebug, } from '@devup-ui/wasm' -import { type Compiler, DefinePlugin } from 'webpack' +import { type Compiler } from 'webpack' export interface DevupUIWebpackPluginOptions { package: string @@ -134,7 +134,7 @@ export class DevupUIWebpackPlugin { writeFileSync(this.options.cssFile, '', { encoding: 'utf-8' }) compiler.options.plugins.push( - new DefinePlugin({ + new compiler.webpack.DefinePlugin({ 'process.env.DEVUP_UI_DEFAULT_THEME': JSON.stringify(getDefaultTheme()), }), ) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf9f8462..503d2a68 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -368,9 +368,6 @@ importers: '@devup-ui/wasm': specifier: workspace:* version: link:../../bindings/devup-ui-wasm - webpack: - specifier: ^5.98 - version: 5.98.0 devDependencies: '@types/webpack': specifier: ^5.28.5 From 5a2ab9d7ccf159dcd0d553e1426c86a0d86af4e3 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Thu, 20 Mar 2025 21:05:51 +0900 Subject: [PATCH 2/2] Fix webpack issue --- .changeset/modern-bats-decide.md | 5 ++++ .../src/__tests__/plugin.test.ts | 29 +++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 .changeset/modern-bats-decide.md diff --git a/.changeset/modern-bats-decide.md b/.changeset/modern-bats-decide.md new file mode 100644 index 00000000..6d6e54df --- /dev/null +++ b/.changeset/modern-bats-decide.md @@ -0,0 +1,5 @@ +--- +"@devup-ui/webpack-plugin": patch +--- + +Fix webpack issue diff --git a/packages/webpack-plugin/src/__tests__/plugin.test.ts b/packages/webpack-plugin/src/__tests__/plugin.test.ts index 1abd40d4..e790305e 100644 --- a/packages/webpack-plugin/src/__tests__/plugin.test.ts +++ b/packages/webpack-plugin/src/__tests__/plugin.test.ts @@ -7,7 +7,12 @@ import { } from 'node:fs' import { join, resolve } from 'node:path' -import { getCss, getThemeInterface, registerTheme } from '@devup-ui/wasm' +import { + getCss, + getDefaultTheme, + getThemeInterface, + registerTheme, +} from '@devup-ui/wasm' import { describe } from 'vitest' import { DevupUIWebpackPlugin } from '../plugin' @@ -113,8 +118,11 @@ describe('devupUIPlugin', () => { tapAsync: vi.fn(), }, }, - } - plugin.apply(compiler as any) + webpack: { + DefinePlugin: vi.fn(), + }, + } as any + plugin.apply(compiler) // asyncCompile const add = vi.fn() vi.mocked(compiler.hooks.afterCompile.tap).mock.calls[0][1]({ @@ -151,6 +159,9 @@ describe('devupUIPlugin', () => { tapAsync: vi.fn(), }, }, + webpack: { + DefinePlugin: vi.fn(), + }, } as any) expect(writeFileSync).toHaveBeenCalledWith('css', '', { @@ -184,6 +195,9 @@ describe('devupUIPlugin', () => { tapAsync: vi.fn(), }, }, + webpack: { + DefinePlugin: vi.fn(), + }, } as any plugin.apply(compiler) @@ -214,6 +228,9 @@ describe('devupUIPlugin', () => { tapAsync: vi.fn(), }, }, + webpack: { + DefinePlugin: vi.fn(), + }, } as any vi.mocked(existsSync).mockReturnValue(true) plugin.apply(compiler) @@ -297,6 +314,9 @@ describe('devupUIPlugin', () => { tapAsync: vi.fn(), }, }, + webpack: { + DefinePlugin: vi.fn(), + }, } as any plugin.apply(compiler) @@ -307,5 +327,8 @@ describe('devupUIPlugin', () => { encoding: 'utf-8', }, ) + expect(compiler.webpack.DefinePlugin).toHaveBeenCalledWith({ + 'process.env.DEVUP_UI_DEFAULT_THEME': JSON.stringify(getDefaultTheme()), + }) }) })