- 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
* Add cursorless-talon-dev
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Tweaks
* More tweaks
* Woops
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
* nx g @nrwl/next:app cursorless-org
* Attempt to get things working
* Remove cypress for now
* Add --prod flag
* Try again
* Another fix
* Remove website-root/index.html
* Use static export
* Another attempt
* whoops
* another
* Some style tweaks
* Add inconsolata
* Working iPhone 13
* Desktop version
* Fix dark
* Cleanup cheatsheet defaults updater support
* Basic working mobile
* More tweaks
* Working desktop
* Center hats
* Initial working embedded video
* Add related videos opt
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add cursorless.org client-side launch config
* Switch to react-player; better error handling
* Working mobile layout
* Move hats component
* Add player controls
* Use video placeholder
* Revert "Use video placeholder"
This reverts commit 40f45286ed.
* Bunch of tweaks from jam sesh
* More jam sesh tweaks
* Working mobile; some desktop tweaks
* Working draft of desktop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Tweak media breakpoints
* Fix isExternal
* Fix button background for light mode
* Docusaurus respect system color scheme
* Some design tweaks
* Font tweaking
* More messing around
* Working mobile
* Work toward proportional layout
* Workign resize code
* Start of screen stuff
* Get layout working at more sizes
* Fix background color on mobile
* Attempt to fix iPhone landscape
* Remove video placeholder
* Add doc comment
* Start adding meta tags
* More styling tweaks
* Add button hover
* Fix favicon
* Attempt to fix social tags
* Hack to use deploy preview URL
* Revert "Hack to use deploy preview URL"
This reverts commit d0251e74d9.
* Fix social embed
* Hack deploy preview URL again
* Revert "Hack deploy preview URL again"
This reverts commit 6acb1326ae.
* Tweak share
* Hack url
* Revert "Hack url"
This reverts commit 77c109d521.
* Cleanup from looking through PR
* More cleanup
* whoops
* bump package-lock
* Fix order of fonts
* Add regular font weight
* Revert cheatsheet
* Kick CI
* Update cursorless-nx/apps/cursorless-org/pages/_app.tsx
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
* Tweaks
* Tweaks
* website/ => docs-site/
* Lots of tweaks
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Attempt to fix docs build
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>