{ "name": "Whalebird", "version": "4.5.3", "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": "119", "appVersion": "4.5.3" }, "main": "./dist/electron/main.js", "scripts": { "dev": "node .electron-vue/dev-runner.js", "lint": "eslint --ext .js,.vue,.ts -f ./node_modules/eslint-friendly-formatter src spec", "lint:fix": "eslint --ext .js,.vue,.ts -f ./node_modules/eslint-friendly-formatter --fix src spec", "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=17.3.0 --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=org.whalebird.desktop --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", "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", "postinstall": "yarn run lint:fix", "spec": "NODE_ENV=test jest -u --maxWorkers=3" }, "jest": { "moduleFileExtensions": [ "ts", "js", "json" ], "moduleNameMapper": { "@/router": "/spec/mock/router.ts", "^@/(.+)": "/src/renderer/$1", "^~/(.+)": "/$1" }, "testMatch": [ "**/spec/**/*.spec.ts" ], "preset": "ts-jest/presets/js-with-ts", "transform": { "^.+\\.(js|jsx)$": "babel-jest", "^.+\\.(ts|tsx)$": "ts-jest" }, "setupFiles": [ "core-js", "/spec/setupJest.ts" ], "globals": { "ts-jest": { "tsconfig": "tsconfig.json" } } }, "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.1.0", "@fortawesome/free-regular-svg-icons": "^6.1.0", "@fortawesome/free-solid-svg-icons": "^6.1.0", "@fortawesome/vue-fontawesome": "^2.0.6", "@panter/vue-i18next": "^0.15.2", "@trodi/electron-splashscreen": "^1.0.2", "about-window": "^1.15.2", "animate.css": "^4.1.0", "auto-launch": "^5.0.5", "axios": "^0.26.1", "blueimp-load-image": "^5.16.0", "deep-extend": "^0.6.0", "electron-context-menu": "^3.1.2", "electron-json-storage": "^4.5.0", "electron-log": "^4.4.6", "electron-window-state": "^5.0.3", "element-ui": "2.15.6", "emoji-mart-vue": "^2.6.6", "i18next": "^21.6.14", "lodash": "^4.17.21", "lokijs": "^1.5.12", "megalodon": "4.0.1", "minimist": "^1.2.6", "moment": "^2.29.2", "mousetrap": "^1.6.5", "nedb": "^1.8.0", "object-assign-deep": "^0.4.0", "parse-link-header": "^2.0.0", "rc": "^1.2.7", "sanitize-html": "^2.7.0", "simplayer": "0.0.8", "system-font-families": "^0.6.0", "tunnel-agent": "^0.6.0", "unicode-emoji-json": "^0.3.1", "vue": "^2.6.14", "vue-click-outside": "^1.1.0", "vue-popperjs": "^2.3.0", "vue-resize": "^1.0.1", "vue-router": "^3.5.3", "vue-shortkey": "^3.1.7", "vue-virtual-scroller": "^1.0.10", "vuex": "^3.6.2", "vuex-router-sync": "^5.0.0" }, "devDependencies": { "@babel/core": "^7.17.9", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.17.3", "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/runtime": "7.17.9", "@electron/universal": "^1.2.1", "@types/auto-launch": "^5.0.2", "@types/electron-json-storage": "^4.5.0", "@types/i18next": "^13.0.0", "@types/jest": "27.4.1", "@types/jsdom": "^16.2.14", "@types/lodash": "^4.14.181", "@types/lokijs": "^1.5.7", "@types/nedb": "^1.8.12", "@types/node": "^17.0.23", "@types/parse-link-header": "^2.0.0", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "@typescript-eslint/typescript-estree": "^5.18.0", "@vue/test-utils": "^1.3.0", "ajv": "^8.11.0", "all-object-keys": "^2.2.0", "assert": "^2.0.0", "babel-eslint": "^10.1.0", "babel-jest": "^27.5.1", "babel-loader": "^8.2.4", "babel-plugin-istanbul": "^6.1.1", "babel-register": "^6.26.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", "bufferutil": "^4.0.6", "cfonts": "^2.10.1", "chai": "^4.3.6", "chalk": "^4.1.2", "copy-webpack-plugin": "^10.2.4", "core-js": "^3.21.1", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", "css-loader": "^6.7.1", "del": "^6.0.0", "devtron": "^1.4.0", "electron": "17.3.0", "electron-builder": "^22.14.13", "electron-debug": "^3.2.0", "electron-devtools-installer": "^3.2.0", "electron-mock-ipc": "^0.3.12", "electron-notarize": "^1.2.1", "electron-packager": "^15.4.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^16.0.3", "eslint-friendly-formatter": "^4.0.1", "eslint-loader": "^4.0.2", "eslint-plugin-html": "^6.2.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-promise": "^5.2.0", "eslint-plugin-standard": "^5.0.0", "eslint-plugin-vue": "^8.6.0", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.0", "https-browserify": "^1.0.0", "jest": "^26.6.3", "jsdom": "^19.0.0", "json-loader": "^0.5.7", "listr": "^0.14.3", "mini-css-extract-plugin": "^2.6.0", "node-loader": "^2.0.0", "node-sass": "^7.0.1", "os-browserify": "^0.3.0", "path-browserify": "^1.0.1", "postcss": "^8.4.12", "postcss-html": "^1.3.0", "postcss-scss": "^4.0.3", "prettier": "^2.6.2", "process": "^0.11.10", "regenerator-runtime": "^0.13.9", "sass-loader": "^12.6.0", "stream-browserify": "^3.0.0", "stream-http": "^3.2.0", "style-loader": "^3.3.1", "stylelint": "^14.6.1", "stylelint-config-html": "^1.0.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^25.0.0", "stylelint-scss": "^4.2.0", "timers-browserify": "^2.0.12", "ts-jest": "^26.5.6", "ts-loader": "^9.2.8", "ttfinfo": "^0.2.0", "typescript": "^4.6.3", "url": "^0.11.0", "url-loader": "^4.1.1", "utf-8-validate": "^5.0.9", "vue-html-loader": "^1.2.4", "vue-loader": "^15.9.8", "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.6.14", "webpack": "^5.72.0", "webpack-cli": "^4.9.2", "webpack-dev-server": "^4.8.1", "webpack-hot-middleware": "^2.25.1" } }