Spaces:
Paused
Paused
| import fs from 'node:fs'; | |
| import isDocker from 'is-docker'; | |
| let cachedResult; | |
| // Podman detection | |
| const hasContainerEnv = () => { | |
| try { | |
| fs.statSync('/run/.containerenv'); | |
| return true; | |
| } catch { | |
| return false; | |
| } | |
| }; | |
| export default function isInsideContainer() { | |
| // TODO: Use `??=` when targeting Node.js 16. | |
| if (cachedResult === undefined) { | |
| cachedResult = hasContainerEnv() || isDocker(); | |
| } | |
| return cachedResult; | |
| } | |