electron / electron/forge

Hyphens ('1.0.1-0') not a valid version string when building on @electron-forge/maker-squirrel

Open
#3,533 3 comments 2 reactions 1 assignee Claimed by @erickzhao View on GitHub
bug maker/squirrel platform/windows
Dominant language
TypeScript
Stars
7.1k
Forks
641
Avg merge
3d 1h
Merged PRs (30d)
30

Description

### Pre-flight checklist

- [X] I have read the [contribution documentation](https://github.com/electron/forge/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [code of conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project uses.
- [X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

### Electron Forge version

7.3.0

### Electron version

v29.1.2

### Operating system

Windows 11 23h2

### Last known working Electron Forge version

n/a

### Expected behavior

Build would be successful using hyphenated version numbers created by `npm version prerelease`

### Actual behavior

```
An unhandled rejection has occurred inside Forge:
Error: Failed with exit code: 1
Output:
Attempting to build package from 'my_app.nuspec'.
'1.0.1-0' is not a valid version string.
Parameter name: version
at ChildProcess. (D:\dev\versionNumber\my-app\node_modules\electron-winstaller\lib\spawn-promise.js:48:24)
at ChildProcess.emit (node:events:514:28)
at ChildProcess.emit (node:domain:488:12)
at maybeClose (node:internal/child_process:1105:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
```

### Steps to reproduce

1. Open a folder
2. `npm init electron-app@latest my-app`
3. `cd my-app`
4. `npm version prerelease`
5. :white_check_mark: Observe the version is now 1.0.0-0
6. `npm run make`
7. ❌ Observe you get an unhandled exception
8. This only seems to affect `@electron-forge/maker-squirrel `. I can build just fine on macOS using `@electron-forge/maker-zip`
```
An unhandled rejection has occurred inside Forge:
Error: Failed with exit code: 1
Output:
Attempting to build package from 'my_app.nuspec'.
'1.0.1-0' is not a valid version string.
Parameter name: version
at ChildProcess. (D:\dev\versionNumber\my-app\node_modules\electron-winstaller\lib\spawn-promise.js:48:24)
at ChildProcess.emit (node:events:514:28)
at ChildProcess.emit (node:domain:488:12)
at maybeClose (node:internal/child_process:1105:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
```

### Additional information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.