-
-
Notifications
You must be signed in to change notification settings - Fork 490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Electron Forge 7.0.0 and newer does not handle correctly older @electron-forge/maker-base
and third-party makers.
#3426
Comments
Our stance (although not sure how documented this is, cc doc wizard man @erickzhao) is that all versions of your forge dependencies should exactly match for optimum compatibility. In this case I think the correct thing to do is:
|
I've personally got a few ideas, I've been actually analysing the Forge's code for a bit of time around the checking and I think there's a few ways to enforce the use of compatible version within the makers used by Forge:
There isn't much of the info around how to depend on |
Pre-flight checklist
Electron Forge version
7.0.0 and newer
Electron version
(irrelevant, this is a Forge issue)
Operating system
(irrelevant, the issue is not associated with any platform-specific code in Forge)
Last known working Electron Forge version
6.x.y
Expected behavior
When there's an older and incompatible
maker-base
used by a maker, Forge should gracefully handle such case by like implementing a backwards compatibility logic for them or ignoring makers that use too oldmaker-base
class and warning end-users about this.Actual behavior
Electron Forge does quite a naive check for makers in order to verify if they are actually makers. This is currently problematic when extending Forge by own makers' implementation and causes stuff to happen like this: SpacingBat3/ReForged#12.
Steps to reproduce
maker-base:^6.0.0
(i.e. anything older than7.0.0
).7.0.0
or newer..clone
method (it is very likely undefined in older maker-base versions, or at least not a function) in this line (the commit in permalink is the exact commit that introduces this regression):forge/packages/api/core/src/api/make.ts
Line 185 in 7370d6e
Additional information
Related commit: 7370d6e
Related PR: #3363
This issue could also be associated with another API components, like publishers and plugins (I haven't checked how Forge handles detection of them).
The text was updated successfully, but these errors were encountered: