diff --git a/.github/workflows/build-plugin.yml b/.github/workflows/build-plugin.yml index 7c31863c..607ea720 100644 --- a/.github/workflows/build-plugin.yml +++ b/.github/workflows/build-plugin.yml @@ -36,7 +36,6 @@ 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 diff --git a/resources/js/electron-builder.js b/resources/js/electron-builder.mjs similarity index 95% rename from resources/js/electron-builder.js rename to resources/js/electron-builder.mjs index da1daaba..2236a2da 100644 --- a/resources/js/electron-builder.js +++ b/resources/js/electron-builder.mjs @@ -74,7 +74,7 @@ export default { 3: 'arm64' }[context.arch]; - if(arch === undefined) { + if (arch === undefined) { console.error('Cannot build PHP for unsupported architecture'); process.exit(1); } @@ -136,6 +136,15 @@ export default { version: appVersion, author: appAuthor, }, + extraFiles: [ + { + from: join(process.env.APP_PATH, 'extras'), + to: 'extras', + filter: [ + '**/*' + ] + } + ], ...updaterEnabled ? { publish: updaterConfig } : {} diff --git a/resources/js/electron-plugin/dist/server/php.js b/resources/js/electron-plugin/dist/server/php.js index b0f5585e..50123a67 100644 --- a/resources/js/electron-plugin/dist/server/php.js +++ b/resources/js/electron-plugin/dist/server/php.js @@ -195,6 +195,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(process.resourcesPath, '..', 'extras') + : join(process.env.APP_PATH, '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 562b258d..e66ef857 100644 --- a/resources/js/electron-plugin/src/server/php.ts +++ b/resources/js/electron-plugin/src/server/php.ts @@ -265,6 +265,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; @@ -293,6 +294,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(process.resourcesPath, '..', 'extras') + : join(process.env.APP_PATH, 'extras'), }; // Only if the server has already started diff --git a/resources/js/package.json b/resources/js/package.json index 30d691ee..d029adb3 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", diff --git a/src/Traits/CopiesToBuildDirectory.php b/src/Traits/CopiesToBuildDirectory.php index d6a36881..26cd3f3a 100644 --- a/src/Traits/CopiesToBuildDirectory.php +++ b/src/Traits/CopiesToBuildDirectory.php @@ -29,6 +29,7 @@ abstract protected function sourcePath(string $path = ''): string; 'dist', 'build', 'temp', + 'extras', 'docker', 'packages', '**/.github',