UNPKG

next-video

Version:

A React component for adding video to your Next.js application. It extends both the video element and your Next app with features for automatic video optimization.

28 lines (27 loc) 1.03 kB
import { readFile } from "node:fs/promises"; import { PACKAGE_NAME } from "../../constants.js"; function updateTSConfigFileContent(tsContents) { const newItem = "video.d.ts"; const includeRegex = /("include"\s*:\s*\[)([^\]]*?)(\])/; const addVideoDts = (_match, p1, p2, p3) => { const trimmedContent = p2.trim(); if (/\r?\n/.test(p2)) { const whitespace = p2.match(/^\s*/)?.[0] || ""; return `${p1}${whitespace}"${newItem}",${p2}${p3}`; } else { return `${p1}"${newItem}", ${trimmedContent ? `${trimmedContent}` : ""}${p3}`; } }; const updatedContents = tsContents.replace(includeRegex, addVideoDts); JSON.parse(updatedContents); return updatedContents; } async function checkPackageJsonForNextVideo(packagePath = "./package.json") { const pkg = await readFile(packagePath, "utf-8"); const json = JSON.parse(pkg); return !!(json.devDependencies?.[PACKAGE_NAME] || json.dependencies?.[PACKAGE_NAME]); } export { checkPackageJsonForNextVideo, updateTSConfigFileContent };