package.json
{
"name": "@graph-algorithm/topological-sorting",
"description": "Topological sorting for JavaScript",
"version": "1.0.0",
"license": "AGPL-3.0",
"author": "make-github-pseudonymous-again",
"homepage": "https://graph-algorithm.github.io/topological-sorting",
"repository": {
"type": "git",
"url": "https://github.com/graph-algorithm/topological-sorting"
},
"bugs": {
"url": "https://github.com/graph-algorithm/topological-sorting/issues"
},
"keywords": [
"acyclic",
"algorithm",
"dag",
"directed",
"graph",
"sorting",
"topological"
],
"sideEffects": false,
"type": "module",
"source": "src/index.js",
"main": "dist/index.cjs",
"module": "dist/index.module.js",
"esmodule": "dist/index.modern.js",
"umd:main": "dist/index.umd.js",
"unpkg": "dist/index.umd.js",
"exports": {
".": {
"browser": "./dist/index.module.js",
"umd": "./dist/index.umd.js",
"require": "./dist/index.cjs",
"default": "./dist/index.modern.js"
}
},
"files": [
"dist"
],
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "NODE_ENV=production microbundle",
"build-docs": "esdoc",
"build-gh-pages": "npm run build-docs",
"commit-msg": "commitlint --edit",
"cover": "NODE_ENV=cover c8 --all --src src --reporter lcov --reporter text-summary --reporter text npm test",
"debug": "NODE_ENV=debug npm run test -- -st --fail-fast",
"dev": "npm run lint-config && npm run lint-and-fix && npm run cover -- -- -st --fail-fast",
"install-hooks": "husky",
"lint": "xo",
"lint-and-fix": "npm run lint -- --fix",
"lint-config": "fixpack --dryRun",
"lint-config-and-fix": "fixpack || fixpack",
"postinstall": "npm run install-hooks",
"postpublish": "pinst --enable",
"precommit": "lint-staged",
"prepare": "npm run build",
"prepublishOnly": "pinst --disable",
"release": "np --message ':hatching_chick: release: Bumping to v%s.'",
"test": "npm run test:src",
"test-cmd": "NODE_LOADER_CONFIG=test/loader/config.js ava",
"test:cjs": "IMPORT_MAP_PATH=test/import-maps/dist/index.json npm run test-cmd",
"test:dist": "npm run test:modern && npm run test:module && npm run test:cjs",
"test:modern": "IMPORT_MAP_PATH=test/import-maps/dist/index.modern.json npm run test-cmd",
"test:module": "IMPORT_MAP_PATH=test/import-maps/dist/index.module.json npm run test-cmd",
"test:src": "IMPORT_MAP_PATH=test/import-maps/src/index.json npm run test-cmd"
},
"dependencies": {
"@collection-abstraction/pairs": "^5.0.0",
"@heap-data-structure/pairing-heap": "^4.0.0"
},
"devDependencies": {
"@babel/core": "7.26.0",
"@babel/preset-env": "7.26.0",
"@collection-abstraction/counter": "6.0.1",
"@commitlint/cli": "19.5.0",
"@iterable-iterator/list": "1.0.1",
"@iterable-iterator/map": "1.0.1",
"@iterable-iterator/range": "2.1.0",
"@js-library/commitlint-config": "0.0.4",
"@node-loader/babel": "2.1.0",
"@node-loader/core": "2.0.0",
"@node-loader/import-maps": "1.1.0",
"@total-order/key": "1.0.0",
"@total-order/lex": "1.0.0",
"@total-order/primitive": "1.0.1",
"ava": "6.2.0",
"babel-plugin-transform-remove-console": "6.9.4",
"babel-plugin-unassert": "3.2.0",
"babel-preset-power-assert": "3.0.0",
"c8": "10.1.2",
"esdoc": "1.1.0",
"esdoc-ecmascript-proposal-plugin": "1.0.0",
"esdoc-inject-script-plugin": "1.0.0",
"esdoc-inject-style-plugin": "1.0.0",
"esdoc-standard-plugin": "1.0.0",
"fixpack": "4.0.0",
"husky": "9.1.6",
"lint-staged": "15.2.10",
"microbundle": "0.15.1",
"np": "10.0.7",
"pinst": "3.0.0",
"power-assert": "1.6.1",
"regenerator-runtime": "0.14.1",
"xo": "0.59.3"
},
"ava": {
"files": [
"test/src/**/*"
],
"nodeArguments": [
"--import=data:text/javascript,import {register} from 'node:module'; import {pathToFileURL} from 'node:url'; register('@node-loader/core', pathToFileURL('./'))"
],
"require": [
"regenerator-runtime/runtime.js"
],
"timeout": "1m"
},
"babel": {
"sourceMaps": true,
"plugins": [
[
"transform-remove-console",
{
"exclude": [
"log",
"error",
"warn"
]
}
]
],
"env": {
"debug": {
"sourceMaps": "both",
"presets": [
"babel-preset-power-assert"
],
"plugins": [
[
"transform-remove-console",
{
"exclude": [
"debug",
"log",
"error",
"warn"
]
}
]
]
},
"test": {
"sourceMaps": "both",
"presets": [
"babel-preset-power-assert"
]
},
"cover": {
"sourceMaps": "both",
"presets": [
"babel-preset-power-assert"
]
},
"development": {
"presets": [
[
"@babel/preset-env",
{
"targets": [
"defaults",
"maintained node versions"
]
}
],
"babel-preset-power-assert"
]
},
"production": {
"presets": [
[
"@babel/preset-env",
{
"targets": [
"defaults",
"maintained node versions"
]
}
]
],
"plugins": [
"babel-plugin-unassert"
]
}
}
},
"lint-staged": {
"*.js": [
"npm run lint-and-fix"
],
"package.json": [
"npm run lint-config-and-fix"
]
},
"prettier": {
"trailingComma": "all"
},
"xo": {
"prettier": true,
"plugins": [
"unicorn"
],
"rules": {
"unicorn/filename-case": [
"error",
{
"case": "camelCase"
}
],
"unicorn/prefer-node-protocol": "off",
"unicorn/prevent-abbreviations": "off",
"import/order": [
"error",
{
"groups": [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index",
"object",
"type"
],
"pathGroups": [
{
"pattern": "ava",
"group": "external",
"position": "before"
},
{
"pattern": "#module",
"group": "index",
"position": "after"
}
],
"pathGroupsExcludedImportTypes": [],
"distinctGroup": true,
"newlines-between": "always",
"alphabetize": {
"order": "asc",
"orderImportKind": "asc",
"caseInsensitive": false
},
"warnOnUnassignedImports": true
}
]
},
"overrides": [
{
"files": [
"doc/**"
],
"env": "browser"
}
]
}
}