{
  "name": "vscode-react-native",
  "displayName": "React Native Tools",
  "version": "0.5.7",
  "private": true,
  "publisher": "vsmobile",
  "icon": "images/icon.png",
  "galleryBanner": {
    "color": "#3B3738",
    "theme": "dark"
  },
  "description": "Code-hinting, debugging and integrated commands for React Native",
  "keywords": [
    "react-native",
    "multi-root ready"
  ],
  "bugs": "https://github.com/Microsoft/vscode-react-native/issues",
  "license": "SEE LICENSE IN LICENSE.txt",
  "repository": {
    "type": "git",
    "url": "https://github.com/Microsoft/vscode-react-native"
  },
  "engines": {
    "vscode": "^1.17.1"
  },
  "categories": [
    "Debuggers",
    "Other"
  ],
  "activationEvents": [
    "*"
  ],
  "main": "./src/extension/rn-extension",
  "contributes": {
    "commands": [
      {
        "command": "reactNative.runAndroidSimulator",
        "title": "React Native: Run Android on Simulator"
      },
      {
        "command": "reactNative.runAndroidDevice",
        "title": "React Native: Run Android on Device"
      },
      {
        "command": "reactNative.runIosSimulator",
        "title": "React Native: Run iOS on Simulator"
      },
      {
        "command": "reactNative.runIosDevice",
        "title": "React Native: Run iOS on Device"
      },
      {
        "command": "reactNative.startPackager",
        "title": "React Native: Start Packager"
      },
      {
        "command": "reactNative.startExponentPackager",
        "title": "React Native: Start Exponent Packager"
      },
      {
        "command": "reactNative.stopPackager",
        "title": "React Native: Stop Packager"
      },
      {
        "command": "reactNative.restartPackager",
        "title": "React Native: Restart Packager"
      },
      {
        "command": "reactNative.publishToExpHost",
        "title": "React Native: Publish to Exponent"
      },
      {
        "command": "reactNative.showDevMenu",
        "title": "React Native: Show Dev Menu"
      },
      {
        "command": "reactNative.reloadApp",
        "title": "React Native: Reload App"
      }
    ],
    "debuggers": [
      {
        "type": "reactnative",
        "label": "React Native",
        "program": "./src/debugger/reactNativeDebugEntryPoint.js",
        "runtime": "node",
        "enableBreakpointsFor": {
          "languageIds": [
            "javascript",
            "typescript",
            "javascriptreact",
            "typescriptreact"
          ]
        },
        "initialConfigurations": [
          {
            "name": "Debug Android",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "android",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
          },
          {
            "name": "Debug iOS",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "ios",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
          },
          {
            "name": "Attach to packager",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "attach",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
          },
          {
            "name": "Debug in Exponent",
            "program": "${workspaceRoot}/.vscode/launchReactNative.js",
            "type": "reactnative",
            "request": "launch",
            "platform": "exponent",
            "sourceMaps": true,
            "outDir": "${workspaceRoot}/.vscode/.react"
          }
        ],
        "configurationSnippets": [
          {
            "label": "React Native: Debug Android",
            "description": "A new configuration for launching react-native app on android",
            "body": {
              "name": "Debug Android",
              "program": "^\"\\${workspaceRoot}/.vscode/launchReactNative.js\"",
              "type": "reactnative",
              "request": "launch",
              "platform": "android",
              "sourceMaps": true,
              "outDir": "^\"\\${workspaceRoot}/.vscode/.react\""
            }
          },
          {
            "label": "React Native: Debug iOS",
            "description": "A new configuration for launching react-native app on iOS",
            "body": {
              "name": "Debug iOS",
              "program": "^\"\\${workspaceRoot}/.vscode/launchReactNative.js\"",
              "type": "reactnative",
              "request": "launch",
              "platform": "ios",
              "sourceMaps": true,
              "outDir": "^\"\\${workspaceRoot}/.vscode/.react\""
            }
          },
          {
            "label": "React Native: Attach to packager",
            "description": "A new configuration for attaching to packager",
            "body": {
              "name": "Attach to packager",
              "program": "^\"\\${workspaceRoot}/.vscode/launchReactNative.js\"",
              "type": "reactnative",
              "request": "attach",
              "sourceMaps": true,
              "outDir": "^\"\\${workspaceRoot}/.vscode/.react\""
            }
          },
          {
            "label": "React Native: Debug in Exponent",
            "description": "A new configuration for launching exponent app",
            "body": {
              "name": "Debug in Exponent",
              "program": "^\"\\${workspaceRoot}/.vscode/launchReactNative.js\"",
              "type": "reactnative",
              "request": "launch",
              "platform": "exponent",
              "sourceMaps": true,
              "outDir": "^\"\\${workspaceRoot}/.vscode/.react\""
            }
          }
        ],
        "configurationAttributes": {
          "attach": {
            "required": [
              "program"
            ],
            "properties": {
              "program": {
                "type": "string",
                "description": "The path to launchReactNative.js in the vscode folder"
              },
              "sourceMaps": {
                "type": "boolean",
                "description": "Whether to use JavaScript source maps to map the generated bundled code back to its original sources",
                "default": false
              },
              "outDir": {
                "type": "string",
                "description": "The location of the generated JavaScript code (the bundle file). Normally this should be \"${workspaceRoot}/.vscode/.react\"",
                "default": null
              },
              "sourceMapPathOverrides": {
                "type": "object",
                "description": "A set of mappings for rewriting the locations of source files from what the sourcemap says, to their locations on disk. See README for details."
              },
              "trace": {
                "type": "string",
                "enum": [
                  "verbose",
                  "log",
                  "warn",
                  "error",
                  "stop"
                ],
                "default": "log",
                "description": "Setup logging level in debugger."
              },
              "address": {
                "type": "string",
                "description": "TCP/IP address of debug port. Default is 'localhost'.",
                "default": "localhost"
              },
              "port": {
                "type": "string",
                "description": "Debug port to attach to. Default is 8081.",
                "default": "8081"
              },
              "remoteRoot": {
                "type": "string",
                "description": "The source root of the remote host.",
                "default": null
              },
              "localRoot": {
                "type": "string",
                "description": "The local source root that corresponds to the 'remoteRoot'.",
                "default": "${workspaceRoot}"
              }
            }
          },
          "launch": {
            "required": [
              "program",
              "platform"
            ],
            "properties": {
              "platform": {
                "type": "string",
                "description": "The platform ('ios' or 'android') to target"
              },
              "program": {
                "type": "string",
                "description": "The path to launchReactNative.js in the vscode folder"
              },
              "target": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "device",
                      "simulator"
                    ]
                  },
                  {
                    "type": "string"
                  }
                ],
                "default": "simulator",
                "description": "Device target to run on (either device or simulator)"
              },
              "sourceMaps": {
                "type": "boolean",
                "description": "Whether to use JavaScript source maps to map the generated bundled code back to its original sources",
                "default": false
              },
              "logCatArguments": {
                "type": "array",
                "description": "Arguments to be used for LogCat (The LogCat output will appear on an Output Channel). It can either be an array such as: [\":S\", \"ReactNative:V\", \"ReactNativeJS:V\"] or a string such as \":S ReactNative:V ReactNativeJS:V\"",
                "default": [
                  "*:S",
                  "ReactNative:V",
                  "ReactNativeJS:V"
                ]
              },
              "outDir": {
                "type": "string",
                "description": "The location of the generated JavaScript code (the bundle file). Normally this should be \"${workspaceRoot}/.vscode/.react\"",
                "default": null
              },
              "runArguments": {
                "type": "array",
                "description": "Run arguments to be passed to 'react-native run-<platform>' command(Override all other configuration params)"
              },
              "env": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Environment variables passed to the program.",
                "default": {}
              },
              "envFile": {
                "type": "string",
                "description": "Absolute path to a file containing environment variable definitions.",
                "default": "${workspaceFolder}/.env"
              },
              "variant": {
                "type": "string",
                "description": "A variant to be passed to react-native run-android, e.g. 'devDebug' to specify --variant=devDebug"
              },
              "scheme": {
                "type": "string",
                "description": "A scheme name to be passed to react-native run-ios, e.g. 'devDebug' to specify --scheme=devDebug"
              },
              "trace": {
                "type": "string",
                "enum": [
                  "verbose",
                  "log",
                  "warn",
                  "error",
                  "stop"
                ],
                "default": "log",
                "description": "Setup logging level in debugger."
              }
            }
          }
        }
      }
    ],
    "configuration": {
      "type": "object",
      "title": "React-Native configuration",
      "properties": {
        "react-native.ios.runArguments.simulator": {
          "description": "Run arguments to be passed to 'react-native run-ios' command",
          "type": "array",
          "default": [],
          "scope": "resource"
        },
        "react-native.ios.runArguments.device": {
          "description": "Run arguments to be passed to 'react-native run-ios' command",
          "type": "array",
          "default": [],
          "scope": "resource"
        },
        "react-native.ios.env.simulator": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Environment variables passed to the program.",
          "default": {},
          "scope": "resource"
        },
        "react-native.ios.env.device": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Environment variables passed to the program.",
          "default": {},
          "scope": "resource"
        },
        "react-native.ios.envFile.simulator": {
          "type": "string",
          "description": "Absolute path to a file containing environment variable definitions.",
          "scope": "resource"
        },
        "react-native.ios.envFile.device": {
          "type": "string",
          "description": "Absolute path to a file containing environment variable definitions.",
          "scope": "resource"
        },
        "react-native.android.runArguments.simulator": {
          "description": "Run arguments to be passed to 'react-native run-android' command",
          "type": "array",
          "default": [],
          "scope": "resource"
        },
        "react-native.android.runArguments.device": {
          "description": "Run arguments to be passed to 'react-native run-android' command",
          "type": "array",
          "default": [],
          "scope": "resource"
        },
        "react-native.android.env.simulator": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Environment variables passed to the program.",
          "default": {},
          "scope": "resource"
        },
        "react-native.android.env.device": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Environment variables passed to the program.",
          "default": {},
          "scope": "resource"
        },
        "react-native.android.envFile.simulator": {
          "type": "string",
          "description": "Absolute path to a file containing environment variable definitions.",
          "scope": "resource"
        },
        "react-native.android.envFile.device": {
          "type": "string",
          "description": "Absolute path to a file containing environment variable definitions.",
          "scope": "resource"
        },
        "react-native.packager.port": {
          "description": "React-native packager port",
          "type": "number",
          "default": 8081,
          "scope": "resource"
        },
        "react-native-tools.projectRoot": {
          "description": "Subfolder in which the react-native project is located",
          "type": "string",
          "scope": "resource",
          "default": ""
        },
        "react-native-tools.logLevel": {
          "description": "Logging level in extension",
          "type": "enum",
          "enum": [
            "Trace",
            "Debug",
            "Info",
            "Warning",
            "Error",
            "None"
          ],
          "default": "Info",
          "scope": "resource"
        }
      }
    }
  },
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "compile": "node ./node_modules/vscode/bin/compile -watch -p ./",
    "vscode:prepublish": "gulp",
    "test": "node ./node_modules/vscode/bin/test",
    "postinstall": "node ./node_modules/vscode/bin/install"
  },
  "dependencies": {
    "extract-opts": "2.2.0",
    "flatten-source-map": "0.0.2",
    "noice-json-rpc": "^1.0.2",
    "options": "0.0.6",
    "q": "1.4.1",
    "qr-image": "^3.2.0",
    "semver": "5.1.0",
    "source-map-resolve": "^0.5.0",
    "strip-json-comments": "2.0.1",
    "typechecker": "2.0.8",
    "ultron": "1.0.2",
    "vscode-chrome-debug-core": "^3.17.3",
    "vscode-debugadapter": "^1.23.0",
    "vscode-debugprotocol": "^1.23.0",
    "vscode-extension-telemetry": "0.0.5",
    "vscode-uri": "1.0.1",
    "ws": "^3.2.0"
  },
  "devDependencies": {
    "@types/mocha": "^2.2.40",
    "@types/mock-fs": "^3.6.30",
    "@types/node": "^6.0.65",
    "@types/qr-image": "^3.2.0",
    "@types/shelljs": "^0.7.0",
    "@types/source-map": "^0.5.0",
    "@types/source-map-support": "^0.2.28",
    "@types/websocket": "0.0.33",
    "@types/ws": "^0.0.39",
    "del": "^2.2.0",
    "gulp": "^3.9.1",
    "gulp-istanbul": "^1.1.2",
    "gulp-mocha": "^3.0.1",
    "gulp-preprocess": "^2.0.0",
    "gulp-sourcemaps": "^1.6.0",
    "gulp-tslint": "^8.1.2",
    "gulp-typescript": "^3.1.5",
    "gulp-util": "^3.0.7",
    "isparta": "^4.0.0",
    "minimist": "^1.2.0",
    "mocha": "^3.2.0",
    "mocha-teamcity-reporter": "^1.0.0",
    "mock-fs": "^4.4.1",
    "remap-istanbul": "^0.9.5",
    "run-sequence": "^1.2.2",
    "should": "^8.3.0",
    "sinon": "^1.17.3",
    "source-map-support": "^0.4.0",
    "through2": "^2.0.1",
    "tslint": "^5.6.0",
    "typescript": "2.4.2",
    "vsce": "^1.3.0",
    "vscode": "^1.1.6"
  },
  "extensionDependencies": [
    "ms-vscode.node-debug2"
  ]
}
