{
	"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"
			},
			{
				"command": "reactNative.appcenter.login",
				"title": "Login",
				"category": "React Native Code Push"
			},
			{
				"command": "reactNative.appcenter.logout",
				"title": "Logout",
				"category": "React Native Code Push"
			},
			{
				"command": "reactNative.appcenter.whoami",
				"title": "WhoAmI",
				"category": "React Native Code Push"
			},
			{
				"command": "reactNative.appcenter.setcurrentapp",
				"title": "Set Current App",
				"category": "React Native Code Push"
			},
			{
				"command": "reactNative.appcenter.getcurrentapp",
				"title": "Get Current App",
				"category": "React Native Code Push"
			},
			{
				"command": "reactNative.appcenter.releasereact",
				"title": "Release React",
				"category": "React Native Code Push"
			}
		],
		"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}"
							},
							"skipFiles": {
								"type": "array",
								"description": "An array of file or folder names, or glob patterns, to skip when debugging.",
								"items": {
									"type": "string"
								},
								"default": []
							}
						}
					},
					"launch": {
						"required": [
							"program",
							"platform"
						],
						"properties": {
							"platform": {
								"type": "string",
								"enum": [
									"ios",
									"android",
									"exponent",
									"windows"
								],
								"description": "The platform 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"
							},
							"skipFiles": {
								"type": "array",
								"description": "An array of file or folder names, or glob patterns, to skip when debugging.",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"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"
				},
				"react-native-tools.appcenter.loginendpoint": {
					"description": "Endpoint to login to appcenter",
					"type": "string",
					"default": "https://appcenter.ms/cli-login",
					"scope": "resource"
				},
				"react-native-tools.appcenter.api.endpoint": {
					"description": "API Endpoint to appcenter",
					"type": "string",
					"default": "https://api.appcenter.ms",
					"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": {
		"app-center-node-client": "file:lib/app-center-node-client",
		"codepush-node-sdk": "github:sergey-akhalkov/codepush-node-sdk",
		"extract-opts": "2.2.0",
		"flatten-source-map": "0.0.2",
		"lodash": "^4.16.4",
		"mkdirp": "^0.5.1",
		"ms-rest": "^1.15.0",
		"noice-json-rpc": "^1.0.2",
		"open": "0.0.5",
		"opener": "^1.4.3",
		"options": "0.0.6",
		"q": "1.4.1",
		"qr-image": "^3.2.0",
		"qs": "^6.4.0",
		"rx-lite": "^4.0.8",
		"semver": "5.1.0",
		"source-map": "^0.7.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",
		"ws": "^3.2.0"
	},
	"devDependencies": {
		"@types/lodash": "^4.14.74",
		"@types/mkdirp": "^0.5.1",
		"@types/mocha": "^2.2.40",
		"@types/mock-fs": "^3.6.30",
		"@types/node": "^6.0.65",
		"@types/open": "^0.0.29",
		"@types/opener": "^1.4.0",
		"@types/qr-image": "^3.2.0",
		"@types/qs": "^6.5.0",
		"@types/rx-lite": "4.0.4",
		"@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"
	]
}
