{
  "name": "web-component-base",
  "version": "3.0.0",
  "description": "A zero-dependency & tiny JS base class for creating reactive custom elements easily",
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./*": {
      "types": "./dist/*.d.ts",
      "import": "./dist/*.js"
    },
    "./utils": {
      "types": "./dist/utils/index.d.ts",
      "import": "./dist/utils/index.js"
    },
    "./utils/*": {
      "types": "./dist/utils/*.d.ts",
      "import": "./dist/utils/*.js"
    },
    "./package.json": "./package.json"
  },
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "scripts": {
    "preinstall": "npx only-allow pnpm",
    "start": "npx simple-server .",
    "dev": "npm start",
    "test": "vitest",
    "demo": "npx simple-server .",
    "site": "pnpm --filter site start",
    "build": "pnpm run clean && tsc && pnpm run copy:source",
    "size-limit": "pnpm run build && size-limit",
    "clean": "rm -rf dist",
    "copy:source": "esbuild --minify --bundle ./src/*.js ./src/utils/* --outdir=\"./dist\" --format=\"esm\"",
    "pub": "pnpm run clean && pnpm run build && npm publish",
    "pub:patch": "npm version patch && pnpm run pub",
    "pub:minor": "npm version minor && pnpm run pub",
    "format": "prettier . --write",
    "lint": "eslint . --config eslint.config.mjs",
    "prepare": "husky install"
  },
  "repository": "https://github.com/ayoayco/web-component-base",
  "homepage": "https://WebComponent.io",
  "keywords": [
    "web components",
    "web component",
    "custom elements",
    "custom element"
  ],
  "author": "Ayo Ayco",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/ayoayco/web-component-base/issues"
  },
  "devDependencies": {
    "@size-limit/preset-small-lib": "^11.2.0",
    "esbuild": "^0.25.0",
    "eslint": "^9.22.0",
    "eslint-plugin-jsdoc": "^50.6.3",
    "globals": "^16.0.0",
    "husky": "^9.1.7",
    "netlify-cli": "^19.0.2",
    "prettier": "^3.5.3",
    "release-it": "^18.1.2",
    "size-limit": "^11.2.0",
    "typescript": "^5.8.2",
    "vitest": "^3.0.8"
  },
  "size-limit": [
    {
      "path": "./dist/WebComponent.js",
      "limit": "1.5 KB"
    },
    {
      "path": "./dist/html.js",
      "limit": "0.6 KB"
    },
    {
      "path": "./dist/attach-effect.js",
      "limit": "0.1 KB"
    },
    {
      "path": "./dist/utils/create-element.js",
      "limit": "0.5 KB"
    },
    {
      "path": "./dist/utils/deserialize.js",
      "limit": "0.5 KB"
    },
    {
      "path": "./dist/utils/serialize.js",
      "limit": "0.5 KB"
    },
    {
      "path": "./dist/utils/get-camel-case.js",
      "limit": "0.5 KB"
    },
    {
      "path": "./dist/utils/get-kebab-case.js",
      "limit": "0.5 KB"
    }
  ]
}
