Thanks to visit codestin.com
Credit goes to github.com

Skip to content

jacobtomlinson/cockle

 
 

Repository files navigation

cockle

In-browser bash-like shell implemented in a combination of TypeScript and WebAssembly.

Used in the JupyterLite terminal extension.

⚠️ This is an early-stage work in progress and should be considered experimental code. Anything and everything could change at any time.

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.

Build

micromamba env create -f environment-dev.yml -y
micromamba activate cockle
npm install
npm run build
npm run lint:check

Demo

The 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 serve

then open a browser at the specified URL:

Demo


Testing

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:report

You 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.

About

In-browser bash-like shell implemented in TypeScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 65.1%
  • JavaScript 34.8%
  • HTML 0.1%