{
  "name": "@mathjax/src",
  "version": "4.1.1",
  "description": "Beautiful and accessible math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers and in server-side node applications. This package includes the source code as well as the packaged components.",
  "keywords": [
    "MathJax",
    "math",
    "svg",
    "HTML",
    "MathML",
    "TeX",
    "AsciiMath"
  ],
  "license": "Apache-2.0",
  "maintainers": [
    "MathJax Consortium <info@mathjax.org> (http://www.mathjax.org)"
  ],
  "bugs": {
    "url": "http://github.com/mathjax/MathJax/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/mathjax/Mathjax-src.git"
  },
  "type": "module",
  "main": "components/mjs/node-main/node-main.js",
  "exports": {
    ".": {
      "import": "./bundle/node-main.mjs",
      "require": "./bundle/node-main.cjs"
    },
    "./source": {
      "import": "./components/mjs/node-main/node-main.mjs",
      "require": "./components/cjs/node-main/node-main.cjs"
    },
    "./js/*": {
      "import": "./mjs/*",
      "require": "./cjs/*"
    },
    "./components/src/*": {
      "import": "./components/mjs/*",
      "require": "./components/cjs/*"
    },
    "./components/js/*": {
      "import": "./components/mjs/*",
      "require": "./components/cjs/*"
    },
    "./require.mjs": "./bundle/require.mjs",
    "./es5/*": "./bundle/*",
    "./*": "./*"
  },
  "imports": {
    "#js/*": "@mathjax/src/mjs/*",
    "#source/*": "@mathjax/src/components/mjs/*",
    "#root/*": "@mathjax/src/mjs/components/mjs/*",
    "#menu/*": "mj-context-menu/js/*",
    "#sre/*": "speech-rule-engine/js/*",
    "#mhchem/*": "mhchemparser/esm/*",
    "#default-font/*": "@mathjax/mathjax-newcm-font/mjs/*"
  },
  "files": [
    "/bundle",
    "/cjs",
    "/mjs",
    "/ts",
    "/components",
    "LICENSE",
    "README.md",
    "CONTRIBUTING.md",
    "tsconfig*"
  ],
  "scripts": {
    "=============================================================================== code hygene": "",
    "lint": "check() { eslint ${1:-ts/}; }; check",
    "lint:fix": "fix() { eslint --fix ${1:-ts/}; }; fix",
    "format": "check() { prettier --check ${1:-\"ts/**/*.{ts,tsx}\"}; }; check",
    "format:fix": "fix() { prettier --write ${1:-\"ts/**/*.{ts,tsx}\"}; }; fix",
    "=============================================================================== clean": "",
    "clean:dir": "clean() { pnpm -s log:single \"Cleaning $1 directory\"; pnpm rimraf $1; }; clean",
    "clean:lib": "clean() { pnpm -s log:single \"Cleaning $1 component libs\"; pnpm rimraf -g components/$1'/**/lib'; }; clean",
    "clean:mod": "clean() { pnpm -s log:comp \"Cleaning $1 module\"; pnpm -s clean:dir $1 && pnpm -s clean:lib $1; }; clean",
    "=============================================================================== copy": "",
    "copy:assets": "pnpm -s log:comp 'Copying assets'; copy() { pnpm -s copy:mj2 $1 && pnpm -s copy:mml3 $1 && pnpm -s copy:html $1; }; copy",
    "copy:html": "copy() { pnpm -s log:single 'Copying sre auxiliary files'; pnpm copyfiles -u 1 'ts/a11y/sre/*.html' 'ts/a11y/sre/require.*' $1; }; copy",
    "copy:mj2": "copy() { pnpm -s log:single 'Copying legacy code AsciiMath'; pnpm copyfiles -u 1 'ts/input/asciimath/legacy/**/*' $1; }; copy",
    "copy:mml3": "copy() { pnpm -s log:single 'Copying legacy code MathML3'; pnpm copyfiles -u 1 ts/input/mathml/mml3/mml3.sef.json $1; }; copy",
    "copy:pkg": "copy() { pnpm -s log:single \"Copying package.json to $1\"; pnpm copyfiles -u 2 components/bin/package.json $1; }; copy",
    "=============================================================================== log": "",
    "log:comp": "log() { echo \u001b[32m$1\u001b[0m; }; log",
    "log:header": "log() { echo '\u001b[1m============='; echo $1; echo '=============\u001b[0m'; }; log",
    "log:single": "log() { echo \u001b[94m--$1\u001b[0m; }; log",
    "=============================================================================== cjs": "",
    "cjs:build": "pnpm -s log:header 'Building cjs'; pnpm -s cjs:src:build && pnpm -s cjs:components:build",
    "cjs:bundle:clean": "pnpm clean:dir bundle-cjs",
    "cjs:bundle:finalize": "pnpm -s log:single 'Finalize cjs bundle'; echo '{\n  \"type\": \"commonjs\"\n}' > bundle-cjs/package.json;",
    "cjs:compile": "pnpm -s cjs:copy:components && pnpm -s cjs:copy:ts && pnpm -s cjs:compile:tsc",
    "cjs:compile:tsc": "pnpm -s log:single 'Compiling cjs typescript files' && pnpm tsc --project tsconfig/worker-cjs.json && pnpm tsc --project tsconfig/cjs.json",
    "cjs:components:build": "pnpm -s log:comp 'Building cjs components'; pnpm -s cjs:components:src:build && pnpm clean:dir bundle-cjs && pnpm -s cjs:components:make --build",
    "cjs:components:clean": "pnpm -s log:single \"Cleaning cjs components\"; pnpm rimraf components/cjs",
    "cjs:components:compile": "pnpm -s log:single 'Compiling component files'; pnpm tsc --project tsconfig/components.json",
    "cjs:components:copy": "pnpm copyfiles -u 2 -e 'components/mjs/**/*.js' 'components/mjs/**/*' components/cjs",
    "cjs:components:finalize": "pnpm -s log:comp 'Finalize cjs components'; pnpm -s cjs:components:copy && pnpm -s copy:pkg components/cjs && pnpm -s clean:lib cjs",
    "cjs:components:make": "make() { pnpm -s log:single 'Making cjs components'; node components/bin/makeAll --cjs --terse --bundle-cjs $1 components/cjs; }; make",
    "cjs:components:src:build": "pnpm -s log:comp 'Building cjs components sources'; pnpm cjs:components:clean && pnpm cjs:components:compile && pnpm cjs:components:finalize",
    "cjs:src:build": "pnpm -s log:comp 'Building cjs sources'; pnpm -s link:src && pnpm clean:dir cjs && pnpm -s cjs:compile && pnpm -s copy:assets cjs && pnpm -s copy:pkg cjs",
    "cjs:copy:components": "pnpm -s log:single 'Moving cjs files from components' && pnpm copyfiles -u 2 'components/mjs/**/*.cjs' 'components/mjs/**/*.d.cts' components/cjs",
    "cjs:copy:ts": "pnpm -s log:single 'Moving cjs files from ts' && pnpm copyfiles -u 1 'ts/**/*.cjs' cjs",
    "=============================================================================== mjs": "",
    "mjs:build": "pnpm -s log:header 'Building mjs'; pnpm -s mjs:src:build && pnpm -s mjs:components:build",
    "mjs:bundle:finalize": "pnpm -s log:single 'Finalize mjs bundle'; echo '{\n  \"type\": \"commonjs\"\n}' > bundle/package.json;",
    "mjs:compile": "pnpm -s log:single 'Compiling mjs typescript files'; pnpm tsc --project tsconfig/mjs.json && pnpm tsc --project tsconfig/worker.json",
    "mjs:components:build": "pnpm -s log:comp 'Compiling mjs component files'; pnpm clean:lib mjs && pnpm clean:dir bundle && pnpm mjs:components:make && pnpm mjs:bundle:finalize",
    "mjs:components:make": "pnpm -s log:single 'Making mjs components'; node components/bin/makeAll --mjs --terse components/mjs",
    "mjs:src:build": "pnpm -s log:comp 'Building mjs sources'; pnpm -s link:src && pnpm -s clean:dir mjs && pnpm -s mjs:compile && pnpm -s copy:assets mjs",
    "=============================================================================== mml3": "",
    "mml3:make:xslt": "pnpm xslt3 -t -xsl:/tmp/mml3.xsl -export:ts/input/mathml/mml3/mml3.sef.json -nogo",
    "mml3:post:xslt": "pnpm rimraf /tmp/mml3.xsl",
    "mml3:pre:xslt": "grep '^\\s*\\(<\\|or\\|xmlns\\|excl\\|\">\\)' ts/input/mathml/mml3/mml3.ts > /tmp/mml3.xsl",
    "mml3-xslt": "pnpm -s mml3:pre:xslt && pnpm -s mml3:make:xslt && pnpm -s mml3:post:xslt",
    "=============================================================================== misc": "",
    "lab:sre": "pnpm -s log:single 'Making lab/sre'; node components/bin/makeAll --terse lab/build",
    "link:src": "pnpm -s log:single 'Setting symbolic link'; node components/bin/link-full",
    "use-cjs": "echo '{\n  \"extends\": \"./tsconfig/cjs.json\"\n}' > tsconfig.json",
    "use-mjs": "echo '{\n  \"extends\": \"./tsconfig/mjs.json\"\n}' > tsconfig.json",
    "=============================================================================== aliases": "",
    "test": "cd testsuite && pnpm -s test --verbose",
    "test:gh": "cd testsuite && pnpm -s test --silent",
    "clean": "pnpm -s clean:mod cjs && pnpm -s cjs:bundle:clean && pnpm -s clean:mod mjs && pnpm -s clean:dir bundle",
    "compile-cjs": "pnpm -s cjs:compile",
    "compile-mjs": "pnpm -s mjs:compile",
    "build-cjs": "pnpm -s cjs:build",
    "build-mjs": "pnpm -s mjs:build",
    "make-cjs-components": "pnpm -s cjs:components:make && pnpm -s cjs:bundle:finalize",
    "make-mjs-components": "pnpm -s mjs:components:make",
    "make-one": "make() { node components/bin/makeAll --no-subdirs $3 $4 --${2:-mjs} components/${2-:mjs}/$1; }; make",
    "make-components": "pnpm -s make-mjs-components",
    "compile": "pnpm -s compile-mjs",
    "build": "pnpm -s build-mjs",
    "build-all": "pnpm -s build-mjs ; echo ; pnpm -s build-cjs"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.2",
    "@xmldom/xmldom": "^0.8.11",
    "copyfiles": "^2.4.1",
    "diff": "^8.0.3",
    "eslint": "^9.39.2",
    "eslint-formatter-unix": "^9.0.1",
    "eslint-plugin-jsdoc": "^62.5.5",
    "eslint-plugin-prettier": "^5.5.5",
    "husky": "^9.1.7",
    "lint-staged": "^16.2.7",
    "prettier": "^3.8.1",
    "rimraf": "^6.1.3",
    "terser-webpack-plugin": "^5.3.16",
    "typedoc": "^0.28.17",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.56.0",
    "typescript-tools": "^0.3.1",
    "webpack": "^5.105.2",
    "webpack-cli": "^6.0.1",
    "wicked-good-xpath": "^1.3.0",
    "xslt3": "^2.7.0"
  },
  "lint-staged": {
    "ts/**/*.ts": [
      "pnpm format:fix",
      "pnpm lint:fix"
    ]
  },
  "dependencies": {
    "@mathjax/mathjax-newcm-font": "4.1.1",
    "mhchemparser": "^4.2.1",
    "mj-context-menu": "^1.0.0",
    "speech-rule-engine": "5.0.0-beta.6"
  }
}
