diff --git a/.github/workflows/build-plugin.yml b/.github/workflows/build-plugin.yml index 7d00c675..c68e7096 100644 --- a/.github/workflows/build-plugin.yml +++ b/.github/workflows/build-plugin.yml @@ -5,9 +5,9 @@ name: plugin-build on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] workflow_dispatch: jobs: @@ -33,10 +33,9 @@ jobs: working-directory: ./resources/js/ run: npm run plugin:build - - name: Commit changes if: github.event_name == 'pull_request' - uses: stefanzweifel/git-auto-commit-action@v6 + uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: Build plugin @@ -45,7 +44,7 @@ jobs: uses: peter-evans/create-pull-request@v7 with: commit-message: Build plugin - title: 'Auto: Build plugin assets' + title: "Auto: Build plugin assets" body: | This PR contains the latest built plugin assets. diff --git a/resources/js/electron-builder.js b/resources/js/electron-builder.mjs similarity index 93% rename from resources/js/electron-builder.js rename to resources/js/electron-builder.mjs index 8a8a9a2f..574583c5 100644 --- a/resources/js/electron-builder.js +++ b/resources/js/electron-builder.mjs @@ -67,7 +67,7 @@ export default { 3: 'arm64' }[context.arch]; - if(arch === undefined) { + if (arch === undefined) { console.error('Cannot build PHP for unsupported architecture'); process.exit(1); } @@ -121,5 +121,14 @@ export default { homepage: appUrl, version: appVersion, author: appAuthor, - } + }, + extraFiles: [ + { + from: join(process.env.APP_PATH, 'nativephp', 'extras'), + to: 'extras', + filter: [ + '**/*' + ] + } + ] }; diff --git a/resources/js/electron-plugin/dist/server/php.js b/resources/js/electron-plugin/dist/server/php.js index 0d65dc55..5858de80 100644 --- a/resources/js/electron-plugin/dist/server/php.js +++ b/resources/js/electron-plugin/dist/server/php.js @@ -173,6 +173,9 @@ function getDefaultEnvironmentVariables(secret, apiPort) { NATIVEPHP_PICTURES_PATH: getPath('pictures'), NATIVEPHP_VIDEOS_PATH: getPath('videos'), NATIVEPHP_RECENT_PATH: getPath('recent'), + NATIVEPHP_EXTRAS_PATH: app.isPackaged + ? join(app.getAppPath(), 'nativephp', 'extras') + : join(app.getAppPath(), '..', '..', 'extras'), }; if (secret && apiPort) { variables.NATIVEPHP_API_URL = `http://localhost:${apiPort}/api/`; diff --git a/resources/js/electron-plugin/src/server/php.ts b/resources/js/electron-plugin/src/server/php.ts index e6301ad9..f4e4ad85 100644 --- a/resources/js/electron-plugin/src/server/php.ts +++ b/resources/js/electron-plugin/src/server/php.ts @@ -233,6 +233,7 @@ interface EnvironmentVariables { NATIVEPHP_PICTURES_PATH: string; NATIVEPHP_VIDEOS_PATH: string; NATIVEPHP_RECENT_PATH: string; + NATIVEPHP_EXTRAS_PATH: string; // Cache variables APP_SERVICES_CACHE?: string; APP_PACKAGES_CACHE?: string; @@ -261,6 +262,9 @@ function getDefaultEnvironmentVariables(secret?: string, apiPort?: number): Envi NATIVEPHP_PICTURES_PATH: getPath('pictures'), NATIVEPHP_VIDEOS_PATH: getPath('videos'), NATIVEPHP_RECENT_PATH: getPath('recent'), + NATIVEPHP_EXTRAS_PATH: app.isPackaged + ? join(app.getAppPath(), 'nativephp', 'extras') + : join(app.getAppPath(), '..', '..', 'extras'), }; // Only if the server has already started diff --git a/resources/js/package.json b/resources/js/package.json index 63a82388..5b5301f4 100644 --- a/resources/js/package.json +++ b/resources/js/package.json @@ -16,22 +16,22 @@ "dev": "cross-env node php.js && electron-vite dev --watch", "build": "electron-vite build", "postinstall": "node ./node_modules/electron-builder/cli.js install-app-deps", - "publish:all": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js --win --mac --linux --config --x64 --arm64 -p always", + "publish:all": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js --win --mac --linux --config electron-builder.mjs --x64 --arm64 -p always", "publish:win": "cross-env npm run publish:win-x64", - "publish:win-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --win --config --x64", + "publish:win-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --win --config electron-builder.mjs --x64", "publish:mac": "cross-env npm run publish:mac-arm64 -- --x64", - "publish:mac-arm64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --mac --config --arm64 -p always", - "publish:mac-x86": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --mac --config --x64 -p always", + "publish:mac-arm64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --mac --config electron-builder.mjs --arm64 -p always", + "publish:mac-x86": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --mac --config electron-builder.mjs --x64 -p always", "publish:linux": "cross-env npm run publish:linux-x64", - "publish:linux-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js --linux --config --x64 -p always", + "publish:linux-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js --linux --config electron-builder.mjs --x64 -p always", "build:all": "cross-env npm run build:mac && cross-env npm run build:win && cross-env npm run build:linux", "build:win": "cross-env npm run build:win-x64", - "build:win-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --win --config --x64", + "build:win-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --win --config electron-builder.mjs --x64", "build:mac": "cross-env npm run build:mac-arm64 -- --x64", - "build:mac-arm64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --mac --config --arm64", - "build:mac-x86": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --mac --config --x64", + "build:mac-arm64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --mac --config electron-builder.mjs --arm64", + "build:mac-x86": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --mac --config electron-builder.mjs --x64", "build:linux": "cross-env npm run build:linux-x64", - "build:linux-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --linux --config --x64", + "build:linux-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --linux --config electron-builder.mjs --x64", "plugin:build": "rimraf electron-plugin/dist/ && node node_modules/typescript/bin/tsc --project electron-plugin", "plugin:build:watch": "npm run plugin:build -- -W", "plugin:test": "vitest run --root electron-plugin --coverage.all",