From 75156c017ad1a827277fd5ad54fb5d02a3b8d047 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Thu, 23 Oct 2025 10:30:06 +0100 Subject: [PATCH] Add WebAssembly build, cockle and terminal deployments, and testing --- .gitignore | 1 + README.md | 10 +++ test/__init__.py | 0 test/conftest.py | 9 ++- test/conftest_wasm.py | 55 ++++++++++++++ wasm/.gitignore | 2 + wasm/Makefile | 28 +++++++ wasm/README.md | 70 ++++++++++++++++++ wasm/build/.gitignore | 1 + wasm/build/Makefile | 31 ++++++++ wasm/build/modify-recipe.py | 49 ++++++++++++ wasm/cockle-config.png | Bin 0 -> 218676 bytes wasm/cockle-deploy/.gitignore | 3 + wasm/cockle-deploy/Makefile | 16 ++++ wasm/cockle-deploy/assets/index.html | 10 +++ wasm/cockle-deploy/cockle-config-in.json | 19 +++++ wasm/cockle-deploy/package.json | 28 +++++++ wasm/cockle-deploy/rspack.config.js | 29 ++++++++ wasm/cockle-deploy/src/defs.ts | 10 +++ wasm/cockle-deploy/src/deployment.ts | 63 ++++++++++++++++ wasm/cockle-deploy/src/index.ts | 13 ++++ wasm/cockle-deploy/src/style/deployment.css | 10 +++ wasm/cockle-deploy/tsconfig.json | 24 ++++++ wasm/common.mk | 5 ++ wasm/lite-deploy/.gitignore | 4 + wasm/lite-deploy/Makefile | 15 ++++ wasm/lite-deploy/cockle-config-in.json | 19 +++++ wasm/lite-deploy/jupyter-lite.json | 6 ++ wasm/serve/index.html | 13 ++++ wasm/test/.gitignore | 5 ++ wasm/test/Makefile | 20 +++++ wasm/test/assets/index.html | 9 +++ wasm/test/cockle-config-in.json | 19 +++++ wasm/test/package.json | 23 ++++++ wasm/test/rspack.config.js | 36 +++++++++ wasm/test/src/index.ts | 78 ++++++++++++++++++++ wasm/test/src/utils.ts | 28 +++++++ wasm/test/tsconfig.json | 26 +++++++ wasm/wasm-environment.yml | 19 +++++ 39 files changed, 805 insertions(+), 1 deletion(-) create mode 100644 test/__init__.py create mode 100644 test/conftest_wasm.py create mode 100644 wasm/.gitignore create mode 100644 wasm/Makefile create mode 100644 wasm/README.md create mode 100644 wasm/build/.gitignore create mode 100644 wasm/build/Makefile create mode 100644 wasm/build/modify-recipe.py create mode 100644 wasm/cockle-config.png create mode 100644 wasm/cockle-deploy/.gitignore create mode 100644 wasm/cockle-deploy/Makefile create mode 100644 wasm/cockle-deploy/assets/index.html create mode 100644 wasm/cockle-deploy/cockle-config-in.json create mode 100644 wasm/cockle-deploy/package.json create mode 100644 wasm/cockle-deploy/rspack.config.js create mode 100644 wasm/cockle-deploy/src/defs.ts create mode 100644 wasm/cockle-deploy/src/deployment.ts create mode 100644 wasm/cockle-deploy/src/index.ts create mode 100644 wasm/cockle-deploy/src/style/deployment.css create mode 100644 wasm/cockle-deploy/tsconfig.json create mode 100644 wasm/common.mk create mode 100644 wasm/lite-deploy/.gitignore create mode 100644 wasm/lite-deploy/Makefile create mode 100644 wasm/lite-deploy/cockle-config-in.json create mode 100644 wasm/lite-deploy/jupyter-lite.json create mode 100644 wasm/serve/index.html create mode 100644 wasm/test/.gitignore create mode 100644 wasm/test/Makefile create mode 100644 wasm/test/assets/index.html create mode 100644 wasm/test/cockle-config-in.json create mode 100644 wasm/test/package.json create mode 100644 wasm/test/rspack.config.js create mode 100644 wasm/test/src/index.ts create mode 100644 wasm/test/src/utils.ts create mode 100644 wasm/test/tsconfig.json create mode 100644 wasm/wasm-environment.yml diff --git a/.gitignore b/.gitignore index e4f7ae8..9e99726 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ build/ __pycache__/ .cache/ compile_commands.json +serve.log diff --git a/README.md b/README.md index 64c6743..6a05a76 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,13 @@ The CLI is tested using `python`. From the top-level directory: ```bash pytest -v ``` + +# WebAssembly build and deployment + +The `wasm` directory contains everything needed to build the local `git2cpp` source code as an +WebAssembly [Emscripten-forge](https://emscripten-forge.org/) package, create local +[cockle](https://github.com/jupyterlite/cockle) and +[JupyterLite terminal](https://github.com/jupyterlite/terminal) deployments that run in a browser, +and test the WebAssembly build. + +See the `README.md` in the `wasm` directory for further details. diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/conftest.py b/test/conftest.py index 576b5a3..3266ce9 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -3,6 +3,10 @@ import pytest import subprocess +GIT2CPP_TEST_WASM = os.getenv('GIT2CPP_TEST_WASM') == "1" + +if GIT2CPP_TEST_WASM: + from .conftest_wasm import * # Fixture to run test in current tmp_path @pytest.fixture @@ -14,7 +18,10 @@ def run_in_tmp_path(tmp_path): @pytest.fixture(scope='session') def git2cpp_path(): - return Path(__file__).parent.parent / 'build' / 'git2cpp' + if GIT2CPP_TEST_WASM: + return 'git2cpp' + else: + return Path(__file__).parent.parent / 'build' / 'git2cpp' @pytest.fixture def xtl_clone(git2cpp_path, tmp_path, run_in_tmp_path): diff --git a/test/conftest_wasm.py b/test/conftest_wasm.py new file mode 100644 index 0000000..89d5061 --- /dev/null +++ b/test/conftest_wasm.py @@ -0,0 +1,55 @@ +# Extra fixtures used for wasm testing. +from functools import partial +from pathlib import Path +from playwright.sync_api import Page +import pytest +import subprocess +import time + +@pytest.fixture(scope="session", autouse=True) +def run_web_server(): + with open('serve.log', 'w') as f: + cwd = Path(__file__).parent.parent / 'wasm/test' + proc = subprocess.Popen( + ['npm', 'run', 'serve'], stdout=f, stderr=f, cwd=cwd + ) + # Wait a bit until server ready to receive connections. + time.sleep(0.3) + yield + proc.terminate() + +@pytest.fixture(scope="function", autouse=True) +def load_page(page: Page): + # Load web page at start of every test. + page.goto("http://localhost:8000") + page.locator("#loaded").wait_for() + +def subprocess_run( + page: Page, + cmd: list[str], + *, + capture_output: bool = False, + cwd: str | None = None, + text: bool | None = None +) -> subprocess.CompletedProcess: + if cwd is not None: + raise RuntimeError('cwd is not yet supported') + + proc = page.evaluate("async cmd => window.cockle.shellRun(cmd)", cmd) + # TypeScript object is auto converted to Python dict. + # Want to return subprocess.CompletedProcess, consider namedtuple if this fails in future. + stdout = proc['stdout'] if capture_output else '' + stderr = proc['stderr'] if capture_output else '' + if not text: + stdout = stdout.encode("utf-8") + stderr = stderr.encode("utf-8") + return subprocess.CompletedProcess( + args=cmd, + returncode=proc['returncode'], + stdout=stdout, + stderr=stderr + ) + +@pytest.fixture(scope="function", autouse=True) +def mock_subprocess_run(page: Page, monkeypatch): + monkeypatch.setattr(subprocess, "run", partial(subprocess_run, page)) diff --git a/wasm/.gitignore b/wasm/.gitignore new file mode 100644 index 0000000..abcddf3 --- /dev/null +++ b/wasm/.gitignore @@ -0,0 +1,2 @@ +serve/cockle/ +serve/lite/ diff --git a/wasm/Makefile b/wasm/Makefile new file mode 100644 index 0000000..1500fc4 --- /dev/null +++ b/wasm/Makefile @@ -0,0 +1,28 @@ +default: build +.PHONY: build clean rebuild serve test + +build: + make -C build $@ + make -C cockle-deploy $@ + make -C lite-deploy $@ + make -C test $@ + +# Rebuild after change in C++ source code. +rebuild: + make -C build $@ + make -C cockle-deploy $@ + make -C lite-deploy $@ + make -C test $@ + +# Serve both cockle and JupyterLite deployments. +serve: + npx static-handler serve + +test: + make -C test $@ + +clean: + make -C build $@ + make -C cockle-deploy $@ + make -C lite-deploy $@ + make -C test $@ diff --git a/wasm/README.md b/wasm/README.md new file mode 100644 index 0000000..3b0a05a --- /dev/null +++ b/wasm/README.md @@ -0,0 +1,70 @@ +# Building and testing git2cpp in WebAssembly + +This directory contains everything needed to build the local `git2cpp` source code as an +WebAssembly [Emscripten-forge](https://emscripten-forge.org/) package, create local +[cockle](https://github.com/jupyterlite/cockle) and +[JupyterLite terminal](https://github.com/jupyterlite/terminal) deployments that run in a browser, +and test the WebAssembly build. + +It works on Linux and macOS but not Windows. + +There are 5 sub-directories: + +- `build`: build local `git2cpp` source code into an Emscripten-forge package. +- `cockle-deploy`: create a `cockle` deployment in the `serve` directory. +- `lite-deploy`: create a JupyterLite `terminal` deployment in the `serve` directory. +- `serve`: where the two deployments are served from. +- `test`: test the WebAssembly build. + +## Build and deploy + +The build, deploy and test process uses a separate `micromamba` environment defined in +`wasm-environment.yml`. To set this up use from within this directory: + +```bash +micromamba create -f wasm-environment.yml +micromamba activate git2cpp-wasm +``` + +Then to build the WebAssembly package, both deployments and the testing resources use: + +```bash +make +``` + +The local deployments in the `serve` directory can be manually checked using: + +```bash +make serve +``` + +and open a web browser at http://localhost:8080/. Confirm that the local build of `git2cpp` is being +used in the two deployments by running `cockle-config package` at the command line, the output +should be something like: + +cockle-config output + +Note that the `source` for the `git2cpp` package is the local filesystem rather than from +`prefix.dev`. The version number of `git2cpp` in this table is not necessarily correct as it is the +version number of the current Emscripten-forge recipe rather than the version of the local `git2cpp` +source code which can be checked using `git2cpp -v` at the `cockle`/`terminal` command line. + +## Test + +To test the WebAssembly build use: + +```bash +make test +``` + +This runs (some of) the tests in the top-level `test` directory with various monkey patching so that +`git2cpp` commands are executed in the browser. + +## Rebuild + +After making changes to the local `git2cpp` source code you can rebuild the WebAssembly package, +both deployments and test code using: + +```bash +make rebuild +``` diff --git a/wasm/build/.gitignore b/wasm/build/.gitignore new file mode 100644 index 0000000..5cb90c1 --- /dev/null +++ b/wasm/build/.gitignore @@ -0,0 +1 @@ +em-forge-recipes/ diff --git a/wasm/build/Makefile b/wasm/build/Makefile new file mode 100644 index 0000000..5335964 --- /dev/null +++ b/wasm/build/Makefile @@ -0,0 +1,31 @@ +default: build +.PHONY: build clean clean-output-dir modify-recipe rebuild + +include ../common.mk + +EM_FORGE_RECIPES_REPO = https://github.com/emscripten-forge/recipes +GIT2CPP_RECIPE_DIR = recipes/recipes_emscripten/git2cpp +RATTLER_ARGS = --package-format tar-bz2 --target-platform emscripten-wasm32 -c https://repo.prefix.dev/emscripten-forge-dev -c microsoft -c conda-forge + +# Only want the git2cpp recipe from emscripten-forge/recipes repo, not the whole repo. +# Note removing the .git directory otherwise `git clean -fxd` will not remove the directory. +$(EM_FORGE_RECIPES_DIR): + git clone --no-checkout ${EM_FORGE_RECIPES_REPO} --depth 1 $@ + cd $@ && git sparse-checkout init + cd $@ && git sparse-checkout set $(GIT2CPP_RECIPE_DIR) + cd $@ && git checkout main + rm -rf $@/.git + +modify-recipe: $(EM_FORGE_RECIPES_DIR) + python modify-recipe.py $(EM_FORGE_RECIPES_DIR)/$(GIT2CPP_RECIPE_DIR) + +build: modify-recipe + cd $(EM_FORGE_RECIPES_DIR) && rattler-build build $(RATTLER_ARGS) --recipe $(GIT2CPP_RECIPE_DIR) + +rebuild: clean-output-dir build + +clean: + rm -rf $(EM_FORGE_RECIPES_DIR) + +clean-output-dir: + rm -rf $(BUILT_PACKAGE_DIR) diff --git a/wasm/build/modify-recipe.py b/wasm/build/modify-recipe.py new file mode 100644 index 0000000..70a3d83 --- /dev/null +++ b/wasm/build/modify-recipe.py @@ -0,0 +1,49 @@ +# Modify the git2cpp emscripten-forge recipe to build from the local repo. +# This can be called repeatedly and will produce the same output. + +from pathlib import Path +import shutil +import sys +import yaml + + +def quit(msg): + print(msg) + exit(1) + +if len(sys.argv) < 2: + quit(f'Usage: {sys.argv[0]} ') + +input_dir = Path(sys.argv[1]) +if not input_dir.is_dir(): + quit(f'{input_dir} should exist and be a directory') + +input_filename = input_dir / 'recipe.yaml' +if not input_filename.is_file(): + quit(f'{input_filename} should exist and be a file') + +# If backup does not exist create it. +input_backup = input_dir / 'recipe_original.yaml' +backup_exists = input_backup.exists() +if not backup_exists: + shutil.copy(input_filename, input_backup) + +# Read and parse input backup file which is the original recipe file. +with open(input_backup) as f: + recipe = yaml.safe_load(f) + +build_number = recipe['build']['number'] +print(f' Changing build number from {build_number} to {build_number+1}') +recipe['build']['number'] = build_number+1 + +source = recipe['source'] +if not ('sha256' in source and 'url' in source): + raise RuntimeError('Expected recipe to have both a source sha256 and url') +del source['sha256'] +del source['url'] +print(' Changing source to point to local git2cpp repo') +source['path'] = '../../../../../../' + +# Overwrite recipe file. +with open(input_filename, 'w') as f: + yaml.dump(recipe, f) diff --git a/wasm/cockle-config.png b/wasm/cockle-config.png new file mode 100644 index 0000000000000000000000000000000000000000..c38454db2295392cdedcf655fbb21cbcc9e21027 GIT binary patch literal 218676 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

XE<5eDV*y717M4Z4Qhjw##L3Ac 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

*MTyjfCI<{% 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 OfWXt$&t;ucLK6U5R-Zor literal 0 HcmV?d00001 diff --git a/wasm/cockle-deploy/.gitignore b/wasm/cockle-deploy/.gitignore new file mode 100644 index 0000000..8ecb5e8 --- /dev/null +++ b/wasm/cockle-deploy/.gitignore @@ -0,0 +1,3 @@ +cockle_wasm_env/ +node_modules/ +package-lock.json diff --git a/wasm/cockle-deploy/Makefile b/wasm/cockle-deploy/Makefile new file mode 100644 index 0000000..f4ccd5d --- /dev/null +++ b/wasm/cockle-deploy/Makefile @@ -0,0 +1,16 @@ +default: build +.PHONY: build clean clean-env rebuild + +include ../common.mk + +build: + npm install + COCKLE_WASM_EXTRA_CHANNEL=$(BUILT_PACKAGE_DIR) npm run build + +rebuild: clean-env build + +clean: clean-env + rm -rf ../serve/cockle node_modules/ + +clean-env: + rm -rf cockle_wasm_env/ diff --git a/wasm/cockle-deploy/assets/index.html b/wasm/cockle-deploy/assets/index.html new file mode 100644 index 0000000..1b1b8cc --- /dev/null +++ b/wasm/cockle-deploy/assets/index.html @@ -0,0 +1,10 @@ + + + + cockle-deployment for git2cpp + + + +

+ + diff --git a/wasm/cockle-deploy/cockle-config-in.json b/wasm/cockle-deploy/cockle-config-in.json new file mode 100644 index 0000000..bbb59a1 --- /dev/null +++ b/wasm/cockle-deploy/cockle-config-in.json @@ -0,0 +1,19 @@ +{ + "packages": { + "git2cpp": {}, + "nano": {}, + "tree": {}, + "vim": {} + }, + "aliases": { + "git": "git2cpp", + "vi": "vim" + }, + "environment": { + "GIT_CORS_PROXY": "https://corsproxy.io/?url=", + "GIT_AUTHOR_NAME": "Jane Doe", + "GIT_AUTHOR_EMAIL": "jane.doe@blabla.com", + "GIT_COMMITTER_NAME": "Jane Doe", + "GIT_COMMITTER_EMAIL": "jane.doe@blabla.com" + } +} diff --git a/wasm/cockle-deploy/package.json b/wasm/cockle-deploy/package.json new file mode 100644 index 0000000..02becca --- /dev/null +++ b/wasm/cockle-deploy/package.json @@ -0,0 +1,28 @@ +{ + "name": "cockle-deploy", + "scripts": { + "build": "rspack build", + "postbuild": "npm run postbuild:wasm && npm run postbuild:index", + "postbuild:wasm": "node node_modules/@jupyterlite/cockle/lib/tools/prepare_wasm.js --copy ../serve/cockle/", + "postbuild:index": "cp assets/index.html ../serve/cockle/" + }, + "main": "../serve/cockle/index.js", + "types": "../serve/cockle/index.d.ts", + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@rspack/cli": "^1.0.4", + "@rspack/core": "^1.0.4", + "css-loader": "^7.1.2", + "style-loader": "^4.0.0", + "ts-loader": "^9.5.1", + "typescript": "^5.4.5" + }, + "dependencies": { + "@jupyterlite/cockle": "^1.2.0", + "@xterm/addon-fit": "^0.10.0", + "@xterm/xterm": "^5.5.0", + "deepmerge-ts": "^7.1.4" + } +} diff --git a/wasm/cockle-deploy/rspack.config.js b/wasm/cockle-deploy/rspack.config.js new file mode 100644 index 0000000..d6e29ff --- /dev/null +++ b/wasm/cockle-deploy/rspack.config.js @@ -0,0 +1,29 @@ +const path = require('path'); + +module.exports = { + mode: 'development', + entry: './src/index.ts', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + { + test: /\.css$/, + use: [ + 'style-loader', + 'css-loader' + ] + } + ] + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + }, + output: { + filename: 'bundle.js', + path: path.resolve(__dirname, '../serve/cockle'), + } +}; diff --git a/wasm/cockle-deploy/src/defs.ts b/wasm/cockle-deploy/src/defs.ts new file mode 100644 index 0000000..a44acd7 --- /dev/null +++ b/wasm/cockle-deploy/src/defs.ts @@ -0,0 +1,10 @@ +import { IShellManager } from '@jupyterlite/cockle'; + +export namespace IDeployment { + export interface IOptions { + baseUrl: string; + browsingContextId: string; + shellManager: IShellManager; + targetDiv: HTMLElement; + } +} diff --git a/wasm/cockle-deploy/src/deployment.ts b/wasm/cockle-deploy/src/deployment.ts new file mode 100644 index 0000000..e10b1ca --- /dev/null +++ b/wasm/cockle-deploy/src/deployment.ts @@ -0,0 +1,63 @@ +import { Shell } from '@jupyterlite/cockle' +import { FitAddon } from '@xterm/addon-fit' +import { Terminal } from '@xterm/xterm' +import { IDeployment } from './defs' + +export class Deployment { + constructor(options: IDeployment.IOptions) { + this._targetDiv = options.targetDiv; + + const termOptions = { + rows: 50, + theme: { + foreground: "ivory", + background: "#111111", + cursor: "silver" + }, + } + this._term = new Terminal(termOptions) + + this._fitAddon = new FitAddon() + this._term.loadAddon(this._fitAddon) + + const { baseUrl, browsingContextId, shellManager } = options; + + this._shell = new Shell({ + browsingContextId, + baseUrl, + wasmBaseUrl: baseUrl, + shellManager, + outputCallback: this.outputCallback.bind(this), + }) + } + + async start(): Promise { + this._term!.onResize(async (arg: any) => await this.onResize(arg)) + this._term!.onData(async (data: string) => await this.onData(data)) + + const resizeObserver = new ResizeObserver((entries) => { + this._fitAddon!.fit() + }) + + this._term!.open(this._targetDiv) + await this._shell.start() + resizeObserver.observe(this._targetDiv) + } + + async onData(data: string): Promise { + await this._shell.input(data) + } + + async onResize(arg: any): Promise { + await this._shell.setSize(arg.rows, arg.cols) + } + + private outputCallback(text: string): void { + this._term!.write(text) + } + + private _targetDiv: HTMLElement; + private _term: Terminal + private _fitAddon: FitAddon + private _shell: Shell +} diff --git a/wasm/cockle-deploy/src/index.ts b/wasm/cockle-deploy/src/index.ts new file mode 100644 index 0000000..ac63e63 --- /dev/null +++ b/wasm/cockle-deploy/src/index.ts @@ -0,0 +1,13 @@ +import { ShellManager } from '@jupyterlite/cockle'; +import "./style/deployment.css" +import { Deployment } from "./deployment"; + +document.addEventListener("DOMContentLoaded", async () => { + const baseUrl = window.location.href; + const shellManager = new ShellManager(); + const browsingContextId = await shellManager.installServiceWorker(baseUrl); + + const targetDiv: HTMLElement = document.getElementById('targetdiv')!; + const playground = new Deployment({ baseUrl, browsingContextId, shellManager, targetDiv }); + await playground.start(); +}) diff --git a/wasm/cockle-deploy/src/style/deployment.css b/wasm/cockle-deploy/src/style/deployment.css new file mode 100644 index 0000000..a4f26b4 --- /dev/null +++ b/wasm/cockle-deploy/src/style/deployment.css @@ -0,0 +1,10 @@ +@import '~@xterm/xterm/css/xterm.css'; + +body { + background-color: darkslategray; +} + +#targetdiv { + border: 2px solid black; + height: 100%; +} diff --git a/wasm/cockle-deploy/tsconfig.json b/wasm/cockle-deploy/tsconfig.json new file mode 100644 index 0000000..89b3e89 --- /dev/null +++ b/wasm/cockle-deploy/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "composite": true, + "declaration": true, + "esModuleInterop": true, + "incremental": true, + "lib": ["es2022", "webworker"], + "module": "esnext", + "moduleResolution": "node", + "noEmitOnError": true, + "noImplicitAny": true, + "noUnusedLocals": true, + "preserveWatchOutput": true, + "resolveJsonModule": true, + "outDir": "../serve/cockle", + "rootDir": "src", + "strict": true, + "strictNullChecks": true, + "target": "es2022", + "sourceMap": true + }, + "include": ["src/**/*"] +} diff --git a/wasm/common.mk b/wasm/common.mk new file mode 100644 index 0000000..00861b4 --- /dev/null +++ b/wasm/common.mk @@ -0,0 +1,5 @@ +# Relative to build directory +EM_FORGE_RECIPES_DIR = em-forge-recipes + +# Relative to subdirectories +BUILT_PACKAGE_DIR = ../build/$(EM_FORGE_RECIPES_DIR)/output diff --git a/wasm/lite-deploy/.gitignore b/wasm/lite-deploy/.gitignore new file mode 100644 index 0000000..4dba5b3 --- /dev/null +++ b/wasm/lite-deploy/.gitignore @@ -0,0 +1,4 @@ +.cockle_temp/ +.jupyterlite.doit.db +cockle-config.json +cockle_wasm_env/ diff --git a/wasm/lite-deploy/Makefile b/wasm/lite-deploy/Makefile new file mode 100644 index 0000000..90464d7 --- /dev/null +++ b/wasm/lite-deploy/Makefile @@ -0,0 +1,15 @@ +default: build +.PHONY: build clean rebuild + +include ../common.mk + +OUTPUT_DIR=../serve/lite + +build: + jupyter lite --version + COCKLE_WASM_EXTRA_CHANNEL=$(BUILT_PACKAGE_DIR) jupyter lite build --output-dir $(OUTPUT_DIR) + +rebuild: clean build + +clean: + rm -rf .cockle_temp/ .jupyterlite.doit.db cockle_wasm_env/ $(OUTPUT_DIR) diff --git a/wasm/lite-deploy/cockle-config-in.json b/wasm/lite-deploy/cockle-config-in.json new file mode 100644 index 0000000..bbb59a1 --- /dev/null +++ b/wasm/lite-deploy/cockle-config-in.json @@ -0,0 +1,19 @@ +{ + "packages": { + "git2cpp": {}, + "nano": {}, + "tree": {}, + "vim": {} + }, + "aliases": { + "git": "git2cpp", + "vi": "vim" + }, + "environment": { + "GIT_CORS_PROXY": "https://corsproxy.io/?url=", + "GIT_AUTHOR_NAME": "Jane Doe", + "GIT_AUTHOR_EMAIL": "jane.doe@blabla.com", + "GIT_COMMITTER_NAME": "Jane Doe", + "GIT_COMMITTER_EMAIL": "jane.doe@blabla.com" + } +} diff --git a/wasm/lite-deploy/jupyter-lite.json b/wasm/lite-deploy/jupyter-lite.json new file mode 100644 index 0000000..31aaf07 --- /dev/null +++ b/wasm/lite-deploy/jupyter-lite.json @@ -0,0 +1,6 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "terminalsAvailable": true + } +} diff --git a/wasm/serve/index.html b/wasm/serve/index.html new file mode 100644 index 0000000..61743ea --- /dev/null +++ b/wasm/serve/index.html @@ -0,0 +1,13 @@ + + + + git2cpp deployments + + +

Deployments using WebAssembly build of git2cpp branch

+
+ + diff --git a/wasm/test/.gitignore b/wasm/test/.gitignore new file mode 100644 index 0000000..73d19cb --- /dev/null +++ b/wasm/test/.gitignore @@ -0,0 +1,5 @@ +assets/* +cockle_wasm_env/ +lib/ +node_modules/ +package-lock.json diff --git a/wasm/test/Makefile b/wasm/test/Makefile new file mode 100644 index 0000000..000d2ad --- /dev/null +++ b/wasm/test/Makefile @@ -0,0 +1,20 @@ +default: build +.PHONY: build clean clean-env rebuild test + +include ../common.mk + +build: + npm install + COCKLE_WASM_EXTRA_CHANNEL=$(BUILT_PACKAGE_DIR) npm run build + +rebuild: clean-env build + +test: + # A pytest fixture ensures that `npm run serve` runs for the duration of the tests. + cd ../../test && GIT2CPP_TEST_WASM=1 pytest -v -rP test_git.py + +clean-env: + rm -rf cockle_wasm_env/ + +clean: clean-env + rm -rf lib/ node_modules/ diff --git a/wasm/test/assets/index.html b/wasm/test/assets/index.html new file mode 100644 index 0000000..57ba584 --- /dev/null +++ b/wasm/test/assets/index.html @@ -0,0 +1,9 @@ + + + + Testing git2cpp in cockle + + + + + diff --git a/wasm/test/cockle-config-in.json b/wasm/test/cockle-config-in.json new file mode 100644 index 0000000..bbb59a1 --- /dev/null +++ b/wasm/test/cockle-config-in.json @@ -0,0 +1,19 @@ +{ + "packages": { + "git2cpp": {}, + "nano": {}, + "tree": {}, + "vim": {} + }, + "aliases": { + "git": "git2cpp", + "vi": "vim" + }, + "environment": { + "GIT_CORS_PROXY": "https://corsproxy.io/?url=", + "GIT_AUTHOR_NAME": "Jane Doe", + "GIT_AUTHOR_EMAIL": "jane.doe@blabla.com", + "GIT_COMMITTER_NAME": "Jane Doe", + "GIT_COMMITTER_EMAIL": "jane.doe@blabla.com" + } +} diff --git a/wasm/test/package.json b/wasm/test/package.json new file mode 100644 index 0000000..6ceef40 --- /dev/null +++ b/wasm/test/package.json @@ -0,0 +1,23 @@ +{ + "name": "cockle-test", + "version": "1.0.0", + "description": "Cockle tests", + "license": "BSD-3-Clause", + "author": "Ian Thomas", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "private": true, + "scripts": { + "build": "rspack build", + "postbuild": "node node_modules/@jupyterlite/cockle/lib/tools/prepare_wasm.js --copy assets", + "serve": "rspack serve" + }, + "devDependencies": { + "@jupyterlite/cockle": "^1.2.0", + "@rspack/cli": "^0.7.5", + "@rspack/core": "^0.7.5", + "ts-loader": "^9.5.1", + "ts-node": "^10.9.2", + "typescript": "^5.5.4" + } +} diff --git a/wasm/test/rspack.config.js b/wasm/test/rspack.config.js new file mode 100644 index 0000000..f2fa264 --- /dev/null +++ b/wasm/test/rspack.config.js @@ -0,0 +1,36 @@ +const path = require('path'); + +module.exports = { + mode: 'development', + entry: './src/index.ts', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + } + ] + }, + resolve: { + extensions: ['.tsx', '.ts', '.js', '.wasm'] + }, + output: { + filename: 'bundle.js', + path: path.resolve(__dirname, 'lib') + }, + devServer: { + static: { + directory: path.join(__dirname, 'assets') + }, + headers: { + "Cross-Origin-Embedder-Policy": "require-corp", + "Cross-Origin-Opener-Policy": "same-origin", + }, + port: 8000 + } +}; diff --git a/wasm/test/src/index.ts b/wasm/test/src/index.ts new file mode 100644 index 0000000..37d4ab7 --- /dev/null +++ b/wasm/test/src/index.ts @@ -0,0 +1,78 @@ +import { Shell } from '@jupyterlite/cockle'; +import { MockTerminalOutput } from './utils'; + +interface IReturn { + returncode: number; + stdout: string; + stderr: string; +} + +async function setup() { + const baseUrl = 'http://localhost:8000/'; + const output = new MockTerminalOutput(); + + const shell = new Shell({ + baseUrl, + wasmBaseUrl: baseUrl, + outputCallback: output.callback, + color: false + }); + await shell.start(); + + const cockle = { + shell, + shellRun: (cmd: string[]) => shellRun(shell, output, cmd) + }; + + (window as any).cockle = cockle; + + // Add div to indicate setup complete which can be awaited at start of tests. + const div = document.createElement("div"); + div.id = 'loaded'; + div.innerHTML = 'loaded'; + document.body.appendChild(div); +} + +async function shellRun( + shell: Shell, + output: MockTerminalOutput, + cmd: string[] +): Promise { + // Keep stdout and stderr separate by outputting stdout to temporary file and stderr to terminal, + // then read the temporary file to get stdout to return. + output.clear(); + let cmdLine = cmd.join(' ') + '> .outtmp' + '\r'; + await shell.input(cmdLine); + + const stderr = stripOutput(output.textAndClear(), cmdLine); + const returncode = await shell.exitCode(); + + // Read stdout from .outtmp file. + cmdLine = 'cat .outtmp\r'; + await shell.input(cmdLine); + const stdout = stripOutput(output.textAndClear(), cmdLine); + + // Delete temporary file. + cmdLine = 'rm .outtmp\r'; + await shell.input(cmdLine); + output.clear(); + + return { returncode, stdout, stderr }; +} + +function stripOutput(output: string, cmdLine: string): string { + // Remove submitted command line at start. + let ret = output.slice(cmdLine.length); + + // Remove new prompt at end. + const index = ret.lastIndexOf('\n'); + if (index >= 0) { + ret = ret.slice(0, index + 1); + } else { + ret = ''; + } + + return ret; +} + +setup(); diff --git a/wasm/test/src/utils.ts b/wasm/test/src/utils.ts new file mode 100644 index 0000000..07c6d63 --- /dev/null +++ b/wasm/test/src/utils.ts @@ -0,0 +1,28 @@ +import { IOutputCallback } from '@jupyterlite/cockle'; + +/** + * Provides outputCallback to mock a terminal. + */ +export class MockTerminalOutput { + constructor() {} + + callback: IOutputCallback = (output: string) => { + this._text = this._text + output.replace('\r\n', '\n'); + }; + + clear() { + this._text = ''; + } + + get text(): string { + return this._text; + } + + textAndClear(): string { + const ret = this.text; + this.clear(); + return ret; + } + + private _text: string = ''; +} diff --git a/wasm/test/tsconfig.json b/wasm/test/tsconfig.json new file mode 100644 index 0000000..097059d --- /dev/null +++ b/wasm/test/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "allowJs": true, + "allowSyntheticDefaultImports": true, + "composite": true, + "declaration": true, + "esModuleInterop": true, + "incremental": true, + "lib": ["dom", "es2022", "webworker"], + "module": "esnext", + "moduleResolution": "node", + "noEmitOnError": true, + "noImplicitAny": true, + "noUnusedLocals": true, + "preserveWatchOutput": true, + "resolveJsonModule": true, + "outDir": "lib", + "rootDir": "src", + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + "target": "es2022", + "sourceMap": true + }, + "include": ["src/*"] +} diff --git a/wasm/wasm-environment.yml b/wasm/wasm-environment.yml new file mode 100644 index 0000000..f2c323a --- /dev/null +++ b/wasm/wasm-environment.yml @@ -0,0 +1,19 @@ +# Environment for building, deploying and testing WebAssembly build of git2cpp. +name: git2cpp-wasm +channels: + - conda-forge +dependencies: + # To modify emscripten-forge recipe + - python + - pyyaml + # To build emscripten-forge recipe + - micromamba + - rattler-build + # For JupyterLite deployment + - jupyter_server + - jupyterlite-terminal + # For cockle and JupyterLite deployments + - nodejs + # For testing + - pytest + - pytest-playwright