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
JSON
{
"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"
}
}