Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .cursor/mcp.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"mcpServers": {
"mastra": {
"args": ["-y", "@mastra/mcp-docs-server"],
"command": "npx"
}
}
"mcpServers": {
"mastra": {
"args": ["-y", "@mastra/mcp-docs-server"],
"command": "npx"
}
}
}
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# top-most EditorConfig file
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# Soft tabs with 2 spaces
indent_style = space
indent_size = 2
28 changes: 14 additions & 14 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"automerge": true,
"extends": ["config:base"],
"npm": {
"fileMatch": ["(^|/)package\\.json$", "(^|/)package\\.json\\.hbs$"]
},
"packageRules": [
{
"enabled": false,
"matchPackagePatterns": ["^@acme/"]
}
],
"rangeStrategy": "bump",
"updateInternalDeps": true
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"automerge": true,
"extends": ["config:base"],
"npm": {
"fileMatch": ["(^|/)package\\.json$", "(^|/)package\\.json\\.hbs$"]
},
"packageRules": [
{
"enabled": false,
"matchPackagePatterns": ["^@acme/"]
}
],
"rangeStrategy": "bump",
"updateInternalDeps": true
}
12 changes: 6 additions & 6 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"recommendations": [
"biomejs.biome",
"bradlc.vscode-tailwindcss",
"deque-systems.vscode-axe-linter",
"yoavbls.pretty-ts-errors"
]
"recommendations": [
"biomejs.biome",
"bradlc.vscode-tailwindcss",
"deque-systems.vscode-axe-linter",
"yoavbls.pretty-ts-errors"
]
}
30 changes: 15 additions & 15 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"configurations": [
{
"command": "pnpm dev",
"cwd": "${workspaceFolder}/apps/nextjs",
"name": "Next.js",
"request": "launch",
"skipFiles": ["<node_internals>/**"],
"sourceMapPathOverrides": {
"/turbopack/[project]/*": "${webRoot}/*" //https://github.com/vercel/next.js/issues/62008
},
"sourceMaps": true,
"type": "node-terminal"
}
],
"version": "0.2.0"
"configurations": [
{
"command": "pnpm dev",
"cwd": "${workspaceFolder}/apps/nextjs",
"name": "Next.js",
"request": "launch",
"skipFiles": ["<node_internals>/**"],
"sourceMapPathOverrides": {
"/turbopack/[project]/*": "${webRoot}/*" //https://github.com/vercel/next.js/issues/62008
},
"sourceMaps": true,
"type": "node-terminal"
}
],
"version": "0.2.0"
}
80 changes: 41 additions & 39 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,41 +1,43 @@
{
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": false
},
"[shellscript]": {
"editor.defaultFormatter": "foxundermoon.shell-format"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
},
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit",
"source.fixAll.eslint": "explicit"
},
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true,
"editor.tabSize": 2,
"gitlens.remotes": [
{
"domain": "www.github.com",
"type": "GitHub"
}
],
"liveshare.connectionMode": "relay",
"liveshare.launcherClient": "visualStudioCode",
"markdownlint.config": {
"MD033": false // allow inline HTML
},
"tailwindCSS.experimental.configFile": "./apps/web/src/app/globals.css",
"typescript.tsdk": "node_modules/typescript/lib",
"yaml.schemas": {
"https://json.schemastore.org/github-issue-config.json": ".github/ISSUE_TEMPLATE/config.yml"
}
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": false
},
"[shellscript]": {
"editor.defaultFormatter": "foxundermoon.shell-format"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
},
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit",
"source.fixAll.eslint": "explicit"
},
"editor.defaultFormatter": "biomejs.biome",
"editor.detectIndentation": false,
"editor.formatOnSave": true,
"editor.insertSpaces": true,
"editor.tabSize": 2,
"gitlens.remotes": [
{
"domain": "www.github.com",
"type": "GitHub"
}
],
"liveshare.connectionMode": "relay",
"liveshare.launcherClient": "visualStudioCode",
"markdownlint.config": {
"MD033": false // allow inline HTML
},
"tailwindCSS.experimental.configFile": "./apps/web/src/app/globals.css",
"typescript.tsdk": "node_modules/typescript/lib",
"yaml.schemas": {
"https://json.schemastore.org/github-issue-config.json": ".github/ISSUE_TEMPLATE/config.yml"
}
}
24 changes: 12 additions & 12 deletions apps/drizzle-studio/package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"name": "@acme/drizzle-studio",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "NODE_ENV=development pnpm with-env pnpm --filter=db studio",
"with-env": "dotenv -e ../../.env --"
},
"devDependencies": {
"@acme/db": "workspace:*",
"dotenv-cli": "^8.0.0"
}
"name": "@acme/drizzle-studio",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "NODE_ENV=development pnpm with-env pnpm --filter=db studio",
"with-env": "dotenv -e ../../.env --"
},
"devDependencies": {
"@acme/db": "workspace:*",
"dotenv-cli": "^8.0.0"
}
}
14 changes: 7 additions & 7 deletions apps/drizzle-studio/turbo.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true
}
}
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true
}
}
}
54 changes: 27 additions & 27 deletions apps/localtunnel/package.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
{
"name": "@acme/localtunnel",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"check": "biome check",
"clean": "git clean -xdf .cache .next .turbo node_modules tsconfig.tsbuildinfo",
"dev": "NODE_ENV=development pnpm with-env concurrently \"pnpm watch\" \"pnpm tunnel\"",
"tunnel": "pnpm with-env sh -c 'pnpm lt --port $LOCALTUNNEL_PORT --subdomain $LOCALTUNNEL_SUBDOMAIN'",
"typecheck": "tsc --noEmit",
"watch": "pnpm with-env tsx watch ./src/main.ts",
"with-env": "dotenv -e ../../.env --"
},
"devDependencies": {
"@acme/db": "workspace:*",
"@acme/tsconfig": "workspace:*",
"@biomejs/biome": "^2.0.6",
"@types/express": "^5.0.3",
"@types/localtunnel": "^2.0.4",
"@types/node": "^22.15.29",
"concurrently": "^9.2.0",
"dotenv-cli": "^8.0.0",
"express": "^5.1.0",
"localtunnel": "^2.0.2",
"tsx": "^4.20.3",
"zod": "^3.25.71"
}
"name": "@acme/localtunnel",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"check": "biome check",
"clean": "git clean -xdf .cache .next .turbo node_modules tsconfig.tsbuildinfo",
"dev": "NODE_ENV=development pnpm with-env concurrently \"pnpm watch\" \"pnpm tunnel\"",
"tunnel": "pnpm with-env sh -c 'pnpm lt --port $LOCALTUNNEL_PORT --subdomain $LOCALTUNNEL_SUBDOMAIN'",
"typecheck": "tsc --noEmit",
"watch": "pnpm with-env tsx watch ./src/main.ts",
"with-env": "dotenv -e ../../.env --"
},
"devDependencies": {
"@acme/db": "workspace:*",
"@acme/tsconfig": "workspace:*",
"@biomejs/biome": "^2.0.6",
"@types/express": "^5.0.3",
"@types/localtunnel": "^2.0.4",
"@types/node": "^22.15.29",
"concurrently": "^9.2.0",
"dotenv-cli": "^8.0.0",
"express": "^5.1.0",
"localtunnel": "^2.0.2",
"tsx": "^4.20.3",
"zod": "^3.25.71"
}
}
46 changes: 23 additions & 23 deletions apps/localtunnel/src/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,27 @@ import { createEnv } from "@t3-oss/env-nextjs";
import { z } from "zod";

export const env = createEnv({
/**
* Destructure all variables from `process.env` to make sure they aren't tree-shaken away.
*/
experimental__runtimeEnv: {
NODE_ENV: process.env.NODE_ENV,
},
/**
* Specify your server-side environment variables schema here.
* This way you can ensure the app isn't built with invalid env vars.
*/
server: {
LOCALTUNNEL_PORT: z.string().transform(Number),
LOCALTUNNEL_SUBDOMAIN: z.string(),
NEXT_JS_URL: z.string().url().default("http://localhost:3000"),
SUPABASE_SECRET: z.string(),
},
shared: {
NODE_ENV: z
.enum(["development", "production", "test"])
.default("development"),
},
skipValidation:
!!process.env.CI || process.env.npm_lifecycle_event === "lint",
/**
* Destructure all variables from `process.env` to make sure they aren't tree-shaken away.
*/
experimental__runtimeEnv: {
NODE_ENV: process.env.NODE_ENV,
},
/**
* Specify your server-side environment variables schema here.
* This way you can ensure the app isn't built with invalid env vars.
*/
server: {
LOCALTUNNEL_PORT: z.string().transform(Number),
LOCALTUNNEL_SUBDOMAIN: z.string(),
NEXT_JS_URL: z.string().url().default("http://localhost:3000"),
SUPABASE_SECRET: z.string(),
},
shared: {
NODE_ENV: z
.enum(["development", "production", "test"])
.default("development"),
},
skipValidation:
!!process.env.CI || process.env.npm_lifecycle_event === "lint",
});
6 changes: 3 additions & 3 deletions apps/localtunnel/src/lib/sign-payload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import crypto from "node:crypto";
* Creates a Supabase-compatible webhook signature using HMAC-SHA256.
*/
export function signPayload(payload: string, secret: string): string {
const hmac = crypto.createHmac("sha256", secret);
hmac.update(payload);
return hmac.digest("hex");
const hmac = crypto.createHmac("sha256", secret);
hmac.update(payload);
return hmac.digest("hex");
}
4 changes: 2 additions & 2 deletions apps/localtunnel/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ app.use(json());

// Start the server, we'll proxy the requests to the Next.js server using the `useNextjsProxy` middleware.
app.listen(env.LOCALTUNNEL_PORT, () => {
console.debug(`Tunnel server listening on port ${env.LOCALTUNNEL_PORT}!`);
console.debug(`Tunnel server listening on port ${env.LOCALTUNNEL_PORT}!`);
});

// Small route for health checks, helps us know if the server is running.
app.get("/", (_req, res) => {
res.send("Hello World");
res.send("Hello World");
});

usePayloadLogger(app);
Expand Down
Loading