{
  "name": "@openfoodfacts/openfoodfacts-webcomponents",
  "author": "Open Food Facts",
  "license": "LGPL-2.1-or-later",
  "private": false,
  "version": "1.16.0",
  "description": "Reusable Web Components for Open Food Facts",
  "type": "module",
  "repository": {
    "type": "git",
    "url": "https://github.com/openfoodfacts/openfoodfacts-webcomponents.git"
  },
  "exports": {
    ".": {
      "import": "./dist/off-webcomponents.bundled.js",
      "require": "./dist/off-webcomponents.bundled.cjs"
    }
  },
  "types": "dist/types/off-webcomponents.d.ts",
  "files": [
    "dist"
  ],
  "scripts": {
    "build": "MODE=prod npm run translations:build && vite build",
    "build:watch": "vite build --watch",
    "build:doc": "npm run analyze && npm x storybook build",
    "clean": "rimraf dist && rimraf my-element.{d.ts,d.ts.map,js,js.map} test/my-element.{d.ts,d.ts.map,js,js.map} test/my-element_test.{d.ts,d.ts.map,js,js.map}",
    "lint": "npm run lint:eslint",
    "lint:eslint": "eslint --config eslint.config.js",
    "lint:eslint:fix": "eslint --config eslint.config.js --fix",
    "translations:update-language-codes": "NODE_PATH=. node scripts/update-language-codes.js",
    "translations:build": "lit-localize build",
    "translations:extract": "npm run translations:update-language-codes && lit-localize extract",
    "format": "prettier \"**/*.{cjs,html,js,json,md,ts}\" --ignore-path ./.eslintignore --write",
    "doc:package": "cp README.md dist/README.md && cp ../LICENSE dist/LICENSE",
    "prepare:package": "rm -rf ./dist && npm run build",
    "publish:package": "npm run prepare:package && npm run doc:package && npm publish --access=public",
    "prepack": "npm run build",
    "analyze": "cem analyze --litelement --globs \"src/**/*.ts\"",
    "analyze:watch": "cem analyze --litelement --globs \"src/**/*.ts\" --watch",
    "dev": "concurrently 'npm run storybook' 'npm run analyze:watch'",
    "test": "vitest",
    "storybook": "storybook dev -p 6006",
    "storybook:build": "storybook build"
  },
  "keywords": [
    "web-components",
    "lit-element",
    "typescript",
    "lit"
  ],
  "dependencies": {
    "@lit-labs/signals": "^0.1.2",
    "@lit/localize": "^0.12.2",
    "@lit/task": "^1.0.2",
    "cropperjs": "^2.0.0",
    "dayjs": "^1.11.18",
    "diff": "^8.0.1",
    "dompurify": "^3.2.6",
    "lit": "^3.3.0",
    "lit-html": "^3.3.0",
    "marked": "^16.2.1"
  },
  "devDependencies": {
    "@chromatic-com/storybook": "^4.1.1",
    "@custom-elements-manifest/analyzer": "^0.11.0",
    "@lit/localize-tools": "^0.8.0",
    "@open-wc/testing": "^4.0.0",
    "@openfoodfacts/openfoodfacts-nodejs": "^2.0.0-alpha.18",
    "@storybook/addon-a11y": "^9.1.4",
    "@storybook/addon-docs": "^9.1.4",
    "@storybook/addon-vitest": "^9.1.4",
    "@storybook/builder-vite": "^9.1.4",
    "@storybook/web-components-vite": "^9.1.4",
    "@types/cropperjs": "^1.1.5",
    "@types/diff": "^7.0.2",
    "@typescript-eslint/eslint-plugin": "^8.33.1",
    "@typescript-eslint/parser": "^8.33.1",
    "@vitest/browser": "^3.2.4",
    "@vitest/coverage-v8": "^3.2.4",
    "@web/test-runner": "^0.20.2",
    "@web/test-runner-playwright": "^0.11.0",
    "@webcomponents/webcomponentsjs": "^2.8.0",
    "concurrently": "^9.1.2",
    "dotenv": "^16.5.0",
    "eslint": "^9.28.0",
    "eslint-config-prettier": "^10.1.5",
    "eslint-plugin-lit": "^2.1.1",
    "eslint-plugin-prettier": "^5.4.1",
    "eslint-plugin-storybook": "^9.1.4",
    "glob": "^11.0.2",
    "jsdom": "^27.0.0",
    "playwright": "^1.55.0",
    "prettier": "^3.5.3",
    "rimraf": "^6.0.1",
    "storybook": "^9.1.4",
    "ts-node": "^10.9.2",
    "typescript": "~5.9.2",
    "vite": "^7.1.4",
    "vite-plugin-static-copy": "^3.1.2",
    "vitest": "^3.2.4"
  },
  "customElements": "custom-elements.json"
}
