/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/utils/upgrade/src/tasks/codemods/utils.ts
52 строки
2 KB
Andrei L
chore(typescript): enable erasableSyntaxOnly and noUncheckedSideEffectImports (#26790)
27 июн 2026, 18:00
Не верифицирован
27 июн 2026, 18:00
0939748
Код
Авторство
О чём код?
import path from 'node:path'; import { isApplicationProject } from '../../modules/project'; import { Version, isSemverInstance, rangeFactory, isRangeInstance } from '../../modules/version'; import type { Project } from '../../modules/project'; export const resolvePath = (cwd?: string) => path.resolve(cwd ?? process.cwd()); export const getRangeFromTarget = ( currentVersion: Version.SemVer, target: Version.ReleaseType | Version.LiteralSemVer ) => { if (isSemverInstance(target)) { return rangeFactory(target); } const { major, minor, patch } = currentVersion; switch (target) { case Version.RELEASE_TYPES.Latest: throw new Error("Can't use <latest> to create a codemods range: not implemented"); case Version.RELEASE_TYPES.Major: return rangeFactory(`${major}`); case Version.RELEASE_TYPES.Minor: return rangeFactory(`${major}.${minor}`); case Version.RELEASE_TYPES.Patch: return rangeFactory(`${major}.${minor}.${patch}`); default: throw new Error(`Invalid target set: ${target}`); } }; export const findRangeFromTarget = ( project: Project, target: Version.ReleaseType | Version.LiteralSemVer | Version.Range ): Version.Range => { // If a range is manually defined, use it if (isRangeInstance(target)) { return target; } // If the current project is a Strapi application // Get the range from the given target if (isApplicationProject(project)) { return getRangeFromTarget(project.strapiVersion, target); } // Else, if the project is a Strapi plugin or anything else // Set the range to match any version return rangeFactory('*'); };