Skip to content

Commit 5d367bc

Browse files
committed
feat: add the lineage panel
1 parent d53e787 commit 5d367bc

88 files changed

Lines changed: 33779 additions & 2490 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,7 @@ athena-test: guard-AWS_ACCESS_KEY_ID guard-AWS_SECRET_ACCESS_KEY guard-ATHENA_S3
178178
vscode_settings:
179179
mkdir -p .vscode
180180
cp -r ./tooling/vscode/*.json .vscode/
181+
182+
vscode-generate-openapi:
183+
python3 web/server/openapi.py --output vscode/extension/openapi.json
184+
cd vscode/react && npm run generate:api

docs/development.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ SQLMesh is licensed under [Apache 2.0](https://github.com/TobikoData/sqlmesh/blo
44

55
## Prerequisites
66

7+
<<<<<<< HEAD
78
Before you begin, ensure you have the following installed on your machine. Exactly how to install these is dependent on your operating system.
9+
=======
10+
Before you begin, ensure you have the following installed on your machine. Exacltly how to install these is dependent on your operating system.
11+
>>>>>>> afd4b2c1 (opening extension in right place)
812
913
* Docker
1014
* Docker Compose V2
@@ -25,9 +29,47 @@ Once you have activated your virtual environment, you can install the dependenci
2529
```bash
2630
make install-dev
2731
```
32+
<<<<<<< HEAD
2833

2934
Optionally, you can use pre-commit to automatically run linters/formatters:
3035

36+
=======
37+
<<<<<<< HEAD
38+
Run linters and formatters:
39+
```bash
40+
make style
41+
```
42+
Run faster tests for quicker local feedback:
43+
```bash
44+
make fast-test
45+
```
46+
Run more comprehensive tests that run on each commit:
47+
```bash
48+
make slow-test
49+
```
50+
Install docs dependencies:
51+
```bash
52+
make install-doc
53+
```
54+
Run docs server:
55+
```bash
56+
make docs-serve
57+
```
58+
Run docs tests:
59+
```bash
60+
make doc-test
61+
```
62+
Run ide:
63+
```bash
64+
make ui-up
65+
```
66+
(Optional) Use pre-commit to automatically run linters/formatters:
67+
=======
68+
69+
Optionally, you can use pre-commit to automatically run linters/formatters:
70+
71+
>>>>>>> 61520e5a (creating the docs)
72+
>>>>>>> afd4b2c1 (opening extension in right place)
3173
```bash
3274
make install-pre-commit
3375
```
@@ -52,6 +94,15 @@ Run more comprehensive tests that run on each commit:
5294
make slow-test
5395
```
5496

97+
<<<<<<< HEAD
98+
=======
99+
Run Airflow tests that will run when PR is merged to main:
100+
101+
```bash
102+
make airflow-docker-test-with-env
103+
```
104+
105+
>>>>>>> afd4b2c1 (opening extension in right place)
55106
## Documentation
56107

57108
In order to run the documentation server, you will need to install the dependencies by running the following command.
@@ -90,6 +141,7 @@ make ui-up
90141

91142
## Developing the VSCode extension
92143

144+
<<<<<<< HEAD
93145
Similar to UI development, you can also develop the VSCode extension. To do so, make sure you have the dependencies installed by running the following command inside the `vscode/extension` directory.
94146

95147
```bash
@@ -101,3 +153,37 @@ Once that is done, developing the VSCode extension is most easily done by launch
101153
```bash
102154
make vscode_settings
103155
```
156+
=======
157+
Developing the VSCode extension is most easily done by launching the debug process from a visual studio code workspace.
158+
159+
By default, the VSCode extension will run the SQLMesh server locally and open a new visual studio code window that allows you to try out the SQLMesh IDE. It by default opens the `examples/sushi` project.
160+
161+
Please see the below diagram for a high level overview of the UI.
162+
163+
```mermaid
164+
graph TD
165+
A[VSCode Extension] --> |start server| B[SQLMesh Server]
166+
A --> |creates webviews| C[Webviews]
167+
C --> |reads react webpages from| B
168+
A --> |calls lsp| B
169+
React[React App] --> |embedded in| B
170+
```
171+
172+
For development purposes, the React app is not embedded into the python server. Instead a separate instance of the React app is run. This allows you to make changes to the UI and see them immediately.
173+
174+
This makes the architecture diagram at development time look like the following.
175+
176+
```mermaid
177+
graph TD
178+
A[VSCode Extension] --> |start server| B[SQLMesh Server]
179+
A --> |creates webviews| C[Webviews]
180+
React [React Server] --> |passes on api requests| B
181+
C --> |reads react webpages from| React
182+
```
183+
184+
In development mode, the React app is not embedded into the python server. Instead a separate instance of the React app is run. This allows you to make changes to the UI and see them immediately.
185+
186+
The React App runs on the port 5173. The VSCode extension will automatically open the React app in a new tab.
187+
The python server will run on the port 5174.
188+
189+
>>>>>>> afd4b2c1 (opening extension in right place)

0 commit comments

Comments
 (0)