Playcanvas-sync pulls only Javascript files, I need the whole project

Hi all, I’m having some problem with playcanvas-sync tool. When I run the pcsync pullAll all I get is javascript files, I want to get the whole application assets, package.json, model files in it.

Is this tool just for javascript files only?
Is there any way to fetch all project files to the local environment? (all entities, their attributes, JSONs, images, index.html etc.)

Here is my verbose config (P.S: I don’t have pcignore.txt file);

PLAYCANVAS_API_KEY: ---
PLAYCANVAS_BASE_URL: https://playcanvas.com
PLAYCANVAS_PROJECT_ID: 913621
PLAYCANVAS_BRANCH_ID: af3db7e1-3312-4856-9b06-5da261f272eb
PLAYCANVAS_TARGET_DIR: /Users/user/Desktop/myapp
PLAYCANVAS_BAD_FILE_REG: /matchNothing/
PLAYCANVAS_BAD_FOLDER_REG: /matchNothing/
PLAYCANVAS_USE_CWD_AS_TARGET: undefined
PLAYCANVAS_INCLUDE_REG: undefined
PLAYCANVAS_FORCE_REG: undefined
PLAYCANVAS_DRY_RUN: undefined
PLAYCANVAS_VERBOSE: 1

playcanvas-sync is only designed for the textual based files in the project such as scripts, txt files etc as mentioned in the overview GitHub - playcanvas/playcanvas-sync: Real-time synchronization of files between PlayCanvas and your local machine

This is predominantly due to the way we store the data of the project. Its not as straightforward as a file store.

Whats the reason for needing the whole project? Perhaps the project archive or the project build might be suitable for your use case.

I’m trying to use PlayCanvas with ClojureScript programming language (so some kind of setup is needed), yes project build works for me. Actually, I want something like syncing the project build.

Not sure what you mean by syncing the project build?

How are you using ClojureScript here? Is it been converted to JS code or are you embedding the PlayCanvas app in some way?

Can you share more information about your workflow please?

ClojureScript compiles to Javascript code. I download the build, my ClojureScript compiler generates app.js and I update the index.html file - (adding app.js). I create everything inside app.js;

(js/pc.createScript('movement'))
...

So why do I need the whole app in sync (other files etc.)? When I change something in the editor (moving an object into somewhere) I want to see the change in my local env.

Why not upload the compiled JS file to the PlayCanvas project and run the project via the launch tab instead of downloading everything to local PC?

Is it because you want to keep the project on local source control like git etc?

Yeah git also a reason, but the important one is I’m using ClojureScript compilers hot reload and REPL features (internally it uses websocket) when I upload to the PlayCanvas project websocket isn’t working. Probably I’m going to use REST API of PlayCanvas to download the app from time to time.

In which case, yes it sounds like using the REST API to download a build is your best bet if the priority is on the hot reloading ClojureScript. It will be rate limited to 5 per minute IIRC.

The PlayCanvas Script types can be hot reloaded but requires a bit of setup if thats an option Hot Reloading | Learn PlayCanvas

Thank you for your help! I appreciate it.