{
  "name": "npm",
  "publisher": "vscode",
  "displayName": "%displayName%",
  "description": "%description%",
  "version": "1.0.1",
  "license": "MIT",
  "engines": {
    "vscode": "0.10.x"
  },
  "enableProposedApi": true,
  "icon": "images/npm_icon.png",
  "categories": [
    "Other"
  ],
  "scripts": {
    "compile": "gulp compile-extension:npm",
    "watch": "gulp watch-extension:npm"
  },
  "dependencies": {
    "find-up": "^4.1.0",
    "find-yarn-workspace-root": "^2.0.0",
    "jsonc-parser": "^2.2.1",
    "minimatch": "^3.0.4",
    "request-light": "^0.4.0",
    "vscode-nls": "^4.1.1",
    "which-pm": "^2.0.0"
  },
  "devDependencies": {
    "@types/minimatch": "^3.0.3",
    "@types/node": "^12.19.9"
  },
  "resolutions": {
    "which-pm/load-yaml-file/**/argparse": "1.0.9"
  },
  "main": "./out/npmMain",
  "browser": "./dist/browser/npmBrowserMain",
  "activationEvents": [
    "onCommand:workbench.action.tasks.runTask",
    "onCommand:npm.runScriptFromFolder",
    "onLanguage:json",
    "workspaceContains:package.json",
    "onView:npm"
  ],
  "contributes": {
    "languages": [
      {
        "id": "ignore",
        "extensions": [
          ".npmignore"
        ]
      },
      {
        "id": "properties",
        "extensions": [
          ".npmrc"
        ]
      }
    ],
    "views": {
      "explorer": [
        {
          "id": "npm",
          "name": "%view.name%",
          "icon": "$(code)",
          "visibility": "hidden"
        }
      ]
    },
    "commands": [
      {
        "command": "npm.runScript",
        "title": "%command.run%",
        "icon": "$(run)"
      },
      {
        "command": "npm.debugScript",
        "title": "%command.debug%",
        "icon": "$(debug)"
      },
      {
        "command": "npm.openScript",
        "title": "%command.openScript%"
      },
      {
        "command": "npm.runInstall",
        "title": "%command.runInstall%"
      },
      {
        "command": "npm.refresh",
        "title": "%command.refresh%",
        "icon": "$(refresh)"
      },
      {
        "command": "npm.runSelectedScript",
        "title": "%command.runSelectedScript%"
      },
      {
        "command": "npm.runScriptFromFolder",
        "title": "%command.runScriptFromFolder%"
      },
      {
        "command": "npm.packageManager",
        "title": "%command.packageManager"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "npm.refresh",
          "when": "false"
        },
        {
          "command": "npm.runScript",
          "when": "false"
        },
        {
          "command": "npm.debugScript",
          "when": "false"
        },
        {
          "command": "npm.openScript",
          "when": "false"
        },
        {
          "command": "npm.runInstall",
          "when": "false"
        },
        {
          "command": "npm.runSelectedScript",
          "when": "false"
        },
        {
          "command": "npm.runScriptFromFolder",
          "when": "false"
        },
        {
          "command": "npm.packageManager",
          "when": "false"
        }
      ],
      "editor/context": [
        {
          "command": "npm.runSelectedScript",
          "when": "resourceFilename == 'package.json' && resourceScheme == file",
          "group": "navigation@+1"
        }
      ],
      "view/title": [
        {
          "command": "npm.refresh",
          "when": "view == npm",
          "group": "navigation"
        }
      ],
      "view/item/context": [
        {
          "command": "npm.openScript",
          "when": "view == npm && viewItem == packageJSON",
          "group": "navigation@1"
        },
        {
          "command": "npm.runInstall",
          "when": "view == npm && viewItem == packageJSON",
          "group": "navigation@2"
        },
        {
          "command": "npm.openScript",
          "when": "view == npm && viewItem == script",
          "group": "navigation@1"
        },
        {
          "command": "npm.runScript",
          "when": "view == npm && viewItem == script",
          "group": "navigation@2"
        },
        {
          "command": "npm.runScript",
          "when": "view == npm && viewItem == script",
          "group": "inline"
        },
        {
          "command": "npm.debugScript",
          "when": "view == npm && viewItem == script",
          "group": "inline"
        },
        {
          "command": "npm.debugScript",
          "when": "view == npm && viewItem == script",
          "group": "navigation@3"
        }
      ],
      "explorer/context": [
        {
          "when": "config.npm.enableRunFromFolder && explorerViewletVisible && explorerResourceIsFolder && resourceScheme == file",
          "command": "npm.runScriptFromFolder",
          "group": "2_workspace"
        }
      ]
    },
    "configuration": {
      "id": "npm",
      "type": "object",
      "title": "Npm",
      "properties": {
        "npm.autoDetect": {
          "type": "string",
          "enum": [
            "off",
            "on"
          ],
          "default": "on",
          "scope": "resource",
          "description": "%config.npm.autoDetect%"
        },
        "npm.runSilent": {
          "type": "boolean",
          "default": false,
          "scope": "resource",
          "markdownDescription": "%config.npm.runSilent%"
        },
        "npm.packageManager": {
          "scope": "resource",
          "type": "string",
          "enum": [
            "auto",
            "npm",
            "yarn",
            "pnpm"
          ],
          "enumDescriptions": [
            "%config.npm.packageManager.auto%",
            "%config.npm.packageManager.npm%",
            "%config.npm.packageManager.yarn%",
            "%config.npm.packageManager.pnpm%"
          ],
          "default": "auto",
          "description": "%config.npm.packageManager%"
        },
        "npm.exclude": {
          "type": [
            "string",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "%config.npm.exclude%",
          "scope": "resource"
        },
        "npm.enableScriptExplorer": {
          "type": "boolean",
          "default": false,
          "scope": "resource",
          "deprecationMessage": "The NPM Script Explorer is now available in 'Views' menu in the Explorer in all folders.",
          "description": "%config.npm.enableScriptExplorer%"
        },
        "npm.enableRunFromFolder": {
          "type": "boolean",
          "default": false,
          "scope": "resource",
          "description": "%config.npm.enableRunFromFolder%"
        },
        "npm.scriptExplorerAction": {
          "type": "string",
          "enum": [
            "open",
            "run"
          ],
          "markdownDescription": "%config.npm.scriptExplorerAction%",
          "scope": "window",
          "default": "open"
        },
        "npm.fetchOnlinePackageInfo": {
          "type": "boolean",
          "description": "%config.npm.fetchOnlinePackageInfo%",
          "default": true,
          "scope": "window",
          "tags": [
            "usesOnlineServices"
          ]
        }
      }
    },
    "jsonValidation": [
      {
        "fileMatch": "package.json",
        "url": "https://json.schemastore.org/package"
      },
      {
        "fileMatch": "bower.json",
        "url": "https://json.schemastore.org/bower"
      }
    ],
    "taskDefinitions": [
      {
        "type": "npm",
        "required": [
          "script"
        ],
        "properties": {
          "script": {
            "type": "string",
            "description": "%taskdef.script%"
          },
          "path": {
            "type": "string",
            "description": "%taskdef.path%"
          }
        },
        "when": "shellExecutionSupported"
      }
    ]
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/microsoft/vscode.git"
  }
}
