iterative/vscode-dvc

View on GitHub
extension/package.json

Summary

Maintainability
Test Coverage
{
  "name": "dvc",
  "private": true,
  "preview": false,
  "displayName": "DVC",
  "description": "Machine learning experiment management with tracking, plots, and data versioning.",
  "publisher": "iterative",
  "icon": "docs/dvc.png",
  "extensionDependencies": [
    "vscode.git"
  ],
  "version": "1.2.14",
  "license": "Apache-2.0",
  "readme": "./README.md",
  "repository": {
    "type": "git",
    "url": "https://github.com/iterative/vscode-dvc"
  },
  "bugs": "https://github.com/iterative/vscode-dvc",
  "homepage": "https://github.com/iterative/vscode-dvc#readme",
  "keywords": [
    "iterative",
    "data version control",
    "plots",
    "experiment tracking",
    "hyperparameters",
    "dataset",
    "dvc"
  ],
  "categories": [
    "Machine Learning",
    "Data Science",
    "Visualization",
    "SCM Providers",
    "Snippets"
  ],
  "galleryBanner": {
    "color": "#333",
    "theme": "dark"
  },
  "engines": {
    "vscode": "^1.75.0",
    "node": ">=16.13.0"
  },
  "activationEvents": [
    "onStartupFinished",
    "workspaceContains:**/*dvc*"
  ],
  "main": "./dist/extension.js",
  "capabilities": {
    "untrustedWorkspaces": {
      "supported": false,
      "description": "This extension depends on the vscode.git extension, which is disabled in Restricted Mode."
    }
  },
  "contributes": {
    "colors": [
      {
        "id": "dvc.deps",
        "description": "Color to indicate a DVC dep column in the experiments table",
        "defaults": {
          "dark": "#b079e7",
          "light": "#4f1886"
        }
      },
      {
        "id": "dvc.metrics",
        "description": "Color to indicate a DVC metric column in the experiments table",
        "defaults": {
          "dark": "#fbd38d",
          "light": "#714904"
        }
      },
      {
        "id": "dvc.params",
        "description": "Color to indicate a DVC param column in the experiments table",
        "defaults": {
          "dark": "#90cdf4",
          "light": "#0b496f"
        }
      },
      {
        "id": "dvc.workspaceChanged",
        "description": "Color used in the experiments table to highlight a value in the workspace that differs from the latest committed value",
        "defaults": {
          "dark": "gitDecoration.modifiedResourceForeground",
          "light": "gitDecoration.modifiedResourceForeground"
        }
      }
    ],
    "commands": [
      {
        "title": "Add Filter To Experiments Table",
        "command": "dvc.addExperimentsTableFilter",
        "category": "DVC",
        "icon": "$(add)"
      },
      {
        "title": "Add Or Update Sort On Experiments Table",
        "command": "dvc.addExperimentsTableSort",
        "category": "DVC",
        "icon": "$(add)"
      },
      {
        "title": "Add Remote",
        "command": "dvc.addRemote",
        "category": "DVC",
        "icon": "$(add)"
      },
      {
        "title": "Filter Experiments Table to Starred",
        "command": "dvc.addStarredExperimentsTableFilter",
        "category": "DVC",
        "icon": "$(star-full)"
      },
      {
        "title": "Sort Experiments Table by Starred",
        "command": "dvc.addStarredExperimentsTableSort",
        "category": "DVC",
        "icon": "$(star-full)"
      },
      {
        "title": "Add Studio Access Token",
        "command": "dvc.addStudioAccessToken",
        "category": "DVC"
      },
      {
        "title": "Add Self-Hosted Studio URL",
        "command": "dvc.addStudioUrl",
        "category": "DVC"
      },
      {
        "title": "Add",
        "command": "dvc.addTarget",
        "category": "DVC",
        "icon": "$(add)"
      },
      {
        "title": "Apply Experiment to Workspace",
        "command": "dvc.applyExperiment",
        "category": "DVC"
      },
      {
        "title": "Create new Branch from Experiment",
        "command": "dvc.branchExperiment",
        "category": "DVC"
      },
      {
        "title": "Checkout",
        "command": "dvc.checkout",
        "category": "DVC",
        "icon": "$(discard)"
      },
      {
        "title": "Check CLI Compatible",
        "command": "dvc.checkCLICompatible",
        "category": "DVC"
      },
      {
        "title": "Checkout",
        "command": "dvc.checkoutTarget",
        "category": "DVC",
        "icon": "$(discard)"
      },
      {
        "title": "Commit",
        "command": "dvc.commit",
        "category": "DVC",
        "icon": "$(check)"
      },
      {
        "title": "Commit",
        "command": "dvc.commitTarget",
        "category": "DVC",
        "icon": "$(check)"
      },
      {
        "title": "Compare with Selected",
        "command": "dvc.compareSelected",
        "category": "DVC"
      },
      {
        "title": "Copy Path",
        "command": "dvc.copyFilePath",
        "category": "DVC"
      },
      {
        "title": "Copy Relative Path",
        "command": "dvc.copyRelativeFilePath",
        "category": "DVC"
      },
      {
        "title": "Delete",
        "command": "dvc.deleteTarget",
        "category": "DVC",
        "icon": "$(trash)"
      },
      {
        "title": "Discard Workspace Changes",
        "command": "dvc.discardWorkspaceChanges",
        "category": "DVC",
        "icon": "$(discard)"
      },
      {
        "title": "Find in Folder...",
        "command": "dvc.findInFolder",
        "category": "DVC"
      },
      {
        "title": "Get Started",
        "command": "dvc.getStarted",
        "category": "DVC"
      },
      {
        "title": "Stage All Git Tracked",
        "command": "dvc.gitStageAll",
        "category": "DVC",
        "icon": "$(add)"
      },
      {
        "title": "Unstage All Git Tracked",
        "command": "dvc.gitUnstageAll",
        "category": "DVC",
        "icon": "$(remove)"
      },
      {
        "title": "Initialize a DVC Project",
        "command": "dvc.init",
        "category": "DVC"
      },
      {
        "title": "Add Data",
        "command": "dvc.moveTargets",
        "category": "DVC"
      },
      {
        "title": "Open to the Side",
        "command": "dvc.openToTheSide",
        "category": "DVC"
      },
      {
        "title": "Pull",
        "command": "dvc.pull",
        "category": "DVC",
        "icon": "$(cloud-download)"
      },
      {
        "title": "Pull",
        "command": "dvc.pullTarget",
        "category": "DVC",
        "icon": "$(cloud-download)"
      },
      {
        "title": "Push",
        "command": "dvc.push",
        "category": "DVC",
        "icon": "$(cloud-upload)"
      },
      {
        "title": "Push",
        "command": "dvc.pushTarget",
        "category": "DVC",
        "icon": "$(cloud-upload)"
      },
      {
        "title": "Modify Workspace Param(s) and Queue",
        "command": "dvc.modifyWorkspaceParamsAndQueue",
        "category": "DVC",
        "icon": {
          "dark": "resources/dark/queue-experiment.svg",
          "light": "resources/light/queue-experiment.svg"
        }
      },
      {
        "title": "Modify Workspace Param(s) and Run",
        "command": "dvc.modifyWorkspaceParamsAndRun",
        "category": "DVC",
        "icon": "$(play)"
      },
      {
        "title": "Modify Remote",
        "command": "dvc.modifyRemote",
        "category": "DVC",
        "icon": "$(database)"
      },
      {
        "title": "Queue Experiment",
        "command": "dvc.queueExperiment",
        "category": "DVC",
        "icon": {
          "dark": "resources/dark/queue-experiment.svg",
          "light": "resources/light/queue-experiment.svg"
        }
      },
      {
        "title": "Push Experiment(s)",
        "command": "dvc.pushExperiments",
        "category": "DVC"
      },
      {
        "title": "Remove Experiment(s)",
        "command": "dvc.removeExperiments",
        "category": "DVC"
      },
      {
        "title": "Remove All Queued Experiments",
        "command": "dvc.removeExperimentQueue",
        "category": "DVC"
      },
      {
        "title": "Remove Filter(s) from Experiments Table",
        "command": "dvc.removeExperimentsTableFilters",
        "category": "DVC"
      },
      {
        "title": "Remove Sort(s) from Experiments Table",
        "command": "dvc.removeExperimentsTableSorts",
        "category": "DVC",
        "icon": "$(close-all)"
      },
      {
        "title": "Remove Remote",
        "command": "dvc.removeRemote",
        "category": "DVC",
        "icon": "$(trash)"
      },
      {
        "title": "Remove Studio Access Token",
        "command": "dvc.removeStudioAccessToken",
        "category": "DVC"
      },
      {
        "title": "Remove",
        "command": "dvc.removeTarget",
        "category": "DVC",
        "icon": "$(discard)"
      },
      {
        "title": "Run Experiment",
        "command": "dvc.runExperiment",
        "category": "DVC",
        "icon": "$(play)"
      },
      {
        "title": "Start Processing Queued Experiments",
        "command": "dvc.startExperimentsQueue",
        "category": "DVC",
        "icon": "$(run-all)"
      },
      {
        "title": "Stop Processing Queued Experiments Gracefully (Complete Running)",
        "command": "dvc.stopExperimentsQueue",
        "category": "DVC"
      },
      {
        "title": "Stop Running Experiment(s)",
        "command": "dvc.stopExperiments",
        "category": "DVC"
      },
      {
        "title": "Remove Self-Hosted Studio URL",
        "command": "dvc.removeStudioUrl",
        "category": "DVC"
      },
      {
        "title": "Select for Compare",
        "command": "dvc.selectForCompare",
        "category": "DVC"
      },
      {
        "title": "Select Project(s) to Focus (set dvc.focusedProjects)",
        "command": "dvc.selectFocusedProjects",
        "category": "DVC"
      },
      {
        "title": "Setup the Workspace",
        "command": "dvc.setupWorkspace",
        "category": "DVC"
      },
      {
        "title": "Show Commands",
        "command": "dvc.showCommands",
        "category": "DVC"
      },
      {
        "title": "Show Experiments",
        "command": "dvc.showExperiments",
        "category": "DVC",
        "icon": "$(beaker)"
      },
      {
        "title": "Show DVC Output",
        "command": "dvc.showOutput",
        "category": "DVC"
      },
      {
        "title": "Show Pipeline DAG",
        "command": "dvc.showPipelineDAG",
        "category": "DVC",
        "icon": "$(symbol-class)"
      },
      {
        "title": "Add Plot",
        "command": "dvc.addPlot",
        "category": "DVC",
        "icon": "$(add)"
      },
      {
        "title": "Show Plots",
        "command": "dvc.showPlots",
        "category": "DVC",
        "icon": "$(graph-scatter)"
      },
      {
        "title": "Show Experiments and Plots",
        "command": "dvc.showExperimentsAndPlots",
        "category": "DVC"
      },
      {
        "title": "Connect to Studio",
        "command": "dvc.showStudioConnect",
        "category": "DVC"
      },
      {
        "title": "Show Studio Settings",
        "command": "dvc.showStudioSettings",
        "category": "DVC"
      },
      {
        "title": "Show Setup",
        "command": "dvc.showSetup",
        "category": "DVC"
      },
      {
        "title": "Update Studio Access Token",
        "command": "dvc.updateStudioAccessToken",
        "category": "DVC"
      },
      {
        "title": "Update Self-Hosted Studio URL",
        "command": "dvc.updateStudioUrl",
        "category": "DVC"
      },
      {
        "title": "Refresh Experiments",
        "command": "dvc.views.experiments.refresh",
        "category": "DVC",
        "icon": "$(refresh)"
      },
      {
        "title": "Stop",
        "command": "dvc.views.experimentsTree.stopExperiment",
        "category": "DVC",
        "icon": "$(debug-stop)"
      },
      {
        "title": "Stop",
        "command": "dvc.views.experiments.stopExperiment",
        "category": "DVC",
        "icon": "$(debug-stop)"
      },
      {
        "title": "Stop All Running Experiments",
        "command": "dvc.stopAllRunningExperiments",
        "category": "DVC",
        "icon": "$(debug-stop)"
      },
      {
        "title": "Remove All Filters from Experiments Table",
        "command": "dvc.views.experimentsFilterByTree.removeAllFilters",
        "category": "DVC",
        "icon": "$(close-all)"
      },
      {
        "title": "Remove Filter from Experiments Table",
        "command": "dvc.views.experimentsFilterByTree.removeFilter",
        "category": "DVC",
        "icon": "$(close)"
      },
      {
        "title": "Remove All Sorts from Experiments Table",
        "command": "dvc.views.experimentsSortByTree.removeAllSorts",
        "category": "DVC",
        "icon": "$(close-all)"
      },
      {
        "title": "Remove Sort from Experiments Table",
        "command": "dvc.views.experimentsSortByTree.removeSort",
        "category": "DVC",
        "icon": "$(close)"
      },
      {
        "title": "Apply to Workspace",
        "command": "dvc.views.experiments.applyExperiment",
        "category": "DVC",
        "icon": "$(merge)"
      },
      {
        "title": "Create new Branch",
        "command": "dvc.views.experiments.branchExperiment",
        "category": "DVC",
        "icon": "$(source-control)"
      },
      {
        "title": "Modify Param(s) and Queue",
        "command": "dvc.views.experiments.queueExperiment",
        "category": "DVC",
        "icon": {
          "dark": "resources/dark/queue-experiment.svg",
          "light": "resources/light/queue-experiment.svg"
        }
      },
      {
        "title": "Remove",
        "command": "dvc.views.experimentsTree.removeExperiment",
        "category": "DVC",
        "icon": "$(trash)"
      },
      {
        "title": "Remove",
        "command": "dvc.views.experiments.removeExperiment",
        "category": "DVC",
        "icon": "$(trash)"
      },
      {
        "title": "Modify Param(s) and Run",
        "command": "dvc.views.experiments.runExperiment",
        "category": "DVC",
        "icon": "$(play)"
      },
      {
        "title": "Push",
        "command": "dvc.views.experiments.pushExperiment",
        "category": "DVC",
        "icon": "$(repo-push)"
      },
      {
        "title": "Push",
        "command": "dvc.views.experimentsTree.pushExperiment",
        "category": "DVC",
        "icon": "$(repo-push)"
      },
      {
        "title": "Show Logs",
        "command": "dvc.views.experiments.showLogs",
        "category": "DVC"
      },
      {
        "title": "Select Experiments to Display in Plots",
        "command": "dvc.views.experimentsTree.selectExperiments",
        "category": "DVC",
        "icon": "$(list-filter)"
      },
      {
        "title": "Select Columns to Display in the Experiments Table",
        "command": "dvc.views.experiments.selectColumns",
        "category": "DVC",
        "icon": "$(list-filter)"
      },
      {
        "title": "Select Columns to Display First in the Experiments Table",
        "command": "dvc.views.experiments.selectFirstColumns",
        "category": "DVC",
        "icon": "$(arrow-left)"
      },
      {
        "title": "Select Plots to Display",
        "command": "dvc.views.plotsPathsTree.selectPlots",
        "category": "DVC",
        "icon": "$(list-filter)"
      },
      {
        "title": "Refresh Plots for Selected Experiments",
        "command": "dvc.views.plots.refreshPlots",
        "category": "DVC",
        "icon": "$(refresh)"
      },
      {
        "title": "Remove Custom Plot(s)",
        "command": "dvc.views.plots.removeCustomPlots",
        "category": "DVC"
      },
      {
        "title": "Reset Persisted State and Reload Window",
        "command": "dvc.resetState",
        "category": "DVC"
      }
    ],
    "configuration": {
      "title": "DVC",
      "properties": {
        "dvc.doNotInformMaxExperimentsPlotted": {
          "description": "Do not inform when plotting more experiments is blocked (maximum number selected).",
          "type": "boolean",
          "default": null
        },
        "dvc.doNotRecommendRedHatExtension": {
          "description": "Do not prompt to install the Red Hat YAML extension, which helps with DVC YAML schema validation.",
          "type": "boolean",
          "default": null
        },
        "dvc.doNotRecommendMermaidSupportExtension": {
          "description": "Do not prompt to install the Markdown Preview Mermaid Support extension, which helps to visualize DVC pipeline DAGs",
          "type": "boolean",
          "default": null
        },
        "dvc.doNotRecommendAddStudioToken": {
          "description": "Do not prompt to add a studio.token to the global DVC config, which enables automatic sharing of experiments to Studio.",
          "type": "boolean",
          "default": null
        },
        "dvc.doNotShowCliUnavailable": {
          "description": "Do not warn when the workspace contains a DVC project but the DVC binary is unavailable.",
          "type": "boolean",
          "default": null
        },
        "dvc.doNotShowSetupAfterInstall": {
          "description": "Do not prompt to show the setup page after installing. Useful for pre-configured development environments.",
          "type": "boolean",
          "default": null
        },
        "dvc.dvcPath": {
          "description": "Path or shell command to the DVC binary. Required unless Microsoft's Python extension is installed and the `dvc` package found in its environment.",
          "type": "string",
          "default": null
        },
        "dvc.experimentsTableHeadMaxHeight": {
          "description": "Maximum height of Experiment table head rows. Use 0 for infinite height.",
          "type": "number",
          "default": 5
        },
        "dvc.focusedProjects": {
          "description": "A subset of paths to the workspace's available DVC projects. Using this option will override project auto-discovery. Only absolute paths inside of the workspace will be included. All other DVC projects in the workspace will be ignored.",
          "type": [
            "string",
            "array",
            "null"
          ],
          "default": null
        },
        "dvc.pythonPath": {
          "description": "Path to the desired Python interpreter to use with DVC. Required when using a virtual environment. Overrides any other extension's settings for this extension's purposes.",
          "type": "string",
          "default": null
        }
      }
    },
    "languages": [
      {
        "id": "yaml",
        "extensions": [
          ".dvc"
        ],
        "filenames": [
          "dvc.lock"
        ]
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "dvc.addExperimentsTableFilter",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.addExperimentsTableSort",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.addRemote",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.addStarredExperimentsTableFilter",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.addStarredExperimentsTableSort",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.addStudioAccessToken",
          "when": "dvc.commands.available && dvc.project.available && !dvc.studio.connected"
        },
        {
          "command": "dvc.addStudioUrl",
          "when": "dvc.commands.available && dvc.project.available && !dvc.studio.selfhosted"
        },
        {
          "command": "dvc.addTarget",
          "when": "false"
        },
        {
          "command": "dvc.applyExperiment",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.branchExperiment",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.checkout",
          "when": "dvc.commands.available && dvc.project.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.checkCLICompatible",
          "when": "dvc.cli.incompatible"
        },
        {
          "command": "dvc.checkoutTarget",
          "when": "false"
        },
        {
          "command": "dvc.commit",
          "when": "dvc.commands.available && dvc.project.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.commitTarget",
          "when": "false"
        },
        {
          "command": "dvc.compareSelected",
          "when": "false"
        },
        {
          "command": "dvc.copyFilePath",
          "when": "false"
        },
        {
          "command": "dvc.copyRelativeFilePath",
          "when": "false"
        },
        {
          "command": "dvc.deleteTarget",
          "when": "false"
        },
        {
          "command": "dvc.findInFolder",
          "when": "false"
        },
        {
          "command": "dvc.gitStageAll",
          "when": "false"
        },
        {
          "command": "dvc.gitUnstageAll",
          "when": "false"
        },
        {
          "command": "dvc.init",
          "when": "dvc.commands.available && !dvc.cli.incompatible && !dvc.project.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.modifyRemote",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.moveTargets",
          "when": "false"
        },
        {
          "command": "dvc.openToTheSide",
          "when": "false"
        },
        {
          "command": "dvc.pull",
          "when": "dvc.commands.available && dvc.project.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.pullTarget",
          "when": "false"
        },
        {
          "command": "dvc.push",
          "when": "dvc.commands.available && dvc.project.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.pushTarget",
          "when": "false"
        },
        {
          "command": "dvc.modifyWorkspaceParamsAndQueue",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.modifyWorkspaceParamsAndRun",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.pushExperiments",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.queueExperiment",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.removeExperiments",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.removeExperimentQueue",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.removeExperimentsTableFilters",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.removeExperimentsTableSorts",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.removeRemote",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.removeStudioAccessToken",
          "when": "dvc.commands.available && dvc.project.available && dvc.studio.connected"
        },
        {
          "command": "dvc.removeStudioUrl",
          "when": "dvc.commands.available && dvc.project.available && dvc.studio.selfhosted"
        },
        {
          "command": "dvc.removeTarget",
          "when": "false"
        },
        {
          "command": "dvc.discardWorkspaceChanges",
          "when": "dvc.commands.available && dvc.project.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.runExperiment",
          "when": "dvc.commands.available && dvc.project.available && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.startExperimentsQueue",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.stopExperimentsQueue",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.stopExperiments",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.selectForCompare",
          "when": "false"
        },
        {
          "command": "dvc.selectFocusedProjects",
          "when": "dvc.commands.available && dvc.project.available && dvc.multiple.projects"
        },
        {
          "command": "dvc.showCommands",
          "when": "false"
        },
        {
          "command": "dvc.showPipelineDAG",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.addPlot",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.showExperiments",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.showPlots",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.showExperimentsAndPlots",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.showStudioConnect",
          "when": "dvc.commands.available && dvc.project.available && !dvc.studio.connected"
        },
        {
          "command": "dvc.showStudioSettings",
          "when": "dvc.commands.available && dvc.project.available && dvc.studio.connected"
        },
        {
          "command": "dvc.stopAllRunningExperiments",
          "when": "dvc.commands.available && dvc.project.available && dvc.experiment.running"
        },
        {
          "command": "dvc.updateStudioAccessToken",
          "when": "dvc.commands.available && dvc.project.available && dvc.studio.connected"
        },
        {
          "command": "dvc.updateStudioUrl",
          "when": "dvc.commands.available && dvc.project.available && dvc.studio.selfhosted"
        },
        {
          "command": "dvc.views.experiments.selectColumns",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.views.experiments.selectFirstColumns",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.views.experiments.applyExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.branchExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.pushExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsTree.pushExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.queueExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsTree.removeExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.refresh",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.removeExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.runExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.showLogs",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsTree.stopExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experiments.stopExperiment",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsFilterByTree.removeAllFilters",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsFilterByTree.removeFilter",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsSortByTree.removeAllSorts",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsSortByTree.removeSort",
          "when": "false"
        },
        {
          "command": "dvc.views.experimentsTree.selectExperiments",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.views.plotsPathsTree.selectPlots",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.views.plots.refreshPlots",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.views.plots.removeCustomPlots",
          "when": "dvc.commands.available && dvc.project.available"
        }
      ],
      "scm/title": [
        {
          "command": "dvc.discardWorkspaceChanges",
          "group": "navigation@1",
          "when": "scmProvider == dvc && dvc.commands.available"
        },
        {
          "command": "dvc.commit",
          "group": "navigation@2",
          "when": "scmProvider == dvc && dvc.commands.available"
        },
        {
          "command": "dvc.pull",
          "group": "navigation@3",
          "when": "scmProvider == dvc && dvc.commands.available"
        },
        {
          "command": "dvc.push",
          "group": "navigation@4",
          "when": "scmProvider == dvc && dvc.commands.available"
        },
        {
          "command": "dvc.checkout",
          "group": "1_DVC",
          "when": "scmProvider == dvc && dvc.commands.available"
        },
        {
          "command": "dvc.showOutput",
          "group": "3_footer",
          "when": "scmProvider == dvc"
        }
      ],
      "scm/resourceState/context": [
        {
          "command": "dvc.addTarget",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == untracked && dvc.commands.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.removeTarget",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceState =~ /^.*?Added$/ && dvc.commands.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.checkoutTarget",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == uncommitted && scmResourceState != uncommittedUnknown && scmResourceState != notInCache && dvc.commands.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.commitTarget",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == uncommitted && dvc.commands.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.pullTarget",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == notInCache && dvc.commands.available && !dvc.scm.command.running"
        }
      ],
      "scm/resourceGroup/context": [
        {
          "command": "dvc.checkout",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == uncommitted && dvc.commands.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.commit",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == uncommitted && dvc.commands.available && !dvc.scm.command.running"
        },
        {
          "command": "dvc.gitStageAll",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == committed"
        },
        {
          "command": "dvc.gitUnstageAll",
          "group": "inline",
          "when": "scmProvider == dvc && scmResourceGroup == committed"
        }
      ],
      "editor/title": [
        {
          "command": "dvc.stopAllRunningExperiments",
          "group": "navigation@0",
          "when": "dvc.experiments.file.active && dvc.experiment.running && dvc.commands.available"
        },
        {
          "command": "dvc.stopAllRunningExperiments",
          "group": "navigation@0",
          "when": "dvc.experiments.webview.active && dvc.experiment.running && dvc.commands.available"
        },
        {
          "command": "dvc.showPipelineDAG",
          "group": "navigation@0",
          "when": "dvc.pipeline.file.active && dvc.commands.available && dvc.project.available"
        },
        {
          "command": "dvc.runExperiment",
          "group": "navigation@1",
          "when": "dvc.experiments.file.active && !dvc.experiment.running.workspace && dvc.commands.available"
        },
        {
          "command": "dvc.runExperiment",
          "group": "navigation@1",
          "when": "dvc.experiments.webview.active && !dvc.experiment.running.workspace && dvc.commands.available"
        },
        {
          "command": "dvc.startExperimentsQueue",
          "group": "navigation@4",
          "when": "dvc.experiments.webview.active && dvc.commands.available"
        },
        {
          "command": "dvc.startExperimentsQueue",
          "group": "navigation@4",
          "when": "dvc.experiments.file.active && dvc.commands.available"
        },
        {
          "command": "dvc.queueExperiment",
          "group": "navigation@5",
          "when": "dvc.experiments.webview.active && !dvc.experiment.running.workspace && dvc.commands.available"
        },
        {
          "command": "dvc.queueExperiment",
          "group": "navigation@5",
          "when": "dvc.experiments.file.active && !dvc.experiment.running.workspace && dvc.commands.available"
        }
      ],
      "view/item/context": [
        {
          "command": "dvc.openToTheSide",
          "group": "navigation",
          "when": "view == dvc.views.trackedExplorerTree && viewItem =~ /^file/"
        },
        {
          "command": "dvc.moveTargets",
          "group": "1_DVC@1",
          "when": "view == dvc.views.trackedExplorerTree && viewItem =~ /^dirData$/ && !dvc.scm.command.running"
        },
        {
          "command": "dvc.pullTarget",
          "group": "1_DVC@2",
          "when": "view == dvc.views.trackedExplorerTree && !dvc.scm.command.running"
        },
        {
          "command": "dvc.pushTarget",
          "group": "1_DVC@3",
          "when": "view == dvc.views.trackedExplorerTree && viewItem != virtual && !dvc.scm.command.running"
        },
        {
          "command": "dvc.compareSelected",
          "group": "3_compare@1",
          "when": "view == dvc.views.trackedExplorerTree && viewItem =~ /^file/ && resourceSelectedForCompare"
        },
        {
          "command": "dvc.selectForCompare",
          "group": "3_compare@2",
          "when": "view == dvc.views.trackedExplorerTree && viewItem =~ /^file/"
        },
        {
          "command": "dvc.findInFolder",
          "group": "4_search",
          "when": "view == dvc.views.trackedExplorerTree && viewItem =~ /^dir/"
        },
        {
          "command": "dvc.copyFilePath",
          "group": "6_copypath@1",
          "when": "view == dvc.views.trackedExplorerTree"
        },
        {
          "command": "dvc.copyRelativeFilePath",
          "group": "6_copypath@2",
          "when": "view == dvc.views.trackedExplorerTree"
        },
        {
          "command": "dvc.deleteTarget",
          "group": "7_modification@2",
          "when": "view == dvc.views.trackedExplorerTree && viewItem != virtual"
        },
        {
          "command": "dvc.removeTarget",
          "group": "7_modification@2",
          "when": "view == dvc.views.trackedExplorerTree && viewItem =~ /^.*Data$/ && !dvc.scm.command.running"
        },
        {
          "command": "dvc.views.experimentsSortByTree.removeSort",
          "group": "inline",
          "when": "view == dvc.views.experimentsSortByTree && dvc.commands.available && viewItem != dvcRoot"
        },
        {
          "command": "dvc.views.experimentsFilterByTree.removeFilter",
          "group": "inline",
          "when": "view == dvc.views.experimentsFilterByTree && dvc.commands.available && viewItem != dvcRoot"
        },
        {
          "command": "dvc.views.experimentsTree.stopExperiment",
          "group": "inline@0",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem == running"
        },
        {
          "command": "dvc.views.experiments.applyExperiment",
          "group": "inline@1",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem =~ /^(experiment|commit)$/ && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.views.experiments.branchExperiment",
          "group": "inline@2",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem =~ /^(experiment|commit)$/ && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.views.experiments.refresh",
          "group": "inline",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem == cliError"
        },
        {
          "command": "dvc.views.experimentsTree.removeExperiment",
          "group": "inline@3",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem =~ /^(experiment|queued)$/ && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.views.experimentsTree.pushExperiment",
          "group": "1_share@0",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem == experiment && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.views.experiments.runExperiment",
          "group": "2_modify@1",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem == workspace && !dvc.experiment.running.workspace"
        },
        {
          "command": "dvc.views.experiments.queueExperiment",
          "group": "2_modify@3",
          "when": "view == dvc.views.experimentsTree && dvc.commands.available && viewItem == workspace && !dvc.experiment.running.workspace"
        }
      ],
      "view/title": [
        {
          "command": "dvc.pull",
          "when": "view == dvc.views.trackedExplorerTree",
          "group": "navigation@1"
        },
        {
          "command": "dvc.push",
          "when": "view == dvc.views.trackedExplorerTree",
          "group": "navigation@2"
        },
        {
          "command": "dvc.views.experiments.selectColumns",
          "when": "view == dvc.views.experimentsColumnsTree",
          "group": "navigation@2"
        },
        {
          "command": "dvc.views.experiments.selectFirstColumns",
          "when": "view == dvc.views.experimentsColumnsTree",
          "group": "navigation@3"
        },
        {
          "command": "dvc.stopAllRunningExperiments",
          "when": "view == dvc.views.experimentsTree && dvc.experiments.webview.active && dvc.experiment.running",
          "group": "navigation@0"
        },
        {
          "command": "dvc.runExperiment",
          "when": "view == dvc.views.experimentsTree && !dvc.experiment.running.workspace",
          "group": "navigation@1"
        },
        {
          "command": "dvc.stopAllRunningExperiments",
          "when": "view == dvc.views.experimentsTree && !dvc.experiments.webview.active && dvc.experiment.running",
          "group": "1_run@1"
        },
        {
          "command": "dvc.views.experimentsTree.selectExperiments",
          "when": "view == dvc.views.experimentsTree && dvc.plots.webview.active",
          "group": "navigation@3"
        },
        {
          "command": "dvc.showExperiments",
          "when": "view == dvc.views.experimentsTree",
          "group": "navigation@4"
        },
        {
          "command": "dvc.modifyWorkspaceParamsAndRun",
          "when": "view == dvc.views.experimentsTree && !dvc.experiment.running.workspace",
          "group": "2_modify@1"
        },
        {
          "command": "dvc.modifyWorkspaceParamsAndQueue",
          "when": "view == dvc.views.experimentsTree && !dvc.experiment.running.workspace",
          "group": "2_modify@3"
        },
        {
          "command": "dvc.queueExperiment",
          "when": "view == dvc.views.experimentsTree && !dvc.experiment.running.workspace",
          "group": "3_queue@1"
        },
        {
          "command": "dvc.startExperimentsQueue",
          "when": "view == dvc.views.experimentsTree",
          "group": "3_queue@2"
        },
        {
          "command": "dvc.stopExperimentsQueue",
          "when": "view == dvc.views.experimentsTree",
          "group": "3_queue@3"
        },
        {
          "command": "dvc.addExperimentsTableSort",
          "when": "view == dvc.views.experimentsSortByTree",
          "group": "navigation@1"
        },
        {
          "command": "dvc.addStarredExperimentsTableSort",
          "when": "view == dvc.views.experimentsSortByTree",
          "group": "navigation@2"
        },
        {
          "command": "dvc.views.experimentsSortByTree.removeAllSorts",
          "when": "view == dvc.views.experimentsSortByTree && dvc.experiments.sorted",
          "group": "navigation@3"
        },
        {
          "command": "dvc.addExperimentsTableFilter",
          "when": "view == dvc.views.experimentsFilterByTree",
          "group": "navigation@1"
        },
        {
          "command": "dvc.addStarredExperimentsTableFilter",
          "when": "view == dvc.views.experimentsFilterByTree",
          "group": "navigation@2"
        },
        {
          "command": "dvc.views.experimentsFilterByTree.removeAllFilters",
          "when": "view == dvc.views.experimentsFilterByTree && dvc.experiments.filtered",
          "group": "navigation@3"
        },
        {
          "command": "dvc.addPlot",
          "when": "view == dvc.views.plotsPathsTree",
          "group": "navigation@0"
        },
        {
          "command": "dvc.showPlots",
          "when": "view == dvc.views.plotsPathsTree",
          "group": "navigation@1"
        },
        {
          "command": "dvc.views.plotsPathsTree.selectPlots",
          "when": "view == dvc.views.plotsPathsTree",
          "group": "navigation@2"
        },
        {
          "command": "dvc.views.plots.refreshPlots",
          "when": "view == dvc.views.plotsPathsTree",
          "group": "navigation@3"
        }
      ]
    },
    "snippets": [
      {
        "language": "yaml",
        "path": "./snippets/dvc-yaml.code-snippets"
      },
      {
        "language": "python",
        "path": "./snippets/dvclive.code-snippets"
      }
    ],
    "viewsContainers": {
      "activitybar": [
        {
          "id": "dvc-views",
          "title": "DVC",
          "icon": "resources/dvc-monochrome.svg"
        }
      ]
    },
    "views": {
      "explorer": [
        {
          "id": "dvc.views.trackedExplorerTree",
          "name": "DVC Tracked",
          "when": "dvc.commands.available && dvc.project.available"
        }
      ],
      "dvc-views": [
        {
          "id": "dvc.views.welcome",
          "name": "Welcome",
          "when": "!dvc.commands.available || dvc.cli.incompatible || !dvc.project.available"
        },
        {
          "id": "dvc.views.actions",
          "name": "Actions",
          "when": "true"
        },
        {
          "id": "dvc.views.studio",
          "name": "DVC Studio",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "id": "dvc.views.experimentsColumnsTree",
          "name": "Columns",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "id": "dvc.views.experimentsTree",
          "name": "Experiments",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "id": "dvc.views.plotsPathsTree",
          "name": "Plots",
          "when": "dvc.commands.available && dvc.project.available"
        },
        {
          "id": "dvc.views.support",
          "name": "Support"
        },
        {
          "id": "dvc.views.experimentsSortByTree",
          "name": "Sort By",
          "when": "dvc.commands.available && dvc.project.available",
          "visibility": "collapsed"
        },
        {
          "id": "dvc.views.experimentsFilterByTree",
          "name": "Filter By",
          "when": "dvc.commands.available && dvc.project.available",
          "visibility": "collapsed"
        }
      ]
    },
    "viewsWelcome": [
      {
        "view": "dvc.views.actions",
        "contents": "[$(beaker) Show Experiments](command:dvc.showExperiments)\n[$(graph-scatter) Show Plots](command:dvc.showPlots)\n[$(play) Run Experiment](command:dvc.runExperiment)",
        "when": "true"
      },
      {
        "view": "dvc.views.studio",
        "contents": "[$(plug) Connect](command:dvc.showStudioConnect)",
        "when": "!dvc.studio.connected"
      },
      {
        "view": "dvc.views.studio",
        "contents": "[$(settings-gear) Open Settings](command:dvc.showStudioSettings)",
        "when": "dvc.studio.connected"
      },
      {
        "view": "dvc.views.welcome",
        "contents": "The extension is currently unable to initialize.\n[Show Setup](command:dvc.showDvcSetup)\nNew to the extension? Watch a [demo of the extension](https://youtu.be/E26IaD7bNXg?t=1177) in action or quickly try the extension yourself with our [example project](https://github.com/iterative/example-get-started-experiments). Dive deeper into DVC at [dvc.org](https://dvc.org/).",
        "when": "true"
      },
      {
        "view": "dvc.views.trackedExplorerTree",
        "contents": "No Tracked Data to Display."
      },
      {
        "view": "dvc.views.experimentsColumnsTree",
        "contents": "No Columns to Display."
      },
      {
        "view": "dvc.views.experimentsTree",
        "contents": "No Experiments to Display."
      },
      {
        "view": "dvc.views.plotsPathsTree",
        "contents": "No Plots or Data to Display."
      },
      {
        "view": "dvc.views.experimentsSortByTree",
        "contents": "No Sorts Applied. [Add Sort](command:dvc.addExperimentsTableSort)\n"
      },
      {
        "view": "dvc.views.experimentsFilterByTree",
        "contents": "No Filters Applied. [Add Filter](command:dvc.addExperimentsTableFilter)\n"
      },
      {
        "view": "dvc.views.support",
        "contents": "[$(github) Github Issues](https://github.com/iterative/vscode-dvc/issues)\n[$(comment-discussion) Discord](https://discord.gg/BGCjJHvDHt)",
        "when": "true"
      }
    ],
    "walkthroughs": [
      {
        "id": "welcome",
        "title": "Get Started",
        "description": "Your first steps to build better models faster with experiment tracking and dataset versioning",
        "steps": [
          {
            "id": "dvc.setupPage",
            "title": "Setup",
            "description": "Get started with DVC or setup additonal features.\n[Show Setup](command:dvc.showSetup)",
            "media": {
              "markdown": "resources/walkthrough/setup.md"
            },
            "completionEvents": [
              "onCommand:dvc.showSetup"
            ]
          },
          {
            "id": "dvc.showCommands",
            "title": "Available Commands",
            "description": "See all available commands.\n[View Commands](command:dvc.showCommands)",
            "media": {
              "markdown": "resources/walkthrough/command-palette.md"
            },
            "completionEvents": [
              "onCommand:dvc.showCommands"
            ]
          },
          {
            "id": "dvc.viewContainer",
            "title": "Control from the Side Bar",
            "description": "Use rich views to quickly access, control, or overview your experiments and plots.\n[Show Views](command:workbench.view.extension.dvc-views)",
            "media": {
              "markdown": "resources/walkthrough/view-container.md"
            },
            "completionEvents": [
              "onCommand:workbench.view.extension.dvc-views"
            ]
          },
          {
            "id": "dvc.experimentsTable",
            "title": "Experiments Table",
            "description": "Displays your experiments in a customizable table.\n[Show Table](command:dvc.showExperiments)",
            "media": {
              "markdown": "resources/walkthrough/experiments-table.md"
            },
            "completionEvents": [
              "onCommand:dvc.showExperiments"
            ]
          },
          {
            "id": "dvc.runExperiments",
            "title": "Running Experiments",
            "description": "Explore a few ways you can run or queue a new experiment.\n[Run an Experiment](command:dvc.modifyWorkspaceParamsAndRun)",
            "media": {
              "markdown": "resources/walkthrough/run-experiments.md"
            },
            "completionEvents": [
              "onCommand:dvc.modifyWorkspaceParamsAndRun"
            ]
          },
          {
            "id": "dvc.plots",
            "title": "Plots Dashboard",
            "description": "Visualize and compare multiple experiments with interactive customizable charts.\n[Show Plots](command:dvc.showPlots)",
            "media": {
              "markdown": "resources/walkthrough/plots.md"
            },
            "completionEvents": [
              "onCommand:dvc.showPlots"
            ]
          },
          {
            "id": "dvc.livePlots",
            "title": "Live Plot Updates",
            "description": "Run experiments and track how metrics and plots change in the same plots dashboard.\n[Show Plots](command:dvc.showPlots)",
            "media": {
              "markdown": "resources/walkthrough/live-plots.md"
            },
            "completionEvents": [
              "onCommand:dvc.showPlots"
            ]
          },
          {
            "id": "dvc.tracked",
            "title": "Data and Model Management",
            "description": "Navigate and manage datasets, models, and any large files that are tracked by DVC.\n[Show Tracked](command:dvc.views.trackedExplorerTree.focus)",
            "media": {
              "markdown": "resources/walkthrough/dvc-tracked-files.md"
            },
            "completionEvents": [
              "onCommand:dvc.views.trackedExplorerTree.focus",
              "onCommand:workbench.view.scm"
            ]
          },
          {
            "id": "dvc.moreResources",
            "title": "More Resources",
            "description": "Learn more about this extension and DVC, and find other relevant materials.\n[DVC Docs](https://dvc.org/doc)",
            "media": {
              "markdown": "resources/walkthrough/more-resources.md"
            },
            "completionEvents": [
              "onLink:https://dvc.org/doc"
            ]
          },
          {
            "id": "dvc.troubleshoot",
            "title": "Troubleshoot & Support",
            "description": "We are here to help! Ping us and provide the DVC output channel logs.\n[View Output](command:dvc.showOutput)",
            "media": {
              "markdown": "resources/walkthrough/troubleshoot.md"
            },
            "completionEvents": [
              "onCommand:dvc.showOutput"
            ]
          }
        ]
      }
    ]
  },
  "scripts": {
    "format": "prettier --write '**/*.{js,json,jsx,md,scss,ts,tsx,yaml,yml}'",
    "lint:prettier": "prettier -c '**/*.{js,json,jsx,md,scss,ts,tsx,yaml,yml}'",
    "lint:eslint": "eslint --cache '**/*.{js,ts,jsx,tsx}'",
    "lint:build": "tsc -p .",
    "dev": "shx rm -rf dist && tsc -watch -p ./",
    "build": "yarn webpack --mode production",
    "package": "node ./scripts/ensureYarnLock.js && yarn run vsce package --yarn -o ./dvc.vsix",
    "test-vscode": "node ./dist/test/runTest.js",
    "test-e2e": "wdio run ./src/test/e2e/wdio.conf.ts",
    "test": "jest --collect-coverage",
    "cover-vscode-run": "node ./scripts/coverIntegrationTests.js",
    "vscode:prepublish": ""
  },
  "dependencies": {
    "@hediet/std": "0.6.0",
    "@vscode/extension-telemetry": "0.8.5",
    "appdirs": "1.1.0",
    "execa": "5.1.1",
    "fs-extra": "11.2.0",
    "json-2-csv": "5.5.1",
    "json5": "2.2.3",
    "lodash.clonedeep": "4.5.0",
    "lodash.get": "4.4.2",
    "lodash.isempty": "4.4.0",
    "lodash.isequal": "4.5.0",
    "lodash.merge": "4.6.2",
    "lodash.omit": "4.5.0",
    "node-fetch": "2.7.0",
    "process-exists": "4.1.0",
    "tree-kill": "1.2.2",
    "uuid": "10.0.0",
    "vega-lite": "5.14.1",
    "vscode-languageclient": "9.0.1",
    "yaml": "2.4.5"
  },
  "devDependencies": {
    "@swc/core": "1.6.5",
    "@swc/jest": "0.2.36",
    "@types/chai": "4.3.16",
    "@types/chai-as-promised": "7.1.8",
    "@types/copy-webpack-plugin": "10.1.0",
    "@types/fs-extra": "11.0.4",
    "@types/jest": "29.5.12",
    "@types/lodash.clonedeep": "4.5.9",
    "@types/lodash.get": "4.4.9",
    "@types/lodash.isempty": "4.4.9",
    "@types/lodash.isequal": "4.5.8",
    "@types/lodash.merge": "4.6.9",
    "@types/lodash.omit": "4.5.9",
    "@types/mocha": "10.0.7",
    "@types/mock-require": "2.0.3",
    "@types/node": "16.x",
    "@types/sinon-chai": "3.2.12",
    "@types/uuid": "10.0.0",
    "@types/vega": "3.2.0",
    "@types/vscode": "1.75.0",
    "@vscode/test-electron": "2.4.0",
    "@vscode/vsce": "2.25.0",
    "@wdio/cli": "8.39.0",
    "@wdio/local-runner": "8.39.0",
    "@wdio/mocha-framework": "8.39.0",
    "@wdio/spec-reporter": "8.39.0",
    "chai": "4.4.1",
    "chai-as-promised": "7.1.2",
    "clean-webpack-plugin": "4.0.0",
    "copy-webpack-plugin": "11.0.0",
    "fork-ts-checker-webpack-plugin": "9.0.2",
    "jest": "29.7.0",
    "jest-environment-node": "29.7.0",
    "lint-staged": "14.0.1",
    "mocha": "10.4.0",
    "mock-require": "3.0.3",
    "shx": "0.3.4",
    "sinon": "18.0.0",
    "sinon-chai": "3.7.0",
    "ts-loader": "9.5.1",
    "vscode-uri": "3.0.8",
    "wdio-vscode-service": "6.1.0",
    "webdriverio": "8.16.7",
    "webpack": "5.92.1",
    "webpack-cli": "5.1.4"
  },
  "peerDependencies": {
    "typescript": "*"
  },
  "__metadata": {
    "id": "96c35fb6-adb8-4c1e-b953-4004af8451e8",
    "publisherDisplayName": "Iterative",
    "publisherId": "bc4dde4d-67b8-48bd-865c-7ee75e976429",
    "isPreReleaseVersion": false
  }
}