package.json 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. {
  2. "name": "wamride",
  3. "publisher": "wamr",
  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.0.0",
  10. "engines": {
  11. "vscode": "^1.59.0"
  12. },
  13. "categories": [
  14. "Other"
  15. ],
  16. "activationEvents": [
  17. "*"
  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. "program": "./resource/debug/bin/lldb-vscode",
  129. "windows": {
  130. "program": "./resource/debug/bin/lldb-vscode.exe"
  131. },
  132. "configurationAttributes": {
  133. "attach": {
  134. "properties": {
  135. "sourcePath": {
  136. "type": "string",
  137. "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."
  138. },
  139. "sourceMap": {
  140. "type": "array",
  141. "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.",
  142. "default": []
  143. },
  144. "debuggerRoot": {
  145. "type": "string",
  146. "description": "Specify a working directory to set the debug adaptor to so relative object files can be located."
  147. },
  148. "attachCommands": {
  149. "type": "array",
  150. "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.",
  151. "default": []
  152. },
  153. "initCommands": {
  154. "type": "array",
  155. "description": "Initialization commands executed upon debugger startup.",
  156. "default": []
  157. },
  158. "preRunCommands": {
  159. "type": "array",
  160. "description": "Commands executed just before the program is attached to.",
  161. "default": []
  162. },
  163. "stopCommands": {
  164. "type": "array",
  165. "description": "Commands executed each time the program stops.",
  166. "default": []
  167. },
  168. "exitCommands": {
  169. "type": "array",
  170. "description": "Commands executed at the end of debugging session.",
  171. "default": []
  172. }
  173. }
  174. }
  175. },
  176. "initialConfigurations": [
  177. {
  178. "type": "wamr-debug",
  179. "request": "attach",
  180. "name": "Debug",
  181. "stopOnEntry": true,
  182. "attachCommands": [
  183. "process connect -p wasm connect://127.0.0.1:1234"
  184. ]
  185. }
  186. ],
  187. "configurationSnippets": [
  188. {
  189. "label": "WAMR: Attach",
  190. "description": "",
  191. "body": {
  192. "type": "wamr-debug",
  193. "request": "attach",
  194. "name": "${2:Attach}",
  195. "stopOnEntry": true,
  196. "attachCommands": [
  197. "process connect -p wasm connect://${3:127.0.0.1}:${4:1234}"
  198. ]
  199. }
  200. }
  201. ]
  202. }
  203. ],
  204. "configuration": [
  205. {
  206. "title": "WAMR-IDE",
  207. "properties": {
  208. "WAMR-IDE.configWorkspace": {
  209. "type": "string",
  210. "description": "Config the workspace for WebAssembly project."
  211. }
  212. }
  213. }
  214. ],
  215. "taskDefinitions": [
  216. {
  217. "type": "wasm"
  218. }
  219. ]
  220. },
  221. "scripts": {
  222. "vscode:prepublish": "npm run compile",
  223. "compile": "tsc -p ./",
  224. "watch": "tsc -watch -p ./",
  225. "pretest": "npm run compile && npm run lint",
  226. "lint": "eslint src --ext ts",
  227. "test": "node ./out/test/runTest.js",
  228. "prettier-format-check": "prettier --config .prettierrc.json 'src/**/*.ts' --check",
  229. "prettier-format-apply": "prettier --config .prettierrc.json 'src/**/*.ts' --write"
  230. },
  231. "devDependencies": {
  232. "@types/glob": "^7.1.3",
  233. "@types/mocha": "^8.2.2",
  234. "@types/node": "14.x",
  235. "@types/vscode": "^1.54.0",
  236. "@typescript-eslint/eslint-plugin": "^4.26.0",
  237. "@typescript-eslint/parser": "^4.26.0",
  238. "eslint": "^7.32.0",
  239. "glob": "^7.1.7",
  240. "mocha": "^8.4.0",
  241. "prettier": "2.5.1",
  242. "typescript": "^4.3.2",
  243. "vscode-test": "^1.5.2"
  244. },
  245. "dependencies": {
  246. "@vscode/webview-ui-toolkit": "^0.8.4"
  247. }
  248. }