Registry / devops / makensis

makensis

JSON →
library3.0.5jsnpmunverified

A TypeScript wrapper for the NSIS (Nullsoft Scriptable Install System) compiler, makensis. Current stable version is 3.0.5 (released 2025). Requires Node.js >=18 and NSIS >=3.06. Provides a promise-based API to compile installer scripts, retrieve version/help/license information, and manage compiler options like defines, verbose output, and environment variables. Ships TypeScript types. Supports Deno via JSR. Key differentiator: modern ESM-native library with full TypeScript typings, replacing raw child_process calls with a robust, type-checked interface. Maintained on GitHub, with regular updates and CI.

npm install makensis
INSTALL
IMPORT
SIG · MAKENSIS
M
makensis
devopsjavascriptv3.0.5
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

compile
import { compile } from 'makensis'
import { default as compile } from 'makensis'
ESM-only; named export, not default.
commandHelp
import { commandHelp } from 'makensis'
const commandHelp = require('makensis').commandHelp
ESM-only; require() will not work.
NSIS (namespace)
import * as NSIS from 'makensis'
import NSIS from 'makensis'
Namespace import for all exports.

Compiles an NSIS installer script with custom defines and verbose logging using the promise-based API.

import { compile } from 'makensis'; const options = { verbose: 2, define: { SPECIAL_BUILD: true, LANGUAGE: 'English' } }; try { const output = await compile('path/to/installer.nsi', options); console.log('Compiler output:', output); } catch (error) { console.error(error); }
Debug
Known issues
breakingmakensis v3.0.0 broke support for NSIS <3.06. Maker must upgrade NSIS to at least 3.06.
fix
Install NSIS 3.06 or later (https://nsis.sourceforge.io/Download).
affects: >=3.0.0
breakingmakensis v3.0.0 removed event support. Previously available events (e.g., 'data', 'error') are no longer emitted.
fix
Remove event listeners; use the returned Promise or the dedicated methods like compile().
affects: >=3.0.0
breakingmakensis v3.0.0 removed support for .env files. Environment variables must be passed explicitly via the `env` option or process.env.
fix
Use the `env` option in compiler options to pass environment variables, or rely on process.env directly.
affects: >=3.0.0
breakingmakensis v3.0.0 requires Node.js >=18. Older Node versions are no longer supported.
fix
Upgrade Node.js to version 18 or later.
affects: >=3.0.0
deprecatedThe `makensis@2` series is deprecated and only maintained for legacy NSIS support (<3.06).
fix
Migrate to makensis@3 and upgrade NSIS to 3.06+.
affects: >=2.0.0 <3.0.0
gotchaIf makensis is not in PATH, you must set the `pathToMakensis` option. Otherwise compile will fail with 'ENOENT'.
fix
Set `pathToMakensis` in options to the full path of the makensis executable.
affects: >=3.0.0
Errors
Common errors & fixes
Error: spawn makensis ENOENT
makensis executable not found in system PATH.
fix
Install NSIS and ensure makensis is in PATH, or set pathToMakensis option.
TypeError: Cannot read properties of undefined (reading 'stdout')
Using an outdated version (<3.0.0) that relies on events, but trying to access stdout directly.
fix
Upgrade to makensis@3 and use the returned Promise values instead of events.
import { compile } from 'makensis'; SyntaxError: Cannot use import statement outside a module
Running in a CommonJS context without configuring ESM (e.g., no 'type': 'module' in package.json).
fix
Add "type": "module" to package.json, or use .mjs extension.
Upgrade
Version history
3.0.5latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
2 hits · last 30 days
node
2
Resources
makensis — npm install makensis · libregistry