Files
classroomio/apps/api/package.json
T
Rotimi Best a3924100dd feat: migrate auth from supabase to better auth (#596)
* feat: add README for @cio/db package and remove existingAccounts.json

* load session, load profile and organization, add create profile hook

* chore: cache session request

The trick was passing all the cookies to the backend. Previously I was only passing the better-auth.session_token and not better-auth.session_data. Read about the difference here https://www.better-auth.com/docs/concepts/cookies#custom-cookies

* feat: login, logout, onboarding, verify email, reset password.

* feat: complete change email and email verification

* feat: standardise how we make rpc calls and create org endpoints

* fix ui errors

* fix: handle potential undefined customerId and standardize avatar URL property

* refactor: standardize custom domain handling and update telegram chat ID references

* chore: add tailwind prefix to @cio/ui

this fixed the media query issues because  @cio/ui classes were overriding this dashboard tailwind build

* chore: clean up org sidebar

* chore: persist mode state

* feat: implement order breadcrumbs

* chore: upgrade to better auth 1.4

* chore: address common auth flow bugs and setup app for others to setup locally.
2025-11-24 01:00:50 +01:00

81 lines
2.3 KiB
JSON

{
"name": "@cio/api",
"version": "0.0.1",
"description": "ClassroomIO Backend for long processes",
"main": "dist/index.js",
"type": "module",
"files": [
"dist"
],
"scripts": {
"build": "rm -rf dist tsconfig.tsbuildinfo && tsc --build && tsc-alias",
"dev": "pnpm --filter @cio/api --parallel \"/^dev:.*/\"",
"dev:server": "tsx watch src/index.ts",
"dev:tsc": "tsc -p tsconfig.json --watch",
"deploy": "wrangler deploy",
"start": "node dist/index.js",
"test": "vitest NODE_ENV=test",
"test:coverage": "vitest run --coverage",
"lint": "eslint . --ext .ts",
"format": "prettier --write \"src/**/*.ts\"",
"upload:openapi": "tsx scripts/upload-openapi-spec.ts"
},
"repository": {
"type": "git",
"url": "git+https://github.com/classroomio/classroomio.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/classroomio/classroomio/issues"
},
"homepage": "https://github.com/classroomio/classroomio#readme",
"exports": {
"./rpc-types": {
"types": "./dist/rpc-types.d.ts",
"default": "./dist/rpc-types.js"
}
},
"dependencies": {
"@aws-sdk/client-s3": "^3.388.0",
"@aws-sdk/s3-request-presigner": "^3.675.0",
"@cio/db": "workspace:*",
"@cio/email": "workspace:*",
"@cio/utils": "workspace:*",
"@hono/node-server": "^1.8.2",
"@hono/standard-validator": "^0.1.5",
"@hono/zod-validator": "^0.7.2",
"@scalar/hono-api-reference": "^0.9.18",
"@sentry/profiling-node": "^7.110.1",
"@supabase/supabase-js": "^2.32.0",
"axios": "^1.4.0",
"bcrypt": "^6.0.0",
"dotenv": "^16.3.1",
"hono": "^4.9.7",
"hono-openapi": "^1.0.8",
"hono-rate-limiter": "^0.4.2",
"ioredis": "^5.7.0",
"katex": "^0.16.10",
"marked": "^7.0.3",
"nanoid": "^5.1.5",
"zod": "^4.1.8",
"zod-openapi": "^5.4.1"
},
"devDependencies": {
"@types/bcrypt": "^6.0.0",
"@types/katex": "^0.16.7",
"@types/node": "^20.19.0",
"@typescript-eslint/eslint-plugin": "7.0.1",
"@typescript-eslint/parser": "7.0.1",
"@vitest/coverage-v8": "^1.2.2",
"eslint": "^9.31.0",
"prettier": "^3.2.5",
"ts-node": "^10.9.2",
"tsc-alias": "^1.8.16",
"tsx": "^4.7.1",
"typescript": "^5.5.2",
"vitest": "^1.2.2",
"wrangler": "4.21.x"
}
}