Skip to content
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

Convert from Flow to Typescript for Jaeger-UI #359

Merged
merged 59 commits into from
Mar 26, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
9cc67f0
Complie first typescript file successfully
everett980 Mar 11, 2019
654375a
Update eslint typescript parser
everett980 Mar 12, 2019
10d7d17
Merge branch 'jaegertracingmaster' into ui-to-ts
everett980 Mar 12, 2019
f4fab60
Convert and consume first types/ file
everett980 Mar 12, 2019
856d60d
Finish types/ and common/, WIP tests due to default values
everett980 Mar 15, 2019
ec6068b
Fix tests
everett980 Mar 15, 2019
7394aa5
Remove "unpm.uberinternal.com" from yarn.lock
tiffon Mar 17, 2019
6358d0c
Remove prop-type error message
tiffon Mar 17, 2019
e51fb5a
Rename all .ts TypeScript files to .tsx
tiffon Mar 17, 2019
611391e
Hone TypeScript linting and build config
tiffon Mar 17, 2019
3df3d8a
Convert a few flow files (leaves) to .tsx
tiffon Mar 17, 2019
1363788
Enable ESLint caching, run npm scripts in parallel
tiffon Mar 17, 2019
e8f707b
Misc typings cleanup
tiffon Mar 17, 2019
2e313c3
16% - Script to track ts conv progress
tiffon Mar 17, 2019
62d2603
Conv ListView/Positions to tsx
tiffon Mar 17, 2019
c0f81a6
Remove @flow from tsx files
tiffon Mar 17, 2019
f9b2461
23.69% - Convert SearchResults, some search utils, and TopNav
everett980 Mar 18, 2019
1825599
Conv to tsx
tiffon Mar 18, 2019
8d5ad47
31.59% - Convert some tracking utils, remove TNullable
everett980 Mar 18, 2019
9ee3f7c
35.41% - Convert TraceDiffHeader/
everett980 Mar 18, 2019
2584214
Conv trace-dag model
tiffon Mar 19, 2019
74f8f6d
Merge branch 'master' into ui-to-ts
tiffon Mar 19, 2019
78052ac
Conv to tsx, more flexible type defs for plexus
tiffon Mar 19, 2019
e3a2330
Conv trace diff graph, improve plexus type defs
tiffon Mar 19, 2019
f89eb1f
Conv TraceDiff
tiffon Mar 19, 2019
0391688
45.97% - Convert OpNode and calculateTraceDagEv
everett980 Mar 19, 2019
d50ddec
47.48% - Convert some SpanGraph files
everett980 Mar 19, 2019
0111779
48.73 - Conv some TraceTimelineViewer utils
everett980 Mar 19, 2019
c04e854
Merge branch 'develop' into ui-to-ts
everett980 Mar 19, 2019
c459a8f
Conv DraggableManager to tsx
tiffon Mar 19, 2019
33a93e1
Conv DraggableManager/index.js to tsx
tiffon Mar 19, 2019
dab8863
Conv TracePageHeader/SpanGraph/ViewingLayer to tsx
tiffon Mar 19, 2019
d1e8dc7
Conv TickLabels
tiffon Mar 19, 2019
64cad93
Conv CanvasSpanGraph to tsx
tiffon Mar 19, 2019
8fd47be
Conv TracePage/index.track to tsx
tiffon Mar 19, 2019
a6b3885
55.15% - Convert span-ancestor-ids
everett980 Mar 19, 2019
80bab2b
Conv TracePageSearchBar to tsx
tiffon Mar 19, 2019
9b07adc
61.05% - Convert TracePageHeader
everett980 Mar 19, 2019
227797d
65.51% - Convert TimelineHeaderRow
everett980 Mar 19, 2019
7101bb1
69.21% - Convert SpanBar and its dependencies
everett980 Mar 19, 2019
c13558d
77.49% - Convert SpanBar and its dependencies, and ListView
everett980 Mar 20, 2019
1ef4222
84.69% - Convert VirtualizedTraceView & link-patterns, fix TraceDiff
everett980 Mar 20, 2019
c601be2
86.74% - Convert TraceGraph.tsx
everett980 Mar 20, 2019
b518ec8
85.3% - Conv keyboard-shortucts to tsx
tiffon Mar 20, 2019
6fbb8ad
88% - Conv TraceTimelineViewer/index to tsx
tiffon Mar 21, 2019
e00bac6
Conv scroll-page to tsx
tiffon Mar 21, 2019
e628091
Conv ArchiveNotifier to tsx
tiffon Mar 21, 2019
b3fb7c3
Conv readJsonFile and related to tsx
tiffon Mar 21, 2019
753af4b
91.5% - Conv a few files, hone type defs in a few
tiffon Mar 21, 2019
afe96a3
Conv middlewares/track to tsx
tiffon Mar 21, 2019
4f6c64c
Conv ArchiveNotifier/duck to tsx
tiffon Mar 21, 2019
b7ea49e
95.6% - Conv TracePage to tsx
tiffon Mar 21, 2019
96ca354
100% - Conv all the things to tsx
tiffon Mar 21, 2019
3cb89d1
78.25 - Show conversion progress for JS to TS
tiffon Mar 21, 2019
cf28859
Clean up some Typescript TODOs
everett980 Mar 21, 2019
e0c4496
Merge branch 'master' into ui-to-ts
tiffon Mar 25, 2019
dec909f
Remove flow
tiffon Mar 25, 2019
0b16a80
Merge branch 'jaegertracingmaster' into ui-to-ts
everett980 Mar 25, 2019
211cf9e
Change flow to typescript in README & CONTRIBUTING
everett980 Mar 25, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
100% - Conv all the things to tsx
Signed-off-by: Joe Farro <[email protected]>
  • Loading branch information
tiffon committed Mar 21, 2019
commit 96ca354d730b2431922f2ff6792942a0877903ba
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -21,7 +19,7 @@ import ErrorMessage from '../common/ErrorMessage';
import prefixUrl from '../../utils/prefix-url';

type NotFoundProps = {
error: any,
error: any;
};

export default function NotFound({ error }: NotFoundProps) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -19,35 +17,32 @@ import { Layout } from 'antd';
import cx from 'classnames';
import Helmet from 'react-helmet';
import { connect } from 'react-redux';
import { withRouter } from 'react-router-dom';
import { RouteComponentProps, withRouter } from 'react-router-dom';

import TopNav from './TopNav';
import { ReduxState } from '../../types';
import { EmbeddedState } from '../../types/embedded';
import { trackPageView } from '../../utils/tracking';

import type { ReduxState } from '../../types';
import type { EmbeddedState } from '../../types/embedded';

import './Page.css';

type Props = {
children: React.Node,
embedded: EmbeddedState,
pathname: string,
search: string,
type TProps = RouteComponentProps<any> & {
children: React.ReactNode;
embedded: EmbeddedState;
pathname: string;
search: string;
};

const { Header, Content } = Layout;

// export for tests
export class PageImpl extends React.Component<Props> {
props: Props;

export class PageImpl extends React.Component<TProps> {
componentDidMount() {
const { pathname, search } = this.props;
trackPageView(pathname, search);
}

componentWillReceiveProps(nextProps: Props) {
componentWillReceiveProps(nextProps: TProps) {
const { pathname, search } = this.props;
const { pathname: nextPathname, search: nextSearch } = nextProps;
if (pathname !== nextPathname || search !== nextSearch) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -16,23 +14,21 @@

import React from 'react';

import { DraggableBounds, DraggingUpdate } from '..';
import DraggableManager from '../DraggableManager';

import type { DraggableBounds, DraggingUpdate } from '..';
import TNil from '../../../types/TNil';

import './DividerDemo.css';

type DividerDemoProps = {
position: number,
updateState: ({}) => void,
position: number;
updateState: (udpate: { dividerPosition: number }) => void;
};

export default class DividerDemo extends React.PureComponent<DividerDemoProps> {
props: DividerDemoProps;

_dragManager: DraggableManager;

_realmElm: ?Element;
_realmElm: HTMLElement | TNil;

constructor(props: DividerDemoProps) {
super(props);
Expand All @@ -47,7 +43,7 @@ export default class DividerDemo extends React.PureComponent<DividerDemoProps> {
});
}

_setRealm = (elm: ?Element) => {
_setRealm = (elm: HTMLElement | TNil) => {
this._realmElm = elm;
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -18,25 +16,20 @@ import React from 'react';

import DividerDemo from './DividerDemo';
import RegionDemo from './RegionDemo';
import { TNil } from '../../../types';

import './DraggableManagerDemo.css';

type DraggableManagerDemoProps = {};

type DraggableManagerDemoState = {
dividerPosition: number,
regionCursor: ?number,
regionDragging: ?[number, number],
export type DraggableManagerDemoState = {
dividerPosition: number;
regionCursor: number | TNil;
regionDragging: [number, number] | TNil;
};

export default class DraggableManagerDemo extends React.PureComponent<
DraggableManagerDemoProps,
DraggableManagerDemoState
> {
props: DraggableManagerDemoProps;
export default class DraggableManagerDemo extends React.PureComponent<{}, DraggableManagerDemoState> {
state: DraggableManagerDemoState;

constructor(props: DraggableManagerDemoProps) {
constructor(props: {}) {
super(props);
this.state = {
dividerPosition: 0.25,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -16,24 +14,26 @@

import React from 'react';

import DraggableManager from '..';

import type { DraggableBounds, DraggingUpdate } from '..';
import DraggableManager, { DraggableBounds, DraggingUpdate } from '..';
import { TNil } from '../../../types';

import './RegionDemo.css';

type TUpdate = {
regionCursor?: number | null;
regionDragging?: number[] | null;
};

type RegionDemoProps = {
regionCursor: ?number,
regionDragging: ?[number, number],
updateState: ({}) => void,
regionCursor: number | TNil;
regionDragging: [number, number] | TNil;
updateState: (update: TUpdate) => void;
};

export default class RegionDemo extends React.PureComponent<RegionDemoProps> {
props: RegionDemoProps;

_dragManager: DraggableManager;

_realmElm: ?Element;
_realmElm: HTMLElement | TNil;

constructor(props: RegionDemoProps) {
super(props);
Expand All @@ -50,7 +50,7 @@ export default class RegionDemo extends React.PureComponent<RegionDemoProps> {
});
}

_setRealm = (elm: ?Element) => {
_setRealm = (elm: HTMLElement | TNil) => {
this._realmElm = elm;
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// @flow

// Copyright (c) 2017 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
Expand Down
1 change: 0 additions & 1 deletion packages/jaeger-ui/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@
// Required by CRA
"isolatedModules": true
},
"exclude": ["src/**/*.js"],
"include": ["src/**/*.tsx", "typings"]
}
1 change: 1 addition & 0 deletions packages/jaeger-ui/typings/custom.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,6 @@ declare module 'combokeys' {
}
}

declare module 'react-helmet';
declare module 'json-markup';
declare module 'tween-functions';