{
  "name": "ts-regex-builder",
  "version": "1.8.2",
  "description": "Maintainable regular expressions for TypeScript and JavaScript.",
  "main": "dist/commonjs/index.js",
  "module": "dist/esm/index.js",
  "types": "dist/types/index.d.ts",
  "source": "src/index.ts",
  "sideEffects": false,
  "files": [
    "dist",
    "!**/__tests__",
    "!**/__fixtures__",
    "!**/__mocks__",
    "!**/.*"
  ],
  "exports": {
    ".": {
      "require": "./dist/commonjs/index.js",
      "import": "./dist/esm/index.mjs",
      "types": "./dist/types/index.d.ts"
    },
    "./patterns": {
      "require": "./dist/commonjs/patterns/index.js",
      "import": "./dist/esm/patterns/index.mjs",
      "types": "./dist/types/patterns/index.d.ts"
    }
  },
  "scripts": {
    "test": "jest",
    "typecheck": "tsc --noEmit",
    "lint": "eslint \"**/*.{js,ts,tsx}\"",
    "clean": "del-cli dist",
    "release": "yarn build && release-it",
    "release:beta": "yarn build && release-it --preRelease=beta",
    "build": "yarn clean && yarn build:commonjs && yarn build:esm && yarn build:typescript",
    "build:commonjs": "BABEL_ENV=cjs babel src --out-dir \"dist/commonjs\" --extensions .js,.ts --out-file-extension .js --source-maps --no-comments",
    "build:esm": "BABEL_ENV=esm babel src --out-dir \"dist/esm\" --extensions .js,.ts --out-file-extension .mjs  --source-maps --no-comments",
    "build:typescript": "tsc --project tsconfig.release.json --outDir \"dist/types\""
  },
  "keywords": [
    "regex",
    "typescript"
  ],
  "repository": "https://github.com/callstack/ts-regex-builder",
  "author": "Maciej Jastrzębski <mdjastrzebski@gmail.com> (https://github.com/mdjastrzebski)",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/callstack/ts-regex-builder/issues"
  },
  "homepage": "https://github.com/callstack/ts-regex-builder#readme",
  "publishConfig": {
    "registry": "https://registry.npmjs.org/"
  },
  "devDependencies": {
    "@babel/cli": "^7.24.5",
    "@babel/core": "^7.24.5",
    "@babel/plugin-syntax-flow": "^7.24.1",
    "@babel/plugin-transform-react-jsx": "^7.23.4",
    "@babel/preset-env": "^7.24.5",
    "@babel/preset-typescript": "^7.24.1",
    "@callstack/eslint-config": "^14.1.1",
    "@release-it/conventional-changelog": "^5.1.1",
    "@size-limit/preset-small-lib": "^11.1.2",
    "@types/jest": "^29.5.12",
    "babel-plugin-add-import-extension": "^1.6.0",
    "del-cli": "^5.1.0",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^8.10.0",
    "eslint-plugin-flowtype": "^8.0.3",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-prettier": "^4.2.1",
    "jest": "^29.7.0",
    "prettier": "^2.8.8",
    "release-it": "^15.11.0",
    "typescript": "^5.4.5"
  },
  "packageManager": "yarn@4.2.1",
  "engines": {
    "node": ">= 18.0.0"
  },
  "jest": {
    "setupFilesAfterEnv": [
      "<rootDir>/jest-setup.ts"
    ],
    "collectCoverageFrom": [
      "src/**/*.{js,jsx,ts,tsx}"
    ],
    "modulePathIgnorePatterns": [
      "<rootDir>/dist/"
    ]
  },
  "release-it": {
    "git": {
      "commitMessage": "chore: release ${version}",
      "tagName": "v${version}"
    },
    "npm": {
      "publish": true
    },
    "github": {
      "release": true
    },
    "plugins": {
      "@release-it/conventional-changelog": {
        "preset": "angular"
      }
    }
  },
  "eslintConfig": {
    "root": true,
    "extends": [
      "@callstack/eslint-config/node",
      "prettier"
    ],
    "plugins": [
      "import"
    ],
    "rules": {
      "prettier/prettier": [
        "error",
        {
          "quoteProps": "consistent",
          "singleQuote": true,
          "tabWidth": 2,
          "trailingComma": "all",
          "useTabs": false
        }
      ],
      "sort-imports": [
        "error",
        {
          "ignoreCase": true,
          "ignoreDeclarationSort": true
        }
      ],
      "import/order": "error"
    }
  },
  "eslintIgnore": [
    "node_modules/",
    "dist/",
    "coverage/",
    "website/"
  ],
  "prettier": {
    "quoteProps": "consistent",
    "singleQuote": true,
    "tabWidth": 2,
    "trailingComma": "all",
    "useTabs": false
  }
}
