package.json - Define an NPM/VSCode project

Per the VSCode docs, this defines an extension’s manifest; it mostly builds on an NPM manifest file. Since this is a JSON file, adding intermingled comments is difficult.

{
    "name": "codechat",
    "version": "0.2.22",
    "publisher": "CodeChat",
    "engines": {
        "vscode": "^1.51.0"
    },
    "license": "SEE LICENSE IN LICENSE.rst",
    "displayName": "CodeChat",
    "description": "This embeds CodeChat in the Visual Studio Code Editor.",
    "categories": [
        "Other"
    ],
    "keywords": [
        "literate programming",
        "CodeChat",
        "Visual Studio Code extension"
    ],
    "main": "out/extension.js",
    "contributes": {
        "configuration": {
            "title": "CodeChat",
            "properties": {
                "CodeChat.CodeChatServer.Command": {
                    "type": "string",
                    "default": "CodeChat_Server",
                    "markdownDescription": "Path to the CodeChat Server executable; for example, `CodeChat_Server`."
                },
                "CodeChat.CodeChatServer.ClientLocation": {
                    "type": "string",
                    "default": "html",
                    "enum": [
                        "html",
                        "browser"
                    ],
                    "enumDescriptions": [
                        "A panel in Visual Studio Code",
                        "In the default external web browser"
                    ],
                    "markdownDescription": "Select the location of the CodeChat Client. After changing this value, you **must** close then restart the CodeChat extension."
                }
            }
        },
        "commands": [
            {
                "command": "extension.codeChatActivate",
                "title": "Enable CodeChat"
            },
            {
                "command": "extension.codeChatDeactivate",
                "title": "Disable CodeChat"
            }
        ]
    },
    "activationEvents": [
        "onCommand:extension.codeChatActivate",
        "onCommand:extension.codeChatDeactivate"
    ],
    "extensionKind": [
        "workspace"
    ],
    "dependencies": {
        "escape-html": "^1",
        "thrift": "^0.16.0"
    },
    "devDependencies": {
        "@types/escape-html": "^1",
        "@types/thrift": "^0.10",
        "@types/vscode": "^1.51.0",
        "@typescript-eslint/eslint-plugin": "^6",
        "@typescript-eslint/parser": "^6",
        "eslint": "^8",
        "eslint-config-prettier": "^9",
        "eslint-config-standard": "^17",
        "eslint-plugin-import": "^2",
        "eslint-plugin-node": "^11",
        "ovsx": "^0.8",
        "typescript": "^5",
        "@vscode/vsce": "^2"
    },
    "scripts": {
        "vscode:prepublish": "npm run compile",
        "compile": "tsc -p ./",
        "watch": "tsc -watch -p ./",
        "pretest": "npm run compile",
        "test": "node ./out/test/runTest.js"
    },
    "homepage": "https://CodeChat_system.readthedocs.io",
    "author": {
        "name": "Bryan A. Jones"
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/bjones1/CodeChat_system"
    },
    "prettier": {
        "tabWidth": 4
    }
}