Dependencies
LPM supports all standard npm dependency types. Paid packages have additional rules around licensing and redistribution.
Dependency Types
| Type | Installed for users? | Licensing rules |
|---|---|---|
dependencies | Yes | Cannot include paid LPM packages directly |
peerDependencies | User installs separately | Each user needs their own license |
bundledDependencies | Included in your package | You need a commercial license from the author |
devDependencies | No | Only used during development |
Depending on Marketplace Packages
When your package depends on a marketplace package, you have two options:
Peer Dependencies (recommended)
List the marketplace package as a peerDependency. Each user who installs your package must purchase their own license:
{
"peerDependencies": {
"@lpm.dev/acme.ui-kit": "^1.0.0"
}
}
Bundled Dependencies
Include the marketplace package inside your own package. This requires purchasing a commercial license from the package author:
{
"dependencies": {
"@lpm.dev/acme.ui-kit": "^1.0.0"
},
"bundledDependencies": ["@lpm.dev/acme.ui-kit"]
}
Commercial license availability is controlled by the package author through their pricing plans. See Commercial Licenses for details.
Pool Package Restrictions
Pool packages cannot depend on marketplace packages. Since pool subscribers pay a flat monthly fee, requiring them to also purchase marketplace licenses would break the model. Pool packages can only depend on other pool packages or free packages.