Documentation
¶
Overview ¶
Package node builds Node.js Single Executable Application (SEA) binaries.
The pipeline shells out to whatever `node` is on `PATH` (must be ≥ v25.5 with LIEF) and invokes `node --build-sea sea-config.json` against the per-target Node binary GoReleaser fetches from https://nodejs.org/dist (verifying SHA-256). On macOS targets the produced Mach-O is ad-hoc signed via quill (pure-Go) so it loads on Apple Silicon out of the box; users with a Developer ID can layer real signing on top via the signs: pipe.
Concurrent builds are enabled — each target runs --build-sea against its own scratch directory and outputs to its own path; nothing is shared across targets.
Builder skeleton and target list are derived from PR https://github.com/goreleaser/goreleaser/pull/6136 by @vedantmgoyal9.
Index ¶
- Variables
- type Builder
- func (b *Builder) AllowConcurrentBuilds() bool
- func (b *Builder) Build(ctx *context.Context, build config.Build, options api.Options) error
- func (b *Builder) Dependencies() []string
- func (b *Builder) Parse(target string) (api.Target, error)
- func (b *Builder) WithDefaults(build config.Build) (config.Build, error)
- type Target
Constants ¶
This section is empty.
Variables ¶
var Default = &Builder{}
Default builder instance.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder struct{}
Builder is the Node.js SEA builder.
func (*Builder) AllowConcurrentBuilds ¶
AllowConcurrentBuilds implements build.ConcurrentBuilder. Each per-target build runs `node --build-sea` against its own scratch directory and writes to its own output path; nothing is shared, so the builder is safe to run concurrently.
func (*Builder) Dependencies ¶
Dependencies implements build.DependingBuilder. The pipeline shells out to `node --build-sea`, so the host must have a `node` ≥ v25.5 (LIEF-built) on PATH.