UNPKG

eslint-plugin-feature-sliced-design-imports

Version:

A custom ESLint plugin designed to enforce strict import rules in projects following the Feature-Sliced Design architecture.

43 lines (32 loc) 886 B
const path = require('path'); function isPathRelative(importPath) { return ( importPath === '.' || importPath.startsWith('./') || importPath.startsWith('../') ); } function formatCurrentFilePath(filePath, full = false) { const normilizedPath = path.toNamespacedPath(filePath).replace(/\\/g, '/'); if (full) { return normilizedPath; } return normilizedPath.split('src')[1]; } function removeAliasFromImport(importPath, alias) { return alias ? importPath.replace(`${alias}/`, '') : importPath; } function extractLayerAndSlice(fullPath, segmented = false) { const pathArray = fullPath?.split('/').filter((s) => !!s); if (!pathArray) return []; if (segmented) { return pathArray; } return [pathArray[0], pathArray[1]]; } module.exports = { isPathRelative, formatCurrentFilePath, removeAliasFromImport, extractLayerAndSlice, };