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

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

# Function: findCartridges()

> **findCartridges**(`directory?`, `options?`): [`CartridgeMapping`](../interfaces/CartridgeMapping.md)[]

Defined in: [packages/b2c-tooling-sdk/src/operations/code/cartridges.ts:83](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/1d26e4f14bc46a8c61692ab405f47c9ce084d9b1/packages/b2c-tooling-sdk/src/operations/code/cartridges.ts#L83)

Find cartridges recursively in a directory.

Cartridges are identified by two markers, tried in order:
1. `.project` — Eclipse project marker (primary, used by UX Studio / SFRA).
2. `cartridge/<name>.properties` — SFCC structural marker (fallback, used by
   pwa-kit, storefront-next, and cartridge packages that omit the Eclipse marker).

The fallback is only attempted when **no** `.project` files are found under
the search directory. If `.project` files exist but are all filtered out by
`include`/`exclude`, the function returns an empty array rather than
switching to the properties marker.

## Parameters

### directory?

`string`

Directory to search for cartridges (defaults to cwd)

### options?

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

Filter options for including/excluding cartridges

## Returns

[`CartridgeMapping`](../interfaces/CartridgeMapping.md)[]

Array of discovered cartridge mappings

## Example

```typescript
// Find all cartridges in current directory
const cartridges = findCartridges();

// Find cartridges in specific directory
const cartridges = findCartridges('./my-project');

// Find specific cartridges only
const cartridges = findCartridges('.', { include: ['app_storefront_base'] });

// Find all except certain cartridges
const cartridges = findCartridges('.', { exclude: ['test_cartridge'] });
```
