mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-06-22 04:11:55 +10:00
feat(docker): enhance development setup with reactive_resume service and health checks
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,10 +36,10 @@
|
||||
"ai": "^6.0.180",
|
||||
"bcrypt": "^6.0.0",
|
||||
"better-auth": "1.6.11",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
"drizzle-orm": "1.0.0-rc.2",
|
||||
"drizzle-zod": "1.0.0-beta.14-a36c63d",
|
||||
"es-toolkit": "^1.46.1",
|
||||
"ollama-ai-provider-v2": "^3.5.0",
|
||||
"ollama-ai-provider-v2": "^3.5.1",
|
||||
"react": "^19.2.6",
|
||||
"sharp": "^0.34.5",
|
||||
"ts-pattern": "^5.9.0",
|
||||
@@ -48,7 +48,7 @@
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/bcrypt": "^6.0.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
"@tanstack/react-start": "^1.167.65",
|
||||
"bcrypt": "^6.0.0",
|
||||
"better-auth": "1.6.11",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
"drizzle-orm": "1.0.0-rc.2",
|
||||
"jose": "^6.2.3",
|
||||
"react": "^19.2.6",
|
||||
"zod": "^4.4.3"
|
||||
@@ -37,7 +37,7 @@
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/bcrypt": "^6.0.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
"@reactive-resume/env": "workspace:*",
|
||||
"@reactive-resume/schema": "workspace:*",
|
||||
"@reactive-resume/utils": "workspace:*",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
"drizzle-orm": "1.0.0-rc.2",
|
||||
"pg": "^8.20.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"drizzle-kit": "1.0.0-beta.22",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"drizzle-kit": "1.0.0-rc.2",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,10 @@ import { drizzle } from "drizzle-orm/node-postgres";
|
||||
import { Pool } from "pg";
|
||||
import { env } from "@reactive-resume/env/server";
|
||||
import { relations } from "./relations";
|
||||
import * as schema from "./schema";
|
||||
|
||||
declare global {
|
||||
var __pool: Pool | undefined;
|
||||
var __drizzle: NodePgDatabase<typeof schema> | undefined;
|
||||
var __drizzle: NodePgDatabase<typeof relations> | undefined;
|
||||
}
|
||||
|
||||
export function getPool() {
|
||||
@@ -18,8 +17,7 @@ export function getPool() {
|
||||
}
|
||||
|
||||
function makeDrizzleClient() {
|
||||
const pool = getPool();
|
||||
return drizzle({ client: pool, schema, relations });
|
||||
return drizzle({ client: getPool(), relations });
|
||||
}
|
||||
|
||||
export function createDatabase() {
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/nodemailer": "^8.0.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -22,7 +22,7 @@
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/node": "^25.7.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"@react-pdf/types": "^2.11.1",
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/react": "^19.2.14",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { readFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
describe("ScizorPage", () => {
|
||||
it("does not override configured text color with the template muted gray", () => {
|
||||
const source = readFileSync(fileURLToPath(new URL("./ScizorPage.tsx", import.meta.url)), "utf8");
|
||||
|
||||
expect(source).not.toMatch(/color:\s*muted/);
|
||||
});
|
||||
});
|
||||
@@ -110,7 +110,6 @@ const useScizorTemplate = (): ScizorTemplate => {
|
||||
const background = rgbaStringToHex(metadata.design.colors.background);
|
||||
const primary = rgbaStringToHex(metadata.design.colors.primary);
|
||||
const divider = "#D8DCE2";
|
||||
const muted = "#536174";
|
||||
const colors: TemplateColorRoles = { foreground, background, primary };
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const bodyText = {
|
||||
@@ -118,7 +117,7 @@ const useScizorTemplate = (): ScizorTemplate => {
|
||||
fontSize: metadata.typography.body.fontSize,
|
||||
fontWeight: metadata.typography.body.fontWeights[0] ?? "400",
|
||||
lineHeight: metadata.typography.body.lineHeight,
|
||||
color: muted,
|
||||
color: foreground,
|
||||
} satisfies Style;
|
||||
|
||||
const baseStyles = StyleSheet.create({
|
||||
@@ -144,7 +143,7 @@ const useScizorTemplate = (): ScizorTemplate => {
|
||||
},
|
||||
div: { rowGap: metrics.gapY(0.125), columnGap: metrics.gapX(1 / 3) },
|
||||
inline: { flexDirection: "row", alignItems: "center", columnGap: metrics.gapX(1 / 3) },
|
||||
link: { textDecoration: "none", color: muted },
|
||||
link: { textDecoration: "none", color: foreground },
|
||||
small: { fontSize: metadata.typography.body.fontSize * 0.875 },
|
||||
bold: { fontWeight: metadata.typography.body.fontWeights.at(-1) ?? "700", color: foreground },
|
||||
richParagraph: { margin: 0, ...bodyText },
|
||||
@@ -194,7 +193,7 @@ const useScizorTemplate = (): ScizorTemplate => {
|
||||
borderBottomWidth: 2,
|
||||
borderBottomColor: divider,
|
||||
},
|
||||
headerHeadline: { color: muted },
|
||||
headerHeadline: { color: foreground },
|
||||
headerContactRow: {
|
||||
flexDirection: "row",
|
||||
flexWrap: "wrap",
|
||||
@@ -205,7 +204,7 @@ const useScizorTemplate = (): ScizorTemplate => {
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
columnGap: metrics.gapX(1 / 6),
|
||||
color: muted,
|
||||
color: foreground,
|
||||
},
|
||||
picture: {
|
||||
width: picture.size,
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@reactive-resume/env": "workspace:*",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"drizzle-orm": "1.0.0-rc.2",
|
||||
"pg": "^8.20.0",
|
||||
"tsx": "^4.21.0"
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"next-themes": "^0.4.6",
|
||||
"react": "^19.2.6",
|
||||
"react-dom": "^19.2.6",
|
||||
"react-resizable-panels": "^4.11.0",
|
||||
"react-resizable-panels": "^4.11.1",
|
||||
"shadcn": "^4.7.0",
|
||||
"sonner": "^2.0.7",
|
||||
"tw-animate-css": "^1.4.0"
|
||||
@@ -41,7 +41,7 @@
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"postcss": "^8.5.14",
|
||||
"tailwindcss": "^4.3.0",
|
||||
"typescript": "^6.0.3"
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"@uiw/color-convert": "^2.10.1",
|
||||
"clsx": "^2.1.1",
|
||||
"docx": "^9.6.1",
|
||||
"dompurify": "^3.4.2",
|
||||
"dompurify": "^3.4.3",
|
||||
"fast-json-patch": "^3.1.1",
|
||||
"tailwind-merge": "^3.6.0",
|
||||
"unique-names-generator": "^4.7.1",
|
||||
@@ -45,7 +45,7 @@
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/node": "^25.7.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260512.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260513.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user