Rules
This section documents all rules currently provided by eslint-plugin-jupyter.
command-described-by
Ensure JupyterLab command registrations include a describedBy property.
galata-prefer-context-menu-helper
Use Galata's document-opening helpers instead of separate Playwright actions to navigate the file browser's Open With menu.
galata-prefer-filebrowser-helper
Prefer Galata's page.filebrowser and page.notebook helpers over raw Playwright selectors for JupyterLab file browser interactions.
galata-prefer-menu-helper
Prefer Galata's page.menu helper over raw Playwright selectors for JupyterLab main menu traversal.
galata-prefer-notebook-cell-helper
Prefer the Galata page.notebook helper over raw Playwright selectors and keyboard shortcuts for notebook cell operations.
galata-prefer-sidebar-activity-helper
Prefer Galata's sidebar and activity helpers over raw Playwright selectors when opening sidebar tabs or activating main area tabs.
incorrect-translator-usage
Store translation bundles under a name the translation extractor recognizes, such as trans.
no-dynamic-translation
Require JupyterLab translation messages to be written as literals at the call
no-pageconfig-base-url
Disallow calling PageConfig.getBaseUrl() outside of makeSettings().
no-schema-enum
Disallow enum in settings JSON schema files; use oneOf with const, title, and an explicit type instead.
no-translation-concatenation
Forbid concatenating dynamic values into JupyterLab translation messages.
no-untranslated-string
Wrap user-facing text in a translation call such as trans.().
plugin-activation-args
Ensure JupyterLab plugin activate arguments match the order and count of requires and optional tokens.
plugin-description
Ensure all JupyterFrontEndPlugin objects define a non-empty description property.
plugin-id-convention
Prefix each plugin ID with the extension package name followed by :.
prefer-lazy-imports
Load heavy dependencies when a plugin needs them, so they do not delay startup.
prefer-signal-this-arg
Pass this when connecting a signal that can outlive the receiving object, so disposal can remove the connection.
require-disposable-ownership
Require newly created disposable objects to be owned, returned, assigned to a
require-disposable-transfer
Require calls returning IDisposable to transfer ownership to a caller, field,
require-signal-cleanup
Disconnect from long-lived services when disposing the object that listens to them.
require-signal-this-arg
Require this as the second argument when a class method that uses this is connected to a Lumino signal.
require-soft-assertions-before-snapshots
Require expect.soft() for snapshot assertions that are not the last in a Playwright test block.
token-format
Use : for JupyterLab token IDs.