node
A Nodejs module for managing package, oci image, static website, running run script ...
Installation
dagger install github.com/Dudesons/daggerverse/node@v0.1.0
Entrypoint
Return Type
Node
func (m *myModule) example() *Node {
return dag.
Node()
}
@function
def example() -> dag.Node:
return (
dag.node()
)
@func()
example(): Node {
return dag
.node()
}
Types
Node
container()
Return the current container state
Return Type
Container !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
container
func (m *myModule) example() *Container {
return dag.
Node().
Container()
}
@function
def example() -> dagger.Container:
return (
dag.node()
.container()
)
@func()
example(): Container {
return dag
.node()
.container()
}
directory()
Return the current working directory
Return Type
Directory !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
directory
func (m *myModule) example() *Directory {
return dag.
Node().
Directory()
}
@function
def example() -> dagger.Directory:
return (
dag.node()
.directory()
)
@func()
example(): Directory {
return dag
.node()
.directory()
}
shell()
Open a shell in the current container or execute a command inside it, like node
Return Type
Terminal !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
cmd | [String ! ] | - | The command to execute in the terminal |
Function Node.shell is not accessible from the node module
func (m *myModule) example() *Terminal {
return dag.
Node().
Shell()
}
@function
def example() -> dag.Terminal:
return (
dag.node()
.shell()
)
@func()
example(): Terminal {
return dag
.node()
.shell()
}
serve()
Expose the container as a service
Return Type
Service !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
serve
func (m *myModule) example() *Service {
return dag.
Node().
Serve()
}
@function
def example() -> dagger.Service:
return (
dag.node()
.serve()
)
@func()
example(): Service {
return dag
.node()
.serve()
}
withPipelineId()
Define the pipeline id to use
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
pipelineId | String ! | - | The name to give to the pipeline |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-pipeline-id --pipeline-id string \
container
func (m *myModule) example(pipelineId string) *Node {
return dag.
Node().
WithPipelineId(pipelineId)
}
@function
def example(pipeline_id: str) -> dag.Node:
return (
dag.node()
.with_pipeline_id(pipeline_id)
)
@func()
example(pipelineId: string): Node {
return dag
.node()
.withPipelineId(pipelineId)
}
setupSystem()
Setup system component like installing packages
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
systemSetupCmds | [List ! ] | - | Indicate attempted system package to install |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
setup-system \
container
func (m *myModule) example() *Node {
return dag.
Node().
SetupSystem()
}
@function
def example() -> dag.Node:
return (
dag.node()
.setup_system()
)
@func()
example(): Node {
return dag
.node()
.setupSystem()
}
do()
Execute all commands
Return Type
String !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
do
func (m *myModule) example(ctx context.Context) string {
return dag.
Node().
Do(ctx)
}
@function
async def example() -> str:
return await (
dag.node()
.do()
)
@func()
async example(): Promise<string> {
return dag
.node()
.do()
}
ociBuild()
Build a production image and push to one or more registries
Return Type
[String ! ] !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
fileContainerArtifacts | [String ! ] | - | Define path to fo file to fetch from the build container |
directoryContainerArtifacts | [String ! ] | - | Define path to fo directories to fetch from the build container |
registries | [String ! ] ! | - | Define registries where to push the image |
isTtl | Boolean | - | Define the ttl registry to use |
ttlRegistry | String | "ttl.sh" | Define the ttl registry to use |
ttl | String | "60m" | Define the ttl in the ttl registry |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
oci-build --registries string1 --registries string2
func (m *myModule) example(ctx context.Context, registries []string) []string {
return dag.
Node().
OciBuild(ctxregistries)
}
@function
async def example(registries: List[str]) -> List[str]:
return await (
dag.node()
.oci_build(registries)
)
@func()
async example(registries: string[]): Promise<string[]> {
return dag
.node()
.ociBuild(registries)
}
withAutoSetup()
Allow to let the pipeline to be setup automatically based on the package.json aka lazy mode
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
pipelineId | String ! | - | A name to use in the pipeline and injected in cache keys |
src | Directory ! | - | The code to mount in the node container |
patternExclusions | [String ! ] | - | Patterns to exclude in the analysis for the auto-detection |
image | String | "node" | The image name to use |
isAlpine | Boolean | "true" | Define if the image to use is an alpine or not |
containerPlatform | String | "linux/amd64" | Container options |
systemSetupCmds | [List ! ] | - | Indicate attempted system package to install |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-auto-setup --pipeline-id string --src DIR_PATH \
container
func (m *myModule) example(pipelineId string, src *Directory) *Node {
return dag.
Node().
WithAutoSetup(pipelineId, src)
}
@function
def example(pipeline_id: str, src: dagger.Directory) -> dag.Node:
return (
dag.node()
.with_auto_setup(pipeline_id, src)
)
@func()
example(pipelineId: string, src: Directory): Node {
return dag
.node()
.withAutoSetup(pipelineId, src)
}
pipeline()
Execute the whole pipeline in general used with the function ‘with-auto-setup’
Return Type
String !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
preHooks | [List ! ] | - | Define hooks to execute before all |
postHooks | [List ! ] | - | Define hooks to execute after tests and before build |
isOci | Boolean | - | Indicate if the artifact is an oci build or not |
dryRun | Boolean | "false" | Indicate to dry run the publishing |
packageAccess | String | "true" | Define permission on the package in the registry |
packageDevTag | String | - | Indicate if the package is publishing as development version |
fileContainerArtifacts | [String ! ] | - | Define path to file to fetch from the build container |
directoryContainerArtifacts | [String ! ] | - | Define path to directories to fetch from the build container |
ociRegistries | [String ! ] | - | Define registries where to push the image |
ttlRegistry | String | "ttl.sh" | Define the ttl registry to use |
ttl | String | "60m" | Define the ttl in the ttl registry |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
pipeline
func (m *myModule) example(ctx context.Context) string {
return dag.
Node().
Pipeline(ctx)
}
@function
async def example() -> str:
return await (
dag.node()
.pipeline()
)
@func()
async example(): Promise<string> {
return dag
.node()
.pipeline()
}
withVersion()
Return the Node container with the right base image
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
image | String | "node" | The image name to use |
version | String ! | - | The version of the image to use |
isAlpine | Boolean | "true" | Define if the image to use is an alpine or not |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-version --version string \
container
func (m *myModule) example(version string) *Node {
return dag.
Node().
WithVersion(version)
}
@function
def example(version: str) -> dag.Node:
return (
dag.node()
.with_version(version)
)
@func()
example(version: string): Node {
return dag
.node()
.withVersion(version)
}
withNpmrcTokenEnv()
Return the Node container with an environment variable to use in your npmrc file
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
name | String ! | - | The name of the environment variable where the npmrc token is stored |
value | Secret ! | - | The value of the token |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-npmrc-token-env --name string --value env:MYSECRET \
container
func (m *myModule) example(name string, value *Secret) *Node {
return dag.
Node().
WithNpmrcTokenEnv(name, value)
}
@function
def example(name: str, value: dagger.Secret) -> dag.Node:
return (
dag.node()
.with_npmrc_token_env(name, value)
)
@func()
example(name: string, value: Secret): Node {
return dag
.node()
.withNpmrcTokenEnv(name, value)
}
withNpmrcTokenFile()
Return the Node container with npmrc file
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
npmrcFile | Secret ! | - | The npmrc file to inject in the container |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-npmrc-token-file --npmrc-file env:MYSECRET \
container
func (m *myModule) example(npmrcFile *Secret) *Node {
return dag.
Node().
WithNpmrcTokenFile(npmrcFile)
}
@function
def example(npmrc_file: dagger.Secret) -> dag.Node:
return (
dag.node()
.with_npmrc_token_file(npmrc_file)
)
@func()
example(npmrcFile: Secret): Node {
return dag
.node()
.withNpmrcTokenFile(npmrcFile)
}
withPackageManager()
Return the Node container setup with the right package manager and optionaly cache setup
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
packageManager | String ! | - | The package manager to use |
disableCache | Boolean | - | Disable mounting cache volumes. |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-package-manager --package-manager string \
container
func (m *myModule) example(packageManager string) *Node {
return dag.
Node().
WithPackageManager(packageManager)
}
@function
def example(package_manager: str) -> dag.Node:
return (
dag.node()
.with_package_manager(package_manager)
)
@func()
example(packageManager: string): Node {
return dag
.node()
.withPackageManager(packageManager)
}
withNpm()
Return the Node container with npm setup as an entrypoint and npm cache setup
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
disableCache | Boolean | - | Disable mounting cache volumes. |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-npm \
container
func (m *myModule) example() *Node {
return dag.
Node().
WithNpm()
}
@function
def example() -> dag.Node:
return (
dag.node()
.with_npm()
)
@func()
example(): Node {
return dag
.node()
.withNpm()
}
withYarn()
Return the Node container with yarn setup as an entrypoint and yarn cache setup
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
disableCache | Boolean | - | Disable mounting cache volumes. |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-yarn \
container
func (m *myModule) example() *Node {
return dag.
Node().
WithYarn()
}
@function
def example() -> dag.Node:
return (
dag.node()
.with_yarn()
)
@func()
example(): Node {
return dag
.node()
.withYarn()
}
withSource()
Return the Node container with the source code, ‘node_modules’ cache set up and workdir set
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
src | Directory ! | - | The source code |
persisted | Boolean | - | Indicate if the directory is mounted or persisted in the container |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-source --src DIR_PATH \
container
func (m *myModule) example(src *Directory) *Node {
return dag.
Node().
WithSource(src)
}
@function
def example(src: dagger.Directory) -> dag.Node:
return (
dag.node()
.with_source(src)
)
@func()
example(src: Directory): Node {
return dag
.node()
.withSource(src)
}
withFile()
Return the Node container with an additional file in the working dir
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
file | File ! | - | The file to use |
path | String ! | - | The path where the file should be mounted |
persisted | Boolean | - | Indicate if the file is mounted or persisted in the container |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-file --file file:path --path string \
container
func (m *myModule) example(file *File, path string) *Node {
return dag.
Node().
WithFile(file, path)
}
@function
def example(file: dagger.File, path: str) -> dag.Node:
return (
dag.node()
.with_file(file, path)
)
@func()
example(file: File, path: string): Node {
return dag
.node()
.withFile(file, path)
}
withDirectory()
Return the Node container with an additional directory in the working dir
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
dir | Directory ! | - | The directory to use |
path | String ! | - | The path where the directory should be mounted |
persisted | Boolean | - | Indicate if the directory is mounted or persisted in the container |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-directory --dir DIR_PATH --path string \
container
func (m *myModule) example(dir *Directory, path string) *Node {
return dag.
Node().
WithDirectory(dir, path)
}
@function
def example(dir: dagger.Directory, path: str) -> dag.Node:
return (
dag.node()
.with_directory(dir, path)
)
@func()
example(dir: Directory, path: string): Node {
return dag
.node()
.withDirectory(dir, path)
}
withCache()
Return the Node container with an additional cache volume in the working dir
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
cache | CacheVolume ! | - | The cache volume to use |
path | String ! | - | The path where the cache volume should be mounted |
persisted | Boolean | - | Indicate if the cache volume is mounted or persisted in the container |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
with-cache --cache VOLUME_NAME --path string \
container
func (m *myModule) example(cache *CacheVolume, path string) *Node {
return dag.
Node().
WithCache(cache, path)
}
@function
def example(cache: dagger.CacheVolume, path: str) -> dag.Node:
return (
dag.node()
.with_cache(cache, path)
)
@func()
example(cache: CacheVolume, path: string): Node {
return dag
.node()
.withCache(cache, path)
}
production()
Return a node container with the ‘NODE_ENV’ set to production
Return Type
Node !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
production \
container
func (m *myModule) example() *Node {
return dag.
Node().
Production()
}
@function
def example() -> dag.Node:
return (
dag.node()
.production()
)
@func()
example(): Node {
return dag
.node()
.production()
}
run()
Execute a command from the package.json
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
command | [String ! ] ! | - | Command from the package.json to run |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
run --command string1 --command string2 \
container
func (m *myModule) example(command []string) *Node {
return dag.
Node().
Run(command)
}
@function
def example(command: List[str]) -> dag.Node:
return (
dag.node()
.run(command)
)
@func()
example(command: string[]): Node {
return dag
.node()
.run(command)
}
install()
Install node modules
Return Type
Node !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
install \
container
func (m *myModule) example() *Node {
return dag.
Node().
Install()
}
@function
def example() -> dag.Node:
return (
dag.node()
.install()
)
@func()
example(): Node {
return dag
.node()
.install()
}
lint()
Execute lint command
Return Type
Node !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
lint \
container
func (m *myModule) example() *Node {
return dag.
Node().
Lint()
}
@function
def example() -> dag.Node:
return (
dag.node()
.lint()
)
@func()
example(): Node {
return dag
.node()
.lint()
}
test()
Execute test command
Return Type
Node !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
test \
container
func (m *myModule) example() *Node {
return dag.
Node().
Test()
}
@function
def example() -> dag.Node:
return (
dag.node()
.test()
)
@func()
example(): Node {
return dag
.node()
.test()
}
parallelTest()
Execute test commands in parallel
Return Type
Void !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
cmds | [List ! ] ! | - | No description provided |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
parallel-test --cmds list1 --cmds list2
func (m *myModule) example(ctx context.Context, cmds []) {
return dag.
Node().
ParallelTest(ctx, cmds)
}
@function
async def example(cmds: List[]) -> None:
return await (
dag.node()
.parallel_test(cmds)
)
@func()
async example(cmds: []): Promise<void> {
return dag
.node()
.parallelTest(cmds)
}
clean()
Execute clean command
Return Type
Node !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
clean \
container
func (m *myModule) example() *Node {
return dag.
Node().
Clean()
}
@function
def example() -> dag.Node:
return (
dag.node()
.clean()
)
@func()
example(): Node {
return dag
.node()
.clean()
}
build()
Execute the build command
Return Type
Node !
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
build \
container
func (m *myModule) example() *Node {
return dag.
Node().
Build()
}
@function
def example() -> dag.Node:
return (
dag.node()
.build()
)
@func()
example(): Node {
return dag
.node()
.build()
}
publish()
Execute the publish which push a package to a registry
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
access | String | - | Define permission on the package in the registry |
devTag | String | - | Indicate if the package is publishing as development version |
dryRun | Boolean | - | Indicate to dry run the publishing |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
publish \
container
func (m *myModule) example() *Node {
return dag.
Node().
Publish()
}
@function
def example() -> dag.Node:
return (
dag.node()
.publish()
)
@func()
example(): Node {
return dag
.node()
.publish()
}
bumpVersion()
Bump the package version
Return Type
Node !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
strategy | String ! | - | Define the bump version strategy (major | minor | patch | premajor | preminor | prepatch | prerelease) |
message | String | - | The message will use it as a commit message when creating a version commit. If the message config contains %s then that will be replaced with the resulting version number |
dagger -m github.com/Dudesons/daggerverse/node@41e1f414c163b6676acd03c184d37e3ec8a64b2b call \
bump-version --strategy string \
container
func (m *myModule) example(strategy string) *Node {
return dag.
Node().
BumpVersion(strategy)
}
@function
def example(strategy: str) -> dag.Node:
return (
dag.node()
.bump_version(strategy)
)
@func()
example(strategy: string): Node {
return dag
.node()
.bumpVersion(strategy)
}