enso/app/ide-desktop/lib/client/package.json
Michał Wawrzyniec Urbańczyk a4f56e92aa
Custom Windows Installer & Uninstaller (#9815)
This PR introduces a new installer and uninstaller for the Windows platform.

Both are written in Rust and compiled to a single executable. The executable has no dependencies (other than what is included in the Windows), links the C++ runtime statically if needed.

The change is motivated by numerous issues with with the `electron-builder`-generated installers. The new installer should behave better, not have issues with long paths and unblock the `electron-builder` upgrade (which will significantly simplify the workflow definitions).

To build an installer, one needs to provide the unpacked application (generated by `electron-builder`) and the `electron-builder` configuration (with a few minor extensions). Code signing is also supported.
2024-05-07 16:22:11 +00:00

68 lines
2.7 KiB
JSON

{
"version": "0.0.0-dev",
"type": "module",
"author": {
"name": "Enso Team",
"email": "contact@enso.org"
},
"homepage": "https://github.com/enso-org/ide",
"repository": {
"type": "git",
"url": "git@github.com:enso-org/ide.git"
},
"bugs": {
"url": "https://github.com/enso-org/ide/issues"
},
"name": "enso",
"description": "Enso Data Processing Environment.",
"main": "index.cjs",
"dependencies": {
"@types/mime-types": "^2.1.1",
"@types/opener": "^1.4.0",
"@types/tar": "^6.1.4",
"@types/yargs": "^17.0.30",
"chalk": "^5.2.0",
"create-servers": "3.2.0",
"electron-is-dev": "^2.0.0",
"mime-types": "^2.1.35",
"opener": "^1.5.2",
"string-length": "^5.0.1",
"tar": "^6.1.13",
"yargs": "17.6.2"
},
"comments": {
"electron-builder": "Cannot be updated to a newer version because of a NSIS installer issue: https://github.com/enso-org/enso/issues/5169"
},
"devDependencies": {
"@electron/notarize": "2.1.0",
"@types/node": "^20.10.5",
"electron": "25.7.0",
"electron-builder": "^22.14.13",
"enso-common": "^1.0.0",
"esbuild": "^0.19.3",
"fast-glob": "^3.2.12",
"lightningcss": "^1.24.0",
"portfinder": "^1.0.32",
"sharp": "^0.31.2",
"to-ico": "^1.1.5",
"tsx": "^4.7.1",
"vite": "^5.1.4"
},
"optionalDependencies": {
"@esbuild/darwin-x64": "^0.17.15",
"@esbuild/linux-x64": "^0.17.15",
"@esbuild/windows-x64": "^0.17.15",
"dmg-license": "^1.0.11"
},
"scripts": {
"typecheck": "npm run --workspace=enso-gui2 compile-server && tsc --build",
"start": "tsx start.ts",
"build": "tsx bundle.ts",
"dist": "tsx dist.ts",
"watch": "tsx watch.ts",
"watch:windows": "cross-env ENSO_BUILD_IDE=%LOCALAPPDATA%/Temp/enso/dist/ide ENSO_BUILD_PROJECT_MANAGER=%CD%/../../../../dist/backend ENSO_BUILD_PROJECT_MANAGER_IN_BUNDLE_PATH=bin/project-manager.exe ENSO_BUILD_IDE_BUNDLED_ENGINE_VERSION=0 tsx watch.ts",
"watch:linux": "ENSO_BUILD_IDE=\"${ENSO_BUILD_IDE:-/tmp/enso/dist/ide}\" ENSO_BUILD_PROJECT_MANAGER=\"${ENSO_BUILD_PROJECT_MANAGER:-\"$(pwd)/../../../../dist/backend\"}\" ENSO_BUILD_PROJECT_MANAGER_IN_BUNDLE_PATH=\"${ENSO_BUILD_PROJECT_MANAGER_IN_BUNDLE_PATH:-bin/project-manager}\" ENSO_BUILD_IDE_BUNDLED_ENGINE_VERSION=\"${ENSO_BUILD_IDE_BUNDLED_ENGINE_VERSION:-0}\" tsx watch.ts \"$@\"",
"watch:macos": "ENSO_BUILD_IDE=\"${ENSO_BUILD_IDE:-/tmp/enso/dist/ide}\" ENSO_BUILD_PROJECT_MANAGER=\"${ENSO_BUILD_PROJECT_MANAGER:-\"$(pwd)/../../../../dist/backend\"}\" ENSO_BUILD_PROJECT_MANAGER_IN_BUNDLE_PATH=\"${ENSO_BUILD_PROJECT_MANAGER_IN_BUNDLE_PATH:-bin/project-manager}\" ENSO_BUILD_IDE_BUNDLED_ENGINE_VERSION=\"${ENSO_BUILD_IDE_BUNDLED_ENGINE_VERSION:-0}\" tsx watch.ts \"$@\""
}
}