{
  "main": "scripts/arduino-ide-electron-main.js",
  "author": "Arduino SA",
  "resolutions": {
    "**/fs-extra": "^4.0.3",
    "electron-builder": "23.0.2"
  },
  "dependencies": {
    "node-log-rotate": "^0.1.5"
  },
  "devDependencies": {
    "@theia/cli": "1.25.0",
    "cross-env": "^7.0.2",
    "electron-builder": "23.0.2",
    "electron-notarize": "^1.1.1",
    "is-ci": "^2.0.0",
    "ncp": "^2.0.0",
    "shelljs": "^0.8.3"
  },
  "scripts": {
    "build": "yarn download:plugins && theia build --mode production && yarn patch",
    "rebuild": "yarn theia rebuild:electron",
    "package": "cross-env DEBUG=* && electron-builder --publish=never",
    "package:publish": "cross-env DEBUG=* && electron-builder --publish=always",
    "download:plugins": "theia download:plugins",
    "patch": "ncp ./patch/backend/main.js ./src-gen/backend/main.js"
  },
  "engines": {
    "node": ">=14.0.0 <15"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/arduino/arduino-ide.git"
  },
  "// Notes:": [
    "The resolution for `fs-extra` was required due to this: https://spectrum.chat/theia/general/our-theia-electron-builder-app-no-longer-starts~f5cf09a0-6d88-448b-8818-24ad0ec2ee7c"
  ],
  "theia": {
    "target": "electron",
    "backend": {
      "config": {
        "singleInstance": true
      }
    }
  },
  "build": {
    "productName": "Arduino IDE",
    "asar": false,
    "detectUpdateChannel": false,
    "generateUpdatesFilesForAllChannels": true,
    "npmRebuild": false,
    "directories": {
      "buildResources": "resources"
    },
    "fileAssociations": [
      {
        "ext": "ino",
        "role": "Editor"
      }
    ],
    "files": [
      "src-gen",
      "lib",
      "scripts",
      "!node_modules/**/*.{ts,map}",
      "!node_modules/**/*.spec.js",
      "!node_modules/@theia/**/test/*",
      "!node_modules/@theia/**/src/*.ts",
      "!node_modules/@theia/**/lib/*browser/*",
      "node_modules/@theia/core/lib/browser/*",
      "!node_modules/@typefox/monaco-editor-core/*",
      "!node_modules/electron/**"
    ],
    "extraResources": [
      {
        "from": "plugins",
        "to": "app/plugins"
      }
    ],
    "win": {
      "target": [
        "msi",
        "nsis",
        "zip"
      ]
    },
    "mac": {
      "darkModeSupport": true,
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "entitlements": "resources/entitlements.mac.plist",
      "entitlementsInherit": "resources/entitlements.mac.plist"
    },
    "linux": {
      "target": [
        "zip",
        "AppImage"
      ],
      "category": "Development",
      "icon": "resources/icons"
    },
    "msi": {
      "runAfterFinish": false
    },
    "nsis": {
      "oneClick": false,
      "installerHeaderIcon": "resources/icon.ico",
      "installerIcon": "resources/icon.ico",
      "uninstallerIcon": "resources/icon.ico",
      "installerSidebar": "resources/installerSidebar.bmp",
      "uninstallerSidebar": "resources/installerSidebar.bmp",
      "allowToChangeInstallationDirectory": true,
      "license": "resources/eula.txt"
    },
    "dmg": {
      "icon": "resources/icon.icns",
      "iconSize": 128,
      "contents": [
        {
          "x": 380,
          "y": 240,
          "type": "link",
          "path": "/Applications"
        },
        {
          "x": 122,
          "y": 240,
          "type": "file"
        }
      ]
    },
    "afterSign": "scripts/notarize.js",
    "publish": [
      {
        "provider": "s3",
        "bucket": "arduino-downloads-prod-beagle",
        "path": "arduino-ide/nightly"
      }
    ]
  },
  "theiaPluginsDir": "plugins",
  "theiaPlugins": {
    "vscode-builtin-cpp": "https://open-vsx.org/api/vscode/cpp/1.52.1/file/vscode.cpp-1.52.1.vsix",
    "vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.0.2-beta.5.vsix",
    "vscode-builtin-json": "https://open-vsx.org/api/vscode/json/1.46.1/file/vscode.json-1.46.1.vsix",
    "vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix",
    "cortex-debug": "https://open-vsx.org/api/marus25/cortex-debug/0.3.10/file/marus25.cortex-debug-0.3.10.vsix",
    "vscode-language-pack-nl": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-nl/1.48.3/file/MS-CEINTL.vscode-language-pack-nl-1.48.3.vsix",
    "vscode-language-pack-fr": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-fr/1.69.0/file/MS-CEINTL.vscode-language-pack-fr-1.69.0.vsix",
    "vscode-language-pack-zh-hans": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-zh-hans/1.69.0/file/MS-CEINTL.vscode-language-pack-zh-hans-1.69.0.vsix",
    "vscode-language-pack-de": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-de/1.69.0/file/MS-CEINTL.vscode-language-pack-de-1.69.0.vsix",
    "vscode-language-pack-ja": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ja/1.69.0/file/MS-CEINTL.vscode-language-pack-ja-1.69.0.vsix",
    "vscode-language-pack-tr": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-tr/1.69.0/file/MS-CEINTL.vscode-language-pack-tr-1.69.0.vsix",
    "vscode-language-pack-it": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-it/1.69.0/file/MS-CEINTL.vscode-language-pack-it-1.69.0.vsix",
    "vscode-language-pack-ru":"https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-ru/1.69.0/file/MS-CEINTL.vscode-language-pack-ru-1.69.0.vsix",
    "vscode-language-pack-es": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-es/1.69.0/file/MS-CEINTL.vscode-language-pack-es-1.69.0.vsix",
    "vscode-language-pack-pt-BR": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-pt-BR/1.69.0/file/MS-CEINTL.vscode-language-pack-pt-BR-1.69.0.vsix",
    "vscode-language-pack-cs": "https://open-vsx.org/api/MS-CEINTL/vscode-language-pack-cs/1.69.0/file/MS-CEINTL.vscode-language-pack-cs-1.69.0.vsix"
  }
}
