pleroma-fe/build/check-versions.mjs

42 lines
1,015 B
JavaScript
Raw Normal View History

2025-02-03 16:45:38 +02:00
import chalk from 'chalk'
2026-01-06 16:23:17 +02:00
import semver from 'semver'
2025-02-03 16:45:38 +02:00
import packageConfig from '../package.json' with { type: 'json' }
2016-10-26 16:46:32 +02:00
var versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
2026-01-06 16:22:52 +02:00
versionRequirement: packageConfig.engines.node,
},
2016-10-26 16:46:32 +02:00
]
2025-02-03 16:45:38 +02:00
export default function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
2016-10-26 16:46:32 +02:00
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
2026-01-06 16:22:52 +02:00
warnings.push(
mod.name +
': ' +
chalk.red(mod.currentVersion) +
' should be ' +
chalk.green(mod.versionRequirement),
2016-10-26 16:46:32 +02:00
)
}
}
if (warnings.length) {
2026-01-06 16:22:52 +02:00
console.warn(
chalk.yellow(
'\nTo use this template, you must update following to modules:\n',
),
)
2025-02-03 16:45:38 +02:00
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.warn(' ' + warning)
2016-10-26 16:46:32 +02:00
}
console.warn()
2016-10-26 16:46:32 +02:00
process.exit(1)
}
}