test(eslint): ensure common code doesn't contain desktop or browser code
This MR introduces custom eslint rule that fails if code in src/common
folder includes any code from src/desktop
folder or src/browser
folder.
This is an alternative to more complex tools for enforcing code structure like sub-packages or yarn workspaces.
I've done a series of refactoring:
- refactor: split workflow in browser, common, and desktop folders
- refactor: remove common dependency on desktop
- refactor: move code_suggestions to common folder
and reviews alone wouldn't be able to enforce this structure.