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

[@salesforce/b2c-tooling-sdk](../../modules.md) / [scaffold](../index.md) / ScaffoldEngine

# Class: ScaffoldEngine

Defined in: [packages/b2c-tooling-sdk/src/scaffold/engine.ts:137](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/scaffold/engine.ts#L137)

Scaffold template engine

## Constructors

### Constructor

> **new ScaffoldEngine**(`variables`): `ScaffoldEngine`

Defined in: [packages/b2c-tooling-sdk/src/scaffold/engine.ts:140](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/scaffold/engine.ts#L140)

#### Parameters

##### variables

`Record`\<`string`, `string` \| `boolean` \| `string`[]\>

#### Returns

`ScaffoldEngine`

## Methods

### getContext()

> **getContext**(): [`TemplateContext`](../interfaces/TemplateContext.md)

Defined in: [packages/b2c-tooling-sdk/src/scaffold/engine.ts:147](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/scaffold/engine.ts#L147)

Get the current template context

#### Returns

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

***

### render()

> **render**(`template`): `string`

Defined in: [packages/b2c-tooling-sdk/src/scaffold/engine.ts:156](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/scaffold/engine.ts#L156)

Render an EJS template string using the current context.

#### Parameters

##### template

`string`

The EJS template string to render

#### Returns

`string`

The rendered string

***

### renderFile()

> **renderFile**(`filePath`): `Promise`\<`string`\>

Defined in: [packages/b2c-tooling-sdk/src/scaffold/engine.ts:176](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/scaffold/engine.ts#L176)

Render an EJS template file asynchronously.

#### Parameters

##### filePath

`string`

Path to the EJS template file

#### Returns

`Promise`\<`string`\>

Promise resolving to the rendered template output as a string

***

### renderPath()

> **renderPath**(`pathTemplate`): `string`

Defined in: [packages/b2c-tooling-sdk/src/scaffold/engine.ts:167](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/67fb8580ac3c5b372617ee3ec3fc8f2bc9f16174/packages/b2c-tooling-sdk/src/scaffold/engine.ts#L167)

Render a file path template using double-brace placeholder syntax.
Supports direct variable references (double-brace name double-brace) and helper
function calls (e.g. double-brace `kebabCase moduleName` double-brace).

#### Parameters

##### pathTemplate

`string`

The path template string with double-brace placeholders

#### Returns

`string`

The rendered path string with placeholders replaced by context values
