Spaces:
Running
Running
# Running the SqueakJS Debugger in Lively | |
## Prerequisites | |
You need to have [git](https://git-scm.com/) and | |
[docker](https://docs.docker.com/install/) available on the machine that should | |
host Lively. See [Lively Docker](https://github.com/LivelyKernel/lively-docker) for more details. | |
## Install and Run Lively | |
Now build and run Lively: | |
```sh | |
./start.sh | |
``` | |
The script will first build a docker image using the Dockerfile in this directory. | |
To rebuild it, run `docker build --rm -t squeakjs-lively .` | |
Then the script creates a directory LivelyKernel in the base folder if no such | |
folder exists yet and will clone the [LivelyKernel](https://github.com/LivelyKernel/LivelyKernel) repository into it. | |
Additionally, it will pull down the PartsBin from | |
[lively-web.org](https://lively-web.org). If you want to use an existing Lively | |
install just copy it into this LivelyKernel folder before running `start.sh`. | |
_Please note:_ the `start.sh` script will take a few minutes to run the first | |
time around. This is completly normal, just hang on ;) | |
After the setup steps are done (a message along the lines of `Lively server | |
starting...` appears in the command output) you will be able to access Lively at http://localhost:9001/welcome.html | |
## Run and Debug SqueakJS | |
The whole SqueakJS directory is mapped into the LivelyKernel directory | |
at users/SqueakJS/ | |
Open http://localhost:9001/users/SqueakJS/lively/squeak.html to run the visual debugger. Use Lively's System Browser to modify the VM source code by navigating to users/SqueakJS. When you accept a method in the browser, the file on your disk will be modified. | |
## How it works | |
All the SqueakJS VM files are loaded into Lively by the squeak_lively.js entry point. This is a module that gets loaded by the SqueakMorph's loadSqueakJS() script in lively/squeak.html. | |
That morph implements the platform support code similar to the stand-alone squeak.js one, but using Lively facilities. | |