mirror of
https://github.com/Kuingsmile/PicList.git
synced 2026-05-06 20:42:57 +08:00
📦 Chore(custom): add build test action file
This commit is contained in:
72
.github/workflows/linux_build.yml
vendored
72
.github/workflows/linux_build.yml
vendored
@@ -1,72 +0,0 @@
|
||||
# main.yml
|
||||
|
||||
# Workflow's name
|
||||
name: Linux Build
|
||||
|
||||
# Workflow's trigger
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
ELECTRON_OUTPUT_PATH: ./dist_electron
|
||||
CSC_LINK: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
|
||||
# Workflow's jobs
|
||||
jobs:
|
||||
# job's id
|
||||
release:
|
||||
# job's name
|
||||
name: build and release electron app
|
||||
|
||||
# the type of machine to run the job on
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
# create a build matrix for jobs
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
|
||||
# create steps
|
||||
steps:
|
||||
# step1: check out repository
|
||||
- name: Check out git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# step3: install node env
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17.0'
|
||||
|
||||
- name: Install system deps
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils
|
||||
|
||||
- name: Yarn install linux
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
- name: Build & release app
|
||||
run: |
|
||||
yarn release
|
||||
yarn upload-dist
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
R2_SECRET_ID: ${{ secrets.R2_SECRET_ID }}
|
||||
R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }}
|
||||
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
ELECTRON_SKIP_NOTARIZATION: ${{ secrets.ELECTRON_SKIP_NOTARIZATION }}
|
||||
XCODE_APP_LOADER_EMAIL: ${{ secrets.XCODE_APP_LOADER_EMAIL }}
|
||||
XCODE_APP_LOADER_PASSWORD: ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
|
||||
XCODE_TEAM_ID: ${{ secrets.XCODE_TEAM_ID }}
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
86
.github/workflows/mac_beta.yml
vendored
86
.github/workflows/mac_beta.yml
vendored
@@ -1,86 +0,0 @@
|
||||
# main.yml
|
||||
|
||||
# Workflow's name
|
||||
name: Mac Beta Build
|
||||
|
||||
# Workflow's trigger
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
ELECTRON_OUTPUT_PATH: ./dist_electron
|
||||
CSC_LINK: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: build and release electron app
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13]
|
||||
|
||||
steps:
|
||||
- name: Check out git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# step2: sign
|
||||
- name: Install the Apple certificates
|
||||
if: matrix.os == 'macos-13'
|
||||
run: |
|
||||
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
|
||||
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
|
||||
|
||||
# step3: install node env
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17.0'
|
||||
|
||||
- name: Install system deps
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils
|
||||
|
||||
# step3: yarn
|
||||
- name: Yarn install macos
|
||||
if: matrix.os == 'macos-13'
|
||||
run: |
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
npm rebuild --platform=darwin --arch=arm64 sharp
|
||||
|
||||
- name: Yarn install windows
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
- name: Yarn install linux
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
- name: Build & release app
|
||||
run: |
|
||||
yarn run build
|
||||
yarn upload-beta
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
R2_SECRET_ID: ${{ secrets.R2_SECRET_ID }}
|
||||
R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }}
|
||||
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
ELECTRON_SKIP_NOTARIZATION: ${{ secrets.ELECTRON_SKIP_NOTARIZATION }}
|
||||
XCODE_APP_LOADER_EMAIL: ${{ secrets.XCODE_APP_LOADER_EMAIL }}
|
||||
XCODE_APP_LOADER_PASSWORD: ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
|
||||
XCODE_TEAM_ID: ${{ secrets.XCODE_TEAM_ID }}
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
75
.github/workflows/mac_build.yml
vendored
75
.github/workflows/mac_build.yml
vendored
@@ -1,75 +0,0 @@
|
||||
# main.yml
|
||||
|
||||
# Workflow's name
|
||||
name: Mac Build
|
||||
|
||||
# Workflow's trigger
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
ELECTRON_OUTPUT_PATH: ./dist_electron
|
||||
CSC_LINK: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
|
||||
# Workflow's jobs
|
||||
jobs:
|
||||
# job's id
|
||||
release:
|
||||
# job's name
|
||||
name: build and release electron app
|
||||
|
||||
# the type of machine to run the job on
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
# create a build matrix for jobs
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13]
|
||||
|
||||
# create steps
|
||||
steps:
|
||||
# step1: check out repository
|
||||
- name: Check out git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# step2: sign
|
||||
- name: Install the Apple certificates
|
||||
if: matrix.os == 'macos-13'
|
||||
run: |
|
||||
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
|
||||
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
|
||||
|
||||
# step3: install node env
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17.0'
|
||||
|
||||
# step3: yarn
|
||||
- name: Yarn install macos
|
||||
if: matrix.os == 'macos-13'
|
||||
run: |
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
npm rebuild --platform=darwin --arch=arm64 sharp
|
||||
|
||||
- name: Build & release app
|
||||
run: |
|
||||
yarn build
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
R2_SECRET_ID: ${{ secrets.R2_SECRET_ID }}
|
||||
R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }}
|
||||
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
ELECTRON_SKIP_NOTARIZATION: ${{ secrets.ELECTRON_SKIP_NOTARIZATION }}
|
||||
XCODE_APP_LOADER_EMAIL: ${{ secrets.XCODE_APP_LOADER_EMAIL }}
|
||||
XCODE_APP_LOADER_PASSWORD: ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
|
||||
XCODE_TEAM_ID: ${{ secrets.XCODE_TEAM_ID }}
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
7
.github/workflows/main.yml
vendored
7
.github/workflows/main.yml
vendored
@@ -44,9 +44,9 @@ jobs:
|
||||
|
||||
# step3: install node env
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v2
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '16.x'
|
||||
node-version: '22.x'
|
||||
|
||||
- name: Install system deps
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
@@ -57,6 +57,7 @@ jobs:
|
||||
- name: Yarn install macos
|
||||
if: matrix.os == 'macos-13'
|
||||
run: |
|
||||
yarn config set ignore-engines true
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
npm rebuild --platform=darwin --arch=arm64 sharp
|
||||
@@ -64,12 +65,14 @@ jobs:
|
||||
- name: Yarn install windows
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
yarn config set ignore-engines true
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
- name: Yarn install linux
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
yarn config set ignore-engines true
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
|
||||
117
.github/workflows/test-build.yml
vendored
Normal file
117
.github/workflows/test-build.yml
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
# test-build.yml
|
||||
|
||||
# Workflow's name
|
||||
name: Test Build
|
||||
|
||||
# Workflow's trigger
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
ELECTRON_OUTPUT_PATH: ./dist_electron
|
||||
|
||||
jobs:
|
||||
test-build:
|
||||
name: Test Build for ${{ matrix.os }}
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-13, windows-latest]
|
||||
|
||||
steps:
|
||||
- name: Set up git config
|
||||
run: |
|
||||
git config --global core.autocrlf false
|
||||
|
||||
- name: Check out git repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22.x'
|
||||
|
||||
- name: Install system deps
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils
|
||||
|
||||
- name: Install dependencies (macOS)
|
||||
if: matrix.os == 'macos-13'
|
||||
run: |
|
||||
yarn config set ignore-engines true
|
||||
yarn install
|
||||
npm rebuild --platform=darwin --arch=arm64 sharp
|
||||
|
||||
- name: Install dependencies (Windows)
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
yarn config set ignore-engines true
|
||||
yarn install
|
||||
|
||||
- name: Install dependencies (Linux)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
yarn config set ignore-engines true
|
||||
yarn install
|
||||
|
||||
- name: Build application (Windows)
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: yarn build:win
|
||||
env:
|
||||
ELECTRON_SKIP_NOTARIZATION: true
|
||||
|
||||
- name: Build application (macOS)
|
||||
if: matrix.os == 'macos-13'
|
||||
run: yarn build:mac
|
||||
env:
|
||||
ELECTRON_SKIP_NOTARIZATION: true
|
||||
|
||||
- name: Build application (Linux)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: yarn build:linux
|
||||
env:
|
||||
ELECTRON_SKIP_NOTARIZATION: true
|
||||
|
||||
- name: Upload Windows artifacts
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: piclist-windows-${{ github.sha }}
|
||||
path: |
|
||||
dist_electron/*.exe
|
||||
dist_electron/*.msi
|
||||
dist_electron/*.zip
|
||||
retention-days: 30
|
||||
|
||||
- name: Upload macOS artifacts
|
||||
if: matrix.os == 'macos-13'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: piclist-macos-${{ github.sha }}
|
||||
path: |
|
||||
dist_electron/*.dmg
|
||||
dist_electron/*.zip
|
||||
dist_electron/*.pkg
|
||||
retention-days: 30
|
||||
|
||||
- name: Upload Linux artifacts
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: piclist-linux-${{ github.sha }}
|
||||
path: |
|
||||
dist_electron/*.AppImage
|
||||
dist_electron/*.deb
|
||||
dist_electron/*.rpm
|
||||
dist_electron/*.tar.gz
|
||||
retention-days: 30
|
||||
|
||||
- name: List build output (Debug)
|
||||
run: |
|
||||
echo "Contents of dist_electron directory:"
|
||||
ls -la dist_electron/ || echo "dist_electron directory not found"
|
||||
69
.github/workflows/win_beta.yml
vendored
69
.github/workflows/win_beta.yml
vendored
@@ -1,69 +0,0 @@
|
||||
# main.yml
|
||||
|
||||
# Workflow's name
|
||||
name: Win Beta Build
|
||||
|
||||
# Workflow's trigger
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
ELECTRON_OUTPUT_PATH: ./dist_electron
|
||||
CSC_LINK: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
|
||||
# Workflow's jobs
|
||||
jobs:
|
||||
# job's id
|
||||
release:
|
||||
# job's name
|
||||
name: build and release electron app
|
||||
|
||||
# the type of machine to run the job on
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
# create a build matrix for jobs
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [windows-11-arm]
|
||||
|
||||
# create steps
|
||||
steps:
|
||||
# step1: check out repository
|
||||
- name: Check out git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# step3: install node env
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17.0'
|
||||
architecture: 'x64'
|
||||
|
||||
- name: Yarn install windows
|
||||
if: matrix.os == 'windows-11-arm'
|
||||
run: |
|
||||
yarn
|
||||
yarn run lint:fix
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
- name: Build & release app
|
||||
run: |
|
||||
yarn release
|
||||
yarn upload-beta
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
R2_SECRET_ID: ${{ secrets.R2_SECRET_ID }}
|
||||
R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }}
|
||||
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
ELECTRON_SKIP_NOTARIZATION: ${{ secrets.ELECTRON_SKIP_NOTARIZATION }}
|
||||
XCODE_APP_LOADER_EMAIL: ${{ secrets.XCODE_APP_LOADER_EMAIL }}
|
||||
XCODE_APP_LOADER_PASSWORD: ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
|
||||
XCODE_TEAM_ID: ${{ secrets.XCODE_TEAM_ID }}
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
67
.github/workflows/win_build.yml
vendored
67
.github/workflows/win_build.yml
vendored
@@ -1,67 +0,0 @@
|
||||
# main.yml
|
||||
|
||||
# Workflow's name
|
||||
name: Win Build
|
||||
|
||||
# Workflow's trigger
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
ELECTRON_OUTPUT_PATH: ./dist_electron
|
||||
CSC_LINK: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
|
||||
# Workflow's jobs
|
||||
jobs:
|
||||
# job's id
|
||||
release:
|
||||
# job's name
|
||||
name: build and release electron app
|
||||
|
||||
# the type of machine to run the job on
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
# create a build matrix for jobs
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [windows-latest]
|
||||
|
||||
# create steps
|
||||
steps:
|
||||
# step1: check out repository
|
||||
- name: Check out git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# step3: install node env
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18.17.0'
|
||||
|
||||
- name: Yarn install windows
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
yarn
|
||||
yarn global add xvfb-maybe
|
||||
|
||||
- name: Build & release app
|
||||
run: |
|
||||
yarn release
|
||||
yarn upload-dist
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
R2_SECRET_ID: ${{ secrets.R2_SECRET_ID }}
|
||||
R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }}
|
||||
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
ELECTRON_SKIP_NOTARIZATION: ${{ secrets.ELECTRON_SKIP_NOTARIZATION }}
|
||||
XCODE_APP_LOADER_EMAIL: ${{ secrets.XCODE_APP_LOADER_EMAIL }}
|
||||
XCODE_APP_LOADER_PASSWORD: ${{ secrets.XCODE_APP_LOADER_PASSWORD }}
|
||||
XCODE_TEAM_ID: ${{ secrets.XCODE_TEAM_ID }}
|
||||
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
|
||||
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
|
||||
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
@@ -3,15 +3,10 @@
|
||||
"appId": "com.kuingsmile.piclist",
|
||||
"afterSign": "scripts/notarize.cjs",
|
||||
"directories": {
|
||||
"output": "release/${version}",
|
||||
"output": "dist_electron",
|
||||
"buildResources": "build"
|
||||
},
|
||||
"files": [
|
||||
"out/**/*",
|
||||
"dist/**/*",
|
||||
"resources/**/*",
|
||||
"package.json"
|
||||
],
|
||||
"files": ["out/**/*", "dist/**/*", "resources/**/*", "package.json"],
|
||||
"extraResources": [
|
||||
{
|
||||
"from": "resources",
|
||||
@@ -59,11 +54,7 @@
|
||||
"target": [
|
||||
{
|
||||
"target": "default",
|
||||
"arch": [
|
||||
"universal",
|
||||
"x64",
|
||||
"arm64"
|
||||
]
|
||||
"arch": ["universal", "x64", "arm64"]
|
||||
}
|
||||
],
|
||||
"artifactName": "PicList-${version}-${arch}.${ext}"
|
||||
@@ -75,10 +66,7 @@
|
||||
"target": [
|
||||
{
|
||||
"target": "nsis",
|
||||
"arch": [
|
||||
"x64",
|
||||
"ia32"
|
||||
]
|
||||
"arch": ["x64", "ia32"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -90,10 +78,7 @@
|
||||
},
|
||||
"linux": {
|
||||
"icon": "resources/",
|
||||
"asarUnpack": [
|
||||
"**/node_modules/sharp/**",
|
||||
"**/node_modules/ssh2-no-cpu-features/**"
|
||||
]
|
||||
"asarUnpack": ["**/node_modules/sharp/**", "**/node_modules/ssh2-no-cpu-features/**"]
|
||||
},
|
||||
"snap": {
|
||||
"publish": ["github"]
|
||||
|
||||
304
package.json
304
package.json
@@ -1,152 +1,152 @@
|
||||
{
|
||||
"name": "piclist",
|
||||
"version": "2.9.9",
|
||||
"author": {
|
||||
"name": "Kuingsmile",
|
||||
"email": "pkukuing@gmail.com"
|
||||
},
|
||||
"description": "A powerful cloud storage manage tool.",
|
||||
"homepage": "https://piclist.cn",
|
||||
"bugs": {
|
||||
"url": "https://github.com/Kuingsmile/PicList/issues",
|
||||
"email": "pkukuing@gmail.com"
|
||||
},
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"main": "./out/main/index.js",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "electron-vite build && electron-builder",
|
||||
"build:win": "electron-vite build && electron-builder --win",
|
||||
"build:mac": "electron-vite build && electron-builder --mac",
|
||||
"build:linux": "electron-vite build && electron-builder --linux",
|
||||
"bump": "bump-version",
|
||||
"cz": "git-cz",
|
||||
"dev": "electron-vite dev --watch",
|
||||
"i18n": "node ./scripts/gen-i18n-types.js",
|
||||
"link": "node ./scripts/link.js",
|
||||
"lint": "eslint --ext .js,.jsx,.ts,.tsx,.vue src/",
|
||||
"lint:dpdm": "dpdm -T --tsconfig ./tsconfig.json --no-tree --no-warning --exit-code circular:1 src/main/index.ts",
|
||||
"lint:dpdm:renderer": "dpdm -T --tsconfig ./tsconfig.json --no-tree --no-warning --exit-code circular:1 src/renderer/main.ts",
|
||||
"lint:fix": "eslint --fix --ext .js,.jsx,.ts,.tsx,.vue src/",
|
||||
"ncu": "node ./scripts/check-dep.js",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"postuninstall": "electron-builder install-app-deps",
|
||||
"prebuild": "electron-vite build",
|
||||
"preview": "electron-vite preview",
|
||||
"release": "electron-vite build && electron-builder --publish always",
|
||||
"sha256": "node ./scripts/gen-sha256.js",
|
||||
"upload-beta": "node ./scripts/upload-beta.cjs",
|
||||
"upload-dist": "node ./scripts/upload-dist-to-r2.cjs"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.864.0",
|
||||
"@aws-sdk/lib-storage": "^3.864.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.864.0",
|
||||
"@electron-toolkit/preload": "^3.0.2",
|
||||
"@headlessui/vue": "^1.7.23",
|
||||
"@highlightjs/vue-plugin": "^2.1.2",
|
||||
"@nodelib/fs.walk": "^3.0.1",
|
||||
"@octokit/rest": "^22.0.0",
|
||||
"@piclist/i18n": "^2.0.0",
|
||||
"@piclist/store": "^3.0.0",
|
||||
"@smithy/node-http-handler": "^4.1.1",
|
||||
"@videojs-player/vue": "^1.0.0",
|
||||
"@vueuse/core": "^13.6.0",
|
||||
"ali-oss": "^6.23.0",
|
||||
"axios": "^1.11.0",
|
||||
"compare-versions": "^6.1.1",
|
||||
"cos-nodejs-sdk-v5": "^2.15.4",
|
||||
"dexie": "^3.2.4",
|
||||
"electron-updater": "^6.6.2",
|
||||
"fast-xml-parser": "^5.2.5",
|
||||
"form-data": "^4.0.4",
|
||||
"fs-extra": "^11.3.0",
|
||||
"got": "^14.4.7",
|
||||
"highlight.js": "^11.11.1",
|
||||
"hpagent": "^1.2.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"lucide-vue-next": "^0.539.0",
|
||||
"marked": "^16.1.1",
|
||||
"mime-types": "^2.1.35",
|
||||
"mitt": "^3.0.1",
|
||||
"multer": "^2.0.2",
|
||||
"node-ssh-no-cpu-features": "^2.0.0",
|
||||
"nodejs-file-downloader": "^4.13.0",
|
||||
"piclist": "file:../piclist-core",
|
||||
"pinia": "^3.0.3",
|
||||
"pinia-plugin-persistedstate": "^4.4.1",
|
||||
"proxy-agent": "^6.5.0",
|
||||
"qiniu": "7.14.0",
|
||||
"qrcode.vue": "^3.6.0",
|
||||
"querystring": "^0.2.1",
|
||||
"semver": "^7.7.2",
|
||||
"shell-path": "3.0.0",
|
||||
"ssh2-no-cpu-features": "^2.0.0",
|
||||
"upyun": "^3.4.6",
|
||||
"uuid": "^11.1.0",
|
||||
"video.js": "^8.23.4",
|
||||
"vue": "^3.5.18",
|
||||
"vue-i18n": "^11.1.11",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue3-lazyload": "^0.3.8",
|
||||
"webdav": "^5.8.0",
|
||||
"write-file-atomic": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/notarize": "^3.0.1",
|
||||
"@eslint/js": "^9.33.0",
|
||||
"@intlify/unplugin-vue-i18n": "^6.0.8",
|
||||
"@types/ali-oss": "^6.16.11",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/mime-types": "^2.1.4",
|
||||
"@types/multer": "^2.0.0",
|
||||
"@types/node": "^24.1.0",
|
||||
"@types/semver": "^7.5.6",
|
||||
"@types/tunnel": "^0.0.7",
|
||||
"@types/upyun": "^3.4.3",
|
||||
"@types/video.js": "^7.3.58",
|
||||
"@types/write-file-atomic": "^4.0.3",
|
||||
"@vitejs/plugin-vue": "^6.0.1",
|
||||
"@vue/eslint-config-prettier": "^10.2.0",
|
||||
"@vue/eslint-config-standard": "^9.0.1",
|
||||
"@vue/eslint-config-typescript": "^14.6.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"dpdm": "^3.14.0",
|
||||
"electron": "^36.7.3",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-devtools-installer": "^4.0.0",
|
||||
"electron-vite": "^4.0.0",
|
||||
"eslint": "^9.33.0",
|
||||
"eslint-plugin-prettier": "^5.5.4",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"eslint-plugin-unicorn": "^60.0.0",
|
||||
"eslint-plugin-vue": "^10.4.0",
|
||||
"husky": "^9.1.7",
|
||||
"node-bump-version": "^2.0.0",
|
||||
"npm-check-updates": "^18.0.2",
|
||||
"prettier": "^3.6.2",
|
||||
"stylus": "^0.64.0",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.39.0",
|
||||
"vite": "^7.1.0",
|
||||
"vue-eslint-parser": "^10.2.0",
|
||||
"vue-tsc": "^3.0.5"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "./node_modules/cz-customizable"
|
||||
},
|
||||
"cz-customizable": {
|
||||
"config": "./node_modules/node-bump-version/.cz-config.cjs"
|
||||
}
|
||||
},
|
||||
"commitlint": {
|
||||
"extends": [
|
||||
"./node_modules/node-bump-version/dist/commitlint-node/index.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"name": "piclist",
|
||||
"version": "2.9.9",
|
||||
"author": {
|
||||
"name": "Kuingsmile",
|
||||
"email": "pkukuing@gmail.com"
|
||||
},
|
||||
"description": "A powerful cloud storage manage tool.",
|
||||
"homepage": "https://piclist.cn",
|
||||
"bugs": {
|
||||
"url": "https://github.com/Kuingsmile/PicList/issues",
|
||||
"email": "pkukuing@gmail.com"
|
||||
},
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"main": "./out/main/index.js",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "electron-vite build && electron-builder",
|
||||
"build:win": "electron-vite build && electron-builder --win",
|
||||
"build:mac": "electron-vite build && electron-builder --mac",
|
||||
"build:linux": "electron-vite build && electron-builder --linux",
|
||||
"bump": "bump-version",
|
||||
"cz": "git-cz",
|
||||
"dev": "electron-vite dev --watch",
|
||||
"i18n": "node ./scripts/gen-i18n-types.js",
|
||||
"link": "node ./scripts/link.js",
|
||||
"lint": "eslint --ext .js,.jsx,.ts,.tsx,.vue src/",
|
||||
"lint:dpdm": "dpdm -T --tsconfig ./tsconfig.json --no-tree --no-warning --exit-code circular:1 src/main/index.ts",
|
||||
"lint:dpdm:renderer": "dpdm -T --tsconfig ./tsconfig.json --no-tree --no-warning --exit-code circular:1 src/renderer/main.ts",
|
||||
"lint:fix": "eslint --fix --ext .js,.jsx,.ts,.tsx,.vue src/",
|
||||
"ncu": "node ./scripts/check-dep.js",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"postuninstall": "electron-builder install-app-deps",
|
||||
"prebuild": "electron-vite build",
|
||||
"preview": "electron-vite preview",
|
||||
"release": "electron-vite build && electron-builder --publish always",
|
||||
"sha256": "node ./scripts/gen-sha256.js",
|
||||
"upload-beta": "node ./scripts/upload-beta.cjs",
|
||||
"upload-dist": "node ./scripts/upload-dist-to-r2.cjs"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.864.0",
|
||||
"@aws-sdk/lib-storage": "^3.864.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.864.0",
|
||||
"@electron-toolkit/preload": "^3.0.2",
|
||||
"@headlessui/vue": "^1.7.23",
|
||||
"@highlightjs/vue-plugin": "^2.1.2",
|
||||
"@nodelib/fs.walk": "^3.0.1",
|
||||
"@octokit/rest": "^22.0.0",
|
||||
"@piclist/i18n": "^2.0.0",
|
||||
"@piclist/store": "^3.0.0",
|
||||
"@smithy/node-http-handler": "^4.1.1",
|
||||
"@videojs-player/vue": "^1.0.0",
|
||||
"@vueuse/core": "^13.6.0",
|
||||
"ali-oss": "^6.23.0",
|
||||
"axios": "^1.11.0",
|
||||
"compare-versions": "^6.1.1",
|
||||
"cos-nodejs-sdk-v5": "^2.15.4",
|
||||
"dexie": "^3.2.4",
|
||||
"electron-updater": "^6.6.2",
|
||||
"fast-xml-parser": "^5.2.5",
|
||||
"form-data": "^4.0.4",
|
||||
"fs-extra": "^11.3.1",
|
||||
"got": "^14.4.7",
|
||||
"highlight.js": "^11.11.1",
|
||||
"hpagent": "^1.2.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"lucide-vue-next": "^0.539.0",
|
||||
"marked": "^16.1.1",
|
||||
"mime-types": "^3.0.1",
|
||||
"mitt": "^3.0.1",
|
||||
"multer": "^2.0.2",
|
||||
"node-ssh-no-cpu-features": "^2.0.0",
|
||||
"nodejs-file-downloader": "^4.13.0",
|
||||
"piclist": "file:../piclist-core",
|
||||
"pinia": "^3.0.3",
|
||||
"pinia-plugin-persistedstate": "^4.4.1",
|
||||
"proxy-agent": "^6.5.0",
|
||||
"qiniu": "7.14.0",
|
||||
"qrcode.vue": "^3.6.0",
|
||||
"querystring": "^0.2.1",
|
||||
"semver": "^7.7.2",
|
||||
"shell-path": "3.0.0",
|
||||
"ssh2-no-cpu-features": "^2.0.0",
|
||||
"upyun": "^3.4.6",
|
||||
"uuid": "^11.1.0",
|
||||
"video.js": "^8.23.4",
|
||||
"vue": "^3.5.18",
|
||||
"vue-i18n": "^11.1.11",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue3-lazyload": "^0.3.8",
|
||||
"webdav": "^5.8.0",
|
||||
"write-file-atomic": "^6.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/notarize": "^3.0.2",
|
||||
"@eslint/js": "^9.33.0",
|
||||
"@intlify/unplugin-vue-i18n": "^6.0.8",
|
||||
"@types/ali-oss": "^6.16.11",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/mime-types": "^3.0.1",
|
||||
"@types/multer": "^2.0.0",
|
||||
"@types/node": "^24.1.0",
|
||||
"@types/semver": "^7.5.6",
|
||||
"@types/tunnel": "^0.0.7",
|
||||
"@types/upyun": "^3.4.3",
|
||||
"@types/video.js": "^7.3.58",
|
||||
"@types/write-file-atomic": "^4.0.3",
|
||||
"@vitejs/plugin-vue": "^6.0.1",
|
||||
"@vue/eslint-config-prettier": "^10.2.0",
|
||||
"@vue/eslint-config-standard": "^9.0.1",
|
||||
"@vue/eslint-config-typescript": "^14.6.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"dpdm": "^3.14.0",
|
||||
"electron": "^36.7.3",
|
||||
"electron-builder": "^26.0.12",
|
||||
"electron-devtools-installer": "^4.0.0",
|
||||
"electron-vite": "^4.0.0",
|
||||
"eslint": "^9.33.0",
|
||||
"eslint-plugin-prettier": "^5.5.4",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"eslint-plugin-unicorn": "^60.0.0",
|
||||
"eslint-plugin-vue": "^10.4.0",
|
||||
"husky": "^9.1.7",
|
||||
"node-bump-version": "^2.0.0",
|
||||
"npm-check-updates": "^18.0.2",
|
||||
"prettier": "^3.6.2",
|
||||
"stylus": "^0.64.0",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.39.0",
|
||||
"vite": "^7.1.0",
|
||||
"vue-eslint-parser": "^10.2.0",
|
||||
"vue-tsc": "^3.0.5"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "./node_modules/cz-customizable"
|
||||
},
|
||||
"cz-customizable": {
|
||||
"config": "./node_modules/node-bump-version/.cz-config.cjs"
|
||||
}
|
||||
},
|
||||
"commitlint": {
|
||||
"extends": [
|
||||
"./node_modules/node-bump-version/dist/commitlint-node/index.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
29
yarn.lock
29
yarn.lock
@@ -1632,10 +1632,10 @@
|
||||
fs-extra "^9.0.1"
|
||||
promise-retry "^2.0.1"
|
||||
|
||||
"@electron/notarize@^3.0.1":
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-3.0.1.tgz#ad766f1ed6c2fd4cd4520f91c116fa93949555ca"
|
||||
integrity sha512-5xzcOwvMGNjkSk7s0sPx4XcKWei9FYk4f2S5NkSorWW0ce5yktTOtlPa0W5yQHcREILh+C3JdH+t+M637g9TmQ==
|
||||
"@electron/notarize@^3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-3.0.2.tgz#e6afb791f29fd92efed56035cf2d4f2e69ca3648"
|
||||
integrity sha512-3LCARsJXOxEzzbmKFu/I2oq1eroyLdLBY2/J5ysCiPQ8i58TVIpQ7UdOZmthpppy1aBEiy+YGLUkxz5UMDRfgg==
|
||||
dependencies:
|
||||
debug "^4.4.0"
|
||||
promise-retry "^2.0.1"
|
||||
@@ -3918,10 +3918,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.20.tgz#1ca77361d7363432d29f5e55950d9ec1e1c6ea93"
|
||||
integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==
|
||||
|
||||
"@types/mime-types@^2.1.4":
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.4.tgz#93a1933e24fed4fb9e4adc5963a63efcbb3317a2"
|
||||
integrity sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==
|
||||
"@types/mime-types@^3.0.1":
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-3.0.1.tgz#7fb74656179257c27cd48aa503eb918811727115"
|
||||
integrity sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==
|
||||
|
||||
"@types/mime@^1":
|
||||
version "1.3.2"
|
||||
@@ -7368,6 +7368,15 @@ fs-extra@^11.3.0:
|
||||
jsonfile "^6.0.1"
|
||||
universalify "^2.0.0"
|
||||
|
||||
fs-extra@^11.3.1:
|
||||
version "11.3.1"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.1.tgz#ba7a1f97a85f94c6db2e52ff69570db3671d5a74"
|
||||
integrity sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^6.0.1"
|
||||
universalify "^2.0.0"
|
||||
|
||||
fs-extra@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
|
||||
@@ -9045,7 +9054,7 @@ mime-db@^1.54.0:
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5"
|
||||
integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
|
||||
|
||||
mime-types@3.0.1:
|
||||
mime-types@3.0.1, mime-types@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce"
|
||||
integrity sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==
|
||||
@@ -9059,7 +9068,7 @@ mime-types@^2.1.12, mime-types@~2.1.24:
|
||||
dependencies:
|
||||
mime-db "1.51.0"
|
||||
|
||||
mime-types@^2.1.15, mime-types@^2.1.24, mime-types@^2.1.27, mime-types@^2.1.35, mime-types@~2.1.19:
|
||||
mime-types@^2.1.15, mime-types@^2.1.24, mime-types@^2.1.27, mime-types@~2.1.19:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
|
||||
Reference in New Issue
Block a user