{
    "name": "parse5-build-scripts",
    "private": true,
    "type": "module",
    "workspaces": [
        "packages/*",
        "bench",
        "test"
    ],
    "devDependencies": {
        "@types/jest": "^29.5.12",
        "@typescript-eslint/eslint-plugin": "^6.21.0",
        "@typescript-eslint/parser": "^6.21.0",
        "eslint": "^8.56.0",
        "eslint-config-prettier": "^9.1.0",
        "eslint-plugin-unicorn": "^50.0.1",
        "husky": "^9.0.10",
        "jest": "^29.7.0",
        "lint-staged": "^15.2.2",
        "outdent": "^0.8.0",
        "prettier": "^3.2.5",
        "ts-jest": "^29.1.2",
        "ts-node": "^10.9.2",
        "typedoc": "^0.25.7",
        "typescript": "^5.1.6"
    },
    "scripts": {
        "build": "npm run build:esm && npm run build:cjs --workspaces --if-present",
        "build:esm": "tsc --build packages/* test",
        "build:docs": "typedoc",
        "prettier": "prettier '**/*.{js,ts,md,json,yml}' --log-level warn",
        "format": "npm run format:es && npm run format:prettier",
        "format:es": "npm run lint:es -- --fix",
        "format:prettier": "npm run prettier -- --write",
        "lint": "npm run lint:es && npm run lint:prettier",
        "lint:es": "eslint .",
        "lint:prettier": "npm run prettier -- --check",
        "unit-tests": "NODE_OPTIONS=--experimental-vm-modules jest",
        "test": "npm run lint && npm run unit-tests",
        "generate-feedback-tests": "node --loader ts-node/esm scripts/generate-parser-feedback-test/index.ts test/data/html5lib-tests/tree-construction/*.dat",
        "bench-perf": "npm run build && node bench/perf/index.js",
        "bench-memory-sax": "npm run build && node bench/memory/sax-parser.js",
        "preversion": "npm test",
        "pre-commit": "lint-staged",
        "publish": "npm publish --workspaces",
        "prepare": "husky install",
        "prepublish": "npm run build"
    },
    "lint-staged": {
        "*.{js,ts}": [
            "prettier --write",
            "eslint --fix"
        ],
        "*.{md,json,yml}": [
            "prettier --write"
        ]
    },
    "jest": {
        "preset": "ts-jest/presets/default-esm",
        "testEnvironment": "node",
        "coverageProvider": "v8",
        "moduleNameMapper": {
            "^(parse5[^/]*)/dist/(.*?)(?:\\.js)?$": "<rootDir>/packages/$1/lib/$2",
            "^(parse5[^/]*)$": "<rootDir>/packages/$1/lib/index.ts",
            "^(.*)\\.js$": [
                "$1",
                "$1.js"
            ]
        },
        "coveragePathIgnorePatterns": [
            "node_modules",
            "bench",
            "test"
        ]
    }
}
