splatoon3.ink/package.json
Matt Isenhower 29482689f4 Migrate Tailwind CSS from v3 to v4
- Replace JS config (tailwind.config.js) with CSS @theme block in base.css
- Switch from PostCSS to @tailwindcss/vite plugin
- Convert all bg-opacity-*/border-opacity-* to slash syntax (e.g. bg-zinc-900/70)
- Add @custom-variant for mobile and ss variants
- Add @reference to Vue scoped styles using @apply
- Rename v3 utilities: rounded→rounded-sm, backdrop-blur-sm→backdrop-blur-xs,
  drop-shadow→drop-shadow-sm, rotate-[25deg]→rotate-25
- Delete obsolete tailwind.config.js and postcss.config.js
- Rename vite.config.js to .mjs for ESM compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 13:52:27 -08:00

71 lines
2.3 KiB
JSON

{
"name": "splatoon3.ink",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview --port 5050",
"lint": "eslint .",
"lint-fix": "npm run lint -- --fix",
"cron": "node app/index.mjs cron",
"start": "npm run sync:download && npm run splatnet:quick && npm run social && npm run cron",
"social": "node app/index.mjs social",
"social:test": "node app/index.mjs socialTest",
"social:test:image": "node app/index.mjs socialTestImage",
"social:test:mastodon": "node app/index.mjs socialTestMastodon",
"social:test:bluesky": "node app/index.mjs socialTestBluesky",
"social:test:threads": "node app/index.mjs socialTestThreads",
"splatnet:quick": "node app/index.mjs splatnet quick",
"splatnet": "node app/index.mjs splatnet default",
"splatnet:all": "node app/index.mjs splatnet all",
"warmCaches": "node app/index.mjs warmCaches",
"data:archive": "node app/index.mjs dataArchive",
"sync": "node app/index.mjs sync",
"sync:upload": "node app/index.mjs syncUpload",
"sync:download": "node app/index.mjs syncDownload"
},
"dependencies": {
"@atproto/api": "^0.18.21",
"@aws-sdk/client-s3": "^3.341.0",
"@headlessui/vue": "^1.7.23",
"@heroicons/vue": "^2.2.0",
"@intlify/unplugin-vue-i18n": "^11.0.3",
"@sentry/node": "^10.38.0",
"console-stamp": "^3.0.6",
"cron": "^2.1.0",
"dotenv": "^16.0.2",
"ical-generator": "^3.6.0",
"jsonpath-plus": "^10.3.0",
"lodash": "^4.17.21",
"masto": "^7.10.1",
"nxapi": "^1.6.1-next.170",
"p-filter": "^4.1.0",
"p-limit": "^6.1.0",
"p-queue": "^8.0.1",
"pinia": "^2.3.1",
"puppeteer-core": "^24.37.3",
"s3-sync-client": "^4.3.1",
"sharp": "^0.34.5",
"sirv": "^3.0.2",
"threads-api": "^1.4.0",
"twitter-api-v2": "^1.29.0",
"vue": "^3.5.28",
"vue-i18n": "^11.2.8",
"vue-router": "^4.6.4"
},
"devDependencies": {
"@dword-design/eslint-plugin-import-alias": "^8.1.3",
"@eslint/js": "^9.39.2",
"@tailwindcss/vite": "^4.1.18",
"@vitejs/plugin-vue": "^5.2.4",
"eslint": "^9.39.2",
"eslint-plugin-jsdoc": "^62.5.5",
"eslint-plugin-vue": "^10.8.0",
"globals": "^17.3.0",
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3",
"vite": "^6.4.1",
"vue-eslint-parser": "^10.4.0"
}
}