blob: 6e68cde99996e672eb57d317fc7d9ea6e231eaee [file] [log] [blame]
{
"name": "apache-daffodil-vscode",
"displayName": "Apache Daffodilâ„¢ Extension for Visual Studio Code",
"description": "Apache Daffodilâ„¢ Extension for Visual Studio Code providing DFDL syntax highlighting, DFDL code completion, DFDL schema debugging, and data editor",
"version": "1.4.0-SNAPSHOT",
"daffodilVersion": "3.7.0",
"publisher": "asf",
"author": "Apache Daffodil",
"license": "Apache-2.0",
"engines": {
"vscode": "^1.67.2"
},
"icon": "images/daffodil.ico",
"categories": [
"Debuggers",
"Programming Languages"
],
"repository": {
"type": "git",
"url": "https://github.com/apache/daffodil-vscode.git"
},
"bugs": {
"url": "https://github.com/apache/daffodil-vscode/issues"
},
"scripts": {
"gen-version-ts": "run-func build/yarn-scripts.ts genVersionTS",
"nodeclean": "run-func build/yarn-scripts.ts nodeclean",
"scalaclean": "run-func build/yarn-scripts.ts scalaclean",
"clean": "yarn nodeclean && yarn scalaclean",
"precompile": "yarn nodeclean && yarn gen-version-ts && yarn webpack:svelte && yarn compile:tdmlEditorJS",
"compile": "tsc -p ./ && yarn sbt",
"lint": "yarn prettier src -c",
"lint:fix": "yarn prettier src -w",
"prewatch": "yarn gen-version-ts && yarn sbt",
"watch": "run-func build/yarn-scripts.ts watch",
"watch:svelte": "yarn webpack --env development=true -w -c ./src/svelte/webpack.config.js",
"watch:svelte-tests" : "mocha -r ts-node/register -w ./src/svelte/tests/**/*.test.ts",
"watch:tdmlEditorJS": "esbuild src/tdmlEditor/webview/webview.js --outfile=dist/views/tdmlEditor/webview/webview.js --bundle --platform=node --format=cjs --watch",
"webpack": "webpack --mode production --config ./webpack/ext-dev.webpack.config.js",
"webpack:pkg": "webpack --mode production --config ./webpack/ext-package.webpack.config.js",
"webpack:svelte": "webpack -c ./src/svelte/webpack.config.js",
"compile:tdmlEditorJS": "esbuild src/tdmlEditor/webview/webview.js --outfile=dist/views/tdmlEditor/webview/webview.js --bundle --platform=node --format=cjs",
"prepackage": "yarn install && yarn compile && yarn webpack:pkg",
"package": "run-func build/yarn-scripts.ts package && yarn --cwd dist/package install && yarn --cwd dist/package vsce package --out ../../",
"pretest": "yarn compile && yarn webpack",
"test": "sbt test && yarn test:svelte && node ./out/tests/runTest.js",
"test:svelte": "mocha -r ts-node/register ./src/svelte/tests/**/*.test.ts",
"sbt": "sbt debugger/Universal/packageBin",
"svelte:check": "svelte-check --tsconfig ./tsconfig.json"
},
"dependencies": {
"@omega-edit/client": "0.9.82",
"@viperproject/locate-java-home": "1.1.13",
"@vscode/debugadapter": "1.63.0",
"@vscode/webview-ui-toolkit": "^1.2.2",
"await-notify": "1.0.1",
"hexy": "0.3.5",
"iso-639-1": "^3.1.0",
"jsonc-parser": "3.2.1",
"semver": "7.5.4",
"unzip-stream": "0.3.1",
"xml-formatter": "^3.6.0",
"xml-js": "^1.6.11",
"wait-port": "1.1.0",
"xdg-app-paths": "8.3.0"
},
"devDependencies": {
"@tsconfig/svelte": "^5.0.2",
"@types/glob": "^8.0.0",
"@types/mocha": "^10.0.3",
"@types/node": "^20.11.30",
"@types/vscode": "^1.67.2",
"@types/vscode-webview": "^1.57.3",
"@vscode/debugadapter-testsupport": "1.65.0",
"@vscode/test-electron": "2.3.8",
"@vscode/vsce": "2.22.0",
"chai": "^4.3.10",
"concurrently": "^8.2.2",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^5.0.1",
"esbuild": "^0.19.9",
"glob": "8.1.0",
"mini-css-extract-plugin": "^2.7.6",
"mocha": "10.2.0",
"prettier": "3.2.5",
"prettier-plugin-svelte": "3.0.3",
"run-func": "^3.0.0",
"sass": "^1.69.4",
"svelte": "^3.55.0",
"svelte-check": "^3.6.2",
"svelte-loader": "^3.1.9",
"svelte-preprocess": "^5.0.4",
"ts-loader": "9.4.4",
"ts-node": "^10.9.1",
"typescript": "5.2.2",
"vscode-extension-tester": "5.9.1",
"webpack": "5.88.2",
"webpack-cli": "5.1.4"
},
"extensionDependencies": [
"vincaslt.highlight-matching-tag",
"wmanth.jar-viewer"
],
"main": "./dist/ext/extension.js",
"activationEvents": [
"onLanguage:dfdl",
"onDebugResolve:dfdl",
"onDebugDynamicConfigurations:dfdl",
"onCommand:extension.dfdl-debug.getSchemaName",
"onCommand:extension.dfdl-debug.getDataName",
"onCommand:extension.dfdl-debug.runEditorContents",
"onCommand:extension.dfdl-debug.debugEditorContents",
"onCommand:extension.dfdl-debug.appendTDML",
"onCommand:extension.dfdl-debug.executeTDML",
"onCommand:extension.dfdl-debug.copyTDML",
"onCommand:extension.dfdl-debug.getTDMLName",
"onCommand:extension.dfdl-debug.getTDMLDescription",
"onCommand:extension.dfdl-debug.getTDMLPath",
"onCommand:extension.dfdl-debug.getValidatedTDMLPath",
"onCommand:launch.config",
"onCommand:extension.data.edit",
"onCommand:extension.dfdl-debug.debugLastEditorContents"
],
"workspaceTrust": {
"request": "never"
},
"contributes": {
"languages": [
{
"id": "dfdl",
"aliases": [
"dfdl"
],
"extensions": [
".dfdl.xsd"
],
"configuration": "./language/dfdl.json"
},
{
"id": "tdml",
"aliases": [
"tdml"
],
"extensions": [
".tdml",
".tdml.xsd"
],
"configuration": "./language/tdml.json"
}
],
"customEditors": [
{
"viewType": "tdml-editor.editor",
"displayName": "TDML Editor",
"selector": [
{
"filenamePattern": "*.tdml"
},
{
"filenamePattern": "*.tdml.xsd"
}
]
}
],
"grammars": [
{
"language": "dfdl",
"scopeName": "text.xml.dfdl.xsd",
"path": "./language/syntaxes/dfdl.tmLanguage.json"
},
{
"language": "tdml",
"scopeName": "text.xml.tdml.xsd",
"path": "./language/syntaxes/tdml.tmLanguage.json"
}
],
"menus": {
"editor/title": [
{
"command": "launch.config",
"group": "navigation@1"
},
{
"command": "infoset.display",
"when": "resourceLangId == dfdl",
"group": "navigation@2"
},
{
"command": "infoset.diff",
"when": "resourceLangId == dfdl",
"group": "navigation@3"
},
{
"command": "tdml-editor.openInTextEditor",
"when": "activeCustomEditorId == 'tdml-editor.editor' && activeEditorIsNotPreview == false",
"group": "navigation@1"
},
{
"command": "tdml-editor.openPreview",
"when": "(resourceExtname == '.tdml' || resourceExtname == '.tdml.xsd') && activeEditor == 'workbench.editors.files.textFileEditor'",
"group": "navigation@1"
},
{
"command": "tdml-editor.openInTdmlEditor",
"when": "(resourceExtname == '.tdml' || resourceExtname == '.tdml.xsd') && activeEditor == 'workbench.editors.files.textFileEditor'",
"group": "navigation@1"
}
],
"webview/context": [
{
"command": "tdml-editor.deleteTest",
"when": "activeCustomEditorId == 'tdml-editor.editor'"
}
],
"editor/title/run": [
{
"command": "extension.dfdl-debug.runEditorContents",
"when": "resourceLangId == dfdl"
},
{
"command": "extension.dfdl-debug.debugEditorContents",
"when": "resourceLangId == dfdl"
},
{
"command": "extension.dfdl-debug.debugLastEditorContents",
"when": "resourceLangId == dfdl"
},
{
"command": "extension.dfdl-debug.appendTDML",
"when": "resourceLangId == tdml"
},
{
"command": "extension.dfdl-debug.executeTDML",
"when": "resourceLangId == tdml"
},
{
"command": "extension.dfdl-debug.copyTDML",
"when": "resourceLangId == dfdl"
}
],
"commandPalette": [
{
"command": "extension.dfdl-debug.debugEditorContents",
"when": "resourceLangId == dfdl"
},
{
"command": "extension.dfdl-debug.runEditorContents",
"when": "resourceLangId == dfdl"
},
{
"command": "extension.dfdl-debug.appendTDML",
"when": "resourceLangId == tdml"
},
{
"command": "extension.dfdl-debug.executeTDML",
"when": "resourceLangId == tdml"
},
{
"command": "extension.dfdl-debug.copyTDML",
"when": "resourceLangId == dfdl"
},
{
"command": "extension.data.edit"
},
{
"command": "extension.dfdl-debug.debugLastEditorContents",
"when": "resourceLangId == dfdl"
},
{
"command": "tdml-editor.deleteTest",
"when": "false"
},
{
"command": "tdml-editor.addNewTest",
"when": "activeCustomEditorId == 'tdml-editor.editor'"
},
{
"command": "tdml-editor.openInTextEditor",
"when": "activeCustomEditorId == 'tdml-editor.editor'"
},
{
"command": "tdml-editor.openPreview",
"when": "false"
},
{
"command": "tdml-editor.openInTdmlEditor",
"when": "(resourceExtname == '.tdml' || resourceExtname == '.tdml.xsd') && activeCustomEditorId != 'tdml-editor.editor'"
}
],
"debug/variables/context": [
{
"command": "extension.dfdl-debug.toggleFormatting",
"when": "debugType == 'dfdl' && debugProtocolVariableMenuContext == 'simple'"
}
]
},
"commands": [
{
"command": "extension.dfdl-debug.debugEditorContents",
"title": "Debug File",
"category": "Daffodil Debug",
"enablement": "!inDebugMode",
"icon": "$(debug-alt)"
},
{
"command": "extension.dfdl-debug.runEditorContents",
"title": "Run File",
"category": "Daffodil Debug",
"enablement": "!inDebugMode",
"icon": "$(play)"
},
{
"command": "extension.dfdl-debug.debugLastEditorContents",
"title": "Debug Last File",
"category": "Daffodil Debug",
"enablement": "!inDebugMode",
"icon": "$(debug-alt)"
},
{
"command": "extension.dfdl-debug.appendTDML",
"title": "Append TDML",
"category": "Daffodil Debug",
"enablement": "!inDebugMode"
},
{
"command": "extension.dfdl-debug.executeTDML",
"title": "Execute TDML",
"category": "Daffodil Debug",
"enablement": "!inDebugMode"
},
{
"command": "extension.dfdl-debug.copyTDML",
"title": "Copy TDML File",
"category": "Daffodil Debug",
"enablement": "!inDebugMode"
},
{
"command": "extension.dfdl-debug.toggleFormatting",
"title": "Toggle between decimal and hex formatting",
"category": "Daffodil Debug",
"enablement": "inDebugMode"
},
{
"command": "infoset.display",
"title": "Display the infoset view",
"category": "Daffodil Debug",
"enablement": "inDebugMode",
"icon": "$(file-code)"
},
{
"command": "infoset.diff",
"title": "View infoset diff",
"category": "Daffodil Debug",
"enablement": "inDebugMode",
"icon": "$(diff)"
},
{
"command": "infoset.save",
"title": "Save the current infoset",
"category": "Daffodil Debug",
"enablement": "inDebugMode"
},
{
"command": "launch.config",
"title": "Configure launch.json",
"category": "Daffodil Debug",
"icon": "$(debug-configure)"
},
{
"command": "extension.data.edit",
"title": "Data Editor",
"category": "Daffodil Debug"
},
{
"command": "position.goto",
"title": "Go to position",
"category": "Daffodil Debug"
},
{
"command": "tdml-editor.deleteTest",
"title": "Delete Resource",
"category": "TDML Editor"
},
{
"command": "tdml-editor.addNewTest",
"title": "Add New Test",
"category": "TDML Editor"
},
{
"command": "tdml-editor.openInTextEditor",
"title": "Open in Text Editor",
"category": "TDML Editor",
"icon": "$(notebook-open-as-text)"
},
{
"command": "tdml-editor.openPreview",
"title": "Open Preview",
"category": "TDML Editor",
"icon": "$(open-preview)"
},
{
"command": "tdml-editor.openInTdmlEditor",
"title": "Open in TDML Editor",
"category": "TDML Editor",
"icon": "$(notebook-render-output)"
}
],
"keybindings": [
{
"command": "position.goto",
"key": "ctrl+alt+g",
"mac": "ctrl+cmd+g",
"when": "editorTextFocus"
}
],
"breakpoints": [
{
"language": "dfdl"
}
],
"debuggers": [
{
"type": "dfdl",
"languages": [
"dfdl"
],
"label": "Daffodil Debug",
"program": "./out/extension.js",
"runtime": "node",
"configurationAttributes": {
"launch": {
"required": [
"schema",
"data"
],
"properties": {
"schema": {
"type": "object",
"description": "Contains the absolute path to the DFDL schema file, root element name and namespace.",
"required": ["path"],
"properties": {
"path": {
"type": "string",
"description": "Absolute path to the DFDL schema file",
"default": "${command:AskForSchemaName}"
},
"rootName": {
"type": ["string", "null"],
"description": "Name of the root element",
"default": null
},
"rootNamespace": {
"type": ["string", "null"],
"description": "Name of the root element namespace",
"default": null
}
},
"default": {
"path": "${command:AskForSchemaName}",
"rootName": null,
"rootNamespace": null
}
},
"data": {
"type": "string",
"description": "Absolute path to the input data file.",
"default": "${command:AskForDataName}"
},
"infosetFormat": {
"type": "string",
"description": "Infoset format type (xml/json)",
"enum": [
"xml",
"json"
],
"default": "xml"
},
"infosetOutput": {
"type": "object",
"description": "Destination for final Infoset ('file' | 'console' | 'none')",
"required": ["type"],
"properties": {
"type": {
"type": "string",
"enum": ["file", "console", "none"],
"description": "Type of infoset output",
"default": "file"
},
"path": {
"type": "string",
"description": "Path to save infoset file to",
"default": "${workspaceFolder}/target/infoset.xml"
}
},
"default": {
"type": "file",
"path": "${workspaceFolder}/target/infoset.xml"
}
},
"tdmlConfig": {
"type": "object",
"description": "Configuration for TDML Actions",
"required": ["action"],
"properties": {
"action": {
"type": "string",
"enum": ["none", "generate", "append", "execute"],
"default": "generate",
"description": "TDML Case Action (none | generate | append | exectute)"
},
"name": {
"type": "string",
"default": "${command:AskForTDMLName}",
"description": "TDML Case Name"
},
"description": {
"type": "string",
"default": "${command:AskForTDMLDescription}",
"description": "TDML Case Description"
},
"path": {
"type": "string",
"default": "${command:AskForTDMLPath}",
"description": "TDML Case Path"
}
},
"default": {
"action": "generate"
}
},
"stopOnEntry": {
"type": "boolean",
"description": "Automatically stop after launch.",
"default": true
},
"trace": {
"type": "boolean",
"description": "Enable logging of the Debug Adapter Protocol.",
"default": true
},
"debugServer": {
"type": "integer",
"description": "Port debug server running on",
"default": 4711
},
"useExistingServer": {
"type": "boolean",
"description": "Enable connection to running DAP Server",
"default": false
},
"openDataEditor": {
"type": "boolean",
"description": "Open data editor on debug start",
"default": false
},
"openInfosetView": {
"type": "boolean",
"description": "Open infoset view on debug start",
"default": false
},
"openInfosetDiffView": {
"type": "boolean",
"description": "Open infoset diff view on debug start",
"default": false
},
"daffodilDebugClasspath": {
"type": "array",
"description": "Additional classpaths to be exported to the debugger",
"default": []
},
"variables": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"tunables": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"dataEditor": {
"type": "object",
"description": "Configuration for Data Editor. Settings are port and logging details",
"properties": {
"port": {
"type": "number",
"default": 9000,
"description": "Port number to run the data editor on"
},
"logging": {
"type": "object",
"description": "Data Editor Logging Configuration",
"properties": {
"file": {
"type": "string",
"description": "Path to file to save logs at",
"default": "${workspaceFolder}/dataEditor-${omegaEditPort}.log"
},
"level": {
"type": "string",
"enum": ["debug", "info", "warning", "error", "critical"],
"description": "Data Editor Logging Level",
"default": "info"
}
},
"default": {
"file": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
"level": "info"
}
}
},
"default": {
"port": 9000,
"logging": {
"file": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
"level": "info"
}
}
},
"dfdlDebugger": {
"type": "object",
"description": "Configuration for debugger. Settings are logging (level and file)",
"properties": {
"logging": {
"type": "object",
"description": "DFDL Debugger Logging Configuration",
"properties": {
"file": {
"type": "string",
"description": "Path to file to save logs at",
"default": "${workspaceFolder}/daffodil-debugger.log"
},
"level": {
"type": "string",
"enum": ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
"description": "DFL Debugger Logging Level",
"default": "INFO"
}
},
"default": {
"level": "INFO",
"file": "${workspaceFolder}/daffodil-debugger.log"
}
}
},
"default": {
"logging": {
"level": "INFO",
"file": "${workspaceFolder}/daffodil-debugger.log"
}
}
}
}
}
},
"initialConfigurations": [
{
"type": "dfdl",
"request": "launch",
"name": "Ask for file name",
"schema": {
"path": "${command:AskForSchemaName}",
"rootName": null,
"rootNamespace": null
},
"data": "${command:AskForDataName}",
"stopOnEntry": true,
"infosetFormat": "xml",
"infosetOutput": {
"type": "file",
"path": "${workspaceFolder}/target/infoset.xml"
},
"tdmlConfig": {
"action": "generate"
},
"debugServer": 4711,
"openDataEditor": false,
"openInfosetView": false,
"openInfosetDiffView": false,
"daffodilDebugClasspath": [],
"variables": {},
"tunables": {},
"dataEditor": {
"port": 9000,
"logging": {
"file": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
"level": "info"
}
},
"dfdlDebugger": {
"logging": {
"level": "INFO",
"file": "${workspaceFolder}/daffodil-debugger.log"
}
}
}
],
"configurationSnippets": [
{
"label": "Daffodil Debug: Launch",
"description": "A new configuration for 'debugging' a user selected xml file.",
"body": {
"type": "dfdl",
"request": "launch",
"name": "Ask for file name",
"schema": {
"path": "^\"\\${command:AskForSchemaName}\"",
"rootName": null,
"rootNamespace": null
},
"data": "^\"\\${command:AskForDataName}\"",
"stopOnEntry": true,
"infosetFormat": "xml",
"infosetOutput": {
"type": "file",
"path": "${workspaceFolder}/target/infoset.xml"
},
"tdmlConfig": {
"action": "generate"
},
"debugServer": 4711,
"openDataEditor": false,
"openInfosetView": false,
"openInfosetDiffView": false,
"daffodilDebugClasspath": [],
"variables": {},
"tunables": {},
"dataEditor": {
"port": 9000,
"logging": {
"file": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
"level": "info"
}
},
"dfdlDebugger": {
"logging": {
"level": "INFO",
"file": "${workspaceFolder}/daffodil-debugger.log"
}
}
}
}
],
"variables": {
"AskForSchemaName": "extension.dfdl-debug.getSchemaName",
"AskForDataName": "extension.dfdl-debug.getDataName",
"AskForValidatedTDMLPath": "extension.dfdl-debug.getValidatedTDMLPath"
}
}
],
"configuration": [
{
"title": "Daffodil Debugger Global",
"properties": {
"type": {
"type": "string",
"default": "dfdl"
},
"schema": {
"type": "object",
"description": "Contains the absolute path to the DFDL schema file, root element name and namespace.",
"default": {
"path": "${command:AskForSchemaName}",
"rootName": null,
"rootNamespace": null
}
},
"data": {
"type": "string",
"description": "Absolute path to the input data file.",
"default": "${command:AskForDataName}"
},
"tdmlConfig": {
"type": "object",
"description": "Configuration for TDML Actions",
"default": {
"action": "generate"
}
},
"infosetOutput": {
"type": "object",
"description": "Destination for final Infoset ('file' | 'console' | 'none')",
"default": {
"type": "file",
"path": "${workspaceFolder}/target/infoset.xml"
}
},
"stopOnEntry": {
"type": "boolean",
"description": "Automatically stop after launch.",
"default": true
},
"trace": {
"type": "boolean",
"description": "Enable logging of the Debug Adapter Protocol.",
"default": true
},
"useExistingServer": {
"type": "boolean",
"description": "Enable connection to running DAP Server",
"default": false
},
"debugServer": {
"type": "integer",
"description": "Port debug server running on",
"default": 4711
},
"openDataEditor": {
"type": "boolean",
"description": "Open data editor on debug start",
"default": false
},
"openInfosetView": {
"type": "boolean",
"description": "Open infoset view on debug start",
"default": false
},
"openInfosetDiffView": {
"type": "boolean",
"description": "Open infoset diff view on debug start",
"default": false
},
"daffodilDebugClasspath": {
"type": "array",
"description": "Additional classpaths to be exported to the debugger",
"default": []
},
"variables": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"tunables": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"dataEditor": {
"type": "object",
"description": "Configuration for Data Editor. Settings are port, logFile and logLevel",
"default": {
"port": 9000,
"logging": {
"file": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
"level": "info"
}
}
},
"dfdlDebugger": {
"type": "object",
"description": "Configuration for debugger. Settings are logging (level and file)",
"default": {
"logging": {
"level": "INFO",
"file": "${workspaceFolder}/daffodil-debugger.log"
}
}
}
}
},
{
"title": "TDML Editor",
"properties": {
"tdml-editor.verboseLogging": {
"type": "boolean",
"default": false,
"description": "Enable verbose logging"
}
}
}
]
},
"__metadata": {
"id": "4f1304da-7e65-48f1-9126-0a143e2e5ef2",
"publisherDisplayName": "Apache Software Foundation",
"publisherId": "4dbc1d1a-d64b-46f8-8756-1c234855f645",
"isPreReleaseVersion": false
}
}