mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-31 15:47:41 +00:00
![]() ## Summary This PR moves `ruff/jupyter` into its own `ruff_notebook` crate. Beyond the move itself, there were a few challenges: 1. `ruff_notebook` relies on the source map abstraction. I've moved the source map into `ruff_diagnostics`, since it doesn't have any dependencies on its own and is used alongside diagnostics. 2. `ruff_notebook` has a couple tests for end-to-end linting and autofixing. I had to leave these tests in `ruff` itself. 3. We had code in `ruff/jupyter` that relied on Python lexing, in order to provide a more targeted error message in the event that a user saves a `.py` file with a `.ipynb` extension. I removed this in order to avoid a dependency on the parser, it felt like it wasn't worth retaining just for that dependency. ## Test Plan `cargo test` |
||
---|---|---|
.. | ||
cell | ||
add_missing_cell_id.ipynb | ||
after_fix.ipynb | ||
before_fix.ipynb | ||
invalid_extension.ipynb | ||
ipy_escape_command.ipynb | ||
ipy_escape_command_expected.ipynb | ||
isort.ipynb | ||
isort_expected.ipynb | ||
no_cell_id.ipynb | ||
no_trailing_newline.ipynb | ||
not_json.ipynb | ||
R.ipynb | ||
unused_variable.ipynb | ||
unused_variable_expected.ipynb | ||
valid.ipynb | ||
wrong_schema.ipynb |