{
  "name": "Whalebird",
  "version": "4.4.0",
  "author": "AkiraFukushima <h3.poteto@gmail.com>",
  "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": "109",
    "appVersion": "4.4.0"
  },
  "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' --syntax scss",
    "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:mac": "yarn run build && yarn run package:mac",
    "build:linux": "yarn run build && yarn run package:linux",
    "build:win32": "yarn run build && yarn run package:win32",
    "build:win64": "yarn run build && yarn run package:win64",
    "build:mas": "yarn run build:clean && yarn run pack && electron-packager ./ 'Whalebird' --platform=mas --arch=x64 --arch=arm64 --electron-version=12.0.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",
    "package:linux": "electron-builder --linux",
    "package:win32": "electron-builder --win --ia32",
    "package:win64": "electron-builder --win --x64",
    "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"
  },
  "build": {
    "productName": "Whalebird",
    "appId": "org.whalebird.desktop",
    "artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
    "directories": {
      "output": "build"
    },
    "extraResources": [
      "build/sounds/*"
    ],
    "files": [
      "dist/electron/**/*",
      "build/icons/*"
    ],
    "afterSign": "build/notarize.js",
    "dmg": {
      "sign": false,
      "contents": [
        {
          "x": 410,
          "y": 150,
          "type": "link",
          "path": "/Applications"
        },
        {
          "x": 130,
          "y": 150,
          "type": "file"
        }
      ]
    },
    "mac": {
      "icon": "build/icons/icon.icns",
      "target": [
        {
          "target": "dmg",
          "arch": [
            "x64",
            "arm64",
            "universal"
          ]
        }
      ],
      "category": "public.app-category.social-networking",
      "entitlements": "plist/entitlements.mac.plist",
      "entitlementsInherit": "plist/entitlements.mac.plist",
      "hardenedRuntime" : true,
      "gatekeeperAssess": false
    },
    "win": {
      "icon": "build/icons/icon.ico",
      "target": "nsis"
    },
    "nsis": {
      "oneClick": false,
      "allowToChangeInstallationDirectory": true
    },
    "linux": {
      "icon": "build/icons",
      "target": [
        {
          "target": "AppImage",
          "arch": [
            "x64"
          ]
        },
        {
          "target": "deb",
          "arch": [
            "x64",
            "ia32"
          ]
        },
        {
          "target": "rpm",
          "arch": [
            "x64",
            "ia32"
          ]
        },
        {
          "target": "tar.bz2",
          "arch": [
            "x64",
            "ia32",
            "armv7l",
            "arm64"
          ]
        },
        {
          "target": "pacman",
          "arch": [
            "x64",
            "ia32"
          ]
        },
        {
          "target": "snap",
          "arch": [
            "x64"
          ]
        }
      ],
      "category": "Network"
    }
  },
  "jest": {
    "moduleFileExtensions": [
      "ts",
      "js",
      "json"
    ],
    "moduleNameMapper": {
      "@/router": "<rootDir>/spec/mock/router.ts",
      "^@/(.+)": "<rootDir>/src/renderer/$1",
      "^~/(.+)": "<rootDir>/$1"
    },
    "testMatch": [
      "**/spec/**/*.spec.ts"
    ],
    "preset": "ts-jest/presets/js-with-ts",
    "transform": {
      "^.+\\.(js|jsx)$": "babel-jest",
      "^.+\\.(ts|tsx)$": "ts-jest"
    },
    "setupFiles": [
      "core-js"
    ],
    "globals": {
      "ts-jest": {
        "tsConfig": "tsconfig.json"
      }
    }
  },
  "dependencies": {
    "@panter/vue-i18next": "^0.15.2",
    "@trodi/electron-splashscreen": "^1.0.0",
    "about-window": "^1.14.0",
    "animate.css": "^4.1.0",
    "auto-launch": "^5.0.5",
    "axios": "^0.21.1",
    "blueimp-load-image": "^5.14.0",
    "deep-extend": "^0.6.0",
    "electron-context-menu": "^2.5.0",
    "electron-json-storage": "^4.4.0",
    "electron-log": "^4.3.2",
    "electron-window-state": "^5.0.3",
    "element-ui": "2.15.1",
    "emoji-mart-vue": "^2.6.6",
    "i18next": "^19.9.2",
    "lodash": "^4.17.21",
    "megalodon": "3.6.1",
    "minimist": "^1.2.5",
    "moment": "^2.29.1",
    "mousetrap": "^1.6.5",
    "nedb": "^1.8.0",
    "object-assign-deep": "^0.4.0",
    "parse-link-header": "^1.0.1",
    "rc": "^1.2.7",
    "sanitize-html": "^2.3.2",
    "simplayer": "0.0.8",
    "system-font-families": "^0.4.1",
    "tunnel-agent": "^0.6.0",
    "unicode-emoji-json": "^0.2.1",
    "vue": "^2.6.11",
    "vue-awesome": "^4.1.0",
    "vue-click-outside": "^1.1.0",
    "vue-electron": "^1.0.6",
    "vue-popperjs": "^2.3.0",
    "vue-resize": "^1.0.0",
    "vue-router": "^3.5.1",
    "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.13.10",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "@babel/plugin-proposal-object-rest-spread": "^7.13.8",
    "@babel/plugin-transform-runtime": "^7.13.10",
    "@babel/preset-env": "^7.13.10",
    "@babel/runtime": "7.13.10",
    "@electron/universal": "^1.0.4",
    "@mapbox/stylelint-processor-arbitrary-tags": "^0.3.0",
    "@types/auto-launch": "^5.0.1",
    "@types/electron-json-storage": "^4.0.0",
    "@types/i18next": "^13.0.0",
    "@types/jest": "26.0.20",
    "@types/lodash": "^4.14.168",
    "@types/nedb": "^1.8.10",
    "@types/node": "^14.14.28",
    "@types/parse-link-header": "^1.0.0",
    "@typescript-eslint/eslint-plugin": "^4.18.0",
    "@typescript-eslint/parser": "^4.15.1",
    "@typescript-eslint/typescript-estree": "^4.21.0",
    "@vue/test-utils": "^1.1.3",
    "ajv": "^7.2.3",
    "all-object-keys": "^2.2.0",
    "babel-eslint": "^10.1.0",
    "babel-jest": "^26.6.3",
    "babel-loader": "^8.2.2",
    "babel-plugin-istanbul": "^6.0.0",
    "babel-register": "^6.26.0",
    "cfonts": "^2.9.1",
    "chai": "^4.3.0",
    "chalk": "^4.1.0",
    "copy-webpack-plugin": "^6.4.1",
    "core-js": "^3.9.1",
    "cross-env": "^7.0.3",
    "css-loader": "^5.1.3",
    "del": "^6.0.0",
    "devtron": "^1.4.0",
    "electron": "12.0.2",
    "electron-builder": "^22.10.5",
    "electron-debug": "^3.2.0",
    "electron-devtools-installer": "^3.1.1",
    "electron-mock-ipc": "^0.3.9",
    "electron-packager": "^15.2.0",
    "eslint": "^7.22.0",
    "eslint-config-prettier": "^8.1.0",
    "eslint-config-standard": "^16.0.2",
    "eslint-friendly-formatter": "^4.0.1",
    "eslint-loader": "^4.0.2",
    "eslint-plugin-html": "^6.1.1",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "^3.3.1",
    "eslint-plugin-promise": "^4.3.1",
    "eslint-plugin-standard": "^5.0.0",
    "eslint-plugin-vue": "^7.6.0",
    "file-loader": "^6.2.0",
    "html-webpack-plugin": "^4.5.2",
    "jest": "^26.6.3",
    "jsdom": "^16.5.1",
    "json-loader": "^0.5.7",
    "listr": "^0.14.3",
    "mini-css-extract-plugin": "^1.3.9",
    "node-loader": "^1.0.2",
    "node-sass": "^5.0.0",
    "prettier": "^2.2.1",
    "prettier-stylelint": "^0.4.2",
    "regenerator-runtime": "^0.13.7",
    "sass-loader": "^10.1.1",
    "style-loader": "^2.0.0",
    "stylelint": "^13.12.0",
    "stylelint-config-standard": "^20.0.0",
    "ts-jest": "^26.5.1",
    "ts-loader": "^8.0.17",
    "ttfinfo": "^0.2.0",
    "typescript": "^4.2.3",
    "url-loader": "^4.1.1",
    "vue-html-loader": "^1.2.4",
    "vue-loader": "^15.9.6",
    "vue-style-loader": "^4.1.3",
    "vue-template-compiler": "^2.6.11",
    "webpack": "^4.44.2",
    "webpack-cli": "^4.5.0",
    "webpack-dev-server": "^3.11.2",
    "webpack-hot-middleware": "^2.25.0",
    "webpack-merge": "^5.7.3"
  }
}
