308 lines
9.2 KiB
JSON
308 lines
9.2 KiB
JSON
{
|
|
"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.3",
|
|
"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"
|
|
}
|
|
}
|