Two themes replace the navy GameCult theme. Every colour is a bark, leaf, soil or pigment albedo times the irradiance sun.js gives for a fixed moment (equinox noon and midnight, 45N). scripts/bake-sky.mjs writes src/sky/baked.ts: the terrain-free sky gradient used as the fallback background, folds tokens for panels and buttons, chat bubble colours, link and name colours. skyTokens.test.ts holds every text pairing to WCAG AA and fails if baked.ts is stale. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
134 lines
4.1 KiB
JSON
134 lines
4.1 KiB
JSON
{
|
|
"name": "cinny",
|
|
"version": "4.12.8",
|
|
"description": "Yet another matrix client",
|
|
"main": "index.js",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=16.0.0"
|
|
},
|
|
"scripts": {
|
|
"start": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"lint": "npm run check:eslint && npm run check:prettier",
|
|
"check:eslint": "eslint src/*",
|
|
"check:prettier": "prettier --check .",
|
|
"fix:prettier": "prettier --write .",
|
|
"typecheck": "tsc --noEmit",
|
|
"prepare": "husky install",
|
|
"commit": "git-cz",
|
|
"bump": "node scripts/update-version.js",
|
|
"bake:sky": "node scripts/bake-sky.mjs && prettier --write src/sky/baked.ts",
|
|
"test": "vitest run"
|
|
},
|
|
"lint-staged": {
|
|
"*.{ts,tsx,js,jsx}": "eslint",
|
|
"*": "prettier --ignore-unknown --write"
|
|
},
|
|
"config": {
|
|
"commitizen": {
|
|
"path": "./node_modules/cz-conventional-changelog"
|
|
}
|
|
},
|
|
"keywords": [],
|
|
"author": "Ajay Bura",
|
|
"license": "AGPL-3.0-only",
|
|
"dependencies": {
|
|
"@atlaskit/pragmatic-drag-and-drop": "1.1.6",
|
|
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "1.3.0",
|
|
"@atlaskit/pragmatic-drag-and-drop-hitbox": "1.0.3",
|
|
"@fontsource/inter": "4.5.14",
|
|
"@tanstack/react-query": "5.24.1",
|
|
"@tanstack/react-query-devtools": "5.24.1",
|
|
"@tanstack/react-virtual": "3.2.0",
|
|
"@vanilla-extract/css": "1.9.3",
|
|
"@vanilla-extract/recipes": "0.3.0",
|
|
"@vanilla-extract/vite-plugin": "3.7.1",
|
|
"await-to-js": "3.0.0",
|
|
"badwords-list": "2.0.1-4",
|
|
"blurhash": "2.0.4",
|
|
"browser-encrypt-attachment": "0.3.0",
|
|
"chroma-js": "3.1.2",
|
|
"classnames": "2.3.2",
|
|
"dateformat": "5.0.3",
|
|
"dayjs": "1.11.10",
|
|
"domhandler": "5.0.3",
|
|
"emojibase": "15.3.1",
|
|
"emojibase-data": "15.3.2",
|
|
"file-saver": "2.0.5",
|
|
"focus-trap-react": "10.0.2",
|
|
"folds": "2.7.2",
|
|
"html-dom-parser": "4.0.0",
|
|
"html-react-parser": "4.2.0",
|
|
"i18next": "23.12.2",
|
|
"i18next-browser-languagedetector": "8.0.0",
|
|
"i18next-http-backend": "4.0.3",
|
|
"immer": "9.0.16",
|
|
"is-hotkey": "0.2.0",
|
|
"jotai": "2.6.0",
|
|
"linkify-react": "4.3.2",
|
|
"linkifyjs": "4.3.2",
|
|
"matrix-js-sdk": "41.7.0",
|
|
"matrix-widget-api": "1.16.1",
|
|
"millify": "6.1.0",
|
|
"pdfjs-dist": "4.2.67",
|
|
"prismjs": "1.30.0",
|
|
"react": "18.2.0",
|
|
"react-aria": "3.29.1",
|
|
"react-blurhash": "0.2.0",
|
|
"react-colorful": "5.6.1",
|
|
"react-dom": "18.2.0",
|
|
"react-error-boundary": "4.0.13",
|
|
"react-google-recaptcha": "2.1.0",
|
|
"react-i18next": "15.0.0",
|
|
"react-range": "1.8.14",
|
|
"react-router-dom": "6.30.6",
|
|
"sanitize-html": "2.18.1",
|
|
"slate": "0.123.0",
|
|
"slate-dom": "0.123.0",
|
|
"slate-history": "0.113.1",
|
|
"slate-react": "0.123.0",
|
|
"ua-parser-js": "1.0.35",
|
|
"@fontsource/ubuntu": "5.2.5",
|
|
"@fontsource/montserrat": "5.2.5",
|
|
"@fontsource/ibm-plex-mono": "5.2.5"
|
|
},
|
|
"devDependencies": {
|
|
"@element-hq/element-call-embedded": "0.20.1",
|
|
"@esbuild-plugins/node-globals-polyfill": "0.2.3",
|
|
"@rollup/plugin-inject": "5.0.3",
|
|
"@rollup/plugin-wasm": "6.1.1",
|
|
"@types/chroma-js": "3.1.1",
|
|
"@types/file-saver": "2.0.5",
|
|
"@types/is-hotkey": "0.1.10",
|
|
"@types/node": "18.11.18",
|
|
"@types/prismjs": "1.26.0",
|
|
"@types/react": "18.2.39",
|
|
"@types/react-dom": "18.2.17",
|
|
"@types/react-google-recaptcha": "2.1.8",
|
|
"@types/sanitize-html": "2.16.1",
|
|
"@types/ua-parser-js": "0.7.36",
|
|
"@typescript-eslint/eslint-plugin": "5.46.1",
|
|
"@typescript-eslint/parser": "5.46.1",
|
|
"@vitejs/plugin-react": "4.2.0",
|
|
"buffer": "6.0.3",
|
|
"cz-conventional-changelog": "3.3.0",
|
|
"eslint": "8.29.0",
|
|
"eslint-config-airbnb": "19.0.4",
|
|
"eslint-config-prettier": "8.5.0",
|
|
"eslint-plugin-import": "2.29.1",
|
|
"eslint-plugin-jsx-a11y": "6.6.1",
|
|
"eslint-plugin-react": "7.31.11",
|
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
"husky": "9.1.7",
|
|
"lint-staged": "16.3.2",
|
|
"prettier": "2.8.1",
|
|
"typescript": "4.9.4",
|
|
"vite": "5.4.19",
|
|
"vite-plugin-pwa": "0.20.5",
|
|
"vite-plugin-static-copy": "1.0.4",
|
|
"vite-plugin-top-level-await": "1.4.4",
|
|
"vitest": "1.6.0"
|
|
}
|
|
}
|