Usage
starlight-package-managers exports an Astro component that you can use in any MDX files of your Starlight documentation site.
---title: My Docs---
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro" />Command Types
Section titled “Command Types”The component provided by starlight-package-managers supports various types of commands that can be specified using the type prop and defaults to the add type if none is provided.
The pkg prop is used to specify the name(s) of the package(s) to install. You can specify one or more package names by separating them with a space.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro @astrojs/starlight" />Development dependencies
Section titled “Development dependencies”You can use the dev prop to specify that the package(s) should be installed as a development dependency.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro" dev />create
Section titled “create”To setup new or existing project, you can use the create type.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="create" pkg="astro@latest" />To fetch and execute a package binary, without installing it as a dependency, you can use the dlx type and specify extra arguments using the args prop.
<PackageManagers type="dlx" pkg="serve" args="public" />To execute a package binary, you can use the exec type and specify extra arguments using the args prop.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="exec" pkg="astro" args="add solid" />install
Section titled “install”To install all dependencies, you can use the install type, with no other props specified.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="install" />remove
Section titled “remove”The pkg prop is used to specify the name of the package to remove.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="remove" pkg="@astrojs/starlight" />To run a script defined in the package’s manifest file, you can use the run type and specify the name of the name of the script using the args prop.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="run" args="dev" />Extra arguments
Section titled “Extra arguments”You can provide extra arguments to any command using the args prop.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="create" pkg="astro@latest" args="--template starlight" />Comment
Section titled “Comment”You can include a comment before a command using the comment prop.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="create" pkg="astro" comment="create a new project" />You can also reference the name of the selected package manager in a comment using the {PKG} placeholder.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="create" pkg="astro" comment="create a new project with {PKG}"/>Prefix
Section titled “Prefix”You can include a prefix before a command, for example to define an environment variable, using the prefix prop.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers type="run" args="dev" prefix="DEBUG=true" />Appearance
Section titled “Appearance”By default, commands are rendered with a terminal frame around them and an icon indicating the package manager. You can disable this behavior and optionally provide a title for the frame.
To disable the terminal frame surrounding commands when using Expressive Code, you can use the frame prop and set it to none.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro" frame="none" />By default, starlight-package-managers displays a package manager icon next to its name.
You can disable this behavior using the icons prop and set it to false.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro" icons={false} />When using Expressive Code and the default terminal frame, you can provide a title using the title prop.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro" title="Install dependencies" />