Files
BewlyBewly/vite.config.content.ts
Hakadao 9932c77762 chore: support safari (hmmm, i guess?) (#960)
* Add support of Safari

1. Workaround of Safari's bug of not sending cookies when using fetch in background service worker. This fixes https://github.com/hakadao/BewlyBewly/issues/275#issuecomment-1927278492. See: https://stackoverflow.com/questions/78239213/safari-extension-service-worker-not-sending-cookie
2. Add scripts to for Safari specific build and convert it to a Safari web extension.

* Fixed a bug in Safari that when the extension was installed, the page would turn into a white screen

* Safari may fire DOMContentLoaded before the codes get called

* Remove false fix; Ignore extension-safari

* Reduce memory and power usage with a nonpersistent background page on Safari and Firefox, see https://developer.apple.com/documentation/safariservices/safari_web_extensions/optimizing_your_web_extension_for_safari#3743241 and https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Background_scripts

* Build and release Safari extension with Github actions (#585)

* feat: add safari extension build

* fix: safari pathname

* fix: add build branch

* Merge

* Try building Safari extension using GitHub action

Correct versions

Debug

Minor bug fixed

Minor bug fixed

Add scripts to release

Minor bug fixed

Minor bug fixed

Minor bug fixed

---------

Co-authored-by: 梦念逍遥 <2589141604@qq.com>
Co-authored-by: Xiaolin Wang <exgphe@gmail.com>
Co-authored-by: Hakadao <a578457889743@gmail.com>

* fix: safari build (#665)

* chore: update

* chore: update knip.json to ignore "xcrun" binaries

---------

Co-authored-by: Xiaolin Wang <exgphe@gmail.com>
Co-authored-by: exgphe <14009450+exgphe@users.noreply.github.com>
Co-authored-by: 梦念逍遥 <2589141604@qq.com>
2024-08-14 00:24:09 +08:00

31 lines
884 B
TypeScript

import { defineConfig } from 'vite'
import packageJson from './package.json'
import { isDev, isFirefox, isSafari, r } from './scripts/utils'
import { sharedConfig } from './vite.config'
// bundling the content script using Vite
export default defineConfig({
...sharedConfig,
build: {
watch: isDev
? { include: ['./**/*'] }
: undefined,
outDir: r(isFirefox ? 'extension-firefox/dist/contentScripts' : isSafari ? 'extension-safari/dist/contentScripts' : 'extension/dist/contentScripts'),
cssCodeSplit: false,
emptyOutDir: false,
sourcemap: false, // https://github.com/vitejs/vite-plugin-vue/issues/35
lib: {
entry: r('src/contentScripts/index.ts'),
name: packageJson.name,
formats: ['iife'],
},
rollupOptions: {
output: {
entryFileNames: 'index.global.js',
extend: true,
},
},
},
})