Implement Migration Checks #1016

Open
opened 2026-01-29 16:55:16 +00:00 by claunia · 2 comments
Owner

Originally created by @softworkz on GitHub (Nov 20, 2025).

Before implementing anything, we should build a list of checks that we want to perform on build automatically to prevent users who are migrating from previous versions, from running into issues due to incorrect project setup.

1. No package.json must be present in the project

Check

The project must not contain any file named package.json (neither package-lock.json)

Help Message

All properties from an existing package.json file must be specified as MSBuild properties in the project now.
(Link to Wiki docs)

Exception

The only exception is a package.json (and package-lock.json) in a folder named ElectronHostHook.

TODO: We may need to validate the contents of this package.json alongside any tsconfig.json if present

2. No electron-manifest.json must be present in the project

Check

The project must not contain any file named electron-manifest.json

Help Message

  • All properties from an existing electron-manifest.json file must be specified as MSBuild properties in the project now.
    (Link to Wiki docs)
  • The subtree from the "build" property must be moved to the electron-builder.json file inside the ./Properties folder
    (Link to Wiki docs)

3. Single electron-builder.json

Check

The project must contain a single electron-builder.json inside the ./Properties folder

Help Message

  • The project must contain a single electron-builder.json inside the ./Properties folder

4. No parent-paths in electron-builder.json

Check

The electron-builder.json file must not contain any parent-path references

Help Message

  • Explain how the project files need to be set up that they are being copied to the output so that they can be referenced via relative (non-parent) paths

5. User has the right kind of pubxml content

Check

Check for WebPublishMethod and ProjectGuid properties in pubxml files. If present, then it's for ASP.Net, otherwise for all other app types.
Then check the project type and whether the pubxml file (or all existing ones) are matching the project type.

Help Message

  • Explain that the pubxml files are wrong and the publishing wizard should be used
Originally created by @softworkz on GitHub (Nov 20, 2025). Before implementing anything, we should build a list of checks that we want to perform on build automatically to prevent users who are migrating from previous versions, from running into issues due to incorrect project setup. ### 1. No package.json must be present in the project #### Check The project must not contain any file named package.json (neither package-lock.json) #### Help Message All properties from an existing package.json file must be specified as MSBuild properties in the project now. (Link to Wiki docs) #### Exception The only exception is a package.json (and package-lock.json) in a folder named ElectronHostHook. TODO: We may need to validate the contents of this package.json alongside any tsconfig.json if present ### 2. No electron-manifest.json must be present in the project #### Check The project must not contain any file named electron-manifest.json #### Help Message - All properties from an existing electron-manifest.json file must be specified as MSBuild properties in the project now. (Link to Wiki docs) - The subtree from the "build" property must be moved to the electron-builder.json file inside the `./Properties` folder (Link to Wiki docs) ### 3. Single electron-builder.json #### Check The project must contain a single electron-builder.json inside the `./Properties` folder #### Help Message - The project must contain a single electron-builder.json inside the `./Properties` folder ### 4. No parent-paths in electron-builder.json #### Check The electron-builder.json file must not contain any parent-path references #### Help Message - Explain how the project files need to be set up that they are being copied to the output so that they can be referenced via relative (non-parent) paths ### 5. User has the right kind of pubxml content #### Check Check for `WebPublishMethod ` and `ProjectGuid` properties in pubxml files. If present, then it's for ASP.Net, otherwise for all other app types. Then check the project type and whether the pubxml file (or all existing ones) are matching the project type. #### Help Message - Explain that the pubxml files are wrong and the publishing wizard should be used
claunia added the help wantedFeatureenhancementinfrastructure labels 2026-01-29 16:55:16 +00:00
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Note

Thinking about it: using npm for web/client related packages must still be possible, so that part needs consideration.

@softworkz commented on GitHub (Nov 20, 2025): #### Note Thinking about it: using npm for web/client related packages must still be possible, so that part needs consideration.
Author
Owner

@softworkz commented on GitHub (Dec 7, 2025):

Added 5.

@softworkz commented on GitHub (Dec 7, 2025): Added 5.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Electron.NET#1016