Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import { join } from 'path';
import { getConsumingRoot } from '@spotify/web-scripts-utils';
// The ROOT folder of the consuming package, aka where the user is using this
// package from.
export const CONSUMING_ROOT = getConsumingRoot();
// This tool's ROOT folder.
export const THIS_ROOT = join(__dirname, '..');
export const CONFIG_FOLDER = join(THIS_ROOT, 'config');
export const ESLINT_CONFIG = join(CONFIG_FOLDER, 'eslintrc.js');
export const PRETTIER_CONFIG = join(CONFIG_FOLDER, 'prettier.config.js');
export const TSCONFIG = join(CONFIG_FOLDER, 'tsconfig.json');
export const JEST_CONFIG = join(CONFIG_FOLDER, 'jest.config.js');
export const COMMITLINT_CONIFG = join(CONFIG_FOLDER, 'commitlint.config.js');
export const LINT_STAGED_CONFIG = join(CONFIG_FOLDER, 'lint-staged.config.js');
export function getEslintConfig(): string | null {
if (
!hasConfig([
{ type: 'file', pattern: '.eslintrc.*' },
{ type: 'package.json', property: 'eslintConfig' },
])
) {
return ESLINT_CONFIG;
}
return null;
}
export function getPrettierConfig(): string | null {
if (
!hasConfig([
{ type: 'file', pattern: '.prettierrc' },
{ type: 'file', pattern: 'prettier.config.js' },
{ type: 'package.json', property: 'prettierrc' },
])
) {
return PRETTIER_CONFIG;
}
return null;
}
export function getJestConfig(): string | null {
if (
!hasConfig([
{ type: 'file', pattern: 'jest.config.js' },
{ type: 'package.json', property: 'jest' },
])
) {
return JEST_CONFIG;
}
return null;
}