{
  "name": "handsfree",
  "version": "4.1.0",
  "description": "A library for creating head-controlled, handsfree user interfaces via computer vision just...like...✨...that!",
  "main": "dist/handsfree.js",
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "test": "jest --detectOpenHandles",
    "deploy": "node deploy.js"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {
      "no-console": "off"
    },
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "eslintIgnore": [
    "public/models/**/*",
    "public/3d/**/*",
    "public/brf/**/*",
    "public/lib/**/*"
  ],
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ],
  "jest": {
    "collectCoverage": true,
    "coverageDirectory": "coverage",
    "testEnvironment": "jest-environment-jsdom",
    "testURL": "http://localhost",
    "transformIgnorePatterns": [
      "/public/brf/"
    ],
    "setupFiles": [
      "./test/jest-setup.js"
    ],
    "moduleNameMapper": {
      "\\.(css|styl)$": "identity-obj-proxy",
      "@tensorflow-models/posenet": "<rootDir>/test/mocks/posenet.js"
    },
    "setupTestFrameworkScriptFile": "./test/global-setup.js",
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "/test/",
      "/handsfree.js/models/",
      "/public/models/"
    ],
    "testPathIgnorePatterns": [
      "/node_modules/",
      "/test/",
      "/handsfree.js/models/",
      "/public/models/"
    ]
  },
  "dependencies": {
    "@tensorflow-models/posenet": "^0.2.3",
    "@tensorflow/tfjs": "^0.14.2",
    "idempotent-babel-polyfill": "^7.0.0",
    "javascript-time-ago": "^1.0.32",
    "simple-keyboard": "^2.8.0",
    "vue-lazyload": "^1.2.6"
  },
  "devDependencies": {
    "@babel/core": "^7.2.2",
    "@vue/babel-preset-app": "^3.3.0",
    "@vue/cli-plugin-babel": "^3.0.5",
    "@vue/cli-plugin-eslint": "^3.0.5",
    "@vue/cli-service": "^3.0.5",
    "babel-core": "^6.26.3",
    "babel-eslint": "^10.0.1",
    "babel-jest": "^23.6.0",
    "babel-loader": "^8.0.4",
    "babel-preset-env": "^1.7.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "babylonjs": "^3.3.0",
    "babylonjs-loaders": "^3.3.0",
    "babylonjs-materials": "^3.3.0",
    "cannon": "^0.6.2",
    "earcut": "^2.1.4",
    "eslint": "^5.8.0",
    "eslint-plugin-vue": "^5.0.0-0",
    "gsap": "^2.0.2",
    "highlight.js": "^9.13.1",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^23.6.0",
    "jest-canvas-mock": "^1.1.0",
    "jest-cli": "^23.6.0",
    "oimo": "^1.0.9",
    "paper": "^0.11.8",
    "pug": "^2.0.3",
    "pug-plain-loader": "^1.0.0",
    "raw-loader": "^1.0.0",
    "shelljs": "^0.8.3",
    "stats.js": "^0.17.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.2",
    "vue": "^2.5.17",
    "vue-cli-plugin-vuetify": "^0.4.5",
    "vue-router": "^3.0.1",
    "vue-template-compiler": "^2.5.17",
    "vuetify": "^1.3.0",
    "vuetify-loader": "^1.0.5",
    "vuex": "^3.0.1"
  }
}
