{
  "name": "jssm",
  "version": "5.120.0",
  "engines": {
    "node": ">=10.0.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "bin": {
    "fsl": "./dist/cli/fsl.cjs",
    "jssm": "./dist/cli/fsl.cjs",
    "fsl-render": "./dist/cli/fsl-render.cjs"
  },
  "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.js"
    },
    "./viz": {
      "require": {
        "types": "./jssm_viz.es5.d.cts",
        "default": "./dist/jssm_viz.cjs"
      },
      "import": {
        "types": "./jssm_viz.es6.d.ts",
        "default": "./dist/jssm_viz.mjs"
      },
      "browser": "./dist/jssm_viz.iife.cjs"
    },
    "./cli": {
      "require": {
        "types": "./jssm.cli.d.cts",
        "default": "./dist/cli/lib.cjs"
      },
      "import": {
        "types": "./jssm.cli.d.ts",
        "default": "./dist/cli/lib.mjs"
      }
    },
    "./wc/viz": {
      "import": "./dist/wc/viz.js",
      "default": "./dist/wc/viz.js"
    },
    "./wc/viz/define": {
      "import": "./dist/wc/viz.define.js",
      "default": "./dist/wc/viz.define.js"
    },
    "./cdn/viz": "./dist/cdn/viz.js",
    "./custom-elements.json": "./custom-elements.json"
  },
  "autoupdate": {
    "source": "git",
    "target": "git://github.com/StoneCypher/jssm.git",
    "fileMap": [
      {
        "basePath": "/dist",
        "files": [
          "jssm.es5.cjs"
        ]
      }
    ]
  },
  "type": "module",
  "sideEffects": [
    "./dist/wc/*.define.js",
    "./dist/cdn/**"
  ],
  "files": [
    "dist/jssm.es5.cjs",
    "dist/jssm.es5.iife.js",
    "dist/jssm.es6.mjs",
    "dist/jssm_viz.cjs",
    "dist/jssm_viz.iife.cjs",
    "dist/jssm_viz.mjs",
    "dist/wc/viz.js",
    "dist/wc/viz.define.js",
    "dist/cdn/viz.js",
    "dist/deno/jssm.js",
    "dist/deno/*.d.ts",
    "dist/deno/README.md",
    "jssm.es5.d.cts",
    "jssm.es6.d.ts",
    "jssm_viz.es5.d.cts",
    "jssm_viz.es6.d.ts",
    "MIGRATING-jssm-viz.md",
    "custom-elements.json"
  ],
  "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.mjs",
  "browser": "dist/jssm.es5.iife.js",
  "types": "./jssm.es5.d.cts",
  "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-cli": "jest -c jest-cli.config.cjs --color --verbose",
    "jest-wc": "jest -c jest-wc.config.cjs --color --verbose",
    "make_cli": "rollup -c rollup.config.cli.cjs.js && rollup -c rollup.config.cli.esm.js && rollup -c rollup.config.cli.dts.js",
    "min_cli": "terser dist/cli/fsl.cjs -o dist/cli/fsl.cjs --comments=/^#!/ && terser dist/cli/fsl-render.cjs -o dist/cli/fsl-render.cjs --comments=/^#!/ && terser dist/cli/lib.cjs -o dist/cli/lib.cjs && terser dist/cli/lib.mjs -o dist/cli/lib.mjs",
    "jest": "npm run jest-stoch && npm run jest-spec && npm run jest-cli && npm run jest-wc",
    "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 && cd dist && mkdir wc && mkdir cdn && cd .. && mkdir docs && cd coverage && mkdir cloc && cd .. && rm -f ./src/tools/jssm.es5.iife.nonmin.js",
    "peg": "rm -f src/ts/fsl_parser.js && pegjs src/ts/fsl_parser.peg && node src/buildjs/fixparser.cjs",
    "build:cem": "custom-elements-manifest analyze --config custom-elements-manifest.config.mjs",
    "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",
    "make_viz_cjs": "rollup -c rollup.config.viz.es5.js",
    "make_viz_es6": "rollup -c rollup.config.viz.es6.js",
    "make_wc_viz_es6": "rollup -c rollup.config.wc.viz.es6.js",
    "make_wc_viz_cdn": "rollup -c rollup.config.wc.viz.cdn.js",
    "make_viz_iife": "rollup -c rollup.config.viz.iife.js",
    "typescript": "tsc --build tsconfig.json",
    "makever": "node src/buildjs/makever.cjs",
    "make": "npm run clean && npm run makever && npm run peg && npm run build:cem && npm run typescript && npm run make_iife && npm run make_es6 && npm run make_deno && npm run make_cjs && npm run make_viz_iife && npm run make_viz_es6 && npm run make_viz_cjs && npm run make_wc_viz_es6 && npm run make_wc_viz_cdn && npm run make_cli && npm run minify && npm run min_iife && npm run min_es6 && npm run min_cjs && npm run min_deno && npm run min_viz_iife && npm run min_viz_es6 && npm run min_viz_cjs && npm run min_cli && 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",
    "ci_profile": "node ./src/buildjs/ci_profile.cjs",
    "build": "npm run vet && npm run test && npm run site && npm run make_cookbook && npm run site_fsl_tools && 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.js && terser dist/jssm.es5.iife.nonmin.js > dist/jssm.es5.iife.js && cp dist/jssm.es5.iife.nonmin.js ./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",
    "min_viz_iife": "mv dist/jssm_viz.es5.iife.js dist/jssm_viz.es5.iife.nonmin.cjs && terser dist/jssm_viz.es5.iife.nonmin.cjs > dist/jssm_viz.iife.cjs",
    "min_viz_cjs": "mv dist/jssm_viz.es5.cjs.js dist/jssm_viz.es5.nonmin.cjs && terser dist/jssm_viz.es5.nonmin.cjs > dist/jssm_viz.cjs",
    "min_viz_es6": "mv dist/jssm_viz.es6.js dist/jssm_viz.es6.nonmin.cjs && terser dist/jssm_viz.es6.nonmin.cjs > dist/jssm_viz.mjs",
    "site": "cp src/site/* docs/ && cp -r src/assets docs/assets/ && cp -r src/demo docs/ && cp dist/jssm.es5.iife.js docs/demo",
    "make_cookbook": "node src/fsl.tools/site/scripts/build.cjs",
    "site_fsl_tools": "cd docs && mkdir fsl.tools && cd .. && cp -r src/fsl.tools/site/* docs/fsl.tools/ && rm -rf docs/fsl.tools/recipes docs/fsl.tools/scripts",
    "docs": "typedoc src/ts/jssm.ts src/ts/jssm_viz.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": {
    "@custom-elements-manifest/analyzer": "^0.10.4",
    "@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",
    "@rollup/plugin-typescript": "^12.3.0",
    "@swc/core": "^1.15.33",
    "@swc/jest": "^0.2.39",
    "@types/chalk": "^2.2.0",
    "@types/jest": "^29.5.12",
    "@types/jsdom": "^21.1.7",
    "@typescript-eslint/eslint-plugin": "^5.30.4",
    "@typescript-eslint/parser": "^5.30.4",
    "@viz-js/viz": "^3.26.0",
    "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-environment-jsdom": "^30.3.0",
    "jest-json-reporter2": "^1.1.0",
    "jsdom": "^24.1.0",
    "lit": "^3.2.1",
    "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",
    "tslib": "^2.8.1",
    "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"
  },
  "peerDependencies": {
    "lit": ">=3"
  },
  "peerDependenciesMeta": {
    "lit": { "optional": true }
  },
  "optionalDependencies": {
    "@resvg/resvg-wasm": "^2.6.0",
    "@viz-js/viz": "^3.26.0"
  }
}
