{ "name": "upscayl", "private": true, "version": "3.0.0", "productName": "Upscayl Desktop", "author": { "name": "Nayam Amarshe", "email": "nayam.emikx@aleeas.com", "url": "https://github.com/NayamAmarshe" }, "homepage": "https://github.com/TGS963/upscayl", "contributors": [ { "name": "Nayam Amarshe", "email": "nayam.emikx@aleeas.com", "url": "https://github.com/NayamAmarshe" }, { "name": "TGS963", "email": "tgs@963.com", "url": "https://github.com/TGS963" } ], "email": "nayam.emikx@aleeas.com", "license": "AGPL-3.0", "description": "Upscayl - Free and Open Source AI Image Upscaler", "keywords": [ "AI", "Upscaler", "Image Upscale", "Linux image upscale", "Topaz Gigapixel", "Linux", "KDE", "Gnome" ], "main": "export/electron/index.js", "scripts": { "clean": "rimraf dist renderer/out", "start": "electron-vite", "dev": "electron-vite dev", "build": "pnpm run validate-schema && electron-vite build", "pack-app": "pnpm run build && electron-builder --dir", "dist": "pnpm run build && cross-env DEBUG=* electron-builder", "dist:appimage": "pnpm run build && cross-env DEBUG=* electron-builder build -l AppImage", "dist:flatpak": "pnpm run build && cross-env DEBUG=* electron-builder build -l flatpak", "dist:deb": "pnpm run build && cross-env DEBUG=* electron-builder build -l deb", "dist:rpm": "pnpm run build && cross-env DEBUG=* electron-builder build -l rpm", "dist:zip": "pnpm run build && cross-env DEBUG=* electron-builder build -l zip", "dist:mac-zip": "pnpm run build && electron-builder build -m --universal", "dist:dmg": "pnpm run build && electron-builder build -m dmg", "dist:msi": "pnpm run build && cross-env DEBUG=* electron-builder build -w nsis", "dist:pkg": "pnpm run build && cross-env DEBUG=* electron-builder build -m pkg", "dist:mac": "pnpm run build && electron-builder --mac --universal", "dist:mac-dev": "pnpm run build && electron-builder --mac --arm64 -c mac-dev.json", "dist:mac-arm64": "pnpm run build && electron-builder --mac --arm64", "dist:mas": "pnpm run enable-store && pnpm run build && electron-builder --mac mas --universal -c mas.json && pnpm run disable-store", "dist:mas-dev": "pnpm run enable-store && pnpm run build && electron-builder --mac mas-dev --universal -c mas-dev.json && pnpm run disable-store", "dist:win": "pnpm run build && electron-builder --win", "dist:linux": "pnpm run build && electron-builder --linux", "publish-app": "pnpm run build && electron-builder -wlm --publish always", "publish-linux-app": "pnpm run build && electron-builder -l --publish always", "publish-win-app": "pnpm run build && electron-builder -w --publish always", "publish-mac-universal-app": "pnpm run build && electron-builder --mac --universal --publish always", "publish-mac-app": "pnpm run build && electron-builder --mac --x64 --publish always", "publish-mac-arm-app": "pnpm run build && electron-builder --mac --arm64 --publish always", "dist:appstore": "CSC_KEY_PASSWORD=$PASSWORD CSC_LINK=$(openssl base64 -in $CERTIFICATE_PATH) pnpm run dist:mac-mas", "enable-store": "sed -i '' -e 's/APP_STORE_BUILD: false,/APP_STORE_BUILD: true,/' common/feature-flags.ts", "disable-store": "sed -i '' -e 's/APP_STORE_BUILD: true,/APP_STORE_BUILD: false,/' common/feature-flags.ts", "validate-schema": "node scripts/validate-schema.js" }, "build": { "productName": "Upscayl", "appId": "org.upscayl.Upscayl", "artifactName": "${name}-${version}-${os}.${ext}", "afterSign": "./notarize.js", "asar": true, "asarUnpack": [ "**/node_modules/sharp/**/*" ], "extraFiles": [ { "from": "resources/${os}/bin", "to": "resources/bin", "filter": [ "**/*" ] }, { "from": "resources/models", "to": "resources/models", "filter": [ "**/*" ] }, { "from": "resources/icons/128x128.png", "to": "resources/128x128.png" }, { "from": "resources/icons/512x512.png", "to": "resources/512x512.png" } ], "mas": { "hardenedRuntime": false, "electronLanguages": [ "en" ], "category": "public.app-category.photography", "entitlements": "resources/entitlements.mas.plist", "entitlementsInherit": "resources/entitlements.mas.inherit.plist", "provisioningProfile": "embedded.provisionprofile", "mergeASARs": false, "gatekeeperAssess": false, "icon": "build/icon.icns", "x64ArchFiles": "*", "target": [ { "target": "mas", "arch": [ "universal" ] } ] }, "mac": { "hardenedRuntime": true, "gatekeeperAssess": false, "mergeASARs": false, "x64ArchFiles": "*", "minimumSystemVersion": "12.0.0", "category": "public.app-category.photography", "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.plist", "provisioningProfile": "embedded.provisionprofile", "type": null, "target": [ { "target": "dmg", "arch": [ "universal" ] }, { "target": "zip", "arch": [ "universal" ] } ] }, "dmg": { "sign": "false", "contents": [ { "x": 130, "y": 220 }, { "x": 410, "y": 220, "type": "link", "path": "/Applications" } ] }, "linux": { "target": [ "AppImage", "zip", "deb", "rpm" ], "maintainer": "Nayam Amarshe ", "category": "Graphics;2DGraphics;RasterGraphics;ImageProcessing;", "synopsis": "AI Image Upscaler", "description": "Free and Open Source AI Image Upscaler", "icon": "resources/icons/" }, "win": { "publisherName": "Upscayl Team", "target": [ "nsis", "zip" ], "icon": "build/icon.png" }, "nsis": { "allowToChangeInstallationDirectory": true, "oneClick": false, "allowElevation": true, "perMachine": true }, "files": [ "export", "renderer/out" ], "publish": { "provider": "github", "owner": "upscayl", "repo": "upscayl" } }, "devDependencies": { "@electron/notarize": "^2.5.0", "@tailwindcss/typography": "^0.5.19", "@types/node": "^25.0.3", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.2", "ajv": "^6.12.6", "cross-env": "^7.0.3", "daisyui": "^5.5.14", "electron": "^39.2.7", "electron-builder": "^26.0.12", "electron-vite": "^5.0.0", "globals": "^16.5.0", "postcss": "^8.4.49", "prettier": "^3.7.4", "prettier-plugin-tailwindcss": "^0.7.2", "react": "^19.2.3", "react-dom": "^19.2.3", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.1.18", "typescript": "^4.9.5", "vite": "^7.3.0", "vite-tsconfig-paths": "^6.0.1" }, "dependencies": { "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-toast": "^1.2.4", "@tailwindcss/postcss": "^4.1.18", "@tailwindcss/vite": "^4.1.18", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "dotenv": "^16.4.7", "electron-is-dev": "^2.0.0", "electron-log": "^5.2.4", "electron-settings": "^4.0.4", "electron-updater": "^6.3.9", "exiftool-vendored": "^29.3.0", "firebase": "^11.1.0", "gray-matter": "^4.0.3", "jotai": "^2.11.0", "lucide-react": "^0.562.0", "next-themes": "^0.4.6", "posthog-js": "^1.203.2", "react-compare-slider": "^3.1.0", "react-error-boundary": "^6.0.0", "react-markdown": "^10.1.0", "react-resizable-panels": "^4.2.1", "react-select": "^5.10.2", "react-tooltip": "^5.30.0", "remark-gfm": "^4.0.0", "sonner": "^2.0.7", "tailwind-merge": "^3.4.0", "theme-change": "^2.5.0", "tw-animate-css": "^1.4.0" }, "volta": { "node": "22.21.1" } }