Dagger
Search

node

Expose deux fonctions de haut niveau :
- BuildStatic : compile le projet et sert les fichiers via nginx (SPA, sites statiques)
- BuildServer : compile le projet et lance un serveur Node.js (SSR, Next.js standalone...)

Le package manager par défaut est pnpm.

Installation

dagger install gitlab.com/build-core/daggerverse/node@7e4dee97a1326e31272b3f8e5d8d13aa2b337e41

Entrypoint

Return Type
Node !
Arguments
NameTypeDefault ValueDescription
nodeVersionString !"22"Version de Node.js à utiliser. Défaut : 22
Example
dagger -m gitlab.com/build-core/daggerverse/node@7e4dee97a1326e31272b3f8e5d8d13aa2b337e41 call \
 --node-version string
func (m *MyModule) Example(nodeVersion string) *dagger.Node  {
	return dag.
			Node(nodeVersion)
}
@function
def example(node_version: str) -> dagger.Node:
	return (
		dag.node(node_version)
	)
@func()
example(nodeVersion: string): Node {
	return dag
		.node(nodeVersion)
}

Types

Node 🔗

nodeVersion() 🔗

Version de Node.js à utiliser. Défaut : 22

Return Type
String !
Example
dagger -m gitlab.com/build-core/daggerverse/node@7e4dee97a1326e31272b3f8e5d8d13aa2b337e41 call \
 --node-version string node-version
func (m *MyModule) Example(ctx context.Context, nodeVersion string) string  {
	return dag.
			Node(nodeVersion).
			NodeVersion(ctx)
}
@function
async def example(node_version: str) -> str:
	return await (
		dag.node(node_version)
		.node_version()
	)
@func()
async example(nodeVersion: string): Promise<string> {
	return dag
		.node(nodeVersion)
		.nodeVersion()
}

buildServer() 🔗

BuildServer compile le projet et retourne un conteneur Node.js exécutant le serveur. Convient pour le rendu côté serveur (Next.js standalone, Nuxt, Remix…).

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-

Répertoire source du projet

packageManagerString !"pnpm"

Package manager à utiliser : pnpm, npm, yarn. Défaut : pnpm

nodeVersionString !"22"

Version de Node.js. Défaut : 22

outputDirString !".next/standalone"

Répertoire de sortie du build. Défaut : .next/standalone

startCommandString !"node server.js"

Commande de démarrage du serveur. Défaut : node server.js

Example
dagger -m gitlab.com/build-core/daggerverse/node@7e4dee97a1326e31272b3f8e5d8d13aa2b337e41 call \
 --node-version string build-server --src DIR_PATH --package-manager string --node-version string --output-dir string --start-command string
func (m *MyModule) Example(nodeVersion string, src *dagger.Directory, packageManager string, nodeVersion1 string, outputDir string, startCommand string) *dagger.Container  {
	return dag.
			Node(nodeVersion).
			BuildServer(src, packageManager, nodeVersion1, outputDir, startCommand)
}
@function
def example(node_version: str, src: dagger.Directory, package_manager: str, node_version1: str, output_dir: str, start_command: str) -> dagger.Container:
	return (
		dag.node(node_version)
		.build_server(src, package_manager, node_version1, output_dir, start_command)
	)
@func()
example(nodeVersion: string, src: Directory, packageManager: string, nodeVersion1: string, outputDir: string, startCommand: string): Container {
	return dag
		.node(nodeVersion)
		.buildServer(src, packageManager, nodeVersion1, outputDir, startCommand)
}

buildStatic() 🔗

BuildStatic compile le projet et retourne un conteneur nginx servant les fichiers statiques. Convient pour les SPA (React, Vue, Angular, Vite…).

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-

Répertoire source du projet

packageManagerString !"pnpm"

Package manager à utiliser : pnpm, npm, yarn. Défaut : pnpm

nodeVersionString !"22"

Version de Node.js. Défaut : 22

outputDirString !"dist"

Répertoire de sortie du build. Défaut : dist

nginxConfigPathString -

Chemin vers un fichier de configuration nginx personnalisé (optionnel)

Example
dagger -m gitlab.com/build-core/daggerverse/node@7e4dee97a1326e31272b3f8e5d8d13aa2b337e41 call \
 --node-version string build-static --src DIR_PATH --package-manager string --node-version string --output-dir string
func (m *MyModule) Example(nodeVersion string, src *dagger.Directory, packageManager string, nodeVersion1 string, outputDir string) *dagger.Container  {
	return dag.
			Node(nodeVersion).
			BuildStatic(src, packageManager, nodeVersion1, outputDir)
}
@function
def example(node_version: str, src: dagger.Directory, package_manager: str, node_version1: str, output_dir: str) -> dagger.Container:
	return (
		dag.node(node_version)
		.build_static(src, package_manager, node_version1, output_dir)
	)
@func()
example(nodeVersion: string, src: Directory, packageManager: string, nodeVersion1: string, outputDir: string): Container {
	return dag
		.node(nodeVersion)
		.buildStatic(src, packageManager, nodeVersion1, outputDir)
}