ModuleSource
class ModuleSource extends AbstractObject implements IdAble, Node, Syncer
The source needed to load and run a module, along with any metadata about the source such as versions/urls/etc.
Properties
| $lastQuery | from AbstractObject |
Methods
No description
Load the source as a module. If this is a local source, the parent directory must have been provided during module source creation
A human readable ref string representation of this module source.
The blueprint referenced by the module source.
The client-facing introspection schema JSON file for this module source.
The ref to clone the root of the git repo from. Only valid for git sources.
The resolved commit of the git repo this source points to.
The clients generated for the module.
Whether an existing module config file was found.
The full directory loaded for the module source, including the source code as a subdirectory.
The dependencies of the module source.
A content-hash of the module source. Module sources with the same digest will output the same generated context and convert into the same module instance.
The directory containing the module configuration and source code (source code may be in a subdir).
The engine version of the module.
The generated files and directories made on top of the module source's context directory, returned as a Changeset.
The generated files and directories made on top of the module source's context directory.
The URL to access the web view of the repository (e.g., GitHub, GitLab, Bitbucket).
The URL to the source's git repo in a web browser. Only valid for git sources.
The introspection schema JSON file for this module source.
The kind of module source (currently local, git or dir).
The full absolute path to the context directory on the caller's host filesystem that this module source is loaded from. Only valid for local module sources.
The name of the module, including any setting via the withName API.
The original name of the module as read from the module config file (or set for the first time with the withName API).
The original subpath used when instantiating this module source, relative to the context directory.
The pinned version of this module source.
The import path corresponding to the root of the git repo this source points to. Only valid for git sources.
The path, relative to the context directory, that contains the module config.
The path to the directory containing the module's source code, relative to the context directory.
Forces evaluation of the module source, including any loading into the engine and associated validation.
The toolchains referenced by the module source.
The module's dagger.json with any in-memory edits from with* APIs applied, as a diff relative to the source's context directory.
User-defined defaults read from local .env files
The specified version of the git repo this source points to.
Update the module source with a new client to generate.
Append the provided dependencies to the module source's dependency list.
Upgrade the engine version of the module to the given value.
Enable the experimental features for the module source.
Update the module source with additional include patterns for files+directories from its context that are required for building it
Update the module source with a new name.
Update the module source with a new SDK.
Update the module source with a new source subpath.
Add toolchains to the module source.
Update the blueprint module to the latest version.
Update one or more module dependencies.
Update one or more toolchains.
Update one or more clients.
Remove the current blueprint from the module source.
Remove a client from the module source.
Remove the provided dependencies from the module source's dependency list.
Disable experimental features for the module source.
Remove the provided toolchains from the module source.
Details
in
AbstractObject at line 13
__construct(AbstractClient $client, QueryBuilderChain $queryBuilderChain)
No description
in
AbstractObject at line 19
protected null|array|string|int|float|bool
queryLeaf(QueryBuilder $leafQueryBuilder, string $leafKey)
No description
at line 19
Module
asModule()
Load the source as a module. If this is a local source, the parent directory must have been provided during module source creation
at line 28
string
asString()
A human readable ref string representation of this module source.
at line 37
ModuleSource
blueprint()
The blueprint referenced by the module source.
at line 48
File
clientSchemaIntrospectionJSON()
The client-facing introspection schema JSON file for this module source.
This is the schema consumed by client codegen: unlike introspectionSchemaJSON (the module-facing schema), it hides no core types and installs this module (reached via dag.
at line 57
string
cloneRef()
The ref to clone the root of the git repo from. Only valid for git sources.
at line 66
string
commit()
The resolved commit of the git repo this source points to.
at line 75
array
configClients()
The clients generated for the module.
at line 84
bool
configExists()
Whether an existing module config file was found.
at line 93
Directory
contextDirectory()
The full directory loaded for the module source, including the source code as a subdirectory.
at line 102
array
dependencies()
The dependencies of the module source.
at line 111
string
digest()
A content-hash of the module source. Module sources with the same digest will output the same generated context and convert into the same module instance.
at line 120
Directory
directory(string $path)
The directory containing the module configuration and source code (source code may be in a subdir).
at line 130
string
engineVersion()
The engine version of the module.
at line 139
Changeset
generatedContextChangeset()
The generated files and directories made on top of the module source's context directory, returned as a Changeset.
at line 148
Directory
generatedContextDirectory()
The generated files and directories made on top of the module source's context directory.
at line 157
string
htmlRepoURL()
The URL to access the web view of the repository (e.g., GitHub, GitLab, Bitbucket).
at line 166
string
htmlURL()
The URL to the source's git repo in a web browser. Only valid for git sources.
at line 175
Id
id()
A unique identifier for this ModuleSource.
at line 188
File
introspectionSchemaJSON()
The introspection schema JSON file for this module source.
This file represents the schema visible to the module's source code, including all core types and those from the dependencies.
Note: this is in the context of a module, so some core types may be hidden.
at line 197
ModuleSourceKind
kind()
The kind of module source (currently local, git or dir).
at line 206
string
localContextDirectoryPath()
The full absolute path to the context directory on the caller's host filesystem that this module source is loaded from. Only valid for local module sources.
at line 215
string
moduleName()
The name of the module, including any setting via the withName API.
at line 224
string
moduleOriginalName()
The original name of the module as read from the module config file (or set for the first time with the withName API).
at line 233
string
originalSubpath()
The original subpath used when instantiating this module source, relative to the context directory.
at line 242
string
pin()
The pinned version of this module source.
at line 251
string
repoRootPath()
The import path corresponding to the root of the git repo this source points to. Only valid for git sources.
at line 260
SDKConfig
sdk()
The SDK configuration of the module.
at line 269
string
sourceRootSubpath()
The path, relative to the context directory, that contains the module config.
at line 278
string
sourceSubpath()
The path to the directory containing the module's source code, relative to the context directory.
at line 287
Syncer
sync()
Forces evaluation of the module source, including any loading into the engine and associated validation.
at line 297
array
toolchains()
The toolchains referenced by the module source.
at line 308
Directory
updatedConfigDirectory()
The module's dagger.json with any in-memory edits from with* APIs applied, as a diff relative to the source's context directory.
Unlike generatedContextDirectory, this does not run codegen and does not validate the engine version against the running engine, so it can be used to declare an engine requirement newer than the running engine. Loading or serving such a module still fails at moduleSource.asModule.
at line 317
EnvFile
userDefaults()
User-defined defaults read from local .env files
at line 326
string
version()
The specified version of the git repo this source points to.
at line 335
ModuleSource
withBlueprint(ModuleSource $blueprint)
Set a blueprint for the module source.
at line 345
ModuleSource
withClient(string $generator, string $outputDir)
Update the module source with a new client to generate.
at line 356
ModuleSource
withDependencies(array $dependencies)
Append the provided dependencies to the module source's dependency list.
at line 366
ModuleSource
withEngineVersion(string $version)
Upgrade the engine version of the module to the given value.
at line 376
ModuleSource
withExperimentalFeatures(array $features)
Enable the experimental features for the module source.
at line 386
ModuleSource
withIncludes(array $patterns)
Update the module source with additional include patterns for files+directories from its context that are required for building it
at line 396
ModuleSource
withName(string $name)
Update the module source with a new name.
at line 406
ModuleSource
withSDK(string $source)
Update the module source with a new SDK.
at line 416
ModuleSource
withSourceSubpath(string $path)
Update the module source with a new source subpath.
at line 426
ModuleSource
withToolchains(array $toolchains)
Add toolchains to the module source.
at line 436
ModuleSource
withUpdateBlueprint()
Update the blueprint module to the latest version.
at line 445
ModuleSource
withUpdateDependencies(array $dependencies)
Update one or more module dependencies.
at line 455
ModuleSource
withUpdateToolchains(array $toolchains)
Update one or more toolchains.
at line 465
ModuleSource
withUpdatedClients(array $clients)
Update one or more clients.
at line 475
ModuleSource
withoutBlueprint()
Remove the current blueprint from the module source.
at line 484
ModuleSource
withoutClient(string $path)
Remove a client from the module source.
at line 494
ModuleSource
withoutDependencies(array $dependencies)
Remove the provided dependencies from the module source's dependency list.
at line 504
ModuleSource
withoutExperimentalFeatures(array $features)
Disable experimental features for the module source.
at line 514
ModuleSource
withoutToolchains(array $toolchains)
Remove the provided toolchains from the module source.