{
  "name": "vscode-sysl",
  "displayName": "Sysl",
  "description": "Write Sysl specs easily with instant visual feedback.",
  "author": "ANZ Bank",
  "publisher": "anz-bank",
  "version": "0.66.0",
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/anz-bank/vscode-sysl"
  },
  "categories": [
    "Programming Languages"
  ],
  "icon": "icon.png",
  "keywords": [
    "specification",
    "diagrams"
  ],
  "engines": {
    "vscode": "^1.52.0"
  },
  "activationEvents": [
    "onLanguage:sysl",
    "onLanguage:sysld",
    "onCustomEditor:sysl.multiView",
    "onCustomEditor:sysld.multiView",
    "workspaceContains:**/*.sysl"
  ],
  "main": "./main.js",
  "contributes": {
    "commands": [
      {
        "command": "sysl.renderDiagram",
        "title": "Render Diagram",
        "category": "Sysl",
        "icon": "$(open-preview)"
      },
      {
        "command": "sysl.diagram.snapshot",
        "title": "Save Diagram Snapshot",
        "category": "Sysl",
        "icon": "$(device-camera)"
      },
      {
        "command": "sysl.action.list",
        "title": "List Actions",
        "category": "Sysl",
        "icon": "$(run)"
      },
      {
        "command": "sysl.import",
        "title": "Import",
        "category": "Sysl",
        "icon": "$(sign-in)"
      }
    ],
    "menus": {
      "editor/title": [
        {
          "when": "resourceExtname == .sysl && activeCustomEditorId != 'sysl.multiView'",
          "command": "sysl.renderDiagram",
          "group": "navigation@1"
        },
        {
          "when": "resourceExtname == .sysl && activeCustomEditorId != 'sysl.multiView'",
          "command": "sysl.action.list",
          "group": "navigation@1"
        },
        {
          "when": "activeCustomEditorId == 'sysl.multiView' || activeCustomEditorId == 'sysld.multiView'",
          "command": "sysl.diagram.snapshot",
          "group": "navigation@2"
        }
      ]
    },
    "languages": [
      {
        "id": "sysl",
        "aliases": [
          "Sysl",
          "sysl"
        ],
        "extensions": [
          ".sysl"
        ],
        "configuration": "./src/syntax/language-configuration.json"
      },
      {
        "id": "sysld",
        "aliases": [
          "SyslD",
          "Sysld",
          "sysld",
          "Sysl Diagram"
        ],
        "extensions": [
          ".sysld"
        ]
      }
    ],
    "grammars": [
      {
        "language": "sysl",
        "scopeName": "source.sysl",
        "path": "./src/syntax/sysl.tmLanguage.json"
      }
    ],
    "configuration": {
      "type": "object",
      "title": "Sysl",
      "properties": {
        "sysl.tool.binaryPath": {
          "type": "string",
          "default": "",
          "description": "Path to the Sysl binary to use for Sysl operations. If empty, the Sysl extension will download and manage its own Sysl binary.\n\nSee https://sysl.io/docs/installation for installation instructions."
        },
        "sysl.tool.autoupdate": {
          "type": "boolean",
          "default": true,
          "description": "Allow the extension to update the Sysl binary automatically."
        },
        "sysl.plugins.fetchFromNetwork": {
          "type": "boolean",
          "default": true,
          "description": "Whether to fetch plugins for the Sysl extension from the network on activation (from https://go/vscode-sysl-plugins)."
        },
        "sysl.plugins.networkSource": {
          "type": "string",
          "default": "https://go/vscode-sysl-plugins",
          "description": "Where to look for network plugins. This should point to the download URL of a plugin NPM package, which may reference other packages via `peerDependencies`."
        },
        "sysl.network.strictSsl": {
          "type": "boolean",
          "default": true,
          "description": "Require all background downloads to use secure SSL connections (recommended). This may be disabled to debug or workaround network issues."
        }
      }
    },
    "customEditors": [
      {
        "viewType": "sysl.multiView",
        "displayName": "Sysl Diagram",
        "selector": [
          {
            "filenamePattern": "*.sysl"
          }
        ],
        "priority": "option"
      },
      {
        "viewType": "sysld.multiView",
        "displayName": "Sysl Diagram",
        "selector": [
          {
            "filenamePattern": "*.sysld"
          }
        ],
        "priority": "default"
      }
    ]
  },
  "scripts": {
    "vscode:prepublish": "cp ../../README.md ../../LICENSE .",
    "vscode:package": "vsce package",
    "vscode:publish": "vsce publish -p $VSCE_TOKEN && rm -f ./LICENSE",
    "esbuild-base": "esbuild ./src/main.ts --bundle --outfile=main.js --external:vscode --external:electron --format=cjs --platform=node",
    "esbuild": "npm run esbuild-base -- --sourcemap",
    "esbuild-prod": "npm run esbuild-base -- --minify",
    "prebuild": "yarn install --network-timeout 300000",
    "build": "yarn compile && yarn plugins && yarn build:renderer && yarn esbuild-prod",
    "build:renderer": "yarn --cwd ../renderer build --network-timeout 300000 && cp -R ../renderer/build/. renderer",
    "compile": "tsc",
    "esbuild-erd": "esbuild ./src/plugins/erd/index.ts --bundle --outfile=plugins/erd/index.js --external:vscode --external:electron --format=cjs --platform=node",
    "esbuild-integration": "esbuild ./src/plugins/integration/index.ts --bundle --outfile=plugins/integration/index.js --external:vscode --external:electron --format=cjs --platform=node",
    "esbuild-sysld": "esbuild ./src/plugins/sysld/index.ts --bundle --outfile=plugins/sysld/index.js --external:vscode --external:electron --format=cjs --platform=node",
    "plugins": "yarn esbuild-erd && yarn esbuild-integration && yarn esbuild-sysld",
    "watch": "tsc -w",
    "package": "vsce package",
    "tidy": "prettier --write .",
    "lint": "eslint . --ext .ts,.tsx",
    "test": "yarn test-unit",
    "test-ui": "node test/runTest",
    "test-unit": "yarn jest",
    "test-watch": "nodemon --watch './**' --ext 'ts,json,sysl' --exec 'ts-node ./src/test/runUnitTest'",
    "pack": "pack && yarn vscode:package",
    "prepack": "mkdir -p dist && cp package.json ../../README.md ../../LICENSE  && sed -i'' -e 's|||g' package.json"
  },
  "dependencies": {
    "@anz-bank/sysl": "^2",
    "@anz-bank/vscode-sysl-model": "^0.66.0",
    "@anz-bank/vscode-sysl-plugin": "^0.66.0",
    "archive-type": "^4",
    "decompress": "^4",
    "lodash": "^4",
    "memoizee": "^0",
    "semver": "^7",
    "vscode-languageclient": "8.0.2",
    "vscode-languageserver": "8.0.2",
    "vscode-languageserver-protocol": "3.17.2",
    "vscode-languageserver-textdocument": "^1"
  },
  "devDependencies": {
    "@types/chai": "^4",
    "@types/decompress": "^4",
    "@types/glob": "^7",
    "@types/jest": "^29",
    "@types/memoizee": "^0",
    "@types/mocha": "^9",
    "@types/mock-fs": "^4",
    "@types/node": "^20",
    "@types/semver": "^7",
    "@types/sinon-chai": "^3",
    "@types/vscode": "^1",
    "@typescript-eslint/eslint-plugin": "^5",
    "@typescript-eslint/parser": "^5",
    "@vscode/test-electron": "^2",
    "@vscode/vsce": "^3",
    "chai": "^4",
    "esbuild": "^0.24",
    "eslint": "^8",
    "glob": "^7",
    "got": "^11",
    "jest": "^29",
    "jest-extended": "^3",
    "mocha": "^9",
    "mock-fs": "^5",
    "nodemon": "^2",
    "p-retry": "^4",
    "prettier": "^3",
    "replace": "^1",
    "sinon": "^11",
    "sinon-chai": "^3",
    "ts-jest": "^29",
    "ts-mocha": "^10",
    "ts-node": "^10",
    "typescript": "^5",
    "vscode-uri": "^3"
  },
  "nx": {
    "targets": {
      "vscode:publish": {
        "dependsOn": [
          "build"
        ]
      }
    }
  },
  "gitHead": "05a1f9dd05184256086a4c4ad2b9b5104f2f1dff"
}
