Unverified Commit 319d7fe8 authored by Marcos Iglesias's avatar Marcos Iglesias Committed by GitHub

refactor: Moves pages into its own folder (#624)

* Announcements, Dashboard, NotFound and Search pages into the pages folder
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Browse, Home, Preferences, and profile pages
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* TableDetail into pages folder
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Renames TableDetail into TableDetailPage
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Fixing some strict null issues
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Update betterer results
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Updates types, adds npm run check and updates stylelint rules due to prettier bug
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Updates betterer results
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Updates test coverage configuration and webpack setup for sourcemaps
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Style linting
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>

* Giving more buffer for test coverage
Signed-off-by: 's avatarMarcos Iglesias <miglesiasvalle@lyft.com>
parent 5ae93eb4
// BETTERER RESULTS V2.
exports[`strict null compilation`] = {
value: `{
"js/components/DashboardPage/DashboardOwnerEditor/index.spec.tsx:4125678807": [
[29, 19, 11, "Type \'{ manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }\' is not assignable to type \'User\'.\\n Types of property \'display_name\' are incompatible.\\n Type \'null\' is not assignable to type \'string\'.", "2041815528"]
],
"js/components/DashboardPage/DashboardOwnerEditor/index.tsx:3906399124": [
[46, 2, 4, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'null\' is not assignable to parameter of type \'{}\'.", "2087897566"]
],
"js/components/DashboardPage/index.spec.tsx:644863281": [
[53, 4, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"],
[212, 10, 18, "Type \'null\' is not assignable to type \'number\'.", "2901767208"],
[213, 10, 29, "Type \'null\' is not assignable to type \'number\'.", "1157138603"]
],
"js/components/Feedback/index.tsx:1605423346": [
[46, 6, 7, "Type \'FC<any> | undefined\' is not assignable to type \'FC<any>\'.\\n Type \'undefined\' is not assignable to type \'FunctionComponent<any>\'.", "3716929964"]
"js/components/Feedback/index.tsx:48207164": [
[45, 6, 7, "Type \'FC<any> | undefined\' is not assignable to type \'FC<any>\'.\\n Type \'undefined\' is not assignable to type \'FunctionComponent<any>\'.", "3716929964"]
],
"js/components/NavBar/index.spec.tsx:4130335159": [
[53, 54, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"],
......@@ -21,106 +10,6 @@ exports[`strict null compilation`] = {
[100, 32, 36, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "788521834"],
[110, 39, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<NavBarProps> | undefined\'.", "2087897566"]
],
"js/components/ProfilePage/index.spec.tsx:4086464143": [
[41, 6, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.", "2087897566"]
],
"js/components/ProfilePage/index.tsx:1096157973": [
[178, 6, 7, "Type \'Element\' is not assignable to type \'never\'.", "3716929964"],
[179, 6, 3, "Type \'string\' is not assignable to type \'never\'.", "193424690"],
[180, 6, 5, "Type \'string\' is not assignable to type \'never\'.", "183222373"],
[185, 8, 7, "Type \'Element\' is not assignable to type \'never\'.", "3716929964"],
[186, 8, 3, "Type \'string\' is not assignable to type \'never\'.", "193424690"],
[187, 8, 5, "Type \'string\' is not assignable to type \'never\'.", "183222373"],
[204, 6, 6, "Type \'Element\' is not assignable to type \'null\'.", "1320372020"],
[206, 6, 6, "Type \'Element\' is not assignable to type \'null\'.", "1320372020"],
[211, 6, 8, "Type \'Element\' is not assignable to type \'null\'.", "2362717523"],
[215, 6, 8, "Type \'Element\' is not assignable to type \'null\'.", "2362717523"],
[222, 6, 7, "Type \'Element\' is not assignable to type \'null\'.", "2834855792"],
[224, 6, 7, "Type \'Element\' is not assignable to type \'null\'.", "2834855792"],
[240, 6, 9, "Type \'Element\' is not assignable to type \'null\'.", "4194995369"],
[244, 6, 9, "Type \'Element\' is not assignable to type \'null\'.", "4194995369"],
[260, 6, 11, "Type \'Element\' is not assignable to type \'null\'.", "4082075310"],
[264, 6, 11, "Type \'Element\' is not assignable to type \'null\'.", "4082075310"],
[280, 6, 10, "Type \'Element\' is not assignable to type \'null\'.", "1383320160"],
[284, 6, 10, "Type \'Element\' is not assignable to type \'null\'.", "1383320160"],
[356, 2, 15, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'(state: GlobalState) => { user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' is not assignable to parameter of type \'MapStateToPropsParam<StateFromProps, {}, {}>\'.\\n Type \'(state: GlobalState) => { user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' is not assignable to type \'MapStateToPropsFactory<StateFromProps, {}, {}>\'.\\n Type \'{ user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' is not assignable to type \'MapStateToProps<StateFromProps, {}, {}>\'.\\n Type \'{ user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' provides no match for the signature \'(state: {}, ownProps: {}): StateFromProps\'.", "1389821531"]
],
"js/components/SearchPage/SearchFilter/FilterSection/index.spec.tsx:3610496091": [
[59, 13, 7, "Object is possibly \'undefined\'.", "3716929964"],
[72, 13, 7, "Object is possibly \'undefined\'.", "3716929964"],
[73, 13, 7, "Object is possibly \'undefined\'.", "3716929964"]
],
"js/components/SearchPage/SearchFilter/FilterSection/index.tsx:2956683404": [
[51, 48, 18, "Type \'CheckboxFilterProperties[] | undefined\' is not assignable to type \'CheckboxFilterProperties[]\'.\\n Type \'undefined\' is not assignable to type \'CheckboxFilterProperties[]\'.", "12656471"]
],
"js/components/SearchPage/SearchFilter/index.spec.tsx:3772392704": [
[234, 23, 9, "Argument of type \'undefined\' is not assignable to parameter of type \'FilterConfig\'.", "2620553983"]
],
"js/components/SearchPage/SearchFilter/index.tsx:2139967954": [
[78, 8, 42, "Type \'{ value: string; label: string | undefined; }[]\' is not assignable to type \'CheckboxFilterProperties[]\'.\\n Type \'{ value: string; label: string | undefined; }\' is not assignable to type \'CheckboxFilterProperties\'.\\n Types of property \'label\' are incompatible.\\n Type \'string | undefined\' is not assignable to type \'string\'.\\n Type \'undefined\' is not assignable to type \'string\'.", "3344322363"],
[84, 26, 7, "Argument of type \'{ categoryId: string; helpText: string | undefined; title: string; type: FilterType; }\' is not assignable to parameter of type \'never\'.", "2519086860"],
[93, 56, 4, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'null\' is not assignable to parameter of type \'{}\'.", "2087897566"]
],
"js/components/SearchPage/index.spec.tsx:279596202": [
[45, 52, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"],
[69, 34, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<SearchPageProps> | undefined\'.", "2087897566"],
[86, 34, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<SearchPageProps> | undefined\'.", "2087897566"],
[269, 14, 40, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "1257093057"],
[281, 14, 40, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "1257093057"],
[293, 14, 40, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "1257093057"],
[302, 8, 8, "Type \'null\' is not assignable to type \'ResourceType | undefined\'.", "2131237679"]
],
"js/components/SearchPage/index.tsx:1421221531": [
[175, 11, 12, "Property \'filterSections\' is missing in type \'{}\' but required in type \'Readonly<Pick<StateFromProps, \\"filterSections\\">>\'.", "250899467"]
],
"js/components/TableDetail/ColumnList/index.tsx:355148301": [
[22, 6, 7, "Object is possibly \'undefined\'.", "3718923584"],
[27, 21, 7, "Object is possibly \'undefined\'.", "3718923584"],
[33, 6, 8, "Type \'string | undefined\' is not assignable to type \'string\'.\\n Type \'undefined\' is not assignable to type \'string\'.", "1427606500"],
[34, 6, 7, "Type \'string | undefined\' is not assignable to type \'string\'.\\n Type \'undefined\' is not assignable to type \'string\'.", "3817619378"]
],
"js/components/TableDetail/ColumnStats/index.spec.tsx:1228258528": [
[90, 39, 4, "Argument of type \'null\' is not assignable to parameter of type \'number\'.", "2087897566"]
],
"js/components/TableDetail/DataPreviewButton/index.tsx:793484139": [
[141, 17, 16, "Object is possibly \'undefined\'.", "3451845569"],
[257, 30, 34, "Argument of type \'number | null\' is not assignable to parameter of type \'number\'.\\n Type \'null\' is not assignable to type \'number\'.", "3967943985"]
],
"js/components/TableDetail/SourceLink/index.spec.tsx:2646548231": [
[39, 21, 100, "Object is possibly \'null\'.", "1316242242"]
],
"js/components/TableDetail/TableDashboardResourceList/index.tsx:3147978263": [
[64, 2, 15, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'(state: GlobalState) => { dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' is not assignable to parameter of type \'MapStateToPropsParam<StateFromProps, OwnProps, {}>\'.\\n Type \'(state: GlobalState) => { dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' is not assignable to type \'MapStateToPropsFactory<StateFromProps, OwnProps, {}>\'.\\n Type \'{ dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' is not assignable to type \'MapStateToProps<StateFromProps, OwnProps, {}>\'.\\n Type \'{ dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' provides no match for the signature \'(state: {}, ownProps: OwnProps): StateFromProps\'.", "1389821531"]
],
"js/components/TableDetail/TableIssues/index.spec.tsx:285770959": [
[76, 8, 12, "Type \'null\' is not assignable to type \'string | undefined\'.", "124336133"]
],
"js/components/TableDetail/TableOwnerEditor/index.spec.tsx:3400494524": [
[28, 10, 6, "Type \'{ [x: string]: { manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }; }\' is not assignable to type \'OwnerDict\'.\\n Index signatures are incompatible.\\n Type \'{ manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }\' is not assignable to type \'User\'.", "1719502071"]
],
"js/components/TableDetail/WatermarkLabel/index.spec.tsx:3090288121": [
[77, 57, 4, "Argument of type \'null\' is not assignable to parameter of type \'string\'.", "2087897566"]
],
"js/components/TableDetail/WatermarkLabel/index.tsx:1354016727": [
[80, 34, 3, "Argument of type \'string | null\' is not assignable to parameter of type \'string\'.\\n Type \'null\' is not assignable to type \'string\'.", "193412913"]
],
"js/components/TableDetail/index.spec.tsx:2169788066": [
[32, 4, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"]
],
"js/components/TableDetail/index.tsx:3223260709": [
[153, 10, 13, "Type \'null\' is not assignable to type \'((newValue: string, onSuccess?: (() => any) | undefined, onFailure?: (() => any) | undefined) => void) | undefined\'.", "67794331"],
[165, 6, 7, "Type \'Element\' is not assignable to type \'never\'.", "3716929964"],
[173, 6, 3, "Type \'string\' is not assignable to type \'never\'.", "193424690"],
[174, 6, 5, "Type \'string\' is not assignable to type \'never\'.", "183222373"],
[184, 8, 7, "Type \'Element\' is not assignable to type \'never\'.", "3716929964"],
[185, 11, 26, "Type \'{ itemsPerPage: number; source: string; }\' is missing the following properties from type \'Readonly<Pick<TableDashboardResourceListProps, \\"source\\" | \\"isLoading\\" | \\"dashboards\\" | \\"errorText\\" | \\"itemsPerPage\\"> & OwnProps>\': isLoading, dashboards, errorText", "2224258167"],
[190, 8, 3, "Type \'string\' is not assignable to type \'never\'.", "193424690"],
[191, 8, 5, "Type \'string | Element\' is not assignable to type \'never\'.\\n Type \'string\' is not assignable to type \'never\'.", "183222373"],
[265, 16, 7, "Type \'string | null\' is not assignable to type \'string | undefined\'.\\n Type \'null\' is not assignable to type \'string | undefined\'.", "3817619378"],
[307, 20, 35, "Argument of type \'ProgrammaticDescription[] | undefined\' is not assignable to parameter of type \'ProgrammaticDescription[]\'.\\n Type \'undefined\' is not assignable to type \'ProgrammaticDescription[]\'.", "4249007202"],
[321, 20, 36, "Argument of type \'ProgrammaticDescription[] | undefined\' is not assignable to parameter of type \'ProgrammaticDescription[]\'.\\n Type \'undefined\' is not assignable to type \'ProgrammaticDescription[]\'.", "2770872537"],
[326, 16, 36, "Argument of type \'ProgrammaticDescription[] | undefined\' is not assignable to parameter of type \'ProgrammaticDescription[]\'.\\n Type \'undefined\' is not assignable to type \'ProgrammaticDescription[]\'.", "2776557981"]
],
"js/components/common/Announcements/AnnouncementsList/index.spec.tsx:1395073325": [
[94, 23, 124, "Object is possibly \'null\'.", "4248337497"]
],
......@@ -170,7 +59,7 @@ exports[`strict null compilation`] = {
[18, 6, 9, "Type \'null\' is not assignable to type \'boolean | undefined\'.", "1517648899"],
[21, 6, 8, "Type \'null\' is not assignable to type \'boolean | undefined\'.", "2673870115"]
],
"js/components/common/OwnerEditor/index.tsx:4237797567": [
"js/components/common/OwnerEditor/index.tsx:3127875743": [
[92, 4, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"],
[97, 4, 22, "Cannot invoke an object which is possibly \'undefined\'.", "2225424112"],
[104, 27, 6, "Type \'UpdateMethod.DELETE\' is not assignable to type \'never\'.", "1469012122"],
......@@ -189,9 +78,9 @@ exports[`strict null compilation`] = {
[161, 14, 18, "Type \'null\' is not assignable to type \'string | undefined\'.", "3750638477"],
[229, 14, 6, "Type \'null\' is not assignable to type \'Badge[] | undefined\'.", "1502764275"]
],
"js/components/common/ResourceListItem/UserListItem/index.tsx:101883333": [
[31, 21, 49, "Argument of type \'Element\' is not assignable to parameter of type \'never\'.", "2430213531"],
[34, 21, 49, "Argument of type \'Element\' is not assignable to parameter of type \'never\'.", "1883272571"]
"js/components/common/ResourceListItem/UserListItem/index.tsx:942740425": [
[29, 21, 49, "Argument of type \'Element\' is not assignable to parameter of type \'never\'.", "2430213531"],
[32, 21, 49, "Argument of type \'Element\' is not assignable to parameter of type \'never\'.", "1883272571"]
],
"js/components/common/ScrollTracker/index.tsx:727804392": [
[55, 30, 29, "Argument of type \'number | undefined\' is not assignable to parameter of type \'number\'.\\n Type \'undefined\' is not assignable to type \'number\'.", "745919071"]
......@@ -370,6 +259,105 @@ exports[`strict null compilation`] = {
[36, 6, 10, "Type \'null\' is not assignable to type \'(location: LocationDescriptorObject<{} | null | undefined>) => string\'.", "1487278680"],
[37, 6, 6, "Type \'null\' is not assignable to type \'(listener: LocationListener<{} | null | undefined>) => UnregisterCallback\'.", "1420496588"]
],
"js/pages/DashboardPage/DashboardOwnerEditor/index.spec.tsx:4125678807": [
[29, 19, 11, "Type \'{ manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }\' is not assignable to type \'User\'.\\n Types of property \'display_name\' are incompatible.\\n Type \'null\' is not assignable to type \'string\'.", "2041815528"]
],
"js/pages/DashboardPage/index.spec.tsx:644863281": [
[53, 4, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"],
[212, 10, 18, "Type \'null\' is not assignable to type \'number\'.", "2901767208"],
[213, 10, 29, "Type \'null\' is not assignable to type \'number\'.", "1157138603"]
],
"js/pages/ProfilePage/index.spec.tsx:4086464143": [
[41, 6, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.", "2087897566"]
],
"js/pages/ProfilePage/index.tsx:1096157973": [
[178, 6, 7, "Type \'Element\' is not assignable to type \'never\'.", "3716929964"],
[179, 6, 3, "Type \'string\' is not assignable to type \'never\'.", "193424690"],
[180, 6, 5, "Type \'string\' is not assignable to type \'never\'.", "183222373"],
[185, 8, 7, "Type \'Element\' is not assignable to type \'never\'.", "3716929964"],
[186, 8, 3, "Type \'string\' is not assignable to type \'never\'.", "193424690"],
[187, 8, 5, "Type \'string\' is not assignable to type \'never\'.", "183222373"],
[204, 6, 6, "Type \'Element\' is not assignable to type \'null\'.", "1320372020"],
[206, 6, 6, "Type \'Element\' is not assignable to type \'null\'.", "1320372020"],
[211, 6, 8, "Type \'Element\' is not assignable to type \'null\'.", "2362717523"],
[215, 6, 8, "Type \'Element\' is not assignable to type \'null\'.", "2362717523"],
[222, 6, 7, "Type \'Element\' is not assignable to type \'null\'.", "2834855792"],
[224, 6, 7, "Type \'Element\' is not assignable to type \'null\'.", "2834855792"],
[240, 6, 9, "Type \'Element\' is not assignable to type \'null\'.", "4194995369"],
[244, 6, 9, "Type \'Element\' is not assignable to type \'null\'.", "4194995369"],
[260, 6, 11, "Type \'Element\' is not assignable to type \'null\'.", "4082075310"],
[264, 6, 11, "Type \'Element\' is not assignable to type \'null\'.", "4082075310"],
[280, 6, 10, "Type \'Element\' is not assignable to type \'null\'.", "1383320160"],
[284, 6, 10, "Type \'Element\' is not assignable to type \'null\'.", "1383320160"],
[356, 2, 15, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'(state: GlobalState) => { user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' is not assignable to parameter of type \'MapStateToPropsParam<StateFromProps, {}, {}>\'.\\n Type \'(state: GlobalState) => { user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' is not assignable to type \'MapStateToPropsFactory<StateFromProps, {}, {}>\'.\\n Type \'{ user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' is not assignable to type \'MapStateToProps<StateFromProps, {}, {}>\'.\\n Type \'{ user: PeopleUser; resourceRelations: { table: { bookmarks: Bookmark[]; own: Resource[]; read: Resource[]; }; dashboard: { bookmarks: Bookmark[] | undefined; own: Resource[] | undefined; read: never[]; }; }; }\' provides no match for the signature \'(state: {}, ownProps: {}): StateFromProps\'.", "1389821531"]
],
"js/pages/SearchPage/SearchFilter/FilterSection/index.spec.tsx:3610496091": [
[59, 13, 7, "Object is possibly \'undefined\'.", "3716929964"],
[72, 13, 7, "Object is possibly \'undefined\'.", "3716929964"],
[73, 13, 7, "Object is possibly \'undefined\'.", "3716929964"]
],
"js/pages/SearchPage/SearchFilter/FilterSection/index.tsx:2956683404": [
[51, 48, 18, "Type \'CheckboxFilterProperties[] | undefined\' is not assignable to type \'CheckboxFilterProperties[]\'.\\n Type \'undefined\' is not assignable to type \'CheckboxFilterProperties[]\'.", "12656471"]
],
"js/pages/SearchPage/SearchFilter/index.spec.tsx:3772392704": [
[234, 23, 9, "Argument of type \'undefined\' is not assignable to parameter of type \'FilterConfig\'.", "2620553983"]
],
"js/pages/SearchPage/SearchFilter/index.tsx:2139967954": [
[78, 8, 42, "Type \'{ value: string; label: string | undefined; }[]\' is not assignable to type \'CheckboxFilterProperties[]\'.\\n Type \'{ value: string; label: string | undefined; }\' is not assignable to type \'CheckboxFilterProperties\'.\\n Types of property \'label\' are incompatible.\\n Type \'string | undefined\' is not assignable to type \'string\'.\\n Type \'undefined\' is not assignable to type \'string\'.", "3344322363"],
[84, 26, 7, "Argument of type \'{ categoryId: string; helpText: string | undefined; title: string; type: FilterType; }\' is not assignable to parameter of type \'never\'.", "2519086860"],
[93, 56, 4, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'null\' is not assignable to parameter of type \'{}\'.", "2087897566"]
],
"js/pages/SearchPage/index.spec.tsx:2996104118": [
[45, 52, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"],
[69, 34, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<SearchPageProps> | undefined\'.", "2087897566"],
[86, 34, 4, "Argument of type \'null\' is not assignable to parameter of type \'Partial<SearchPageProps> | undefined\'.", "2087897566"],
[269, 14, 40, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "1257093057"],
[281, 14, 40, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "1257093057"],
[293, 14, 40, "No overload matches this call.\\n Overload 1 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 2 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Overload 3 of 3, \'(node: ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>, options?: ShallowRendererProps | undefined): ShallowWrapper<...>\', gave the following error.\\n Argument of type \'Element | null\' is not assignable to parameter of type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.\\n Type \'null\' is not assignable to type \'ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<any, any, any>)>\'.", "1257093057"],
[302, 8, 8, "Type \'null\' is not assignable to type \'ResourceType | undefined\'.", "2131237679"]
],
"js/pages/SearchPage/index.tsx:4000484656": [
[174, 11, 12, "Property \'filterSections\' is missing in type \'{}\' but required in type \'Readonly<Pick<StateFromProps, \\"filterSections\\">>\'.", "250899467"]
],
"js/pages/TableDetailPage/ColumnList/index.tsx:355148301": [
[22, 6, 7, "Object is possibly \'undefined\'.", "3718923584"],
[27, 21, 7, "Object is possibly \'undefined\'.", "3718923584"],
[33, 6, 8, "Type \'string | undefined\' is not assignable to type \'string\'.\\n Type \'undefined\' is not assignable to type \'string\'.", "1427606500"],
[34, 6, 7, "Type \'string | undefined\' is not assignable to type \'string\'.\\n Type \'undefined\' is not assignable to type \'string\'.", "3817619378"]
],
"js/pages/TableDetailPage/ColumnStats/index.spec.tsx:1228258528": [
[90, 39, 4, "Argument of type \'null\' is not assignable to parameter of type \'number\'.", "2087897566"]
],
"js/pages/TableDetailPage/DataPreviewButton/index.tsx:793484139": [
[141, 17, 16, "Object is possibly \'undefined\'.", "3451845569"],
[257, 30, 34, "Argument of type \'number | null\' is not assignable to parameter of type \'number\'.\\n Type \'null\' is not assignable to type \'number\'.", "3967943985"]
],
"js/pages/TableDetailPage/SourceLink/index.spec.tsx:2646548231": [
[39, 21, 100, "Object is possibly \'null\'.", "1316242242"]
],
"js/pages/TableDetailPage/TableDashboardResourceList/index.tsx:3147978263": [
[64, 2, 15, "No overload matches this call.\\n The last overload gave the following error.\\n Argument of type \'(state: GlobalState) => { dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' is not assignable to parameter of type \'MapStateToPropsParam<StateFromProps, OwnProps, {}>\'.\\n Type \'(state: GlobalState) => { dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' is not assignable to type \'MapStateToPropsFactory<StateFromProps, OwnProps, {}>\'.\\n Type \'{ dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' is not assignable to type \'MapStateToProps<StateFromProps, OwnProps, {}>\'.\\n Type \'{ dashboards: DashboardResource[]; isLoading: boolean; errorText: string | undefined; }\' provides no match for the signature \'(state: {}, ownProps: OwnProps): StateFromProps\'.", "1389821531"]
],
"js/pages/TableDetailPage/TableOwnerEditor/index.spec.tsx:3400494524": [
[28, 10, 6, "Type \'{ [x: string]: { manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }; }\' is not assignable to type \'OwnerDict\'.\\n Index signatures are incompatible.\\n Type \'{ manager_id: null; manager_fullname: null; manager_email: null; profile_url: string; role_name: null; display_name: null; github_username: null; team_name: null; last_name: null; full_name: null; ... 6 more ...; user_id: string; }\' is not assignable to type \'User\'.", "1719502071"]
],
"js/pages/TableDetailPage/WatermarkLabel/index.spec.tsx:1587893154": [
[77, 57, 4, "Argument of type \'null\' is not assignable to parameter of type \'string\'.", "2087897566"]
],
"js/pages/TableDetailPage/WatermarkLabel/index.tsx:1354016727": [
[80, 34, 3, "Argument of type \'string | null\' is not assignable to parameter of type \'string\'.\\n Type \'null\' is not assignable to type \'string\'.", "193412913"]
],
"js/pages/TableDetailPage/index.spec.tsx:2169788066": [
[32, 4, 8, "Argument of type \'Partial<Location<{} | null | undefined>> | undefined\' is not assignable to parameter of type \'Partial<Location<{} | null | undefined>>\'.\\n Type \'undefined\' is not assignable to type \'Partial<Location<{} | null | undefined>>\'.", "2700611480"]
],
"js/pages/TableDetailPage/index.tsx:1890000211": [
[152, 10, 13, "Type \'null\' is not assignable to type \'((newValue: string, onSuccess?: (() => any) | undefined, onFailure?: (() => any) | undefined) => void) | undefined\'.", "67794331"],
[185, 11, 26, "Type \'{ itemsPerPage: number; source: string; }\' is missing the following properties from type \'Readonly<Pick<TableDashboardResourceListProps, \\"source\\" | \\"isLoading\\" | \\"dashboards\\" | \\"itemsPerPage\\" | \\"errorText\\"> & OwnProps>\': isLoading, dashboards, errorText", "2224258167"],
[265, 16, 7, "Type \'string | null\' is not assignable to type \'string | undefined\'.\\n Type \'null\' is not assignable to type \'string | undefined\'.", "3817619378"],
[307, 20, 35, "Argument of type \'ProgrammaticDescription[] | undefined\' is not assignable to parameter of type \'ProgrammaticDescription[]\'.\\n Type \'undefined\' is not assignable to type \'ProgrammaticDescription[]\'.", "4249007202"],
[321, 20, 36, "Argument of type \'ProgrammaticDescription[] | undefined\' is not assignable to parameter of type \'ProgrammaticDescription[]\'.\\n Type \'undefined\' is not assignable to type \'ProgrammaticDescription[]\'.", "2770872537"],
[326, 16, 36, "Argument of type \'ProgrammaticDescription[] | undefined\' is not assignable to parameter of type \'ProgrammaticDescription[]\'.\\n Type \'undefined\' is not assignable to type \'ProgrammaticDescription[]\'.", "2776557981"]
],
"js/utils/navigationUtils.ts:1127210474": [
[19, 50, 21, "Type \'undefined\' cannot be used as an index type.", "602535635"]
],
......
......@@ -7,10 +7,16 @@ module.exports = {
statements: 90,
},
'./js/components': {
branches: 60, // 75
functions: 65, // 75
lines: 65, // 75
statements: 70, // 75
branches: 67, // 75
functions: 67, // 75
lines: 75, // 75
statements: 75, // 75
},
'./js/pages': {
branches: 65, // 75
functions: 72, // 75
lines: 81, // 75
statements: 78, // 75
},
'./js/ducks': {
branches: 75,
......@@ -33,6 +39,7 @@ module.exports = {
},
testRegex: '(test|spec)\\.(j|t)sx?$',
moduleDirectories: ['node_modules', 'js'],
coveragePathIgnorePatterns: ['stories/*', 'constants.ts'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
moduleNameMapper: {
'^.+\\.(css|scss)$': '<rootDir>/node_modules/jest-css-modules',
......
......@@ -3,7 +3,6 @@
import * as React from 'react';
import { Button, Panel } from 'react-bootstrap';
import BugReportFeedbackForm from './FeedbackForm/BugReportFeedbackForm';
import RatingFeedbackForm from './FeedbackForm/RatingFeedbackForm';
import RequestFeedbackForm from './FeedbackForm/RequestFeedbackForm';
......
......@@ -3,11 +3,11 @@
import * as React from 'react';
import { Link } from 'react-router-dom';
import { Modal } from 'react-bootstrap';
import AppConfig from 'config/config';
import AvatarLabel, { AvatarLabelProps } from 'components/common/AvatarLabel';
import LoadingSpinner from 'components/common/LoadingSpinner';
import { Modal } from 'react-bootstrap';
import { ResourceType, UpdateMethod, UpdateOwnerPayload } from 'interfaces';
// TODO: Use css-modules instead of 'import'
......
......@@ -3,6 +3,7 @@
import * as React from 'react';
import { OverlayTrigger, Popover } from 'react-bootstrap';
import './styles.scss';
export interface SchemaInfoProps {
......
......@@ -6,8 +6,6 @@ import * as Avatar from 'react-avatar';
import { Link } from 'react-router-dom';
import { UserResource } from 'interfaces';
import Flag from 'components/common/Flag';
import { BadgeStyle } from 'config/config-types';
import { LoggingParams } from '../types';
export interface UserListItemProps {
......
......@@ -8,9 +8,6 @@ $shimmer-loader-items: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14;
$shimmer-loader-tag-max-width: 130;
$shimmer-loader-tag-min-width: 50;
.shimmer-tag-list-loader {
}
.shimmer-tag-loader-item {
margin: 0 $spacer-1 $spacer-1 0;
height: $shimmer-loader-tag-height;
......
......@@ -13,10 +13,10 @@ export interface TabsProps {
onSelect?: (key: string) => void;
}
interface TabInfo {
export interface TabInfo {
content: JSX.Element;
key: string;
title: string;
title: string | JSX.Element;
}
const TabsComponent: React.FC<TabsProps> = ({
......
import axios, { AxiosResponse } from 'axios';
import * as qs from 'simple-query-string';
import { QueryResource, ResourceType } from 'interfaces/Resources';
import { ResourceType } from 'interfaces/Resources';
import { DashboardMetadata } from 'interfaces/Dashboard';
export type GetDashboardAPI = {
......
......@@ -6,26 +6,26 @@ import 'core-js/stable';
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import * as ReduxPromise from 'redux-promise';
import createSagaMiddleware from 'redux-saga';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import { Router, Route, Switch } from 'react-router-dom';
import DocumentTitle from 'react-document-title';
import DashboardPage from 'components/DashboardPage';
import Preloader from 'components/common/Preloader';
import { BrowserHistory } from 'utils/navigationUtils';
import AnnouncementPage from './components/AnnouncementPage';
import BrowsePage from './components/BrowsePage';
import DashboardPage from './pages/DashboardPage';
import AnnouncementPage from './pages/AnnouncementPage';
import BrowsePage from './pages/BrowsePage';
import HomePage from './pages/HomePage';
import NotFoundPage from './pages/NotFoundPage';
import SearchPage from './pages/SearchPage';
import ProfilePage from './pages/ProfilePage';
import TableDetail from './pages/TableDetailPage';
import Preloader from './components/common/Preloader';
import Footer from './components/Footer';
import HomePage from './components/HomePage';
import NavBar from './components/NavBar';
import NotFoundPage from './components/NotFoundPage';
import ProfilePage from './components/ProfilePage';
import SearchPage from './components/SearchPage';
import TableDetail from './components/TableDetail';
import rootReducer from './ducks/rootReducer';
import rootSaga from './ducks/rootSaga';
......
......@@ -44,5 +44,5 @@ export const mapStateToProps = (state: GlobalState) => {
export default connect<StateFromProps, {}, ComponentProps>(
mapStateToProps,
null
{}
)(OwnerEditor);
......@@ -16,21 +16,9 @@ import Breadcrumb from 'components/common/Breadcrumb';
import BookmarkIcon from 'components/common/Bookmark/BookmarkIcon';
import EditableSection from 'components/common/EditableSection';
import LoadingSpinner from 'components/common/LoadingSpinner';
import TabsComponent from 'components/common/TabsComponent';
import DashboardOwnerEditor from 'components/DashboardPage/DashboardOwnerEditor';
import QueryList from 'components/DashboardPage/QueryList';
import ChartList from 'components/DashboardPage/ChartList';
import TabsComponent, { TabInfo } from 'components/common/TabsComponent';
import ResourceStatusMarker from 'components/common/ResourceStatusMarker';
import ResourceList from 'components/common/ResourceList';
import {
ADD_DESC_TEXT,
EDIT_DESC_TEXT,
OWNER_HEADER_TEXT,
DASHBOARD_SOURCE,
TABLES_PER_PAGE,
LAST_RUN_SUCCEEDED,
STATUS_TEXT,
} from 'components/DashboardPage/constants';
import TagInput from 'components/common/Tags/TagInput';
import { NO_TIMESTAMP_TEXT } from 'components/constants';
......@@ -40,6 +28,18 @@ import { getLoggingParams } from 'utils/logUtils';
import { ResourceType } from 'interfaces';
import { DashboardMetadata } from 'interfaces/Dashboard';
import {
ADD_DESC_TEXT,
EDIT_DESC_TEXT,
OWNER_HEADER_TEXT,
DASHBOARD_SOURCE,
TABLES_PER_PAGE,
LAST_RUN_SUCCEEDED,
STATUS_TEXT,
} from './constants';
import ChartList from './ChartList';
import QueryList from './QueryList';
import DashboardOwnerEditor from './DashboardOwnerEditor';
import ImagePreview from './ImagePreview';
......@@ -49,12 +49,6 @@ interface DashboardPageState {
uri: string;
}
type TabInfo = {
content: JSX.Element;
key: string;
title: string;
};
export interface StateFromProps {
isLoading: boolean;
statusCode: number;
......
......@@ -5,11 +5,6 @@ import * as React from 'react';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import {
DASHBOARD_RESOURCE_TITLE,
TABLE_RESOURCE_TITLE,
USER_RESOURCE_TITLE,
} from 'components/SearchPage/constants';
import { indexDashboardsEnabled, indexUsersEnabled } from 'config/config-utils';
import { GlobalState } from 'ducks/rootReducer';
import { updateSearchState } from 'ducks/search/reducer';
......@@ -20,6 +15,11 @@ import {
UserSearchResults,
} from 'ducks/search/types';
import { ResourceType } from 'interfaces/Resources';
import {
DASHBOARD_RESOURCE_TITLE,
TABLE_RESOURCE_TITLE,
USER_RESOURCE_TITLE,
} from '../constants';
const RESOURCE_SELECTOR_TITLE = 'Resource';
......
......@@ -9,9 +9,9 @@ import { shallow } from 'enzyme';
import { ResourceType } from 'interfaces';
import ResourceSelector from 'components/SearchPage/ResourceSelector';
import SearchFilter from 'components/SearchPage/SearchFilter';
import SearchPanel from 'components/SearchPage/SearchPanel';
import ResourceSelector from 'pages/SearchPage/ResourceSelector';
import SearchFilter from 'pages/SearchPage/SearchFilter';
import SearchPanel from 'pages/SearchPage/SearchPanel';
import PaginatedApiResourceList from 'components/common/ResourceList/PaginatedApiResourceList';
import globalState from 'fixtures/globalState';
......
......@@ -8,7 +8,6 @@ import * as DocumentTitle from 'react-document-title';
import { RouteComponentProps } from 'react-router';
import { Search as UrlSearch } from 'history';
import LoadingSpinner from 'components/common/LoadingSpinner';
import PaginatedApiResourceList from 'components/common/ResourceList/PaginatedApiResourceList';
import ShimmeringResourceLoader from 'components/common/ShimmeringResourceLoader';
......
......@@ -32,6 +32,7 @@ $modal-dialog-width: 418px;
height: calc(#{$modal-dialog-height - $modal-header-height - $spacer-3});
font-family: $font-family-monospace-code;
font-size: $code-font-size;
/* Override react-bootstrap styles to match design */
margin: 0 $spacer-3 !important;
padding: $spacer-1 0 !important;
......@@ -51,14 +52,17 @@ $modal-dialog-width: 418px;
.modal-header {
border-bottom: none;
height: $modal-header-height;
/* Override react-bootstrap styles to match design */
padding: $spacer-3 !important;
.main-title {
@extend %text-title-w1;
}
.sub-title {
@extend %text-subtitle-w3;
color: $text-secondary;
}
}
......@@ -72,13 +76,15 @@ $modal-dialog-width: 418px;
text-align: center;
padding: 0 !important;
}
.modal:before {
.modal::before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -4px;
}
.modal-dialog {
display: inline-block;
vertical-align: middle;
......
......@@ -4,17 +4,13 @@
import * as React from 'react';
import { shallow } from 'enzyme';
import ColumnDescEditableText from 'components/TableDetail/ColumnDescEditableText';
import {
ColumnListItem,
ColumnListItemProps,
mapDispatchToProps,
} from 'components/TableDetail/ColumnListItem';
import EditableSection from 'components/common/EditableSection';
import ColumnStats from 'components/TableDetail/ColumnStats';
import AppConfig from 'config/config';
import EditableSection from 'components/common/EditableSection';
import * as UtilMethods from 'ducks/utilMethods';
import { RequestMetadataType } from 'interfaces/Notifications';
import ColumnStats from '../ColumnStats';
import ColumnDescEditableText from '../ColumnDescEditableText';
import { ColumnListItem, ColumnListItemProps, mapDispatchToProps } from '.';
import ColumnType from './ColumnType';
......
......@@ -6,8 +6,6 @@ import { Dropdown, MenuItem } from 'react-bootstrap';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import ColumnDescEditableText from 'components/TableDetail/ColumnDescEditableText';
import ColumnStats from 'components/TableDetail/ColumnStats';
import { notificationsEnabled, getMaxLength } from 'config/config-utils';
import { openRequestDescriptionDialog } from 'ducks/notification/reducer';
import { OpenRequestAction } from 'ducks/notification/types';
......@@ -16,6 +14,8 @@ import { RequestMetadataType, TableColumn } from 'interfaces';
import './styles.scss';
import EditableSection from 'components/common/EditableSection';
import ColumnStats from '../ColumnStats';
import ColumnDescEditableText from '../ColumnDescEditableText';
import ColumnType from './ColumnType';
const MORE_BUTTON_TEXT = 'More options';
......
......@@ -3,11 +3,13 @@
import * as React from 'react';
import { shallow } from 'enzyme';
import * as ConfigUtils from 'config/config-utils';
import ExploreButton from 'components/TableDetail/ExploreButton';
import { TableMetadata } from 'interfaces/TableMetadata';
import { logClick } from 'ducks/utilMethods';
import ExploreButton from '.';
let mockExploreEnabled = true;
let mockExploreUrl = 'https://test-website.com';
......
import * as React from 'react';
import { Dropdown } from 'react-bootstrap';
import { ResourceReport } from 'interfaces/index';
import { Dropdown } from 'react-bootstrap';
export interface ResourceReportProps {
resourceReports: ResourceReport[];
......
......@@ -2,13 +2,12 @@
// SPDX-License-Identifier: Apache-2.0
import * as React from 'react';
import { shallow } from 'enzyme';
import AppConfig from 'config/config';
import globalState from 'fixtures/globalState';
import { NO_DATA_ISSUES_TEXT } from 'components/TableDetail/TableIssues/constants';
import { NO_DATA_ISSUES_TEXT } from './constants';
import {
TableIssues,
TableIssueProps,
......@@ -74,7 +73,7 @@ describe('TableIssues', () => {
const { wrapper } = setup({
issues: [],
total: 0,
allIssuesUrl: null,
allIssuesUrl: undefined,
});
expect(wrapper.find('.table-issue-more-issues').length).toEqual(0);
});
......
......@@ -10,7 +10,7 @@ import { Issue } from 'interfaces';
import { getIssues } from 'ducks/issue/reducer';
import { logClick } from 'ducks/utilMethods';
import { GetIssuesRequest } from 'ducks/issue/types';
import ReportTableIssue from 'components/TableDetail/ReportTableIssue';
import ReportTableIssue from '../ReportTableIssue';
import { NO_DATA_ISSUES_TEXT } from './constants';
import './styles.scss';
......
......@@ -8,7 +8,7 @@ import {
NO_WATERMARK_LINE_1,
NO_WATERMARK_LINE_2,
WatermarkType,
} from 'components/TableDetail/WatermarkLabel/constants';
} from './constants';
import WatermarkLabel, { WatermarkLabelProps } from '.';
describe('WatermarkLabel', () => {
......
......@@ -23,36 +23,33 @@ import {
import BadgeList from 'components/common/BadgeList';
import BookmarkIcon from 'components/common/Bookmark/BookmarkIcon';
import Breadcrumb from 'components/common/Breadcrumb';
import TabsComponent from 'components/common/TabsComponent';
import TabsComponent, { TabInfo } from 'components/common/TabsComponent';
import TagInput from 'components/common/Tags/TagInput';
import EditableText from 'components/common/EditableText';
import LoadingSpinner from 'components/common/LoadingSpinner';
import ColumnList from 'components/TableDetail/ColumnList';
import DataPreviewButton from 'components/TableDetail/DataPreviewButton';
import ExploreButton from 'components/TableDetail/ExploreButton';
import FrequentUsers from 'components/TableDetail/FrequentUsers';
import LineageLink from 'components/TableDetail/LineageLink';
import TableOwnerEditor from 'components/TableDetail/TableOwnerEditor';
import SourceLink from 'components/TableDetail/SourceLink';
import TableDashboardResourceList from 'components/TableDetail/TableDashboardResourceList';
import TableDescEditableText from 'components/TableDetail/TableDescEditableText';
import TableHeaderBullets from 'components/TableDetail/TableHeaderBullets';
import TableIssues from 'components/TableDetail/TableIssues';
import WatermarkLabel from 'components/TableDetail/WatermarkLabel';
import WriterLink from 'components/TableDetail/WriterLink';
import {
ProgrammaticDescription,
ResourceType,
TableMetadata,
} from 'interfaces';
import EditableSection from 'components/common/EditableSection';
import TableReportsDropdown from 'components/TableDetail/ResourceReportsDropdown';
import { formatDateTimeShort } from 'utils/dateUtils';
import { getLoggingParams } from 'utils/logUtils';
import ColumnList from './ColumnList';
import DataPreviewButton from './DataPreviewButton';
import ExploreButton from './ExploreButton';
import FrequentUsers from './FrequentUsers';
import LineageLink from './LineageLink';
import TableOwnerEditor from './TableOwnerEditor';
import SourceLink from './SourceLink';
import TableDashboardResourceList from './TableDashboardResourceList';
import TableDescEditableText from './TableDescEditableText';
import TableHeaderBullets from './TableHeaderBullets';
import TableIssues from './TableIssues';
import WatermarkLabel from './WatermarkLabel';
import WriterLink from './WriterLink';
import TableReportsDropdown from './ResourceReportsDropdown';
import RequestDescriptionText from './RequestDescriptionText';
import RequestMetadataForm from './RequestMetadataForm';
......@@ -79,12 +76,14 @@ export interface DispatchFromProps {
source?: string
) => GetTableDataRequest;
}
export interface MatchProps {
cluster: string;
database: string;
schema: string;
table: string;
}
export type TableDetailProps = StateFromProps &
DispatchFromProps &
RouteComponentProps<MatchProps>;
......@@ -158,7 +157,7 @@ export class TableDetail extends React.Component<
};
renderTabs(editText, editUrl) {
const tabInfo = [];
const tabInfo: TabInfo[] = [];
const { isLoadingDashboards, numRelatedDashboards, tableData } = this.props;
// Default Column content
......@@ -181,6 +180,7 @@ export class TableDetail extends React.Component<
Dashboards <LoadingSpinner />
</div>
);
tabInfo.push({
content: (
<TableDashboardResourceList
......
......@@ -28,7 +28,8 @@
"storybook": "cross-env TS_NODE_PROJECT='tsconfig.webpack.json' start-storybook -s ../ -p 6006",
"build-storybook": "cross-env TS_NODE_PROJECT='tsconfig.webpack.json' build-storybook",
"betterer": "betterer",
"betterer:update": "betterer --update"
"betterer:update": "betterer --update",
"check": "npm run eslint:errors && npm run stylelint && npm run tsc && npn run betterer"
},
"author": "",
"license": "Apache-2.0",
......@@ -510,8 +511,10 @@
],
"rules": {
"prettier/prettier": true,
"indentation": null,
"scss/dollar-variable-colon-space-after": "always",
"no-descending-specificity": null,
"declaration-colon-newline-after": null,
"block-no-empty": null,
"at-rule-no-unknown": [
true,
......
......@@ -17,6 +17,7 @@ const VENDORS_PATTERN = /[\\/]node_modules[\\/](react|react-dom)[\\/]/;
const PATHS = {
dist: path.join(__dirname, '/dist'),
pages: path.join(__dirname, '/js/pages'),
components: path.join(__dirname, '/js/components'),
config: path.join(__dirname, '/js/config'),
ducks: path.join(__dirname, '/js/ducks'),
......@@ -59,6 +60,7 @@ const config: webpack.Configuration = {
devtool: 'source-map',
resolve: {
alias: {
pages: PATHS.pages,
components: PATHS.components,
config: PATHS.config,
ducks: PATHS.ducks,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment