{
  "name": "jssm",
  "version": "5.104.2",
  "engines": {
    "node": ">=10.0.0"
  },
  "exports": {
    "require": {
      "types": "./jssm.es5.d.cts",
      "default": "./dist/jssm.es5.cjs"
    },
    "import": {
      "types": "./jssm.es6.d.ts",
      "default": "./dist/jssm.es6.mjs"
    },
    "default": {
      "types": "./jssm.es5.d.cts",
      "default": "./dist/jssm.es5.cjs"
    },
    "browser": "dist/jssm.es5.iife.cjs"
  },
  "autoupdate": {
    "source": "git",
    "target": "git://github.com/StoneCypher/jssm.git",
    "fileMap": [
      {
        "basePath": "/dist",
        "files": [
          "jssm.es5.cjs"
        ]
      }
    ]
  },
  "type": "module",
  "description": "A Javascript finite state machine (FSM) with a terse DSL and a simple API.  Most FSMs are one-liners.  Fast, easy, powerful, well tested, typed with TypeScript, and visualizations. MIT License.",
  "main": "dist/jssm.es5.cjs",
  "module": "dist/jssm.es6.js",
  "browser": "dist/jssm.es5.iife.cjs",
  "types": "./jssm.d.ts",
  "scripts": {
    "jest-unicode-action": "jest unicode-actions.uspec.ts -c jest-unicode.config.cjs --color --verbose",
    "jest-unicode-string": "jest unicode-strings.uspec.ts -c jest-unicode.config.cjs --color --verbose",
    "jest-unicode-atom": "jest unicode-atoms.uspec.ts -c jest-unicode.config.cjs --color --verbose",
    "jest-unicode-string-label": "jest unicode-atoms.uspec.ts -c jest-unicode.config.cjs --color --verbose",
    "jest-unicode-atom-label": "jest unicode-atoms.uspec.ts -c jest-unicode.config.cjs --color --verbose",
    "jest-unicode-full-slow": "npm run jest-unicode-atom && npm run jest-unicode-string && npm run jest-unicode-atom-label && npm run jest-unicode-string-label && jest-unicode-action",
    "jest-stoch": "jest -c jest-stoch.config.cjs --color --verbose",
    "jest-dragon": "jest -c jest-dragon.config.cjs --color --verbose",
    "jest-spec": "jest -c jest-spec.config.cjs --color --verbose",
    "jest": "npm run jest-stoch && npm run jest-spec",
    "test": "npm run make && npm run jest",
    "clean": "rm -rf dist && rm -rf docs && cd coverage && rm -rf cloc && cd .. && rm -f src/ts/fsl_parser.ts && rm -f src/ts/version.ts && rm -f *.d.ts && mkdir dist && mkdir docs && cd coverage && mkdir cloc && cd .. && rm -f ./src/tools/jssm.es5.iife.nonmin.cjs",
    "peg": "rm -f src/ts/fsl_parser.js && pegjs src/ts/fsl_parser.peg && node src/buildjs/fixparser.cjs",
    "make_cjs": "rollup -c rollup.config.es5.js",
    "make_es6": "rollup -c rollup.config.es6.js",
    "make_iife": "rollup -c rollup.config.iife.js",
    "make_deno": "rollup -c rollup.config.deno.js && cp dist/es6/*.d.ts dist/deno",
    "typescript": "tsc --build tsconfig.json && cp dist/es6/*.d.ts .",
    "makever": "node src/buildjs/makever.cjs",
    "make": "npm run clean && npm run makever && npm run peg && npm run typescript && npm run make_iife && npm run make_es6 && npm run make_deno && npm run make_cjs && npm run minify && npm run min_iife && npm run min_es6 && npm run min_cjs && npm run min_deno && rm ./dist/es6/*.nonmin.js",
    "eslint": "eslint --color src/ts/jssm.ts src/ts/jssm_types.ts src/ts/tests/*.ts",
    "audit": "text_audit -r -t major MAJOR wasteful WASTEFUL any mixed fixme FIXME checkme CHECKME testme TESTME stochable STOCHABLE todo TODO comeback COMEBACK whargarbl WHARGARBL -g ./src/ts/**/*.{js,ts}",
    "vet": "npm run eslint && npm run audit",
    "benny": "node ./src/buildjs/benchmark.cjs",
    "build": "npm run vet && npm run test && npm run site && npm run changelog && npm run docs && npm run cloc && npm run readme",
    "clean_bench": "npm run test && npm run benny",
    "qbuild": "npm run test",
    "ci_build": "npm run vet && npm run test",
    "minify": "mv dist/es6/fsl_parser.js dist/es6/fsl_parser.nonmin.js && terser dist/es6/fsl_parser.nonmin.js > dist/es6/fsl_parser.js",
    "min_iife": "mv dist/jssm.es5.iife.js dist/jssm.es5.iife.nonmin.cjs && terser dist/jssm.es5.iife.nonmin.cjs > dist/jssm.es5.iife.cjs && cp dist/jssm.es5.iife.nonmin.cjs ./src/tools/",
    "min_cjs": "mv dist/jssm.es5.cjs.js dist/jssm.es5.nonmin.cjs && terser dist/jssm.es5.nonmin.cjs > dist/jssm.es5.cjs",
    "min_es6": "mv dist/jssm.es6.js dist/jssm.es6.nonmin.cjs && terser dist/jssm.es6.nonmin.cjs > dist/jssm.es6.mjs",
    "min_deno": "terser dist/deno/jssm.deno-esm.nonmin.js > dist/deno/jssm.js",
    "site": "cp src/site/* docs/ && cp -r src/assets docs/assets/",
    "docs": "typedoc src/ts/jssm.ts src/ts/jssm_types.ts src/ts/jssm_constants.ts src/ts/jssm_error.ts src/ts/jssm_util.ts src/ts/version.ts --options typedoc-options.cjs",
    "cloc": "cloc --quiet ./src/** --exclude-list-file=./.clocignore --3 --json --out=./coverage/cloc/report_wt.json && cloc --quiet ./src/** --exclude-list-file=./.clocignore --exclude-dir=tests --3 --json --out=./coverage/cloc/report_nt.json && node ./src/buildjs/cloc_report.cjs",
    "readme": "rm -f ./README.md && node ./src/buildjs/make_readme.cjs && cp README.md dist/deno",
    "changelog": "rm -f CHANGELOG.md && rm -f ./src/doc_md/CHANGELOG.md && better_git_changelog -b && cp CHANGELOG.* ./src/doc_md/"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/StoneCypher/jssm.git"
  },
  "keywords": [
    "finite",
    "state",
    "state machine",
    "state-machine",
    "machine",
    "finite-state-machine",
    "finite state machine",
    "fsm",
    "fsm-library",
    "js",
    "javascript",
    "javascript-library",
    "mit-license",
    "tested",
    "typed",
    "typed-js",
    "mealy",
    "moore",
    "mealy machine",
    "moore machine",
    "mealy-machine",
    "moore-machine",
    "graphviz",
    "viz.js",
    "fsl",
    "finite-state-language",
    "flowchart",
    "visualization",
    "TypeScript",
    "StoneCypher"
  ],
  "author": "John Haugeland <stonecypher@gmail.com>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/StoneCypher/jssm/issues"
  },
  "homepage": "https://stonecypher.github.io/jssm/",
  "devDependencies": {
    "@knodes/typedoc-plugin-pages": "^0.22.5",
    "@rollup/plugin-commonjs": "^28.0.1",
    "@rollup/plugin-node-resolve": "^15.3.0",
    "@rollup/plugin-replace": "^6.0.1",
    "@types/chalk": "^2.2.0",
    "@types/jest": "^29.5.12",
    "@typescript-eslint/eslint-plugin": "^5.30.4",
    "@typescript-eslint/parser": "^5.30.4",
    "benny": "^3.7.1",
    "cloc": "^2.10.0",
    "eslint": "^7.32.0",
    "eslint-plugin-fp": "^2.3.0",
    "eslint-plugin-new-with-error": "^2.0.0",
    "eslint-plugin-promise": "^5.1.0",
    "eslint-plugin-react": "^7.26.1",
    "eslint-plugin-unicorn": "^37.0.1",
    "fast-check": "^2.12.0",
    "glob": "^7.1.6",
    "jest": "^29.7.0",
    "jest-json-reporter2": "^1.1.0",
    "pegjs": "^0.10.0",
    "picocolors": "^1.0.0",
    "rollup": "^4.24.0",
    "rollup-plugin-dts": "^6.1.1",
    "semver": "^7.5.4",
    "terser": "^5.14.2",
    "text_audit": "^0.9.3",
    "ts-jest": "^29.1.5",
    "twitter-api-client": "^1.6.0",
    "typedoc": "^0.22.18",
    "typedoc-plugin-missing-exports": "^0.23.0",
    "typescript": "^4.7.4",
    "xml2js": "^0.6.2"
  },
  "dependencies": {
    "better_git_changelog": "^1.6.1",
    "circular_buffer_js": "^1.10.0",
    "reduce-to-639-1": "^1.1.0"
  }
}
