Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
epidemian
GitHub Repository: epidemian/eslint-plugin-import
Path: blob/main/src/core/packagePath.js
829 views
1
import { dirname } from 'path';
2
import pkgUp from 'eslint-module-utils/pkgUp';
3
import readPkgUp from 'eslint-module-utils/readPkgUp';
4
5
6
export function getContextPackagePath(context) {
7
return getFilePackagePath(context.getPhysicalFilename ? context.getPhysicalFilename() : context.getFilename());
8
}
9
10
export function getFilePackagePath(filePath) {
11
const fp = pkgUp({ cwd: filePath });
12
return dirname(fp);
13
}
14
15
export function getFilePackageName(filePath) {
16
const { pkg, path } = readPkgUp({ cwd: filePath, normalize: false });
17
if (pkg) {
18
// recursion in case of intermediate esm package.json without name found
19
return pkg.name || getFilePackageName(dirname(dirname(path)));
20
}
21
return null;
22
}
23
24