package.json 9.9 KB

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