{ "name": "Whalebird", "version": "5.0.0", "author": "AkiraFukushima ", "description": "An Electron based Mastodon client for Windows, Mac and Linux", "license": "MIT", "keywords": [ "mastodon", "client", "electron", "vue" ], "repository": { "type": "git", "url": "https://github.com/h3poteto/whalebird-desktop.git" }, "config": { "buildVersion": "148", "appVersion": "5.0.0" }, "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", "build:mas": "yarn run build:clean && yarn run pack && electron-packager ./ 'Whalebird' --platform=mas --arch=x64 --arch=arm64 --electron-version=20.3.12 --asar.unpackDir='build/sounds' --out=packages --ignore='^/src' --ignore='^/.electron-vue' --ignore='^/.envrc' --ignore='^/packages' --ignore='^/plist' --ignore='^/static' --ignore='^/whalebird.db' --ignore='^/screenshot.png' --prune=true --icon=./build/icons/icon.icns --overwrite --app-bundle-id=social.whalebird.app --app-version=$npm_package_config_appVersion --build-version=$npm_package_config_buildVersion --extend-info='./plist/team.plist' --app-category-type=public.app-category.social-networking && node ./packages/universal.js", "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.0.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", "spec": "NODE_ENV=test jest -u --maxWorkers=3" }, "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.3.0", "@fortawesome/free-regular-svg-icons": "^6.2.1", "@fortawesome/free-solid-svg-icons": "^6.2.1", "@fortawesome/vue-fontawesome": "^3.0.3", "@trodi/electron-splashscreen": "^1.0.2", "@vueuse/core": "9.13.0", "@vueuse/math": "^9.13.0", "about-window": "^1.15.2", "animate.css": "^4.1.0", "auto-launch": "^5.0.5", "axios": "1.3.3", "blueimp-load-image": "^5.16.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.2.32", "emoji-mart-vue-fast": "^12.0.1", "i18next": "^22.4.10", "megalodon": "5.2.0", "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", "sqlite3": "^5.1.4", "system-font-families": "^0.6.0", "unicode-emoji-json": "^0.4.0", "vue": "^3.2.47", "vue-popperjs": "^2.3.0", "vue-resize": "^2.0.0-alpha.1", "vue-router": "^4.1.6", "vue-virtual-scroller": "2.0.0-beta.8", "vue3-i18next": "^0.2.2", "vuex": "^4.1.0", "vuex-router-sync": "^6.0.0-rc.1" }, "devDependencies": { "@babel/core": "^7.21.0", "@babel/eslint-parser": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-transform-runtime": "^7.21.0", "@babel/preset-env": "^7.20.2", "@babel/register": "^7.21.0", "@babel/runtime": "7.21.0", "@electron/universal": "^1.3.4", "@types/auto-launch": "^5.0.2", "@types/electron-json-storage": "^4.5.0", "@types/jest": "27.4.1", "@types/jsdom": "^21.1.0", "@types/node": "^18.14.0", "@types/parse-link-header": "^2.0.1", "@typescript-eslint/eslint-plugin": "^5.53.0", "@typescript-eslint/parser": "^5.53.0", "@vue/compiler-sfc": "^3.2.47", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^11.0.2", "all-object-keys": "^2.2.0", "assert": "^2.0.0", "babel-jest": "^29.4.3", "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.1.1", "cli-color": "^2.0.3", "copy-webpack-plugin": "^11.0.0", "core-js": "^3.28.0", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", "css-loader": "^6.7.3", "del": "^6.1.1", "devtron": "^1.4.0", "electron": "20.3.12", "electron-builder": "23.3.3", "electron-debug": "^3.2.0", "electron-devtools-installer": "^3.2.0", "electron-mock-ipc": "^0.3.12", "electron-notarize": "^1.2.2", "electron-packager": "^17.1.1", "electron-windows-store": "^2.1.0", "eslint": "^8.34.0", "eslint-plugin-vue": "^9.9.0", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.0", "https-browserify": "^1.0.0", "jest": "^26.6.3", "jsdom": "^21.1.0", "json-loader": "^0.5.7", "listr": "^0.14.3", "mini-css-extract-plugin": "^2.7.2", "node-loader": "^2.0.0", "node-sass": "^8.0.0", "os-browserify": "^0.3.0", "path-browserify": "^1.0.1", "postcss": "^8.4.21", "postcss-html": "^1.5.0", "postcss-scss": "^4.0.6", "prettier": "^2.8.4", "process": "^0.11.10", "regenerator-runtime": "^0.13.11", "sass-loader": "^13.2.0", "stream-browserify": "^3.0.0", "stream-http": "^3.2.0", "style-loader": "^3.3.1", "stylelint": "^14.16.1", "stylelint-config-html": "^1.1.0", "stylelint-config-prettier": "^9.0.4", "stylelint-config-standard": "^29.0.0", "stylelint-scss": "^4.3.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.2", "vue-html-loader": "^1.2.4", "vue-loader": "^17.0.1", "vue-style-loader": "^4.1.3", "webpack": "^5.75.0", "webpack-cli": "^5.0.1", "webpack-dev-server": "^4.11.1", "webpack-hot-middleware": "^2.25.3" } }