mirror of
https://github.com/cursorless-dev/cursorless.git
synced 2024-10-04 21:07:21 +03:00
f90f49677d
- closes https://github.com/cursorless-dev/cursorless/issues/945 - closes https://github.com/cursorless-dev/cursorless/issues/1044 - depends on https://github.com/cursorless-dev/cursorless/pull/1322 - depends on https://github.com/cursorless-dev/cursorless/pull/1327 ## Checklist - [x] Split into smaller PRs for ease of review - [x] Try DX tests again https://github.com/cursorless-dev/cursorless/discussions/1289 - [x] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [x] File issue for speeding up cheatsheet / making it not optional locally https://github.com/cursorless-dev/cursorless/issues/1307 - [x] Set package manager in package.json https://nodejs.org/api/packages.html#packagemanager - [x] Re-add lint rule to prevent api types from importing anything - [x] Try local install - [x] Make sure cheatsheet works - [x] Make sure local extension build depends on building cheatsheet, or allows no cheatsheet - [x] Figure out why we're getting so many extra `internal` modules - [x] Update https://github.com/cursorless-dev/cursorless/issues/931 to indicate we're now patching instead of swizzling - [x] Make sure lint rules are actually running in CI - [x] Check that we've addressed everything in https://github.com/cursorless-dev/cursorless/issues/945 - [x] Incorporate changes from https://github.com/cursorless-dev/cursorless/pull/1166 - [x] ~~Make sure this PR doesn't break doc links; see https://github.com/cursorless-dev/cursorless/pull/942#discussion_r968556276~~ There's no way to avoid these links getting broken if we upgrade typedoc; filed https://github.com/cursorless-dev/cursorless/issues/1304 to track - [x] Revert https://github.com/cursorless-dev/cursorless/pull/1284 - [x] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [x] I have not broken the cheatsheet - [x] Generate cursorless-vscode package.json automatically, and change the name we use to `@cursorless/cursorless-vscode` in the `package.json` checked into source control - [x] Be sure to update meta-updater to check for that instead of name `cursorless` (see fixme in its `index.ts`) ## Desiderata - From https://github.com/cursorless-dev/cursorless/discussions/1289 ### Correctly flagging errors - [x] `D1`: It is a compile error to import external packages that are not listed in `package.json` - [x] `D1.1`: `vscode` (for some reason this one behaves strangely) - [x] `D1.2`: Other packages - [x] `D2`: It is **not** a compile error to import from local packages that you depend on, using our preferred syntax (eg `@cursorless/foo`) - [x] `D3`: It is a compile error to import from local packages that you depend on, **not** using our preferred syntax (eg `../foo`) - [x] `D4`: It is a compile error to import from local packages that you do **not** depend on, either - [x] `D4.1`: using our non-preferred syntax (eg `../packages/foo`), or - [x] `D4.2`: using preferred syntax (eg `@cursorless/foo`) - [ ] `D5`: It is a compile error to import from anything other than `index.ts` in another module - [x] `D5.1`: **no** `@cursorless/foo/bar` - [x] `D5.2`: **no** `../foo/bar` - [x] `a`: Even if you depend on the module - [ ] `b`: Even if `bar` was re-exported in `foo/index.ts`. In that case it should be required to import `@cursorless/foo`. Untested, but probably works, and I ran out of steam 😅 - [x] `D6`: It is **not** a compile error to import external packages listed in `package.json` - [x] `D6.1`: `vscode` (for some reason this one behaves strangely) - [x] `D6.2`: Other packages ### Auto-import - [x] `D7`: Auto-import doesn't import from external packages not listed in `package.json` - [x] `D7.1`: `vscode` (for some reason this one behaves strangely) - [x] `D7.2`: Other packages - [x] `D8`: Auto-import imports from external packages listed in `package.json` - [x] `D8.1`: `vscode` (for some reason this one behaves strangely) - [x] `D8.2`: Other packages - [x] `D9`: Auto-import imports from local packages that you depend on, using our preferred syntax (eg `@cursorless/foo`) - [x] `D10`: Auto-import doesn't import from local packages that you don't depend on - [x] `D11`: Auto-import doesn't import from anything other than `index.ts` in another package (eg **no** `@cursorless/foo/bar`) - [x] `D11.1`: When you depend on the package - [x] `D11.2`: When you don't depend on the package ### Other DX - [x] `D12`: Find references across projects when no file from the referencing project is open - [x] `D13`: Rename across projects when no file from the referencing project is open - [x] `D14`: Jump to definition across projects - [ ] `D15`: It is easy to move a file from one package to another - [ ] `D16`: It is easy to create a new package - [ ] `D17`: Breakpoints work in Cursorless extension - [x] `D18`: Breakpoints work on Cursorless root website - [ ] `D19`: Breakpoints work on Cursorless docs website |
||
---|---|---|
.. | ||
contributing | ||
user |