Skip to content

Commit 1557ff6

Browse files
guidefarigreptile-apps[bot]pernielsentikaerraycastbot
authored
Add macports extension (#18773)
* Add macports extension - lock - chore: lint - sync - separate page for search and list installed - clean up main screen - feat: port details - feat: onboarding - feat: search query before opening ui - sync state - sync local state - fix: exec - manbat * ci: tests * refactor: memoize url construction. This ensures the URL string is only recalculated when searchText actually changes, not on every render 👀 - this console warning clued me to this: ``` Looks like the command is rendering a lot without any changes. This might indicate an rendering loop caused by a `setState` not being wrapped in a `useEffect`. This will degrade the performances of Raycast and Raycast might arbitrarily decide to terminate the extension if it happens too many times. ``` * feat: run in terminal - inspired by the brew extension 🫶🏽 - https://www.raycast.com/nhojb/brew * refactor: port details screen * refactor: check install status when parsing search results. - This way gives immediate ui feedback * chore: docs and lint * chore: address pr comments * fix: escape commands * chore: lint * chore: address pr comments * feat: show version * Update extensions/macports/src/components/Onboarding.tsx Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * refactor: test definition * Update extensions/macports/src/port-details.tsx Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * chore: sync local * chore: screenshots * chore: details icon * fix(exec): prevent "No" from appearing as a port when no ports are installed * styles * Update util.ts * Update CHANGELOG.md and optimise images --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Per Nielsen Tikær <[email protected]> Co-authored-by: raycastbot <[email protected]>
1 parent cd16def commit 1557ff6

27 files changed

+4340
-0
lines changed

extensions/macports/.gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
6+
# Raycast specific files
7+
raycast-env.d.ts
8+
.raycast-swift-build
9+
.swiftpm
10+
compiled_raycast_swift
11+
12+
# misc
13+
.DS_Store

extensions/macports/.prettierignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Test files
2+
src/test-files/*.txt

extensions/macports/.prettierrc

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"printWidth": 120,
3+
"singleQuote": false
4+
}

extensions/macports/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Macports Changelog
2+
3+
## [Initial Version] - 2025-05-07

extensions/macports/README.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# MacPorts
2+
Simple Management tool for [MacPorts](https://www.macports.org/). Allows you to:
3+
- Search for ports
4+
- Install/Uninstall ports
5+
- List installed ports
6+
- View port details
7+
8+
# Installation
9+
You need to have MacPorts installed to use this extension.
10+
Visit the [MacPorts Website](https://www.macports.org/install.php) to download the official installer for your macOS version.

extensions/macports/assets/icon.png

59.2 KB
Loading
58.3 KB
Loading

extensions/macports/eslint.config.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const { defineConfig } = require("eslint/config");
2+
const raycastConfig = require("@raycast/eslint-config");
3+
4+
module.exports = defineConfig([
5+
{
6+
ignores: ['test-files/**']
7+
},
8+
...raycastConfig,
9+
]);
918 KB
Loading
868 KB
Loading
826 KB
Loading

0 commit comments

Comments
 (0)