summaryrefslogtreecommitdiff
path: root/package.json
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-19 15:18:55 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-19 15:18:55 +0900
commit30f24e137ee2d1acec11a0da61e134f512ee02dd (patch)
tree28bd91bde3ad883f9f8fa543fca4b25ed50d05e9 /package.json
parentda4934ae84f8a81fe3f4f8b392a4a3dc3d566f30 (diff)
Initial implementation of microblog
Markdown-based personal microblog with REST API. XSS protection via sanitize-html on server-side markdown rendering. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'package.json')
-rw-r--r--package.json36
1 files changed, 36 insertions, 0 deletions
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..c678571
--- /dev/null
+++ b/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "microblog",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "build": "react-router build",
+ "dev": "react-router dev",
+ "start": "react-router-serve ./build/server/index.js",
+ "typecheck": "react-router typegen && tsc"
+ },
+ "dependencies": {
+ "@react-router/node": "^7.3.0",
+ "@react-router/serve": "^7.3.0",
+ "better-sqlite3": "^12.9.0",
+ "isbot": "^5.1.36",
+ "marked": "^14.0.0",
+ "react": "^19.2.5",
+ "react-dom": "^19.2.5",
+ "react-router": "^7.3.0",
+ "sanitize-html": "^2.13.0"
+ },
+ "devDependencies": {
+ "@react-router/dev": "^7.3.0",
+ "@tailwindcss/vite": "^4.2.4",
+ "@types/better-sqlite3": "^7.6.13",
+ "@types/node": "^22",
+ "@types/react": "^19.2.14",
+ "@types/react-dom": "^19.2.3",
+ "@types/sanitize-html": "^2.13.0",
+ "tailwindcss": "^4.2.4",
+ "tsx": "^4.20.3",
+ "typescript": "^5.9.3",
+ "vite": "^6.3.5",
+ "vite-tsconfig-paths": "^6.1.1"
+ }
+}