Contributing
Project description
Pre-requisites: Node >=18, Yarn
Dockview is a layout manager library designed to provide a complete layouting solution. It is written in plain TypeScript and can be used without any framework although an extensive React wrapper has always and will always be provided for those using the React framework.
The project is hosted on GitHub and developed within a Monorepo powered by Lerna.
It is developed using the yarn package manager since at the time of creation yarn was far superior when it came to managing monorepos.
The Monorepo contains three packages:
packages/dockview-core
The core project is entirely written in plain TypeScript without any frameworks or dependencies and it's source-code can be found
within the dockview-core package which is also published to npm.
packages/dockview
A complete collection of React components for use through the React framework to use dockview seamlessly
and is published to npm. It depends explicitly on dockview-core so there is no need to additionally install dockview-core.
Dockview was originally a React-only library which is why the React version maintains the name
dockviewafter splitting the core logic into a seperate package nameddockview-core.
packages/docs
This package contains the code for this documentation website and examples hosted through CodeSandbox. It is not a published package on npm.
Run the project locally
- After you have cloned the project from GitHub run
yarnat the root of the project which will install all project dependencies. - In order build
packages/dockview-corethenpackages/dockview. - Run the docs website through
npm run startin thepackages/docsdirectory and go to http://localhost:3000 which will now be running the local copy ofdockviewthat you have just built.
Examples
All examples can be found under packages/docs/sandboxes. Each example is an independently runnable example through CodeSandbox. Through the documentation you will see links to runnable CodeSandbox examples.
FAQ
Are there any plans to publish wrapper libraries for other frameworks such as Angular and Vue?
Vue3 is now supported through the dockview-vue package, an Angular wrapper is intended once time permits.