Upgrade to Storybook 6 and attempt to use the declarative configuration.
The goals of this PR (as part of Kibana's Storybook roadmap, are:
Upgrade to Storybook 6
Still allow running Storybooks with yarn storybook plugin_name
Use the declarative configuration to (hopefully) make the configuration simpler to use an easier to understand, as well as avoiding deprecation warnings and loss of future compatibility
The ways in which what I have so far differs from how we do things today are:
In the alias configuration it takes a path to a storybook configuration directory instead of the storybook.js file from before
Each plugin (it doesn't have to be a plugin; can be any directory) has a .storybook/main.js (the aliases file in @kbn/storybook specifies these locations) where they can define their Storybook configuration. You can require('@kbn/storybook').defaultConfig to get defaults and override them
@kbn/storybook has a preset that can provide Webpack and Babel configuration and Storybook parameters and decorators
Instead of dynamically creating the list of stories to import, we define them in the globs of the stories property in .storybook/main.js.
Do not build a DLL. We are using @kbn/ui-shared-deps as externals. Startup time is not quite as fast but still acceptable.
Other things done in this PR:
Allow default exports in .stories. to allow for Common Story Format CSF stories
Add guard in Webpack configuration needed for overriding CSS rules
Update filename casing check to allow for files with required names in Storybook
Clean up observability stories
Rename *.examples.tsx and *.story.tsx to *.stories.tsx
* Updating the version of the elasticsearch-js Client
* ES Client methods aren't implicitly bound to the Client anymore
* Adjusting mocks to work with prototypical inheritance
* Fixing effects of ping returning a Boolean, now.
* Updating @elastic/elasticsearch to 7.9.1
* Responding to @restrry's feedback
* Now with destructuring...
* Update to latest rum-react
The latest version fixes a problem where you would get a bunch of warnings that you couldn't turn off if you used `render` instead of component with a route. This was causing us to use `component` in some places where `render` should be used.
The latest version fixes this problem so we change back to `render`
where appropriate.
Also make our `ApmRoute` a `Route` instead of `any`.
* adds "Creates timeline" test
* deletes timeline events spec
* completes assertions
* comments assertion
* fixes typecheck error
* waits for all the changes in the timeline to be performed before creating a new timeline and closing the toggle
* fixes failing problem
* fixes loop script
* makes test realiable on visual mode
* fixes merge issue
* makes test more reliable
* fixes typecheck issue
* fixes typecheck
* opens timeline from timeline settings
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
The removed resolutions are no longer needed because the packages that
originally depended on the incompatible versions have either been
removed or upgraded.
* move deprecations and raw loader to package
* move config service to package
* start to adapt the usages
* adapt yet more usages
* update generated doc
* move logging types to `@kbn/logging`
* update generated doc
* add yarn.lock symlink
* merge @kbn-logging PR
* adapt Env.createDefault
* update generated doc
* remove mock exports from the main entrypoint to avoid importing it in production code
* use dynamic require to import `REPO_ROOT` from bootstrap file
* move logger mock to kbn-logging package
* address review comments
* import PublicMethodOf from kbn/utility-types
* fix import conflict
* update generated doc
* use the @kbn/std package
* update generated doc
* adapt plugin service mock
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>
* Fixes storybook anomaly score generation and better utilizes available screen space
* Closes#71770 for APM service maps by replacing breadthfirst layout with
one from the cytoscape-dagre extension. Also replaces the taxi edges
with cubic bezier edges. Finally, this adds the ability to drag
individual nodes around the service map.
* Removes unused code
* removes commented line of code
* - Adds ability for scripts/notice.js to check files with the .tsx file extension
- Adds attribution for `applyCubicBezierStyles`
* Refine comment text and MIT license url
* Add Kea 2.20.rc.3
* Remove Kea declarations
* Convert AppLogic files to use new syntax
- Utilizes MakeLogicType to type the logic file and remove bespoke typings
- Use object syntax for actions and reducers, instead of functions
- Add return types to actions in interface
- Remove interfaces from component (Kea does this automagically now)
- Also renamed IAppLogic* to IApp*
* Convert Workplace Search Overview files to use new syntax
- Utilizes MakeLogicType to type the logic file and remove bespoke typings
- Use object syntax for actions and reducers, instead of functions
- Add return types to actions in interface
- Remove interfaces from component (Kea does this automagically now)
- Also renamed mockLogic* to mockApp*
* Convert HttpLogic files to use new syntax
- Utilizes MakeLogicType to type the logic file and remove bespoke typings
- Use object syntax for actions and reducers, instead of functions
- Add return types to actions in interface
- Remove interfaces from component (Kea does this automagically now)
- Also renamed IHttpLogic* to IHttp*
* Convert FlashMessages files to use new syntax
- Utilizes MakeLogicType to type the logic file and remove bespoke typings
- Use object syntax for actions and reducers, instead of functions
- Add return types to actions in interface
- Remove interfaces from component (Kea does this automagically now)
* Remove hand-rolled Kea types
Bye-bye pretty code
* Upgrade to rc4 per author
From Kea author: “I’d suggest upgrading to rc.4 before merging though, as I seem to have committed some optional chaining operators ("?.") into the compiled JS output, which will cause errors if anyone is using an older browser. You can also wait for 2.2.0 final, but that might still be a week or more away…”
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* bump ts to v4
* MOAR RAM
* fix type errors for OSS
* first pass on x-pack errors
* second pass on x-pack type errors
* 3rd pass on x-pack type-errors
* mute errors if complex cases
* don't delete if spread suffices
* mute other complex cases
* make User fields optional
* fix optional types
* fix tests
* fix typings for time_range
* fix type errors in x-pack/tests
* rebuild kbn-pm
* remove leftovers from master update
* fix alert tests
* [Telemetry Checker] TS4 Fixes
* bump to 4.0.1-rc
* fix new errors in master
* bump typescript-eslint to version supporting TS v4 syntax
* fix merge commit errors
* update to the stable TS version 4.0.2
* bump ts-eslint to version supporting ts v4
* fix typo
* fix type errors after merge
* update ts in another new package.json
* TEMP: remove me
* Revert "TEMP: remove me"
This reverts commit dc0fc3bae6.
* [Telemetry] Update snapshot for new TS4 SyntaxKind
* bump prettier to support TS v4 syntax
* fix prettier rules
* last style change
* fix new type errors
Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>