eslint-plugin-functional
Version:
ESLint rules to promote functional programming in TypeScript.
167 lines (166 loc) • 5.9 kB
JSON
{
"name": "eslint-plugin-functional",
"version": "10.0.0",
"description": "ESLint rules to promote functional programming in TypeScript.",
"keywords": [
"eslint",
"eslint plugin",
"fp",
"functional",
"functional programming",
"immutability",
"immutable"
],
"homepage": "https://github.com/eslint-functional/eslint-plugin-functional#readme",
"bugs": {
"url": "https://github.com/eslint-functional/eslint-plugin-functional/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/eslint-functional/eslint-plugin-functional.git"
},
"funding": [
{
"type": "ko-fi",
"url": "https://ko-fi.com/rebeccastevens"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/eslint-plugin-functional"
}
],
"license": "MIT",
"author": {
"name": "Rebecca Stevens",
"email": "rebecca.stevens@outlook.co.nz"
},
"contributors": [
"Jonas Kello"
],
"sideEffects": false,
"type": "module",
"exports": {
"types": "./lib/index.d.ts",
"default": "./lib/index.js"
},
"files": [
"lib/",
"package.json",
"LICENSE",
"README.md"
],
"scripts": {
"build": "pnpm run build:node && pnpm run build:docs",
"build:docs": "eslint-doc-generator",
"build:node": "rimraf lib && rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript --configImportAttributesKey with",
"lint": "eslint && pnpm run lint:md && pnpm lint:eslint-docs && pnpm run lint:spelling && pnpm run lint:knip && pnpm run lint:package && pnpm run lint:packages",
"lint-fix": "pnpm run build && eslint --fix && pnpm run lint:md-fix && pnpm run lint:packages-fix",
"lint:eslint-docs": "eslint-doc-generator --check",
"lint:eslint-docs-fix": "pnpm build:docs",
"lint:js": "eslint \"**/*.?([cm])[jt]s?(x)\"",
"lint:js-fix": "eslint \"**/*.?([cm])[jt]s?(x)\" --fix",
"lint:knip": "knip",
"lint:md": "markdownlint-cli2",
"lint:md-fix": "markdownlint-cli2 --fix",
"lint:md-full": "pnpm run lint:md && eslint \"**/*.md\"",
"lint:md-full-fix": "pnpm run lint:md-fix && eslint \"**/*.md\" --fix",
"lint:package": "publint --strict",
"lint:packages": "pnpm dedupe --check",
"lint:packages-fix": "pnpm dedupe",
"lint:spelling": "cspell lint --no-progress --show-suggestions --show-context --dot \"**\" \".github/**/*\"",
"lint:yaml": "eslint \"**/*.y?(a)ml\"",
"lint:yaml-fix": "eslint \"**/*.y?(a)ml\" --fix",
"prepare": "husky",
"release": "npx --package semantic-release --package @semantic-release/changelog --package @semantic-release/commit-analyzer --package @semantic-release/git --package @semantic-release/github --package @semantic-release/npm --package @semantic-release/release-notes-generator --package semantic-release-replace-plugin --package semantic-release-publint semantic-release",
"test": "pnpm run test:js",
"test-work": "vitest",
"test:js": "vitest --coverage",
"test:js-run": "vitest run --coverage",
"typecheck": "pnpm run typecheck:root && pnpm run typecheck:src",
"typecheck:root": "tsc -p ./tsconfig.json --noEmit",
"typecheck:src": "tsc -p ./src/tsconfig.json --noEmit",
"verify": "pnpm run lint && pnpm run typecheck && pnpm run test:js-run"
},
"dependencies": {
"@typescript-eslint/utils": "^8.26.0",
"deepmerge-ts": "^7.1.5",
"escape-string-regexp": "^5.0.0",
"is-immutable-type": "^5.0.1",
"ts-api-utils": "^2.0.1",
"ts-declaration-location": "^1.0.6"
},
"devDependencies": {
"@babel/eslint-parser": "8.0.0-rc.6",
"@cspell/dict-cryptocurrencies": "5.0.5",
"@eslint-community/eslint-plugin-eslint-comments": "4.7.2",
"@eslint/compat": "2.1.0",
"@eslint/markdown": "8.0.2",
"@rebeccastevens/eslint-config": "3.9.7",
"@rollup/plugin-replace": "6.0.3",
"@rollup/plugin-typescript": "12.3.0",
"@stylistic/eslint-plugin": "5.10.0",
"@types/node": "20.19.33",
"@typescript-eslint/eslint-plugin": "8.58.1",
"@typescript-eslint/parser": "8.58.1",
"@vitest/coverage-v8": "4.0.18",
"@vitest/eslint-plugin": "1.6.18",
"cspell": "10.0.0",
"dedent": "1.7.2",
"eslint": "10.0.1",
"eslint-config-prettier": "10.1.8",
"eslint-doc-generator": "3.6.0",
"eslint-flat-config-utils": "3.2.0",
"eslint-merge-processors": "2.0.0",
"eslint-plugin-eslint-plugin": "7.3.3",
"eslint-plugin-format": "2.0.1",
"eslint-plugin-functional": "link:.",
"eslint-plugin-import-x": "4.16.2",
"eslint-plugin-jsdoc": "63.0.0",
"eslint-plugin-jsonc": "3.2.0",
"eslint-plugin-n": "18.0.1",
"eslint-plugin-no-only-tests": "3.4.0",
"eslint-plugin-optimize-regex": "1.2.1",
"eslint-plugin-prettier": "5.5.6",
"eslint-plugin-promise": "7.3.0",
"eslint-plugin-regexp": "3.1.0",
"eslint-plugin-sonarjs": "4.0.3",
"eslint-plugin-unicorn": "64.0.0",
"eslint-plugin-yml": "3.4.0",
"eslint-vitest-rule-tester": "3.1.0",
"fast-glob": "3.3.3",
"husky": "9.1.7",
"jsonc-eslint-parser": "3.1.0",
"knip": "6.14.2",
"lint-staged": "17.0.6",
"markdownlint-cli2": "0.22.1",
"prettier": "3.8.3",
"publint": "0.3.21",
"rimraf": "6.1.3",
"rollup": "4.60.4",
"rollup-plugin-deassert": "1.3.0",
"rollup-plugin-dts-bundle-generator-2": "2.0.0",
"tsc-files": "1.1.4",
"tslib": "2.8.1",
"tsx": "4.22.3",
"typescript": "5.9.3",
"vite-tsconfig-paths": "6.1.1",
"vitest": "4.0.18",
"yaml-eslint-parser": "2.0.0"
},
"peerDependencies": {
"eslint": "^9.0.0 || ^10.0.0",
"typescript": ">=4.7.4"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
},
"packageManager": "pnpm@10.34.1",
"engines": {
"node": ">=v20.0.0"
},
"overrides": {
"eslint-plugin-functional": "link:."
}
}