UNPKG

jssm

Version:

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.

163 lines (162 loc) 7.24 kB
{ "name": "jssm", "version": "5.104.1", "engines": { "node": ">=10.0.0" }, "exports": { "require": { "types": "./jssm.es5.d.cts", "default": "./dist/jssm.es5.cjs.js" }, "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" } }