UNPKG

dce-dev-wizard

Version:

Wizard for managing development apps at Harvard DCE.

26 lines (22 loc) 821 B
import fs from 'fs'; import path from 'path'; // Import constants import APP_DIRECTORY from '../constants/APP_DIRECTORY'; /** * Get the major version of Node.js from a Dockerfile. * @author Gabe Abrams * @returns major version of Node.js (e.g. 22) or null if not found */ const getMajorNodeVersionInDockerfile = async (): Promise<number | null> => { const dockerfilePath = path.join(APP_DIRECTORY, 'Dockerfile'); const dockerfileContents = fs.readFileSync(dockerfilePath, 'utf8'); const nodeVersionRegex = /FROM\s+node:(\d+)/; const nodeMajorVersionMatch = dockerfileContents.match(nodeVersionRegex); const nodeMajorVersion = ( nodeMajorVersionMatch ? Number.parseInt(nodeMajorVersionMatch[1], 10) : null ); return nodeMajorVersion; }; export default getMajorNodeVersionInDockerfile;