Skip to content

Commit

Permalink
updates dependencies and linting
Browse files Browse the repository at this point in the history
  • Loading branch information
dimitropoulos committed Dec 20, 2020
1 parent 1ddd977 commit acb4936
Show file tree
Hide file tree
Showing 22 changed files with 991 additions and 784 deletions.
8 changes: 8 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
module.exports = {
extends: 'eslint-config-intense',
rules: {
'@typescript-eslint/consistent-indexed-object-style': ['error', 'index-signature'], // index-signature is better because it allows you to provide a variable name for the key which serves as a sort of documentation of the author's intent
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'simple-import-sort/exports': 'error',
'simple-import-sort/imports': 'error',
}
};
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
node_modules
dist
.cache
.env.local
.env.local
yarn-error.log
48 changes: 24 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,38 +83,38 @@ PLEASE SEE `markdown/generate-readme.ts` and the files in the `frameworks` direc
-->
| Name | Homepage | Repository | Stars | Forks | Issues | License |
| --- | --- | --- | --- | --- | --- | --- |
| Ant Design | [ant.design](https://ant.design) | [ant-design/ant-design](https://github.com/ant-design/ant-design) | 63,543 | 24,280 | 491 | MIT |
| Ant Design | [ant.design](https://ant.design) | [ant-design/ant-design](https://github.com/ant-design/ant-design) | 65,559 | 25,740 | 562 | MIT |
| Atlaskit | [atlassian.design](https://atlassian.design) | [bitbucket.org/atlassian/atlaskit-mk-2](https://bitbucket.org/atlassian/atlaskit-mk-2) | -- | -- | -- | -- |
| Blueprint | [blueprintjs.com](https://blueprintjs.com) | [palantir/blueprint](https://github.com/palantir/blueprint) | 16,734 | 1,732 | 527 | Apache 2.0 |
| Carbon Design | [react.carbondesignsystem.com](http://react.carbondesignsystem.com) | [carbon-design-system/carbon](https://github.com/carbon-design-system/carbon) | 3,494 | 780 | 460 | Apache 2.0 |
| Chakra UI | [chakra-ui.com](https://chakra-ui.com) | [chakra-ui/chakra-ui](https://github.com/chakra-ui/chakra-ui) | 10,630 | 718 | 85 | MIT |
| Elastic UI | [elastic.github.io/eui](https://elastic.github.io/eui) | [elastic/eui](https://github.com/elastic/eui) | 2,230 | 391 | 304 | Apache 2.0 |
| Element | [element.eleme.io](https://element.eleme.io) | [ElemeFE/element](https://github.com/ElemeFE/element) | 47,344 | 11,453 | 1,958 | MIT |
| Elemental UI | [elemental-ui.com](http://elemental-ui.com) | [elementalui/elemental](https://github.com/elementalui/elemental) | 4,320 | 247 | 50 | MIT |
| Evergreen | [evergreen.segment.com](https://evergreen.segment.com) | [segmentio/evergreen](https://github.com/segmentio/evergreen) | 10,079 | 580 | 58 | MIT |
| Gestalt | [gestalt.netlify.app](https://gestalt.netlify.app) | [pinterest/gestalt](https://github.com/pinterest/gestalt) | 3,636 | 264 | 11 | Apache 2.0 |
| Grommet | [v2.grommet.io](https://v2.grommet.io) | [grommet/grommet](https://github.com/grommet/grommet) | 6,640 | 797 | 203 | Apache 2.0 |
| Material UI | [material-ui.com](https://material-ui.com) | [mui-org/material-ui](https://github.com/mui-org/material-ui) | 61,145 | 18,142 | 449 | MIT |
| Onsen UI | [onsen.io](https://onsen.io) | [OnsenUI/OnsenUI](https://github.com/OnsenUI/OnsenUI) | 8,089 | 917 | 142 | Apache 2.0 |
| Orbit | [orbit.kiwi](https://orbit.kiwi) | [kiwicom/orbit](https://github.com/kiwicom/orbit) | 703 | 67 | 48 | MIT |
| Prime React | [primefaces.org/primereact](https://primefaces.org/primereact) | [primefaces/primereact](https://github.com/primefaces/primereact) | 1,551 | 377 | 185 | MIT |
| Quasar | [quasar.dev](https://quasar.dev) | [quasarframework/quasar](https://github.com/quasarframework/quasar) | 16,260 | 1,898 | 245 | MIT |
| React Bootstrap | [react-bootstrap.github.io](https://react-bootstrap.github.io) | [react-bootstrap/react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) | 18,302 | 2,922 | 106 | MIT |
| React Toolbox | [react-toolbox.io](http://react-toolbox.io) | [react-toolbox/react-toolbox](https://github.com/react-toolbox/react-toolbox) | 8,634 | 1,048 | 262 | MIT |
| react-md | [react-md.mlaursen.com](https://react-md.mlaursen.com) | [mlaursen/react-md](https://github.com/mlaursen/react-md) | 2,126 | 308 | 46 | MIT |
| Ring UI | [jetbrains.github.io/ring-ui](https://jetbrains.github.io/ring-ui) | [JetBrains/ring-ui](https://github.com/JetBrains/ring-ui) | 2,495 | 133 | 0 | Apache 2.0 |
| Semantic UI | [semantic-ui.com](https://semantic-ui.com) | [Semantic-Org/Semantic-UI](https://github.com/Semantic-Org/Semantic-UI) | 48,477 | 5,083 | 1,022 | MIT |
| Smooth UI | [smooth-code.com/open-source/smooth-ui](https://smooth-code.com/open-source/smooth-ui) | [smooth-code/smooth-ui](https://github.com/smooth-code/smooth-ui) | 1,533 | 112 | 11 | MIT |
| UI Fabric | [developer.microsoft.com/en-us/fluentui](https://developer.microsoft.com/en-us/fluentui) | [microsoft/fluentui](https://github.com/microsoft/fluentui) | 9,468 | 1,700 | 993 | Other |
| Zendesk Garden | [garden.zendesk.com](https://garden.zendesk.com) | [zendeskgarden/react-components](https://github.com/zendeskgarden/react-components) | 792 | 53 | 12 | Apache 2.0 |
| Blueprint | [blueprintjs.com](https://blueprintjs.com) | [palantir/blueprint](https://github.com/palantir/blueprint) | 17,062 | 1,777 | 543 | Apache 2.0 |
| Carbon Design | [react.carbondesignsystem.com](http://react.carbondesignsystem.com) | [carbon-design-system/carbon](https://github.com/carbon-design-system/carbon) | 3,785 | 869 | 509 | Apache 2.0 |
| Chakra UI | [chakra-ui.com](https://chakra-ui.com) | [chakra-ui/chakra-ui](https://github.com/chakra-ui/chakra-ui) | 13,278 | 986 | 104 | MIT |
| Elastic UI | [elastic.github.io/eui](https://elastic.github.io/eui) | [elastic/eui](https://github.com/elastic/eui) | 2,419 | 439 | 362 | Apache 2.0 |
| Element | [element.eleme.io](https://element.eleme.io) | [ElemeFE/element](https://github.com/ElemeFE/element) | 48,563 | 12,000 | 1,718 | MIT |
| Elemental UI | [elemental-ui.com](http://elemental-ui.com) | [elementalui/elemental](https://github.com/elementalui/elemental) | 4,320 | 244 | 50 | MIT |
| Evergreen | [evergreen.segment.com](https://evergreen.segment.com) | [segmentio/evergreen](https://github.com/segmentio/evergreen) | 10,342 | 603 | 65 | MIT |
| Gestalt | [gestalt.netlify.app](https://gestalt.netlify.app) | [pinterest/gestalt](https://github.com/pinterest/gestalt) | 3,688 | 278 | 15 | Apache 2.0 |
| Grommet | [v2.grommet.io](https://v2.grommet.io) | [grommet/grommet](https://github.com/grommet/grommet) | 6,894 | 838 | 179 | Apache 2.0 |
| Material UI | [material-ui.com](https://material-ui.com) | [mui-org/material-ui](https://github.com/mui-org/material-ui) | 63,671 | 19,588 | 451 | MIT |
| Onsen UI | [onsen.io](https://onsen.io) | [OnsenUI/OnsenUI](https://github.com/OnsenUI/OnsenUI) | 8,186 | 924 | 118 | Apache 2.0 |
| Orbit | [orbit.kiwi](https://orbit.kiwi) | [kiwicom/orbit](https://github.com/kiwicom/orbit) | 740 | 82 | 41 | MIT |
| Prime React | [primefaces.org/primereact](https://primefaces.org/primereact) | [primefaces/primereact](https://github.com/primefaces/primereact) | 1,701 | 401 | 218 | MIT |
| Quasar | [quasar.dev](https://quasar.dev) | [quasarframework/quasar](https://github.com/quasarframework/quasar) | 17,101 | 2,013 | 265 | MIT |
| React Bootstrap | [react-bootstrap.github.io](https://react-bootstrap.github.io) | [react-bootstrap/react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) | 18,753 | 2,983 | 125 | MIT |
| React Toolbox | [react-toolbox.io](http://react-toolbox.io) | [react-toolbox/react-toolbox](https://github.com/react-toolbox/react-toolbox) | 8,653 | 1,045 | 263 | MIT |
| react-md | [react-md.mlaursen.com](https://react-md.mlaursen.com) | [mlaursen/react-md](https://github.com/mlaursen/react-md) | 2,175 | 312 | 41 | MIT |
| Ring UI | [jetbrains.github.io/ring-ui](https://jetbrains.github.io/ring-ui) | [JetBrains/ring-ui](https://github.com/JetBrains/ring-ui) | 2,530 | 135 | 0 | Apache 2.0 |
| Semantic UI | [semantic-ui.com](https://semantic-ui.com) | [Semantic-Org/Semantic-UI](https://github.com/Semantic-Org/Semantic-UI) | 48,811 | 5,106 | 1,034 | MIT |
| Smooth UI | [smooth-code.com/open-source/smooth-ui](https://smooth-code.com/open-source/smooth-ui) | [smooth-code/smooth-ui](https://github.com/smooth-code/smooth-ui) | 1,557 | 114 | 11 | MIT |
| UI Fabric | [developer.microsoft.com/en-us/fluentui](https://developer.microsoft.com/en-us/fluentui) | [microsoft/fluentui](https://github.com/microsoft/fluentui) | 10,000 | 1,768 | 1,201 | Other |
| Zendesk Garden | [garden.zendesk.com](https://garden.zendesk.com) | [zendeskgarden/react-components](https://github.com/zendeskgarden/react-components) | 814 | 57 | 13 | Apache 2.0 |

<!--
********************************************************************************
THIS FILE ENTIRE FILE IS AUTOGENERATED!!!
PLEASE SEE `markdown/generate-readme.ts` and the files in the `frameworks` directory if you would like to make changes :)
********************************************************************************
-->
> all of the above statistics were last updated Tue, 22 Sep 2020 19:44:49 GMT. For real-time data, [see the website](http://react-ui-roundup.dimitrimitropoulos.com).
> all of the above statistics were last updated Sun, 20 Dec 2020 05:11:56 GMT. For real-time data, [see the website](http://react-ui-roundup.dimitrimitropoulos.com).
<!--
********************************************************************************
Expand Down
7 changes: 4 additions & 3 deletions components.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
import React, { Fragment } from 'react';
import { Link } from '@material-ui/core';
import { indexBy, prop, sortBy } from 'ramda';
import React, { Fragment } from 'react';

import { ComponentInfo, Option } from './entities';
import {
stringArray as markdownStringArray,
checkmark as markdownCheckmark,
link,
stringArray as markdownStringArray,
} from './markdown/utils';
import {
checkmark as jsxCheckmark,
stringArray as jsxStringArray,
} from './website/utils';
import { Link } from '@material-ui/core';

const indexByOptionId = indexBy<Option>(prop('optionId'));

Expand Down
19 changes: 16 additions & 3 deletions entities.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ReactNode } from 'react';
import { Endpoints } from '@octokit/types';
import { ReactNode } from 'react';

export type RepoInfo = Endpoints['GET /repos/:owner/:repo']['response']['data'];

Expand Down Expand Up @@ -143,6 +143,7 @@ export type Component =
| Stepper
| Switch
| Tabs;

export interface DesignKit {
type: 'Sketch' | 'Figma' | 'Abstract' | 'Axure' | 'Framer X' | 'Custom';
href: URL;
Expand Down Expand Up @@ -179,11 +180,17 @@ export type FrameworkFeatureInfo =
| FrameworkFeatureInfoGeneric<'themer'>
| FrameworkFeatureInfoGeneric<'typeScript'>;

export type FrameworkInfoByFeatureId = {
[featureId in keyof FrameworkFeaturesById]: FrameworkFeatureInfo;
};

export type FrameworkId = string;

export interface Framework {
/** must not end with a trailing forward slash */
frameworkHomepage: string;

frameworkId: string;
frameworkId: FrameworkId;

frameworkName: string;

Expand All @@ -194,4 +201,10 @@ export interface Framework {
frameworkFeaturesById: FrameworkFeaturesById;
}

export type UnwrapedComponent = Component & Pick<Framework, 'frameworkId'>;
export type UnwrapedComponent = Component & {
frameworkInfo: Omit<Framework, 'components'>;
};

export type FrameworksById = {
[frameworkId in FrameworkId]: Framework;
};
29 changes: 14 additions & 15 deletions frameworks/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
import { Framework, FrameworkFeatureInfo } from '../entities';
import { indexBy, prop, sort, ascend, sortBy, toLower, pipe } from 'ramda';
import { ascend, indexBy, pipe, prop, sort, sortBy, toLower } from 'ramda';

import { Framework, FrameworkFeatureInfo, FrameworkInfoByFeatureId, FrameworksById } from '../entities';
import {
checkmark as markdownCheckmark,
designKits as markdownDesignKits,
themer as markdownThemer,
} from '../markdown/utils';
import {
checkmark as jsxCheckmark,
designKits as jsxDesignKits,
themer as jsxThemer,
} from '../website/utils';
import { antDesign } from './antDesign';
import { atlaskit } from './atlaskit';
import { blueprint } from './blueprint';
Expand All @@ -26,17 +36,6 @@ import { smoothUI } from './smoothUI';
import { uiFabric } from './uiFabric';
import { zendesk } from './zendesk';

import {
checkmark as markdownCheckmark,
themer as markdownThemer,
designKits as markdownDesignKits,
} from '../markdown/utils';
import {
checkmark as jsxCheckmark,
themer as jsxThemer,
designKits as jsxDesignKits,
} from '../website/utils';

export const frameworks: Framework[] = sort(ascend(pipe(prop('frameworkName'), toLower)), [
antDesign,
atlaskit,
Expand Down Expand Up @@ -64,7 +63,7 @@ export const frameworks: Framework[] = sort(ascend(pipe(prop('frameworkName'), t
zendesk,
]);

export const frameworksById = indexBy(prop('frameworkId'), frameworks);
export const frameworksById: FrameworksById = indexBy(prop('frameworkId'), frameworks);

export const frameworkInfo: FrameworkFeatureInfo[] = sortBy(prop('featureId'), [
{
Expand Down Expand Up @@ -104,4 +103,4 @@ export const frameworkInfo: FrameworkFeatureInfo[] = sortBy(prop('featureId'), [
},
]);

export const frameworkInfoById = indexBy(prop('featureId'), frameworkInfo);
export const frameworkInfoByFeatureId: FrameworkInfoByFeatureId = indexBy(prop('featureId'), frameworkInfo);
5 changes: 3 additions & 2 deletions global.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import * as React from 'react';
import 'jest-extended';

import * as R from 'ramda';
import * as RA from 'ramda-adjunct';
import 'jest-extended';
import * as React from 'react';

declare global {
namespace JSX {
Expand Down
4 changes: 2 additions & 2 deletions intentionally-absent.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

The following projects are not part of this roundup. Here's why.

### Sancho UI
(Sancho UI)[https://sancho-ui.com/] is a fork of (Evergreen)[https://evergreen.segment.com/] that hasn't kept up well with Evergreen itself. It's a cool project, for sure, but for the purposes of this roundup it doesn't vary enough from Evergreen to be useful to include.
- Sancho UI
- [Sancho UI](https://sancho-ui.com/) is a fork of [Evergreen](https://evergreen.segment.com/) that hasn't kept up well with Evergreen itself. It's a cool project, for sure, but for the purposes of this roundup it doesn't vary enough from Evergreen to be useful to include.
23 changes: 19 additions & 4 deletions markdown/generate-readme.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { promises as fs } from 'fs';
import {
append,
chain,
Expand All @@ -16,12 +17,26 @@ import {
whereEq,
} from 'ramda';
import { compact, concatAll } from 'ramda-adjunct';

import { componentInfo } from '../components';
import { frameworks, frameworkInfo } from '../frameworks';
import { promises as fs } from 'fs';
import { lines, h1, h2, link, paragraph, table, website, criteria, quote, inlineCode, websiteHref, ContentGroup, tableOfContents } from './utils';
import { removeProtocol, getRepoInfo, noValue, toStablePairs, issueURL, createScrollId } from '../utils';
import { Component, Framework, RepoInfo } from '../entities';
import { frameworkInfo, frameworks } from '../frameworks';
import { createScrollId, getRepoInfo, issueURL, noValue, removeProtocol, toStablePairs } from '../utils';
import {
ContentGroup,
criteria,
h1,
h2,
inlineCode,
lines,
link,
paragraph,
quote,
table,
tableOfContents,
website,
websiteHref,
} from './utils';

interface RepoInfoByHtmlUrl {
[htmlUrl: string]: RepoInfo;
Expand Down
12 changes: 6 additions & 6 deletions markdown/utils.test.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import {
checkmark,
comment,
h1,
h2,
h3,
h4,
paragraph,
link,
comment,
quote,
checkmark,
unorderedList,
lines,
link,
orderedList,
paragraph,
quote,
tableOfContents,
unorderedList,
} from './utils';

describe('tests markdown utils', () => {
Expand Down
13 changes: 3 additions & 10 deletions markdown/utils.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
import {
repeat,
length,
map,
join,
pipe,
sortBy,
prop,
} from 'ramda';
import { URL, DesignKit, FrameworkFeaturesById } from '../entities';
import { join, length, map, pipe, prop, repeat, sortBy } from 'ramda';

import { DesignKit, FrameworkFeaturesById, URL } from '../entities';

// eslint-disable-next-line @typescript-eslint/no-use-before-define -- don't see another way to do this without the circular hoist
const line = (line: string | ContentGroup): string => (typeof line === 'string' ? `${line}\n` : lines(line));
Expand Down
58 changes: 29 additions & 29 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,46 +16,46 @@
"test": "yarn jest --watch"
},
"dependencies": {
"@material-ui/core": "4.11.0",
"@material-ui/icons": "4.9.1",
"@material-ui/lab": "4.0.0-alpha.56",
"@material-ui/core": "4.11.2",
"@material-ui/icons": "4.11.2",
"@material-ui/lab": "4.0.0-alpha.57",
"cross-fetch": "3.0.6",
"node-fetch": "2.6.1",
"ramda": "0.27.1",
"ramda-adjunct": "2.28.0",
"ramda-adjunct": "2.29.0",
"react": "16.13.1",
"react-dom": "16.13.1"
},
"devDependencies": {
"@octokit/types": "5.5.0",
"@types/jest": "26.0.14",
"@types/mocha": "8.0.3",
"@types/node": "14.11.1",
"@types/jest": "26.0.19",
"@types/mocha": "8.2.0",
"@types/node": "14.14.14",
"@types/node-fetch": "2.5.7",
"@types/ramda": "0.27.17",
"@types/ramda": "0.27.34",
"@types/react": "16.9.49",
"@types/react-dom": "16.9.8",
"@types/webpack-env": "1.15.3",
"@typescript-eslint/eslint-plugin": "^4.1.1",
"@typescript-eslint/parser": "^4.1.1",
"babel-jest": "26.3.0",
"eslint": "^7.9.0",
"eslint-config-intense": "0.7.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-jest": "^24.0.1",
"eslint-plugin-jest-formatting": "^2.0.0",
"eslint-plugin-no-secrets": "^0.6.8",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-ramda": "^2.5.1",
"eslint-plugin-react": "^7.20.6",
"eslint-plugin-react-hooks": "^4.1.2",
"eslint-plugin-simple-import-sort": "^5.0.3",
"jest": "26.4.2",
"jest-extended": "^0.11.5",
"@types/webpack-env": "1.16.0",
"@typescript-eslint/eslint-plugin": "4.10.0",
"@typescript-eslint/parser": "4.10.0",
"eslint": "7.16.0",
"eslint-config-intense": "0.7.2",
"eslint-plugin-eslint-comments": "3.2.0",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-jest": "24.1.3",
"eslint-plugin-jest-formatting": "2.0.0",
"eslint-plugin-no-secrets": "0.6.8",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-ramda": "2.5.1",
"eslint-plugin-react": "7.21.5",
"eslint-plugin-react-hooks": "4.2.0",
"eslint-plugin-simple-import-sort": "7.0.0",
"jest": "26.6.3",
"jest-extended": "0.11.5",
"parcel": "1.12.4",
"ts-jest": "^26.3.0",
"ts-node": "9.0.0",
"typescript": "^4.0.2"
"ts-jest": "26.4.4",
"ts-node": "9.1.1",
"type-fest": "^0.20.2",
"typescript": "4.1.3"
}
}
Loading

0 comments on commit acb4936

Please sign in to comment.