-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Add script to identify plugin dependencies for TS project references migration #80463
Add script to identify plugin dependencies for TS project references migration #80463
Conversation
based on kibana.json declaration, so it doesn't provide all the cases
Pinging @elastic/kibana-platform (Team:Platform) |
version: manifest.version!, | ||
kibanaVersion: manifest.kibanaVersion || manifest.version!, | ||
requiredPlugins: Array.isArray(manifest.requiredPlugins) ? manifest.requiredPlugins : [], | ||
optionalPlugins: Array.isArray(manifest.optionalPlugins) ? manifest.optionalPlugins : [], | ||
requiredBundles: Array.isArray(manifest.requiredBundles) ? manifest.requiredBundles : [], | ||
extraPublicDirs: Array.isArray(manifest.extraPublicDirs) ? manifest.extraPublicDirs : [], |
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.
Rather than assume these properties are set and their types are correct please validate their existence above.
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.
I added validations in plain js. What if we switch to @kbn/config-schema
here?
only run plugin discovery once to speed up circular dep detection
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.
Couple nits if you don't mind, but LGTM otherwise
💚 Build SucceededMetrics [docs]distributable file count
History
To update your PR or re-run it, just comment with: |
…migration (elastic#80463) * move kbn-dev-utils plugin helpers under a dedicated folder * use getPluginSearchPaths in kbn-config & kbn-optimizer * add a script to find plugin dependencies not migrated to TS project refs * update docs * add a script reporting all circular deps between plugins based on kibana.json declaration, so it doesn't provide all the cases * fix optimizer scan logic. removed by mistake * revert changes. fails on CI * remove prod depenedency on kbn/dev-utils * remove last export * only run plugin discovery once to speed up circular dep detection * address comments * address comments * update fixtures Co-authored-by: spalger <spalger@users.noreply.github.com>
…migration (#80463) (#80811) * move kbn-dev-utils plugin helpers under a dedicated folder * use getPluginSearchPaths in kbn-config & kbn-optimizer * add a script to find plugin dependencies not migrated to TS project refs * update docs * add a script reporting all circular deps between plugins based on kibana.json declaration, so it doesn't provide all the cases * fix optimizer scan logic. removed by mistake * revert changes. fails on CI * remove prod depenedency on kbn/dev-utils * remove last export * only run plugin discovery once to speed up circular dep detection * address comments * address comments * update fixtures Co-authored-by: spalger <spalger@users.noreply.github.com> Co-authored-by: spalger <spalger@users.noreply.github.com>
* master: (51 commits) [Discover] Unskip flaky test (elastic#80670) Fix security solution template label (elastic#80754) [Ingest]: ignore 404, check if there are transforms in results. (elastic#80721) Moving loader to logo in header, add a slight 250ms pause (elastic#78879) [Security Solution][Cases] Fix bug with case connectors (elastic#80642) Update known-plugins.asciidoc (elastic#75388) [Lens] Add median operation (elastic#79453) Fix navigateToApp logic when navigating to the current app. (elastic#80809) [Visualizations] Fix bad color mapping with multiple split series (elastic#80801) [ILM] Add esErrorHandler for the new es js client (elastic#80302) Fix codeowners (elastic#80826) skip flaky suite (elastic#79463) [Timelion] Remove kui usage (elastic#80287) [Ingest Manager] add skipIfNoDockerRegistry to package_install_complete test (elastic#80779) [Alerting UI] Disable "Save" button for Alerts with broken Connectors (elastic#80579) Allow the default space to be accessed via `/s/default` (elastic#77109) Add script to identify plugin dependencies for TS project references migration (elastic#80463) [Search] Client side session service (elastic#76889) feat: 🎸 add separator for different context menu groups (elastic#80498) Lazy load reporting (elastic#80492) ...
Summary
Closes #79343
Adds a script
node scripts/find_plugins_without_ts_refs.js --id your_plugin_id
to report what plugin deps haven't been migrated to TS project refs yet and what circular deps have been detected.output for
node scripts/find_plugins_without_ts_refs.js --id data
Adds a script
node scripts/find_plugin_circular_deps.js
to report circular deps between all the plugins in the repo. It analyzes deps declared inkibana.json
only. Thus, it doesn't detect circular type imports, imports betweencommon
andserver
folders - these problems should be solved by #78162 I'm going to remove this script as soon as #78162 lands.output: