-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[kbn-pm] Include Kibana's transitive _projects_ in build #16813
Conversation
4ca4a6f
to
539ea41
Compare
529c5ab
to
bc7f375
Compare
bc7f375
to
a8c1a14
Compare
💚 Build Succeeded |
374d49a
to
7a7909a
Compare
💚 Build Succeeded |
7a7909a
to
d6427b4
Compare
💚 Build Succeeded |
@spalger Rebased and updated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works and skips the eslint stuff without needing config in each package, which is a good step, but could be improved in a future PR.
In the new build process we'll have multiple package.json files, one in each build output, and each will define slightly different projects necessary for the build. If buildProductionProjects()
knew this it could read the package.json from the build output and only build the projects necessary for that build.
Even further, it could know that there are multiple build targets and only run each build step once and copy the output to each build target that needs it.
Alternatively, we can go back to the bulk of this being implemented in the build tasks and expose an API for the build tasks to get project info/graphs so it can do just the work it needs.
Like I said, we can do all this in subsequent prs if you like any of it.
Great input, @spalger. I like the idea of extracting |
I realized we already had the required info in the deps, so we don't need to rely on the
kibana.build.skip
field in thepackage.json
s. TheincludeTransitiveProjects
helper could potentially enable some nice features as we move towards watching and stuff like that too.Also, this makes it more obvious that only transitive projects of Kibana will are intended to work right now, as they are the only ones included when
yarn
is ran. Later on I think we might want to include other things in the build too, but then I think we should specifically include it throughpackage.json
instead, plus we need a solution for installing deps.