Skip to content

Commit ea4a673

Browse files
committed
chore(vercel): update environment variables
1 parent a9cfbfb commit ea4a673

13 files changed

+8741
-10968
lines changed

.commitlintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": [
3+
"@commitlint/config-conventional"
4+
]
5+
}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,5 @@ yarn-error.log*
3535
# Misc
3636
.DS_Store
3737
*.pem
38+
39+
.sst

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,8 @@
8282
},
8383
"[shellscript]": {
8484
"editor.defaultFormatter": "foxundermoon.shell-format"
85+
},
86+
"[javascript]": {
87+
"editor.defaultFormatter": "esbenp.prettier-vscode"
8588
}
8689
}

apps/web/app/sessions.server.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { createCookieSessionStorage } from "@remix-run/node";
22
import { createThemeSessionResolver } from "remix-themes";
3-
import { Config } from "sst/node/config";
43

54
// You can default to 'development' if process.env.NODE_ENV is not set
65
const isProduction = process.env.STAGE === "production";
@@ -11,7 +10,7 @@ const sessionStorage = createCookieSessionStorage({
1110
path: "/",
1211
httpOnly: true,
1312
sameSite: "lax",
14-
secrets: [Config.SESSION_SECRET],
13+
secrets: [process.env.SESSION_SECRET],
1514
...(isProduction ? { domain: "app.quackdb.com", secure: true } : {}),
1615
},
1716
});

apps/web/app/utils/env.server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const envSchema = z.object({
99
REGION: z.literal("eu-west-1"),
1010
DOMAIN: z.string().default("localhost:3000"),
1111
SENTRY_DSN: z.string().default(""),
12+
SESSION_SECRET: z.string().default(""),
1213
});
1314

1415
declare global {

apps/web/package.json

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"sideEffects": false,
66
"type": "module",
77
"scripts": {
8-
"build": "sst bind 'remix vite:build'",
9-
"dev": "sst bind 'node ./server.js'",
8+
"build": "remix vite:build",
9+
"dev": "node ./server.js",
1010
"lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .",
11-
"start": "sst bind 'cross-env NODE_ENV=production node ./server.js'",
11+
"start": "cross-env NODE_ENV=production node ./server.js",
1212
"typecheck": "tsc",
1313
"knip": "knip",
1414
"clean": "rimraf build",
@@ -46,73 +46,73 @@
4646
"@radix-ui/react-toggle": "^1.0.3",
4747
"@radix-ui/react-toggle-group": "^1.0.4",
4848
"@radix-ui/react-tooltip": "^1.0.7",
49-
"@remix-run/express": "^2.8.1",
50-
"@remix-run/node": "^2.8.1",
51-
"@remix-run/react": "^2.8.1",
52-
"@sentry/profiling-node": "^7.109.0",
53-
"@sentry/remix": "^7.109.0",
54-
"@tanstack/react-table": "^8.15.3",
49+
"@remix-run/express": "^2.9.2",
50+
"@remix-run/node": "^2.9.2",
51+
"@remix-run/react": "^2.9.2",
52+
"@sentry/profiling-node": "^7.114.0",
53+
"@sentry/remix": "^7.114.0",
54+
"@tanstack/react-table": "^8.17.0",
5555
"@uidotdev/usehooks": "^2.4.1",
56-
"@wasm-fmt/sql_fmt": "^0.0.1",
57-
"@xenova/transformers": "^2.16.1",
56+
"@wasm-fmt/sql_fmt": "^0.0.2",
57+
"@xenova/transformers": "^2.17.1",
5858
"apache-arrow": "^15.0.2",
5959
"class-variance-authority": "^0.7.0",
60-
"clsx": "^2.1.0",
60+
"clsx": "^2.1.1",
6161
"cmdk": "^1.0.0",
6262
"comlink": "^4.4.1",
6363
"compression": "^1.7.4",
6464
"date-fns": "^3.6.0",
65-
"dompurify": "^3.0.11",
66-
"embla-carousel-react": "^8.0.1",
65+
"dompurify": "^3.1.3",
66+
"embla-carousel-react": "^8.0.4",
6767
"express": "^4.19.2",
6868
"fathom-client": "^3.6.0",
69-
"framer-motion": "^11.0.25",
69+
"framer-motion": "^11.1.9",
7070
"helmet": "^7.1.0",
7171
"idb-keyval": "^6.2.1",
7272
"idle-task": "^4.3.0",
73-
"isbot": "^5.1.4",
74-
"lucide-react": "^0.356.0",
73+
"isbot": "^5.1.6",
74+
"lucide-react": "^0.378.0",
7575
"lz-string": "^1.5.0",
7676
"match-sorter": "^6.3.4",
77-
"monaco-editor": "^0.47.0",
77+
"monaco-editor": "^0.48.0",
7878
"morgan": "^1.10.0",
7979
"postgres-semicolons": "^0.1.2",
80-
"react": "18.3.0-canary-01ab35a9a-20240228",
81-
"react-day-picker": "^8.10.0",
82-
"react-dom": "18.3.0-canary-01ab35a9a-20240228",
80+
"react": "18.3.1",
81+
"react-day-picker": "^8.10.1",
82+
"react-dom": "18.3.1",
8383
"react-error-boundary": "^4.0.13",
84-
"react-hook-form": "^7.51.2",
84+
"react-hook-form": "^7.51.4",
8585
"react-hotkeys-hook": "^4.5.0",
86-
"react-resizable-panels": "^2.0.16",
86+
"react-resizable-panels": "^2.0.19",
8787
"react-virtualized-auto-sizer": "^1.0.24",
88-
"react-virtuoso": "^4.7.7",
88+
"react-virtuoso": "^4.7.10",
8989
"remix-themes": "^1.3.1",
90-
"remix-utils": "^7.5.0",
91-
"shiki": "^1.2.4",
90+
"remix-utils": "^7.6.0",
91+
"shiki": "^1.5.1",
9292
"sonner": "^1.4.41",
93-
"spin-delay": "^1.2.0",
94-
"tailwind-merge": "^2.2.2",
93+
"spin-delay": "^2.0.0",
94+
"tailwind-merge": "^2.3.0",
9595
"tailwindcss-animate": "^1.0.7",
96-
"vaul": "^0.9.0",
97-
"zod": "^3.22.4",
96+
"vaul": "^0.9.1",
97+
"zod": "^3.23.8",
9898
"zustand": "^4.5.2"
9999
},
100100
"devDependencies": {
101101
"@duckdb/duckdb-wasm": "1.28.1-dev169.0",
102-
"@remix-run/dev": "^2.8.1",
102+
"@remix-run/dev": "^2.9.2",
103103
"@sentry/vite-plugin": "^2.16.1",
104104
"@tailwindcss/aspect-ratio": "^0.4.2",
105105
"@tailwindcss/container-queries": "^0.1.1",
106106
"@tailwindcss/forms": "^0.5.7",
107-
"@tailwindcss/typography": "^0.5.12",
107+
"@tailwindcss/typography": "^0.5.13",
108108
"@types/compression": "^1.7.5",
109109
"@types/dompurify": "^3.0.5",
110-
"@types/eslint": "^8.56.7",
110+
"@types/eslint": "^8.56.10",
111111
"@types/express": "^4.17.21",
112112
"@types/morgan": "^1.9.9",
113-
"@types/node": "20.11.26",
114-
"@types/react": "^18.2.74",
115-
"@types/react-dom": "^18.2.24",
113+
"@types/node": "20.12.11",
114+
"@types/react": "^18.3.2",
115+
"@types/react-dom": "^18.3.0",
116116
"@types/wicg-file-system-access": "^2023.10.5",
117117
"@typescript-eslint/eslint-plugin": "^6.21.0",
118118
"@typescript-eslint/parser": "^6.21.0",
@@ -123,23 +123,23 @@
123123
"eslint-plugin-import": "^2.29.1",
124124
"eslint-plugin-jsx-a11y": "^6.8.0",
125125
"eslint-plugin-react": "^7.34.1",
126-
"eslint-plugin-react-hooks": "^4.6.0",
126+
"eslint-plugin-react-hooks": "^4.6.2",
127127
"eslint-plugin-tailwindcss": "^3.15.1",
128-
"knip": "^5.8.0",
128+
"knip": "^5.15.1",
129129
"postcss": "^8.4.38",
130130
"prettier": "^3.2.5",
131-
"prettier-plugin-tailwindcss": "^0.5.13",
131+
"prettier-plugin-tailwindcss": "^0.5.14",
132132
"rollup-plugin-visualizer": "^5.12.0",
133133
"source-map-support": "^0.5.21",
134134
"tailwindcss": "^3.4.3",
135-
"typescript": "^5.4.4",
136-
"vite": "^5.2.8",
137-
"vite-env-only": "^2.2.1",
135+
"typescript": "^5.4.5",
136+
"vite": "^5.2.11",
137+
"vite-env-only": "^2.3.0",
138138
"vite-tsconfig-paths": "^4.3.2"
139139
},
140140
"overrides": {
141-
"react": "18.3.0-canary-01ab35a9a-20240228",
142-
"react-dom": "18.3.0-canary-01ab35a9a-20240228",
141+
"react": "18.3.1",
142+
"react-dom": "18.3.1",
143143
"@duckdb/duckdb-wasm": "next"
144144
},
145145
"engines": {

apps/web/server.js

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@ const STAGE = process.env.STAGE;
1717
const isProduction = STAGE === "production";
1818
const SENTRY_DSN = process.env.SENTRY_DSN;
1919

20-
const createRequestHandler =
21-
isProduction
22-
? Sentry.wrapExpressCreateRequestHandler(_createRequestHandler)
23-
: _createRequestHandler;
20+
const createRequestHandler = isProduction
21+
? Sentry.wrapExpressCreateRequestHandler(_createRequestHandler)
22+
: _createRequestHandler;
2423

2524
const viteDevServer = isProduction
2625
? undefined
2726
: await import("vite").then((vite) =>
28-
vite.createServer({
29-
server: { middlewareMode: true },
30-
}),
31-
);
27+
vite.createServer({
28+
server: { middlewareMode: true },
29+
}),
30+
);
3231

3332
async function getBuild() {
3433
return viteDevServer
@@ -67,11 +66,11 @@ if (viteDevServer) {
6766
"/assets",
6867
express.static("build/client/assets", { immutable: true, maxAge: "1y" }),
6968
);
70-
}
7169

72-
// Everything else (like favicon.ico) is cached for an hour. You may want to be
73-
// more aggressive with this caching.
74-
app.use(express.static("build/client", { maxAge: "1h" }));
70+
// Everything else (like favicon.ico) is cached for an hour. You may want to be
71+
// more aggressive with this caching.
72+
app.use(express.static("build/client", { maxAge: "1h" }));
73+
}
7574

7675
morgan.token("url", (req) => decodeURIComponent(req.url ?? ""));
7776

@@ -84,25 +83,27 @@ app.use((_, res, next) => {
8483

8584
app.use(
8685
helmet({
86+
xPoweredBy: false,
8787
referrerPolicy: { policy: "same-origin" },
8888
crossOriginEmbedderPolicy: "require-corp",
8989
crossOriginOpenerPolicy: "same-origin",
9090
contentSecurityPolicy: {
9191
// NOTE: Remove reportOnly when you're ready to enforce this CSP
9292
reportOnly: true,
9393
directives: {
94-
'connect-src': [
95-
MODE === 'development' ? 'ws:' : null,
96-
isProduction && SENTRY_DSN ? '*.ingest.sentry.io' : null,
97-
'cdn.jsdelivr.net',
98-
'*.duckdb.org',
94+
"connect-src": [
95+
MODE === "development" ? "ws:" : null,
96+
isProduction && SENTRY_DSN ? "*.ingest.sentry.io" : null,
97+
"cdn.jsdelivr.net",
98+
"*.duckdb.org",
9999
"'self'",
100100
].filter(Boolean),
101-
'frame-src': ["'self'"],
102-
'img-src': ["'self'", 'data:'],
103-
"report-uri":
104-
isProduction ? 'https://o4506928409280512.ingest.us.sentry.io/api/4506928414982144/security/?sentry_key=02302d5793d3ca103701cb0b84cff6a0' : null,
105-
'script-src': [
101+
"frame-src": ["'self'"],
102+
"img-src": ["'self'", "data:"],
103+
"report-uri": isProduction
104+
? "https://o4506928409280512.ingest.us.sentry.io/api/4506928414982144/security/?sentry_key=02302d5793d3ca103701cb0b84cff6a0"
105+
: null,
106+
"script-src": [
106107
"'strict-dynamic'",
107108
"'self'",
108109
"'unsafe-inline'",
@@ -111,7 +112,7 @@ app.use(
111112
// @ts-expect-error
112113
(_, res) => `'nonce-${res.locals.cspNonce}'`,
113114
],
114-
'script-src-attr': [
115+
"script-src-attr": [
115116
// @ts-expect-error
116117
(_, res) => `'nonce-${res.locals.cspNonce}'`,
117118
],

apps/web/sst-env.d.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/web/tsconfig.json

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,15 @@
66
"**/.server/**/*.tsx",
77
"**/.client/**/*.ts",
88
"**/.client/**/*.tsx",
9-
"env.d.ts",
10-
"sst-env.d.ts"
9+
"env.d.ts"
1110
],
1211
"exclude": [
1312
"node_modules",
1413
"dist"
1514
],
1615
"compilerOptions": {
1716
"types": [
18-
"@remix-run/node",
19-
"vite/client",
20-
"@types/wicg-file-system-access",
21-
"react/canary",
22-
"react-dom/canary"
17+
"@types/wicg-file-system-access"
2318
],
2419
"esModuleInterop": true,
2520
"jsx": "react-jsx",

commitlint.config.cjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = { extends: ["@commitlint/config-conventional"] };

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"description": "QuackDB - An online DuckDB SQL playground and editor",
1313
"scripts": {
1414
"build": "turbo build",
15-
"dev": "turbo dev",
15+
"dev": "dotenv -- turbo dev",
1616
"lint": "turbo lint",
1717
"format": "turbo format",
1818
"prepare": "husky",
@@ -21,7 +21,10 @@
2121
},
2222
"devDependencies": {
2323
"@biomejs/biome": "^1.6.2",
24-
"@repo/typescript-config": "workspace:*",
24+
"@commitlint/cli": "^19.3.0",
25+
"@commitlint/config-conventional": "^19.2.2",
26+
"conventional-changelog-conventionalcommits": "^8.0.0",
27+
"dotenv-cli": "^7.4.1",
2528
"husky": "^9.0.11",
2629
"lint-staged": "^15.2.2",
2730
"prettier": "^3.2.5",

0 commit comments

Comments
 (0)