Skip to content

Commit

Permalink
Merge pull request #519 from qingchoulove/main
Browse files Browse the repository at this point in the history
feat: kubespider-extension support firefox.
  • Loading branch information
evell1992 authored May 29, 2024
2 parents 406542a + 4ab5974 commit fdf6a4a
Show file tree
Hide file tree
Showing 12 changed files with 828 additions and 590 deletions.
35 changes: 34 additions & 1 deletion .github/workflows/release-extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:
contents: write

jobs:
Release-Extension:
Release-Chrome-Extension:
name: Release Kubespider Chrome Extension
runs-on: ubuntu-20.04
steps:
Expand All @@ -26,3 +26,36 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{github.event.release.tag_name}} chrome-extension.zip
shell: bash
Release-Firefox-Extension:
name: Release Kubespider Firefox Extension
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "21"
- name: Cache dependencies
uses: actions/cache@v3
with:
path: kubespider-extension/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('kubespider-extension/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: |
npm install
working-directory: ./kubespider-extension
- name: Build
run: |
npm run build:firefox
working-directory: ./kubespider-extension
- name: Zip
run: zip -r firefox-extension.zip chrome-extension
shell: bash

- name: Upload Release Asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{github.event.release.tag_name}} firefox-extension.zip
shell: bash
1 change: 1 addition & 0 deletions kubespider-extension/.env.chrome
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VITE_BROWSER_TYPE=chrome
1 change: 1 addition & 0 deletions kubespider-extension/.env.firefox
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VITE_BROWSER_TYPE=firefox
1,268 changes: 734 additions & 534 deletions kubespider-extension/package-lock.json

Large diffs are not rendered by default.

45 changes: 23 additions & 22 deletions kubespider-extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,36 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"build": "tsc && vite build --mode chrome",
"build:chrome": "tsc && vite build --mode chrome",
"build:firefox": "tsc && vite build --mode firefox",
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@crxjs/vite-plugin": "^2.0.0-beta.21",
"@crxjs/vite-plugin": "^2.0.0-beta.23",
"@thedutchcoder/postcss-rem-to-px": "^0.0.2",
"@types/chrome": "^0.0.254",
"@types/node": "^20.10.5",
"@types/react": "^18.2.45",
"@types/react-dom": "^18.2.18",
"@types/node": "^20.12.12",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/webextension-polyfill": "^0.10.7",
"@typescript-eslint/eslint-plugin": "^6.15.0",
"@typescript-eslint/parser": "^6.15.0",
"@vitejs/plugin-react": "^4.2.1",
"autoprefixer": "^10.4.16",
"classnames": "^2.3.2",
"eslint": "^8.56.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"postcss": "^8.4.32",
"tailwindcss": "^3.3.7",
"typescript": "^5.3.3",
"vite": "^4.5.3",
"vite-plugin-zip-pack": "^1.0.7",
"webextension-polyfill": "^0.10.0"
"@typescript-eslint/eslint-plugin": "^7.11.0",
"@typescript-eslint/parser": "^7.11.0",
"@vitejs/plugin-react": "^4.3.0",
"autoprefixer": "^10.4.19",
"classnames": "^2.5.1",
"eslint": "^8.57.0",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.7",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.5",
"vite": "^5.2.11",
"vite-plugin-zip-pack": "^1.2.3",
"webextension-polyfill": "^0.12.0"
}
}
2 changes: 1 addition & 1 deletion kubespider-extension/src/lib/bridge/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Browser from "webextension-polyfill";

namespace Tab {
export async function getCurrentTabId(): Promise<number> {
const [tab] = await chrome.tabs.query({
const [tab] = await Browser.tabs.query({
active: true,
currentWindow: true,
});
Expand Down
4 changes: 2 additions & 2 deletions kubespider-extension/src/lib/storage/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ const defaultConfig: Config = {

namespace Storage {
export const read = async (): Promise<Config> => {
return Browser.storage.sync.get(defaultConfig).then((config) => {
return Browser.storage.local.get(defaultConfig).then((config) => {
return config as Config;
});
};
export const save = async (config: Config): Promise<void> => {
return Browser.storage.sync.set(config);
return Browser.storage.local.set(config);
};
}

Expand Down
1 change: 1 addition & 0 deletions kubespider-extension/src/manifest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export default defineManifest({
default_icon: "img/icon48.png",
},
background: {
scripts: ["src/background/index.ts"],
service_worker: "src/background/index.ts",
type: "module",
},
Expand Down
8 changes: 2 additions & 6 deletions kubespider-extension/tsconfig.node.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,5 @@
"moduleResolution": "bundler",
"allowSyntheticDefaultImports": true
},
"include": [
"vite.config.ts",
"src/manifest.ts",
"package.json"
]
}
"include": ["vite.config.ts", "src/manifest.ts", "package.json"]
}
49 changes: 26 additions & 23 deletions kubespider-extension/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
import { defineConfig } from "vite";
import { defineConfig, loadEnv } from "vite";
import react from "@vitejs/plugin-react";
import { crx } from "@crxjs/vite-plugin";
import manifest from "./src/manifest";
import { resolve } from "path";

console.log(resolve(__dirname, "../chrome-extension"));

// https://vitejs.dev/config/
export default defineConfig({
plugins: [react(), crx({ manifest })],
resolve: {
alias: {
"@": resolve(__dirname, "src"),
"@lib": resolve(__dirname, "src/lib"),
"@api": resolve(__dirname, "src/lib/api"),
"@bridge": resolve(__dirname, "src/lib/bridge"),
"@component": resolve(__dirname, "src/lib/component"),
"@message": resolve(__dirname, "src/lib/message"),
"@polyfill": resolve(__dirname, "src/lib/polyfill"),
"@storage": resolve(__dirname, "src/lib/storage"),
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());
const browser = (env.VITE_BROWSER_TYPE || "chrome") as "chrome" | "firefox";
console.log("build browser type", browser);
return {
plugins: [react(), crx({ manifest, browser })],
resolve: {
alias: {
"@": resolve(__dirname, "src"),
"@lib": resolve(__dirname, "src/lib"),
"@api": resolve(__dirname, "src/lib/api"),
"@bridge": resolve(__dirname, "src/lib/bridge"),
"@component": resolve(__dirname, "src/lib/component"),
"@message": resolve(__dirname, "src/lib/message"),
"@polyfill": resolve(__dirname, "src/lib/polyfill"),
"@storage": resolve(__dirname, "src/lib/storage"),
},
},
},
build: {
emptyOutDir: true,
outDir: resolve(__dirname, "../chrome-extension"),
rollupOptions: {
output: {
chunkFileNames: "assets/chunk-[hash].js",
build: {
emptyOutDir: true,
outDir: resolve(__dirname, "../chrome-extension"),
rollupOptions: {
output: {
chunkFileNames: "assets/chunk-[hash].js",
},
},
},
},
};
});
3 changes: 2 additions & 1 deletion kubespider/core/webhook_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from functools import wraps
from flask import Flask, jsonify, request
from flask_cors import CORS

from api.values import Event
from utils import global_config
Expand All @@ -12,7 +13,7 @@
from core import source_manager

kubespider_server = Flask(__name__)

CORS(kubespider_server)

def auth_required(func):
@wraps(func)
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ pyexecjs==1.5.1
bencodepy==0.9.5
qbittorrent-api==2023.7.52
flask==2.3.3
flask_cors==4.0.1
pyyaml==6.0.1
feedparser==6.0.10
transmission-rpc==4.3.0
Expand Down

0 comments on commit fdf6a4a

Please sign in to comment.