{
  "name": "eleva",
  "version": "1.2.0",
  "description": "Eleva.js - Best DX + AX for Building the Best UX. A lightweight (~2.5KB gzipped) React/Vue/Angular alternative designed for exceptional Developer Experience (DX) and Agent Experience (AX). Vanilla JavaScript, elevated with signals for reactivity, components for structure, and built-in AI agent support. Zero dependencies, TypeScript support.",
  "type": "module",
  "private": false,
  "license": "MIT",
  "author": {
    "name": "Tarek Raafat",
    "email": "tarek.m.raafat@gmail.com",
    "url": "https://www.tarekraafat.com"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/TarekRaafat/eleva.git"
  },
  "homepage": "https://elevajs.com",
  "bugs": {
    "url": "https://github.com/TarekRaafat/eleva/issues",
    "email": "tarek.m.raafat@gmail.com"
  },
  "main": "./dist/eleva.cjs",
  "module": "./dist/eleva.js",
  "browser": "./dist/eleva.umd.min.js",
  "types": "./dist/eleva.d.ts",
  "unpkg": "./dist/eleva.umd.min.js",
  "jsdelivr": "./dist/eleva.umd.min.js",
  "exports": {
    ".": {
      "import": {
        "types": "./dist/eleva.d.ts",
        "default": "./dist/eleva.js"
      },
      "require": {
        "types": "./dist/eleva.d.cts",
        "default": "./dist/eleva.cjs"
      },
      "default": "./dist/eleva.js"
    },
    "./esm": {
      "import": {
        "types": "./dist/eleva.d.ts",
        "default": "./dist/eleva.js"
      },
      "default": "./dist/eleva.js"
    },
    "./cjs": {
      "require": {
        "types": "./dist/eleva.d.cts",
        "default": "./dist/eleva.cjs"
      },
      "default": "./dist/eleva.cjs"
    },
    "./umd": {
      "browser": {
        "types": "./dist/eleva.d.ts",
        "default": "./dist/eleva.umd.js"
      },
      "default": {
        "types": "./dist/eleva.d.ts",
        "default": "./dist/eleva.umd.js"
      }
    },
    "./browser": {
      "browser": {
        "types": "./dist/eleva.d.ts",
        "default": "./dist/eleva.umd.min.js"
      },
      "default": {
        "types": "./dist/eleva.d.ts",
        "default": "./dist/eleva.umd.min.js"
      }
    },
    "./plugins": {
      "import": {
        "types": "./dist/eleva-plugins.d.ts",
        "default": "./dist/eleva-plugins.js"
      },
      "require": {
        "types": "./dist/eleva-plugins.d.cts",
        "default": "./dist/eleva-plugins.cjs"
      },
      "default": "./dist/eleva-plugins.js"
    },
    "./plugins/esm": {
      "import": {
        "types": "./dist/eleva-plugins.d.ts",
        "default": "./dist/eleva-plugins.js"
      },
      "default": "./dist/eleva-plugins.js"
    },
    "./plugins/cjs": {
      "require": {
        "types": "./dist/eleva-plugins.d.cts",
        "default": "./dist/eleva-plugins.cjs"
      },
      "default": "./dist/eleva-plugins.cjs"
    },
    "./plugins/umd": {
      "browser": {
        "types": "./dist/eleva-plugins.d.ts",
        "default": "./dist/eleva-plugins.umd.js"
      },
      "default": {
        "types": "./dist/eleva-plugins.d.ts",
        "default": "./dist/eleva-plugins.umd.js"
      }
    },
    "./plugins/browser": {
      "browser": {
        "types": "./dist/eleva-plugins.d.ts",
        "default": "./dist/eleva-plugins.umd.min.js"
      },
      "default": {
        "types": "./dist/eleva-plugins.d.ts",
        "default": "./dist/eleva-plugins.umd.min.js"
      }
    },
    "./plugins/attr": {
      "import": {
        "types": "./dist/plugins/attr.d.ts",
        "default": "./dist/plugins/attr.js"
      },
      "require": {
        "types": "./dist/plugins/attr.d.cts",
        "default": "./dist/plugins/attr.cjs"
      },
      "browser": "./dist/plugins/attr.umd.min.js",
      "default": "./dist/plugins/attr.js"
    },
    "./plugins/router": {
      "import": {
        "types": "./dist/plugins/router.d.ts",
        "default": "./dist/plugins/router.js"
      },
      "require": {
        "types": "./dist/plugins/router.d.cts",
        "default": "./dist/plugins/router.cjs"
      },
      "browser": "./dist/plugins/router.umd.min.js",
      "default": "./dist/plugins/router.js"
    },
    "./plugins/store": {
      "import": {
        "types": "./dist/plugins/store.d.ts",
        "default": "./dist/plugins/store.js"
      },
      "require": {
        "types": "./dist/plugins/store.d.cts",
        "default": "./dist/plugins/store.cjs"
      },
      "browser": "./dist/plugins/store.umd.min.js",
      "default": "./dist/plugins/store.js"
    },
    "./plugins/agent": {
      "import": {
        "types": "./dist/plugins/agent.d.ts",
        "default": "./dist/plugins/agent.js"
      },
      "require": {
        "types": "./dist/plugins/agent.d.cts",
        "default": "./dist/plugins/agent.cjs"
      },
      "browser": "./dist/plugins/agent.umd.min.js",
      "default": "./dist/plugins/agent.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "types",
    "src"
  ],
  "sideEffects": false,
  "devDependencies": {
    "@babel/core": "^7.29.0",
    "@babel/preset-env": "^7.29.0",
    "@codecov/rollup-plugin": "^1.9.1",
    "@happy-dom/global-registrator": "^20.5.0",
    "@rollup/plugin-node-resolve": "^16.0.3",
    "@swc/core": "^1.15.11",
    "@types/bun": "^1.3.8",
    "babel-jest": "^30.2.0",
    "eslint": "^9.39.2",
    "eslint-plugin-prettier": "^5.5.5",
    "husky": "^9.1.7",
    "jest": "^30.2.0",
    "jest-environment-jsdom": "^30.2.0",
    "jest-html-reporters": "^3.1.7",
    "jest-watch-typeahead": "^3.0.1",
    "jsdoc": "^4.0.5",
    "lint-staged": "^16.2.7",
    "prettier": "^3.8.1",
    "rimraf": "^6.1.2",
    "rollup": "^4.57.1",
    "rollup-plugin-dts": "^6.3.0",
    "rollup-plugin-swc3": "^0.12.1",
    "typescript": "^5.9.3"
  },
  "scripts": {
    "dev": "rollup -c -w",
    "build": "rollup -c",
    "build:types": "tsc",
    "build:types:augment": "bun scripts/augment-agent-types.js",
    "build:types:bundle": "rollup -c rollup.dts.config.js",
    "build:all": "bun run clean && bun run build && bun run build:types && bun run build:types:augment && bun run build:types:bundle",
    "docs:api": "jsdoc -c jsdoc.json",
    "docs:generate": "bun run docs:api",
    "test": "bun test ./test/unit ./test/performance",
    "test:unit": "bun test ./test/unit",
    "test:plugins": "bun test ./test/unit/plugins",
    "test:core": "bun test ./test/unit/core ./test/unit/modules",
    "test:performance": "bun test ./test/performance",
    "test:metrics": "bun test ./test/performance/documentation-metrics.test.ts",
    "test:benchmark": "bun test ./test/performance/js-framework-benchmark.test.ts",
    "test:fps": "bun test ./test/performance/fps-benchmark.test.ts",
    "test:integration": "bun run build && bun test ./test/integration",
    "test:all": "bun test",
    "test:coverage": "bun test --coverage ./test/unit/core ./test/unit/modules ./test/unit/plugins/Attr.test.ts ./test/unit/plugins/Props.test.ts ./test/unit/plugins/Store.test.ts ./test/integration",
    "test:watch": "bun test --watch",
    "codecov": "npx codecov",
    "lint": "eslint src/**/*.js",
    "format": "npx prettier \"src/**/*\" \"types/**/*\" --write --no-error-on-unmatched-pattern",
    "clean": "rimraf dist types test/coverage",
    "serve": "bunx serve . -l 3000",
    "verify:ax": "bun run build:all && bun run test:unit && bun -e \"JSON.parse(require('fs').readFileSync('docs/agent-manifest.json','utf8'));console.log('✓ agent-manifest.json valid')\" && echo '✓ All AX checks passed'",
    "validate:publint": "TMPDIR=.tmp BUN_INSTALL_CACHE_DIR=.bun-cache bun x publint",
    "validate:types": "TMPDIR=.tmp BUN_INSTALL_CACHE_DIR=.bun-cache bun x @arethetypeswrong/cli --pack .",
    "validate": "bun run validate:publint || (echo '⚠️ publint unavailable in current env (non-blocking)' && true); bun run validate:types || (echo '⚠️ arethetypeswrong unavailable in current env (non-blocking)' && true)",
    "validate:ci": "bun run validate:publint && bun run validate:types",
    "prepublishOnly": "bun run format && bun run lint && bun run build:all && bun run test:coverage && bun run validate",
    "prepare": "bun run build:all"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "browserslist": [
    "> 0.25%",
    "last 2 versions",
    "not dead",
    "not op_mini all",
    "not ie 11"
  ],
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "lint-staged": {
    "src/**/*.{js,ts}": [
      "eslint --fix",
      "prettier --write"
    ]
  },
  "keywords": [
    "eleva",
    "elevajs",
    "eleva.js",
    "eleva js",
    "developer experience",
    "DX",
    "user experience",
    "UX",
    "UI",
    "best DX",
    "intuitive API",
    "zero config",
    "no build step",
    "modern javascript framework",
    "lightweight JavaScript framework",
    "lightweight JS framework",
    "frontend performance optimization",
    "frontend performance",
    "performance optimization",
    "240fps",
    "high refresh rate",
    "120fps",
    "gaming performance",
    "smooth animations",
    "tiny footprint",
    "minimal framework",
    "fast framework",
    "highly performant",
    "lightweight framework",
    "frontend optimization",
    "small bundle size",
    "tree-shakable",
    "ui components",
    "vanilla JavaScript",
    "vanilla-js",
    "vanilla framework",
    "vanilla JavaScript framework",
    "signal-based reactivity",
    "reactivity",
    "frontend runtime",
    "runtime framework",
    "web components",
    "javascript framework",
    "frontend framework",
    "direct DOM",
    "high performance",
    "open source",
    "modular",
    "developer friendly",
    "efficient",
    "scalable",
    "pure JavaScript",
    "minimalist framework",
    "high-speed rendering",
    "unopinionated",
    "typescript",
    "typescript support",
    "single-page applications",
    "UI library",
    "web development",
    "web development framework",
    "web development tools",
    "micro frontends",
    "render batching",
    "agent experience",
    "AX",
    "AI agent",
    "AI integration",
    "LLM integration",
    "agent-ready framework"
  ],
  "funding": [
    {
      "type": "github",
      "url": "https://github.com/sponsors/TarekRaafat"
    },
    {
      "type": "opencollective",
      "url": "https://opencollective.com/elevajs"
    },
    {
      "type": "ko_fi",
      "url": "https://ko-fi.com/tarekraafat"
    },
    {
      "type": "buymeacoffee",
      "url": "https://www.buymeacoffee.com/tarekraafat"
    },
    {
      "type": "liberapay",
      "url": "https://liberapay.com/TarekRaafat"
    },
    {
      "type": "custom",
      "url": "https://paypal.me/TarekMRaafat"
    }
  ]
}
