|
1 | | - |
| 1 | +<p align="center"> |
| 2 | + <a href="https://www.typecell.org"> |
| 3 | + <img alt="TypeCell" src="./packages/editor/src/assets/logo_with_text.svg?raw=true" width="300" /> |
| 4 | + </a> |
| 5 | +</p> |
2 | 6 |
|
3 | | -Welcome to TypeCell! Let's reimagine how we can make it easier to understand, build and share knowledge. |
| 7 | +<p align="center"> |
| 8 | +Welcome to TypeCell! An open source live programming environment. Together, we want to make it a lot easier to build software, and ultimately to understand, build and share knowledge. |
| 9 | +</p> |
4 | 10 |
|
5 | | -# Development |
| 11 | +<p align="center"> |
| 12 | +<a href="https://discord.gg/aDQxXezfNj"><img alt="Discord" src="https://img.shields.io/badge/Chat on discord%20-%237289DA.svg?&style=for-the-badge&logo=discord&logoColor=white"/></a> <a href="https://matrix.to/#/#typecell-space:matrix.org"><img alt="Matrix" src="https://img.shields.io/badge/Chat on matrix%20-%23000.svg?&style=for-the-badge&logo=matrix&logoColor=white"/></a> |
| 13 | +</p> |
6 | 14 |
|
7 | | -We use [Lerna](https://lerna.js.org/) to manage the monorepo with separate packages. In VS Code, it's best to open `typecell.code-workspace` to open the project as a workspace. |
| 15 | +## Contributing 🙌 |
8 | 16 |
|
9 | | -## Running |
| 17 | +See [CONTRIBUTING.md](CONTRIBUTING.md). |
10 | 18 |
|
11 | | -Node.js is required to run this project. To download Node.js, visit [nodejs.org](https://nodejs.org/en/). |
| 19 | +TypeCell is organised as a monorepo containing several packages. Directory structure: |
12 | 20 |
|
13 | | -To run the project, open the command line in the project's root directory and enter the following commands: |
| 21 | +``` |
| 22 | +blocknote |
| 23 | +├── docs - Docs / samples (see https://www.typecell.org/docs/) |
| 24 | +├── packages |
| 25 | +│ ├── common - Utility functions shared across the codebase |
| 26 | +│ ├── editor - The main React application |
| 27 | +│ ├── engine - The live-code execution engine |
| 28 | +│ ├── packager - Tool to bundle TypeCell notebook apps (WIP) |
| 29 | +│ └── parsers - Helpers to convert to / from TypeCell notebooks |
| 30 | +├── patches - patch-package patches |
| 31 | +└── test-util - Server and data for unit tests |
| 32 | +``` |
14 | 33 |
|
15 | | - # Install all required npm modules for lerna, and bootstrap lerna packages |
16 | | - npm run install-lerna |
17 | | - npm run bootstrap --force |
| 34 | +The codebase is automatically tested using Vitest and Playwright. |
18 | 35 |
|
19 | | - # Initial build of all packages required by the main editor project |
20 | | - npm run build |
| 36 | +# Credits ❤️ |
21 | 37 |
|
22 | | - # Start the editor project |
23 | | - npm start |
| 38 | +TypeCell is proudly sponsored by the renowned [NLNet foundation](https://nlnet.nl/foundation/) who are on a mission to support an open internet, and protect the privacy and security of internet users. Check them out! |
24 | 39 |
|
25 | | - |
26 | | -## Watch changes |
27 | | - |
28 | | - npm run watch |
29 | | - |
30 | | -The above `npm start` executes the `react-scripts start` command of `packages/editor` and watches for changes to this main package. However, you might also be making changes to other packages in the `packages` directory. To continuously watch and compile for changes, open a new terminal and run `npm run watch`. |
31 | | - |
32 | | -## Updating packages |
33 | | - |
34 | | -If you've pulled changes from git that add new or update existing dependencies, use `npm run bootstrap` instead of `npm install` to install updated dependencies! |
35 | | - |
36 | | -## Adding packages |
37 | | - |
38 | | -- Add the dependency to the relevant `package.json` file (packages/xxx/packages.json) |
39 | | -- run `npm run install-new-packages` |
40 | | -- Double check `package-lock.json` to make sure only the relevant packages have been affected |
| 40 | +<a href="https://nlnet.nl"><img src="https://nlnet.nl/image/logos/NGIAssure_tag.svg" alt="NLNet" width="100"></a> |
0 commit comments