@salesforce/b2c-tooling-sdk / scaffold
scaffold ​
Scaffold generation for B2C Commerce projects.
This module provides functions for discovering, validating, and executing project scaffolds (templates) for cartridges, custom APIs, Page Designer components, jobs, and other B2C artifacts.
Scaffold Discovery ​
Scaffolds are discovered from multiple sources in priority order:
- Project scaffolds (
.b2c/scaffolds/) - highest priority - Plugin scaffolds (via
b2c:scaffold-providershook) - User scaffolds (
~/.b2c/scaffolds/) - Built-in scaffolds - lowest priority
Later sources override earlier ones by name.
- ScaffoldRegistry - Registry for managing scaffold discovery
- createScaffoldRegistry - Create a new registry instance
Scaffold Generation ​
- generateFromScaffold - Generate files from a scaffold
- previewScaffold - Preview generation without writing files
Template Engine ​
- ScaffoldEngine - EJS-based template rendering engine
Validation ​
- validateScaffoldManifest - Validate a scaffold manifest
- validateParameters - Validate parameter values
Usage ​
typescript
import {
createScaffoldRegistry,
generateFromScaffold,
} from '@salesforce/b2c-tooling-sdk/scaffold';
// Create registry and find scaffolds
const registry = createScaffoldRegistry();
const scaffolds = await registry.getScaffolds();
// Get a specific scaffold
const cartridgeScaffold = await registry.getScaffold('cartridge');
// Generate files
const result = await generateFromScaffold(cartridgeScaffold, {
outputDir: './output',
variables: { cartridgeName: 'app_custom' },
});Classes ​
Interfaces ​
- FileMapping
- FileModification
- GeneratedFile
- JsonMergeOptions
- ParameterResolutionError
- ParameterValidationError
- ParameterValidationResult
- ResolvedParameters
- ResolvedParameterSchema
- ResolveOutputDirectoryOptions
- ResolveParametersOptions
- Scaffold
- ScaffoldChoice
- ScaffoldContext
- ScaffoldDiscoveryOptions
- ScaffoldGenerateOptions
- ScaffoldGenerateResult
- ScaffoldManifest
- ScaffoldParameter
- ScaffoldProvider
- ScaffoldRegistryOptions
- ScaffoldTransformer
- SourceDetectionResult
- SourceResult
- TemplateContext
- TemplateHelpers
- TextInsertOptions
- ValidateScaffoldOptions
- ValidationIssue
- ValidationResult
Type Aliases ​
- DynamicParameterSource
- OverwriteBehavior
- ScaffoldCategory
- ScaffoldParameterType
- ScaffoldProviderPriority
- ScaffoldSource
- ValidationIssueSeverity
Variables ​
Functions ​
- appendContent
- camelCase
- cartridgePathForDestination
- checkOrphanedFiles
- checkTemplateFiles
- createScaffoldRegistry
- createTemplateContext
- createTemplateHelpers
- detectSourceFromPath
- evaluateCondition
- generateFromScaffold
- getParameterSchemas
- insertAfter
- insertBefore
- isRemoteSource
- isValidParameterName
- isValidScaffoldName
- kebabCase
- mergeJson
- parseParameterOptions
- pascalCase
- prependContent
- previewScaffold
- renderPathTemplate
- renderTemplate
- resolveLocalSource
- resolveOutputDirectory
- resolveRemoteSource
- resolveScaffoldParameters
- snakeCase
- validateAgainstSource
- validateEjsSyntax
- validateParameters
- validateScaffoldDirectory
- validateScaffoldManifest