mirror of
https://github.com/jbranchaud/til
synced 2026-01-18 22:48:02 +00:00
Compare commits
4 Commits
98cf563e8c
...
57aae62432
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57aae62432 | ||
|
|
c8aa6ee506 | ||
|
|
5615da920f | ||
|
|
c60c63f554 |
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
||||
|
||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||
|
||||
_1550 TILs and counting..._
|
||||
_1551 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -191,7 +191,7 @@ _1550 TILs and counting..._
|
||||
- [Aliasing An Ansible Host](devops/aliasing-an-ansible-host.md)
|
||||
- [Allow Cross-Origin Requests To Include Cookies](devops/allow-cross-origin-requests-to-include-cookies.md)
|
||||
- [Allow HTTPS Through Your UFW Firewall](devops/allow-https-through-your-ufw-firewall.md)
|
||||
- [Check For Cached Site Assocation File For iOS](devops/check-for-cached-site-association-file-for-ios.md)
|
||||
- [Check For Cached Site Association File For iOS](devops/check-for-cached-site-association-file-for-ios.md)
|
||||
- [Check The Status of All Services](devops/check-the-status-of-all-services.md)
|
||||
- [Check The Syntax Of nginx Files](devops/check-the-syntax-of-nginx-files.md)
|
||||
- [Connect To An RDS PostgreSQL Database](devops/connect-to-an-rds-postgresql-database.md)
|
||||
@@ -750,7 +750,7 @@ _1550 TILs and counting..._
|
||||
- [Check If Clusters Are Upgrade Compatible](postgres/check-if-clusters-are-upgrade-compatible.md)
|
||||
- [Check If The Local Server Is Running](postgres/check-if-the-local-server-is-running.md)
|
||||
- [Check If User Role Exists For Database](postgres/check-if-user-role-exists-for-database.md)
|
||||
- [Check Table For Any Oprhaned Records](postgres/check-table-for-any-orphaned-records.md)
|
||||
- [Check Table For Any Orphaned Records](postgres/check-table-for-any-orphaned-records.md)
|
||||
- [Checking Inequality](postgres/checking-inequality.md)
|
||||
- [Checking The Type Of A Value](postgres/checking-the-type-of-a-value.md)
|
||||
- [Clear The Screen In psql](postgres/clear-the-screen-in-psql.md)
|
||||
@@ -1785,6 +1785,7 @@ _1550 TILs and counting..._
|
||||
- [Add Subtitles To Existing Mux Video Asset](workflow/add-subtitles-to-existing-mux-video-asset.md)
|
||||
- [Access 1Password Credential From CLI](workflow/access-1password-credential-from-cli.md)
|
||||
- [Allow Key-Repeating With Cursor](workflow/allow-key-repeating-with-cursor.md)
|
||||
- [Break Justfile Into Separate Hidden Steps](workflow/break-justfile-into-separate-hidden-steps.md)
|
||||
- [Change Window Name In iTerm](workflow/change-window-name-in-iterm.md)
|
||||
- [Configure Email Redirect With Cloudflare](workflow/configure-email-redirect-with-cloudflare.md)
|
||||
- [Convert An ePub Document To PDF On Mac](workflow/convert-an-epub-document-to-pdf-on-mac.md)
|
||||
|
||||
48
workflow/break-justfile-into-separate-hidden-steps.md
Normal file
48
workflow/break-justfile-into-separate-hidden-steps.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Break Justfile Into Separate Hidden Steps
|
||||
|
||||
With `just` and a project's `justfile`, I can get a summary of the commands
|
||||
available to run against my project by running `just --list`. If I try to
|
||||
breakdown a complex, multi-step command into separate `just` commands, it will
|
||||
be nice for organization, but it will clutter the list output. I can mark
|
||||
specific commands as hidden or internal by preceding them with an underscore
|
||||
(`_`).
|
||||
|
||||
Here is a `justfile` from one of my projects that only lists a single command
|
||||
`setup` which itself is supported by three internal commands: `_check-brew`,
|
||||
`_install-deps`, and `_install-go-tools`.
|
||||
|
||||
```justfile
|
||||
# Install all required development dependencies
|
||||
setup: _check-brew _install-deps _install-go-tools
|
||||
|
||||
# Check if brew is installed
|
||||
_check-brew:
|
||||
#!/usr/bin/env bash
|
||||
if ! command -v brew &> /dev/null; then
|
||||
echo "Error: Homebrew is not installed"
|
||||
echo "Please install from https://brew.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
brew_deps := '''
|
||||
go
|
||||
sqlite3
|
||||
'''
|
||||
|
||||
# Install brew dependencies
|
||||
_install-deps:
|
||||
#!/usr/bin/env bash
|
||||
deps=$(echo '{{brew_deps}}' | tr -s '[:space:]' ' ' | xargs)
|
||||
for pkg in $deps; do
|
||||
if ! brew list $pkg &>/dev/null; then
|
||||
echo "Installing $pkg..."
|
||||
brew install $pkg
|
||||
else
|
||||
echo "✓ $pkg already installed"
|
||||
fi
|
||||
done
|
||||
|
||||
# Install Go development tools
|
||||
_install-go-tools:
|
||||
go install github.com/pressly/goose/v3/cmd/goose@latest
|
||||
```
|
||||
Reference in New Issue
Block a user