In-browser bash-like shell implemented in a combination of TypeScript and WebAssembly.
Used in the JupyterLite terminal extension.
The commands used here are either built-in commands implemented in TypeScript, or WebAssembly
commands compiled into .js and .wasm files. The latter are built by
Emscripten-forge and are added to a deployment during the build process.
micromamba env create -f environment-dev.yml -y
micromamba activate cockle
npm install
npm run build
npm run lint:checkThe cockle repository includes a demo so that you can easily try it out interactively in a web
browser. Once you have built cockle, build and run the demo using:
cd demo
npm install
npm run build
npm run servethen open a browser at the specified URL:
The test directory contains playwright end-to-end tests which can be built and run as follows:
cd test
npm install
npx playwright install --with-deps chromium
npm run build
npm run test
npm run test:reportYou can interactively run individual tests using npm run test:ui.
In addition, the demo directory contains separate visual tests that can be run in the same way.
Only Linux screenshots are stored within the repository.