├── .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 |
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 | }
--------------------------------------------------------------------------------