File tree Expand file tree Collapse file tree 3 files changed +30
-4
lines changed Expand file tree Collapse file tree 3 files changed +30
-4
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,10 @@ export type {
88
99export type Files = Map < string , string > ;
1010
11- export type FileTransform = ( files : Files ) => Promise < Files > ;
11+ export type FileTransform = (
12+ files : Files ,
13+ version : RunnableVersion ,
14+ ) => Promise < Files > ;
1215
1316export type FileTransformOperation = 'dotfiles' | 'forge' ;
1417
Original file line number Diff line number Diff line change @@ -142,7 +142,7 @@ export class FileManager {
142142 ) ) {
143143 try {
144144 console . log ( `getFiles: Applying ${ transform . name } ` ) ;
145- output = await transform ( output ) ;
145+ output = await transform ( output , app . state . currentElectronVersion ) ;
146146 } catch ( error ) {
147147 console . warn ( `getFiles: Failed to apply transform` , {
148148 transform,
Original file line number Diff line number Diff line change 1- import { Files , PACKAGE_NAME } from '../../interfaces' ;
1+ import { Files , PACKAGE_NAME , RunnableVersion } from '../../interfaces' ;
22import { getForgeVersion } from '../utils/get-package' ;
33
44/**
55 * This transform turns the files into an electron-forge
66 * project.
77 */
8- export async function forgeTransform ( files : Files ) : Promise < Files > {
8+ export async function forgeTransform (
9+ files : Files ,
10+ version ?: RunnableVersion ,
11+ ) : Promise < Files > {
912 if ( files . get ( PACKAGE_NAME ) ) {
1013 try {
1114 const parsed = JSON . parse ( files . get ( PACKAGE_NAME ) ! ) ;
@@ -47,6 +50,26 @@ export async function forgeTransform(files: Files): Promise<Files> {
4750 } ;
4851 }
4952
53+ // Package local version if available.
54+ if ( version ?. localPath ) {
55+ devDependencies [ '@electron-forge/plugin-local-electron' ] = forgeVersion ;
56+ config . forge . plugins = [
57+ {
58+ name : '@electron-forge/plugin-local-electron' ,
59+ config : {
60+ electronPath : version . localPath ,
61+ } ,
62+ } ,
63+ ] ;
64+
65+ // Replace electron dep in package.json with a legitimate
66+ // released version so it doesn't error on npm install.
67+ if ( parsed . devDependencies . electron ) {
68+ const latest = await window . ElectronFiddle . getLatestStable ( ) ;
69+ parsed . devDependencies . electron = latest ?. version ;
70+ }
71+ }
72+
5073 // electron-forge makers
5174 config . forge . makers = [
5275 {
You can’t perform that action at this time.
0 commit comments