mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-23 03:31:56 +00:00
336 lines
8.3 KiB
JSON
336 lines
8.3 KiB
JSON
{
|
|
"name": "zulip",
|
|
"productName": "Zulip",
|
|
"version": "5.11.1",
|
|
"main": "./dist-electron",
|
|
"description": "Zulip Desktop App",
|
|
"license": "Apache-2.0",
|
|
"copyright": "Kandra Labs, Inc.",
|
|
"author": {
|
|
"name": "Kandra Labs, Inc.",
|
|
"email": "support@zulip.com"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/zulip/zulip-desktop.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/zulip/zulip-desktop/issues"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"scripts": {
|
|
"start": "vite",
|
|
"watch-ts": "tsc -w",
|
|
"reinstall": "rimraf node_modules && npm install",
|
|
"postinstall": "electron-builder install-app-deps",
|
|
"lint-css": "stylelint \"app/**/*.css\"",
|
|
"lint-html": "htmlhint \"app/**/*.html\"",
|
|
"lint-js": "xo",
|
|
"prettier-non-js": "prettier --check --log-level=warn . \"!**/*.{js,ts}\"",
|
|
"test": "tsc && npm run lint-html && npm run lint-css && npm run lint-js && npm run prettier-non-js",
|
|
"test-e2e": "vite build && tape \"tests/**/*.js\"",
|
|
"pack": "vite build && electron-builder --dir",
|
|
"dist": "vite build && electron-builder",
|
|
"mas": "vite build && electron-builder --mac mas"
|
|
},
|
|
"pre-commit": [
|
|
"test"
|
|
],
|
|
"build": {
|
|
"appId": "org.zulip.zulip-electron",
|
|
"asar": true,
|
|
"asarUnpack": [
|
|
"**/*.node"
|
|
],
|
|
"files": [
|
|
"dist-electron/**/*"
|
|
],
|
|
"copyright": "©2020 Kandra Labs, Inc.",
|
|
"mac": {
|
|
"category": "public.app-category.productivity",
|
|
"icon": "build/icon-macos.png",
|
|
"target": [
|
|
{
|
|
"target": "default",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "pkg",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"darkModeSupport": true,
|
|
"artifactName": "${productName}-${version}-${arch}.${ext}",
|
|
"notarize": {
|
|
"teamId": "66KHCWMEYB"
|
|
}
|
|
},
|
|
"linux": {
|
|
"category": "Chat;GNOME;GTK;Network;InstantMessaging",
|
|
"icon": "build/zulip.png",
|
|
"description": "Zulip Desktop Client for Linux",
|
|
"target": [
|
|
"deb",
|
|
"tar.xz",
|
|
"AppImage",
|
|
"snap"
|
|
],
|
|
"maintainer": "Akash Nimare <akash@zulip.com>",
|
|
"artifactName": "${productName}-${version}-${arch}.${ext}"
|
|
},
|
|
"deb": {
|
|
"packageCategory": "net",
|
|
"synopsis": "Zulip Desktop App",
|
|
"afterInstall": "./packaging/deb-after-install.sh",
|
|
"fpm": [
|
|
"./packaging/deb-apt.list=/etc/apt/sources.list.d/zulip-desktop.list",
|
|
"./packaging/deb-apt.asc=/etc/apt/trusted.gpg.d/zulip-desktop.asc",
|
|
"./packaging/deb-release-upgrades.cfg=/etc/update-manager/release-upgrades.d/zulip-desktop.cfg"
|
|
]
|
|
},
|
|
"snap": {
|
|
"synopsis": "Zulip Desktop App"
|
|
},
|
|
"dmg": {
|
|
"background": "build/dmg-background.tiff",
|
|
"icon": "build/dmg-icon.icns"
|
|
},
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis-web",
|
|
"arch": [
|
|
"x64",
|
|
"ia32"
|
|
]
|
|
},
|
|
{
|
|
"target": "msi",
|
|
"arch": [
|
|
"x64",
|
|
"ia32"
|
|
]
|
|
}
|
|
],
|
|
"icon": "build/icon.ico",
|
|
"publisherName": "Kandra Labs, Inc.",
|
|
"sign": "./scripts/win-sign.js",
|
|
"signingHashAlgorithms": [
|
|
"sha256"
|
|
]
|
|
},
|
|
"msi": {
|
|
"artifactName": "${productName}-${version}-${arch}.${ext}"
|
|
},
|
|
"nsis": {
|
|
"allowToChangeInstallationDirectory": true,
|
|
"oneClick": false,
|
|
"perMachine": false
|
|
},
|
|
"nsisWeb": {
|
|
"artifactName": "${productName}-Web-Setup-${version}.${ext}"
|
|
}
|
|
},
|
|
"keywords": [
|
|
"Zulip",
|
|
"Group Chat app",
|
|
"electron-app",
|
|
"electron",
|
|
"Desktop app",
|
|
"InstantMessaging"
|
|
],
|
|
"dependencies": {
|
|
"gatemaker": "https://github.com/andersk/gatemaker/archive/d31890ae1cb293faabcb1e4e465c673458f6eed2.tar.gz"
|
|
},
|
|
"devDependencies": {
|
|
"@electron/remote": "^2.0.8",
|
|
"@sentry/core": "^8.26.0",
|
|
"@sentry/electron": "^5.3.0",
|
|
"@types/adm-zip": "^0.5.0",
|
|
"@types/auto-launch": "^5.0.2",
|
|
"@types/backoff": "^2.5.2",
|
|
"@types/i18n": "^0.13.1",
|
|
"@types/node": "^20.11.30",
|
|
"@types/requestidlecallback": "^0.3.4",
|
|
"@types/semver": "^7.5.8",
|
|
"@types/yaireo__tagify": "^4.3.2",
|
|
"@yaireo/tagify": "^4.5.0",
|
|
"adm-zip": "^0.5.5",
|
|
"auto-launch": "^5.0.5",
|
|
"backoff": "^2.5.0",
|
|
"electron": "^32.0.1",
|
|
"electron-builder": "^24.6.4",
|
|
"electron-log": "^5.0.3",
|
|
"electron-updater": "^6.3.4",
|
|
"electron-window-state": "^5.0.3",
|
|
"escape-goat": "^4.0.0",
|
|
"htmlhint": "^1.1.2",
|
|
"i18n": "^0.15.1",
|
|
"i18next-scanner": "^4.6.0",
|
|
"medium": "^1.2.0",
|
|
"node-json-db": "^1.3.0",
|
|
"playwright-core": "^1.41.0-alpha-jan-9-2024",
|
|
"pre-commit": "^1.2.2",
|
|
"prettier": "^3.0.3",
|
|
"semver": "^7.3.5",
|
|
"stylelint": "^16.1.0",
|
|
"stylelint-config-standard": "^36.0.0",
|
|
"tape": "^5.2.2",
|
|
"typescript": "^5.0.4",
|
|
"vite": "^5.0.11",
|
|
"vite-plugin-electron": "^0.28.0",
|
|
"xo": "^0.59.3",
|
|
"zod": "^3.5.1"
|
|
},
|
|
"prettier": {
|
|
"bracketSpacing": false,
|
|
"singleQuote": false,
|
|
"trailingComma": "all"
|
|
},
|
|
"xo": {
|
|
"prettier": true,
|
|
"rules": {
|
|
"@typescript-eslint/no-dynamic-delete": "off",
|
|
"arrow-body-style": "error",
|
|
"import/no-restricted-paths": [
|
|
"error",
|
|
{
|
|
"zones": [
|
|
{
|
|
"target": "./app/common",
|
|
"from": "./app",
|
|
"except": [
|
|
"./common"
|
|
]
|
|
},
|
|
{
|
|
"target": "./app/main",
|
|
"from": "./app",
|
|
"except": [
|
|
"./common",
|
|
"./main"
|
|
]
|
|
},
|
|
{
|
|
"target": "./app/renderer",
|
|
"from": "./app",
|
|
"except": [
|
|
"./common",
|
|
"./renderer",
|
|
"./resources"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"import/order": [
|
|
"error",
|
|
{
|
|
"alphabetize": {
|
|
"order": "asc"
|
|
},
|
|
"newlines-between": "always"
|
|
}
|
|
],
|
|
"import/unambiguous": "error",
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
"paths": [
|
|
{
|
|
"name": "@sentry/electron",
|
|
"message": "Use @sentry/electron/main, @sentry/electron/renderer, or @sentry/core."
|
|
},
|
|
{
|
|
"name": "electron",
|
|
"message": "Use electron/main, electron/renderer, or electron/common."
|
|
},
|
|
{
|
|
"name": "electron/main",
|
|
"importNames": [
|
|
"ipcMain"
|
|
],
|
|
"message": "Use typed-ipc-main."
|
|
},
|
|
{
|
|
"name": "electron/renderer",
|
|
"importNames": [
|
|
"ipcRenderer"
|
|
],
|
|
"message": "Use typed-ipc-renderer."
|
|
},
|
|
{
|
|
"name": "electron-log",
|
|
"message": "Use electron-log/main or electron-log/renderer."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"no-warning-comments": "off",
|
|
"sort-imports": [
|
|
"error",
|
|
{
|
|
"ignoreDeclarationSort": true
|
|
}
|
|
],
|
|
"strict": "error",
|
|
"unicorn/prefer-module": "off",
|
|
"unicorn/prefer-top-level-await": "off"
|
|
},
|
|
"envs": [
|
|
"node",
|
|
"browser"
|
|
],
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
"**/*.ts"
|
|
],
|
|
"rules": {
|
|
"@typescript-eslint/ban-types": "off",
|
|
"@typescript-eslint/consistent-type-imports": [
|
|
"error",
|
|
{
|
|
"disallowTypeAnnotations": false
|
|
}
|
|
],
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
"argsIgnorePattern": "^_",
|
|
"caughtErrors": "all"
|
|
}
|
|
],
|
|
"unicorn/no-await-expression-member": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"i18next-scanner.config.js",
|
|
"scripts/win-sign.js",
|
|
"tests/**/*.js"
|
|
],
|
|
"parserOptions": {
|
|
"sourceType": "script"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"**/*.d.ts"
|
|
],
|
|
"rules": {
|
|
"import/unambiguous": "off"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|