public icon indicating copy to clipboard operation
public copied to clipboard

Add support for open source license to work with nested projects

Open guybarnard opened this issue 3 years ago • 10 comments

Thanks for offering wallaby free for OSS projects. I am getting the error message "Wallaby.js has been stopped because your project is not associated with a valid GitHub project." I am not sure what is invalid about the project as it was validated as an open source in a previous Wallaby message but one thing to note is that it is a mono repository with a set of meta packages downloaded from other open source packages using https://github.com/mateodelnorte/meta.

It also worked fine with a trial license of wallaby.js

guybarnard avatar Sep 25 '20 23:09 guybarnard

Can you please provide us with the URL of the open source project you are using?

Wallaby's OSS license does not currently support git submodules or mono-repos with nested git repositories (note: the trial version of Wallaby and paid version of Wallaby support both).

The meta tool creates nested projects, each with their own git repository, which is likely why Wallaby isn't working for you.

smcenlly avatar Sep 27 '20 01:09 smcenlly

Ok, these are not git submodules, but yes the nested projects do each have their own git repository so that is the problem. It would be great to support nested repositories if each is OSS with a valid license, but I understand the paid version supports this.

guybarnard avatar Sep 27 '20 13:09 guybarnard

Thanks for providing Wallaby to the OSS community.

My use case: I maintain 10+ OSS libraries that are interconnected and part of my workspace folder. Working on them in isolation is not an option for me.

I hope this feature request materializes. 🤞

jakobrosenberg avatar Feb 04 '21 09:02 jakobrosenberg

I don't have nested Git repos, however my problem feels related: Automatic config works. As soon as I add a manual wallaby.js file I see the error message. I remove wallaby.js and it starts again.

Does that mean that my project IS valid, and my config file is has a problem?

Here's my repo: @bespunky/angular-google-maps

BeSpunky avatar Mar 05 '21 19:03 BeSpunky

@BeSpunky - Could you please try cloning your repo to a fresh directory and try again?

smcenlly avatar Mar 05 '21 23:03 smcenlly

I resolved the issue by:

  1. Moving my wallaby.js to the root workspace folder (not the library project folder).
  2. Cleaning the file.
  3. Adding autoDetect: true.
  4. Adding the file I wanted to include in the tests.
  5. Select the config file in VSCode: Ctrl+Shift+P > Wallaby.js: Select Configuration > wallaby.js.

I should mention this is an Angular 11 workspace.

image

Here's my working file:

module.exports = () =>
{
    return ({
        autoDetect: true,
        files: [
            'projects/bespunky/angular-google-maps/testing/google-maps-api.js'
        ]
    });
};

BeSpunky avatar Mar 06 '21 00:03 BeSpunky

Note: this issue also affects nested projects in a mono-repo.

smcenlly avatar May 27 '21 22:05 smcenlly

Any update? Different workflows shouldn't invalidate a license

ghost avatar Sep 02 '21 15:09 ghost

We don't have an exact ETA that we can share at this time but the issue is prioritised in our backlog. At this stage, I expect we will add support for nested GitHub repos within the next 2-3 months.

smcenlly avatar Sep 02 '21 21:09 smcenlly

Just wanted to let you know that this issue is currently holding me back from using Wallaby at all.

My FOSS project is completely nested and I dont want to change that because of a support tool. I cannot get Wallaby to automatically or config-based pick up any tests with the error:

Automatic Jest configuration error: Module jest-cli is not found in '.'.

We've also tried to automatically configure Wallaby.js for other frameworks
Automatic Vitest configuration error: Vitest dependency not found.

https://github.com/fdm-monster/fdm-monster

davidzwa avatar Oct 11 '22 13:10 davidzwa