From 6f22ba4c4caf7eaee13856465bd1423527d008cd Mon Sep 17 00:00:00 2001 From: maximsmol <1472826+maximsmol@users.noreply.github.com> Date: Mon, 6 Oct 2025 15:14:12 -0700 Subject: [PATCH 1/3] feat: plugin-vite: automatically switch to esm mode when enabled Signed-off-by: maximsmol <1472826+maximsmol@users.noreply.github.com> --- packages/plugin/vite/src/config/vite.main.config.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/plugin/vite/src/config/vite.main.config.ts b/packages/plugin/vite/src/config/vite.main.config.ts index 04ad52527f..1ee6d5bef4 100644 --- a/packages/plugin/vite/src/config/vite.main.config.ts +++ b/packages/plugin/vite/src/config/vite.main.config.ts @@ -7,11 +7,18 @@ import { pluginHotRestart, } from './vite.base.config'; +import fs from 'fs-extra'; +import path from 'node:path'; + export function getConfig( forgeEnv: ConfigEnv<'build'>, userConfig: UserConfig = {}, ): UserConfig { - const { forgeConfigSelf } = forgeEnv; + const { forgeConfigSelf, root } = forgeEnv; + const packageJson = JSON.parse( + fs.readFileSync(path.join(root, 'package.json'), { encoding: 'utf-8' }), + ); + const define = getBuildDefine(forgeEnv); const config: UserConfig = { build: { @@ -34,7 +41,7 @@ export function getConfig( config.build!.lib = { entry: forgeConfigSelf.entry, fileName: () => '[name].js', - formats: ['cjs'], + formats: packageJson.type !== 'module' ? ['cjs'] : ['es'], }; } From ec2963de46a2b988f891ffc3dc1d6a26608cc83c Mon Sep 17 00:00:00 2001 From: maximsmol <1472826+maximsmol@users.noreply.github.com> Date: Thu, 9 Oct 2025 10:53:36 -0700 Subject: [PATCH 2/3] refactor: fix imports formatting Signed-off-by: maximsmol <1472826+maximsmol@users.noreply.github.com> --- packages/plugin/vite/src/config/vite.main.config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/plugin/vite/src/config/vite.main.config.ts b/packages/plugin/vite/src/config/vite.main.config.ts index 1ee6d5bef4..343c3ee460 100644 --- a/packages/plugin/vite/src/config/vite.main.config.ts +++ b/packages/plugin/vite/src/config/vite.main.config.ts @@ -1,3 +1,6 @@ +import path from 'node:path'; + +import fs from 'fs-extra'; import { type ConfigEnv, mergeConfig, type UserConfig } from 'vite'; import { @@ -7,9 +10,6 @@ import { pluginHotRestart, } from './vite.base.config'; -import fs from 'fs-extra'; -import path from 'node:path'; - export function getConfig( forgeEnv: ConfigEnv<'build'>, userConfig: UserConfig = {}, From 19e674cad3d3aa5cb7b199ca8936f6f78406808a Mon Sep 17 00:00:00 2001 From: maximsmol <1472826+maximsmol@users.noreply.github.com> Date: Thu, 9 Oct 2025 12:32:16 -0700 Subject: [PATCH 3/3] test: fix fixture for vite config Signed-off-by: maximsmol <1472826+maximsmol@users.noreply.github.com> --- packages/plugin/vite/spec/fixtures/vite-configs/package.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 packages/plugin/vite/spec/fixtures/vite-configs/package.json diff --git a/packages/plugin/vite/spec/fixtures/vite-configs/package.json b/packages/plugin/vite/spec/fixtures/vite-configs/package.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/packages/plugin/vite/spec/fixtures/vite-configs/package.json @@ -0,0 +1 @@ +{}