{ "name": "sakura-next", "version": "0.0.0", "license": "MIT", "scripts": { "dev": "vite", "build": "vite build", "build:strict": "vue-tsc --noEmit && vite build", "serve": "vite preview", "test": "jest --coverage", "lint": "eslint \"src/**/*.{ts,js,json,vue}\"", "format": "eslint \"src/**/*.{ts,js,json,vue}\" --fix && prettier \"src/**/*.{ts,js,json,vue}\" --write", "format:lint": "eslint \"src/**/*.{ts,js,json,vue}\" --fix", "format:prettier": "prettier \"src/**/*.{ts,js,json,vue}\" --write", "i18n:extract": "formatjs extract \"src/**/*.{ts,tsx,vue}\" --out-file src/locales/defaultMessages.json --ignore \"src/**/@types\"", "i18n:compile": "formatjs compile src/locales/defaultMessages.json --out-file src/locales/default.json", "i18n": "yarn i18n:extract && yarn i18n:compile", "git:commit": "git add . && git commit", "composer": "node scripts/rsync.mjs --composer-install", "remote-download:geoip2": "node scripts/rsync.mjs --geoip2", "local-download:geoip2": "mkdir -p app/cache && curl -o app/cache/GeoLite2-City.mmdb https://raw.githubusercontent.com/P3TERX/GeoLite.mmdb/download/GeoLite2-City.mmdb", "rsync": "nodemon -e '*' --watch ./app --ignore ./app/vendor scripts/rsync.mjs", "rsync:composer": "nodemon --watch './composer.json' --watch './composer.lock' scripts/rsync.mjs --composer", "gen:icon": "node scripts/import-svg-icons.mjs && eslint \"src/components/icon/**/*.{ts,js,json,vue}\" --fix && prettier \"src/components/icon/**/*.{ts,js,json,vue}\" --write", "mdc": "node scripts/mdc-upgrade.mjs" }, "dependencies": { "@formatjs/intl": "^1.13.2", "@material/button": "^12.0.0-canary.068fd5028.0", "@material/card": "^12.0.0-canary.068fd5028.0", "@material/chips": "^12.0.0-canary.068fd5028.0", "@material/dialog": "^12.0.0-canary.068fd5028.0", "@material/elevation": "^12.0.0-canary.068fd5028.0", "@material/list": "^12.0.0-canary.068fd5028.0", "@material/menu": "^12.0.0-canary.068fd5028.0", "@material/ripple": "^12.0.0-canary.068fd5028.0", "@material/textfield": "^12.0.0-canary.068fd5028.0", "@material/theme": "^12.0.0-canary.068fd5028.0", "@material/typography": "^12.0.0-canary.068fd5028.0", "@vueuse/core": "^5.1.2", "@yzfe/svgicon": "^1.0.1", "@yzfe/vue3-svgicon": "^1.0.1", "axios": "^0.21.1", "camelcase-keys": "^7.0.0", "crypto-js": "^4.0.0", "gsap": "^3.7.0", "highlight.js": "^11.0.1", "idb": "^6.1.2", "lodash": "^4.17.21", "marked": "^2.1.3", "normalize.css": "^8.0.1", "sass": "^1.35.1", "sass-loader": "^12.1.0", "snakecase-keys": "^4.0.2", "uuid": "^8.3.2", "vue": "^3.1.4", "vue-intl": "^6.0.6", "vue-router": "^4.0.10" }, "devDependencies": { "@formatjs/cli": "^4.2.27", "@types/crypto-js": "^4.0.1", "@types/jest": "^26.0.23", "@types/marked": "^2.0.3", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.28.1", "@typescript-eslint/parser": "^4.28.2", "@vitejs/plugin-vue": "^1.2.4", "@vue/compiler-sfc": "^3.1.4", "@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-typescript": "^7.0.0", "@vue/test-utils": "^2.0.0-rc.9", "autoprefixer": "^10.2.6", "colors": "^1.4.0", "dotenv": "^10.0.0", "eslint": "^7.30.0", "eslint-plugin-file-progress": "^1.1.0", "eslint-plugin-formatjs": "^2.17.0", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-vue": "^7.13.0", "foreman": "^3.0.1", "jest": "^27.0.6", "nodemon": "^2.0.9", "postcss-import": "^14.0.2", "prettier": "^2.3.2", "resize-observer-polyfill": "^1.5.1", "ts-jest": "^27.0.3", "type-fest": "^1.2.1", "typescript": "^4.3.5", "vite": "^2.4.1", "vite-plugin-svgicon": "^1.0.0-alpha.0", "vue-jest": "^5.0.0-alpha.10", "vue-tsc": "^0.2.0" }, "engines": { "npm": "please-use-yarn", "yarn": ">= 1.22.10", "node": ">= 14.17.1" } }