{ "name": "gitlens", "version": "3.4.5", "author": { "name": "Eric Amodio", "email": "eamodio@gmail.com" }, "publisher": "eamodio", "engines": { "vscode": "^1.9.0" }, "license": "SEE LICENSE IN LICENSE", "displayName": "GitLens \u2014 git blame annotations, code lens, and more", "description": "Supercharge Visual Studio Code's Git capabilities \u2014 Visualize code authorship at a glance via inline Git blame annotations and code lens, seamlessly navigate and explore the history of a file or branch, gain valuable insights via powerful comparision commands, and so much more", "badges": [ { "url": "https://badges.gitter.im/vscode-gitlens/Lobby.svg", "href": "https://gitter.im/vscode-gitlens/Lobby", "description": "Chat at https://gitter.im/vscode-gitlens/Lobby" } ], "categories": [ "Other" ], "keywords": [ "git", "code lens", "blame", "history", "annotation", "log", "inline blame", "compare", "diff" ], "galleryBanner": { "color": "#56098c", "theme": "dark" }, "icon": "images/gitlens-icon.svg", "preview": false, "homepage": "https://github.com/eamodio/vscode-gitlens/blob/master/README.md", "bugs": { "url": "https://github.com/eamodio/vscode-gitlens/issues" }, "repository": { "type": "git", "url": "https://github.com/eamodio/vscode-gitlens.git" }, "main": "./out/src/extension", "contributes": { "configuration": { "type": "object", "title": "GitLens configuration", "properties": { "gitlens.blame.annotation.style": { "type": "string", "default": "expanded", "enum": [ "compact", "expanded", "trailing" ], "description": "Specifies the style of the blame annotations. `compact` - groups annotations to limit the repetition and also adds author and date when possible. `expanded` - shows an annotation before every line. `trailing` - shows an annotation after every line" }, "gitlens.blame.annotation.highlight": { "type": "string", "default": "both", "enum": [ "none", "gutter", "line", "both" ], "description": "Specifies whether and how to highlight blame annotations. `none` - no highlight. `gutter` - adds a gutter icon. `line` - adds a full-line highlight. `both` - adds both `gutter` and `line` highlights" }, "gitlens.blame.annotation.sha": { "type": "boolean", "default": true, "description": "Specifies whether the commit id (sha) will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles" }, "gitlens.blame.annotation.author": { "type": "boolean", "default": true, "description": "Specifies whether the committer will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles" }, "gitlens.blame.annotation.date": { "type": "string", "default": "off", "enum": [ "off", "relative", "absolute" ], "description": "Specifies whether and how the commit date will be shown in the blame annotations. `off` - no date. `relative` - relative date (e.g. 1 day ago). `absolute` - date format specified by `gitlens.blame.annotation.dateFormat`. Applies only to the `expanded` & `trailing` annotation styles" }, "gitlens.blame.annotation.dateFormat": { "type": "string", "default": null, "description": "Specifies the date format of how absolute dates will be shown in the blame annotations. See https://momentjs.com/docs/#/displaying/format/ for valid formats" }, "gitlens.blame.annotation.message": { "type": "boolean", "default": false, "description": "Specifies whether the commit message will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles" }, "gitlens.blame.annotation.activeLine": { "type": "string", "default": "both", "enum": [ "off", "inline", "hover", "both" ], "description": "Specifies whether and how to show blame annotations on the active line. `off` - no annotation. `inline` - adds a trailing annotation to the active line. `hover` - adds hover annotation to the active line. `both` - adds both `inline` and `hover` annotations" }, "gitlens.blame.annotation.activeLineDarkColor": { "type": "string", "default": "rgba(153, 153, 153, 0.35)", "description": "Specifies the color of the active line blame annotation to use with a dark theme. Must be a valid css color" }, "gitlens.blame.annotation.activeLineLightColor": { "type": "string", "default": "rgba(153, 153, 153, 0.35)", "description": "Specifies the color of the active line blame annotation to use with a light theme. Must be a valid css color" }, "gitlens.codeLens.visibility": { "type": "string", "default": "auto", "enum": [ "auto", "ondemand", "off" ], "description": "Specifies when code lens will be shown in the active document. `auto` - always shown. `ondemand` - never shown, unless toggled via the `gitlens.toggleCodeLens` command. `off` - never shown" }, "gitlens.codeLens.location": { "type": "string", "default": "document+containers", "enum": [ "all", "document+containers", "document", "custom" ], "description": "Specifies where code lens will be rendered in the active document. `all` - render at the top of the document, on container-like (classes, modules, etc), and on member-like (methods, functions, properties, etc) lines. `document+containers` - render at the top of the document and on container-like lines. `document` - only render at the top of the document. `custom` - rendering controlled by `gitlens.codeLens.locationCustomSymbols`" }, "gitlens.codeLens.locationCustomSymbols": { "type": "array", "description": "Specifies the set of document symbols to render active document code lens on. Must be a member of `SymbolKind`" }, "gitlens.codeLens.languageLocations": { "type": "array", "default": [ { "language": "css", "location": "document" }, { "language": "html", "location": "document" }, { "language": "json", "location": "document" }, { "language": "less", "location": "document" }, { "language": "scss", "location": "document" }, { "language": "vue", "location": "document" } ], "items": { "type": "object", "required": [ "language", "location" ], "properties": { "language": { "type": "string", "description": "Specifies the language to which this code lens override applies" }, "location": { "type": "string", "default": "document+containers", "enum": [ "all", "document+containers", "document", "custom", "none" ], "description": "Specifies where code lens will be rendered in the active document for the specified language. `all` - render at the top of the document, on container-like (classes, modules, etc), and on member-like (methods, functions, properties, etc) lines. `document+containers` - render at the top of the document and on container-like lines. `document` - only render at the top of the document. `custom` - rendering controlled by `customSymbols`" }, "customSymbols": { "type": "string", "description": "Specifies the set of document symbols to render active document code lens on. Must be a member of `SymbolKind`" } } }, "uniqueItems": true, "enum": [ "all", "document+containers", "document", "custom" ], "description": "Specifies where code lens will be rendered in the active document for the specified languages" }, "gitlens.codeLens.recentChange.enabled": { "type": "boolean", "default": true, "description": "Specifies whether the recent change code lens is shown" }, "gitlens.codeLens.recentChange.command": { "type": "string", "default": "gitlens.showQuickCommitFileDetails", "enum": [ "gitlens.toggleBlame", "gitlens.showBlameHistory", "gitlens.showFileHistory", "gitlens.diffWithPrevious", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "description": "Specifies the command executed when the recent change code lens is clicked. `gitlens.toggleBlame` - toggles blame annotations. `gitlens.showBlameHistory` - opens the blame history explorer. `gitlens.showFileHistory` - opens the file history explorer. `gitlens.diffWithPrevious` - compares the current committed file with the previous commit. `gitlens.showQuickCommitDetails` - shows a commit details quick pick. `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick. `gitlens.showQuickFileHistory` - shows a file history quick pick. `gitlens.showQuickRepoHistory` - shows a branch history quick pick" }, "gitlens.codeLens.authors.enabled": { "type": "boolean", "default": true, "description": "Specifies whether the authors code lens is shown" }, "gitlens.codeLens.authors.command": { "type": "string", "default": "gitlens.toggleBlame", "enum": [ "gitlens.toggleBlame", "gitlens.showBlameHistory", "gitlens.showFileHistory", "gitlens.diffWithPrevious", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "description": "Specifies the command executed when the authors code lens is clicked. `gitlens.toggleBlame` - toggles blame annotations. `gitlens.showBlameHistory` - opens the blame history explorer. `gitlens.showFileHistory` - opens the file history explorer. `gitlens.diffWithPrevious` - compares the current committed file with the previous commit. `gitlens.showQuickCommitDetails` - shows a commit details quick pick. `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick. `gitlens.showQuickFileHistory` - shows a file history quick pick. `gitlens.showQuickRepoHistory` - shows a branch history quick pick" }, "gitlens.codeLens.debug": { "type": "boolean", "default": false, "description": "Specifies whether or not to show debug information in code lens" }, "gitlens.menus.diff.enabled": { "type": "boolean", "default": true, "description": "Specifies whether diff commands will be added to the context menus" }, "gitlens.statusBar.enabled": { "type": "boolean", "default": true, "description": "Specifies whether blame information is shown in the status bar" }, "gitlens.statusBar.command": { "type": "string", "default": "gitlens.showQuickCommitDetails", "enum": [ "gitlens.toggleBlame", "gitlens.showBlameHistory", "gitlens.showFileHistory", "gitlens.diffWithPrevious", "gitlens.toggleCodeLens", "gitlens.showQuickCommitDetails", "gitlens.showQuickCommitFileDetails", "gitlens.showQuickFileHistory", "gitlens.showQuickRepoHistory" ], "description": "Specifies the command executed when the blame status bar item is clicked. `gitlens.toggleBlame` - toggles blame annotations. `gitlens.showBlameHistory` - opens the blame history explorer. `gitlens.showFileHistory` - opens the file history explorer. `gitlens.diffWithPrevious` - compares the current committed file with the previous commit. `gitlens.toggleCodeLens` - toggles Git code lens. `gitlens.showQuickCommitDetails` - shows a commit details quick pick. `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick. `gitlens.showQuickFileHistory` - shows a file history quick pick. `gitlens.showQuickRepoHistory` - shows a branch history quick pick" }, "gitlens.statusBar.date": { "type": "string", "default": "relative", "enum": [ "off", "relative", "absolute" ], "description": "Specifies whether and how the commit date will be shown in the blame status bar. `off` - no date. `relative` - relative date (e.g. 1 day ago). `absolute` - date format specified by `gitlens.statusBar.dateFormat`" }, "gitlens.statusBar.dateFormat": { "type": "string", "default": null, "description": "Specifies the date format of how absolute dates will be shown in the blame status bar. See https://momentjs.com/docs/#/displaying/format/ for valid formats" }, "gitlens.advanced.caching.enabled": { "type": "boolean", "default": true, "description": "Specifies whether git blame output will be cached" }, "gitlens.advanced.caching.statusBar.maxLines": { "type": "number", "default": 0, "description": "Specifies whether status bar git blame output will be cached for larger documents" }, "gitlens.advanced.git": { "type": "string", "default": null, "description": "Specifies a git path to use" }, "gitlens.advanced.gitignore.enabled": { "type": "boolean", "default": true, "description": "Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files)" }, "gitlens.advanced.maxQuickHistory": { "type": "number", "default": 200, "description": "Specifies the maximum number of QuickPick history entries to show" }, "gitlens.advanced.quickPick.closeOnFocusOut": { "type": "boolean", "default": true, "description": "Specifies whether or not to close the QuickPick menu when focus is lost" }, "gitlens.advanced.toggleWhitespace.enabled": { "type": "boolean", "default": false, "description": "Specifies whether or not to toggle whitespace off then showing blame annotations (*may* be required by certain fonts/themes)" }, "gitlens.debug": { "type": "boolean", "default": false, "description": "Specifies debug mode" }, "gitlens.outputLevel": { "type": "string", "default": "silent", "enum": [ "silent", "errors", "verbose" ], "description": "Specifies how much (if any) output will be sent to the GitLens output channel" }, "gitlens.insiders": { "type": "boolean", "default": false, "description": "Specifies whether or not to enable new experimental features (expect there to be issues)" } } }, "commands": [ { "command": "gitlens.diffDirectory", "title": "Directory Compare", "category": "GitLens" }, { "command": "gitlens.diffWithBranch", "title": "Compare File with...", "category": "GitLens" }, { "command": "gitlens.diffWithNext", "title": "Compare File with Next Commit", "category": "GitLens" }, { "command": "gitlens.diffWithPrevious", "title": "Compare File with Previous Commit", "category": "GitLens" }, { "command": "gitlens.diffLineWithPrevious", "title": "Compare Line with Previous Commit", "category": "GitLens" }, { "command": "gitlens.diffWithWorking", "title": "Compare File with Working Tree", "category": "GitLens" }, { "command": "gitlens.diffLineWithWorking", "title": "Compare Line with Working Tree", "category": "GitLens" }, { "command": "gitlens.showBlame", "title": "Show Blame Annotations", "category": "GitLens" }, { "command": "gitlens.toggleBlame", "title": "Toggle Blame Annotations", "category": "GitLens", "icon": { "dark": "images/git-icon-dark.svg", "light": "images/git-icon-light.svg" } }, { "command": "gitlens.toggleCodeLens", "title": "Toggle Git Code Lens", "category": "GitLens" }, { "command": "gitlens.showBlameHistory", "title": "Open Blame History Explorer", "category": "GitLens" }, { "command": "gitlens.showCommitSearch", "title": "Search Commits", "category": "GitLens" }, { "command": "gitlens.showFileHistory", "title": "Open File History Explorer", "category": "GitLens" }, { "command": "gitlens.showLastQuickPick", "title": "Show Last Opened Quick Pick", "category": "GitLens" }, { "command": "gitlens.showQuickCommitDetails", "title": "Show Commit Details", "category": "GitLens" }, { "command": "gitlens.showQuickCommitFileDetails", "title": "Show Line Commit Details", "category": "GitLens" }, { "command": "gitlens.showQuickFileHistory", "title": "Show File History", "category": "GitLens" }, { "command": "gitlens.showQuickBranchHistory", "title": "Show Branch History", "category": "GitLens" }, { "command": "gitlens.showQuickRepoHistory", "title": "Show Current Branch History", "category": "GitLens" }, { "command": "gitlens.showQuickRepoStatus", "title": "Show Repository Status", "category": "GitLens" }, { "command": "gitlens.showQuickStashList", "title": "Show Stashed Changes", "category": "GitLens" }, { "command": "gitlens.copyShaToClipboard", "title": "Copy Commit ID to Clipboard", "category": "GitLens" }, { "command": "gitlens.copyMessageToClipboard", "title": "Copy Commit Message to Clipboard", "category": "GitLens" }, { "command": "gitlens.closeUnchangedFiles", "title": "Close Unchanged Files", "category": "GitLens" }, { "command": "gitlens.openChangedFiles", "title": "Open Changed Files", "category": "GitLens" }, { "command": "gitlens.openCommitInRemote", "title": "Open Line Commit in Remote", "category": "GitLens" }, { "command": "gitlens.openFileInRemote", "title": "Open File in Remote", "category": "GitLens" }, { "command": "gitlens.stashApply", "title": "Apply Stashed Changes", "category": "GitLens" }, { "command": "gitlens.stashSave", "title": "Stash Changes", "category": "GitLens" } ], "menus": { "commandPalette": [ { "command": "gitlens.diffDirectory", "when": "gitlens:enabled" }, { "command": "gitlens.diffWithBranch", "when": "gitlens:isTracked" }, { "command": "gitlens.diffWithNext", "when": "gitlens:isTracked" }, { "command": "gitlens.diffWithPrevious", "when": "gitlens:isTracked" }, { "command": "gitlens.diffLineWithPrevious", "when": "gitlens:isBlameable" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:isTracked" }, { "command": "gitlens.diffLineWithWorking", "when": "gitlens:isBlameable" }, { "command": "gitlens.showBlame", "when": "gitlens:isBlameable" }, { "command": "gitlens.toggleBlame", "when": "gitlens:isBlameable" }, { "command": "gitlens.toggleCodeLens", "when": "gitlens:isTracked && gitlens:canToggleCodeLens" }, { "command": "gitlens.showBlameHistory", "when": "gitlens:isBlameable" }, { "command": "gitlens.showFileHistory", "when": "gitlens:isTracked" }, { "command": "gitlens.showLastQuickPick", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickCommitDetails", "when": "gitlens:isBlameable" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "gitlens:isBlameable" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:isTracked" }, { "command": "gitlens.showQuickBranchHistory", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoHistory", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoStatus", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickStashList", "when": "gitlens:enabled" }, { "command": "gitlens.copyShaToClipboard", "when": "gitlens:isBlameable" }, { "command": "gitlens.copyMessageToClipboard", "when": "gitlens:isBlameable" }, { "command": "gitlens.closeUnchangedFiles", "when": "gitlens:enabled" }, { "command": "gitlens.openChangedFiles", "when": "gitlens:enabled" }, { "command": "gitlens.openCommitInRemote", "when": "gitlens:isBlameable && gitlens:hasRemotes" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:isTracked && gitlens:hasRemotes" }, { "command": "gitlens.stashApply", "when": "gitlens:enabled && config.gitlens.insiders" }, { "command": "gitlens.stashSave", "when": "gitlens:enabled && config.gitlens.insiders" } ], "explorer/context": [ { "command": "gitlens.diffWithPrevious", "when": "gitlens:enabled && config.gitlens.menus.diff.enabled", "group": "1_gitlens@1" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:enabled && config.gitlens.menus.diff.enabled", "group": "1_gitlens@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:enabled", "group": "1_gitlens_1@1" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:enabled", "group": "1_gitlens_1@2" } ], "editor/title": [ { "command": "gitlens.toggleBlame", "when": "gitlens:isBlameable", "group": "navigation@100" }, { "command": "gitlens.diffWithPrevious", "when": "editorTextFocus && gitlens:isTracked && config.gitlens.menus.diff.enabled", "group": "2_gitlens" }, { "command": "gitlens.diffWithWorking", "when": "editorTextFocus && gitlens:isTracked && config.gitlens.menus.diff.enabled", "group": "2_gitlens" }, { "command": "gitlens.showQuickFileHistory", "when": "editorFocus && gitlens:isTracked", "group": "2_gitlens_1" }, { "command": "gitlens.showQuickRepoHistory", "when": "!editorFocus && gitlens:enabled", "group": "2_gitlens_1" }, { "command": "gitlens.showQuickRepoStatus", "when": "gitlens:enabled", "group": "2_gitlens_1" } ], "editor/title/context": [ { "command": "gitlens.diffWithPrevious", "when": "gitlens:enabled && config.gitlens.menus.diff.enabled", "group": "1_gitlens@1" }, { "command": "gitlens.diffWithWorking", "when": "gitlens:enabled && config.gitlens.menus.diff.enabled", "group": "1_gitlens@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:enabled", "group": "1_gitlens_1@1" }, { "command": "gitlens.toggleBlame", "when": "gitlens:enabled", "group": "1_gitlens_1@2" }, { "command": "gitlens.openFileInRemote", "when": "gitlens:enabled", "group": "1_gitlens_1@3" } ], "editor/context": [ { "command": "gitlens.diffLineWithPrevious", "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.menus.diff.enabled", "group": "1_gitlens@1" }, { "command": "gitlens.diffLineWithWorking", "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.menus.diff.enabled", "group": "1_gitlens@2" }, { "command": "gitlens.showQuickCommitFileDetails", "when": "editorTextFocus && gitlens:isBlameable", "group": "1_gitlens@3" }, { "command": "gitlens.diffWithPrevious", "when": "editorTextFocus && gitlens:isTracked && config.gitlens.menus.diff.enabled", "group": "1_gitlens_1@1" }, { "command": "gitlens.diffWithWorking", "when": "editorTextFocus && gitlens:isTracked && config.gitlens.menus.diff.enabled", "group": "1_gitlens_1@2" }, { "command": "gitlens.showQuickFileHistory", "when": "gitlens:isTracked", "group": "2_gitlens@1" }, { "command": "gitlens.toggleBlame", "when": "editorTextFocus && gitlens:isBlameable", "group": "2_gitlens@2" }, { "command": "gitlens.openFileInRemote", "when": "editorTextFocus && gitlens:isTracked && gitlens:hasRemotes", "group": "2_gitlens@3" }, { "command": "gitlens.copyShaToClipboard", "when": "editorTextFocus && gitlens:isBlameable", "group": "9_gitlens@1" }, { "command": "gitlens.copyMessageToClipboard", "when": "editorTextFocus && gitlens:isBlameable", "group": "9_gitlens@2" } ] }, "keybindings": [ { "command": "gitlens.key.left", "key": "alt+left", "when": "gitlens:key:left" }, { "command": "gitlens.key.right", "key": "alt+right", "when": "gitlens:key:right" }, { "command": "gitlens.key.,", "key": "alt+,", "when": "gitlens:key:," }, { "command": "gitlens.key..", "key": "alt+.", "when": "gitlens:key:." }, { "command": "gitlens.toggleBlame", "key": "alt+b", "mac": "alt+b", "when": "editorTextFocus && gitlens:isTracked" }, { "command": "gitlens.toggleCodeLens", "key": "shift+alt+b", "mac": "shift+alt+b", "when": "editorTextFocus && gitlens:isTracked && gitlens:canToggleCodeLens" }, { "command": "gitlens.showLastQuickPick", "key": "alt+-", "mac": "alt+-", "when": "gitlens:enabled" }, { "command": "gitlens.showCommitSearch", "key": "alt+f", "mac": "alt+f", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickFileHistory", "key": "alt+h", "mac": "alt+h", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoHistory", "key": "shift+alt+h", "mac": "shift+alt+h", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickRepoStatus", "key": "alt+s", "mac": "alt+s", "when": "gitlens:enabled" }, { "command": "gitlens.showQuickCommitFileDetails", "key": "alt+c", "mac": "alt+c", "when": "editorTextFocus && gitlens:enabled" }, { "command": "gitlens.diffWithNext", "key": "alt+.", "mac": "alt+.", "when": "editorTextFocus && gitlens:isTracked" }, { "command": "gitlens.diffLineWithPrevious", "key": "shift+alt+,", "mac": "shift+alt+,", "when": "editorTextFocus && gitlens:isTracked" }, { "command": "gitlens.diffWithPrevious", "key": "alt+,", "mac": "alt+,", "when": "editorTextFocus && gitlens:isTracked" }, { "command": "gitlens.diffLineWithWorking", "key": "alt+w", "mac": "alt+w", "when": "editorTextFocus && gitlens:isTracked" }, { "command": "gitlens.diffWithWorking", "key": "shift+alt+w", "mac": "shift+alt+w", "when": "editorTextFocus && gitlens:isTracked" } ] }, "activationEvents": [ "*" ], "scripts": { "compile": "npm run lint && tsc -p ./", "watch": "tsc -watch -p ./", "lint": "tslint --project tslint.json", "pack": "git clean -xdf --exclude=node_modules/ && vsce package", "postinstall": "node ./node_modules/vscode/bin/install", "pub": "git clean -xdf && vsce publish", "vscode:prepublish": "npm install && npm run compile" }, "dependencies": { "applicationinsights": "0.19.0", "copy-paste": "1.3.0", "ignore": "3.2.7", "lodash.debounce": "4.0.8", "lodash.escaperegexp": "4.1.2", "lodash.isequal": "4.5.0", "lodash.once": "4.1.1", "moment": "2.18.1", "spawn-rx": "2.0.10", "tmp": "0.0.31" }, "devDependencies": { "@types/applicationinsights": "0.15.33", "@types/copy-paste": "1.1.30", "@types/mocha": "2.2.41", "@types/node": "7.0.14", "@types/tmp": "0.0.32", "mocha": "3.3.0", "tslint": "5.1.0", "typescript": "2.3.2", "vscode": "1.1.0" } }