* 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>
Moves common utility functions to obtain the repository root,
paths (config/data), and Kibana package.json to a @kbn/utils package.
Moving these existing functions allows them to be used in production, in
other packages because of Kibana.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* move test_helpers to the core
* create base tsconfig
* all tsconfigs use the base one
* use test_helpers exposed from the src/core
* move getFieldFormatsRegistry to data plugin
* add test_utils project
* compile types after checkout
* add a stub for platform tsconfig.json
* fix broken import
* fix broken path to the base config
* set tsBuildInfoFile for project without outDir
* do not commit tsbuildinfo file
* do not check output d.ts files
* fix type error
* use separate config to build types
* rollback changes to include paths
* mute import zone error
* rename files to avoid references to tsd
* do not use tsd for type tests
* include all ts files in project
* run buildRefs before type check to ensure the latest version
* store tsbuildinfo locally
* update paths to base config
* comment out core/tsconfig.json
* remove ui path
* fix wrong tsbuildinfo path
* implements recursive scanning in plugin discovery system
* update optimizer to find plugins in sub-directories
* update renovate
* update optimizer IT snapshot
* refactor processPluginSearchPaths$ and add test for inaccessible manifest
* add symlink test
* add maxDepth to the optimizer
* adapt mockFs definitions
* remove `flat` usage
* update vega version
* a11y skip test
* a11y skip test attempt 2
* adding back all a11y tests
* fix failed karma test
* remove extra 0BSD license
* coalesce yarn.lock versions a little
* update kbn/pm dist
* fix CI
* fix Vega View for ML
Co-authored-by: Michail Yasonik <michail.yasonik@elastic.co>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* add babel support for export type
* bump ts version to 3.9.3
* rebuild kbn-pm
* bump typescript-eslint
* fix error in security plugin UI
* check export as works
* fix app migration type
* use correct test subj attribute
* fix errors from the old PR
* embeddable is already passed in props
* explicitly define type of fetch
* add some types for viz
* fix fetch type p.2
* add null to allow spreading without type errors due to override
* add type guard to fix type error
* cast to any, since cannot assign unknown
* add timestamp to known types
* fix type error in fetch
* fix type error. id is always defined in attibutes
* declare a type
* move ts-ignore to the lines with errors
* declare tuple type explicitly
* mute type error. cannot assign unknown
* fix errors. id is always defined
* fix error type
* fix override errors. id is always defined
* fix error. extends any doesn't work anymore
* fix type error. type is always defined
* env doesn't always contain values
* fix type error
* cast to string
* add: logs is already declared in getNodeLogsUrl
* state is already passed in props
* fix some errors in timelion
* number of fragments is always defined
* 'absolute' is not just string, but value
* TEMP: option is always defined
* always true if cast to promise manually
* both props are always defined
* explicitly define returned SO type
* workaround type
* bump tslib to be compatible with ts v3.9
* test private property
* rebuild kbn-pm
* Fix ts errors for beats management
* Fix type inference broken by the TS 3.9 upgrade
* Fix ingest manager saved object attributes typings
* Fix TS errors in cross_cluster_replication and index_management.
* Fix TS error in Watcher.
* roll back colorRange wrong type
* fix security plugin types
* TypeScript 3.9 fixes for APM
* Fix ColorRange types.
* fix actions & alerts errors. ByGidi
* fix lists error
* More APM fixes
* Remove paramaterization from `removeEmpty in agent config SettingsPage component (it's only used there and doesn't need to be parameterized.)
* Add option chain for case in registerTransactionDurationAlertType
* Cast `overallValue` in transform_metrics_chart
* Use more specific type for custom link filters
* Add more option chaining for local UI filters buckets response
* Remove unused parameters from routes
* Fix getProjection type parameter
* Use destructuring in serviceNodesLocalFiltersRoute to hide `never` error
* Revert `UnionToIntersection` change in `AggregationResponseMap`
Fixes#67804.
* fix platform type error
* Fix visualizations types.
* Fix data plugin types.
* bump TS version to 3.9.5
* Fix telemetry TS errors
* Fix dashboard code
* Adding Canvas Fixes for TS 3.9
* Fix case and security_solution types
* roll back to the old export syntax. new one might cause problems in api-extractor
* update docs
* Fix timelion code
* Fix meta
* Fix types
* fix type errors om ingest_manager
* bump babel deps
* enable private props & methods syntax
* update kbn-pm dist
* whitelist 0BSD license
* use @babel/plugin-proposal-private-methods in default set as well
* disable new babel plugins
* Revert "disable new babel plugins"
This reverts commit 04d959431d.
* cleanup security_solution types
* Fixes type error for newer TypeScript
* update docs
Co-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>
Co-authored-by: Felix Stürmer <stuermer@weltenwort.de>
Co-authored-by: CJ Cenizal <cj@cenizal.com>
Co-authored-by: Larry Gregory <larry.gregory@elastic.co>
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
Co-authored-by: Walter Rafelsberger <walter@elastic.co>
Co-authored-by: Luke Elmers <luke.elmers@elastic.co>
Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>
Co-authored-by: Tim Roes <tim.roes@elastic.co>
Co-authored-by: Clint Andrew Hall <clint.hall@elastic.co>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
Co-authored-by: FrankHassanabad <frank.hassanabad@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* fix(NA): node module main field resolution for new platform
* chore(NA): remove browserify from kbn optimizer main fields
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [kbn/optimizer] link to data/kibanaReact/kibanaUtils plugins
* depend on normalize-path package
* typos
* avoid loading kibanaUtils and kibanaReact from urls
* update types and tests, now that whole plugin is exported to window
* update snapshot, removed export of `plugins` property
* fix condition, ignore things NOT in data/react/utils
* make es_ui_shared a "static bundle" too
* move kibana_utils/common usage to /public
* convert some more /common usage to /public
* use async-download/ordered-execution for bootstrap script
* fix typo
* remove kibanaUtils bundle
* remove kibanaReact bundle
* Revert "remove kibanaReact bundle"
This reverts commit f14e9ee604.
* Revert "remove kibanaUtils bundle"
This reverts commit a64b2a7f64.
* stop linking to the data plugin
* add comment pointing to async-download info
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [kbn/ui-shared-deps] expand and split
* add two import styles for eui/react-dom that are new
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [kbn/optimizer] fix ui/* url rewrites in dist
* add tests to verify styles are built correctly and ui-rewrites are happening
* clarify change to dirs creation
* create tested & shared parsePath helper
* update renovate config
* split implementation of parsePath for dir and file paths
* switch to valid css property
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Revert "Temporarily removes kbn-optimizer cache key tests (#58318)"
This reverts commit e64eff0a3d.
* [kbn-optmizer] avoid mocking fs exports
* overwrite ciGroup script to support jest in flaky testing job
* limit jest workers to 3 so that concurrent runners have space to operate
* Revert "limit jest workers to 3 so that concurrent runners have space to operate"
This reverts commit 1a2f882f6d.
* Revert "overwrite ciGroup script to support jest in flaky testing job"
This reverts commit 548db61722.
While we investigate why they are interfering with other tests.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* add monaco to kbn/ui-shared-deps and load required features for all uses
* forgot to save a change
* remove unused imports
* include a cache buster to counteract issue #58077
* include monaco.ts in ts project
* emit success event from reducer when all bundles cached
* verify that infinite streams can be broken by unsubscribing
* shift naming a smidge
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [kbn/optimizer] simplify run_workers.ts a smidge
* use Path.resolve() to create windows paths from normalized ones
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* build immutable bundles for new platform plugins
* only inspect workers if configured to do so
* [navigation] use an index.scss file
* add yarn.lock symlink
* set pluginScanDirs in test so fixtures stay consistent
* cleanup helpers a little
* fix type error
* support KBN_OPTIMIZER_MAX_WORKERS for limiting workers via env
* test support for KBN_OPTIMIZER_MAX_WORKERS
* expand the available memory for workers when only running one or two
* add docs about KBN_OPTIMIZER_MAX_WORKERS environment variable
* fix README link
* update kbn/pm dist
* implement bundle caching/reuse
* update kbn/pm dist
* don't check for cache if --no-cache is passed
* update renovate config
* standardize on index.scss, move console styles over
* add support for --no-cache to cli
* include worker config vars in optimizer version
* ignore concatenated modules
* update integration test
* add safari to browserslist to avoid user-agent warnings in dev
* update docs, clean up optimizer message/misc naming
* always handle initialized messages, don't ignore states that are attached to specific events
* reword caching docs, add environment var to disable caching
* tweak logging and don't use optimizer.useBundleCache as that's disabled in dev
* handle change notifications
* batch changes for 1 second
* rename CompilerState type to CompilerMsg
* getChanges() no longer needs to assign changes to dirs
* remove unused deps
* split up run_worker.ts and share cacheKey generation logic
* add a couple docs
* update tests and remove unused imports
* specify files when creating bundle cache key
* remove one more unused import
* match existing dev cli output more closely
* update kbn/pm dist
* set KBN_NP_PLUGINS_BUILT to avoid warning in CI
* avoid extending global window type
* add note to keep pluginScanDirs in sync
* pass browserslistEnv in workerConfig so it is used for cache key
* load commons.bundle.js in parallel too
* emit initialized+success states if all bundles are cached
* load bootstraps as quickly as possible
* skip flaky suite
* bump
* update jest snapshots
* remove hashing from cache key generation
* remove unnecessary non-null assertion
* improve docs and break up Optimizer#run()
* remove unused import
* refactor kbn/optimizer to break up observable logic, implement more helpful cache invalidation logic with logging
* fix tests
* add initializing phase
* avoid rxjs observable constructor
* remove unnecessary rxjs helper, add tests for bundle cache
* update consumers of optimizer
* update readme with new call style
* replace "new platform" with "kibana platform"
* fix a couple more renames
* add support for several plain-text file formats
* fix naming of OptimizerMsg => OptimizerUpdate, use "store" naming too
* one more OptimizerMsg update
* ensure bundles are not cached when cache config is false
* test for initializing states and bundle cache events
* remove unnecessary timeout change
* Remove unnecessary helpers
* Add tests for BundleCache class
* Add tests for Bundle class
* test summarizeEvent$
* missing paths are no longer listed in mtimes map
* add tests for optimizer/cache_keys
* Add some extra docs
* Remove labeled loop
* add integration test for kbn-optimizer watcher components
* querystring-browser removed
* tweak logging a smidge, improve info and final message
* remove unused imports
* remove duplication of getModuleCount() method
* move type annotation that validates things
* clear up the build completion message
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>