sverweij/state-machine-cat

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "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"
  }
}