New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

wave-shell

Package Overview
Dependencies
Maintainers
0
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wave-shell

latest
npmnpm
Version
0.0.39
Version published
Maintainers
0
Created
Source

🌊 WAVE SHELL 🌊

wavy(1)

Requirements

  • Bun installed

🏄‍♂️ Ride the Wave of Efficiency with Wave Shell 🏄‍♀️

Welcome to Wave Shell, where every line of code is a powerful wave propelling you forward in your development journey. Just like the rhythmic and fluid nature of ocean waves, our CLI tool is designed to make your coding experience smooth, efficient, and energizing.

Wave Shell is heavily inspired by Gluegun! Please go there to take a look.

Why Wave Shell?

Wave Shell is more than just a name; it's a representation of the dynamic and seamless development experience we strive to provide. Imagine coding as effortlessly as riding the perfect wave—surfing through your projects with grace and power. Our CLI tool aims to bring that natural flow to your development process, ensuring you stay productive and energized in your daily work.

Key Features 🚀

  • File system commands: Every command at src/commands/ will be a new registered command for you!

  • Parsed command lines arguments:: All arguments parsed beautifully (booleans, strings, numbers)

  • File Template: Create files passing dynamic variables to our .surf files!. Powered by Surfstar

Docs (WIP): https://docs.wave-shell.dev

Getting Started 🌊

bunx wave-shell-cli create

Usage ✨

src/commands/hello.ts

import { WaveCommand } from "wave-shell";

export default {
  description: 'Hello world command',
  run: async ({ args, print }) => {
    const { world } = args.namedArgs; //world parsed as a boolean

    if (!world) {
      return print.error("We expected --world to say the phrase 😓")
    }

    print.success("Hello World!")
  }
} as WaveCommand

Typing this ⬇ will trigger the run method above ⬆

wave hello --world

Usage with Surfstar

src/templates/hello-world.surf

Hello {{ person.name }}! I see that you are {{ years }} years old. Nice!

src/commands/hello-world.ts

import { WaveCommand } from "wave-shell";
import { join } from 'path';

function getFilePath() {
  const templateFolder = join(import.meta.dir, '../templates');

  return join(templateFolder, 'hello-world.surf');
}

export default {
  run: async ({ compileTemplate }) => {
    const filePath = getFilePath();

    const result = await compileTemplate(filePath, {
      person: { name: 'John' },
      years: 32
    });

    Bun.write('hello.txt', result)
  }
} as WaveCommand

FAQs

Package last updated on 29 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts