├── .github └── workflows │ └── publish.yml ├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── README.md ├── assets └── logo.png ├── package-lock.json ├── package.json ├── src └── extension.ts ├── tsconfig.json └── tslint.json /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: 🚀 Publish Release 2 | on: 3 | release: 4 | types: 5 | - published 6 | jobs: 7 | publish: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | - uses: actions/setup-node@v1 12 | - name: 📦 Install dependencies 13 | run: npm install 14 | - name: 🚢 Publish extension 15 | run: npm run deploy 16 | env: 17 | VSCE_PAT: ${{ secrets.VSCE_PAT }} 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | node_modules -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "runtimeExecutable": "${execPath}", 13 | "args": [ 14 | "--extensionDevelopmentPath=${workspaceFolder}" 15 | ], 16 | "outFiles": [ 17 | "${workspaceFolder}/out/**/*.js" 18 | ], 19 | "preLaunchTask": "npm: watch" 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.insertSpaces": false 3 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | // See https://go.microsoft.com/fwlink/?LinkId=733558 2 | // for the documentation about the tasks.json format 3 | { 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "npm", 8 | "script": "watch", 9 | "problemMatcher": "$tsc-watch", 10 | "isBackground": true, 11 | "presentation": { 12 | "reveal": "never" 13 | }, 14 | "group": { 15 | "kind": "build", 16 | "isDefault": true 17 | } 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .github/** 2 | .vscode/** 3 | typings/** 4 | out/test/** 5 | test/** 6 | src/** 7 | **/*.map 8 | .gitignore 9 | tsconfig.json 10 | vsc-extension-quickstart.md 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 | Fission logo 4 | 5 | 6 |

Fission VSCode

7 |
8 | 9 | Publish apps to the Fission platform with this VSCode extension. 10 | 11 | This extension gives you access to the most common commands from the Fission CLI. See the [Fission CLI docs](https://guide.fission.codes/developers/cli) for extended documentation and advanced use cases. 12 | 13 | ## Requiremnts 14 | 15 | [Install the Fission CLI](https://guide.fission.codes/developers/installation). 16 | 17 | The `fission.yaml` configuration file for your app must be in the workspace root directory. 18 | 19 | ## Commands 20 | 21 | ### Fission: Setup 22 | 23 | Register a new account with Fission or link to an existing Fission account. 24 | 25 | ### Fission: Link Account 26 | 27 | Link your account in a web browser or at the command line on another device. 28 | 29 | ### Fission: Show Current User 30 | 31 | Display your username. 32 | 33 | ### Fission: Register App 34 | 35 | Initialize a new app and link it to your Fission account. 36 | 37 | ### Fission: Show App Info 38 | 39 | Display information about an app. 40 | 41 | ### Fission: Publish App 42 | 43 | Publish an app to the web. 44 | 45 | ### Fission: Watch and Publish App 46 | 47 | Watch the build directory and publish when changes occur. 48 | -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fission-codes/fission-vscode/b81b848d89973df4492ae21ab6b2c00b92ce02e0/assets/logo.png -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fission-vscode", 3 | "version": "0.2.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.12.13", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", 10 | "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.12.13" 14 | } 15 | }, 16 | "@babel/helper-validator-identifier": { 17 | "version": "7.14.0", 18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", 19 | "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", 20 | "dev": true 21 | }, 22 | "@babel/highlight": { 23 | "version": "7.14.0", 24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", 25 | "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", 26 | "dev": true, 27 | "requires": { 28 | "@babel/helper-validator-identifier": "^7.14.0", 29 | "chalk": "^2.0.0", 30 | "js-tokens": "^4.0.0" 31 | } 32 | }, 33 | "@types/node": { 34 | "version": "6.14.13", 35 | "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.13.tgz", 36 | "integrity": "sha512-J1F0XJ/9zxlZel5ZlbeSuHW2OpabrUAqpFuC2sm2I3by8sERQ8+KCjNKUcq8QHuzpGMWiJpo9ZxeHrqrP2KzQw==", 37 | "dev": true 38 | }, 39 | "@types/vscode": { 40 | "version": "1.55.0", 41 | "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.55.0.tgz", 42 | "integrity": "sha512-49hysH7jneTQoSC8TWbAi7nKK9Lc5osQNjmDHVosrcU8o3jecD9GrK0Qyul8q4aGPSXRfNGqIp9CBdb13akETg==", 43 | "dev": true 44 | }, 45 | "ansi-styles": { 46 | "version": "3.2.1", 47 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 48 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 49 | "dev": true, 50 | "requires": { 51 | "color-convert": "^1.9.0" 52 | } 53 | }, 54 | "argparse": { 55 | "version": "1.0.10", 56 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 57 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 58 | "dev": true, 59 | "requires": { 60 | "sprintf-js": "~1.0.2" 61 | } 62 | }, 63 | "azure-devops-node-api": { 64 | "version": "10.2.2", 65 | "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", 66 | "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", 67 | "dev": true, 68 | "requires": { 69 | "tunnel": "0.0.6", 70 | "typed-rest-client": "^1.8.4" 71 | } 72 | }, 73 | "balanced-match": { 74 | "version": "1.0.2", 75 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 76 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 77 | "dev": true 78 | }, 79 | "boolbase": { 80 | "version": "1.0.0", 81 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 82 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", 83 | "dev": true 84 | }, 85 | "brace-expansion": { 86 | "version": "1.1.11", 87 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 88 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 89 | "dev": true, 90 | "requires": { 91 | "balanced-match": "^1.0.0", 92 | "concat-map": "0.0.1" 93 | } 94 | }, 95 | "buffer-crc32": { 96 | "version": "0.2.13", 97 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 98 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 99 | "dev": true 100 | }, 101 | "builtin-modules": { 102 | "version": "1.1.1", 103 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 104 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 105 | "dev": true 106 | }, 107 | "call-bind": { 108 | "version": "1.0.2", 109 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 110 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 111 | "dev": true, 112 | "requires": { 113 | "function-bind": "^1.1.1", 114 | "get-intrinsic": "^1.0.2" 115 | } 116 | }, 117 | "chalk": { 118 | "version": "2.4.2", 119 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 120 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 121 | "dev": true, 122 | "requires": { 123 | "ansi-styles": "^3.2.1", 124 | "escape-string-regexp": "^1.0.5", 125 | "supports-color": "^5.3.0" 126 | } 127 | }, 128 | "cheerio": { 129 | "version": "1.0.0-rc.6", 130 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz", 131 | "integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==", 132 | "dev": true, 133 | "requires": { 134 | "cheerio-select": "^1.3.0", 135 | "dom-serializer": "^1.3.1", 136 | "domhandler": "^4.1.0", 137 | "htmlparser2": "^6.1.0", 138 | "parse5": "^6.0.1", 139 | "parse5-htmlparser2-tree-adapter": "^6.0.1" 140 | } 141 | }, 142 | "cheerio-select": { 143 | "version": "1.4.0", 144 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.4.0.tgz", 145 | "integrity": "sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==", 146 | "dev": true, 147 | "requires": { 148 | "css-select": "^4.1.2", 149 | "css-what": "^5.0.0", 150 | "domelementtype": "^2.2.0", 151 | "domhandler": "^4.2.0", 152 | "domutils": "^2.6.0" 153 | } 154 | }, 155 | "color-convert": { 156 | "version": "1.9.3", 157 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 158 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 159 | "dev": true, 160 | "requires": { 161 | "color-name": "1.1.3" 162 | } 163 | }, 164 | "color-name": { 165 | "version": "1.1.3", 166 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 167 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 168 | "dev": true 169 | }, 170 | "commander": { 171 | "version": "2.20.3", 172 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 173 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 174 | "dev": true 175 | }, 176 | "concat-map": { 177 | "version": "0.0.1", 178 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 179 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 180 | "dev": true 181 | }, 182 | "css-select": { 183 | "version": "4.1.2", 184 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz", 185 | "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==", 186 | "dev": true, 187 | "requires": { 188 | "boolbase": "^1.0.0", 189 | "css-what": "^5.0.0", 190 | "domhandler": "^4.2.0", 191 | "domutils": "^2.6.0", 192 | "nth-check": "^2.0.0" 193 | } 194 | }, 195 | "css-what": { 196 | "version": "5.0.0", 197 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz", 198 | "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==", 199 | "dev": true 200 | }, 201 | "denodeify": { 202 | "version": "1.2.1", 203 | "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", 204 | "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", 205 | "dev": true 206 | }, 207 | "diff": { 208 | "version": "4.0.2", 209 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 210 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 211 | "dev": true 212 | }, 213 | "dom-serializer": { 214 | "version": "1.3.1", 215 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", 216 | "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", 217 | "dev": true, 218 | "requires": { 219 | "domelementtype": "^2.0.1", 220 | "domhandler": "^4.0.0", 221 | "entities": "^2.0.0" 222 | } 223 | }, 224 | "domelementtype": { 225 | "version": "2.2.0", 226 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 227 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", 228 | "dev": true 229 | }, 230 | "domhandler": { 231 | "version": "4.2.0", 232 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", 233 | "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", 234 | "dev": true, 235 | "requires": { 236 | "domelementtype": "^2.2.0" 237 | } 238 | }, 239 | "domutils": { 240 | "version": "2.6.0", 241 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", 242 | "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", 243 | "dev": true, 244 | "requires": { 245 | "dom-serializer": "^1.0.1", 246 | "domelementtype": "^2.2.0", 247 | "domhandler": "^4.2.0" 248 | } 249 | }, 250 | "entities": { 251 | "version": "2.2.0", 252 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 253 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 254 | "dev": true 255 | }, 256 | "escape-string-regexp": { 257 | "version": "1.0.5", 258 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 259 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 260 | "dev": true 261 | }, 262 | "esprima": { 263 | "version": "4.0.1", 264 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 265 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 266 | "dev": true 267 | }, 268 | "fd-slicer": { 269 | "version": "1.1.0", 270 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 271 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 272 | "dev": true, 273 | "requires": { 274 | "pend": "~1.2.0" 275 | } 276 | }, 277 | "fs.realpath": { 278 | "version": "1.0.0", 279 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 280 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 281 | "dev": true 282 | }, 283 | "function-bind": { 284 | "version": "1.1.1", 285 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 286 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 287 | "dev": true 288 | }, 289 | "get-intrinsic": { 290 | "version": "1.1.1", 291 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 292 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 293 | "dev": true, 294 | "requires": { 295 | "function-bind": "^1.1.1", 296 | "has": "^1.0.3", 297 | "has-symbols": "^1.0.1" 298 | } 299 | }, 300 | "glob": { 301 | "version": "7.1.6", 302 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 303 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 304 | "dev": true, 305 | "requires": { 306 | "fs.realpath": "^1.0.0", 307 | "inflight": "^1.0.4", 308 | "inherits": "2", 309 | "minimatch": "^3.0.4", 310 | "once": "^1.3.0", 311 | "path-is-absolute": "^1.0.0" 312 | } 313 | }, 314 | "has": { 315 | "version": "1.0.3", 316 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 317 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 318 | "dev": true, 319 | "requires": { 320 | "function-bind": "^1.1.1" 321 | } 322 | }, 323 | "has-flag": { 324 | "version": "3.0.0", 325 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 326 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 327 | "dev": true 328 | }, 329 | "has-symbols": { 330 | "version": "1.0.2", 331 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 332 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", 333 | "dev": true 334 | }, 335 | "htmlparser2": { 336 | "version": "6.1.0", 337 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", 338 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", 339 | "dev": true, 340 | "requires": { 341 | "domelementtype": "^2.0.1", 342 | "domhandler": "^4.0.0", 343 | "domutils": "^2.5.2", 344 | "entities": "^2.0.0" 345 | } 346 | }, 347 | "inflight": { 348 | "version": "1.0.6", 349 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 350 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 351 | "dev": true, 352 | "requires": { 353 | "once": "^1.3.0", 354 | "wrappy": "1" 355 | } 356 | }, 357 | "inherits": { 358 | "version": "2.0.4", 359 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 360 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 361 | "dev": true 362 | }, 363 | "is-core-module": { 364 | "version": "2.3.0", 365 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", 366 | "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", 367 | "dev": true, 368 | "requires": { 369 | "has": "^1.0.3" 370 | } 371 | }, 372 | "js-tokens": { 373 | "version": "4.0.0", 374 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 375 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 376 | "dev": true 377 | }, 378 | "js-yaml": { 379 | "version": "3.14.1", 380 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 381 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 382 | "dev": true, 383 | "requires": { 384 | "argparse": "^1.0.7", 385 | "esprima": "^4.0.0" 386 | } 387 | }, 388 | "leven": { 389 | "version": "3.1.0", 390 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 391 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 392 | "dev": true 393 | }, 394 | "linkify-it": { 395 | "version": "2.2.0", 396 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", 397 | "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", 398 | "dev": true, 399 | "requires": { 400 | "uc.micro": "^1.0.1" 401 | } 402 | }, 403 | "lodash": { 404 | "version": "4.17.21", 405 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 406 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 407 | "dev": true 408 | }, 409 | "markdown-it": { 410 | "version": "10.0.0", 411 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", 412 | "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", 413 | "dev": true, 414 | "requires": { 415 | "argparse": "^1.0.7", 416 | "entities": "~2.0.0", 417 | "linkify-it": "^2.0.0", 418 | "mdurl": "^1.0.1", 419 | "uc.micro": "^1.0.5" 420 | }, 421 | "dependencies": { 422 | "entities": { 423 | "version": "2.0.3", 424 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", 425 | "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", 426 | "dev": true 427 | } 428 | } 429 | }, 430 | "mdurl": { 431 | "version": "1.0.1", 432 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 433 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", 434 | "dev": true 435 | }, 436 | "mime": { 437 | "version": "1.6.0", 438 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 439 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 440 | "dev": true 441 | }, 442 | "minimatch": { 443 | "version": "3.0.4", 444 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 445 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 446 | "dev": true, 447 | "requires": { 448 | "brace-expansion": "^1.1.7" 449 | } 450 | }, 451 | "minimist": { 452 | "version": "1.2.5", 453 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 454 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 455 | "dev": true 456 | }, 457 | "mkdirp": { 458 | "version": "0.5.5", 459 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 460 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 461 | "dev": true, 462 | "requires": { 463 | "minimist": "^1.2.5" 464 | } 465 | }, 466 | "mute-stream": { 467 | "version": "0.0.8", 468 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 469 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 470 | "dev": true 471 | }, 472 | "nth-check": { 473 | "version": "2.0.0", 474 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", 475 | "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", 476 | "dev": true, 477 | "requires": { 478 | "boolbase": "^1.0.0" 479 | } 480 | }, 481 | "object-inspect": { 482 | "version": "1.10.2", 483 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", 484 | "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", 485 | "dev": true 486 | }, 487 | "once": { 488 | "version": "1.4.0", 489 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 490 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 491 | "dev": true, 492 | "requires": { 493 | "wrappy": "1" 494 | } 495 | }, 496 | "os-homedir": { 497 | "version": "1.0.2", 498 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 499 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 500 | "dev": true 501 | }, 502 | "os-tmpdir": { 503 | "version": "1.0.2", 504 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 505 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 506 | "dev": true 507 | }, 508 | "osenv": { 509 | "version": "0.1.5", 510 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", 511 | "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 512 | "dev": true, 513 | "requires": { 514 | "os-homedir": "^1.0.0", 515 | "os-tmpdir": "^1.0.0" 516 | } 517 | }, 518 | "parse-semver": { 519 | "version": "1.1.1", 520 | "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", 521 | "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", 522 | "dev": true, 523 | "requires": { 524 | "semver": "^5.1.0" 525 | } 526 | }, 527 | "parse5": { 528 | "version": "6.0.1", 529 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 530 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", 531 | "dev": true 532 | }, 533 | "parse5-htmlparser2-tree-adapter": { 534 | "version": "6.0.1", 535 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 536 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 537 | "dev": true, 538 | "requires": { 539 | "parse5": "^6.0.1" 540 | } 541 | }, 542 | "path-is-absolute": { 543 | "version": "1.0.1", 544 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 545 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 546 | "dev": true 547 | }, 548 | "path-parse": { 549 | "version": "1.0.6", 550 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 551 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 552 | "dev": true 553 | }, 554 | "pend": { 555 | "version": "1.2.0", 556 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 557 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 558 | "dev": true 559 | }, 560 | "qs": { 561 | "version": "6.10.1", 562 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", 563 | "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", 564 | "dev": true, 565 | "requires": { 566 | "side-channel": "^1.0.4" 567 | } 568 | }, 569 | "read": { 570 | "version": "1.0.7", 571 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 572 | "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", 573 | "dev": true, 574 | "requires": { 575 | "mute-stream": "~0.0.4" 576 | } 577 | }, 578 | "resolve": { 579 | "version": "1.20.0", 580 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", 581 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", 582 | "dev": true, 583 | "requires": { 584 | "is-core-module": "^2.2.0", 585 | "path-parse": "^1.0.6" 586 | } 587 | }, 588 | "semver": { 589 | "version": "5.7.1", 590 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 591 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 592 | "dev": true 593 | }, 594 | "side-channel": { 595 | "version": "1.0.4", 596 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 597 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 598 | "dev": true, 599 | "requires": { 600 | "call-bind": "^1.0.0", 601 | "get-intrinsic": "^1.0.2", 602 | "object-inspect": "^1.9.0" 603 | } 604 | }, 605 | "sprintf-js": { 606 | "version": "1.0.3", 607 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 608 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 609 | "dev": true 610 | }, 611 | "supports-color": { 612 | "version": "5.5.0", 613 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 614 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 615 | "dev": true, 616 | "requires": { 617 | "has-flag": "^3.0.0" 618 | } 619 | }, 620 | "tmp": { 621 | "version": "0.0.29", 622 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", 623 | "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", 624 | "dev": true, 625 | "requires": { 626 | "os-tmpdir": "~1.0.1" 627 | } 628 | }, 629 | "tslib": { 630 | "version": "1.14.1", 631 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 632 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 633 | "dev": true 634 | }, 635 | "tslint": { 636 | "version": "5.20.1", 637 | "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", 638 | "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", 639 | "dev": true, 640 | "requires": { 641 | "@babel/code-frame": "^7.0.0", 642 | "builtin-modules": "^1.1.1", 643 | "chalk": "^2.3.0", 644 | "commander": "^2.12.1", 645 | "diff": "^4.0.1", 646 | "glob": "^7.1.1", 647 | "js-yaml": "^3.13.1", 648 | "minimatch": "^3.0.4", 649 | "mkdirp": "^0.5.1", 650 | "resolve": "^1.3.2", 651 | "semver": "^5.3.0", 652 | "tslib": "^1.8.0", 653 | "tsutils": "^2.29.0" 654 | } 655 | }, 656 | "tsutils": { 657 | "version": "2.29.0", 658 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", 659 | "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", 660 | "dev": true, 661 | "requires": { 662 | "tslib": "^1.8.1" 663 | } 664 | }, 665 | "tunnel": { 666 | "version": "0.0.6", 667 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 668 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 669 | "dev": true 670 | }, 671 | "typed-rest-client": { 672 | "version": "1.8.4", 673 | "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", 674 | "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", 675 | "dev": true, 676 | "requires": { 677 | "qs": "^6.9.1", 678 | "tunnel": "0.0.6", 679 | "underscore": "^1.12.1" 680 | } 681 | }, 682 | "typescript": { 683 | "version": "3.9.9", 684 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", 685 | "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", 686 | "dev": true 687 | }, 688 | "uc.micro": { 689 | "version": "1.0.6", 690 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 691 | "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", 692 | "dev": true 693 | }, 694 | "underscore": { 695 | "version": "1.13.1", 696 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", 697 | "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", 698 | "dev": true 699 | }, 700 | "url-join": { 701 | "version": "1.1.0", 702 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", 703 | "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=", 704 | "dev": true 705 | }, 706 | "vsce": { 707 | "version": "1.88.0", 708 | "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.88.0.tgz", 709 | "integrity": "sha512-FS5ou3G+WRnPPr/tWVs8b/jVzeDacgZHy/y7/QQW7maSPFEAmRt2bFGUJtJVEUDLBqtDm/3VGMJ7D31cF2U1tw==", 710 | "dev": true, 711 | "requires": { 712 | "azure-devops-node-api": "^10.2.2", 713 | "chalk": "^2.4.2", 714 | "cheerio": "^1.0.0-rc.1", 715 | "commander": "^6.1.0", 716 | "denodeify": "^1.2.1", 717 | "glob": "^7.0.6", 718 | "leven": "^3.1.0", 719 | "lodash": "^4.17.15", 720 | "markdown-it": "^10.0.0", 721 | "mime": "^1.3.4", 722 | "minimatch": "^3.0.3", 723 | "osenv": "^0.1.3", 724 | "parse-semver": "^1.1.1", 725 | "read": "^1.0.7", 726 | "semver": "^5.1.0", 727 | "tmp": "0.0.29", 728 | "typed-rest-client": "^1.8.4", 729 | "url-join": "^1.1.0", 730 | "yauzl": "^2.3.1", 731 | "yazl": "^2.2.2" 732 | }, 733 | "dependencies": { 734 | "commander": { 735 | "version": "6.2.1", 736 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 737 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 738 | "dev": true 739 | } 740 | } 741 | }, 742 | "wrappy": { 743 | "version": "1.0.2", 744 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 745 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 746 | "dev": true 747 | }, 748 | "yauzl": { 749 | "version": "2.10.0", 750 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 751 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 752 | "dev": true, 753 | "requires": { 754 | "buffer-crc32": "~0.2.3", 755 | "fd-slicer": "~1.1.0" 756 | } 757 | }, 758 | "yazl": { 759 | "version": "2.5.1", 760 | "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", 761 | "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", 762 | "dev": true, 763 | "requires": { 764 | "buffer-crc32": "~0.2.3" 765 | } 766 | } 767 | } 768 | } 769 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fission", 3 | "displayName": "Fission", 4 | "description": "Fast app publishing powered by IPFS", 5 | "version": "0.2.1", 6 | "publisher": "fissioncodes", 7 | "engines": { 8 | "vscode": "^1.33.0" 9 | }, 10 | "categories": [ 11 | "Other" 12 | ], 13 | "icon": "assets/logo.png", 14 | "activationEvents": [ 15 | "onCommand:fissionCommand.setup", 16 | "onCommand:fissionCommand.login", 17 | "onCommand:fissionCommand.whoami", 18 | "onCommand:fissionCommand.appRegister", 19 | "onCommand:fissionCommand.appInfo", 20 | "onCommand:fissionCommand.appPublish", 21 | "onCommand:fissionCommand.appPublishWatch" 22 | ], 23 | "main": "./out/extension.js", 24 | "contributes": { 25 | "commands": [ 26 | { 27 | "command": "fissionCommand.setup", 28 | "title": "Fission: Setup" 29 | }, 30 | { 31 | "command": "fissionCommand.login", 32 | "title": "Fission: Link Account" 33 | }, 34 | { 35 | "command": "fissionCommand.whoami", 36 | "title": "Fission: Show Current User" 37 | }, 38 | { 39 | "command": "fissionCommand.appRegister", 40 | "title": "Fission: Register App" 41 | }, 42 | { 43 | "command": "fissionCommand.appInfo", 44 | "title": "Fission: Show App Info" 45 | }, 46 | { 47 | "command": "fissionCommand.appPublish", 48 | "title": "Fission: Publish App" 49 | }, 50 | { 51 | "command": "fissionCommand.appPublishWatch", 52 | "title": "Fission: Watch and Publish App" 53 | } 54 | ] 55 | }, 56 | "homepage": "https://fission.codes", 57 | "bugs": { 58 | "url": "https://github.com/fission-suite/fission-vscode/issues", 59 | "email": "support@fission.codes" 60 | }, 61 | "repository": { 62 | "type": "git", 63 | "url": "https://github.com/fission-suite/fission-vscode.git" 64 | }, 65 | "scripts": { 66 | "vscode:prepublish": "npm run compile", 67 | "compile": "tsc -p ./", 68 | "watch": "tsc -watch -p ./", 69 | "lint": "tslint -p ./", 70 | "deploy": "vsce publish" 71 | }, 72 | "devDependencies": { 73 | "@types/node": "^6.0.40", 74 | "@types/vscode": "^1.33.0", 75 | "tslint": "^5.16.0", 76 | "typescript": "^3.5.1", 77 | "vsce": "^1.88.0" 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from 'vscode' 2 | 3 | export function activate(context: vscode.ExtensionContext) { 4 | context.subscriptions.push( 5 | vscode.commands.registerCommand('fissionCommand.setup', sendCommand("fission setup", false)) 6 | ) 7 | context.subscriptions.push( 8 | vscode.commands.registerCommand('fissionCommand.login', sendCommand("fission login", false)) 9 | ) 10 | context.subscriptions.push( 11 | vscode.commands.registerCommand('fissionCommand.whoami', sendCommand("fission whoami", true)) 12 | ) 13 | 14 | context.subscriptions.push( 15 | vscode.commands.registerCommand('fissionCommand.appRegister', sendCommand("fission app register", false)) 16 | ) 17 | context.subscriptions.push( 18 | vscode.commands.registerCommand('fissionCommand.appInfo', sendCommand("fission app info", true)) 19 | ) 20 | context.subscriptions.push( 21 | vscode.commands.registerCommand('fissionCommand.appPublish', sendCommand("fission app publish", true)) 22 | ) 23 | context.subscriptions.push( 24 | vscode.commands.registerCommand('fissionCommand.appPublishWatch', sendCommand("fission app publish --watch", true)) 25 | ) 26 | } 27 | 28 | /** 29 | * Open a terminal and send it a command 30 | */ 31 | const sendCommand = (command: string, preserveFocus: boolean) => () => { 32 | const terminal = getTerminal() 33 | if (terminal) { 34 | terminal.show(preserveFocus) 35 | terminal.sendText(command) 36 | } else { 37 | vscode.window.showErrorMessage('No active terminals found.') 38 | } 39 | } 40 | 41 | /** 42 | * Get an existing terminal or open a new one if none are open 43 | */ 44 | function getTerminal(): vscode.Terminal | undefined { 45 | const terminals = (vscode.window).terminals 46 | .filter((terminal: vscode.Terminal) => terminal.name === 'Fission') 47 | return terminals.length > 0 48 | ? terminals[0] 49 | : vscode.window.createTerminal("Fission") 50 | } 51 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "outDir": "out", 6 | "sourceMap": true, 7 | "strict": true, 8 | "rootDir": "src" 9 | }, 10 | "exclude": ["node_modules", ".vscode-test"] 11 | } 12 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "indent": [true, "spaces"], 4 | "semicolon": [true, "never"] 5 | } 6 | } --------------------------------------------------------------------------------