{
  "name": "@brownnrl/geomlib",
  "version": "0.16.0",
  "description": "Interactive Euclidean geometry constructions in the browser — a TypeScript port of David E. Joyce's 1996 Java Geometry Applet.",
  "keywords": [
    "euclid",
    "elements",
    "geometry",
    "constructions",
    "canvas",
    "mathematics",
    "education"
  ],
  "main": "dist/bundle.js",
  "files": [
    "dist/bundle.js",
    "dist/bundle.js.map",
    "LICENSE",
    "NOTICE.md",
    "README.md"
  ],
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "build": "tsc --noEmit",
    "bundle": "npx webpack",
    "bundle:prod": "NODE_ENV=production npx webpack",
    "check:bundle": "node scripts/check-bundle-ascii.js",
    "test": "npm run test:snapshot && npm run test:unit",
    "test:snapshot": "npm run bundle && mocha --reporter min tests/SnapshotTest.ts tests/HighlightSnapshotTest.ts tests/VisibilitySnapshotTest.ts tests/AnimationSnapshotTest.ts",
    "test:unit": "mocha tests/AnimationTest.ts tests/CanvasSizingTest.ts tests/CircleTest.ts tests/DiagnosticsTest.ts tests/ColorsTest.ts tests/ConstructionNameTest.ts tests/FollowPathTest.ts tests/HighlightByNameTest.ts tests/HighlightTest.ts tests/LineTest.ts tests/ParseParamTest.ts tests/PlaneTest.ts tests/PointTest.ts tests/PolygonTest.ts tests/PolyhedronTest.ts tests/SectorSweepTest.ts tests/SectorTest.ts tests/SlateAnimatorTest.ts tests/SlateTest.ts tests/SlideTest.ts tests/SourceHygieneTest.ts tests/SphereTest.ts tests/VisibilityTest.ts",
    "coverage": "c8 mocha --reporter min tests/SnapshotTest.ts tests/AnimationTest.ts tests/CanvasSizingTest.ts tests/CircleTest.ts tests/DiagnosticsTest.ts tests/ColorsTest.ts tests/ConstructionNameTest.ts tests/FollowPathTest.ts tests/HighlightByNameTest.ts tests/HighlightTest.ts tests/LineTest.ts tests/ParseParamTest.ts tests/PlaneTest.ts tests/PointTest.ts tests/PolygonTest.ts tests/PolyhedronTest.ts tests/SectorSweepTest.ts tests/SectorTest.ts tests/SlateAnimatorTest.ts tests/SlateTest.ts tests/SlideTest.ts tests/SourceHygieneTest.ts tests/SphereTest.ts tests/VisibilityTest.ts",
    "coverage:unit": "c8 mocha --reporter min tests/AnimationTest.ts tests/CircleTest.ts tests/DiagnosticsTest.ts tests/ColorsTest.ts tests/ConstructionNameTest.ts tests/FollowPathTest.ts tests/HighlightByNameTest.ts tests/HighlightTest.ts tests/LineTest.ts tests/ParseParamTest.ts tests/PlaneTest.ts tests/PointTest.ts tests/PolygonTest.ts tests/PolyhedronTest.ts tests/SectorTest.ts tests/SlateAnimatorTest.ts tests/SlateTest.ts tests/SlideTest.ts tests/SourceHygieneTest.ts tests/SphereTest.ts tests/VisibilityTest.ts",
    "coverage:report": "c8 report --reporter=html",
    "snapshots:clean": "rm -rf tests/snapshots && mkdir -p tests/snapshots && touch tests/snapshots/.gitkeep",
    "prepublishOnly": "npm run test:unit && npm run bundle:prod && npm run check:bundle",
    "archive:index": "node scripts/build-archive-index.js",
    "reports:build": "npm run coverage && npm run test:snapshot",
    "reports:publish": "node scripts/publish-reports.js",
    "postpublish": "npm run reports:publish"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/brownnrl/euclid.git"
  },
  "author": "Nelson Brown <brownnrl@gmail.com>",
  "license": "MIT",
  "overrides": {
    "serialize-javascript": "^7.0.5",
    "diff": "^8.0.4",
    "tar": "^7.5.13"
  },
  "devDependencies": {
    "@types/mocha": "^10.0.10",
    "@types/node": "^22.19.17",
    "@types/pngjs": "^6.0.5",
    "c8": "^11.0.0",
    "canvas": "^3.2.3",
    "css-loader": "^7.1.2",
    "file-loader": "^6.2.0",
    "html-webpack-plugin": "^5.6.0",
    "install": "^0.13.0",
    "mocha": "^11.7.5",
    "node-loader": "^2.0.0",
    "pixelmatch": "^5.3.0",
    "pngjs": "^7.0.0",
    "style-loader": "^4.0.0",
    "ts-loader": "^9.5.7",
    "ts-node": "^10.9.2",
    "typescript": "^5.5.4",
    "webpack": "^5.106.1",
    "webpack-cli": "^5.1.4",
    "webpack-shell-plugin-next": "^2.3.1"
  }
}
