{
"name": "@neabyte/project-root",
"description": "A TypeScript library for detecting project root directories by analyzing file patterns and indicators across multiple programming languages and build systems.",
"version": "1.0.0",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": "./dist/index.js",
"require": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"files": [
"dist/**/*",
"README.md",
"LICENSE"
],
"keywords": [
"project-root",
"project-detection",
"file-patterns",
"project-indicators",
"typescript",
"javascript",
"nodejs",
"package-manager",
"lock-files",
"yarn",
"pnpm",
"npm",
"go",
"rust",
"java",
"python",
"php",
"ruby",
"dart",
"flutter",
"swift",
"elixir",
"clojure",
"haskell",
"julia",
"crystal",
"lua",
"c",
"cpp",
"zig",
"d",
"v",
"scala",
"ocaml",
"erlang",
"csharp",
"dotnet",
"kotlin",
"fsharp",
"nim",
"perl",
"r",
"ada",
"git",
"mercurial",
"subversion",
"bazaar",
"fossil",
"perforce",
"darcs",
"monotone",
"jujutsu",
"pijul",
"plastic-scm",
"github",
"gitlab",
"bitbucket",
"azure-devops",
"vscode",
"webpack",
"vite",
"rollup",
"babel",
"jest",
"eslint",
"cmake",
"makefile",
"gradle",
"maven",
"composer",
"gem",
"pip",
"cargo",
"pub",
"mix",
"leiningen",
"stack",
"shard",
"luarocks",
"build-systems",
"version-control",
"ci-cd",
"development-tools",
"build-tools",
"monorepo",
"workspace",
"path-resolution",
"project-discovery",
"fast-glob",
"high-performance"
],
"engines": {
"node": ">=v18.0.0"
},
"license": "MIT",
"author": {
"name": "NeaByteLab",
"email": "me@neabyte.com",
"url": "https://github.com/NeaByteLab"
},
"repository": {
"type": "git",
"url": "https://github.com/NeaByteLab/Project-Root.git"
},
"homepage": "https://github.com/NeaByteLab/Project-Root#readme",
"bugs": {
"url": "https://github.com/NeaByteLab/Project-Root/issues"
},
"scripts": {
"dev": "tsx watch src/index.ts",
"clean": "rm -rf dist",
"build": "tsc && tsc-alias -f -fe .js && npm run minify",
"minify": "find dist -name '*.js' -exec terser {} --compress --mangle -o {} \\;",
"start": "node dist/index.js",
"lint": "eslint src/**/**/**/*.ts",
"lint:fix": "eslint src/**/**/**/*.ts --fix",
"format": "prettier --write src/**/**/**/*.ts",
"format:check": "prettier --check src/**/**/**/*.ts",
"type-check": "tsc --noEmit"
},
"devDependencies": {
"@types/node": "^24.5.0",
"@typescript-eslint/eslint-plugin": "^8.44.0",
"@typescript-eslint/parser": "^8.44.0",
"eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-sonarjs": "^3.0.5",
"prettier": "^3.6.2",
"terser": "^5.44.0",
"tsc-alias": "^1.8.16",
"tsx": "^4.20.5",
"typescript": "^5.9.2"
},
"dependencies": {
"fast-glob": "^3.3.3"
}
}