Detection
Your application is detected as Node.js when one of these files is present in the root directory:package.jsonpackage-lock.jsonyarn.lockpnpm-lock.yaml
Version Detection
The Node.js version is determined from the following sources, in order of priority:.nvmrc.node-versionengines.nodefield inpackage.json
Build Process
During the build, the following steps are performed:- Package manager detection - The package manager is auto-detected from your lockfile:
package-lock.json→ npmyarn.lock→ yarnpnpm-lock.yaml→ pnpm
- Dependency installation - All dependencies are installed using the detected package manager.
- Build script - If a
buildscript is defined in yourpackage.json, it runs automatically. - Pruning - After the build,
devDependenciesare removed to keep the production image lean. - Caching - The
node_modulesdirectory is cached between builds using layer caching, which speeds up subsequent deployments.
Run Command
The run command is resolved in the following order:webprocess in aProcfilestartscript inpackage.jsonserver.jsorindex.js(if present)

Configuration
You can customize the build and runtime behavior through the Miget dashboard and repository configuration files:- Environment variables - Set under Settings -> Variables in the Miget dashboard
- Procfile - Define the start command at the root of your repository
- app.json - Application manifest for additional configuration
- Project Path - For monorepo setups, specify the subdirectory containing your application code in the Advanced tab
- Pre-Deploy Command - Run a command before deployment (e.g., database migrations) in the Advanced tab
- Post-Deploy Command - Run a command after successful deployment (e.g., seeding data, cache warming) in the Advanced tab
Docker Hardened Images
You can enable Docker Hardened Images (DHI) in the Advanced tab when creating your app or changing the deployment source. When enabled, your application is built using distroless runtime images with a minimal attack surface, no shell, and no package manager.
For the complete reference, see the migetpacks Node.js documentation.

