{
  "name": "@nancyzeng0210/tvu-design-system",
  "version": "0.10.1",
  "description": "TVU Design System Vue component library",
  "license": "UNLICENSED",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/NancyZeng0210/TVU-Design-System.git"
  },
  "type": "module",
  "main": "./dist/tvu-design-system.umd.cjs",
  "module": "./dist/tvu-design-system.js",
  "exports": {
    ".": {
      "import": "./dist/tvu-design-system.js",
      "require": "./dist/tvu-design-system.umd.cjs"
    },
    "./style.css": "./dist/style.css",
    "./icons/manifest.json": "./dist/icons/manifest.json",
    "./icons/esm": {
      "types": "./dist/icons/esm/index.d.ts",
      "import": "./dist/icons/esm/index.js"
    },
    "./icons/esm/*": {
      "types": "./dist/icons/esm/*.d.ts",
      "import": "./dist/icons/esm/*.js"
    },
    "./icons/svg/*": "./dist/icons/svg/*",
    "./eslint-plugin": "./eslint-plugin/index.js",
    "./eslint-plugin/*": "./eslint-plugin/*",
    "./tokens": "./dist/tokens/tokens.json",
    "./tokens/js": {
      "types": "./dist/tokens/tokens.d.ts",
      "import": "./dist/tokens/tokens.js"
    },
    "./composition": "./dist/composition/composition.json",
    "./composition/js": {
      "types": "./dist/composition/composition.d.ts",
      "import": "./dist/composition/composition.js"
    }
  },
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "eslint-plugin",
    "scripts",
    "templates",
    "docs/CONSUMER_AUDIT_SETUP.md",
    "docs/MIGRATION_TO_V1.md",
    "docs/API_STABILITY.md"
  ],
  "packageManager": "pnpm@10.28.2",
  "scripts": {
    "dev": "vite --host 0.0.0.0",
    "ds": "node scripts/ds-start.mjs",
    "build": "vue-tsc --noEmit && vite build && node figma-sync/generate-token-exports.mjs && node figma-sync/generate-composition-exports.mjs && node figma-sync/build-icon-dist.mjs && pnpm build:playground",
    "build:playground": "(pnpm build:react-pilot || echo '[deploy] react-pilot rebuild skipped; using committed react-pilot/dist') && (vite build --config vite.playground.config.ts || (echo '[deploy] playground build failed; restoring committed playground-dist (META-02/F53)' && git checkout -- playground-dist))",
    "build:react-pilot": "cd react-pilot && pnpm install --frozen-lockfile && pnpm build",
    "preview": "vite preview --host 0.0.0.0 --port 4173",
    "prepare": "husky || true && vue-tsc --noEmit && vite build && node figma-sync/generate-token-exports.mjs && node figma-sync/generate-composition-exports.mjs && node figma-sync/build-icon-dist.mjs",
    "postinstall": "node scripts/consumer-postinstall.mjs",
    "prepublishOnly": "pnpm run audit:icon-fill-currentcolor && pnpm run audit:icon-category-enum && pnpm run audit:icon-leaf-kebab && pnpm run audit:no-hardcoded-design-tokens && pnpm run audit:component-no-inline-svg && pnpm run audit:figma-conformance && pnpm run audit:docs-site && pnpm run audit:docs-single-theme && pnpm run audit:component-tokens && pnpm run audit:tokenized-diff && pnpm run audit:token-contract && pnpm run audit:design-system && pnpm run audit:published-vs-code && pnpm run audit:figma-library-vs-canonical && pnpm run audit:translation-completeness && pnpm run lint-skills && pnpm run audit:scripts-stdlib && pnpm run audit:status-consistency && pnpm run audit:doc-de-mirror && pnpm run audit:doc-sync && pnpm run audit:stale-anchors && pnpm run lint:ds && pnpm run audit:prop-naming && pnpm run audit:token-exports && pnpm run audit:composition-exports && pnpm run audit:style-contract",
    "changeset": "changeset",
    "changeset:status": "changeset status",
    "changeset:version": "changeset version",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:visual": "playwright test",
    "test:visual:update": "playwright test --update-snapshots",
    "test:render-verification": "node scripts/generate-render-verification-manifest.mjs && playwright test --config=playwright.render-verification.config.ts",
    "drift:summary": "node scripts/render-drift-summary.mjs",
    "design:kickoff": "node scripts/design-kickoff.mjs",
    "audit:render-drift-gate": "node scripts/audit-render-drift-gate.mjs",
    "audit:render-coverage-gaps": "node scripts/audit-render-coverage-gaps.mjs",
    "audit:icon-canonical-names": "node scripts/audit-icon-canonical-names.mjs",
    "audit:icon-category-enum": "node scripts/audit-icon-naming-rules.mjs category-enum",
    "audit:icon-leaf-kebab": "node scripts/audit-icon-naming-rules.mjs leaf-kebab",
    "test:a11y": "playwright test --config=playwright.a11y.config.ts",
    "audit:consumer-mockup": "node scripts/audit-mockup-integrity.mjs && node scripts/audit-mockup-colors.mjs && node scripts/audit-mockup-typography-icon.mjs",
    "audit:consumer-mockup-binding": "node scripts/audit-mockup-library-binding.mjs",
    "audit:mockup-library-origin": "node scripts/audit-mockup-library-origin.mjs",
    "audit:mockup-conformance": "node scripts/audit-mockup-conformance.mjs",
    "audit:mockup-binding-fidelity": "node scripts/audit-mockup-binding-fidelity.mjs",
    "audit:mockup-bilingual-spacing": "node scripts/audit-mockup-bilingual-spacing.mjs",
    "audit:mockup-overlap": "node scripts/audit-mockup-overlap.mjs",
    "audit:rule-load-map": "node scripts/audit-rule-load-map.mjs",
    "audit:stale-anchors": "node scripts/audit-stale-anchors.mjs",
    "audit:upstream-gate": "node scripts/validate-upstream-gate.mjs",
    "audit:consumer-code": "node scripts/audit-product-code.mjs",
    "audit:consumer": "node scripts/audit-product-code.mjs",
    "generate": "node figma-sync/sync.mjs",
    "sync:extract": "node figma-sync/extract.mjs",
    "sync:mockup": "node figma-sync/sync-mockup-data.mjs",
    "sync:normalize-variables": "node figma-sync/normalize.mjs",
    "sync:normalize": "node -e \"console.warn('[DEPRECATED] sync:normalize → sync:normalize-variables (same target)')\" && node figma-sync/normalize.mjs",
    "generate:manifest": "node figma-sync/generate-manifest.mjs",
    "generate:component-tokens": "node figma-sync/normalize-component-tokens.mjs",
    "generate:candidates": "node figma-sync/generate-component-candidates.mjs",
    "generate:canonical-specs": "node figma-sync/generate-canonical-specs.mjs",
    "generate:canonical-wrappers": "node figma-sync/generate-canonical-wrappers.mjs",
    "generate:skeleton-plan": "node figma-sync/generate-skeleton-promotion-plan.mjs",
    "sync:icons": "node figma-sync/export-icons.mjs",
    "extract:icon-worklist": "node scripts/extract-figma-icon-worklist.mjs",
    "generate:icons-catalog": "node figma-sync/generate-icon-catalog.mjs",
    "generate:tokens": "node figma-sync/generate-tokens.mjs",
    "generate:token-exports": "node figma-sync/generate-token-exports.mjs",
    "generate:composition-exports": "node figma-sync/generate-composition-exports.mjs",
    "generate:vue": "node figma-sync/generate-vue.mjs",
    "audit:design-system": "node figma-sync/audit-design-system.mjs",
    "audit:component-tokens": "node figma-sync/audit-component-token-linkage.mjs",
    "audit:tokenized-diff": "node figma-sync/audit-tokenized-diff.mjs",
    "audit:docs-site": "node figma-sync/audit-docs-site-readiness.mjs",
    "audit:docs-single-theme": "node figma-sync/audit-docs-single-theme.mjs",
    "audit:figma-conformance": "node figma-sync/audit-figma-conformance.mjs",
    "audit:component-attributes": "node figma-sync/audit-component-attributes.mjs",
    "audit:published-vs-code": "node figma-sync/audit-figma-published-vs-code.mjs",
    "audit:translation-completeness": "node figma-sync/audit-translation-completeness.mjs",
    "audit:icon-fill-currentcolor": "node figma-sync/audit-icon-fill-currentcolor.mjs",
    "audit:component-no-inline-svg": "node figma-sync/audit-component-no-inline-svg.mjs",
    "audit:no-hardcoded-design-tokens": "node figma-sync/audit-no-hardcoded-design-tokens.mjs",
    "audit:figma-naming-hygiene": "node figma-sync/audit-figma-naming-hygiene.mjs",
    "audit:figma-vs-sot": "node figma-sync/audit-figma-vs-sot.mjs",
    "generate:component-affordances": "node scripts/generate-component-affordances.mjs",
    "export:claude-design-bundle": "node scripts/export-claude-design-bundle.mjs",
    "audit:component-affordances": "node scripts/audit-component-affordances.mjs",
    "audit:export-coverage": "node scripts/audit-export-coverage.mjs",
    "cleanup:unpublished": "node figma-sync/cleanup-unpublished.mjs",
    "ensure:docs-site-manifest": "node figma-sync/ensure-docs-site-manifest.mjs",
    "sync:figma-library": "node figma-sync/sync-figma-library.mjs",
    "sync:diff-report": "node figma-sync/sync-diff-report.mjs",
    "new-backlog": "node scripts/new-backlog.mjs",
    "figma-url-to-canonical": "node scripts/figma-url-to-canonical.mjs",
    "lint-skills": "node scripts/lint-skills.mjs",
    "release": "node scripts/release.mjs",
    "lint:ds": "eslint 'src/canonical/**/*.vue' 'src/components/**/*.vue'",
    "setup:roles": "bash scripts/link-roles.sh",
    "audit:scripts-stdlib": "node scripts/audit-scripts-stdlib-stability.mjs",
    "audit:status-consistency": "node scripts/audit-status-consistency.mjs",
    "audit:token-contrast": "node scripts/a11y-token-contrast.mjs",
    "audit:canonical-compliance": "node scripts/audit-canonical-compliance.mjs",
    "audit:hard-rule-compliance": "node scripts/audit-hard-rule-compliance.mjs",
    "audit:render-verification-coverage": "node scripts/audit-render-verification-coverage.mjs",
    "audit:figma-library-vs-canonical": "node scripts/audit-figma-library-vs-canonical.mjs",
    "audit:canonical-slot-guard": "node scripts/audit-canonical-slot-guard.mjs",
    "audit:self-audit-phase2": "node scripts/audit-canonical-compliance.mjs && node scripts/audit-hard-rule-compliance.mjs && node scripts/audit-render-verification-coverage.mjs && node scripts/audit-figma-library-vs-canonical.mjs && node scripts/audit-icon-canonical-names.mjs && node scripts/audit-canonical-slot-guard.mjs",
    "audit:token-contract": "node scripts/audit-token-contract.mjs",
    "audit:doc-de-mirror": "node scripts/audit-doc-de-mirror.mjs",
    "audit:doc-sync": "node scripts/audit-doc-sync.mjs",
    "audit:sort-tokens": "node scripts/audit-sort-tokens.mjs src/tokens/variables.css",
    "audit:artifact-routing": "node scripts/audit-artifact-routing.mjs",
    "build:wc": "vite build --config vite.web-components.config.ts",
    "gen:react-bindings": "node scripts/generate-react-bindings.mjs",
    "audit:binding-config-parity": "node scripts/audit-binding-config-parity.mjs",
    "audit:prop-naming": "node scripts/audit-prop-naming.mjs",
    "audit:demo-slot-boolean": "node scripts/audit-demo-slot-boolean-coverage.mjs",
    "audit:demo-framework-parity": "node scripts/audit-demo-framework-parity.mjs",
    "test:render-verification-react": "playwright test --config playwright.render-verification-react.config.ts",
    "audit:token-exports": "node scripts/audit-token-exports.mjs",
    "audit:composition-exports": "node scripts/audit-composition-exports.mjs",
    "audit:style-contract": "node scripts/audit-style-contract.mjs"
  },
  "engines": {
    "node": ">=20"
  },
  "publishConfig": {
    "registry": "https://npm.pkg.github.com",
    "access": "restricted"
  },
  "dependencies": {},
  "peerDependencies": {
    "vue": "^3.4.0"
  },
  "devDependencies": {
    "@axe-core/playwright": "^4.11.3",
    "@changesets/cli": "^2.31.0",
    "@figma/code-connect": "^1.4.4",
    "@playwright/test": "^1.59.1",
    "@types/react": "^19.0.0",
    "@types/react-dom": "^19.0.0",
    "@typescript-eslint/parser": "^8.61.0",
    "@vitejs/plugin-react": "^4.3.0",
    "@vitejs/plugin-vue": "^5.0.0",
    "@vue/compiler-sfc": "^3.5.33",
    "@vue/test-utils": "^2.4.0",
    "ajv": "^8.20.0",
    "echarts": "^5.5.0",
    "eslint": "^9.39.4",
    "husky": "^9.1.7",
    "jsdom": "^24.0.0",
    "playwright": "^1.59.1",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "typescript": "^5.4.0",
    "vite": "^5.2.0",
    "vite-plugin-dts": "^3.9.0",
    "vitest": "^1.5.0",
    "vue": "^3.4.0",
    "vue-eslint-parser": "^9.4.3",
    "vue-tsc": "^2.0.0"
  }
}
