{
  "name": "@whisklabs/grpc",
  "version": "1.1.2",
  "description": "gRPC generator and http library for typescript",
  "license": "MIT",
  "author": {
    "name": "Whisk",
    "url": "https://developers.whisk.com/"
  },
  "contributors": [
    {
      "name": "Kuzminov Alexander",
      "url": "https://github.com/askuzminov",
      "email": "askuzminov@gmail.com"
    }
  ],
  "repository": {
    "type": "git",
    "url": "git://github.com/whisklabs/grpc-ts.git"
  },
  "bugs": {
    "url": "https://github.com/whisklabs/grpc-ts/issues"
  },
  "homepage": "https://github.com/whisklabs/grpc-ts#readme",
  "keywords": [
    "grpc",
    "grpc-web",
    "proto",
    "protobuf"
  ],
  "publishConfig": {
    "access": "public"
  },
  "engines": {
    "node": ">=12"
  },
  "bin": {
    "grpc-generator": "./dist/cjs/generator/cli.js"
  },
  "main": "./dist/cjs/index.js",
  "module": "./dist/esm/index.js",
  "types": "./dist/types/index.d.ts",
  "files": [
    "dist",
    "generator"
  ],
  "scripts": {
    "check-types": "tsc --noEmit",
    "check-types:watch": "npm run check-types -- --watch",
    "build:cjs": "tsc -p tsconfig.build.json",
    "build:esm": "tsc -p tsconfig.build.json --module es2015 --outDir ./dist/esm/",
    "build:types": "tsc -p tsconfig.build.json --outDir ./dist/types/ --declaration --emitDeclarationOnly",
    "build:clean": "rimraf dist/**",
    "build": "npm run build:clean && npm run build:cjs && npm run build:esm && npm run build:types",
    "pretest": "npm run build && npm run grpc:protobufjs && npm run gprc:generator",
    "test": "jest --coverage",
    "test:watch": "jest --watch",
    "grpc:protobufjs": "PROTO_DIR=proto PROTO_OUT=tests/protobufjs ts-node src/generator/protobufjs.ts",
    "gprc:generator": "PROTO_DIR=proto PROTO_OUT=tests/proto PROTO_VERSION=test PROTO_DEBUG=true ts-node src/generator/cli.ts",
    "gprc:package": "PROTO_DIR=proto PROTO_OUT=tests/proto PROTO_PACKAGE_NAME=abc PROTO_PACKAGE_VERSION=0.1.10 ts-node src/generator/cli.ts",
    "lint:prettier": "prettier --write \"@(src|tests)/**/*.{ts,tsx,js,json,css,md,html,yml}\"",
    "lint:fix": "npm run eslint:fix && npm run lint:prettier",
    "eslint": "eslint '**/*.{js,ts,tsx}'",
    "eslint:fix": "npm run eslint -- --fix",
    "lint": "npm run eslint",
    "release": "simple-release"
  },
  "dependencies": {
    "@whisklabs/deep-readonly": "~1.0.0",
    "@whisklabs/typeguards": "~1.0.1",
    "typescript": "~5.3.3"
  },
  "devDependencies": {
    "@askuzminov/simple-release": "~1.2.0",
    "@types/jest": "^29.5.12",
    "@typescript-eslint/eslint-plugin": "^7.1.0",
    "@typescript-eslint/parser": "^7.1.0",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsdoc": "^48.2.0",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "eslint-plugin-prettier": "^5.1.3",
    "eslint-plugin-unicorn": "^51.0.1",
    "husky": "^4.3.8",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-junit": "^16.0.0",
    "jsdom": "^24.0.0",
    "lint-staged": "^15.2.2",
    "prettier": "~3.2.5",
    "prettier-eslint": "^16.3.0",
    "protobufjs": "~6.9.0",
    "rimraf": "^5.0.5",
    "ts-jest": "~29.1.2",
    "ts-node": "^10.9.2"
  },
  "prettier": {
    "arrowParens": "avoid",
    "printWidth": 120,
    "singleQuote": true,
    "trailingComma": "es5",
    "tabWidth": 2,
    "useTabs": false
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged && npm run check-types",
      "pre-push": "npm ls && npm run lint && npm run test",
      "commit-msg": "simple-release-lint"
    }
  },
  "lint-staged": {
    "*.{ts,tsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{js,json,md,html,yml}": [
      "prettier --write"
    ]
  },
  "jest": {
    "preset": "ts-jest/presets/js-with-ts",
    "testRegex": "spec\\.tsx?$",
    "roots": [
      "src",
      "tests"
    ],
    "reporters": [
      "default",
      [
        "jest-junit",
        {
          "suiteName": "GRPC tests",
          "outputDirectory": "./coverage/grpc",
          "outputName": "results.xml"
        }
      ]
    ],
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "tests/proto",
      "tests/protobufjs",
      "dist"
    ]
  }
}
