{"record":{"id":"8575f2808ff1fdc4","repo":"refinedev/refine","slug":"package-json-not-found","errorCode":null,"errorMessage":"./package.json not found","messagePattern":"\\./package\\.json not found","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/utils/package/index.ts","lineNumber":12,"sourceCode":"import spinner from \"@utils/spinner\";\nimport execa from \"execa\";\nimport { existsSync, pathExists, readFileSync, readJSON } from \"fs-extra\";\nimport globby from \"globby\";\nimport path from \"path\";\nimport preferredPM from \"preferred-pm\";\nimport type { PackageJson } from \"../../definitions/package\";\n\nexport const getPackageJson = (): PackageJson => {\n  if (!existsSync(\"package.json\")) {\n    console.error(\"❌ `package.json` not found.\");\n    throw new Error(\"./package.json not found\");\n  }\n\n  return JSON.parse(readFileSync(\"package.json\", \"utf8\"));\n};\n\nexport const getDependencies = () => {\n  const packageJson = getPackageJson();\n  return Object.keys(packageJson.dependencies || {});\n};\n\nexport const getDependenciesWithVersion = () => {\n  const packageJson = getPackageJson();\n  return packageJson?.dependencies || {};\n};\n\nexport const getDevDependencies = () => {\n  const packageJson = getPackageJson();\n  return Object.keys(packageJson.devDependencies || {});","sourceCodeStart":1,"sourceCodeEnd":30,"githubUrl":"https://github.com/refinedev/refine/blob/779d52a20e29b0307ac0df04d135beba434370dc/packages/cli/src/utils/package/index.ts#L1-L30","documentation":"refine CLI utilities require the command to run inside a Node project: getPackageJson checks for a package.json in the current working directory and throws when absent before reading dependencies or installing packages.","triggerScenarios":"Running refine CLI commands that need dependencies (e.g. `refine add ...`) from a directory that is not a Node project root — no ./package.json exists in cwd.","commonSituations":"Running the CLI in a fresh/empty folder, from a subdirectory of a monorepo without its own package.json, or in a project scaffolded with a different layout.","solutions":["cd into the project root that contains package.json and re-run the command","If starting fresh, run `npm init -y` (or use a starter/create-refine-app) first","In monorepos, run the command in the package workspace that has its own package.json"],"exampleFix":"# before\nmkdir my-app && cd my-app && refine add provider supabase\n# after\nnpm init -y && refine add provider supabase","handlingStrategy":"validation","validationCode":"const fs = require('fs');\nif (!fs.existsSync('package.json')) process.exit(1); // or npm init first","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always cd to project root before running refine CLI commands","Init a package.json in new directories before scaffolding"],"tags":["cli","package-json","project-setup"],"backgroundTag":"missing-package-json","analyzedSha":"779d52a20e29b0307ac0df04d135beba434370dc","analyzedAt":"2026-08-27T11:15:25.854Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}