package.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. {
  2. "name": "wamride",
  3. "publisher": "wamr-ide",
  4. "repository": {
  5. "url": "https://github.com/bytecodealliance/wasm-micro-runtime/tree/main/test-tools/wamr-ide"
  6. },
  7. "displayName": "WAMR-IDE",
  8. "description": "An Integrated Development Environment for WASM",
  9. "version": "1.3.2",
  10. "engines": {
  11. "vscode": "^1.59.0",
  12. "node": ">=16.0.0"
  13. },
  14. "engineStrict": true,
  15. "categories": [
  16. "Other"
  17. ],
  18. "activationEvents": [
  19. "onStartupFinished"
  20. ],
  21. "main": "./out/extension.js",
  22. "contributes": {
  23. "commands": [
  24. {
  25. "command": "wamride.newProject",
  26. "title": "Create new project",
  27. "category": "New project"
  28. },
  29. {
  30. "command": "wamride.changeWorkspace",
  31. "title": "Change workspace",
  32. "category": "Change Workspace"
  33. },
  34. {
  35. "command": "wamride.build",
  36. "title": "WAMRIDE:Build Wasm"
  37. },
  38. {
  39. "command": "wamride.run",
  40. "title": "WAMRIDE:Run Wasm"
  41. },
  42. {
  43. "command": "wamride.debug",
  44. "title": "WAMRIDE:Source Debug"
  45. },
  46. {
  47. "command": "wamride.openFolder",
  48. "title": "WAMRIDE:openWorkspace"
  49. },
  50. {
  51. "command": "wamride.build.toggleStateIncludePath",
  52. "title": "Toggle state of path including"
  53. },
  54. {
  55. "command": "wamride.build.toggleStateExclude",
  56. "title": "Toggle state of excluding"
  57. },
  58. {
  59. "command": "wamride.targetConfig",
  60. "title": "Target Configuration"
  61. }
  62. ],
  63. "viewsContainers": {
  64. "activitybar": [
  65. {
  66. "id": "wamride",
  67. "title": "WAMRIDE",
  68. "icon": "$(star)"
  69. }
  70. ]
  71. },
  72. "views": {
  73. "wamride": [
  74. {
  75. "id": "wamride.views.welcome",
  76. "name": "Quick Access"
  77. }
  78. ]
  79. },
  80. "viewsWelcome": [
  81. {
  82. "view": "wamride.views.welcome",
  83. "contents": "[ WAMR IDE ]\n[$(project)New project](command:wamride.newProject)\n[$(files)Open project](command:wamride.openFolder)\n[$(book)Change workspace](command:wamride.changeWorkspace)"
  84. },
  85. {
  86. "view": "wamride.views.welcome",
  87. "contents": "[ Current Project ]\n[$(pencil)Configuration](command:wamride.targetConfig)\n[$(gear)Build](command:wamride.build)\n[$(run)Run](command:wamride.run)\n[$(debug-alt) Debug](command:wamride.debug)",
  88. "enablement": "ext.isWasmProject"
  89. }
  90. ],
  91. "menus": {
  92. "explorer/context": [
  93. {
  94. "command": "wamride.build.toggleStateIncludePath",
  95. "alt": "wamride.build.toggleStateIncludePath",
  96. "group": "config",
  97. "when": "explorerResourceIsFolder"
  98. },
  99. {
  100. "command": "wamride.build.toggleStateExclude",
  101. "alt": "wamride.build.toggleStateExclude",
  102. "group": "config",
  103. "when": "!explorerResourceIsFolder && resourceExtname in ext.supportedFileType"
  104. }
  105. ]
  106. },
  107. "debuggers": [
  108. {
  109. "type": "wamr-debug",
  110. "label": "WAMR lldb debugger",
  111. "enableBreakpointsFor": {
  112. "languageIds": [
  113. "ada",
  114. "arm",
  115. "asm",
  116. "c",
  117. "cpp",
  118. "crystal",
  119. "d",
  120. "fortan",
  121. "fortran-modern",
  122. "nim",
  123. "objective-c",
  124. "objectpascal",
  125. "pascal",
  126. "rust",
  127. "swift"
  128. ]
  129. },
  130. "windows": {
  131. "program": "./resource/debug/windows/bin/lldb-vscode.exe"
  132. },
  133. "osx": {
  134. "program": "./resource/debug/darwin/bin/lldb-vscode"
  135. },
  136. "linux": {
  137. "program": "./resource/debug/linux/bin/lldb-vscode"
  138. },
  139. "configurationAttributes": {
  140. "attach": {
  141. "properties": {
  142. "sourcePath": {
  143. "type": "string",
  144. "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."
  145. },
  146. "sourceMap": {
  147. "type": "array",
  148. "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.",
  149. "default": []
  150. },
  151. "debuggerRoot": {
  152. "type": "string",
  153. "description": "Specify a working directory to set the debug adaptor to so relative object files can be located."
  154. },
  155. "attachCommands": {
  156. "type": "array",
  157. "description": "Custom commands that are executed instead of attaching to a process ID or to a process by name. These commands may optionally create a new target and must perform an attach. A valid process must exist after these commands complete or the \"attach\" will fail.",
  158. "default": []
  159. },
  160. "initCommands": {
  161. "type": "array",
  162. "description": "Initialization commands executed upon debugger startup.",
  163. "default": []
  164. },
  165. "preRunCommands": {
  166. "type": "array",
  167. "description": "Commands executed just before the program is attached to.",
  168. "default": []
  169. },
  170. "stopCommands": {
  171. "type": "array",
  172. "description": "Commands executed each time the program stops.",
  173. "default": []
  174. },
  175. "exitCommands": {
  176. "type": "array",
  177. "description": "Commands executed at the end of debugging session.",
  178. "default": []
  179. }
  180. }
  181. }
  182. },
  183. "initialConfigurations": [
  184. {
  185. "type": "wamr-debug",
  186. "request": "attach",
  187. "name": "Debug",
  188. "stopOnEntry": true,
  189. "attachCommands": [
  190. "process connect -p wasm connect://127.0.0.1:1234"
  191. ]
  192. }
  193. ],
  194. "configurationSnippets": [
  195. {
  196. "label": "WAMR: Attach",
  197. "description": "",
  198. "body": {
  199. "type": "wamr-debug",
  200. "request": "attach",
  201. "name": "${2:Attach}",
  202. "stopOnEntry": true,
  203. "attachCommands": [
  204. "process connect -p wasm connect://${3:127.0.0.1}:${4:1234}"
  205. ]
  206. }
  207. }
  208. ]
  209. }
  210. ],
  211. "configuration": [
  212. {
  213. "title": "WAMR-IDE",
  214. "properties": {
  215. "WAMR-IDE.configWorkspace": {
  216. "type": "string",
  217. "description": "Config the workspace for WebAssembly project."
  218. }
  219. }
  220. }
  221. ],
  222. "taskDefinitions": [
  223. {
  224. "type": "wasm"
  225. }
  226. ]
  227. },
  228. "scripts": {
  229. "vscode:prepublish": "npm run compile",
  230. "compile": "tsc -p ./",
  231. "watch": "tsc -watch -p ./",
  232. "pretest": "npm run compile && npm run lint",
  233. "lint": "eslint src --ext ts",
  234. "lint-fix": "eslint --fix src --ext ts",
  235. "test": "node ./out/test/runTest.js",
  236. "prettier-format-check": "prettier --config .prettierrc.json 'src/**/*.ts' --check",
  237. "prettier-format-apply": "prettier --config .prettierrc.json 'src/**/*.ts' --write"
  238. },
  239. "devDependencies": {
  240. "@types/chai": "^4.3.5",
  241. "@types/glob": "^7.1.3",
  242. "@types/mocha": "^8.2.2",
  243. "@types/node": "14.x",
  244. "@types/request": "^2.48.8",
  245. "@types/vscode": "^1.54.0",
  246. "@types/yauzl": "^2.10.0",
  247. "@typescript-eslint/eslint-plugin": "^4.26.0",
  248. "@typescript-eslint/parser": "^4.26.0",
  249. "@vscode/debugprotocol": "^1.61.0",
  250. "@vscode/test-electron": "^2.3.3",
  251. "chai": "^4.3.7",
  252. "eslint": "^7.32.0",
  253. "glob": "^7.1.7",
  254. "mocha": "^10.2.0",
  255. "prettier": "2.5.1",
  256. "typescript": "^4.3.2"
  257. },
  258. "dependencies": {
  259. "@vscode/webview-ui-toolkit": "^0.8.4",
  260. "request": "^2.88.2",
  261. "yauzl": "^2.10.0"
  262. }
  263. }