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
16 changes: 8 additions & 8 deletions config/eslint/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@
"type-check": "tsc --noEmit"
},
"dependencies": {
"@eslint/compat": "^1.2.4",
"@next/eslint-plugin-next": "^15.1.3",
"eslint-plugin-import": "^2.31.0",
"@eslint/compat": "^1.3.2",
"@next/eslint-plugin-next": "^15.5.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.3",
"eslint-plugin-react-hooks": "^5.1.0",
"typescript-eslint": "^8.19.0"
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"typescript-eslint": "^8.40.0"
},
"devDependencies": {
"@pubpub/prettier-config": "workspace:*",
"@types/eslint": "^9.6.1",
"@types/eslint-plugin-jsx-a11y": "^6.10.0",
"@types/node": "catalog:",
"eslint": "catalog:",
"eslint-plugin-react-compiler": "19.0.0-beta-63e3235-20250105",
"eslint-config-turbo": "^2.3.3",
"eslint-plugin-react-compiler": "19.1.0-rc.2",
"eslint-config-turbo": "^2.5.6",
"eslint-plugin-validate-jsx-nesting": "^0.1.1",
"prettier": "catalog:",
"tsconfig": "workspace:*",
Expand Down
6 changes: 3 additions & 3 deletions config/prettier/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
"type-check": "tsc --noEmit"
},
"dependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.1.1",
"@ianvs/prettier-plugin-sort-imports": "^4.6.2",
"prettier": "catalog:",
"prettier-plugin-jsdoc": "^1.3.0",
"prettier-plugin-tailwindcss": "^0.6.6"
"prettier-plugin-jsdoc": "^1.3.3",
"prettier-plugin-tailwindcss": "^0.6.14"
},
"devDependencies": {
"tsconfig": "workspace:*",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,5 @@ if (env.NODE_ENV === "production") {
],
});
}

export const onRouterTransitionStart = Sentry.captureRouterTransitionStart;
13 changes: 6 additions & 7 deletions core/lib/server/cache/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,17 +261,16 @@ The way to get around this is to either pass the `userId` as a parameter to the

```ts
const getProfile = unstable_cache(async (userId: number) => {
return await db.selectFrom('users').selectAll().where('users.id', '=', userId).execute()
})
return await db.selectFrom("users").selectAll().where("users.id", "=", userId).execute();
});

// or

const getProfile = async (userId: number) => {
return await unstable_cache(async () => {
return await db.selectFrom('users').selectAll().where('users.id', '=', userId).execute()
}, [userId])()
}

return await unstable_cache(async () => {
return await db.selectFrom("users").selectAll().where("users.id", "=", userId).execute();
}, [userId])();
};
```

2. The cache _tag_ is used to invalidate the cache. The tag can be anything you want, but it's usually a string that describes the data that is cached.
Expand Down
3 changes: 3 additions & 0 deletions core/next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ const nextConfig: NextConfig = {
},
],
},
turbopack: {
root: new URL("./..", import.meta.url).pathname,
},
serverExternalPackages: [
"@aws-sdk",
// without this here, next will sort of implode and no longer compile and serve pages properly
Expand Down
132 changes: 66 additions & 66 deletions core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"clear-cache": "echo 'FLUSHALL' | nc $(dotenv -e .env.local -e .env.development -p VALKEY_HOST) 6379",
"dev": "NODE_OPTIONS=\"--max-old-space-size=16384\" next dev -p 3000 --turbo | pino-pretty",
"build": "SKIP_VALIDATION=true NODE_OPTIONS=\"--max-old-space-size=8192\" next build",
"build:turbo": "SKIP_VALIDATION=true NODE_OPTIONS=\"--max-old-space-size=8192\" next build --turbo",
"invite-users": "dotenv -e .env.local -e .env.development tsx scripts/invite.ts",
"load-test": "dotenv -e .env.local -e .env.development artillery run load-test.yaml",
"lint": "eslint",
Expand Down Expand Up @@ -56,91 +57,90 @@
"seed": "tsx --import #register-loader prisma/seed.ts"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.817.0",
"@aws-sdk/lib-storage": "^3.817.0",
"@aws-sdk/s3-request-presigner": "^3.817.0",
"@dagrejs/dagre": "^1.0.4",
"@dnd-kit/core": "^6.1.0",
"@aws-sdk/client-s3": "^3.864.0",
"@aws-sdk/lib-storage": "^3.864.0",
"@aws-sdk/s3-request-presigner": "^3.864.0",
"@dagrejs/dagre": "^1.1.5",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^7.0.0",
"@dnd-kit/sortable": "^8.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@faker-js/faker": "^9.0.0",
"@fortedigital/nextjs-cache-handler": "^1.2.0",
"@faker-js/faker": "^9.9.0",
"@fortedigital/nextjs-cache-handler": "1.2.0",
"@googleapis/drive": "^8.16.0",
"@handlewithcare/react-prosemirror": "catalog:",
"@honeycombio/opentelemetry-node": "catalog:",
"@hookform/resolvers": "catalog:",
"@icons-pack/react-simple-icons": "^10.2.0",
"@neshca/cache-handler": "^1.9.0",
"@nimpl/getters": "^2.0.0",
"@nimpl/getters": "^2.2.0",
"@node-rs/argon2": "^1.8.3",
"@opentelemetry/auto-instrumentations-node": "catalog:",
"@prisma/client": "5.19.1",
"@react-email/render": "^1.0.1",
"@react-email/render": "^1.2.0",
"@sentry/nextjs": "catalog:",
"@sinclair/typebox": "catalog:",
"@t3-oss/env-nextjs": "^0.11.1",
"@tanstack/react-query": "5",
"@tanstack/react-table": "^8.13.2",
"@tanstack/react-query": "^5.85.5",
"@tanstack/react-table": "^8.21.3",
"@ts-rest/core": "catalog:",
"@ts-rest/next": "catalog:",
"@ts-rest/open-api": "catalog:",
"@ts-rest/react-query": "catalog:",
"@ts-rest/serverless": "catalog:",
"@types/hast": "^3.0.4",
"ajv": "^8.12.0",
"ajv": "^8.17.1",
"ajv-formats": "^2.1.1",
"clsx": "catalog:",
"context-editor": "workspace:*",
"contracts": "workspace:*",
"date-fns": "catalog:",
"db": "workspace:*",
"debounce": "^2.0.0",
"debounce": "^2.2.0",
"diacritics": "^1.3.0",
"emails": "workspace:*",
"eta": "^3.1.1",
"eta": "^3.5.0",
"google-auth-library": "^9.15.1",
"graphile-worker": "^0.16.5",
"hast": "^1.0.0",
"hastscript": "^9.0.0",
"import-in-the-middle": "^1.13.1",
"ioredis": "^5.6.1",
"jsonpath-plus": "^10.2.0",
"jsonwebtoken": "^9.0.0",
"graphile-worker": "^0.16.6",
"hastscript": "^9.0.1",
"import-in-the-middle": "1.14.2",
"ioredis": "^5.7.0",
"jsonpath-plus": "^10.3.0",
"jsonwebtoken": "^9.0.2",
"katex": "catalog:",
"kysely": "^0.27.5",
"kysely": "^0.27.6",
"lodash.isequalwith": "^4.4.0",
"lodash.partition": "^4.6.0",
"logger": "workspace:*",
"lucia": "^3.2.2",
"lucide-react": "^0.469.0",
"micromark-extension-directive": "^3.0.0",
"micromark-extension-directive": "^3.0.2",
"mudder": "^2.1.1",
"next": "catalog:",
"next-connect": "^1.0.0",
"nodemailer": "^6.9.5",
"nodemailer": "^6.10.1",
"nuqs": "catalog:",
"openapi3-ts": "^4.1.2",
"openapi3-ts": "^4.5.0",
"oslo": "^1.2.1",
"parse-english": "^7.0.0",
"pg": "^8.11.3",
"prosemirror-markdown": "^1.12.0",
"pg": "^8.16.3",
"prosemirror-markdown": "^1.13.2",
"prosemirror-model": "catalog:",
"qs": "^6.14.0",
"react": "catalog:react19",
"react-dom": "catalog:react19",
"react-hook-form": "catalog:",
"react-markdown": "^9.0.1",
"reactflow": "^11.10.4",
"react-markdown": "^9.1.0",
"reactflow": "^11.11.4",
"rehype": "^13.0.2",
"rehype-format": "^5.0.0",
"rehype-format": "^5.0.1",
"rehype-parse": "^9.0.1",
"rehype-remark": "^10.0.0",
"rehype-remark": "^10.0.1",
"rehype-retext": "^5.0.1",
"rehype-stringify": "^10.0.0",
"remark-directive": "^3.0.0",
"rehype-stringify": "^10.0.1",
"remark-directive": "^3.0.1",
"remark-parse": "^11.0.0",
"remark-rehype": "^11.1.0",
"remark-rehype": "^11.1.2",
"remark-stringify": "^11.0.0",
"remove": "^0.1.5",
"require-in-the-middle": "^7.5.2",
Expand All @@ -149,75 +149,75 @@
"server-only": "^0.0.1",
"tailwind-merge": "catalog:",
"ui": "workspace:*",
"unified": "^11.0.4",
"unified": "^11.0.5",
"unist-util-filter": "^5.0.1",
"unist-util-visit": "^5.0.0",
"use-debounce": "^10.0.0",
"use-debounce": "^10.0.5",
"use-next-sse": "^0.2.3",
"utils": "workspace:*",
"uuid": "^9.0.0",
"uuid": "^9.0.1",
"zod": "catalog:"
},
"devDependencies": {
"@chromatic-com/storybook": "^4.0.0",
"@hookform/devtools": "^4.3.1",
"@chromatic-com/storybook": "^4.1.1",
"@hookform/devtools": "^4.4.0",
"@playwright/test": "catalog:",
"@preconstruct/next": "^4.0.0",
"@prisma/generator-helper": "^5.14.0",
"@prisma/internals": "^5.14.0",
"@prisma/generator-helper": "^5.22.0",
"@prisma/internals": "^5.22.0",
"@pubpub/eslint-config": "workspace:*",
"@pubpub/prettier-config": "workspace:*",
"@storybook/addon-docs": "^9.0.8",
"@storybook/addon-onboarding": "^9.0.8",
"@storybook/addon-docs": "^9.1.2",
"@storybook/addon-onboarding": "^9.1.2",
"@storybook/addon-vitest": "9.0.8",
"@storybook/nextjs-vite": "^9.0.8",
"@tailwindcss/forms": "^0.5.6",
"@tanstack/react-query-devtools": "^5.61.3",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.0.1",
"@testing-library/user-event": "^14.5.2",
"@types/diacritics": "^1.3.1",
"@storybook/nextjs-vite": "^9.1.2",
"@tailwindcss/forms": "^0.5.10",
"@tanstack/react-query-devtools": "^5.85.5",
"@testing-library/jest-dom": "^6.7.0",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/diacritics": "^1.3.3",
"@types/jsdom": "^21.1.7",
"@types/jsonwebtoken": "^9.0.2",
"@types/jsonwebtoken": "^9.0.10",
"@types/lodash.isequalwith": "^4.4.9",
"@types/lodash.partition": "^4.6.9",
"@types/mdast": "^4.0.4",
"@types/mudder": "^2.1.3",
"@types/node": "catalog:",
"@types/nodemailer": "^6.4.9",
"@types/pg": "^8.11.6",
"@types/nodemailer": "^6.4.18",
"@types/pg": "^8.15.5",
"@types/pluralize": "^0.0.33",
"@types/qs": "^6.9.18",
"@types/qs": "^6.14.0",
"@types/react": "catalog:react19",
"@types/react-dom": "catalog:react19",
"@types/unist": "^3.0.2",
"@types/uuid": "^9.0.2",
"@vitejs/plugin-react": "^4.2.1",
"@types/unist": "^3.0.3",
"@types/uuid": "^9.0.8",
"@vitejs/plugin-react": "^4.7.0",
"@vitest/browser": "3.0.5",
"@vitest/coverage-v8": "3.0.5",
"@vitest/utils": "^3.1.2",
"@vitest/utils": "^3.2.4",
"autoprefixer": "catalog:",
"csv-parse": "^5.5.2",
"dotenv": "^16.4.5",
"dotenv-cli": "^7.2.1",
"csv-parse": "^5.6.0",
"dotenv": "^16.6.1",
"dotenv-cli": "^7.4.4",
"jsdom": "^25.0.1",
"kanel": "^3.8.2",
"kanel": "^3.14.4",
"kanel-kysely": "^0.4.0",
"pluralize": "^8.0.0",
"postcss": "catalog:",
"prisma": "^5.2.0",
"prisma": "^5.22.0",
"prisma-dbml-generator": "^0.12.0",
"react": "catalog:react19",
"react-dom": "catalog:react19",
"storybook": "^9.0.8",
"storybook": "^9.1.2",
"styled-jsx": "^5.1.7",
"tailwindcss": "catalog:",
"ts-node": "^10.9.1",
"ts-node": "^10.9.2",
"tsconfig": "workspace:*",
"tsx": "catalog:",
"typescript": "catalog:",
"vite": "catalog:",
"vite-tsconfig-paths": "^5.0.1",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "catalog:",
"yargs": "^17.7.2"
},
Expand Down
5 changes: 1 addition & 4 deletions core/playwright/formAccess.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -294,10 +294,7 @@ test.describe("public forms", () => {
}, url!);

await page.goto(decodedUrl);
await page
.getByRole("status")
.getByText("Your email is now verified", { exact: true })
.waitFor();
await page.getByText("Your email is now verified", { exact: true }).waitFor();
await page.waitForURL(fillUrl, { timeout: 5_000 });
Comment on lines 296 to 298
Copy link
Member Author

@tefkah tefkah Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for some reason this was necessary

});

Expand Down
10 changes: 2 additions & 8 deletions core/playwright/verifyEmail.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,7 @@ test.describe("unverified user", () => {

await test.step("second verification should succeed", async () => {
await page.goto(secondVerification!);
await page
.getByRole("status")
.getByText("Your email is now verified", { exact: true })
.waitFor();
await page.getByText("Your email is now verified", { exact: true }).waitFor();
});
});

Expand Down Expand Up @@ -187,10 +184,7 @@ test.describe("unverified user", () => {
await test.step("link in email redirects to redirect link", async () => {
await page.goto(url);
await page.waitForURL("/communities**");
await page
.getByRole("status")
.getByText("Your email is now verified", { exact: true })
.waitFor();
await page.getByText("Your email is now verified", { exact: true }).waitFor();
});
});

Expand Down
1 change: 0 additions & 1 deletion core/postcss.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

module.exports = {
plugins: {
"@tailwindcss/postcss": {},
tailwindcss: {},
autoprefixer: {},
},
Expand Down
Loading
Loading