{
  "name": "@fmidev/smartmet-alert-client",
  "version": "4.7.2",
  "description": "Web application for viewing weather and flood alerts",
  "author": "Finnish Meteorological Institute",
  "license": "MIT",
  "main": "dist/index.mjs",
  "module": "dist/index.mjs",
  "unpkg": "dist/index.iife.js",
  "jsdelivr": "dist/index.iife.js",
  "type": "module",
  "exports": {
    ".": {
      "import": "./dist/index.mjs"
    },
    "./vue": {
      "import": "./dist/vue/index.mjs",
      "types": "./dist/vue/vue.d.ts"
    },
    "./vue/style.css": "./dist/vue/style.css"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/fmidev/smartmet-alert-client.git"
  },
  "scripts": {
    "dev": "vite --host",
    "build": "vue-tsc --noEmit && vite build && npm run build:vue",
    "build:ce": "vite build",
    "build:vue": "BUILD_MODE=vue vite build",
    "serve": "vite preview",
    "typecheck": "vue-tsc --noEmit",
    "lint": "eslint --ext .js,.ts,.vue src",
    "lint:fix": "eslint --ext .js,.ts,.vue --fix src",
    "test": "vitest",
    "test:ui": "vitest --ui",
    "test:coverage": "vitest --coverage",
    "test:run": "vitest run",
    "snapshots:review": "vite-node scripts/review-snapshots.ts",
    "optimize:svg": "svgo -f src/assets/img --recursive",
    "prepare": "husky",
    "validate": "npm run lint && npm run typecheck && npm test"
  },
  "dependencies": {
    "@panzoom/panzoom": "4.6.0",
    "@xmldom/xmldom": "0.8.13",
    "cross-fetch": "3.1.8",
    "dompurify": "3.4.0",
    "flatbush": "3.2.1",
    "he": "1.2.0",
    "husky": "9.1.7",
    "svgpath": "2.6.0",
    "vue": "3.4.38",
    "vue-web-component-wrapper": "1.7.5",
    "xpath": "0.0.34"
  },
  "devDependencies": {
    "@testing-library/jest-dom": "6.9.1",
    "@testing-library/vue": "8.1.0",
    "@types/he": "1.2.3",
    "@types/node": "25.0.3",
    "@typescript-eslint/eslint-plugin": "6.21.0",
    "@typescript-eslint/parser": "6.21.0",
    "@vitejs/plugin-vue": "4.5.2",
    "@vitest/coverage-v8": "3.2.4",
    "@vitest/ui": "3.2.4",
    "@vue/eslint-config-standard": "8.0.1",
    "@vue/test-utils": "2.4.6",
    "eslint": "8.55.0",
    "eslint-config-prettier": "9.1.0",
    "eslint-plugin-node": "11.1.0",
    "eslint-plugin-prettier": "5.0.1",
    "eslint-plugin-simple-import-sort": "10.0.0",
    "eslint-plugin-sonarjs": "0.23.0",
    "eslint-plugin-vue": "9.19.2",
    "fs-extra": "11.2.0",
    "happy-dom": "20.0.10",
    "jsdom": "27.0.1",
    "pixelmatch": "7.1.0",
    "playwright": "1.55.1",
    "postcss-prefixwrap": "1.53.0",
    "postcss-url": "10.1.3",
    "prettier": "3.1.1",
    "rollup-plugin-visualizer": "5.11.0",
    "sass": "1.93.2",
    "svgo": "4.0.0",
    "typescript": "5.9.3",
    "unplugin-vue-components": "0.26.0",
    "vite": "5.4.20",
    "vite-plugin-banner": "0.7.1",
    "vite-plugin-dts": "4.5.4",
    "vite-plugin-static-copy": "1.0.6",
    "vitest": "3.2.4",
    "vue-tsc": "3.2.0"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "parser": "vue-eslint-parser",
    "parserOptions": {
      "parser": "@typescript-eslint/parser",
      "ecmaVersion": 2020,
      "sourceType": "module"
    },
    "extends": [
      "plugin:vue/vue3-recommended",
      "eslint:recommended",
      "plugin:@typescript-eslint/recommended",
      "plugin:sonarjs/recommended"
    ],
    "plugins": [
      "@typescript-eslint"
    ],
    "rules": {
      "no-extra-semi": "off",
      "no-unused-vars": "off",
      "@typescript-eslint/no-unused-vars": [
        "error",
        {
          "argsIgnorePattern": "^_"
        }
      ],
      "@typescript-eslint/no-explicit-any": "warn",
      "vue/html-self-closing": "off",
      "vue/require-explicit-emits": "off",
      "vue/singleline-html-element-content-newline": "off",
      "vue/no-v-for-template-key": "off",
      "vue/multi-word-component-names": "off",
      "vue/no-reserved-component-names": "off",
      "vue/require-default-prop": "off",
      "vue/require-prop-types": "off",
      "vue/no-v-html": "off",
      "vue/v-on-event-hyphenation": "off",
      "vue/html-closing-bracket-newline": "off",
      "vue/max-attributes-per-line": "off",
      "vue/html-indent": "off",
      "vue/order-in-components": "off",
      "sonarjs/cognitive-complexity": "off",
      "sonarjs/no-duplicate-string": "off",
      "sonarjs/no-nested-switch": "off"
    }
  },
  "prettier": {
    "bracketSpacing": true,
    "bracketSameLine": true,
    "singleQuote": true,
    "trailingComma": "es5",
    "arrowParens": "always",
    "semi": false
  },
  "bugs": {
    "url": "https://github.com/fmidev/smartmet-alert-client/issues"
  },
  "homepage": "https://github.com/fmidev/smartmet-alert-client#readme",
  "engines": {
    "npm": ">=8.0.0",
    "node": ">=14.0.0"
  },
  "keywords": [
    "smartmet",
    "weather",
    "alert",
    "wfs"
  ]
}
