---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../../modules.md) / [operations/cap](../index.md) / commerceAppPackage

# Function: commerceAppPackage()

> **commerceAppPackage**(`sourceDir`, `options`): `Promise`\<[`CommerceAppPackageResult`](../interfaces/CommerceAppPackageResult.md)\>

Defined in: [packages/b2c-tooling-sdk/src/operations/cap/package.ts:59](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/9c8c448223735b087738106fca3bc4c8e812ceb7/packages/b2c-tooling-sdk/src/operations/cap/package.ts#L59)

Packages a CAP directory into a distributable .zip file.

The zip root directory is named `{id}-v{version}/` as required by the CAP spec.
Reads commerce-app.json to determine the app name and version.

## Parameters

### sourceDir

`string`

Path to the CAP directory

### options

[`CommerceAppPackageOptions`](../interfaces/CommerceAppPackageOptions.md) = `{}`

Packaging options

## Returns

`Promise`\<[`CommerceAppPackageResult`](../interfaces/CommerceAppPackageResult.md)\>

Result with the output zip path and manifest

## Example

```typescript
const result = await commerceAppPackage('./commerce-avalara-tax-app-v0.2.5');
console.log(`Packaged to: ${result.outputPath}`);
```
