# JavaScriptPackageManagerAnnotation Properties

- Package: [Aspire.Hosting.JavaScript](/reference/api/csharp/aspire.hosting.javascript.md)
- Type: [JavaScriptPackageManagerAnnotation](/reference/api/csharp/aspire.hosting.javascript/javascriptpackagemanagerannotation.md)
- Kind: `Properties`
- Members: `6`

Represents the annotation for the JavaScript package manager used in a resource.

## CacheMount

- Name: `CacheMount`
- Modifiers: `nullable` `get`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.JavaScript/JavaScriptPackageManagerAnnotation.cs#L37)

Gets the BuildKit cache mount path for the package manager, or null if not supported.

```csharp
public string? CacheMount { get; }
```

## CommandSeparator

- Name: `CommandSeparator`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.JavaScript/JavaScriptPackageManagerAnnotation.cs)

Gets the string used to separate individual commands in a command sequence, or `null` if one shouldn't be used. Defaults to "--".

```csharp
public string? CommandSeparator { get; init; }
```

## ExecutableName

- Name: `ExecutableName`
- Modifiers: `get`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.JavaScript/JavaScriptPackageManagerAnnotation.cs#L21)

Gets the executable used to run the JavaScript package manager.

```csharp
public string ExecutableName { get; }
```

## InitializeDockerBuildStage

> **Experimental:** ASPIREDOCKERFILEBUILDER001 - [Learn more](/diagnostics/aspiredockerfilebuilder001/)

- Name: `InitializeDockerBuildStage`
- Modifiers: `nullable` `get; init`
- Returns: `Action<DockerfileStage>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.JavaScript/JavaScriptPackageManagerAnnotation.cs)

Gets or sets a callback to initialize the Docker build stage before installing packages.

```csharp
public Action<DockerfileStage>? InitializeDockerBuildStage { get; init; }
```

## PackageFilesPatterns

- Name: `PackageFilesPatterns`
- Modifiers: `get`
- Returns: [List<CopyFilePattern>](/reference/api/csharp/aspire.hosting.javascript/copyfilepattern.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.JavaScript/JavaScriptPackageManagerAnnotation.cs#L42)

Gets the file patterns for package dependency files.

```csharp
public List<CopyFilePattern> PackageFilesPatterns { get; }
```

## ScriptCommand

- Name: `ScriptCommand`
- Modifiers: `nullable` `get`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.JavaScript/JavaScriptPackageManagerAnnotation.cs#L26)

Gets the command used to run a script with the JavaScript package manager.

```csharp
public string? ScriptCommand { get; }
```
