[READ-ONLY] Mirror of https://github.com/danielroe/roe.dev. This is the code and content for my personal website, built in Nuxt.
roe.dev
1{
2 "name": "roe.dev",
3 "version": "1.0.0",
4 "private": true,
5 "scripts": {
6 "dev": "nuxt dev",
7 "build": "pnpm rebuild sharp && nuxt build",
8 "start": "nuxt start",
9 "partykit:dev": "partykit dev ./partykit/server.ts",
10 "partykit:deploy": "partykit deploy ./partykit/server.ts",
11 "lint:js": "eslint .",
12 "lint:style": "stylelint **/*.{vue,css} --fix --ignore-path .gitignore",
13 "lint": "pnpm lint:js && pnpm lint:style",
14 "test": "vitest run",
15 "test:types": "nuxt prepare && vue-tsc -b --noEmit",
16 "test:e2e": "playwright test test/e2e",
17 "test:e2e:update": "docker run --rm --network host -v $(pwd):/work/ -v /tmp/playwright-nm:/work/node_modules -w /work/ -it mcr.microsoft.com/playwright:v1.60.0-noble bash -c 'corepack enable && pnpm i && pnpm playwright test test/e2e --update-snapshots'",
18 "postinstall": "nuxt prepare && pnpm simple-git-hooks install",
19 "auth:linkedin": "node --env-file=.env scripts/linkedin-auth.ts",
20 "auth:youtube": "node --env-file=.env scripts/youtube-auth.ts",
21 "auth:youtube:refresh": "node --env-file=.env scripts/youtube-auth.ts refresh",
22 "lex:gen": "node scripts/gen-lex.mjs"
23 },
24 "nano-staged": {
25 "*.{js,ts,mjs,vue}": [
26 "eslint"
27 ],
28 "*.{css,vue}": "stylelint"
29 },
30 "dependencies": {
31 "@atcute/bluesky-richtext-segmenter": "^3.0.0",
32 "@atproto/api": "^0.19.18",
33 "@atproto/lexicon": "^0.6.2",
34 "@atproto/oauth-client-node": "0.4.1",
35 "@formkit/drag-and-drop": "0.5.3",
36 "@iconify-json/ri": "^1.2.10",
37 "@iconify-json/svg-spinners": "^1.2.4",
38 "@iconify-json/tabler": "^1.2.35",
39 "@nuxt/eslint": "1.15.2",
40 "@nuxt/fonts": "0.14.0",
41 "@nuxt/image": "2.0.0",
42 "@nuxt/scripts": "^1.1.0",
43 "@nuxtjs/color-mode": "^4.0.0",
44 "@nuxtjs/html-validator": "2.1.0",
45 "@nuxtjs/mdc": "0.22.0",
46 "@nuxtjs/plausible": "3.0.2",
47 "@takumi-rs/core": "^1.1.2",
48 "@unhead/vue": "2.1.13",
49 "@unocss/nuxt": "66.7.5",
50 "@unocss/postcss": "66.7.5",
51 "@unocss/reset": "66.7.5",
52 "@vercel/blob": "^2.3.3",
53 "citty": "^0.2.2",
54 "defu": "^6.1.7",
55 "exsolve": "^1.0.8",
56 "feed": "^6.0.0",
57 "gray-matter": "4.0.3",
58 "gsap": "^3.15.0",
59 "h3": "^1.15.11",
60 "image-meta": "^0.2.2",
61 "js-yaml": "^5.0.0",
62 "knitwork": "^1.3.0",
63 "magic-regexp": "0.11.0",
64 "magic-string": "^1.0.0",
65 "masto": "^7.11.1",
66 "mediabunny": "^1.45.2",
67 "mlly": "^1.8.2",
68 "mocked-exports": "^0.1.1",
69 "modern-screenshot": "^4.7.0",
70 "multiformats": "14.0.0",
71 "nuxt": "4.4.5",
72 "nuxt-og-image": "6.5.0",
73 "nuxt-security": "2.6.0",
74 "partykit": "0.0.115",
75 "partysocket": "^1.1.19",
76 "pathe": "^2.0.3",
77 "pkg-types": "^2.3.1",
78 "postcss-nesting": "^14.0.0",
79 "remark": "^15.0.1",
80 "remark-html": "^16.0.1",
81 "rollup-plugin-node-polyfills": "^0.2.1",
82 "scule": "^1.3.0",
83 "std-env": "^4.1.0",
84 "tinyglobby": "^0.2.16",
85 "ufo": "^1.6.4",
86 "unocss": "66.7.5",
87 "unplugin": "^3.0.0",
88 "vue": "3.5.38",
89 "vue-router": "5.0.7"
90 },
91 "devDependencies": {
92 "@atproto/common-web": "0.4.21",
93 "@commitlint/cli": "21.0.1",
94 "@commitlint/config-conventional": "21.0.1",
95 "@nuxt/test-utils": "4.0.3",
96 "@playwright/test": "1.60.0",
97 "@types/html-to-text": "9.0.4",
98 "@types/js-yaml": "4.0.9",
99 "@vue/test-utils": "2.4.10",
100 "eslint": "9.39.5",
101 "googleapis": "173.0.0",
102 "happy-dom": "20.11.1",
103 "html-to-text": "10.0.0",
104 "nano-staged": "1.0.2",
105 "ofetch": "1.5.1",
106 "playwright-core": "1.60.0",
107 "rollup": "4.60.4",
108 "simple-git-hooks": "2.13.1",
109 "stylelint": "17.14.1",
110 "stylelint-config-recommended-vue": "1.6.1",
111 "stylelint-config-standard": "40.0.0",
112 "typescript": "6.0.3",
113 "vite": "8.0.13",
114 "vitest": "4.1.10",
115 "vue-tsc": "3.2.9"
116 },
117 "simple-git-hooks": {
118 "commit-msg": "npx commitlint --edit $1",
119 "pre-commit": "npx nano-staged"
120 },
121 "packageManager": "pnpm@11.1.2"
122}