{
  "name": "endurance-coach",
  "version": "1.4.0",
  "author": "Shiva Prasad <sp@shiv19.com> (https://shiv19.com)",
  "contributors": [
    "Felix Rieseberg (https://felixrieseberg.com)"
  ],
  "license": "MIT",
  "type": "module",
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "repository": {
    "type": "git",
    "url": "https://github.com/shiv19/endurance-coach-skill"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./schema": {
      "types": "./dist/schema/training-plan.schema.d.ts",
      "import": "./dist/schema/training-plan.schema.js"
    }
  },
  "bin": {
    "endurance-coach": "bin/endurance-coach.js"
  },
  "files": [
    "bin",
    "dist/**/*.js",
    "dist/**/*.d.ts",
    "dist/**/*.sql",
    "templates"
  ],
  "scripts": {
    "start": "tsx src/cli.ts",
    "build": "npm run build:ts && npm run build:viewer && npm run build:skill",
    "build:ts": "tsc && cp -r src/db/migrations dist/db/migrations && cp src/db/schema.sql dist/db/",
    "build:viewer": "vite build --config vite.config.viewer.ts",
    "build:skill": "mkdir -p dist && cd endurance-coach-skill && zip -r ../dist/endurance-coach-skill.zip . -x '*.DS_Store' && echo 'Skill packaged to dist/endurance-coach-skill.zip'",
    "build:website": "node scripts/build-website.js",
    "serve:website": "browser-sync start --server docs --files 'docs/**/*.*' --port 3131",
    "dev": "tsx watch src/cli.ts",
    "dev:viewer": "vite --config vite.config.viewer.ts",
    "test": "vitest",
    "test:run": "vitest run",
    "test:allTemplates": "npm start -- render ./tests/test-all-templates.yaml -o ./tests/test-all-templates.html",
    "test:expandPlanToJson": "npm start -- expand ./tests/test-all-templates.yaml -o ./tests/test-all-templates.json",
    "test:fit": "npm run test:expandPlanToJson && tsx scripts/fit-export-check.ts",
    "typecheck": "tsc --noEmit",
    "lint": "eslint src tests",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "prepare": "husky",
    "prepublishOnly": "npm run build"
  },
  "lint-staged": {
    "*.{js,ts,json,md,html,css,svelte}": "prettier --write"
  },
  "dependencies": {
    "@garmin/fitsdk": "^21.188.0",
    "better-sqlite3": "^12.6.2",
    "consola": "^3.4.2",
    "jszip": "^3.10.1",
    "open": "^10.2.0",
    "undici": "^7.19.1",
    "yaml": "^2.8.2",
    "zod": "^4.3.5"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.2",
    "@sveltejs/vite-plugin-svelte": "^6.2.4",
    "@types/better-sqlite3": "^7.6.13",
    "@types/jsdom": "^27.0.0",
    "@types/node": "^22.19.7",
    "@vitest/coverage-v8": "^4.0.18",
    "eslint": "^9.39.2",
    "globals": "^17.3.0",
    "husky": "^9.1.7",
    "jsdom": "^28.0.0",
    "lint-staged": "^16.2.7",
    "prettier": "^3.8.1",
    "prettier-plugin-svelte": "^3.4.1",
    "svelte": "^5.48.2",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.55.0",
    "vite": "^7.3.1",
    "vite-plugin-singlefile": "^2.3.0",
    "vitest": "^4.0.18"
  }
}
