wkdhkr/dedupper

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "name": "dedupper",
  "version": "2.1.0",
  "description": "import various files, detect duplicates with sqlite database.",
  "license": "MIT",
  "author": "wkdhkr",
  "main": "index.js",
  "bin": {
    "dedupper": "bin/dedupper.js",
    "facepptest": "bin/facepptest.js",
    "hdcalc": "bin/hdcalc.js",
    "nsfwcheck": "bin/nsfwcheck.js",
    "facecheck": "bin/facecheck.js",
    "facespinnertest": "bin/facespinnertest.js",
    "nsfwjstest": "bin/nsfwjstest.js",
    "faceapitest": "bin/faceapitest.js",
    "posenettest": "bin/posenettest.js",
    "cocossdtest": "bin/cocossdtest.js",
    "photosift": "bin/photosift.js"
  },
  "engines": {
    "node": ">=8.10.0"
  },
  "scripts": {
    "build": "cross-env NODE_ENV=production babel src -d dist",
    "build:watch": "cross-env NODE_ENV=production babel --watch src -d dist --verbose",
    "clean": "rimraf coverage dist tmp",
    "codecov": "codecov",
    "flow": "flow",
    "flow-typed": "flow-typed",
    "lint": "eslint . --fix",
    "postlint": "npm run typecheck",
    "pretest": "npm run lint",
    "test": "npm run test-only",
    "test-only": "jest --coverage --maxWorkers=2",
    "test:watch": "jest --watch --maxWorkers=4",
    "typecheck": "flow check"
  },
  "dependencies": {
    "@tensorflow-models/body-pix": "^2.0.4",
    "@tensorflow-models/coco-ssd": "^2.0.1",
    "@tensorflow-models/posenet": "^2.2.1",
    "@tensorflow/tfjs-converter": "^3.16.0",
    "@tensorflow/tfjs-core": "^3.16.0",
    "@tensorflow/tfjs-data": "^3.16.0",
    "@tensorflow/tfjs-layers": "^3.16.0",
    "@tensorflow/tfjs-node": "^3.16.0",
    "app-root-path": "^3.0.0",
    "async-csv": "^2.1.3",
    "await-sleep": "^0.0.1",
    "axios": "^0.27.2",
    "axios-cookiejar-support": "^2.0.5",
    "axios-retry": "^3.2.5",
    "canvas": "^2.6.1",
    "chalk": "^3.0.0",
    "child-process-promise": "^2.2.1",
    "commander": "^4.1.1",
    "concat-stream": "^2.0.0",
    "delete-empty": "^3.0.0",
    "dhash-image": "^1.2.1",
    "express": "^5.0.0-alpha.8",
    "express-cluster": "0.0.5",
    "face-api.js": "^0.22.0",
    "fast-text-encoding": "^1.0.3",
    "follow-redirects": "^1.15.0",
    "form-data": "^3.0.0",
    "fs-extra": "^8.1.0",
    "glob-promise": "^3.4.0",
    "got": "^11.0.0",
    "jimp": "^0.9.3",
    "jsdom": "^19.0.0",
    "lockfile": "^1.0.4",
    "log4js": "^6.4.7",
    "max-listeners-exceeded-warning": "^0.0.1",
    "mkdirp": "^0.5.1",
    "mv": "^2.1.1",
    "node-fetch": "^3.2.4",
    "node-report": "^2.2.10",
    "nsfwjs": "^2.4.1",
    "nudenet": "github:vladmandic/nudenet",
    "opencv4nodejs": "^5.6.0",
    "opencv4nodejs-prebuilt": "^5.3.0",
    "os-utils": "^0.0.14",
    "p-limit": "^2.2.2",
    "phash": "git+https://github.com/wkdhkr/node-phash.git#master",
    "pify": "^4.0.1",
    "puppeteer": "^5.2.1",
    "qs": "^6.10.2",
    "recursive-readdir": "^2.2.2",
    "require-uncached": "^2.0.0",
    "root-require": "^0.3.1",
    "segfault-handler": "^1.3.0",
    "sharp": "^0.23.4",
    "source-map-support": "^0.5.16",
    "sqlite3": "^4.2.0",
    "strip-ansi": "^6.0.0",
    "test-audio": "^2.1.0",
    "tfjs-image-recognition-base": "^0.6.2",
    "tmp-promise": "^2.0.2",
    "touch": "^3.1.0",
    "tough-cookie": "^4.0.0",
    "trash": "^6.1.1",
    "uuid": "^8.3.2",
    "wait-on": "^4.0.1",
    "winattr": "^3.0.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.10.4",
    "@babel/core": "^7.10.4",
    "@babel/plugin-proposal-class-properties": "^7.10.3",
    "@babel/plugin-proposal-decorators": "^7.10.3",
    "@babel/plugin-proposal-do-expressions": "^7.10.3",
    "@babel/plugin-proposal-export-default-from": "^7.10.3",
    "@babel/plugin-proposal-export-namespace-from": "^7.10.3",
    "@babel/plugin-proposal-function-bind": "^7.10.3",
    "@babel/plugin-proposal-function-sent": "^7.10.3",
    "@babel/plugin-proposal-json-strings": "^7.8.3",
    "@babel/plugin-proposal-logical-assignment-operators": "^7.10.3",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.3",
    "@babel/plugin-proposal-numeric-separator": "^7.10.3",
    "@babel/plugin-proposal-optional-chaining": "^7.10.3",
    "@babel/plugin-proposal-pipeline-operator": "^7.10.3",
    "@babel/plugin-proposal-private-methods": "^7.10.3",
    "@babel/plugin-proposal-throw-expressions": "^7.10.3",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-syntax-import-meta": "^7.10.3",
    "@babel/plugin-transform-modules-commonjs": "^7.10.3",
    "@babel/polyfill": "^7.10.3",
    "@babel/preset-env": "^7.10.4",
    "@babel/preset-flow": "^7.10.3",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^10.1.0",
    "babel-jest": "^26.3.0",
    "babel-minify": "^0.5.2",
    "babel-plugin-dynamic-import-node-babel-7": "^2.0.7",
    "babel-plugin-source-map-support": "^2.1.1",
    "babel-preset-minify": "^0.5.2",
    "babel-upgrade": "1.0.1",
    "codecov": "^3.8.2",
    "cross-env": "^7.0.3",
    "eslint": "^6.8.0",
    "eslint-config-airbnb-base": "^14.1.0",
    "eslint-config-prettier": "^6.10.0",
    "eslint-plugin-flowtype": "^4.6.0",
    "eslint-plugin-import": "^2.20.1",
    "eslint-plugin-node": "^11.0.0",
    "eslint-plugin-prettier": "^3.1.2",
    "flow-bin": "^0.184.0",
    "flow-typed": "^3.7.0",
    "jest": "^26.4.2",
    "license-checker": "^25.0.1",
    "node-pre-gyp": "^0.15.0",
    "npm-check-updates": "^11.3.0",
    "prettier": "^1.19.1",
    "prettier-plugin-package": "^0.3.1",
    "rimraf": "^3.0.2"
  },
  "babel": {
    "ignore": [
      "./dist/**/*"
    ],
    "presets": [
      "@babel/preset-flow",
      [
        "@babel/preset-env",
        {
          "targets": {
            "node": "current"
          },
          "modules": false
        }
      ]
    ],
    "plugins": [
      "@babel/plugin-transform-modules-commonjs",
      "dynamic-import-node-babel-7",
      "@babel/plugin-syntax-dynamic-import",
      "@babel/plugin-syntax-import-meta",
      "@babel/plugin-proposal-class-properties",
      "@babel/plugin-proposal-json-strings",
      [
        "@babel/plugin-proposal-decorators",
        {
          "legacy": true
        }
      ],
      "@babel/plugin-proposal-function-sent",
      "@babel/plugin-proposal-export-namespace-from",
      "@babel/plugin-proposal-numeric-separator",
      "@babel/plugin-proposal-throw-expressions",
      "@babel/plugin-proposal-private-methods",
      "@babel/plugin-proposal-export-default-from",
      "@babel/plugin-proposal-logical-assignment-operators",
      "@babel/plugin-proposal-optional-chaining",
      [
        "@babel/plugin-proposal-pipeline-operator",
        {
          "proposal": "minimal"
        }
      ],
      "@babel/plugin-proposal-nullish-coalescing-operator",
      "@babel/plugin-proposal-do-expressions",
      "@babel/plugin-proposal-function-bind"
    ],
    "env": {
      "production": {
        "presets": []
      },
      "test": {
        "plugins": [
          "./istanbulHackPlugin"
        ]
      }
    }
  },
  "engineStrict": true,
  "jest": {
    "coverageThreshold": {
      "global": {
        "branches": 70,
        "functions": 85,
        "lines": 80,
        "statements": 80
      }
    },
    "coverageDirectory": "coverage",
    "collectCoverageFrom": [
      "src/**/*.js"
    ],
    "transformIgnorePatterns": [
      "node_modules/",
      "dist/"
    ],
    "transform": {
      "^.+\\.[t|j]sx?$": "babel-jest"
    },
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "src/services/deepLearning/CocoSsdService.js",
      "src/services/deepLearning/FaceSpinnerService.js",
      "src/services/deepLearning/faceApi/",
      "src/services/deepLearning/poseNet"
    ]
  }
}