diff --git a/apps/web/src/lib/workspace-boundary.test.ts b/apps/web/src/lib/workspace-boundary.test.ts index 2f1bfb1..9cde8e8 100644 --- a/apps/web/src/lib/workspace-boundary.test.ts +++ b/apps/web/src/lib/workspace-boundary.test.ts @@ -114,62 +114,6 @@ describe("workspace boundaries", () => { ); }); - test("consumes workspace packages through package exports instead of source aliases", () => { - const webTsconfig = JSON.parse( - readFileSync(join(root, "apps/web/tsconfig.json"), "utf8"), - ) as { compilerOptions?: { paths?: Record } }; - const modelPackage = JSON.parse( - readFileSync(join(root, "packages/dashboard-model/package.json"), "utf8"), - ) as { exports?: Record }; - const uiPackage = JSON.parse( - readFileSync(join(root, "packages/ui/package.json"), "utf8"), - ) as { exports?: Record }; - const viteConfig = readFileSync(join(root, "apps/web/vite.config.ts"), "utf8"); - const turboConfig = JSON.parse( - readFileSync(join(root, "turbo.json"), "utf8"), - ) as { tasks?: Record }; - - expect(webTsconfig.compilerOptions?.paths).not.toHaveProperty( - "@dimensionlab/dashboard-model", - ); - expect(webTsconfig.compilerOptions?.paths).not.toHaveProperty( - "@dimensionlab/dashboard-model/fixtures", - ); - expect(webTsconfig.compilerOptions?.paths).not.toHaveProperty("@dimensionlab/ui"); - expect(webTsconfig.compilerOptions?.paths).not.toHaveProperty( - "@dimensionlab/ui/styles.css", - ); - expect(webTsconfig.compilerOptions?.paths).toEqual({ - "$lib/*": ["src/lib/*"], - }); - expect(viteConfig).not.toContain("../../packages/dashboard-model/src"); - expect(viteConfig).not.toContain("../../packages/ui/src"); - expect(turboConfig.tasks?.dev?.dependsOn).toEqual(["^build"]); - expectPackageExport(modelPackage.exports?.["."], { - types: "./dist/index.d.ts", - development: "./src/index.ts", - default: "./dist/index.js", - }); - expectPackageExport(modelPackage.exports?.["./fixtures"], { - types: "./dist/fixtures/index.d.ts", - development: "./src/fixtures/index.ts", - default: "./dist/fixtures/index.js", - }); - expectPackageExport(uiPackage.exports?.["."], { - types: "./dist/index.d.ts", - development: "./src/index.ts", - default: "./dist/index.js", - }); - expectPackageExport(uiPackage.exports?.["./styles.css"], { - development: "./src/styles.css", - default: "./dist/styles.css", - }); - expectPackageExport(uiPackage.exports?.["./tokens.css"], { - development: "./src/tokens.css", - default: "./dist/tokens.css", - }); - }); - test("builds the internal container from a turbo-pruned web workspace", () => { const containerfile = readFileSync( join(root, "apps/web/Containerfile"), @@ -239,18 +183,3 @@ describe("workspace boundaries", () => { ); }); }); - -type WorkspacePackageExport = - | string - | { - types?: string; - development?: string; - default?: string; - }; - -function expectPackageExport( - actual: WorkspacePackageExport | undefined, - expected: Exclude, -): void { - expect(actual).toMatchObject(expected); -} diff --git a/apps/web/src/server/dev.test.ts b/apps/web/src/server/dev.test.ts index 60031db..f43f953 100644 --- a/apps/web/src/server/dev.test.ts +++ b/apps/web/src/server/dev.test.ts @@ -2,7 +2,6 @@ import { readFileSync } from "node:fs"; import { join } from "node:path"; import { describe, expect, test } from "vitest"; import { createDevServerConfig } from "../../vite.config"; -import { apiServerArgs } from "./dev"; describe("local development runtime", () => { test("starts the Bun API server together with the Vite dev server", () => { @@ -23,11 +22,4 @@ describe("local development runtime", () => { changeOrigin: true, }); }); - - test("uses development package export conditions for the Bun API server", () => { - expect(apiServerArgs).toEqual([ - "--conditions=development", - "src/server/index.ts", - ]); - }); }); diff --git a/apps/web/src/server/dev.ts b/apps/web/src/server/dev.ts index fa4dc2f..c515240 100644 --- a/apps/web/src/server/dev.ts +++ b/apps/web/src/server/dev.ts @@ -3,10 +3,6 @@ const webPort = process.env.PORT || "5173"; const apiHost = process.env.DASHBOARD_DEV_API_HOST || "127.0.0.1"; const apiPort = process.env.DASHBOARD_DEV_API_PORT || "5174"; const apiTarget = `http://${apiHost}:${apiPort}`; -export const apiServerArgs = [ - "--conditions=development", - "src/server/index.ts", -] as const; if (import.meta.main) { runDevServers(); @@ -55,7 +51,7 @@ export function runDevServers(): void { process.on("SIGINT", () => shutdown(0)); process.on("SIGTERM", () => shutdown(0)); - spawn("api server", [process.execPath, ...apiServerArgs], { + spawn("api server", [process.execPath, "src/server/index.ts"], { HOST: apiHost, PORT: apiPort, }); diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index 120931b..f9f784d 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -3,6 +3,12 @@ "compilerOptions": { "baseUrl": ".", "paths": { + "@dimensionlab/dashboard-model": ["../../packages/dashboard-model/src/index.ts"], + "@dimensionlab/dashboard-model/fixtures": [ + "../../packages/dashboard-model/src/fixtures/index.ts" + ], + "@dimensionlab/ui": ["../../packages/ui/src/index.ts"], + "@dimensionlab/ui/styles.css": ["../../packages/ui/src/styles.css"], "$lib/*": ["src/lib/*"] }, "types": ["node", "bun-types", "react", "react-dom", "vite/client"] diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index ceff746..687c180 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -24,6 +24,18 @@ export default defineConfig({ plugins: [react(), tailwindcss()], resolve: { alias: { + "@dimensionlab/ui/styles.css": fileURLToPath( + new URL("../../packages/ui/src/styles.css", import.meta.url), + ), + "@dimensionlab/ui": fileURLToPath( + new URL("../../packages/ui/src/index.ts", import.meta.url), + ), + "@dimensionlab/dashboard-model/fixtures": fileURLToPath( + new URL("../../packages/dashboard-model/src/fixtures/index.ts", import.meta.url), + ), + "@dimensionlab/dashboard-model": fileURLToPath( + new URL("../../packages/dashboard-model/src/index.ts", import.meta.url), + ), $lib: fileURLToPath(new URL("./src/lib", import.meta.url)), }, }, diff --git a/packages/dashboard-model/package.json b/packages/dashboard-model/package.json index ae9a49b..978522e 100644 --- a/packages/dashboard-model/package.json +++ b/packages/dashboard-model/package.json @@ -6,12 +6,10 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "development": "./src/index.ts", "default": "./dist/index.js" }, "./fixtures": { "types": "./dist/fixtures/index.d.ts", - "development": "./src/fixtures/index.ts", "default": "./dist/fixtures/index.js" } }, diff --git a/packages/ui/package.json b/packages/ui/package.json index 897043c..cb7febf 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -7,17 +7,10 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "development": "./src/index.ts", "default": "./dist/index.js" }, - "./styles.css": { - "development": "./src/styles.css", - "default": "./dist/styles.css" - }, - "./tokens.css": { - "development": "./src/tokens.css", - "default": "./dist/tokens.css" - } + "./styles.css": "./dist/styles.css", + "./tokens.css": "./dist/tokens.css" }, "scripts": { "build": "rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/components && cp src/styles.css dist/styles.css && cp src/tokens.css dist/tokens.css && cp src/components/styles.css dist/components/styles.css", diff --git a/turbo.json b/turbo.json index f2d3137..446d6fe 100644 --- a/turbo.json +++ b/turbo.json @@ -60,7 +60,6 @@ "env": ["DATABASE_URL"] }, "dev": { - "dependsOn": ["^build"], "cache": false, "persistent": true, "env": [