dataform-co / dataform

Dataform is a framework for managing SQL based data operations in BigQuery
https://cloud.google.com/dataform/docs
Apache License 2.0
811 stars 152 forks source link

When using Dataform in Google Cloud Platform the Dataform extension in VS Code does not work #1589

Open stantyan opened 8 months ago

stantyan commented 8 months ago

We have the following setup:

When installing and enabling Dataform extension in VS Code it shows this error: The Dataform Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted.

In the output: Dataform encountered an error: Could not find a recent installed version of @dataform/core in the project. Ensure packages are installed and upgrade to a recent version.

Does it mean that this extension works only with Dataform Core local repositories?

I just need syntax highlighting and cmd + click on a ref() function feature to go to the file that it references.

Please suggest.

GJMcGowan commented 7 months ago

Hello!

Firstly, as you're using GCP then I would be remiss if I didn't note that we have a Dataform editor in GCP which is a lot more polished and has more functionality than what the vscode extension provides - https://cloud.google.com/dataform/docs/overview

Secondly, you need to have the dataform CLI installed globally, as well as all npm packages inside the project. I think the later is the error you're getting at the moment. So just run npm i in your project directory.

dragonlobster commented 7 months ago

Dataform GCP syntax highlighting is very buggy and problematic. Just one simple example, it breaks the moment you add any regular expression:

select REGEXP_REPLACE(JSON_QUERY(a.json_field, "$.jsonKey"), r'([\'\"])', '') as VALUE
FROM table a
WHERE a.some_field > 1;

image

Even markdown syntax highlighting gets it right where as dataform can't.

michaelsnook commented 5 months ago

you need to have the dataform CLI installed globally, as well as all npm packages inside the project. I think the later is the error you're getting at the moment. So just run npm i in your project directory.

Hi I'm having the same problem. I have packages installed, with dataform globally and npm i in this project. (It was working yesterday; only changed in the middle of my work-day today.) I also did dataform install for good measure. And removed node_modules and started over. Using dataform 2.9.0.

note that we have a Dataform editor in GCP which is a lot more polished and has more functionality than what the vscode extension provides - https://cloud.google.com/dataform/docs/overview

This isn't an option for me because the git integration available in the web interface doesn't allow me to break up my work into commits (and push them without pushing everything I've changed) or to amend commits or to pull amended commits or force-pushed branches. It's just not a good trade-off to have to use a less complete version of git.