Advanced Argon Usage
Learn how to use Argon in more advanced use cases!
TypeScript
TypeScript is a strongly typed programming language that gives you better tooling at any scale. With static types, you'll never run into errors caused by typos, indexing an undefined value, or passing the wrong type of value into a function ever again. Use industry standard tools like React, Prettier, ESLint, and more!
To learn more read roblox-ts documentation.
Argon greatly integrates with roblox-ts and you can use it in the following commands:
argon init
argon serve
argon build
Automation
Argon allows you to automate your workflows with its powerful CLI. You can add it to your CI/CD pipeline to make sure your project is always up-to-date and working as expected or to even deploy it! Here is an example GitHub Action that builds a plugin and then releases it on GitHub:
name: Build and Release
on:
push:
tags: ["*"]
jobs:
# Create a draft release on GitHub
draft-release:
name: Draft Release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create-release.outputs.upload_url }}
release_id: ${{ steps.create-release.outputs.id }}
steps:
- uses: actions/checkout@v4
- name: Create Release
id: create-release
uses: shogo82148/actions-create-release@v1
with:
release_name: ${{ github.ref_name }}
draft: true
# Build the plugin and upload it to GitHub
build:
name: Build
runs-on: ubuntu-latest
needs: draft-release
steps:
- uses: actions/checkout@v4
# Setup Aftman that installs Argon and Wally
- name: Setup Aftman
uses: ok-nick/setup-[email protected]
# Install Wally dependencies that our plugin uses
- name: Install dependencies
run: wally install
# Build the plugin
- name: Build
run: argon build -vvvv
# Upload the plugin to GitHub artifacts
- name: Upload to Artifacts
uses: actions/upload-artifact@v4
with:
name: plugin.rbxm
path: plugin.rbxm
# Upload the plugin to the draft release
- name: Upload to Release
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ needs.draft-release.outputs.upload_url }}
asset_name: plugin.rbxm
asset_path: plugin.rbxm
# Publish the release
publish-release:
name: Publish Release
runs-on: ubuntu-latest
needs: [build, draft-release]
steps:
- uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ needs.draft-release.outputs.release_id }}
Not all Argon commands are supported on Linux (Ubuntu) yet. Here is exhaustive list of unsupported commands:
argon studio
argon debug
And some options of these commands are not supported:
argon build
(--plugin
)argon exec
(--focus
,--standalone
)argon plugin
(ifpath
was not provided)