[docs]classJsPlugin(Plugin):""" A JS plugin is a Plugin that allows adding javascript code under the server's URL path "js-plugins/". See https://github.com/deephaven/deephaven-plugins#js-plugins for more details about the underlying construction for JS plugins. """
[docs]@abc.abstractmethoddefpath(self)->pathlib.Path:""" The directory path of the resources to serve. The path must exist. """pass
@property@abc.abstractmethoddefname(self)->str:""" The JS plugin name. The JS plugin contents will be served via the URL path "js-plugins/{name}/", as well as included as the "name" field for the manifest entry in "js-plugins/manifest.json". """pass@property@abc.abstractmethoddefversion(self)->str:""" The JS plugin version. Will be included as the "version" field for the manifest entry in js-plugins/manifest.json". """pass@property@abc.abstractmethoddefmain(self)->str:""" The main JS file path, specified relative to root. The main JS file must exist. Will be included as the "main" field for the manifest entry in "js-plugins/manifest.json". """passdef__str__(self)->str:returnf"{self.name}@{self.version}"