ethercalc
Version:
Multi-User Spreadsheet Server — TypeScript rewrite (Cloudflare fullstack)
114 lines (113 loc) • 3.25 kB
JSON
{
"name": "ethercalc",
"version": "0.20260717.0",
"description": "Multi-User Spreadsheet Server — TypeScript rewrite (Cloudflare fullstack)",
"homepage": "http://ethercalc.net/",
"author": "Audrey Tang <audreyt@audreyt.org>",
"repository": {
"type": "git",
"url": "git+https://github.com/audreyt/ethercalc.git"
},
"license": "CC0-1.0",
"keywords": [
"ethercalc",
"spreadsheet",
"collaboration",
"realtime",
"cloudflare",
"workers",
"hono",
"durable-objects",
"socialcalc"
],
"bin": {
"ethercalc": "bin/ethercalc"
},
"files": [
"bin/",
"assets/",
"bun.lock",
"packages/",
"scripts/",
"deploy/",
"static/",
"images/",
"l10n/",
"third-party/",
"app-graphics/",
"migrations/",
"Dockerfile",
"docker-compose.yml",
"docker-compose.proxy.yml",
"*.html",
"*.ico",
"*.png",
"*.svg",
"*.xml",
"manifest.json",
"manifest.appcache",
"README.md",
"AGENTS.md",
"API.md",
"Changes.txt",
"!**/node_modules",
"!packages/*/test",
"!packages/*/tests",
"!packages/*/.vitest-cache",
"!packages/*/.wrangler",
"!packages/*/stryker.conf.json",
"!packages/*/vitest.config.ts",
"!packages/*/vitest.node.config.ts",
"!packages/*/playwright.config.ts",
"!packages/*/dist/cache",
"!packages/e2e/",
"!packages/oracle-harness/",
"!**/stryker-setup-*.js",
"!scripts/*.test.ts",
"!**/coverage",
"!**/reports",
"!**/.stryker-tmp",
"!**/test-results",
"!**/playwright-report",
"!**/.dev.vars",
"!**/dist/**/*.map"
],
"workspaces": [
"packages/*"
],
"scripts": {
"prepack": "bun run build:assets",
"postinstall": "node scripts/install-runtime-deps.js",
"pretest": "bun run build:assets",
"test": "bun test scripts/build-assets.test.ts && bun run --filter '*' --if-present test",
"build:clients": "bun run --cwd packages/client build && bun run --cwd packages/client-multi build",
"build:assets": "bun run build:clients && bun run scripts/build-assets.ts",
"typecheck": "bun run --filter '*' typecheck",
"lint": "biome lint",
"lint:fix": "biome lint --write",
"mutation": "bun run --filter '*' mutation",
"verify": "bun run verify:dafny",
"verify:dafny": "lsc check --backend=dafny && bun lemma/assert-fresh.mjs dafny",
"verify:dafny:gen": "lsc gen --backend=dafny",
"verify:dafny:regen": "lsc regen --backend=dafny lemma/xlsx-a1.ts",
"verify:lean:gen": "lsc gen --backend=lean lemma/xlsx-a1.ts",
"verify:lean": "bun run verify:lean:gen && test -s lemma/xlsx-a1.types.lean && test -s lemma/xlsx-a1.def.lean && bun lemma/assert-fresh.mjs lean",
"verify:both": "bun run verify:dafny && bun run verify:lean",
"verify:context": "bun lemma/build-context.mjs",
"verify:request": "bun lemma/build-request.mjs"
},
"engines": {
"bun": ">=1.1.0"
},
"devDependencies": {
"@biomejs/biome": "^2.1.2",
"@stryker-mutator/core": "^9.6.1",
"@stryker-mutator/vitest-runner": "^9.6.1",
"lemmascript": "0.5.13",
"typescript": "^7.0.2",
"vite-plus": "0.2.4"
},
"dependencies": {
"wrangler": "^4.107.0"
}
}