mirror of
https://github.com/kamranahmedse/driver.js.git
synced 2026-10-31 20:31:43 +08:00
packages/driver is the library (still published as driver.js, with repository.directory set); playground and docs move to apps/. One root pnpm workspace and lockfile replace the three standalone projects, with turbo orchestrating build/test/lint:package (apps depend on the library build; local + CI caching via .turbo). Apps keep importing the library from source for HMR — the aliases now point at ../../packages/driver/src and each app gains a workspace:* dependency so the task graph knows the edge. The dev-server fs scope widens to the repo root accordingly. Releases run from packages/driver (root `pnpm release` delegates). The changelog still lives in the docs app, so the release scripts reach it via ../../../apps/docs and the after:bump hook stages it explicitly — release-it no longer sits above both directories. The merged workspace settings keep sharp unbuilt on purpose (prebuilt binaries; building from source needs node-gyp and fails) — the docs app had this right and the playground setting was the accident. postcss and postcss-scss were unreferenced devDependencies and are dropped; prettier moves to the root as the only shared tool.
30 lines
1017 B
JavaScript
30 lines
1017 B
JavaScript
import { defineConfig } from "astro/config";
|
|
import { fileURLToPath } from "node:url";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
|
|
// The playground imports the library straight from source (../src) so changes
|
|
// to driver.js are reflected instantly with HMR — no build step in between.
|
|
const driverSource = fileURLToPath(new URL("../../packages/driver/src/driver.ts", import.meta.url));
|
|
const hintsSource = fileURLToPath(new URL("../../packages/driver/src/hints.ts", import.meta.url));
|
|
|
|
// https://astro.build/config
|
|
export default defineConfig({
|
|
vite: {
|
|
plugins: [tailwindcss()],
|
|
resolve: {
|
|
alias: {
|
|
// The subpath has to come first: aliases match on prefix, so a
|
|
// "driver.js" entry would otherwise rewrite "driver.js/hints" too.
|
|
"driver.js/hints": hintsSource,
|
|
"driver.js": driverSource,
|
|
},
|
|
},
|
|
server: {
|
|
fs: {
|
|
// Allow importing the library source that lives outside this project.
|
|
allow: ["../.."],
|
|
},
|
|
},
|
|
},
|
|
});
|