UNPKG

dependency-cruiser

Version:

Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.

250 lines (249 loc) 13.3 kB
{ "name": "dependency-cruiser", "version": "13.0.2", "description": "Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.", "keywords": [ "static analysis", "circular", "dependencies", "typescript", "javascript", "coffeescript", "ES6", "ES2015", "AMD", "CommonJS", "validation", "spelunking" ], "author": { "name": "Sander Verweij", "url": "https://sverweij.github.io" }, "contributors": [ { "name": "Klaus Meinhardt", "url": "https://github.com/ajafff" } ], "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/sverweij/dependency-cruiser" }, "bugs": { "url": "https://github.com/sverweij/dependency-cruiser/issues" }, "homepage": "https://github.com/sverweij/dependency-cruiser", "bin": { "dependency-cruiser": "bin/dependency-cruise.mjs", "dependency-cruise": "bin/dependency-cruise.mjs", "depcruise": "bin/dependency-cruise.mjs", "depcruise-baseline": "bin/depcruise-baseline.mjs", "depcruise-fmt": "bin/depcruise-fmt.mjs", "depcruise-wrap-stream-in-html": "bin/wrap-stream-in-html.mjs" }, "main": "src/main/index.mjs", "exports": { ".": { "import": "./src/main/index.mjs", "types": "./types/dependency-cruiser.d.ts" }, "./config-utl/extract-babel-config": { "import": "./src/config-utl/extract-babel-config.mjs", "types": "./types/extract-babel-config.d.ts" }, "./config-utl/extract-depcruise-config": { "import": "./src/config-utl/extract-depcruise-config/index.mjs", "types": "./types/extract-depcruise-config.d.ts" }, "./config-utl/extract-ts-config": { "import": "./src/config-utl/extract-ts-config.mjs", "types": "./types/extract-ts-config.d.ts" }, "./config-utl/extract-webpack-resolve-config": { "import": "./src/config-utl/extract-webpack-resolve-config.mjs", "types": "./types/extract-webpack-resolve-config.d.ts" }, "./sample-reporter-plugin": "./configs/plugins/stats-reporter-plugin.js", "./sample-3d-reporter-plugin": "./configs/plugins/3d-reporter-plugin.js", "./mermaid-reporter-plugin": "./src/report/mermaid.mjs" }, "types": "types/dependency-cruiser.d.ts", "files": [ "bin", "configs/**/*.js", "src", "!src/**/*.json", "!src/**/*.hbs", "!src/**/*.md", "!**/*.DS_Store", "types/*.d.ts", "LICENSE", "package.json", "README.md" ], "scripts": { "build": "make build", "build:clean": "make clean", "check": "npm-run-all build lint depcruise test:cover", "check:full": "npm-run-all check test:glob", "depcruise": "node ./bin/dependency-cruise.mjs src bin test configs types tools --ignore-known", "depcruise:all": "node ./bin/dependency-cruise.mjs src bin test configs types tools", "depcruise:baseline": "node ./bin/depcruise-baseline.mjs src bin test configs types tools", "depcruise:explain": "node ./bin/dependency-cruise.mjs src bin test configs types tools --output-type err-long --progress none", "depcruise:graph:doc": "npm-run-all depcruise:graph:doc:json --parallel depcruise:graph:doc:fmt-* depcruise:graph:doc:samples", "depcruise:graph:doc:json": "node ./bin/dependency-cruise.mjs bin src test --output-type json --output-to node_modules/.cache/tmp_graph_deps.json --progress", "depcruise:graph:doc:fmt-detail": "./bin/depcruise-fmt.mjs -T dot -f - node_modules/.cache/tmp_graph_deps.json | dot -T svg | tee doc/real-world-samples/dependency-cruiser-without-node_modules.svg | node bin/wrap-stream-in-html.mjs > docs/dependency-cruiser-dependency-graph.html", "depcruise:graph:doc:fmt-archi": "./bin/depcruise-fmt.mjs -T archi -f - node_modules/.cache/tmp_graph_deps.json | dot -T svg -Gordering=in -Grankdir=TD | tee doc/real-world-samples/dependency-cruiser-archi-graph.svg | node bin/wrap-stream-in-html.mjs > docs/dependency-cruiser-archi-graph.html", "depcruise:graph:doc:fmt-dir": "./bin/depcruise-fmt.mjs -T ddot -f - node_modules/.cache/tmp_graph_deps.json | dot -T svg -Grankdir=TD | tee doc/real-world-samples/dependency-cruiser-dir-graph.svg | node bin/wrap-stream-in-html.mjs > docs/dependency-cruiser-dir-graph.html", "depcruise:graph:doc:fmt-schema": "cd tools/schema && node ../../bin/dependency-cruise.mjs . --output-type dot | dot -T svg | tee ../overview.svg | node ../../bin/wrap-stream-in-html.mjs > ../../docs/schema-overview.html && cd -", "depcruise:graph:doc:fmt-types": "cd types && node ../bin/dependency-cruise.mjs . --output-type dot | dot -T svg > overview.svg && cd -", "depcruise:graph:doc:samples": "sh tools/generate-samples.sh", "depcruise:graph:mermaid": "node ./bin/dependency-cruise.mjs bin src --include-only ^src/ --collapse 2 --output-type mermaid", "depcruise:graph:mermaid:diff": "node ./bin/dependency-cruise.mjs bin src test types tools --config configs/.dependency-cruiser-unlimited.mjs --output-type mermaid --reaches \"$(watskeburt $SHA)\"", "depcruise:graph:view": "node ./bin/dependency-cruise.mjs bin src --prefix vscode://file/$(pwd)/ --config configs/.dependency-cruiser-show-metrics-config.mjs --output-type dot --progress cli-feedback --highlight \"$(watskeburt main)\" | dot -T svg | node ./bin/wrap-stream-in-html.mjs | browser", "depcruise:graph:view:diff": "node ./bin/dependency-cruise.mjs bin src test --prefix vscode://file/$(pwd)/ --config configs/.dependency-cruiser-unlimited.mjs --output-type dot --progress cli-feedback --reaches \"$(watskeburt main)\" | dot -T svg | node ./bin/wrap-stream-in-html.mjs | browser", "depcruise:report": "node ./bin/dependency-cruise.mjs src bin test configs types --output-type err-html --config configs/.dependency-cruiser-show-metrics-config.mjs --output-to dependency-violations.html", "depcruise:report:view": "node ./bin/dependency-cruise.mjs src bin test configs types --output-type err-html --config configs/.dependency-cruiser-show-metrics-config.mjs --output-to - | browser", "depcruise:focus": "node ./bin/dependency-cruise.mjs src bin test configs types tools --progress --no-cache --output-type text --focus", "depcruise:reaches": "node ./bin/dependency-cruise.mjs src bin test configs types tools --progress --no-cache --config configs/.dependency-cruiser-unlimited.mjs --output-type text --reaches", "format": "prettier --loglevel warn --write \"src/**/*.js\" \"configs/**/*.js\" \"tools/**/*.mjs\" \"bin/*\" \"types/*.d.ts\" \"test/**/*.spec.{cjs,js}\" \"test/**/*.{spec,utl}.mjs\"", "format:check": "prettier --loglevel warn --check \"src/**/*.js\" \"configs/**/*.js\" \"tools/**/*.mjs\" \"bin/*\" \"types/*.d.ts\" \"test/**/*.spec.{cjs,js}\" \"test/**/*.{spec,utl}.mjs\"", "lint": "npm-run-all --parallel --aggregate-output lint:eslint format:check lint:types", "lint:eslint": "eslint bin/dependency-cruise.mjs bin src test configs tools/**/*.mjs --cache --cache-location node_modules/.cache/eslint/", "lint:eslint:fix": "eslint --fix bin src test configs tools/**/*.mjs --cache --cache-location node_modules/.cache/eslint/", "lint:eslint:clear-caches": "rm -rf node_modules/.cache/eslint/", "lint:fix": "npm-run-all lint:eslint:fix format lint:types:fix", "lint:types": "npm-run-all lint:types:tsc lint:types:lint", "lint:types:tsc": "tsc --project types/tsconfig.json", "lint:types:lint": "eslint --no-ignore --config types/.eslintrc.json types/*.d.ts", "lint:types:fix": "eslint --no-ignore --config types/.eslintrc.json --fix types/*.d.ts", "prepare": "husky install", "scm:push": "run-p --aggregate-output scm:push:*", "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: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:stage": "git add .", "test": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha", "test:i": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha --grep \"^\\[[I]\\]\"", "test:u": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha --grep \"^\\[[U]\\]\"", "test:e": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha --grep \"^\\[[E]\\]\"", "test:cover": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings c8 mocha", "test:glob": "set -f && test \"`bin/dependency-cruise.mjs --no-config test/extract/__mocks__/gather-globbing/packages/**/src/**/*.js | grep \"no dependency violations found\"`\" = \"✔ no dependency violations found (6 modules, 0 dependencies cruised)\"", "test:load": "hyperfine --warmup 3 --runs 30 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --no-cache --no-progress\"", "test:load:short": "hyperfine --warmup 1 --runs 5 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --no-cache --no-progress\"", "test:load:cached": "hyperfine --warmup 3 --runs 30 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --cache node_modules/.cache/dependency-cruiser/load-cached --no-progress\"", "test:load:cached:short": "hyperfine --warmup 1 --runs 5 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --cache node_modules/.cache/dependency-cruiser/load-cached --no-progress\"", "update-dependencies": "npm-run-all upem:update upem:install build:clean build lint:eslint:clear-caches lint:fix depcruise test:cover", "upem-outdated": "npm outdated --json --long | upem --dry-run", "upem:install": "npm install", "upem:update": "npm outdated --json --long | upem | pbcopy && pbpaste", "version": "npm-run-all build depcruise:graph:doc scm:stage" }, "dependencies": { "acorn": "8.8.2", "acorn-jsx": "5.3.2", "acorn-jsx-walk": "2.0.0", "acorn-loose": "8.3.0", "acorn-walk": "8.2.0", "ajv": "8.12.0", "chalk": "5.2.0", "commander": "10.0.1", "enhanced-resolve": "5.14.0", "figures": "5.0.0", "get-stream": "^6.0.1", "glob": "10.2.6", "handlebars": "4.7.7", "ignore": "5.2.4", "indent-string": "5.0.0", "interpret": "^3.1.1", "is-installed-globally": "0.4.0", "json5": "2.2.3", "lodash": "4.17.21", "prompts": "2.4.2", "rechoir": "^0.8.0", "safe-regex": "2.1.1", "semver": "^7.5.1", "semver-try-require": "6.2.2", "teamcity-service-messages": "0.1.14", "tsconfig-paths-webpack-plugin": "4.0.1", "watskeburt": "0.11.2", "wrap-ansi": "8.1.0" }, "devDependencies": { "@babel/core": "7.21.8", "@babel/plugin-transform-modules-commonjs": "7.21.5", "@babel/preset-typescript": "7.21.5", "@swc/core": "1.3.59", "@types/lodash": "4.14.194", "@types/node": "20.2.1", "@types/prompts": "2.4.4", "@typescript-eslint/eslint-plugin": "5.59.6", "@typescript-eslint/parser": "5.59.6", "@vue/compiler-sfc": "3.3.4", "c8": "7.13.0", "chai": "4.3.7", "chai-json-schema": "1.5.1", "coffeescript": "2.7.0", "eslint": "8.41.0", "eslint-config-moving-meadow": "4.0.2", "eslint-config-prettier": "8.8.0", "eslint-plugin-budapestian": "5.0.1", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-mocha": "10.1.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-security": "1.7.1", "eslint-plugin-unicorn": "^47.0.0", "husky": "8.0.3", "intercept-stdout": "0.1.2", "lint-staged": "13.2.2", "mocha": "10.2.0", "normalize-newline": "4.1.0", "npm-run-all": "4.1.5", "prettier": "2.8.8", "proxyquire": "2.1.3", "shx": "0.3.4", "svelte": "3.59.1", "symlink-dir": "5.1.1", "typescript": "5.0.4", "upem": "7.3.2", "vue-template-compiler": "2.7.14", "yarn": "1.22.19" }, "upem": { "policies": [ { "package": "interpret", "policy": "wanted", "because": "we want to keep interpret ~similar to what webpack-cli uses (which is ^3.1.1 since 2022-11-15). See https://github.com/webpack/webpack-cli/blame/master/packages/webpack-cli/package.json" }, { "package": "rechoir", "policy": "wanted", "because": "we want to keep rechoir ~similar to what webpack-cli uses (which is ^0.8.0 since 2022-11-15). See https://github.com/webpack/webpack-cli/blame/master/packages/webpack-cli/package.json" } ] }, "engines": { "node": "^16.14||>=18" }, "supportedTranspilers": { "babel": ">=7.0.0 <8.0.0", "coffee-script": ">=1.0.0 <2.0.0", "coffeescript": ">=1.0.0 <3.0.0", "livescript": ">=1.0.0 <2.0.0", "svelte": ">=3.0.0 <4.0.0", "swc": ">=1.0.0 <2.0.0", "typescript": ">=2.0.0 <6.0.0", "vue-template-compiler": ">=2.0.0 <3.0.0", "@vue/compiler-sfc": ">=3.0.0 <4.0.0" } }