import "vite-plus/test/config";import { defineConfig } from "vite-plus"; import { loadRepoEnv } from "../../scripts/lib/public-config.ts"; const repoEnv = loadRepoEnv();const shouldLaunchElectronAfterPack = process.env.T3CODE_DESKTOP_DEV === "1";const publicConfigDefine = { __T3CODE_BUILD_CLERK_PUBLISHABLE_KEY__: JSON.stringify( repoEnv.T3CODE_CLERK_PUBLISHABLE_KEY?.trim() ?? "", ),}; export default defineConfig({ run: { tasks: { build: { command: "node scripts/build-browser-secret.mjs && node scripts/build-preview-annotation-css.mjs && vp pack", dependsOn: ["t3#build"], cache: false, }, dev: { command: "node scripts/build-browser-secret.mjs && node scripts/build-preview-annotation-css.mjs && cross-env T3CODE_DESKTOP_DEV=1 vp pack --watch", dependsOn: ["t3#build"], cache: false, }, "dev:bundle": { command: "node scripts/build-browser-secret.mjs && node scripts/build-preview-annotation-css.mjs && vp pack --watch", cache: false, }, "dev:electron": { command: "node scripts/dev-electron.mjs", dependsOn: ["t3#build"], cache: false, }, }, }, pack: [ { format: "cjs", outDir: "dist-electron", dts: false, sourcemap: true, outExtensions: () => ({ js: ".cjs" }), define: publicConfigDefine, entry: [ "src/main.ts", "src/electron/WindowsForegroundFocusWorker.ts", "src/snapShot/GlobalShiftShortcutWorker.ts", "src/snapShot/RegionSnapShotWorker.ts", "src/snapShot/SnapShotAccessibilityWorker.ts", ], clean: true, deps: { alwaysBundle: (id) => id.startsWith("@t3tools/"), }, ...(shouldLaunchElectronAfterPack ? { onSuccess: "node scripts/dev-electron.mjs" } : {}), }, { format: "cjs", outDir: "dist-electron", dts: false, sourcemap: true, outExtensions: () => ({ js: ".cjs" }), define: publicConfigDefine, entry: ["src/preload.ts"], deps: { // Sandboxed Electron preloads cannot reliably resolve package imports // from inside the packaged ASAR. Bundle Clerk's preload bridge into the // preload artifact instead of leaving a runtime require() behind. alwaysBundle: (id) => id === "@clerk/electron" || id.startsWith("@clerk/electron/"), }, }, { format: "cjs", outDir: "dist-electron", dts: false, sourcemap: true, outExtensions: () => ({ js: ".cjs" }), entry: ["src/preview-pick-preload.ts"], deps: { alwaysBundle: (id) => id === "react-grab" || id.startsWith("react-grab/"), }, }, { format: "cjs", outDir: "dist-electron", dts: false, sourcemap: true, outExtensions: () => ({ js: ".cjs" }), entry: ["src/preview-pip-preload.ts"], }, ], test: { // The Windows lane runs workspace suites concurrently; filesystem-heavy // desktop integration tests can exceed Vitest's 5 second default there. testTimeout: 15_000, setupFiles: ["../../packages/shared/src/testing/longTempDir.ts"], },});
import "vite-plus/test/config";
import { defineConfig } from "vite-plus";
import { loadRepoEnv } from "../../scripts/lib/public-config.ts";
const repoEnv = loadRepoEnv();
const shouldLaunchElectronAfterPack = process.env.T3CODE_DESKTOP_DEV === "1";
const publicConfigDefine = {
__T3CODE_BUILD_CLERK_PUBLISHABLE_KEY__: JSON.stringify(
repoEnv.T3CODE_CLERK_PUBLISHABLE_KEY?.trim() ?? "",
),
};
export default defineConfig({
run: {
tasks: {
build: {
command:
"node scripts/build-browser-secret.mjs && node scripts/build-preview-annotation-css.mjs && vp pack",
dependsOn: ["t3#build"],
cache: false,
},
dev: {
command:
"node scripts/build-browser-secret.mjs && node scripts/build-preview-annotation-css.mjs && cross-env T3CODE_DESKTOP_DEV=1 vp pack --watch",
dependsOn: ["t3#build"],
cache: false,
},
"dev:bundle": {
command:
"node scripts/build-browser-secret.mjs && node scripts/build-preview-annotation-css.mjs && vp pack --watch",
cache: false,
},
"dev:electron": {
command: "node scripts/dev-electron.mjs",
dependsOn: ["t3#build"],
cache: false,
},
},
},
pack: [
{
format: "cjs",
outDir: "dist-electron",
dts: false,
sourcemap: true,
outExtensions: () => ({ js: ".cjs" }),
define: publicConfigDefine,
entry: [
"src/main.ts",
"src/electron/WindowsForegroundFocusWorker.ts",
"src/snapShot/GlobalShiftShortcutWorker.ts",
"src/snapShot/RegionSnapShotWorker.ts",
"src/snapShot/SnapShotAccessibilityWorker.ts",
],
clean: true,
deps: {
alwaysBundle: (id) => id.startsWith("@t3tools/"),
},
...(shouldLaunchElectronAfterPack ? { onSuccess: "node scripts/dev-electron.mjs" } : {}),
},
{
format: "cjs",
outDir: "dist-electron",
dts: false,
sourcemap: true,
outExtensions: () => ({ js: ".cjs" }),
define: publicConfigDefine,
entry: ["src/preload.ts"],
deps: {
// Sandboxed Electron preloads cannot reliably resolve package imports
// from inside the packaged ASAR. Bundle Clerk's preload bridge into the
// preload artifact instead of leaving a runtime require() behind.
alwaysBundle: (id) => id === "@clerk/electron" || id.startsWith("@clerk/electron/"),
},
},
{
format: "cjs",
outDir: "dist-electron",
dts: false,
sourcemap: true,
outExtensions: () => ({ js: ".cjs" }),
entry: ["src/preview-pick-preload.ts"],
deps: {
alwaysBundle: (id) => id === "react-grab" || id.startsWith("react-grab/"),
},
},
{
format: "cjs",
outDir: "dist-electron",
dts: false,
sourcemap: true,
outExtensions: () => ({ js: ".cjs" }),
entry: ["src/preview-pip-preload.ts"],
},
],
test: {
// The Windows lane runs workspace suites concurrently; filesystem-heavy
// desktop integration tests can exceed Vitest's 5 second default there.
testTimeout: 15_000,
setupFiles: ["../../packages/shared/src/testing/longTempDir.ts"],
},
});