Skip to content

Commit 4649eea

Browse files
simonhampPeteBishwhipgwleuverink
authored
Extra files (#230)
* Support for shipping extra files * Add extras path to PHP environment * Fix path * Formatting * Change path * Change path * fix `npm install` error during plugin build * specify head ref in auto-commit-action * revert: specify head ref in auto-commit-action * revert auto-commit-action to v5 * Build plugin * explicitly pass builder config * fix paths * Build plugin * don't include 'extras' in asar archive * use auto-commit v6 --------- Co-authored-by: Peter Bishop <[email protected]> Co-authored-by: gwleuverink <[email protected]> Co-authored-by: gwleuverink <[email protected]>
1 parent a133a2f commit 4649eea

File tree

6 files changed

+27
-11
lines changed

6 files changed

+27
-11
lines changed

.github/workflows/build-plugin.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ jobs:
3636
working-directory: ./resources/js/
3737
run: npm run plugin:build
3838

39-
4039
- name: Commit changes
4140
if: github.event_name == 'pull_request'
4241
uses: stefanzweifel/git-auto-commit-action@v6

resources/js/electron-builder.js renamed to resources/js/electron-builder.mjs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default {
7474
3: 'arm64'
7575
}[context.arch];
7676

77-
if(arch === undefined) {
77+
if (arch === undefined) {
7878
console.error('Cannot build PHP for unsupported architecture');
7979
process.exit(1);
8080
}
@@ -136,6 +136,15 @@ export default {
136136
version: appVersion,
137137
author: appAuthor,
138138
},
139+
extraFiles: [
140+
{
141+
from: join(process.env.APP_PATH, 'extras'),
142+
to: 'extras',
143+
filter: [
144+
'**/*'
145+
]
146+
}
147+
],
139148
...updaterEnabled
140149
? { publish: updaterConfig }
141150
: {}

resources/js/electron-plugin/dist/server/php.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ function getDefaultEnvironmentVariables(secret, apiPort) {
195195
NATIVEPHP_PICTURES_PATH: getPath('pictures'),
196196
NATIVEPHP_VIDEOS_PATH: getPath('videos'),
197197
NATIVEPHP_RECENT_PATH: getPath('recent'),
198+
NATIVEPHP_EXTRAS_PATH: app.isPackaged
199+
? join(process.resourcesPath, '..', 'extras')
200+
: join(process.env.APP_PATH, 'extras'),
198201
};
199202
if (secret && apiPort) {
200203
variables.NATIVEPHP_API_URL = `http://localhost:${apiPort}/api/`;

resources/js/electron-plugin/src/server/php.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ interface EnvironmentVariables {
265265
NATIVEPHP_PICTURES_PATH: string;
266266
NATIVEPHP_VIDEOS_PATH: string;
267267
NATIVEPHP_RECENT_PATH: string;
268+
NATIVEPHP_EXTRAS_PATH: string;
268269
// Cache variables
269270
APP_SERVICES_CACHE?: string;
270271
APP_PACKAGES_CACHE?: string;
@@ -293,6 +294,9 @@ function getDefaultEnvironmentVariables(secret?: string, apiPort?: number): Envi
293294
NATIVEPHP_PICTURES_PATH: getPath('pictures'),
294295
NATIVEPHP_VIDEOS_PATH: getPath('videos'),
295296
NATIVEPHP_RECENT_PATH: getPath('recent'),
297+
NATIVEPHP_EXTRAS_PATH: app.isPackaged
298+
? join(process.resourcesPath, '..', 'extras')
299+
: join(process.env.APP_PATH, 'extras'),
296300
};
297301

298302
// Only if the server has already started

resources/js/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@
1616
"dev": "cross-env node php.js && electron-vite dev --watch",
1717
"build": "electron-vite build",
1818
"postinstall": "node ./node_modules/electron-builder/cli.js install-app-deps",
19-
"publish:all": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js --win --mac --linux --config --x64 --arm64 -p always",
19+
"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",
2020
"publish:win": "cross-env npm run publish:win-x64",
21-
"publish:win-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --win --config --x64",
21+
"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",
2222
"publish:mac": "cross-env npm run publish:mac-arm64 -- --x64",
23-
"publish:mac-arm64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --mac --config --arm64 -p always",
24-
"publish:mac-x86": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p always --mac --config --x64 -p always",
23+
"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",
24+
"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",
2525
"publish:linux": "cross-env npm run publish:linux-x64",
26-
"publish:linux-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js --linux --config --x64 -p always",
26+
"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",
2727
"build:all": "cross-env npm run build:mac && cross-env npm run build:win && cross-env npm run build:linux",
2828
"build:win": "cross-env npm run build:win-x64",
29-
"build:win-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --win --config --x64",
29+
"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",
3030
"build:mac": "cross-env npm run build:mac-arm64 -- --x64",
31-
"build:mac-arm64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --mac --config --arm64",
32-
"build:mac-x86": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --mac --config --x64",
31+
"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",
32+
"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",
3333
"build:linux": "cross-env npm run build:linux-x64",
34-
"build:linux-x64": "cross-env npm run build && cross-env node ./node_modules/electron-builder/cli.js -p never --linux --config --x64",
34+
"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",
3535
"plugin:build": "rimraf electron-plugin/dist/ && node node_modules/typescript/bin/tsc --project electron-plugin",
3636
"plugin:build:watch": "npm run plugin:build -- -W",
3737
"plugin:test": "vitest run --root electron-plugin --coverage.all",

src/Traits/CopiesToBuildDirectory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ abstract protected function sourcePath(string $path = ''): string;
2929
'dist',
3030
'build',
3131
'temp',
32+
'extras',
3233
'docker',
3334
'packages',
3435
'**/.github',

0 commit comments

Comments
 (0)