Skip to content
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

packagerConfig.ignore in forge.config.js seems got something wrong #3785

Open
3 tasks done
chris0203 opened this issue Dec 13, 2024 · 0 comments
Open
3 tasks done

packagerConfig.ignore in forge.config.js seems got something wrong #3785

chris0203 opened this issue Dec 13, 2024 · 0 comments

Comments

@chris0203
Copy link

Pre-flight checklist

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project uses.
  • I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version

7.6.0

Electron version

30.0.1

Operating system

Win 10 22H2

Last known working Electron Forge version

No response

Expected behavior

ignore logic

ignore(path) {
    if (path === '/app') return false;
    if (path === '/dist') return false;
    if (path === '/dist-client') return false;
    if (path === "/package.json") return false;
    return true
}

should output

.
└── Project ROOT/
    ├── app/
    ├── dist/
    ├── dist-client/
    └── package.json

Actual behavior

Got some error or not functioning.

Steps to reproduce

I have the project file like this

.
└── Project ROOT/
    ├── src/
    ├── .angular/
    ├── app/
    ├── node_modules/
    ├── projects/
    │   └── client/
    ├── dist/
    ├── dist-client/
    ├── angular.json
    ├── package.json
    └── ....

What I want to package is only 3 folders, dist, dist-client, app and package.json, the final output like this:

.
└── Project ROOT/
    ├── app/
    ├── dist/
    ├── dist-client/
    └── package.json

so I try to ignore files

ignore(path) {
    if(!path) return false;
    if (path === '/app') return false;
    if (path === '/dist') return false;
    if (path === '/dist-client') return false;
    if (path === '/package.json') return false;
    return true
}

When running this got error.

An unhandled rejection has occurred inside Forge:
Error: The main entry point to your app was not found. Make sure "C:\Projects\app\main.js" exists and does not get ignored by your ignore option
at validateElectronApp (C:\Projects\node_modules\@electron\packager\dist\common.js:104:15)
    at async WindowsApp.buildApp (C:\Projects\node_modules\@electron\packager\dist\platform.js:126:9)
    at async WindowsApp.initialize (C:\Projects\node_modules\@electron\packager\dist\platform.js:120:13)
    at async WindowsApp.create (C:\Projects\node_modules\@electron\packager\dist\win32.js:83:9)
    at async Promise.all (index 0)
    at async packager (C:\Projects\node_modules\@electron\packager\dist\packager.js:237:22)

Then I remove if(!path) return false;

ignore(path) {
    // if(!path) return false;
    if (path === '/app') return false;
    if (path === '/dist') return false;
    if (path === '/dist-client') return false;
    if (path === '/package.json') return false;
    return true
}

It no errors, but seems package.json has been ignored, so the Preparing native dependencies is not running.

✔ Checking your system
✔ Preparing to package application
✔ Running packaging hooks
  ✔ Running generateAssets hook
  ✔ Running prePackage hook
❯ Packaging application
  › Determining targets...
  ❯ Packaging for x64 on win32
    ✔ Copying files
    ⠹ Preparing native dependencies
    ⠹ Finalizing package
◼ Running postPackage hook

but I try the other way, like this:

ignore(path) {
    if (path === "/src") return true;
    if (path === "/angular.json") return true;
    if (path === "/node_modules") return true;
    if (path === "/.angular") return true;
    if (path === "/projects") return true;
    ..... and some other folder and files
    return false
}

That the output is what I expected

.
└── Project ROOT/
    ├── app/
    ├── dist/
    ├── dist-client/
    └── package.json

Additional information

This issue is similar to #3293

@chris0203 chris0203 changed the title forge.config.js in packagerConfig.ignore seems got something wrong packagerConfig.ignore in forge.config.js seems got something wrong Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants