spatie/typescript-transformer
Automatically generate TypeScript definitions from your PHP/Laravel code. spatie/typescript-transformer scans classes and types, then outputs .d.ts files so your frontend stays in sync with backend models, DTOs and enums with minimal manual typing.
TypeScript transformer provides a logging mechanism that can be used within providers to log messages during the transformation process. This is particularly useful for debugging and tracking the transformation flow and displaying errors or other important information.
When implementing the LoggingTransformedProvider interface, the setLogger method receives a Logger instance as an
additional parameter:
use Spatie\TypeScriptTransformer\TransformedProviders\LoggingTransformedProvider;
use Spatie\TypeScriptTransformer\Support\Loggers\Logger;
class CustomTransformedProvider implements LoggingTransformedProvider, TransformedProvider
{
protected Logger $logger;
public function setLogger(Logger $logger): void
{
$this->logger = $logger;
}
public function provide(
TypeScriptTransformerConfig $config,
): array {
$this->logger->info('Starting transformation process in CustomTransformedProvider.');
// Some of
$this->logger->info('Finished transformation process in CustomTransformedProvider.');
}
}
A log always exists of an item which can be any type which is JSON encodable and an optional title for context:
$this->logger->debug($transfomed->getReference(), 'Transformed reference details');
$this->logger->info($transfomed->getNode(), 'TypeScript node details');
$this->logger->warning($transfomed->getName(), 'Potential issue with transformed item');
$this->logger->error($transfomed->isChanged(), 'Error encountered during transformation');
How can I help you explore Laravel packages today?