{
  "name": "@yobta/validator",
  "version": "1.0.0",
  "description": "Tree-shakable es6 validator",
  "keywords": [
    "validator",
    "validator",
    "forms",
    "query"
  ],
  "scripts": {
    "build": "tsc --build tsconfig.build.json",
    "lint": "eslint src",
    "lint:fix": "eslint src --fix",
    "size-limit": "size-limit",
    "test": "NODE_OPTIONS=--experimental-vm-modules jest src",
    "tf": "NODE_OPTIONS=--experimental-vm-modules jest src/shape/asyncShape.test.ts",
    "typecheck": "tsc --noEmit",
    "ncu": "ncu -u"
  },
  "engines": {
    "node": ">=20"
  },
  "author": "Sergei Droganov <sergei@droganov.com>",
  "license": "MIT",
  "repository": "https://github.com/yobta/validator.git",
  "sideEffects": false,
  "type": "module",
  "types": "./lib/index.d.ts",
  "module": "./lib/index.js",
  "exports": {
    ".": "./lib/index.js",
    "./package.json": "./package.json"
  },
  "publishConfig": {
    "access": "public"
  },
  "devDependencies": {
    "@jest/globals": "^29.7.0",
    "@logux/eslint-config": "^53.4.0",
    "@size-limit/preset-small-lib": "^11.1.5",
    "@testing-library/dom": "^10.4.0",
    "@types/jest": "^29.5.13",
    "@types/jsdom": "^21.1.7",
    "@types/node": "^22.5.5",
    "@typescript-eslint/eslint-plugin": "^8.6.0",
    "@typescript-eslint/parser": "^8.6.0",
    "eslint": "^9.11.0",
    "eslint-config-standard": "^17.1.0",
    "eslint-plugin-es5": "^1.5.0",
    "eslint-plugin-import": "^2.30.0",
    "eslint-plugin-jest": "^28.8.3",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prefer-let": "^4.0.0",
    "eslint-plugin-promise": "^7.1.0",
    "eslint-plugin-security": "^3.0.1",
    "eslint-plugin-unicorn": "^55.0.0",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "nanodelay": "^2.0.2",
    "prettier": "^3.3.3",
    "size-limit": "^11.1.5",
    "ts-jest": "^29.2.5",
    "typescript": "^5.6.2"
  },
  "prettier": {
    "arrowParens": "avoid",
    "jsxSingleQuote": false,
    "quoteProps": "consistent",
    "semi": false,
    "singleQuote": true,
    "trailingComma": "all"
  },
  "size-limit": [
    {
      "name": "rule",
      "import": {
        "lib/index.js": "{ rule }"
      },
      "limit": "23 B"
    },
    {
      "name": "createAsyncValidator",
      "import": {
        "lib/index.js": "{ createAsyncValidator }"
      },
      "limit": "297 B"
    },
    {
      "name": "createValidator",
      "import": {
        "lib/index.js": "{ createValidator }"
      },
      "limit": "270 B"
    },
    {
      "name": "shape",
      "import": {
        "lib/index.js": "{ shape }"
      },
      "limit": "468 B"
    },
    {
      "name": "string",
      "import": {
        "lib/index.js": "{ string }"
      },
      "limit": "127 B"
    },
    {
      "name": "test",
      "import": {
        "lib/index.js": "{ test }"
      },
      "limit": "68 B"
    },
    {
      "name": "array",
      "import": {
        "lib/index.js": "{ array }"
      },
      "limit": "107 B"
    },
    {
      "name": "number",
      "import": {
        "lib/index.js": "{ number }"
      },
      "limit": "101 B"
    },
    {
      "name": "integer",
      "import": {
        "lib/index.js": "{ integer }"
      },
      "limit": "89 B"
    },
    {
      "name": "date",
      "import": {
        "lib/index.js": "{ date }"
      },
      "limit": "92 B"
    },
    {
      "name": "boolean",
      "import": {
        "lib/index.js": "{ boolean }"
      },
      "limit": "150 B"
    },
    {
      "name": "minItems",
      "import": {
        "lib/index.js": "{ minItems }"
      },
      "limit": "128 B"
    },
    {
      "name": "maxItems",
      "import": {
        "lib/index.js": "{ maxItems }"
      },
      "limit": "120 B"
    },
    {
      "name": "minCharacters",
      "import": {
        "lib/index.js": "{ minCharacters }"
      },
      "limit": "130 B"
    },
    {
      "name": "maxCharacters",
      "import": {
        "lib/index.js": "{ maxCharacters }"
      },
      "limit": "128 B"
    },
    {
      "name": "minNumber",
      "import": {
        "lib/index.js": "{ minNumber }"
      },
      "limit": "86 B"
    },
    {
      "name": "maxNumber",
      "import": {
        "lib/index.js": "{ maxNumber }"
      },
      "limit": "90 B"
    },
    {
      "name": "minDate",
      "import": {
        "lib/index.js": "{ minDate }"
      },
      "limit": "115 B"
    },
    {
      "name": "maxDate",
      "import": {
        "lib/index.js": "{ maxDate }"
      },
      "limit": "114 B"
    },
    {
      "name": "email",
      "import": {
        "lib/index.js": "{ email }"
      },
      "limit": "162 B"
    },
    {
      "name": "reEmail",
      "import": {
        "lib/index.js": "{ reEmail }"
      },
      "limit": "92 B"
    },
    {
      "name": "fallback",
      "import": {
        "lib/index.js": "{ fallback }"
      },
      "limit": "109 B"
    },
    {
      "name": "constant",
      "import": {
        "lib/index.js": "{ constant }"
      },
      "limit": "98 B"
    },
    {
      "name": "items",
      "import": {
        "lib/index.js": "{ items }"
      },
      "limit": "233 B"
    },
    {
      "name": "unique",
      "import": {
        "lib/index.js": "{ unique }"
      },
      "limit": "90 B"
    },
    {
      "name": "identical",
      "import": {
        "lib/index.js": "{ identical }"
      },
      "limit": "113 B"
    },
    {
      "name": "different",
      "import": {
        "lib/index.js": "{ different }"
      },
      "limit": "104 B"
    },
    {
      "name": "form",
      "import": {
        "lib/index.js": "{ form }"
      },
      "limit": "249 B"
    },
    {
      "name": "oneOf",
      "import": {
        "lib/index.js": "{ oneOf }"
      },
      "limit": "110 B"
    },
    {
      "name": "effect",
      "import": {
        "lib/index.js": "{ effect }"
      },
      "limit": "37 B"
    },
    {
      "name": "asyncShape",
      "import": {
        "lib/index.js": "{ asyncShape }"
      },
      "limit": "482 B"
    },
    {
      "name": "pipe",
      "import": {
        "lib/index.js": "{ pipe }"
      },
      "limit": "69 B"
    },
    {
      "name": "asyncPipe",
      "import": {
        "lib/index.js": "{ asyncPipe }"
      },
      "limit": "70 B"
    },
    {
      "name": "asyncSubmit",
      "import": {
        "lib/index.js": "{ asyncSubmit }"
      },
      "limit": "237 B"
    },
    {
      "name": "errors",
      "import": {
        "lib/index.js": "{ errors }"
      },
      "limit": "55 B"
    },
    {
      "name": "validity",
      "import": {
        "lib/index.js": "{ validity }"
      },
      "limit": "308 B"
    },
    {
      "name": "required",
      "import": {
        "lib/index.js": "{ required }"
      },
      "limit": "71 B"
    },
    {
      "name": "success",
      "import": {
        "lib/index.js": "{ success }"
      },
      "limit": "51 B"
    },
    {
      "name": "slug",
      "import": {
        "lib/index.js": "{ slug }"
      },
      "limit": "104 B"
    },
    {
      "name": "YobtaError",
      "import": {
        "lib/index.js": "{ YobtaError }"
      },
      "limit": "72 B"
    },
    {
      "name": "*",
      "import": {
        "lib/index.js": "*"
      },
      "limit": "2644 B"
    }
  ]
}
