/
githubmirror
/
lerna
Обзор
Документация
Войти
/
githubmirror
/
lerna
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
libs/core/src/lib/project/apply-extends.ts
33 строки
995 B
AI-JamesHenry
feat!: support node ^22.13.0 || ^24.0.0 || ^26.0.0, ship lerna as ESM-only (#4390)
14 июл 2026, 11:38
Не верифицирован
14 июл 2026, 11:38
a148ba2
Код
Авторство
О чём код?
import { createRequire } from "node:module"; import path from "path"; import { ValidationError } from "../validation-error"; import { shallowExtend } from "./shallow-extend"; const require = createRequire(import.meta.url); export function applyExtends(config: { [x: string]: unknown; extends?: any }, cwd: string, seen = new Set()) { let defaultConfig = {}; if ("extends" in config) { let pathToDefault; try { pathToDefault = require.resolve(config.extends, { paths: [cwd] }); } catch (err) { throw new ValidationError("ERESOLVED", "Config .extends must be locally-resolvable", err); } if (seen.has(pathToDefault)) { throw new ValidationError("ECIRCULAR", "Config .extends cannot be circular", seen); } seen.add(pathToDefault); defaultConfig = require(pathToDefault); delete config.extends; defaultConfig = applyExtends(defaultConfig, path.dirname(pathToDefault), seen); } return shallowExtend(config, defaultConfig); }