node v18or highernpm(gets installed alongside node)- Dataform cli
- Install and setup gcloud cli for your operating system
1. Build and make changes to the extension
-
Fork this repository, clone it to your desktop and open it in VSCode
-
Run
npm installin your terminal to install all the dependencies -
Click the
Run and debugicon on the left hand pane of your editor and click onRun Extensionbutton
-
This should open a new VSCode window where you can open a Dataform project. Make sure that you folder opened in the workspace is at the root of the Dataform project. For example if your Dataform project is located at
~/repos/my_dataform_projectopen the workspace at~/repos/my_dataform_project, NOT~/repos. Such that eitherworkflow_settings.yamlordataform.jsondepending on the Dataform version you are using is located at the root of the VSCode workspace.
Make the desired changes to the vscode-dataform-tools repo and re-run/refresh the compilation to see the desired outcome in the new VSCode window
-
Test your changes on your Dataform repository. If you are running linux based operating system run
npm run teston your terminal to verify if the exsisiting tests are pasing. There are some caveats with running tests, so do not panic if the test fail to run. The test would not be able to run if your project path is very long this is a known issue reported here. Also, we are having to remove.vscode-test/user-databefore runningvscode-testin thenpm run testscript inpackage.json. These tests currently are only tested to be running on Mac OS. We will need to change the script fornpm run testinpackage.jsonfor it to work in multiple operating systems. -
Run
npm install markdownlint-cli2 --globalto install markdown linter and runmarkdownlint-cli2 README.mdto verify the Markdown is correctly formatted if you have made any changes there.
If you'd like the feature or bug fix to be merged
- Check the exsisting issues to make sure that if it has not been already raised
- Create an issue here
- Create a pull request here
We are using React Flow to create the dependency graph. To build dist/dependancy_graph.js run ./node_modules/.bin/vite build in the terminal. This will watch for changes and rebuild the dist/dependancy_graph.js file.