UNPKG

@mui/internal-docs-infra

Version:

MUI Infra - internal documentation creation tools.

46 lines (42 loc) 1.23 kB
export function externalsToPackages(externals) { var packages = {}; externals.forEach(function (external) { // Filter out path aliases that start with @/ if (external.startsWith('@/')) { return; } // Extract package name from import path var packageName = extractPackageName(external); if (packageName) { packages[packageName] = true; } }); return packages; } /** * Extracts the package name from an import path. * Examples: * - 'react' -> 'react' * - 'react-dom' -> 'react-dom' * - '@mui/internal-docs-infra/CodeHighlighter' -> '@mui/internal-docs-infra' * - '@mui/internal-docs-infra/parseSource' -> '@mui/internal-docs-infra' * - 'lodash/get' -> 'lodash' * - 'some-package/submodule/deep' -> 'some-package' */ function extractPackageName(importPath) { if (!importPath) { return null; } // Handle scoped packages (starting with @) if (importPath.startsWith('@')) { var _parts = importPath.split('/'); if (_parts.length >= 2) { // Return @scope/package-name return "".concat(_parts[0], "/").concat(_parts[1]); } return null; } // Handle regular packages var parts = importPath.split('/'); return parts[0] || null; }