diff --git a/frontend/.storybook/vitest.setup.ts b/frontend/.storybook/vitest.setup.ts deleted file mode 100644 index f914b38bef..0000000000 --- a/frontend/.storybook/vitest.setup.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { setProjectAnnotations } from '@storybook/react-vite'; -import * as projectAnnotations from './preview'; - -// This is an important step to apply the right configuration when testing your stories. -// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations -setProjectAnnotations([projectAnnotations]); \ No newline at end of file diff --git a/frontend/vite.config.js b/frontend/vite.config.js index 734fd8e946..95f89b8594 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -7,12 +7,8 @@ import { playwright } from '@vitest/browser-playwright' // https://vitejs.dev/config/ import path from "node:path"; -import { fileURLToPath } from "node:url"; import { storybookTest } from "@storybook/addon-vitest/vitest-plugin"; -const dirname = - typeof __dirname !== "undefined" - ? __dirname - : path.dirname(fileURLToPath(import.meta.url)); +const dirname = import.meta.dirname; // More info at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon export default defineConfig({ @@ -45,15 +41,14 @@ export default defineConfig({ {browser: "chromium"}, ], }, - setupFiles: [".storybook/vitest.setup.ts"], }, }, ], }, resolve: { alias: { - "@target": resolve(__dirname, "./target/storybook"), - "@public": resolve(__dirname, "./resources/public/js/"), + "@target": resolve(dirname, "./target/storybook"), + "@public": resolve(dirname, "./resources/public/js/"), }, }, }); diff --git a/plugins/apps/colors-to-tokens-plugin/vite.config.ts b/plugins/apps/colors-to-tokens-plugin/vite.config.ts index ce57d28043..4f9cb48c23 100644 --- a/plugins/apps/colors-to-tokens-plugin/vite.config.ts +++ b/plugins/apps/colors-to-tokens-plugin/vite.config.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, test: { watch: false, globals: true, diff --git a/plugins/apps/contrast-plugin/vite.config.ts b/plugins/apps/contrast-plugin/vite.config.ts index 5b4538a2e6..afa64b0c84 100644 --- a/plugins/apps/contrast-plugin/vite.config.ts +++ b/plugins/apps/contrast-plugin/vite.config.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, test: { globals: true, environment: 'jsdom', diff --git a/plugins/apps/create-palette-plugin/vite.config.ts b/plugins/apps/create-palette-plugin/vite.config.ts index f8b241a643..b82adfd3c6 100644 --- a/plugins/apps/create-palette-plugin/vite.config.ts +++ b/plugins/apps/create-palette-plugin/vite.config.ts @@ -1,7 +1,7 @@ /// import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, server: { port: 4202, host: '0.0.0.0', diff --git a/plugins/apps/e2e/vite.config.ts b/plugins/apps/e2e/vite.config.ts index ae60487c66..12a797acb0 100644 --- a/plugins/apps/e2e/vite.config.ts +++ b/plugins/apps/e2e/vite.config.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, test: { testTimeout: 20000, watch: false, diff --git a/plugins/apps/example-styles/vite.config.ts b/plugins/apps/example-styles/vite.config.ts index 39a4e556da..43d5819170 100644 --- a/plugins/apps/example-styles/vite.config.ts +++ b/plugins/apps/example-styles/vite.config.ts @@ -1,7 +1,7 @@ /// import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, server: { port: 4202, host: '0.0.0.0', diff --git a/plugins/apps/lorem-ipsum-plugin/vite.config.ts b/plugins/apps/lorem-ipsum-plugin/vite.config.ts index 92c2628f69..a26b77cba6 100644 --- a/plugins/apps/lorem-ipsum-plugin/vite.config.ts +++ b/plugins/apps/lorem-ipsum-plugin/vite.config.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, test: { watch: false, globals: true, diff --git a/plugins/apps/plugin-api-test-suite/tsconfig.node.json b/plugins/apps/plugin-api-test-suite/tsconfig.node.json index 15543271a6..0314a479cf 100644 --- a/plugins/apps/plugin-api-test-suite/tsconfig.node.json +++ b/plugins/apps/plugin-api-test-suite/tsconfig.node.json @@ -4,6 +4,7 @@ "outDir": "../../dist/out-tsc", "module": "ESNext", "moduleResolution": "Bundler", + "allowImportingTsExtensions": true, "types": ["node"], "noUnusedLocals": true, "noUnusedParameters": true diff --git a/plugins/apps/plugin-api-test-suite/vite.config.headless.ts b/plugins/apps/plugin-api-test-suite/vite.config.headless.ts index c2fad314f5..706f1f43d5 100644 --- a/plugins/apps/plugin-api-test-suite/vite.config.headless.ts +++ b/plugins/apps/plugin-api-test-suite/vite.config.headless.ts @@ -1,4 +1,4 @@ -import { iifeConfig } from './vite.config.iife'; +import { iifeConfig } from './vite.config.iife.ts'; // Builds the CI test entry as a single self-executing (IIFE) bundle, evaluated // inside the Penpot plugin sandbox via `globalThis.ɵloadPlugin({ code })` by the diff --git a/plugins/apps/plugin-api-test-suite/vite.config.iife.ts b/plugins/apps/plugin-api-test-suite/vite.config.iife.ts index b2ee8a2985..130db9dd37 100644 --- a/plugins/apps/plugin-api-test-suite/vite.config.iife.ts +++ b/plugins/apps/plugin-api-test-suite/vite.config.iife.ts @@ -12,7 +12,7 @@ import { defineConfig, type UserConfig } from 'vite'; */ export function iifeConfig(name: string, entry: string): UserConfig { return defineConfig({ - root: __dirname, + root: import.meta.dirname, resolve: { tsconfigPaths: true, }, diff --git a/plugins/apps/plugin-api-test-suite/vite.config.tests.ts b/plugins/apps/plugin-api-test-suite/vite.config.tests.ts index 39468d5209..dbf4d20114 100644 --- a/plugins/apps/plugin-api-test-suite/vite.config.tests.ts +++ b/plugins/apps/plugin-api-test-suite/vite.config.tests.ts @@ -1,4 +1,4 @@ -import { iifeConfig } from './vite.config.iife'; +import { iifeConfig } from './vite.config.iife.ts'; // Builds the test cases as a single self-executing (IIFE) bundle that publishes // the discovered tests on `globalThis.__penpotReloadedTests`. The UI "Reload" diff --git a/plugins/apps/plugin-api-test-suite/vite.config.ts b/plugins/apps/plugin-api-test-suite/vite.config.ts index 25c811f49e..00e01630ff 100644 --- a/plugins/apps/plugin-api-test-suite/vite.config.ts +++ b/plugins/apps/plugin-api-test-suite/vite.config.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, // Emit relative asset URLs in index.html so the built plugin works when served // from a subdirectory (Penpot serves the bundled plugins under `/plugins/...`). // Vite resolves `./` to `/` for the dev server, so `pnpm run dev` is unaffected. diff --git a/plugins/apps/poc-tokens-plugin/vite.config.ts b/plugins/apps/poc-tokens-plugin/vite.config.ts index 80619b371f..0f62223ab9 100644 --- a/plugins/apps/poc-tokens-plugin/vite.config.ts +++ b/plugins/apps/poc-tokens-plugin/vite.config.ts @@ -2,7 +2,7 @@ import { defineConfig } from 'vite'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, test: { watch: false, globals: true, diff --git a/plugins/libs/plugins-runtime/vite.config.ts b/plugins/libs/plugins-runtime/vite.config.ts index 14f8d61d18..a054f46cb1 100644 --- a/plugins/libs/plugins-runtime/vite.config.ts +++ b/plugins/libs/plugins-runtime/vite.config.ts @@ -7,7 +7,7 @@ import * as path from 'path'; import checker from 'vite-plugin-checker'; export default defineConfig({ - root: __dirname, + root: import.meta.dirname, cacheDir: '../node_modules/.vite/plugins-runtime', resolve: { @@ -17,7 +17,7 @@ export default defineConfig({ plugins: [ dts({ entryRoot: 'src', - tsconfigPath: path.join(__dirname, 'tsconfig.lib.json'), + tsconfigPath: path.join(import.meta.dirname, 'tsconfig.lib.json'), }), checker({ typescript: {