Keeping up with Kibana: This week in Kibana for June 4th, 2018
Welcome to Keeping up with Kibana! This is a series of posts on new developments in the Kibana project and any related learning resources and events.
TypeScript Support Completed In Platform
By John Dorlus
In a previous blog post we announced the coming support of TypeScript to the Kibana stack. The first roll out is here. We have officially added TypeScript support to the Kibana platform! What does that mean and why should you care?
More Thoughtful JS Design
TypeScript changes the way you think as a JavaScript developer. For example, more thoughtful planning goes into writing classes and functions, and in designing an object’s shape.
You Can Create A Contract For The Data You Expect
For those familiar with programming languages like Java or C#, interfaces are a nice contract (or agreement) on what data for certain objects should look like. For an author of a plugin, this can be valuable if there are changes to Kibana's core that changes the way the data looks, you get a descriptive error informing you as to where the contract was violated.
interface Address { houseNumber: int; streetName: string; city: string; state: string; zip: string; }
Should the zip code come back as a number instead of a string, you get a nice, descriptive error along the lines of:
src/hello.ts(2,5): error TS2322: Type 94040 is not assignable to type 'string'.
Server Side Developers Feel At Home
Ever want to create a Kibana plugin but find JavaScript a bit intimidating? TypeScript takes a definitive step toward blurring the lines between front-end and server side code by allowing for the static typing with many of the constructs you are already familiar with.
Our TypeScript Tooling Is Flexible
If a team prefers to use their own TypeScript tooling, they can continue doing so. Our implementation of support for TypeScript is flexible in that way. If they want to use our tooling, they can hook into that and enjoy consistency with the Kibana Platform.
Go ahead and get started developing your own plugin
Other News this Week
APIs
With the merge of the saved object API docs into 6.3, we now have the first formal REST APIs in Kibana documented for public use. The logstash config API and dashboard import API are not far behind.
RBAC:
The platform specific PRs that were separated out from RBAC Phase 1 have been merged, and we’re working on preparing the PR for RBAC Phase 1 after addressing the required filtering for finding without specifying a type.
Design:
EUI is now up to date with React 16.3. On the component front we made changes to EuiCard and EuiPanel to allow for horizontal layouts and proper badging.
PRs of note
- Visual cleanup of saved objects page #19434
- Added `layout` prop to `EuiCard` #885
- Reverse description lists #882
- Several PRs upgrading our components to React 16.3
Platform
- Replace express with hapi in HTTP service implementation in anticipation of the initial merge of the new platform #18562
- Add support for aliases to es_archiver #19350
- Basic license no longer logs with “invalid date” expiry #19565
- Saved object API documentation #19513
Sharing
- Convert Dashboard save dialog to react/EUI 19531
- Remove react-select from kibana 18876
- Removed padding that accidentally was in 6.x but not master 19547
- Updated reporting timestamps to be completed time if status is completed or failed 19551
- Cleaned up context menu in view mode 19558
- Accessibility fixes 19561
Visualizations
- The new inspector PR is now up for review (#16387)
- Remove react-select from kibana (#18876)
- Update markdown-it to 8.4.1 (#19470)
Management
- Disable watcher dirty prompt due to routing bug with recent fix for IE11 (#19595)
- Fix bug where internal indices were not showing properly on index pattern creation (#19618)
- Fixing console autocompletion so only endpoints that match HTTP verbs are shown
- Fixing console autocompletion so strings starting with _ are not mistaken for strings (https://github.com/elastic/
kibana/pull/19654)
GIS
- Maintenance fixes
- Coding work on the new GIS app has started
Canvas
Canvas no longer duplicates uploaded assets
More EUI form treatment
- Reporting integration continues, incomplete PDFs can be generated and it should be fully functional soon
- SQL support is ready once 6.3.0 goes GA
Until next week,
Kibana Team