Commit Graph

45 Commits

Author SHA1 Message Date
Asher
3fc556d4d5 Delegate authentication to plugins
Unfortunately since plugins can now override the root this is necessary
or just can't log in.
2021-02-12 16:50:23 -06:00
Asher
0abbc9789e Allow plugins to register at the root
Unfortunately we have existing plugins with routes there which we cannot
move.
2021-02-12 15:19:26 -06:00
Asher
619934dc29 Authenticate plugin routes (#2720) 2021-02-12 14:56:39 -06:00
Asher
e098df0766 Fix code-server module not being provided in Jest 2021-02-09 15:23:08 -06:00
Asher
2879bd4c22 Add type alias for required modules 2021-02-09 13:09:41 -06:00
Asher
c78f56b334 Expose HttpError to plugins
This will let them throw and show nice errors more easily.
2021-02-09 13:09:38 -06:00
Asher
22d194515a Expose replaceTemplates to plugins
This is mainly so they can get relative paths in their HTML, in
particular code-server's static base so they can use the favicon and
service worker.
2021-02-09 13:09:37 -06:00
Asher
5505959f7e Expose websocket server to plugins
Same reasoning used when exposing Express.
2021-02-09 13:09:34 -06:00
Asher
00cfd9bdf1 Add working directory to plugin config 2021-02-09 13:09:31 -06:00
Asher
3211eb1ce5 Expose log level to plugins
In case they need to map it to something else.
2021-02-09 13:09:30 -06:00
Asher
017b1cc633 Add deinit for plugins 2021-02-09 13:09:29 -06:00
Asher
055e0ef9ec Provide WsRouter to plugins 2021-02-09 13:09:27 -06:00
Asher
fb37473e72 Load only test plugin during tests
The other plugins in my path were causing the tests to fail.
2021-02-09 12:20:30 -06:00
Asher
f6b04c7c29 Expose proxy server to plugins 2021-02-09 12:19:39 -06:00
Asher
a8e928798b Re-export express for plugins 2021-02-09 12:19:38 -06:00
Asher
5f1fab7d27 Re-export logger field for plugins 2021-02-09 12:19:36 -06:00
Anmol Sethi
9917da068a v3.7.0 2020-11-16 11:11:50 -05:00
Anmol Sethi
277211c4ce plugin: Make init and applications callbacks optional 2020-11-06 14:47:08 -05:00
Anmol Sethi
9453f891df plugin.ts: Fix usage of routerPath in mount 2020-11-06 10:13:01 -05:00
Anmol Sethi
14f408a837 plugin: Plugin modules now export a single top level identifier
Makes typing much easier. Addresse's Will's last comment.
2020-11-06 10:13:01 -05:00
Anmol Sethi
8a8159c683 plugin: More review fixes
Next commit will address Will's comments about the typings being weird.
2020-11-06 10:13:01 -05:00
Anmol Sethi
706bc23f04 plugin: Fixes for CI 2020-11-06 10:13:01 -05:00
Anmol Sethi
2a13d003d3 plugin.ts: Add homepageURL to plugin and application 2020-11-06 10:12:47 -05:00
Anmol Sethi
687094802e plugin.ts: Make application endpoint paths absolute 2020-11-06 10:12:46 -05:00
Anmol Sethi
139a28e0ea plugin.ts: Describe private counterpart functions
Addresses Will's comments.
2020-11-06 10:12:46 -05:00
Anmol Sethi
afff86ae9c plugin.ts: Adjust to implement pluginapi.d.ts correctly 2020-11-06 10:12:46 -05:00
Anmol Sethi
fed545e67d plugin.d.ts -> pluginapi.d.ts
More clear.
2020-11-06 10:12:46 -05:00
Anmol Sethi
8d3a7721fe plugin.d.ts: Document plugin priority correctly 2020-11-06 10:12:46 -05:00
Anmol Sethi
75e52a3774 plugin.ts: Fixes for @code-asher 2020-11-06 10:12:46 -05:00
Anmol Sethi
f4d7f00033 plugin.ts: Fixes for @wbobeirne 2020-11-06 10:12:46 -05:00
Anmol Sethi
30d2962e21 src/node/plugin.ts: Warn on duplicate plugin and only load first 2020-11-06 10:12:46 -05:00
Anmol Sethi
82e8a00a0d Fix CI 2020-11-06 10:12:46 -05:00
Anmol Sethi
e08a55d44a src/node/plugin.ts: Implement new plugin API 2020-11-06 10:12:45 -05:00
Asher
71dc5c7542 Switch to Express
It doesn't do anything yet.
2020-10-26 17:56:11 -05:00
Asher
c6ba12942c Filter blank plugin directories (#2187)
I neglected to realize that "".split(":") is an array with "" in it.
2020-10-11 02:14:43 -04:00
Asher
c86d7398ab Use system data directory for plugins 2020-10-08 16:18:31 -05:00
Asher
a44b4455f5 Read plugin name from package.json 2020-10-07 12:54:48 -05:00
Asher
c2ac126a50 Log all plugin errors as errors 2020-10-07 12:25:42 -05:00
Asher
ddda280df4 Rename plugin vars and make both colon-separated
Only one was colon separated but now they both are.
2020-10-07 12:18:57 -05:00
Asher
7a982555a8 Add version to plugin load log 2020-09-30 15:52:40 -05:00
Asher
e64b186527 Add variables to better customize plugin directories 2020-09-30 15:52:39 -05:00
Asher
9b979ac869 Document code-server injection 2020-08-05 13:00:37 -05:00
Asher
fd36f8c168 Use error log level for plugin load failure 2020-08-05 13:00:33 -05:00
Asher
361e7103ea Enable loading external plugins 2020-07-31 17:42:48 -05:00
Asher
bac948ea6f Add plugin system 2020-07-31 15:08:02 -05:00