{
	"name": "vscode-react-native",
	"displayName": "React Native Tools",
	"version": "0.15.0",
	"private": true,
	"publisher": "msjsdiag",
	"icon": "images/icon.png",
	"galleryBanner": {
		"color": "#3B3738",
		"theme": "dark"
	},
	"description": "%reactNative.description%",
	"keywords": [
		"react-native",
		"multi-root ready"
	],
	"bugs": "https://github.com/Microsoft/vscode-react-native/issues",
	"license": "%reactNative.license%",
	"repository": {
		"type": "git",
		"url": "https://github.com/Microsoft/vscode-react-native"
	},
	"engines": {
		"vscode": "^1.26.0"
	},
	"categories": [
		"Debuggers",
		"Other"
	],
	"activationEvents": [
		"onDebugResolve:reactnative",
		"onDebugResolve:reactnativedirect",
		"onDebugInitialConfigurations",
		"onCommand:reactNative.runAndroidSimulator",
		"onCommand:reactNative.runAndroidDevice",
		"onCommand:reactNative.runIosSimulator",
		"onCommand:reactNative.runIosDevice",
		"onCommand:reactNative.runExponent",
		"onCommand:reactNative.startPackager",
		"onCommand:reactNative.stopPackager",
		"onCommand:reactNative.restartPackager",
		"onCommand:reactNative.publishToExpHost",
		"onCommand:reactNative.showDevMenu",
		"onCommand:reactNative.reloadApp",
		"onCommand:reactNative.runInspector"
	],
	"main": "./src/extension/rn-extension",
	"contributes": {
		"commands": [
			{
				"command": "reactNative.runAndroidSimulator",
				"title": "%reactNative.command.runAndroidSimulator.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.runAndroidDevice",
				"title": "%reactNative.command.runAndroidDevice.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.runIosSimulator",
				"title": "%reactNative.command.runIosSimulator.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.runIosDevice",
				"title": "%reactNative.command.runIosDevice.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.runExponent",
				"title": "%reactNative.command.runExponent.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.startPackager",
				"title": "%reactNative.command.startPackager.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.stopPackager",
				"title": "%reactNative.command.stopPackager.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.restartPackager",
				"title": "%reactNative.command.restartPackager.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.publishToExpHost",
				"title": "%reactNative.command.publishToExpHost.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.showDevMenu",
				"title": "%reactNative.command.showDevMenu.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.reloadApp",
				"title": "%reactNative.command.reloadApp.title%",
				"category": "React Native"
			},
			{
				"command": "reactNative.runInspector",
				"title": "%reactNative.command.runInspector.title%",
				"category": "React Native"
			}
		],
		"debuggers": [
			{
				"type": "reactnative",
				"label": "React Native",
				"program": "./src/debugger/reactNativeDebugEntryPoint.js",
				"runtime": "node",
				"enableBreakpointsFor": {
					"languageIds": [
						"javascript",
						"typescript",
						"javascriptreact",
						"typescriptreact"
					]
				},
				"configurationSnippets": [
					{
						"label": "React Native: Debug Android",
						"description": "%reactNative.snippets.debugAndroid.description%",
						"body": {
							"name": "Debug Android",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnative",
							"request": "launch",
							"platform": "android"
						}
					},
					{
						"label": "React Native: Debug iOS",
						"description": "%reactNative.snippets.debugiOS.description%",
						"body": {
							"name": "Debug iOS",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnative",
							"request": "launch",
							"platform": "ios"
						}
					},
					{
						"label": "React Native: Debug Windows",
						"description": "%reactNative.snippets.debugWindows.description%",
						"body": {
							"name": "Debug Windows",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnative",
							"request": "launch",
							"platform": "windows"
						}
					},
					{
						"label": "React Native: Attach to packager",
						"description": "%reactNative.snippets.attachPackager.description%",
						"body": {
							"name": "Attach to packager",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnative",
							"request": "attach"
						}
					},
					{
						"label": "React Native: Debug in Exponent",
						"description": "%reactNative.snippets.debugExpo.description%",
						"body": {
							"name": "Debug in Exponent",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnative",
							"request": "launch",
							"platform": "exponent"
						}
					}
				],
				"configurationAttributes": {
					"attach": {
						"required": [
							"cwd"
						],
						"properties": {
							"program": {
								"type": "string",
								"description": "%reactNative.attach.program.description%"
							},
							"cwd": {
								"type": "string",
								"description": "%reactNative.attach.cwd.description%",
								"default": "${workspaceFolder}"
							},
							"sourceMaps": {
								"type": "boolean",
								"description": "%reactNative.attach.sourceMaps.description%",
								"default": false
							},
							"sourceMapPathOverrides": {
								"type": "object",
								"description": "%reactNative.attach.sourceMapsPathOverrides.description%"
							},
							"trace": {
								"type": "string",
								"enum": [
									"verbose",
									"log",
									"warn",
									"error",
									"stop"
								],
								"default": "log",
								"description": "%reactNative.attach.trace.description%"
							},
							"address": {
								"type": "string",
								"description": "%reactNative.attach.address.description%",
								"default": "localhost"
							},
							"port": {
								"type": "string",
								"description": "%reactNative.attach.port.description%",
								"default": "8081"
							},
							"remoteRoot": {
								"type": "string",
								"description": "%reactNative.attach.remoteRoot.description%",
								"default": null
							},
							"localRoot": {
								"type": "string",
								"description": "%reactNative.attach.localRoot.description%",
								"default": "${workspaceFolder}"
							},
							"skipFiles": {
								"type": "array",
								"description": "%reactNative.attach.skipFiles.description%",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"debuggerWorkerUrlPath": {
								"type": "string",
								"description": "%reactNative.attach.debuggerWorkerUrlPath.description%",
								"default": "debugger-ui/"
							}
						}
					},
					"launch": {
						"required": [
							"cwd",
							"platform"
						],
						"properties": {
							"platform": {
								"type": "string",
								"enum": [
									"ios",
									"android",
									"exponent",
									"windows",
									"wpf"
								],
								"description": "%reactNative.launch.platform.description%"
							},
							"program": {
								"type": "string",
								"description": "%reactNative.launch.program.description%"
							},
							"cwd": {
								"type": "string",
								"description": "%reactNative.launch.cwd.description%",
								"default": "${workspaceFolder}"
							},
							"target": {
								"anyOf": [
									{
										"type": "string",
										"enum": [
											"device",
											"simulator"
										]
									},
									{
										"type": "string"
									}
								],
								"default": "simulator",
								"description": "%reactNative.launch.target.description%"
							},
							"sourceMaps": {
								"type": "boolean",
								"description": "%reactNative.launch.sourceMaps.description%",
								"default": false
							},
							"logCatArguments": {
								"type": "array",
								"description": "%reactNative.launch.logCatArguments.description%",
								"default": [
									"*:S",
									"ReactNative:V",
									"ReactNativeJS:V"
								]
							},
							"runArguments": {
								"type": "array",
								"description": "%reactNative.launch.runArguments.description%"
							},
							"env": {
								"type": "object",
								"additionalProperties": {
									"type": "string"
								},
								"description": "%reactNative.launch.env.description%",
								"default": {}
							},
							"envFile": {
								"type": "string",
								"description": "%reactNative.launch.envFile.description%",
								"default": "${workspaceFolder}/.env"
							},
							"variant": {
								"type": "string",
								"description": "%reactNative.launch.variant.description%"
							},
							"scheme": {
								"type": "string",
								"description": "%reactNative.launch.scheme.description%"
							},
							"productName": {
								"type": "string",
								"description": "%reactNative.launch.productName.description%"
							},
							"skipFiles": {
								"type": "array",
								"description": "%reactNative.launch.skipFiles.description%",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"trace": {
								"type": "string",
								"enum": [
									"verbose",
									"log",
									"warn",
									"error",
									"stop"
								],
								"default": "log",
								"description": "%reactNative.launch.trace.description%"
							},
							"debuggerWorkerUrlPath": {
								"type": "string",
								"description": "%reactNative.launch.debuggerWorkerUrlPath.description%",
								"default": "debugger-ui/"
							},
							"launchActivity": {
								"type": "string",
								"description": "%reactNative.launch.launchActivity.description%",
								"default": "MainActivity"
							},
							"expoHostType": {
								"type": "string",
								"enum": [
									"tunnel",
									"lan",
									"local"
								],
								"default": "tunnel",
								"description": "%reactNative.launch.expoHostType.description%"
							}
						}
					}
				}
			},
			{
				"type": "reactnativedirect",
				"label": "React Native Direct - Experimental",
				"program": "./src/debugger/direct/reactNativeDirectDebugEntryPoint.js",
				"runtime": "node",
				"enableBreakpointsFor": {
					"languageIds": [
						"javascript",
						"typescript",
						"javascriptreact",
						"typescriptreact"
					]
				},
				"configurationSnippets": [
					{
						"label": "React Native (Hermes): Debug Android - Experimental",
						"description": "%reactNative.snippets.debugAndroidHermes.description%",
						"body": {
							"name": "Debug Android (Hermes) - Experimental",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnativedirect",
							"request": "launch",
							"platform": "android"
						}
					},
					{
						"label": "React Native (Hermes): Attach to Hermes application - Experimental",
						"description": "%reactNative.snippets.attachPackagerHermes.description%",
						"body": {
							"name": "Attach to Hermes application - Experimental",
							"cwd": "^\"\\${workspaceFolder}\"",
							"type": "reactnativedirect",
							"request": "attach"
						}
					}
				],
				"configurationAttributes": {
					"attach": {
						"required": [
							"cwd"
						],
						"properties": {
							"cwd": {
								"type": "string",
								"description": "%reactNative.attach.cwd.description%",
								"default": "${workspaceFolder}"
							},
							"trace": {
								"type": "string",
								"enum": [
									"verbose",
									"log",
									"warn",
									"error",
									"stop"
								],
								"default": "log",
								"description": "%reactNative.attach.trace.description%"
							},
							"address": {
								"type": "string",
								"description": "%reactNative.attach.address.description%",
								"default": "localhost"
							},
							"port": {
								"type": "string",
								"description": "%reactNative.direct.attach.port.description%",
								"default": "8081"
							},
							"skipFiles": {
								"type": "array",
								"description": "%reactNative.attach.skipFiles.description%",
								"items": {
									"type": "string"
								},
								"default": []
							}
						}
					},
					"launch": {
						"required": [
							"cwd",
							"platform"
						],
						"properties": {
							"platform": {
								"type": "string",
								"enum": [
									"android"
								],
								"description": "%reactNative.launch.platform.description%"
							},
							"cwd": {
								"type": "string",
								"description": "%reactNative.launch.cwd.description%",
								"default": "${workspaceFolder}"
							},
							"port": {
								"type": "string",
								"description": "%reactNative.direct.attach.port.description%",
								"default": "8081"
							},
							"target": {
								"anyOf": [
									{
										"type": "string",
										"enum": [
											"device",
											"simulator"
										]
									},
									{
										"type": "string"
									}
								],
								"default": "simulator",
								"description": "%reactNative.launch.target.description%"
							},
							"logCatArguments": {
								"type": "array",
								"description": "%reactNative.launch.logCatArguments.description%",
								"default": [
									"*:S",
									"ReactNative:V",
									"ReactNativeJS:V"
								]
							},
							"runArguments": {
								"type": "array",
								"description": "%reactNative.launch.runArguments.description%"
							},
							"env": {
								"type": "object",
								"additionalProperties": {
									"type": "string"
								},
								"description": "%reactNative.launch.env.description%",
								"default": {}
							},
							"envFile": {
								"type": "string",
								"description": "%reactNative.launch.envFile.description%",
								"default": "${workspaceFolder}/.env"
							},
							"skipFiles": {
								"type": "array",
								"description": "%reactNative.launch.skipFiles.description%",
								"items": {
									"type": "string"
								},
								"default": []
							},
							"trace": {
								"type": "string",
								"enum": [
									"verbose",
									"log",
									"warn",
									"error",
									"stop"
								],
								"default": "log",
								"description": "%reactNative.launch.trace.description%"
							},
							"launchActivity": {
								"type": "string",
								"description": "%reactNative.launch.launchActivity.description%",
								"default": "MainActivity"
							}
						}
					}
				}
			}
		],
		"configuration": {
			"type": "object",
			"title": "%reactNative.configuration.title%",
			"properties": {
				"react-native.ios.runArguments.simulator": {
					"description": "%reactNative.configuration.properties.react-native.ios.runArguments.simulator.description%",
					"type": "array",
					"default": [],
					"scope": "resource"
				},
				"react-native.ios.runArguments.device": {
					"description": "%reactNative.configuration.properties.react-native.ios.runArguments.device.description%",
					"type": "array",
					"default": [],
					"scope": "resource"
				},
				"react-native.ios.env.simulator": {
					"type": "object",
					"additionalProperties": {
						"type": "string"
					},
					"description": "%reactNative.configuration.properties.react-native.ios.env.simulator.description%",
					"default": {},
					"scope": "resource"
				},
				"react-native.ios.env.device": {
					"type": "object",
					"additionalProperties": {
						"type": "string"
					},
					"description": "%reactNative.configuration.properties.react-native.ios.env.device.description%",
					"default": {},
					"scope": "resource"
				},
				"react-native.ios.envFile.simulator": {
					"type": "string",
					"description": "%reactNative.configuration.properties.react-native.ios.envFile.simulator.description%",
					"scope": "resource"
				},
				"react-native.ios.envFile.device": {
					"type": "string",
					"description": "%reactNative.configuration.properties.react-native.ios.envFile.device.description%",
					"scope": "resource"
				},
				"react-native.android.runArguments.simulator": {
					"description": "%reactNative.configuration.properties.react-native.android.runArguments.simulator.description%",
					"type": "array",
					"default": [],
					"scope": "resource"
				},
				"react-native.android.runArguments.device": {
					"description": "%reactNative.configuration.properties.react-native.android.runArguments.device.description%",
					"type": "array",
					"default": [],
					"scope": "resource"
				},
				"react-native.android.env.simulator": {
					"type": "object",
					"additionalProperties": {
						"type": "string"
					},
					"description": "%reactNative.configuration.properties.react-native.android.env.simulator.description%",
					"default": {},
					"scope": "resource"
				},
				"react-native.android.env.device": {
					"type": "object",
					"additionalProperties": {
						"type": "string"
					},
					"description": "%reactNative.configuration.properties.react-native.android.env.device.description%",
					"default": {},
					"scope": "resource"
				},
				"react-native.android.envFile.simulator": {
					"type": "string",
					"description": "%reactNative.configuration.properties.react-native.android.envFile.simulator.description%",
					"scope": "resource"
				},
				"react-native.android.envFile.device": {
					"type": "string",
					"description": "%reactNative.configuration.properties.react-native.android.envFile.device.description%",
					"scope": "resource"
				},
				"react-native.packager.port": {
					"description": "%reactNative.configuration.properties.react-native.packager.port.description%",
					"type": "number",
					"default": 8081,
					"scope": "resource"
				},
				"react-native-tools.reactNativeGlobalCommandName": {
					"description": "%reactNative.configuration.properties.react-native-tools.reactNativeGlobalCommandName.description%",
					"type": "string",
					"scope": "resource"
				},
				"react-native-tools.projectRoot": {
					"description": "%reactNative.configuration.properties.react-native-tools.projectRoot.description%",
					"type": "string",
					"scope": "resource",
					"default": ""
				},
				"react-native-tools.logLevel": {
					"description": "%reactNative.configuration.properties.react-native-tools.logLevel.description%",
					"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 ./test/runTest.js",
		"test-localization": "node ./test/localization/runTest.js",
		"prepare-smoke-tests": "cd test/smoke && gulp prepare-smoke-tests && yarn --cwd ./vscode install",
		"smoke-tests": "cd test/smoke && gulp prepare-smoke-tests && yarn --cwd ./vscode install && yarn --cwd ./vscode/test/smoke mocha",
		"quick-smoke-tests": "cd test/smoke/vscode/test/smoke && yarn mocha --skip-setup"
	},
	"dependencies": {
		"extract-opts": "2.2.0",
		"flatten-source-map": "0.0.2",
		"glob": "^7.1.6",
		"mkdirp": "^1.0.3",
		"noice-json-rpc": "^1.0.2",
		"options": "0.0.6",
		"q": "1.4.1",
		"qr-image": "^3.2.0",
		"semver": "^6.3.0",
		"source-map": "0.5.2",
		"source-map-resolve": "^0.5.3",
		"strip-json-comments": "2.0.1",
		"typechecker": "2.0.8",
		"ultron": "1.0.2",
		"vscode-chrome-debug-core": "^6.8.8",
		"vscode-debugadapter": "^1.39.1",
		"vscode-debugprotocol": "^1.39.0",
		"vscode-extension-telemetry": "0.0.5",
		"vscode-nls": "3.2.2",
		"ws": "^3.2.0"
	},
	"devDependencies": {
		"@types/mkdirp": "^1.0.0",
		"@types/mocha": "^7.0.2",
		"@types/ncp": "^2.0.3",
		"@types/node": "^10.17.17",
		"@types/qr-image": "^3.2.0",
		"@types/rimraf": "^2.0.3",
		"@types/semver": "^6.2.1",
		"@types/shelljs": "^0.7.0",
		"@types/source-map": "0.5.2",
		"@types/source-map-support": "^0.2.28",
		"@types/vscode": "1.26.0",
		"@types/websocket": "0.0.33",
		"@types/ws": "^0.0.39",
		"ansi-colors": "^3.2.4",
		"del": "^2.2.0",
		"event-stream": "3.3.4",
		"fancy-log": "^1.3.3",
		"gulp": "^4.0.2",
		"gulp-istanbul": "^1.1.3",
		"gulp-mocha": "^7.0.2",
		"gulp-preprocess": "^3.0.3",
		"gulp-sourcemaps": "^2.6.5",
		"gulp-tslint": "^8.1.4",
		"gulp-typescript": "^5.0.1",
		"isparta": "^4.1.1",
		"minimist": "^1.2.5",
		"mocha": "^7.1.1",
		"mocha-junit-reporter": "^1.23.3",
		"mocha-multi-reporters": "^1.1.7",
		"ncp": "^2.0.0",
		"plugin-error": "^1.0.1",
		"remap-istanbul": "^0.13.0",
		"rimraf": "^2.7.1",
		"should": "^8.3.0",
		"sinon": "^1.17.3",
		"source-map-support": "^0.4.0",
		"through2": "^2.0.1",
		"tslint": "^5.20.1",
		"typescript": "^2.9.2",
		"vsce": "^1.74.0",
		"vscode-nls-dev": "^3.3.1",
		"vscode-test": "^1.3.0"
	},
	"extensionDependencies": [
		"ms-vscode.node-debug2"
	]
}
