Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avivbens/fast-alfred

Your Alfred friendly framework, for developing Alfred workflows in TypeScript/JavaScript 🥷
https://github.com/avivbens/fast-alfred

alfred alfred-5 ci-cd javascript macos nodejs typescript workflow

Last synced: 10 days ago
JSON representation

Your Alfred friendly framework, for developing Alfred workflows in TypeScript/JavaScript 🥷

Awesome Lists containing this project

README

        

# Build Amazing Alfred Workflows! :ninja:

**`fast-alfred` - Your Alfred friendly framework**, for developing Alfred workflows in TypeScript/JavaScript.


[![npm](https://img.shields.io/npm/v/fast-alfred)](https://www.npmjs.com/package/fast-alfred)
[![npm](https://img.shields.io/npm/dt/fast-alfred)](https://www.npmjs.com/package/fast-alfred)
![GitHub](https://img.shields.io/github/license/avivbens/fast-alfred)

[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/kcao7snkgx)

### Read Our Official Docs 📚

## Installation

```bash
npm install fast-alfred
```

# The Reason

`fast-alfred` lets you think about the functionality, rather than the boilerplate.

It provides you with a convenient way to manage your workflow, apply proper versioning, and bundle it into a `.alfredworkflow` file.

## The Hard Time When Developing Alfred Workflows In Node.js

According to [Alfred's official community](https://www.alfredforum.com/topic/21366-nodejs-workflows-deployment/?do=findComment&comment=110924),
it is not a best-practice to include any external dependencies at installation time,
so all of your code and its dependencies should be included in the workflow file.

[Alfred Gallery](https://alfred.app/) requires you to upload a `.alfredworkflow` file, which is a zip archive containing all the necessary files for your workflow to run.

In order to accomplish this task, we need to bundle our code into a single file and include it in the workflow.

## The Solution

`fast-alfred` allows you to bundle your production code into a few scripts, and include them in the workflow.
All bundle options are configurable, via a `.fast-alfred.config.cjs` file at the root of your project.