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 using Starlight’s tabs, a terminal frame around them and an icon indicating the package manager. You can tweak this behavior and optionally provide a title for the frame.
When using the tabs variant with Expressive Code, you can disable the terminal frame surrounding commands by setting the frame prop 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 the tabs variant with 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" />Variant
Section titled “Variant”The variant prop controls how package manager tabs are displayed.
It defaults to tabs, which uses Starlight’s tabs above a terminal frame.
Set it to compact to merge the tabs with the code frame.
import { PackageManagers } from 'starlight-package-managers'
<PackageManagers pkg="astro" variant="compact" />The compact variant requires Expressive Code, which Starlight enables by default.
It does not support the frame and title props.