@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,533 @@
|
|
|
1
|
+
# Installing Safari Technology Preview
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Safari Technology Preview is Apple's experimental version of the Safari web browser, designed for developers and advanced users who want early access to upcoming web technologies. Released approximately every two weeks, Safari Technology Preview contains the latest WebKit engine updates, experimental web APIs, developer tools enhancements, and potential Safari features before they reach the stable Safari release.
|
|
6
|
+
|
|
7
|
+
Safari Technology Preview runs alongside your existing Safari installation, maintaining a separate configuration. This allows you to test new web technologies and debug compatibility issues without affecting your primary browser experience. It integrates with iCloud to sync your bookmarks, favorites, and Reading List from your main Safari installation.
|
|
8
|
+
|
|
9
|
+
**Important**: Safari Technology Preview is intended for testing and development purposes. It may contain bugs or exhibit unexpected behavior. Apple does not recommend using it as your primary browser.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
Before installing Safari Technology Preview, ensure:
|
|
14
|
+
|
|
15
|
+
1. **macOS Sequoia (15.x) or later** - Safari Technology Preview requires macOS 15.0 or newer
|
|
16
|
+
2. **Internet connectivity** - Required to download the installer
|
|
17
|
+
3. **Sufficient disk space** - Approximately 200 MB for installation
|
|
18
|
+
4. **Administrative privileges** - Required for installation via Homebrew
|
|
19
|
+
|
|
20
|
+
**Critical Limitation**: Safari Technology Preview is **exclusively available for macOS**. Apple does not release Safari Technology Preview (or any version of Safari) for Windows, Linux, or any other operating system. This is a fundamental platform restriction, not a packaging limitation.
|
|
21
|
+
|
|
22
|
+
## Dependencies
|
|
23
|
+
|
|
24
|
+
### macOS (Homebrew)
|
|
25
|
+
- **Required:**
|
|
26
|
+
- `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or `dev install homebrew`
|
|
27
|
+
- macOS 15.0 (Sequoia) or later - Upgrade via System Settings > General > Software Update
|
|
28
|
+
- **Optional:** None
|
|
29
|
+
- **Auto-installed:** None
|
|
30
|
+
|
|
31
|
+
### Ubuntu (APT/Snap)
|
|
32
|
+
- **Installation not supported on this platform.** Apple does not release Safari or Safari Technology Preview for Linux distributions.
|
|
33
|
+
|
|
34
|
+
### Raspberry Pi OS (APT/Snap)
|
|
35
|
+
- **Installation not supported on this platform.** Apple does not release Safari or Safari Technology Preview for Linux distributions.
|
|
36
|
+
|
|
37
|
+
### Amazon Linux (DNF/YUM)
|
|
38
|
+
- **Installation not supported on this platform.** Apple does not release Safari or Safari Technology Preview for RPM-based Linux distributions.
|
|
39
|
+
|
|
40
|
+
### Windows (Chocolatey/winget)
|
|
41
|
+
- **Installation not supported on this platform.** Apple discontinued Safari for Windows in 2012; Safari Technology Preview has never been available for Windows.
|
|
42
|
+
|
|
43
|
+
### Git Bash (Manual/Portable)
|
|
44
|
+
- **Installation not supported on this platform.** Git Bash runs on Windows, where Safari Technology Preview is not available.
|
|
45
|
+
|
|
46
|
+
## Platform-Specific Installation
|
|
47
|
+
|
|
48
|
+
### macOS (Homebrew)
|
|
49
|
+
|
|
50
|
+
#### Prerequisites
|
|
51
|
+
|
|
52
|
+
- macOS 15.0 (Sequoia) or later
|
|
53
|
+
- Homebrew package manager installed
|
|
54
|
+
- Terminal access
|
|
55
|
+
- Apple Silicon (M1/M2/M3) or Intel processor
|
|
56
|
+
|
|
57
|
+
If Homebrew is not installed, install it first:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Installation Steps
|
|
64
|
+
|
|
65
|
+
Run the following command to install Safari Technology Preview:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
brew install --cask --quiet safari-technology-preview
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts. The `--cask` flag specifies that this is a macOS application (as opposed to a command-line tool).
|
|
72
|
+
|
|
73
|
+
Homebrew automatically detects your Mac's architecture (Apple Silicon or Intel) and downloads the appropriate build.
|
|
74
|
+
|
|
75
|
+
#### Verification
|
|
76
|
+
|
|
77
|
+
Confirm the installation succeeded by checking that the application exists:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
ls -la /Applications/Safari\ Technology\ Preview.app
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Expected output shows the application directory with its contents.
|
|
84
|
+
|
|
85
|
+
Launch Safari Technology Preview to verify it opens correctly:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
open -a "Safari Technology Preview"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
To check the WebKit version, open Safari Technology Preview and navigate to `Safari Technology Preview > About Safari Technology Preview` in the menu bar.
|
|
92
|
+
|
|
93
|
+
#### Troubleshooting
|
|
94
|
+
|
|
95
|
+
**Problem**: `Error: Cask 'safari-technology-preview' requires macOS >= 15`
|
|
96
|
+
|
|
97
|
+
**Solution**: Safari Technology Preview requires macOS Sequoia (15.0) or later. Upgrade your operating system to install Safari Technology Preview:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Check your current macOS version
|
|
101
|
+
sw_vers -productVersion
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If you are running macOS 14 (Sonoma) or earlier, you must upgrade to macOS 15 or later before installing Safari Technology Preview.
|
|
105
|
+
|
|
106
|
+
**Problem**: `brew: command not found`
|
|
107
|
+
|
|
108
|
+
**Solution**: Homebrew is not in your PATH. Add it by running:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# For Apple Silicon Macs
|
|
112
|
+
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
113
|
+
|
|
114
|
+
# For Intel Macs
|
|
115
|
+
eval "$(/usr/local/bin/brew shellenv)"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
For a permanent fix, add the appropriate line to your `~/.zshrc` or `~/.bash_profile`.
|
|
119
|
+
|
|
120
|
+
**Problem**: Installation fails with network errors
|
|
121
|
+
|
|
122
|
+
**Solution**: Homebrew downloads Safari Technology Preview from Apple's servers. Verify network connectivity and retry:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
brew update && brew install --cask --quiet safari-technology-preview
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Problem**: Quarantine warning when first launching
|
|
129
|
+
|
|
130
|
+
**Solution**: macOS may quarantine downloaded applications. Remove the quarantine attribute:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
xattr -dr com.apple.quarantine /Applications/Safari\ Technology\ Preview.app
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Problem**: Safari Technology Preview cannot be opened because Apple cannot check it for malicious software
|
|
137
|
+
|
|
138
|
+
**Solution**: Right-click (or Control-click) the Safari Technology Preview app in Finder and select "Open" from the context menu. Click "Open" in the dialog that appears. This only needs to be done once.
|
|
139
|
+
|
|
140
|
+
**Problem**: Previous installation exists and causes conflicts
|
|
141
|
+
|
|
142
|
+
**Solution**: Uninstall the existing installation before reinstalling:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
brew uninstall --cask safari-technology-preview
|
|
146
|
+
brew install --cask --quiet safari-technology-preview
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
### Ubuntu/Debian (APT)
|
|
152
|
+
|
|
153
|
+
#### Platform Limitation
|
|
154
|
+
|
|
155
|
+
**Safari Technology Preview is NOT available for Ubuntu, Debian, or any Linux distribution.**
|
|
156
|
+
|
|
157
|
+
Apple develops Safari Technology Preview exclusively for macOS. Apple has never released Safari for Linux, and there are no official or third-party builds available. This is a deliberate business decision by Apple to keep Safari exclusive to their hardware and operating systems.
|
|
158
|
+
|
|
159
|
+
#### Why This Limitation Exists
|
|
160
|
+
|
|
161
|
+
Safari is deeply integrated with macOS system frameworks (Core Foundation, Core Graphics, Core Text, Security framework, etc.) that do not exist on Linux. Porting Safari to Linux would require rewriting significant portions of the browser and maintaining two separate codebases, which Apple has chosen not to do.
|
|
162
|
+
|
|
163
|
+
#### Recommended Alternative
|
|
164
|
+
|
|
165
|
+
For web development testing on Linux, use one of these approaches:
|
|
166
|
+
|
|
167
|
+
**Option 1**: Use WebKitGTK, the open-source WebKit port for Linux:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y webkit2gtk-4.0
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
WebKitGTK shares the same WebKit rendering engine as Safari but differs in JavaScript engine performance and platform-specific features. It provides a reasonable approximation for testing WebKit compatibility.
|
|
174
|
+
|
|
175
|
+
**Option 2**: Use a macOS virtual machine or cloud-based Mac service (such as MacStadium or AWS EC2 Mac instances) to test Safari Technology Preview in a real macOS environment.
|
|
176
|
+
|
|
177
|
+
**Option 3**: Use cross-browser testing services like BrowserStack or Sauce Labs, which provide access to Safari on real Mac hardware.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Raspberry Pi OS (APT)
|
|
182
|
+
|
|
183
|
+
#### Platform Limitation
|
|
184
|
+
|
|
185
|
+
**Safari Technology Preview is NOT available for Raspberry Pi OS.**
|
|
186
|
+
|
|
187
|
+
Apple does not release Safari or Safari Technology Preview for any Linux distribution, including Raspberry Pi OS. Additionally, Raspberry Pi devices use ARM processors running Linux, which Safari has never supported.
|
|
188
|
+
|
|
189
|
+
#### Why This Limitation Exists
|
|
190
|
+
|
|
191
|
+
Safari is exclusive to Apple platforms. Even if Safari were available for Linux, Raspberry Pi OS would face additional compatibility challenges due to its ARM architecture and limited system resources compared to desktop systems.
|
|
192
|
+
|
|
193
|
+
#### Recommended Alternative
|
|
194
|
+
|
|
195
|
+
For WebKit-based testing on Raspberry Pi OS, use the Epiphany browser (GNOME Web), which is based on WebKitGTK:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y epiphany-browser
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Verify installation:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
epiphany --version
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Note**: Epiphany uses the WebKit rendering engine but may not reflect the exact behavior of Safari Technology Preview. For accurate Safari testing, use a Mac or a cloud-based Mac testing service.
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### Amazon Linux/RHEL (DNF/YUM)
|
|
212
|
+
|
|
213
|
+
#### Platform Limitation
|
|
214
|
+
|
|
215
|
+
**Safari Technology Preview is NOT available for Amazon Linux, RHEL, CentOS, Fedora, or any RPM-based Linux distribution.**
|
|
216
|
+
|
|
217
|
+
Apple develops Safari and Safari Technology Preview exclusively for macOS. There are no official builds for any Linux distribution.
|
|
218
|
+
|
|
219
|
+
#### Why This Limitation Exists
|
|
220
|
+
|
|
221
|
+
Apple has never released Safari for Linux. Safari relies on macOS-specific system frameworks and APIs that have no equivalents on Linux. Apple's business strategy keeps Safari as a differentiating feature for Mac computers.
|
|
222
|
+
|
|
223
|
+
#### Recommended Alternative
|
|
224
|
+
|
|
225
|
+
For WebKit testing on Amazon Linux or RHEL systems:
|
|
226
|
+
|
|
227
|
+
**Option 1**: Use WebKitGTK (if available in your distribution):
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Amazon Linux 2023 / Fedora
|
|
231
|
+
sudo dnf install -y webkit2gtk4.0
|
|
232
|
+
|
|
233
|
+
# Amazon Linux 2 / CentOS 7
|
|
234
|
+
sudo yum install -y webkitgtk4
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Option 2**: Deploy a macOS instance on AWS:
|
|
238
|
+
|
|
239
|
+
Amazon EC2 offers Mac instances (mac1.metal, mac2.metal) that run macOS. You can install Safari Technology Preview on these instances for testing:
|
|
240
|
+
|
|
241
|
+
1. Launch an EC2 Mac instance
|
|
242
|
+
2. Connect via VNC or SSH with X forwarding
|
|
243
|
+
3. Install Safari Technology Preview using Homebrew
|
|
244
|
+
|
|
245
|
+
**Option 3**: Use BrowserStack, Sauce Labs, or similar services that provide Safari access through their testing infrastructure.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### Windows (Chocolatey/winget)
|
|
250
|
+
|
|
251
|
+
#### Platform Limitation
|
|
252
|
+
|
|
253
|
+
**Safari Technology Preview is NOT available for Windows.**
|
|
254
|
+
|
|
255
|
+
Apple discontinued Safari for Windows in 2012 with Safari 5.1.7. Since then, Apple has not released any version of Safari (including Safari Technology Preview) for Windows. The Windows version was deprecated due to low market share and the significant engineering effort required to maintain cross-platform compatibility.
|
|
256
|
+
|
|
257
|
+
#### Why This Limitation Exists
|
|
258
|
+
|
|
259
|
+
Safari relies heavily on macOS-specific technologies including Core Animation, Core Text, and the macOS Security framework. Maintaining Windows-compatible versions of these technologies proved unsustainable. Apple chose to focus Safari development exclusively on macOS and iOS.
|
|
260
|
+
|
|
261
|
+
The last Safari version for Windows (5.1.7) is severely outdated, lacks modern web standards support, and contains known security vulnerabilities. Do not use Safari 5 for Windows under any circumstances.
|
|
262
|
+
|
|
263
|
+
#### Recommended Alternative
|
|
264
|
+
|
|
265
|
+
For testing Safari compatibility on Windows:
|
|
266
|
+
|
|
267
|
+
**Option 1**: Use a cloud-based testing service:
|
|
268
|
+
|
|
269
|
+
- BrowserStack (https://www.browserstack.com)
|
|
270
|
+
- Sauce Labs (https://saucelabs.com)
|
|
271
|
+
- LambdaTest (https://www.lambdatest.com)
|
|
272
|
+
|
|
273
|
+
These services provide access to Safari on real Mac hardware through your web browser.
|
|
274
|
+
|
|
275
|
+
**Option 2**: Use a macOS virtual machine:
|
|
276
|
+
|
|
277
|
+
Run macOS in a virtual machine using VMware Workstation or similar virtualization software. Note that Apple's EULA only permits macOS virtualization on Apple hardware.
|
|
278
|
+
|
|
279
|
+
**Option 3**: Use a physical Mac:
|
|
280
|
+
|
|
281
|
+
For professional web development requiring Safari testing, consider obtaining a Mac mini, MacBook, or Mac Studio for your testing workflow.
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
### WSL (Ubuntu)
|
|
286
|
+
|
|
287
|
+
#### Platform Limitation
|
|
288
|
+
|
|
289
|
+
**Safari Technology Preview is NOT available for WSL (Windows Subsystem for Linux).**
|
|
290
|
+
|
|
291
|
+
WSL runs a Linux environment on Windows, but Safari Technology Preview is only available for macOS. Neither Safari nor Safari Technology Preview has ever been released for any Linux distribution.
|
|
292
|
+
|
|
293
|
+
#### Why This Limitation Exists
|
|
294
|
+
|
|
295
|
+
WSL provides a Linux userland environment, not a macOS environment. Safari requires macOS-specific frameworks that do not exist in Linux or WSL. Even if Safari were available for Linux, it would not run in WSL.
|
|
296
|
+
|
|
297
|
+
#### Recommended Alternative
|
|
298
|
+
|
|
299
|
+
For WebKit-based testing in WSL:
|
|
300
|
+
|
|
301
|
+
**Option 1**: Install WebKitGTK for basic WebKit rendering tests:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y webkit2gtk-4.0
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**Option 2**: Use Playwright or Puppeteer with WebKit:
|
|
308
|
+
|
|
309
|
+
Playwright supports WebKit testing on Linux, providing a closer approximation to Safari behavior:
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# Install Node.js if not present
|
|
313
|
+
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
|
|
314
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs
|
|
315
|
+
|
|
316
|
+
# Install Playwright with WebKit
|
|
317
|
+
npx playwright install webkit
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
You can then run WebKit-based tests through Playwright's API.
|
|
321
|
+
|
|
322
|
+
**Option 3**: Use cloud-based Safari testing services (BrowserStack, Sauce Labs) that provide access to Safari on real Mac hardware.
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
### Git Bash (Windows)
|
|
327
|
+
|
|
328
|
+
#### Platform Limitation
|
|
329
|
+
|
|
330
|
+
**Safari Technology Preview is NOT available for Git Bash or Windows.**
|
|
331
|
+
|
|
332
|
+
Git Bash is a terminal emulator for Windows that provides a Bash shell and Unix utilities. It runs on Windows, and since Safari Technology Preview is not available for Windows, it cannot be installed or used through Git Bash.
|
|
333
|
+
|
|
334
|
+
#### Why This Limitation Exists
|
|
335
|
+
|
|
336
|
+
Git Bash provides a Unix-like command-line environment but does not change the underlying operating system. Since Safari Technology Preview requires macOS, and Git Bash runs on Windows, there is no installation path available.
|
|
337
|
+
|
|
338
|
+
#### Recommended Alternative
|
|
339
|
+
|
|
340
|
+
From Git Bash on Windows, you can interact with cloud-based Safari testing services via their APIs or CLI tools:
|
|
341
|
+
|
|
342
|
+
**Using BrowserStack CLI**:
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# Download BrowserStack Local binary
|
|
346
|
+
curl -L -o /tmp/BrowserStackLocal-win32.zip https://www.browserstack.com/browserstack-local/BrowserStackLocal-win32.zip
|
|
347
|
+
|
|
348
|
+
# Extract and use
|
|
349
|
+
unzip /tmp/BrowserStackLocal-win32.zip -d /c/tools/browserstack/
|
|
350
|
+
/c/tools/browserstack/BrowserStackLocal.exe --key YOUR_ACCESS_KEY
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
**Using Playwright** (if Node.js is installed):
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
npx playwright install webkit
|
|
357
|
+
npx playwright test --project=webkit
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Note: Playwright's WebKit on Windows uses a custom WebKit build, not actual Safari. For accurate Safari testing, use a Mac or cloud-based testing service.
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## Post-Installation Configuration
|
|
365
|
+
|
|
366
|
+
Safari Technology Preview includes several developer-focused features that require configuration.
|
|
367
|
+
|
|
368
|
+
### Enable the Develop Menu
|
|
369
|
+
|
|
370
|
+
The Develop menu provides access to web development tools:
|
|
371
|
+
|
|
372
|
+
1. Open Safari Technology Preview
|
|
373
|
+
2. Go to **Safari Technology Preview > Settings** (or press `Cmd + ,`)
|
|
374
|
+
3. Click the **Advanced** tab
|
|
375
|
+
4. Check **Show features for web developers**
|
|
376
|
+
|
|
377
|
+
The Develop menu now appears in the menu bar, providing access to:
|
|
378
|
+
- Web Inspector
|
|
379
|
+
- Responsive Design Mode
|
|
380
|
+
- Empty Caches
|
|
381
|
+
- Disable JavaScript, Images, and other features
|
|
382
|
+
- Experimental Features submenu
|
|
383
|
+
|
|
384
|
+
### Access Experimental Features
|
|
385
|
+
|
|
386
|
+
Safari Technology Preview includes experimental web features that may not be enabled by default:
|
|
387
|
+
|
|
388
|
+
1. Open the **Develop** menu
|
|
389
|
+
2. Select **Experimental Features**
|
|
390
|
+
3. Toggle individual features as needed for testing
|
|
391
|
+
|
|
392
|
+
These features are subject to change and may be removed or modified in future releases.
|
|
393
|
+
|
|
394
|
+
### Enable Web Inspector
|
|
395
|
+
|
|
396
|
+
To inspect web pages and debug JavaScript:
|
|
397
|
+
|
|
398
|
+
1. Open the **Develop** menu
|
|
399
|
+
2. Select **Show Web Inspector** (or press `Cmd + Option + I`)
|
|
400
|
+
|
|
401
|
+
Alternatively, right-click any element on a web page and select **Inspect Element**.
|
|
402
|
+
|
|
403
|
+
### Configure for Automation Testing
|
|
404
|
+
|
|
405
|
+
For automated testing with tools like Selenium or Playwright:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
# Enable Remote Automation
|
|
409
|
+
defaults write com.apple.Safari.TechnologyPreview AllowRemoteAutomation -bool true
|
|
410
|
+
|
|
411
|
+
# Run Safari Technology Preview with WebDriver
|
|
412
|
+
safaridriver --enable
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Common Issues
|
|
418
|
+
|
|
419
|
+
### Issue: Safari Technology Preview is Very Slow
|
|
420
|
+
|
|
421
|
+
**Symptoms**: Browser feels sluggish, pages take long to load, or UI is unresponsive.
|
|
422
|
+
|
|
423
|
+
**Solution**: Safari Technology Preview may have experimental features enabled that impact performance. Reset experimental features to their defaults:
|
|
424
|
+
|
|
425
|
+
1. Go to **Develop > Experimental Features**
|
|
426
|
+
2. Scroll to the bottom and click **Reset All to Defaults**
|
|
427
|
+
3. Restart Safari Technology Preview
|
|
428
|
+
|
|
429
|
+
### Issue: Websites Display Incorrectly
|
|
430
|
+
|
|
431
|
+
**Symptoms**: Pages render differently in Safari Technology Preview than in stable Safari or other browsers.
|
|
432
|
+
|
|
433
|
+
**Solution**: This may indicate upcoming rendering changes or experimental feature conflicts:
|
|
434
|
+
|
|
435
|
+
1. Compare the page in stable Safari to confirm it is a Safari Technology Preview-specific issue
|
|
436
|
+
2. Check if any experimental features are affecting rendering
|
|
437
|
+
3. Report the issue to Apple via the **Safari > Report an Issue** menu option
|
|
438
|
+
|
|
439
|
+
### Issue: Extensions Not Working
|
|
440
|
+
|
|
441
|
+
**Symptoms**: Safari extensions fail to load or function correctly in Safari Technology Preview.
|
|
442
|
+
|
|
443
|
+
**Solution**: Extensions must be compatible with the WebKit version in Safari Technology Preview:
|
|
444
|
+
|
|
445
|
+
1. Check if the extension developer provides a beta version compatible with Safari Technology Preview
|
|
446
|
+
2. Disable problematic extensions via **Safari Technology Preview > Settings > Extensions**
|
|
447
|
+
3. Some extensions may require updates as Safari Technology Preview evolves
|
|
448
|
+
|
|
449
|
+
### Issue: Cannot Sign In to iCloud Features
|
|
450
|
+
|
|
451
|
+
**Symptoms**: iCloud Keychain, bookmarks, or other iCloud features are unavailable.
|
|
452
|
+
|
|
453
|
+
**Solution**: Safari Technology Preview uses the same iCloud account as your system:
|
|
454
|
+
|
|
455
|
+
1. Ensure you are signed in to iCloud in **System Settings > Apple ID**
|
|
456
|
+
2. Verify that Safari is enabled in **System Settings > Apple ID > iCloud > Apps Using iCloud**
|
|
457
|
+
3. Restart Safari Technology Preview
|
|
458
|
+
|
|
459
|
+
### Issue: Safari Technology Preview Crashes on Launch
|
|
460
|
+
|
|
461
|
+
**Symptoms**: Application crashes immediately when opened.
|
|
462
|
+
|
|
463
|
+
**Solution**: Reset Safari Technology Preview preferences and data:
|
|
464
|
+
|
|
465
|
+
```bash
|
|
466
|
+
# Close Safari Technology Preview if running
|
|
467
|
+
osascript -e 'quit app "Safari Technology Preview"'
|
|
468
|
+
|
|
469
|
+
# Remove preferences (keeps bookmarks via iCloud)
|
|
470
|
+
rm -rf ~/Library/Preferences/com.apple.SafariTechnologyPreview.plist
|
|
471
|
+
rm -rf ~/Library/Caches/com.apple.SafariTechnologyPreview/
|
|
472
|
+
|
|
473
|
+
# Restart the app
|
|
474
|
+
open -a "Safari Technology Preview"
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
If crashes persist, reinstall:
|
|
478
|
+
|
|
479
|
+
```bash
|
|
480
|
+
brew uninstall --cask safari-technology-preview
|
|
481
|
+
brew install --cask --quiet safari-technology-preview
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## Updating Safari Technology Preview
|
|
487
|
+
|
|
488
|
+
Safari Technology Preview receives updates approximately every two weeks. Homebrew tracks these releases automatically.
|
|
489
|
+
|
|
490
|
+
### Check for Updates
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
brew outdated --cask | grep safari-technology-preview
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
### Update to Latest Version
|
|
497
|
+
|
|
498
|
+
```bash
|
|
499
|
+
brew upgrade --cask --quiet safari-technology-preview
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### Automatic Updates via Mac App Store
|
|
503
|
+
|
|
504
|
+
Safari Technology Preview can also update through the Mac App Store if installed from there. However, Homebrew installations update through Homebrew, not the App Store.
|
|
505
|
+
|
|
506
|
+
---
|
|
507
|
+
|
|
508
|
+
## Uninstallation
|
|
509
|
+
|
|
510
|
+
To remove Safari Technology Preview:
|
|
511
|
+
|
|
512
|
+
```bash
|
|
513
|
+
brew uninstall --cask safari-technology-preview
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
This removes the application but preserves your iCloud-synced data (bookmarks, Reading List). To remove local caches and preferences:
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
rm -rf ~/Library/Preferences/com.apple.SafariTechnologyPreview.plist
|
|
520
|
+
rm -rf ~/Library/Caches/com.apple.SafariTechnologyPreview/
|
|
521
|
+
rm -rf ~/Library/Safari\ Technology\ Preview/
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## References
|
|
527
|
+
|
|
528
|
+
- [Safari Technology Preview - Apple Developer](https://developer.apple.com/safari/technology-preview/)
|
|
529
|
+
- [Safari Technology Preview Release Notes](https://developer.apple.com/documentation/safari-technology-preview-release-notes)
|
|
530
|
+
- [Homebrew Cask: safari-technology-preview](https://formulae.brew.sh/cask/safari-technology-preview)
|
|
531
|
+
- [WebKit Blog - Safari Technology Preview](https://webkit.org/blog/category/safari-technology-preview/)
|
|
532
|
+
- [Safari Developer Resources](https://developer.apple.com/safari/resources/)
|
|
533
|
+
- [WebKit Project](https://webkit.org/)
|