{ "name": "Whalebird", "version": "5.0.7", "author": "AkiraFukushima ", "description": "An Electron based Mastodon client for Windows, Mac and Linux", "keywords": [ "mastodon", "client", "electron", "vue" ], "repository": { "type": "git", "url": "https://github.com/h3poteto/whalebird-desktop.git" }, "main": "./dist/electron/main.js", "scripts": { "dev": "node .electron-vue/dev-runner.js", "dev:main": "webpack --node-env=development --mode development --progress --config .electron-vue/webpack.main.config.js", "dev:renderer": "webpack --node-env=development --mode development --progress --config .electron-vue/webpack.renderer.config.js", "lint:eslint": "eslint -c .eslintrc.js --ext .js,.vue,.ts src spec", "lint:stylelint": "stylelint '**/*.vue'", "build": "node .electron-vue/build.js", "build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js", "build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js", "package:mas": "electron-builder --mac --publish never --config electron-builder.mas.json", "package:mac": "electron-builder --mac --publish never --config electron-builder.json", "package:linux": "electron-builder --linux --publish never --config electron-builder.json", "package:win32": "electron-builder --win --ia32 --publish never --config electron-builder.json", "package:win64": "electron-builder --win --x64 --publish never --config electron-builder.json", "package:pacman": "electron-builder --linux pacman --publish never --config electron-builder.json", "package:appx2": "electron-builder --win --x64 --config electron-builder.json && electron-windows-store --assets .\\build\\icons --input-directory .\\build\\win-unpacked --output-directory .\\build\\appx --package-name Whalebird --package-display-name Whalebird --package-version 5.0.7.0 --publisher-display-name h3poteto --identity-name 45610h3poteto.Whalebird", "pack": "yarn run pack:main && yarn run pack:renderer", "pack:main": "webpack --node-env=production --mode production --progress --config .electron-vue/webpack.main.config.js", "pack:renderer": "webpack --node-env=production --mode production --progress --config .electron-vue/webpack.renderer.config.js", "typecheck": "tsc -p . --noEmit && vue-tsc --noEmit", "spec": "NODE_ENV=test jest -u --maxWorkers=3", "postinstall": "electron-builder install-app-deps", "thirdparty": "license-checker --production --json > thirdparty.json && node scripts/thirdparty.js" }, "jest": { "moduleFileExtensions": [ "ts", "js", "json" ], "moduleNameMapper": { "@/router": "/spec/mock/router.ts", "^@/(.+)": "/src/renderer/$1", "^~/(.+)": "/$1", "axios": "axios/dist/node/axios.cjs" }, "testMatch": [ "**/spec/**/*.spec.ts" ], "preset": "ts-jest/presets/js-with-ts", "transform": { "^.+\\.(js|jsx)$": "babel-jest", "^.+\\.(ts|tsx)$": "ts-jest" }, "transformIgnorePatterns": [ "/node_modules/(?!axios)" ], "setupFiles": [ "core-js", "/spec/setupJest.ts" ], "globals": { "ts-jest": { "tsconfig": "tsconfig.json" } } }, "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.4.0", "@fortawesome/free-regular-svg-icons": "^6.4.0", "@fortawesome/free-solid-svg-icons": "^6.4.0", "@fortawesome/vue-fontawesome": "^3.0.3", "@trodi/electron-splashscreen": "^1.0.2", "@vueuse/core": "10.4.1", "@vueuse/math": "^10.1.2", "about-window": "^1.15.2", "animate.css": "^4.1.0", "auto-launch": "^5.0.5", "axios": "1.5.1", "better-sqlite3": "8.2.0", "electron-context-menu": "^3.6.1", "electron-json-storage": "^4.6.0", "electron-log": "^4.4.8", "electron-window-state": "^5.0.3", "element-plus": "^2.3.14", "emoji-mart-vue-fast": "^15.0.0", "i18next": "^22.4.15", "i18next-vue": "^2.1.1", "megalodon": "8.1.1", "minimist": "^1.2.8", "mitt": "^3.0.0", "moment": "^2.29.4", "mousetrap": "^1.6.5", "object-assign-deep": "^0.4.0", "parse-link-header": "^2.0.0", "sanitize-html": "^2.10.0", "simplayer": "0.0.8", "system-font-families": "^0.6.0", "unicode-emoji-json": "^0.4.0", "vue": "^3.3.4", "vue-popperjs": "^2.3.0", "vue-resize": "^2.0.0-alpha.1", "vue-router": "^4.2.2", "vue-virtual-scroller": "2.0.0-beta.8", "vuex": "^4.1.0", "vuex-router-sync": "^6.0.0-rc.1" }, "devDependencies": { "@babel/core": "^7.22.1", "@babel/eslint-parser": "^7.21.8", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-transform-runtime": "^7.21.4", "@babel/preset-env": "^7.21.5", "@babel/register": "^7.21.0", "@babel/runtime": "7.23.1", "@electron/notarize": "^2.0.0", "@types/auto-launch": "^5.0.2", "@types/better-sqlite3": "^7.6.3", "@types/electron-json-storage": "^4.5.0", "@types/jest": "27.5.2", "@types/jsdom": "^21.1.1", "@types/node": "^20.2.5", "@types/parse-link-header": "^2.0.1", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "@vue/compiler-sfc": "^3.3.4", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^12.0.0", "all-object-keys": "^2.2.0", "assert": "^2.0.0", "babel-jest": "^29.5.0", "babel-loader": "^9.1.2", "babel-plugin-istanbul": "^6.1.1", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", "bufferutil": "^4.0.7", "cfonts": "^3.2.0", "cli-color": "^2.0.3", "copy-webpack-plugin": "^11.0.0", "core-js": "^3.30.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", "css-loader": "^6.7.3", "del": "^6.1.1", "devtron": "^1.4.0", "electron": "22.3.24", "electron-builder": "23.6.0", "electron-debug": "^3.2.0", "electron-devtools-installer": "^3.2.0", "electron-mock-ipc": "^0.3.12", "electron-windows-store": "^2.1.0", "eslint": "^8.49.0", "eslint-plugin-vue": "^9.14.1", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.1", "https-browserify": "^1.0.0", "jest": "^26.6.3", "jsdom": "^22.1.0", "json-loader": "^0.5.7", "listr": "^0.14.3", "mini-css-extract-plugin": "^2.7.5", "node-loader": "^2.0.0", "node-sass": "^9.0.0", "os-browserify": "^0.3.0", "path-browserify": "^1.0.1", "postcss": "^8.4.23", "postcss-html": "^1.5.0", "postcss-scss": "^4.0.6", "prettier": "^3.0.3", "process": "^0.11.10", "regenerator-runtime": "^0.14.0", "sass-loader": "^13.2.2", "stream-browserify": "^3.0.0", "stream-http": "^3.2.0", "style-loader": "^3.3.2", "stylelint": "^14.16.1", "stylelint-config-html": "^1.1.0", "stylelint-config-prettier": "^9.0.4", "stylelint-config-standard": "^34.0.0", "stylelint-scss": "^5.2.0", "timers-browserify": "^2.0.12", "ts-jest": "^26.5.6", "ts-loader": "^9.4.2", "ttfinfo": "^0.2.0", "typescript": "^4.9.5", "url": "^0.11.0", "url-loader": "^4.1.1", "utf-8-validate": "^6.0.3", "vue-html-loader": "^1.2.4", "vue-loader": "^17.2.2", "vue-style-loader": "^4.1.3", "vue-tsc": "^1.6.5", "webpack": "^5.82.1", "webpack-cli": "^5.1.1", "webpack-dev-server": "^4.15.0", "webpack-hot-middleware": "^2.25.3" } }