package.json
{
"name": "state-machine-cat",
"version": "12.0.9",
"description": "write beautiful state charts",
"main": "./dist/index.mjs",
"module": "./dist/index.mjs",
"exports": {
".": [
{
"types": "./types/state-machine-cat.d.mts",
"import": "./dist/index.mjs"
}
]
},
"types": "types/state-machine-cat.d.mts",
"imports": {
"#*": "./src/*"
},
"sideEffects": [
"dist/render/smcat/smcat.template.js",
"dist/render/dot/dot.states.template.js",
"dist/render/dot/dot.template.js",
"dist/render/scxml/scxml.states.template.js",
"dist/render/scxml/scxml.template.js"
],
"scripts": {
"build": "make clean dist pages cli-build && rm -rf dist && tsc && make templates-dist && prettier --cache --log-level warn --write --use-tabs dist",
"check": "run-s depcruise lint test:cover",
"depcruise": "dependency-cruise bin src test types tools --config config/dependency-cruiser/base.mjs",
"depcruise:graph": "run-s depcruise:graph:doc:archi depcruise:graph:doc:deps depcruise:graph:doc:flat-deps",
"depcruise:graph:doc:archi": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type archi | dot -T svg | tee docs/dependency-cruiser-archi-graph.svg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-archi-graph.html",
"depcruise:graph:doc:deps": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type dot | dot -T svg | tee docs/dependency-cruiser-graph.svg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-graph.html",
"depcruise:graph:doc:flat-deps": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type flat | dot -T svg | tee docs/dependency-cruiser-graph-flat-dot.svg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-graph-flat-dot.html",
"depcruise:graph:dev": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type x-dot-webpage --prefix vscode://file/$(pwd)/ --highlight \"$(watskeburt main)\" | browser",
"depcruise:graph:dev:flat": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type flat --prefix vscode://file/$(pwd)/ --highlight \"$(watskeburt main)\"| twopi -Tsvg | depcruise-wrap-stream-in-html | browser",
"depcruise:view-report": "dependency-cruise bin src test types tools --config config/dependency-cruiser/base.mjs --output-type err-html --prefix vscode://file/$(pwd)/ | browser",
"depcruise:github-actions:markdown": "dependency-cruise bin src test types tools --config config/dependency-cruiser/base.mjs --output-type markdown",
"depcruise:github-actions:mermaid": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type mermaid",
"depcruise:github-actions:mermaid:affected": "dependency-cruise bin src test types tools --no-cache --config config/dependency-cruiser/base.mjs --output-type mermaid --reaches \"$(watskeburt $SHA -T regex)\"",
"format": "prettier --cache --log-level warn --write \"bin/*.mjs\" \"{src,test}/**/*.{js,mjs}\" \"{config,test}/**/*.{js,json}\" \"tools/*.{js,mjs,json}\" \"{src,types}/**/*.{ts,mts}\" \"*.{json,yml,md}\" \"docs/{smcat-online-interpreter.js,*.md}\"",
"format:check": "prettier --cache --check \"bin/*.mjs\" \"{src,test}/**/*.{js,mjs}\" \"{config,test}/**/*.{js,json}\" \"tools/*.{js,mjs,json}\" \"{src,types}/**/*.{ts,mts}\" \"*.{json,yml,md}\" \"docs/{smcat-online-interpreter.js,*.md}\"",
"lint": "run-p lint:eslint format:check lint:types",
"lint:eslint": "eslint --cache --cache-location node_modules/.cache/eslint/cache.json --color src test config",
"lint:types": "run-p lint:types:*",
"lint:types:tsc": "tsc --noEmit --strict --types --noUnusedLocals --noUnusedParameters --pretty types/*.d.mts src/cli/*.d.mts src/parse/scxml/*.d.ts",
"lint:types:eslint": "eslint types/*.d.mts src/cli/*.d.mts src/parse/scxml/*.d.ts",
"lint:eslint:clear-caches": "rm -rf node_modules/.cache/eslint/",
"lint:fix": "run-s lint:fix:eslint format lint:fix:types",
"lint:fix:eslint": "eslint --cache --cache-location node_modules/.cache/eslint/cache.json --fix --color src test config",
"lint:fix:types": "eslint --fix types/*.d.mts src/cli/*.d.mts src/parse/scxml/*.d.ts",
"prepack": "clean-pkg-json --dry | jq '.scripts = {test: \"echo for test, build and static analysis scripts: see the github repository\"}' > smaller-package.json && mv smaller-package.json package.json && prettier --cache --log-level warn --write --use-tabs package.json types",
"postpack": "git restore package.json types",
"prepare": "husky install",
"scm:push": "run-p --aggregate-output scm:push:*",
"scm:push:github": "run-p --aggregate-output scm:push:github:*",
"scm:push:github:commits": "git push",
"scm:push:github:tags": "git push --tags",
"scm:push:gitlab-mirror": "run-p --aggregate-output scm:push:gitlab-mirror:*",
"scm:push:gitlab-mirror:commits": "git push gitlab-mirror",
"scm:push:gitlab-mirror:tags": "git push --tags gitlab-mirror",
"scm:push:bitbucket-mirror": "run-p --aggregate-output scm:push:bitbucket-mirror:*",
"scm:push:bitbucket-mirror:commits": "git push bitbucket-mirror",
"scm:push:bitbucket-mirror:tags": "git push --tags bitbucket-mirror",
"scm:stage": "git add .",
"test": "mocha --no-warnings",
"test:cover": "NODE_OPTIONS=--no-warnings c8 mocha",
"update-dependencies": "run-s upem:update upem:install lint:eslint:clear-caches lint:fix check",
"upem-outdated": "npm outdated --json --long | upem --dry-run",
"upem:install": "npm install",
"upem:update": "npm outdated --json --long | upem | pbcopy && pbpaste",
"version": "run-s build depcruise:graph scm:stage"
},
"files": [
"bin/",
"dist/",
"types/",
"package.json",
"README.md",
"LICENSE"
],
"keywords": [
"state",
"state chart",
"state diagram",
"state machine",
"finite state machine",
"fsm",
"uml",
"scxml"
],
"author": "Sander Verweij",
"license": "MIT",
"bin": {
"smcat": "bin/smcat.mjs",
"sm-cat": "bin/smcat.mjs",
"sm_cat": "bin/smcat.mjs",
"state-machine-cat": "bin/smcat.mjs"
},
"dependencies": {
"@hpcc-js/wasm": "2.16.2",
"ajv": "8.13.0",
"commander": "12.0.0",
"fast-xml-parser": "4.3.6",
"handlebars": "4.7.8",
"he": "1.2.0",
"semver": "^7.6.0",
"traverse": "0.6.8"
},
"devDependencies": {
"@types/he": "1.2.3",
"@types/mocha": "10.0.6",
"@typescript-eslint/eslint-plugin": "7.8.0",
"@typescript-eslint/parser": "7.8.0",
"c8": "9.1.0",
"clean-pkg-json": "1.2.0",
"dependency-cruiser": "16.3.1",
"esbuild": "0.20.2",
"eslint": "8.57.0",
"eslint-config-moving-meadow": "4.0.2",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-budapestian": "6.0.0",
"eslint-plugin-eslint-comments": "3.2.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-mocha": "10.4.3",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-security": "3.0.0",
"eslint-plugin-unicorn": "52.0.0",
"grammkit": "0.7.2",
"husky": "9.0.11",
"is-pdf": "1.0.0",
"is-png": "3.0.1",
"lint-staged": "15.2.2",
"mocha": "10.4.0",
"npm-run-all": "4.1.5",
"peggy": "4.0.2",
"prettier": "3.2.5",
"query-string": "9.0.0",
"ts-node": "10.9.2",
"tsx": "4.8.2",
"typescript": "5.4.5",
"upem": "9.0.4",
"watskeburt": "4.0.2",
"xml-name-validator": "5.0.0"
},
"engines": {
"node": "^18.17||>=20"
},
"upem": {
"policies": [
{
"package": "eslint",
"policy": "wanted",
"because": "@typescript-eslint/eslint-plugin 7.6.0 uses @typescript-eslint/parser 7.6.0 (currently _latest_) which isn't on eslint 9 yet (it peer requires ^8.56.0)"
},
{
"package": "traverse",
"policy": "pin",
"because": "with traverse 0.6.9 the website errors out with a 'index.js:24 Uncaught ReferenceError: global is not defined' (see comments in commit this line was added for full message)"
}
]
},
"browserslist": [
"last 1 Chrome version",
"last 1 Firefox version",
"last 1 Safari version"
],
"homepage": "https://state-machine-cat.js.org",
"repository": {
"type": "git",
"url": "git+https://github.com/sverweij/state-machine-cat.git"
},
"bugs": {
"url": "https://github.com/sverweij/state-machine-cat/issues"
}
}