Skip to content

Instantly share code, notes, and snippets.

View svallory's full-sized avatar
:bowtie:
Coding like there's no tomorrow

Saulo Vallory svallory

:bowtie:
Coding like there's no tomorrow
View GitHub Profile
@svallory
svallory / cli-utils.ts
Last active April 14, 2024 05:28
My utilities
import { expandToChalkString } from './template-strings.ts';
const exit = (error: string, code: number = -1) => {
console.info(eval(`expandToChalkString\`${error}\``));
process.exit(code);
}
import type { ForegroundColorName } from 'chalk';
const info = (msg: string, color: ForegroundColorName = 'yellow') => {
@svallory
svallory / .gitignore
Created March 25, 2024 01:57
Node .gitignore
.DS_Store
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
@svallory
svallory / marko-json.d.ts
Last active February 26, 2024 04:03
Types for marko.json and marko-tag.json
/**
* Represents a Marko tag name enclosed in angle brackets.
* Used to define custom Marko tags within a taglib definition.
*/
type TagShorthand = `<${string}>`;
/**
* Represents a shorthand for defining repeated tag within a Marko tag.
*/
type RepeatedTag = `${TagShorthand}[]`;
@svallory
svallory / elephant.html
Last active February 24, 2024 05:00
portal > htmz > htmx (LOL just kidding)
<h2>Elephant</h2>
<p>
Elephants are the largest existing land animals. Three species are currently
recognized: the African bush elephant, the African forest elephant, and the
Asian elephant.
</p>
@svallory
svallory / id_rsa.pub
Created February 4, 2024 16:17
my-pub-key
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+IUXKEwgSAjypvuuedx8DqpIQrNtHcLWBFEnc24vWV1BApwDa57+bxAOKNTwk/QTOsmjDjyiiHNx532IW4Yg0+U/S0uFvHIlmpuFRst2rPloMktIPy2gOMXOqRhy8uwheGMP7FhXPZaivTYFJreLu1981ipMl5irhdo++FOU5G2DnSBIN1vqS1fR2zAEy1Nnc1Nabx0W5IoaIdAZJ5Z+I49XXq09pismxa6Mkx9otL6ijU7Jf7cH5RRoGj6BJQk/XuNdWpOCw1hWDOT3n5Gn6BGcdx0AoGD4DzqbNjXR1r9Wmjx26YEgNMC0iZRspKUUJMwhNa3TlA4u9N8RrAR0D saulo@toki.life
@svallory
svallory / debug-tag.marko
Last active January 30, 2024 03:47
Marko Tags API Guide
<lifecycle onMount() {
console.log('Debug Tag', component);
}/>
<return=component/>
@svallory
svallory / moon-launch.sh
Created December 21, 2023 23:56
Auto-migrate a monorep to moon
#!/bin/bash
# Check if `proto` is installed, if not, ask for user confirmation to install
if ! command -v proto &>/dev/null; then
echo "Proto is not installed. Do you want to install Proto? (y/N)"
read -r user_confirmation
if [[ $user_confirmation == [yY] ]]; then
# Command to install Proto
echo "Installing Proto..."
curl -fsSL https://moonrepo.dev/install/proto.sh | bash
@svallory
svallory / Quake-style Hotkey Window for Wezterm.json
Created September 17, 2023 01:31
Quake-style Hotkey Window for Wezterm
{
"title": "Quake-style Hotkey Window for Wezterm",
"rules": [
{
"description": "Launch/show Wezterm if it is not in foreground",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "escape",
@svallory
svallory / App.svelte
Created May 24, 2023 17:28
SomeSwing
<script lang="ts">
let name: string = "world";
</script>
<h1>Hello asdf {name}!</h1>
@svallory
svallory / value-object-proxied-base-class.ts
Created January 25, 2023 21:19
Magic catch-all method in Typescript class by extending Javascript Proxy class to build the perfect Value Object base class
type Setters<Type> = {
[Property in keyof Type as `set${Capitalize<string & Property>}`]: (newValue: Type[Property]) => Type & Setters<Type>
};
abstract class VO<T> {
constructor(
public readonly type: any,
public readonly excludedProperties: string[],
) {
return (new Proxy(this, {