{
  "name": "shave",
  "version": "5.1.0",
  "description": "Shave is a javascript plugin that truncates multi-line text within a html element based on set max height",
  "main": "dist/shave.cjs",
  "module": "dist/shave.mjs",
  "type": "module",
  "unpkg": "dist/shave.global.js",
  "files": [
    "dist",
    "src",
    "types"
  ],
  "types": "dist/shave.d.ts",
  "exports": {
    ".": {
      "types": "./dist/shave.d.ts",
      "import": "./dist/shave.mjs",
      "require": "./dist/shave.cjs",
      "default": "./dist/shave.mjs"
    },
    "./dist/*": "./dist/*",
    "./src/*": "./src/*"
  },
  "scripts": {
    "build": "pnpm clean && pnpm build:dist",
    "build:dist": "tsup",
    "clean": "rimraf dist types",
    "commit": "git-cz",
    "commit-msg": "commitlint --edit $1",
    "eslint": "eslint . --fix",
    "eslint:ci": "eslint .",
    "format": "prettier --write src/*.ts rollup.config.js tests/*.js scripts/*.js",
    "husky-setup": "(path-exists .husky/commit-msg) || (husky install && pnpm husky-setup:commit-msg && pnpm husky-setup:post-merge && pnpm husky-setup:pre-commit)",
    "husky-setup:commit-msg": "npx husky add .husky/commit-msg 'pnpm run commit-msg'",
    "husky-setup:post-merge": "npx husky add .husky/post-merge 'pnpm run setup'",
    "husky-setup:pre-commit": "npx husky add .husky/pre-commit 'pnpm run pre-commit'",
    "pre-commit": "pnpm run build && pnpm run test && eslint",
    "prepare": "is-ci || pnpm husky-setup",
    "prepublishOnly": "pnpm build && pnpm run test",
    "setup": "pnpm install --reporter=silent && pnpm build",
    "test": "pnpm run test:unit && pnpm run test:e2e && pnpm run test:imports",
    "test:unit": "vitest run",
    "test:unit:watch": "vitest",
    "test:unit:ui": "vitest --ui",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "test:es-check": "es-check es5 dist/shave.global.js dist/jquery.shave.global.js",
    "test:perf": "node tests/performance/perf-node.test.js",
    "test:imports": "pnpm run test:imports:esm && pnpm run test:imports:cjs && pnpm run test:imports:iife",
    "test:imports:esm": "node tests/imports/test-esm.mjs",
    "test:imports:cjs": "node tests/imports/test-cjs.cjs",
    "test:imports:iife": "node tests/imports/test-iife.cjs",
    "release": "release-it"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/yowainwright/shave.git"
  },
  "keywords": [
    "ellipsis",
    "truncate",
    "truncation",
    "truncated",
    "semantic",
    "js",
    "content",
    "shorten",
    "javascript",
    "text",
    "shave",
    "trim"
  ],
  "author": "Jeff Wainwright <yowainwright@gmail.com> (jeffry.in)",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/yowainwright/shave/issues"
  },
  "homepage": "https://github.com/yowainwright/shave#readme",
  "devDependencies": {
    "@commitlint/cli": "^19.8.0",
    "@commitlint/config-conventional": "^19.8.0",
    "@commitlint/prompt-cli": "^19.8.0",
    "@eslint/js": "^9.25.0",
    "@playwright/test": "^1.54.1",
    "@rollup/plugin-commonjs": "^28.0.3",
    "@rollup/plugin-node-resolve": "^16.0.1",
    "@rollup/plugin-typescript": "^12.1.2",
    "@swc/core": "^1.11.22",
    "@types/jquery": "^3.5.32",
    "@types/node": "^22.14.1",
    "@types/rollup": "^0.54.0",
    "@types/zepto": "^1.0.36",
    "@typescript-eslint/eslint-plugin": "^8.30.1",
    "@typescript-eslint/parser": "^8.30.1",
    "@vitest/ui": "^3.2.4",
    "es-check": "9.1.2",
    "eslint": "8.57.0",
    "eslint-config-prettier": "^10.1.2",
    "eslint-plugin-prettier": "^5.2.6",
    "happy-dom": "^18.0.1",
    "http-server": "^14.1.1",
    "husky": "^9.1.7",
    "is-ci": "^4.1.0",
    "jquery": "^3.7.1",
    "jsdom": "^26.1.0",
    "path-exists-cli": "^2.0.0",
    "playwright": "^1.54.1",
    "prettier": "^3.5.3",
    "release-it": "^19.0.1",
    "rimraf": "^6.0.1",
    "rollup": "^4.40.0",
    "rollup-plugin-uglify": "^6.0.4",
    "tslib": "^2.8.1",
    "tsup": "^7.1.0",
    "typescript": "^5.8.3",
    "vitest": "^3.2.4"
  },
  "commitlint": {
    "extends": [
      "@commitlint/config-conventional"
    ],
    "rules": {
      "header-max-length": [
        2,
        "always",
        120
      ]
    }
  },
  "release-it": {
    "git": {
      "commitMessage": "chore: release-it commit"
    }
  }
}
