mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-28 18:53:25 +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 | ||