tessl install tessl/npm-stencil--core@4.36.0A comprehensive web component compiler that transforms TypeScript and JSX code into standards-compliant web components with complete development toolchain.
Agent Success
Agent success rate when using this tile
75%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.44x
Baseline
Agent success rate without this tile
52%
Build a development workflow automation tool that monitors a Stencil component library project during development and provides real-time feedback on build status.
Your solution should implement the following functionality:
Watch Mode Setup: Create a module that can start a watch process for a Stencil project during development. The watch process should monitor source files and automatically recompile when changes are detected.
Build Status Monitoring: Implement functionality to track and report the build status. The system should be able to detect when:
Development Configuration: Ensure the watch process runs in development mode, which includes source maps and debugging information for easier troubleshooting.
Process Management: Implement proper process lifecycle management:
Create a TypeScript module dev-workflow.ts that exports the following:
startDevWatch() that initiates the watch process and returns a handle for managing itgetLastBuildStatus() that returns the status of the most recent build (e.g., "success", "error", "building")stopWatch() that terminates the watch processThe module should handle the standard output from the build tool to determine build status.
File: dev-workflow.test.ts
import { startDevWatch, getLastBuildStatus } from './dev-workflow';
test('should start watch mode successfully', async () => {
const handle = await startDevWatch();
expect(handle).toBeDefined();
expect(handle.isRunning).toBe(true);
});File: dev-workflow.test.ts
import { startDevWatch, getLastBuildStatus } from './dev-workflow';
test('should detect when build completes', async () => {
await startDevWatch();
// Wait for initial build
await new Promise(resolve => setTimeout(resolve, 5000));
const status = getLastBuildStatus();
expect(['success', 'error']).toContain(status);
});File: dev-workflow.test.ts
import { startDevWatch, stopWatch } from './dev-workflow';
test('should stop watch process cleanly', async () => {
const handle = await startDevWatch();
await stopWatch();
expect(handle.isRunning).toBe(false);
});Provides the build tooling and watch command for component compilation.
stencil.config.ts file exists in the project root