Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .github/workflows/utils-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Utils Publish

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
tag:
description: "Release tag (e.g. v1.2.3)"
required: false

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
publish:
runs-on: depot-ubuntu-24.04
defaults:
run:
working-directory: ./src/typescript/utils
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org

- name: Set version from tag
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
TAG_NAME=${{ github.event.inputs.tag }}
else
TAG_NAME=${GITHUB_REF_NAME}
fi

if [ -z "$TAG_NAME" ]; then
echo "Error: No tag specified."
exit 1
fi

npm version "$TAG_NAME" --no-git-tag-version

- name: Install API dependencies
run: npm --prefix ../api ci
- name: Build API dependency
run: npm --prefix ../api run build
- name: Install dependencies
run: npm ci
- name: Build package
run: npm run build
- uses: JS-DevTools/npm-publish@19c28f1ef146469e409470805ea4279d47c3d35c
with:
token: ${{ secrets.NPM_TOKEN }}
package: ./src/typescript/utils
1 change: 1 addition & 0 deletions src/typescript/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ More information can be obtained on each project by navigating to their respecti
- `extension-manager`: a node process meant to be spawned by the main vicinae executable, ready to load and unload extension workers on-demand.
- `@vicinae/api`: the vicinae SDK used to build extensions, as published on npm
- `@vicinae/raycast-api-compat`: a private package that provides a raycast-compatible way to use the `@vicinae/api` package. It is a mere wrapper around it.
- `@vicinae/utils`: shared utilities for building extensions, published on npm.

# Integration with the build system

Expand Down
1 change: 1 addition & 0 deletions src/typescript/biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"api/**",
"extension-manager/**",
"raycast-api-compat/**",
"utils/**",
"!api/src/proto/**",
"!api/src/api/proto/**",
"!extension-manager/src/proto/**"
Expand Down
4 changes: 4 additions & 0 deletions src/typescript/utils/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*-debug.log
*-error.log
/dist
/node_modules
2 changes: 2 additions & 0 deletions src/typescript/utils/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ignore-scripts=true
min-release-age=7
9 changes: 9 additions & 0 deletions src/typescript/utils/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# `@vicinae/utils`

Shared utilities for building Vicinae extensions.

## Installation

```bash
npm install @vicinae/api @vicinae/utils
```
Loading
Loading