92 lines
5.1 KiB
YAML
92 lines
5.1 KiB
YAML
uuid:
|
|
- value: 29a700d5-082c-4f6b-bafd-f4c4e1486624
|
|
langcode:
|
|
- value: en
|
|
type:
|
|
- target_id: daily_email
|
|
target_type: node_type
|
|
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
|
|
revision_timestamp:
|
|
- value: '2025-05-11T09:00:20+00:00'
|
|
revision_uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
revision_log: { }
|
|
status:
|
|
- value: true
|
|
uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
title:
|
|
- value: 'Introducing Versa - the versatile CLI tool'
|
|
created:
|
|
- value: '2024-02-19T00:00:00+00:00'
|
|
changed:
|
|
- value: '2025-05-11T09:00:20+00:00'
|
|
promote:
|
|
- value: false
|
|
sticky:
|
|
- value: false
|
|
default_langcode:
|
|
- value: true
|
|
revision_translation_affected:
|
|
- value: true
|
|
path:
|
|
- alias: /daily/2024/02/19/introducing-versa
|
|
langcode: en
|
|
body:
|
|
- value: |
|
|
<p>Today, I started to build a new open-source project - Versa, the versatile command-line tool that standardises common commands across projects.</p>
|
|
|
|
<p>After watching a Twitch streamer building something similar in Rust, I decided to build my take on it and add features I'd need, such as support for local vs Docker-based commands and to run different commands for different projects.</p>
|
|
|
|
<p>For example, <code>versa run</code> would need to run different commands for Drupal and Sculpin projects, <code>versa test</code> should support different test frameworks for the same language - e.g. PHPUnit, Pest and ParaTest for PHP - and the commands will need to be different in Docker Compose-based projects.</p>
|
|
|
|
<p>Currently, this logic is within my <a href="/build-configs">Build Configs</a> project but can be moved to Versa.</p>
|
|
|
|
<p>This reduces the complexity within that codebase and means I can open-source it as it's a separate project.</p>
|
|
|
|
<p>At the moment, I've added PHP as the only supported language but I will add JavaScript/TypeScript support so it supports projects like Fractal.</p>
|
|
|
|
<p>It's still in the prototype phase and includes some initial commands, but the interesting parts will be making it clever.</p>
|
|
|
|
<p>Instead of running <code>versa run --type sculpin</code>, I'd like to just do <code>versa run</code> and have it determine the type of project automatically.</p>
|
|
|
|
<p><code>versa test</code> should be able to determine the testing framework automatically based on what's in the project's <code>composer.json</code> file instead of having to specify it.</p>
|
|
|
|
<p>Likewise, for JavaScript, <code>versa install</code> should be able to determine if <code>npm</code>, <code>yarn</code> or <code>pnpm</code> is used.</p>
|
|
|
|
<p>That'll be where the more complex code will be added and when I start doing test-driven development - maybe with Behat, which is also something I've been thinking about for Build Configs.</p>
|
|
|
|
<p>Interested? <a href="https://github.com/opdavies/versa">Take a look at the code</a>.</p>
|
|
|
|
|
|
format: full_html
|
|
processed: |
|
|
<p>Today, I started to build a new open-source project - Versa, the versatile command-line tool that standardises common commands across projects.</p>
|
|
|
|
<p>After watching a Twitch streamer building something similar in Rust, I decided to build my take on it and add features I'd need, such as support for local vs Docker-based commands and to run different commands for different projects.</p>
|
|
|
|
<p>For example, <code>versa run</code> would need to run different commands for Drupal and Sculpin projects, <code>versa test</code> should support different test frameworks for the same language - e.g. PHPUnit, Pest and ParaTest for PHP - and the commands will need to be different in Docker Compose-based projects.</p>
|
|
|
|
<p>Currently, this logic is within my <a href="/build-configs">Build Configs</a> project but can be moved to Versa.</p>
|
|
|
|
<p>This reduces the complexity within that codebase and means I can open-source it as it's a separate project.</p>
|
|
|
|
<p>At the moment, I've added PHP as the only supported language but I will add JavaScript/TypeScript support so it supports projects like Fractal.</p>
|
|
|
|
<p>It's still in the prototype phase and includes some initial commands, but the interesting parts will be making it clever.</p>
|
|
|
|
<p>Instead of running <code>versa run --type sculpin</code>, I'd like to just do <code>versa run</code> and have it determine the type of project automatically.</p>
|
|
|
|
<p><code>versa test</code> should be able to determine the testing framework automatically based on what's in the project's <code>composer.json</code> file instead of having to specify it.</p>
|
|
|
|
<p>Likewise, for JavaScript, <code>versa install</code> should be able to determine if <code>npm</code>, <code>yarn</code> or <code>pnpm</code> is used.</p>
|
|
|
|
<p>That'll be where the more complex code will be added and when I start doing test-driven development - maybe with Behat, which is also something I've been thinking about for Build Configs.</p>
|
|
|
|
<p>Interested? <a href="https://github.com/opdavies/versa">Take a look at the code</a>.</p>
|
|
|
|
|
|
summary: null
|
|
field_daily_email_cta: { }
|