diff --git a/.github/workflows/publish-linux.yml b/.github/workflows/publish-linux.yml
index d7368f36..f78d6d82 100644
--- a/.github/workflows/publish-linux.yml
+++ b/.github/workflows/publish-linux.yml
@@ -14,17 +14,15 @@ jobs:
- name: Checkout git repo
uses: actions/checkout@v1
- - name: Install Node and NPM
- uses: actions/setup-node@v1
+ - name: Install Node and PNPM
+ uses: pnpm/action-setup@v4
with:
- node-version: 18
- cache: npm
+ version: 9
- name: Install dependencies
- run: |
- npm install --legacy-peer-deps
+ run: pnpm install
- - name: Publish releases
+ - name: Build and Publish releases
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
@@ -33,12 +31,11 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run postinstall
- npm run build
- npm exec electron-builder -- --publish always --linux
- on_retry_command: npm cache clean --force
+ pnpm run package:linux
+ pnpm run publish:linux
+ on_retry_command: pnpm cache delete
- - name: Publish releases (arm64)
+ - name: Build and Publish releases (arm64)
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
@@ -47,7 +44,6 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run postinstall
- npm run build
- npm exec electron-builder -- --publish always --arm64
- on_retry_command: npm cache clean --force
+ pnpm run package:linux-arm64
+ pnpm run publish:linux-arm64
+ on_retry_command: pnpm cache delete
diff --git a/.github/workflows/publish-macos.yml b/.github/workflows/publish-macos.yml
index 6ff70d13..e34f8e9f 100644
--- a/.github/workflows/publish-macos.yml
+++ b/.github/workflows/publish-macos.yml
@@ -14,17 +14,15 @@ jobs:
- name: Checkout git repo
uses: actions/checkout@v1
- - name: Install Node and NPM
- uses: actions/setup-node@v1
+ - name: Install Node and PNPM
+ uses: pnpm/action-setup@v4
with:
- node-version: 18
- cache: npm
+ version: 9
- name: Install dependencies
- run: |
- npm install --legacy-peer-deps
+ run: pnpm install
- - name: Publish releases
+ - name: Build and Publish releases
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
@@ -33,7 +31,6 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run postinstall
- npm run build
- npm exec electron-builder -- --publish always --mac
- on_retry_command: npm cache clean --force
+ pnpm run package:mac
+ pnpm run publish:mac
+ on_retry_command: pnpm cache delete
diff --git a/.github/workflows/publish-pr.yml b/.github/workflows/publish-pr.yml
index a6f12b06..3fcc5d31 100644
--- a/.github/workflows/publish-pr.yml
+++ b/.github/workflows/publish-pr.yml
@@ -17,15 +17,13 @@ jobs:
- name: Checkout git repo
uses: actions/checkout@v3
- - name: Install Node and NPM
- uses: actions/setup-node@v3
+ - name: Install Node and PNPM
+ uses: pnpm/action-setup@v4
with:
- node-version: 18
- cache: npm
+ version: 9
- name: Install dependencies
- run: |
- npm install --legacy-peer-deps
+ run: pnpm install
- name: Build for Windows
if: ${{ matrix.os == 'windows-latest' }}
@@ -35,7 +33,7 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run package:pr:windows
+ pnpm run package:win:pr
- name: Build for Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
@@ -45,7 +43,7 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run package:pr:linux
+ pnpm run package:linux:pr
- name: Build for MacOS
if: ${{ matrix.os == 'macos-latest' }}
@@ -55,41 +53,41 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run package:pr:macos
+ pnpm run package:mac:pr
- name: Zip Windows Binaries
if: ${{ matrix.os == 'windows-latest' }}
shell: pwsh
run: |
- Compress-Archive -Path "release/build/*.exe" -DestinationPath "release/build/windows-binaries.zip" -Force
+ Compress-Archive -Path "dist/*.exe" -DestinationPath "dist/windows-binaries.zip" -Force
- name: Zip Linux Binaries
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
- zip -r release/build/linux-binaries.zip release/build/*.{AppImage,deb,rpm}
+ zip -r dist/linux-binaries.zip dist/*.{AppImage,deb,rpm}
- name: Zip MacOS Binaries
if: ${{ matrix.os == 'macos-latest' }}
run: |
- zip -r release/build/macos-binaries.zip release/build/*.dmg
+ zip -r dist/macos-binaries.zip dist/*.dmg
- name: Upload Windows Binaries
if: ${{ matrix.os == 'windows-latest' }}
uses: actions/upload-artifact@v4
with:
name: windows-binaries
- path: release/build/windows-binaries.zip
+ path: dist/windows-binaries.zip
- name: Upload Linux Binaries
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: actions/upload-artifact@v4
with:
name: linux-binaries
- path: release/build/linux-binaries.zip
+ path: dist/linux-binaries.zip
- name: Upload MacOS Binaries
if: ${{ matrix.os == 'macos-latest' }}
uses: actions/upload-artifact@v4
with:
name: macos-binaries
- path: release/build/macos-binaries.zip
+ path: dist/macos-binaries.zip
diff --git a/.github/workflows/publish-windows.yml b/.github/workflows/publish-windows.yml
index 2edf16a2..13bd7604 100644
--- a/.github/workflows/publish-windows.yml
+++ b/.github/workflows/publish-windows.yml
@@ -14,17 +14,15 @@ jobs:
- name: Checkout git repo
uses: actions/checkout@v1
- - name: Install Node and NPM
- uses: actions/setup-node@v1
+ - name: Install Node and PNPM
+ uses: pnpm/action-setup@v4
with:
- node-version: 18
- cache: npm
+ version: 9
- name: Install dependencies
- run: |
- npm install --legacy-peer-deps
+ run: pnpm install
- - name: Publish releases
+ - name: Build and Publish releases
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
@@ -33,7 +31,6 @@ jobs:
max_attempts: 3
retry_on: error
command: |
- npm run postinstall
- npm run build
- npm exec electron-builder -- --publish always --win
- on_retry_command: npm cache clean --force
+ pnpm run package:win
+ pnpm run publish:win
+ on_retry_command: pnpm cache delete
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 34e13e03..a19bd625 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -14,21 +14,13 @@ jobs:
- name: Check out Git repository
uses: actions/checkout@v1
- - name: Install Node.js and NPM
- uses: actions/setup-node@v2
+ - name: Install Node.js and PNPM
+ uses: pnpm/action-setup@v4
with:
- node-version: 16
- cache: npm
+ version: 9
- - name: npm install
- run: |
- npm install --legacy-peer-deps
+ - name: Install dependencies
+ run: pnpm install
- - name: npm test
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- npm run lint
- npm run package
- npm exec tsc
- npm test
+ - name: Lint Files
+ run: pnpm run lint
diff --git a/assets/entitlements.mac.plist b/assets/entitlements.mac.plist
index dad3e20e..38c887b2 100644
--- a/assets/entitlements.mac.plist
+++ b/assets/entitlements.mac.plist
@@ -2,9 +2,11 @@
+ com.apple.security.cs.allow-jit
+
com.apple.security.cs.allow-unsigned-executable-memory
- com.apple.security.cs.allow-jit
+ com.apple.security.cs.allow-dyld-environment-variables
diff --git a/build/entitlements.mac.plist b/build/entitlements.mac.plist
deleted file mode 100644
index 38c887b2..00000000
--- a/build/entitlements.mac.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- com.apple.security.cs.allow-jit
-
- com.apple.security.cs.allow-unsigned-executable-memory
-
- com.apple.security.cs.allow-dyld-environment-variables
-
-
-
diff --git a/build/icon.icns b/build/icon.icns
deleted file mode 100644
index 93da8771..00000000
Binary files a/build/icon.icns and /dev/null differ
diff --git a/build/icon.ico b/build/icon.ico
deleted file mode 100644
index 1e9d1e04..00000000
Binary files a/build/icon.ico and /dev/null differ
diff --git a/build/icon.png b/build/icon.png
deleted file mode 100644
index f364f2c1..00000000
Binary files a/build/icon.png and /dev/null differ
diff --git a/electron-builder.yml b/electron-builder.yml
index 5f303872..a0b2bb23 100644
--- a/electron-builder.yml
+++ b/electron-builder.yml
@@ -3,7 +3,7 @@ productName: Feishin
artifactName: ${productName}-${version}-${os}-setup.${ext}
electronVersion: 35.1.5
directories:
- buildResources: build
+ buildResources: assets
files:
- '!**/.vscode/*'
- '!src/*'
@@ -33,8 +33,8 @@ mac:
icon: assets/icons/icon.icns
type: distribution
hardenedRuntime: true
- entitlements: build/entitlements.mac.plist
- entitlementsInherit: build/entitlements.mac.plist
+ entitlements: assets/entitlements.mac.plist
+ entitlementsInherit: assets/entitlements.mac.plist
gatekeeperAssess: false
notarize: false
dmg:
diff --git a/electron.vite.config.ts b/electron.vite.config.ts
index 04ad65dd..79f98a37 100644
--- a/electron.vite.config.ts
+++ b/electron.vite.config.ts
@@ -9,7 +9,6 @@ const currentOSEnv = process.platform;
const config: UserConfig = {
main: {
build: {
- outDir: './release/app/dist/main',
rollupOptions: {
external: ['source-map-support'],
},
@@ -35,9 +34,6 @@ const config: UserConfig = {
},
},
preload: {
- build: {
- outDir: './release/app/dist/preload',
- },
plugins: [externalizeDepsPlugin()],
resolve: {
alias: {
@@ -47,9 +43,6 @@ const config: UserConfig = {
},
},
renderer: {
- build: {
- outDir: './release/app/dist/web',
- },
css: {
modules: {
generateScopedName: '[name]__[local]__[hash:base64:5]',
diff --git a/package.json b/package.json
index 1263a78a..ddf87791 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"name": "jeffvli",
"url": "https://github.com/jeffvli/"
},
- "main": "./release/app/dist/main/index.js",
+ "main": "./out/main/index.js",
"scripts": {
"build": "pnpm run typecheck && electron-vite build",
"dev": "electron-vite dev",
@@ -27,11 +27,20 @@
"i18next": "i18next -c src/i18n/i18next-parser.config.js",
"postinstall": "electron-builder install-app-deps",
"lint": "eslint --cache --fix .",
+ "lint:fix": "eslint --cache --fix .",
"package": "pnpm run build && electron-builder",
"package:dev": "pnpm run build && electron-builder --dir",
- "package:linux": "electron-vite build && electron-builder --linux",
- "package:mac": "electron-vite build && electron-builder --mac",
+ "package:linux": "pnpm run build && electron-builder --linux",
+ "package:linux-arm64:pr": "pnpm run build && electron-builder --linux --arm64 --publish never",
+ "package:linux:pr": "pnpm run build && electron-builder --linux --publish never",
+ "package:mac": "pnpm run build && electron-builder --mac",
+ "package:mac:pr": "pnpm run build && electron-builder --mac --publish never",
"package:win": "pnpm run build && electron-builder --win",
+ "package:win:pr": "pnpm run build && electron-builder --win --publish never",
+ "publish:linux": "electron-builder --publish always --linux",
+ "publish:linux-arm64": "electron-builder --publish always --linux --arm64",
+ "publish:mac": "electron-builder --publish always --mac",
+ "publish:win": "electron-builder --publish always --win",
"start": "electron-vite preview",
"typecheck": "pnpm run typecheck:node && pnpm run typecheck:web",
"typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",