UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

46 lines (45 loc) 1.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDocker = isDocker; const node_fs_1 = __importDefault(require("node:fs")); const assertSetup_js_1 = require("./assertSetup.js"); (0, assertSetup_js_1.assertIsNotProductionRuntime)(); function isDocker() { return hasContainerEnv() || isDockerContainer(); } // Podman detection // https://github.com/sindresorhus/is-inside-container/blob/7f0dc884bda6b368d89ec90e77f2bef3b87e6f09/index.js function hasContainerEnv() { try { node_fs_1.default.statSync('/run/.containerenv'); return true; } catch { return false; } } // Docker detection // https://github.com/sindresorhus/is-docker/blob/1cfd2b5bfa9fbd87d2b22e6f514e7d5cc60a794b/index.js function isDockerContainer() { return hasDockerEnv() || hasDockerCGroup(); } function hasDockerEnv() { try { node_fs_1.default.statSync('/.dockerenv'); return true; } catch { return false; } } function hasDockerCGroup() { try { return node_fs_1.default.readFileSync('/proc/self/cgroup', 'utf8').includes('docker'); } catch { return false; } }