From f59130005ceca0f98b541198e1a8c2b4c4f3630d Mon Sep 17 00:00:00 2001 From: Ari Perkkio Date: Sun, 29 Nov 2020 19:54:20 +0200 Subject: [PATCH] test: adds scheduled smoke-tests - Run scheduled smoke tests on every Sunday at 00:00 --- .github/workflows/smoke-test.yml | 22 + .gitignore | 4 + .prettierignore | 2 + package.json | 10 +- smoke-test/eslint-remote-tester.config.js | 73 +++ smoke-test/repositories.json | 648 ++++++++++++++++++++++ 6 files changed, 757 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/smoke-test.yml create mode 100644 smoke-test/eslint-remote-tester.config.js create mode 100644 smoke-test/repositories.json diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml new file mode 100644 index 0000000..aa4f211 --- /dev/null +++ b/.github/workflows/smoke-test.yml @@ -0,0 +1,22 @@ +name: Smoke test + +on: + schedule: + - cron: '0 0 * * SUN' + workflow_dispatch: + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12.11 + - run: yarn install + - run: yarn build + - run: yarn link + - run: yarn link eslint-plugin-jest-dom + - run: yarn test:smoke + env: + CI: true \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8e0c70c..9fd6d5e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ dist # when working with contributors package-lock.json yarn.lock + +# Smoke test +.cache-eslint-remote-tester +eslint-remote-tester-results diff --git a/.prettierignore b/.prettierignore index 9c62828..3431171 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,5 @@ node_modules coverage dist +.cache-eslint-remote-tester +eslint-remote-tester-results \ No newline at end of file diff --git a/package.json b/package.json index d083277..7b198a3 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "lint": "kcd-scripts lint", "setup": "npm install && npm run validate -s", "test": "kcd-scripts test", + "test:smoke": "eslint-remote-tester --config ./smoke-test/eslint-remote-tester.config.js", "test:update": "npm test -- --updateSnapshot --coverage", "validate": "kcd-scripts validate" }, @@ -43,9 +44,12 @@ "requireindex": "^1.2.0" }, "devDependencies": { + "@typescript-eslint/parser": "^4.8.2", "eslint": "7.14", + "eslint-remote-tester": "^0.3.3", "jest-extended": "^0.11.5", - "kcd-scripts": "6.5.1" + "kcd-scripts": "6.5.1", + "typescript": "^4.1.2" }, "peerDependencies": { "eslint": ">=6.8" @@ -61,7 +65,9 @@ "eslintIgnore": [ "node_modules", "coverage", - "dist" + "dist", + ".cache-eslint-remote-tester", + "eslint-remote-tester-results" ], "engines": { "node": "^10.12.0 || >=12.0.0", diff --git a/smoke-test/eslint-remote-tester.config.js b/smoke-test/eslint-remote-tester.config.js new file mode 100644 index 0000000..b1681cc --- /dev/null +++ b/smoke-test/eslint-remote-tester.config.js @@ -0,0 +1,73 @@ +module.exports = { + /** Repositories to scan */ + repositories: require('./repositories.json'), + + /** Extensions of files under scanning */ + extensions: ['js', 'jsx', 'ts', 'tsx'], + + /** Optional pattern used to exclude paths */ + pathIgnorePattern: `(${[ + 'node_modules', + '\\/\\.', // Any file or directory starting with dot, e.g. ".git" + '/dist/', + '/build/', + + // Common patterns for minified JS + 'babel\\.js', + 'vendor\\.js', + 'vendors\\.js', + 'chunk\\.js', + 'bundle\\.js', + 'react-dom\\.development\\.js', + '\\.min\\.js', // Any *.min.js + + // Project specific ignores + 'codesandbox-client/packages/app/static/js', + 'codesandbox-client/standalone-packages', + 'dockunit/platform/assets', + 'hyper/bin', + 'react-solitaire/lib/index\\.js', + 'Khan/perseus/lib', + 'glortho/react-keydown/example/public', + 'reach/reach-ui/packages/combobox/examples/cities\\.ts', + 'reach/reach-ui/website/src/components/cities\\.js', + 'reach/reach-ui/website/static/router/static', + 'Automattic/wp-calypso/client/components/phone-input/data\\.js', + 'test262-main\\.ts', + 'sample_vis\\.test\\.mocks\\.ts', + ].join('|')})`, + + /** Empty array since we are only interested in linter crashes */ + rulesUnderTesting: [], + + /** Maximum amount of tasks ran concurrently */ + concurrentTasks: 2, + + /** Optional boolean flag used to enable caching of cloned repositories. For CIs it's ideal to disable caching. Defauls to true. */ + cache: false, + + /** ESLint configuration */ + eslintrc: { + root: true, + env: { + es6: true, + }, + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + plugins: [ + 'jest-dom', + ], + extends: [ + 'plugin:jest-dom/recommended', + ], + rules: { + 'prefer-in-document': 'error' + }, + }, +}; diff --git a/smoke-test/repositories.json b/smoke-test/repositories.json new file mode 100644 index 0000000..295275e --- /dev/null +++ b/smoke-test/repositories.json @@ -0,0 +1,648 @@ +[ + "mui-org/material-ui", + "socketio/socket.io", + "emotion-js/emotion", + "necolas/react-native-web", + "primer/css", + "react-dropzone/react-dropzone", + "atlassian/react-beautiful-dnd", + "influxdata/influxdb", + "styleguidist/react-styleguidist", + "downshift-js/downshift", + "final-form/react-final-form", + "gregberge/loadable-components", + "gpbl/react-day-picker", + "Andarist/react-textarea-autosize", + "davidkpiano/xstate", + "tannerlinsley/react-table", + "reach/reach-ui", + "reactivestack/cookies", + "openzipkin/zipkin", + "styled-components/jest-styled-components", + "testing-library/user-event", + "tinacms/tinacms", + "nrwl/nx", + "reakit/reakit", + "mlaursen/react-md", + "mobxjs/mobx-react-lite", + "async-library/react-async", + "tjallingt/react-youtube", + "yjose/reactjs-popup", + "glennreyes/react-countup", + "pradel/react-responsive-modal", + "pluralsight/design-system", + "apollographql/react-apollo", + "react-cosmos/react-cosmos", + "pmndrs/zustand", + "alibaba/formily", + "diegohaz/constate", + "ReactTraining/react-media", + "dubzzz/fast-check", + "thebuilder/react-intersection-observer", + "smooth-code/xstyled", + "react-cropper/react-cropper", + "ankeetmaini/react-infinite-scroll-component", + "atomiks/tippyjs-react", + "mbrevda/react-image", + "rpearce/image-zoom", + "springload/react-accessible-accordion", + "storybookjs/marksy", + "imodeljs/imodeljs", + "Graylog2/graylog2-server", + "FormidableLabs/urql", + "pmndrs/react-use-gesture", + "prescottprue/react-redux-firebase", + "buildo/react-placeholder", + "imbhargav5/rooks", + "JustFly1984/react-google-maps-api", + "nickcolley/jest-axe", + "paularmstrong/build-tracker", + "final-form/react-final-form-arrays", + "AxaGuilDEv/react-toolkit", + "atlasmap/atlasmap", + "welldone-software/why-did-you-render", + "adobe/react-spectrum", + "FirebaseExtended/reactfire", + "CharlesStover/reactn", + "tannerlinsley/react-charts", + "remirror/remirror", + "LouisBarranqueiro/reapop", + "schiehll/react-alert", + "kentcdodds/stop-runaway-react-effects", + "bbc/psammead", + "timhagn/gatsby-background-image", + "zendeskgarden/react-containers", + "SpareBank1/designsystem", + "snakesilk/react-fullscreen", + "Availity/availity-react", + "STORIS/react-scrollbar-size", + "effector/effector", + "RisingStack/react-easy-state", + "kitze/react-hanger", + "nearform/graphql-hooks", + "coinbase/rest-hooks", + "pbeshai/use-query-params", + "amplitude/redux-query", + "tameemsafi/typewriterjs", + "primer/components", + "ice-lab/icestark", + "inlet/react-pixi", + "gokcan/react-shimmer", + "wix/wix-style-react", + "mikecousins/react-pdf-js", + "cloudinary/cloudinary-react", + "jannikbuschke/formik-antd", + "suren-atoyan/monaco-react", + "danieldelcore/trousers", + "braposo/react-text-loop", + "jaredLunde/react-hook", + "toomuchdesign/react-minimal-pie-chart", + "TouK/nussknacker", + "coston/react-super-responsive-table", + "umijs/plugins", + "contentful/field-editors", + "romgain/jest-websocket-mock", + "cashapp/misk-web", + "fremtind/jokul", + "pismo/bolt", + "liferay/liferay-frontend-projects", + "microsoft/nni", + "facebook/flipper", + "prevwong/craft.js", + "ava/use-http", + "loic-sharma/BaGet", + "yahoo/athenz", + "artalar/reatom", + "tdeekens/flopflip", + "neo4j/neo4j-browser", + "alitajs/alita", + "cashapp/misk", + "ZeeCoder/use-resize-observer", + "thebuilder/react-scroll-percentage", + "iamraphson/react-paystack", + "Countly/countly-sdk-web", + "JamesBrill/react-speech-recognition", + "charlie-tango/hooks", + "VirgilSecurity/virgil-e3kit-js", + "wyze/bs-react-testing-library", + "smollweide/dash4", + "WestpacGEL/GEL", + "querycap/webappkit", + "brick-design/react-visual-editor", + "molefrog/wouter", + "acidb/mobiscroll", + "pmmmwh/react-refresh-webpack-plugin", + "quiltdata/quilt", + "ant-design/ant-design-pro-layout", + "kitze/mobx-router", + "Kiarash-Z/react-modern-calendar-datepicker", + "sandiiarov/use-events", + "seek-oss/sku", + "IBMa/equal-access", + "atlassian-labs/storybook-addon-performance", + "worr/node-imdb-api", + "api-platform/admin", + "rehooks/local-storage", + "ice-lab/icestore", + "antvis/gatsby-theme-antv", + "tresko/react-datepicker", + "everweij/react-laag", + "pveyes/htmr", + "AxaGuilDEv/react-oidc", + "tanem/react-nprogress", + "wix/pro-gallery", + "AlexanderRichey/styled-react-modal", + "prodo-dev/prodo", + "dragma/styled-bootstrap-grid", + "commercetools/ui-kit", + "react-hook-form/error-message", + "romgain/react-select-event", + "thanhtunguet/grapesjs-react", + "ghoshnirmalya/react-search-box", + "xiel/use-location-state", + "Availity/availity-workflow", + "spaxjs/spax", + "Synerise/synerise-design", + "bkniffler/debe", + "emeraldpay/emerald-js", + "thorgate/tg-spa-utils", + "covid19india/covid19india-react", + "arwes/arwes", + "beautifulinteractions/beautiful-react-diagrams", + "benkeen/generatedata", + "contiamo/restful-react", + "stratiformltd/react-loadable-visibility", + "kettanaito/atomic-layout", + "tannerlinsley/react-query-devtools", + "berty/berty", + "vinissimus/next-translate", + "linode/manager", + "treeverse/lakeFS", + "rmuif/web", + "centreon/centreon", + "marcin-piela/react-fetching-library", + "dai-shi/use-context-selector", + "ant-design/sunflower", + "kentcdodds/testing-react-apps", + "ganderzz/react-scroll-to", + "react-keycloak/react-keycloak", + "AlexSergey/rockpack", + "umijs/umi-ui", + "junkboy0315/react-compare-image", + "esamattis/immer-reducer", + "prc5/react-zoom-pan-pinch", + "homerchen19/use-undo", + "kuldeepkeshwar/filbert-js", + "mui-org/material-ui-docs", + "Gympass/yoga", + "ioof-holdings/redux-dynostore", + "easemob/webim", + "naviapps/create-nw-react-app", + "storybookjs/react-native", + "kMeillet/reason-loadable", + "openfun/richie", + "HugoGiraudel/react-a11y-dialog", + "adobe/aem-core-cif-components", + "thorgate/tg-modal", + "vtex/releasy", + "energywebfoundation/origin", + "signalsciences/rsrc", + "atomicpages/pretty-checkbox-react", + "true-brains/react-ui-generator", + "tecsinapse/ui-kit", + "vtex/address-form", + "openmrs/openmrs-esm-core", + "jneander/jneander", + "xueyou2000/quick-react-scripts", + "vercel/swr", + "chakra-ui/chakra-ui", + "docker/awesome-compose", + "tailwindlabs/headlessui", + "AmruthPillai/Reactive-Resume", + "pmndrs/jotai", + "kentcdodds/react-hooks", + "pmndrs/valtio", + "pietrzakadrian/bank", + "LekoArts/gatsby-themes", + "lmjben/cdfang-spider", + "hernansartorio/react-nice-dates", + "dai-shi/react-tracked", + "bumbag/bumbag-ui", + "omgovich/react-colorful", + "react-boilerplate/react-boilerplate-cra-template", + "react-workspaces/react-workspaces-playground", + "ant-design/pro-components", + "saadpasta/react-blog-github", + "chrisjpatty/flume", + "BuilderIO/jsx-lite", + "dai-shi/react-hooks-global-state", + "lostpebble/pullstate", + "dai-shi/reactive-react-redux", + "kripod/react-hooks", + "kentcdodds/react-suspense", + "grapl-security/grapl", + "airbnb/lunar", + "sourcecred/sourcecred", + "avkonst/hookstate", + "dsternlicht/RESTool", + "OperationCode/front-end", + "GetDKAN/dkan", + "caplin/FlexLayout", + "daybrush/scena", + "laststance/create-react-app-typescript-todo-example-2020", + "unosquare/tubular-react", + "artifacthub/hub", + "web-ridge/react-ridge-state", + "tannerlinsley/react-ranger", + "scalabel/scalabel", + "ooade/react-rough", + "reggie3/react-native-webview-leaflet", + "Automattic/newspack-plugin", + "mauricedb/use-abortable-fetch", + "estevanmaito/tailwindcss-multi-theme", + "joshwcomeau/redux-sounds", + "nearform/react-browser-hooks", + "autoai-org/AID", + "gaoxiaoliangz/react-scoped-css", + "alloc/wana", + "fluent-org/fluent-windows", + "CharlesStover/use-clippy", + "react-hook-form/devtools", + "roginfarrer/react-collapsed", + "sencha/ext-react", + "OHIF/react-viewerbase", + "jacobworrel/react-windowed-select", + "PaulieScanlon/mdx-embed", + "SocialGouv/code-du-travail-numerique", + "Glue42/core", + "JoviDeCroock/Hooked-Form", + "reach4help/reach4help", + "GSS-FED/vital-ui-kit-react", + "fleur-js/fleur", + "Royal-Navy/design-system", + "jcblw/react-sprite-animator", + "rpearce/react-expanding-textarea", + "appearhere/bloom", + "kamiazya/rediagram", + "mglaman/contribkanban.com", + "wise-old-man/wise-old-man", + "MatejBransky/react-katex", + "liferay/com-liferay-commerce", + "nulogy/design-system", + "formium/formium", + "coronasafe/care_fe", + "goblin-laboratory/reactjs-player", + "aragon/govern", + "aiao-io/aiao", + "adobe/adobe-dx", + "equinor/design-system", + "vtex/test-tools", + "GMOD/jbrowse-components", + "liferay/liferay-npm-tools", + "wso2/identity-apps", + "crystal-ball/componentry", + "looker-open-source/components", + "jdcrensh/create-react-app", + "crisboarna/react-skillbars", + "w3c-ccg/universal-wallet-interop-spec", + "gasolin/saihubot", + "martijnboland/apptext", + "identity-box/identity-box", + "oknosoft/windowbuilder", + "openlawteam/openlaw-elements", + "tuture-dev/editure", + "schneidmaster/react-bootstrap-maskedinput", + "thepensionsregulator/react-components", + "openmrs/openmrs-esm-api", + "dagda1/cuttingedge", + "SileaJS/silea", + "navikt/datovelger", + "xueyou2000/xy-button", + "backstage/backstage", + "kentcdodds/react-fundamentals", + "steveruizok/perfect-arrows", + "neherlab/covid19_scenarios", + "kentcdodds/advanced-react-patterns", + "twilio/twilio-video-app-react", + "zaydek/heroicons.dev", + "pingan8787/Leo-JavaScript", + "elxris/Turnip-Calculator", + "hr3lxphr6j/bililive-go", + "dai-shi/react-hooks-async", + "will-stone/browserosaurus", + "theodo/falco", + "kubesail/deploy-node-app", + "ant-design/ant-design-charts", + "luukdv/hamburger-react", + "troyeguo/koodo-reader", + "craig1123/react-recipes", + "alibaba/ChatUI", + "playcanvas/pcui", + "lourenci/react-kanban", + "glin/reactable", + "jobrunr/jobrunr", + "kubesphere/console", + "Niryo/controllerim", + "nareshbhatia/mobx-state-router", + "ionic-team/ionic-react-conference-app", + "elbywan/hyperactiv", + "department-of-veterans-affairs/vets-website", + "awmleer/reto", + "mat-sz/react-letter", + "shipshapecode/react-shepherd", + "kalmhq/kalm", + "luffyZh/dynamic-antd-theme", + "saisandeepvaddi/ten-hands", + "testimio/root-cause", + "KaiHotz/react-rollup-boilerplate", + "byte-fe/react-model", + "shikha-16/Women-in-Technology", + "dai-shi/react-hooks-fetch", + "chonyy/handoff-visualizer", + "atlassian-labs/react-resource-router", + "xyfir/ptorx", + "mattpocock/sextant", + "jaredLunde/masonic", + "atomcorp/themes", + "leonardokl/react-palette", + "alcideio/skan", + "Esri/arcgis-js-cli", + "microcovid/microcovid", + "aws/aws-northstar", + "rostaklein/mayoor", + "FormidableLabs/urql-exchange-graphcache", + "paypal/react-paypal-js", + "react-workspaces/create-react-app", + "houfio/dakpan", + "kentcdodds/react-workshop-app", + "Dynamsoft/javascript-barcode", + "mcamac/react-text-annotate", + "eclipse/codewind", + "COVID-19-electronic-health-system/Corona-tracker", + "tuture-dev/tuture", + "DylanVann/ant-design-draggable-modal", + "devrnt/react-use-intercom", + "lightspeed/flame", + "laststance/use-app-state", + "react-html-form/react-html-form", + "medhatdawoud/react-change-highlight", + "Amsterdam/matomo-tracker", + "GACWR/OpenUBA", + "South-Paw/react-vector-maps", + "onflow/flow-playground", + "jannisborn/covid19_pocus_ultrasound", + "idena-network/idena-desktop", + "G-Research/armada", + "elgorditosalsero/react-gtm-hook", + "final-form/react-final-form-html5-validation", + "aws/amazon-chime-sdk-component-library-react", + "thiagozanetti/react-intl-currency-input", + "cartolab-gis/elements", + "tim-soft/react-spring-lightbox", + "vutoan266/react-images-uploading", + "laboratoriobridge/bold", + "excalidraw/excalidraw-embed", + "googlemap-react/googlemap-react", + "lookfirst/mui-rff", + "sergiodxa/flagged", + "tiagob/create-full-stack", + "vmarcosp/covidbr-app", + "KeziahMoselle/tempus", + "aws-amplify/amplify-js-samples", + "carbon-design-system/carbon-addons-iot-react", + "kubeflow/kfp-tekton", + "cognitedata/griff-react", + "bondz/react-static-google-map", + "se1exin/Plex-Library-Cleaner", + "bitmap/react-hook-inview", + "dai-shi/remote-faces", + "jquense/react-input-message", + "MicroStrategy/mstrio-py", + "gojutin/gatsby-starter-typescript-deluxe", + "jacobdcastro/personal-site", + "DigitalPhonetics/adviser", + "PabloSzx/react-state-selector", + "mxschmitt/try-playwright", + "christyanbrayan/be-the-hero", + "reazen/relude-reason-react", + "daily-co/daily-demos", + "Hongbo-Miao/hongbomiao.com", + "miragejs/site", + "ibitcy/react-stores", + "cultureamp/kaizen-design-system", + "agoda-com/react-handyman", + "Decathlon/moon", + "zopaUK/react-components", + "Cryptonomic/Arronax", + "influxdata/clockface", + "Siemienik/xlsx-import", + "bigcommerce/big-design", + "leanjs/leanjs", + "innovaccer/design-system", + "react-next-boilerplate/react-next-boilerplate", + "git-temporal/git-temporal", + "turingarena/turingarena", + "ls1intum/Apollon", + "dizco/react-scrollable-feed", + "LD4P/sinopia_editor", + "zooniverse/front-end-monorepo", + "cashapp/backfila", + "berty/yolo", + "hackclub/theme", + "mAAdhaTTah/brookjs", + "TryGhost/Portal", + "Byteclaw/visage", + "betula/lamp-luwak", + "istreamlabs/pebble", + "infinispan/infinispan-console", + "magoo-magoo/keyrier-json", + "intuit/doc-blocks", + "ahooksjs/useTable", + "habx/thunder-ui", + "dimigoin/dimigoin-front-v2", + "bbc/digital-paper-edit-client", + "namics/request-registry", + "lttb/taddy", + "geut/permanent-seeder", + "cognitedata/reveal", + "kahwee/baseui-final-form", + "marshmallow-insurance/smores-react", + "nordnet/ui", + "kodefox/infra", + "ocavue/rino", + "jameswlane/react-pure-loaders", + "woodlike/wdlk", + "exivity/ui", + "hamidfzm/ra-language-farsi", + "mayteio/use-pusher", + "MLReef/mlreef", + "Trulioo/trulioo-react", + "reactioncommerce/catalyst", + "eManPrague/frui.ts", + "neosiae/react-aria-offcanvas", + "inmagik/react-rocketjump", + "AndcultureCode/AndcultureCode.JavaScript.Core", + "hughbromund/FINEX", + "webapps-ui/core-react", + "gokulkrishh/react-hooks-accordion", + "kne-union/react-form", + "orchestrated-io/orca-design-system", + "StenaIT/stenajs-webui", + "pranjaljain0/portfolio-React", + "getapper/restlessness", + "wangshihao111/smock", + "tripleadev/pride.js", + "ant-design/ant-design", + "AriPerkkio/js-framework-playground", + "oldboyxx/jira_clone", + "react-bootstrap/react-bootstrap", + "StreakYC/react-smooth-collapse", + "pmndrs/react-spring", + "AriPerkkio/scrpr", + "AriPerkkio/state-mgmt-examples", + "AriPerkkio/suspense-examples", + "withspectrum/spectrum", + "codesandbox/codesandbox-client", + "Automattic/wp-calypso", + "artsy/force", + "reactjs/reactjs.org", + "zesty-io/accounts-ui", + "zesty-io/design-system", + "segmentio/evergreen", + "segmentio/ui-box", + "kentcdodds/kentcdodds.com", + "kentcdodds/react-performance", + "kentcdodds/advanced-react-hooks", + "kentcdodds/bookshelf", + "kentcdodds/react-testing-library-examples", + "kentcdodds/learn-react", + "kentcdodds/react-testing-library-course", + "kentcdodds/concurrent-react", + "project-bobon/bobonroastprofile", + "gothinkster/react-redux-realworld-example-app", + "1ven/do", + "dockunit/platform", + "afghl/dribbble-demo", + "DevAlien/dripr-ui", + "ismaelgt/english-accents-map", + "rwieruch/favesound-mobx", + "rwieruch/favesound-redux", + "feednext/feednext", + "skidding/flatris", + "limichange/flex-editor", + "pearofducks/foodprocessor", + "HVF/franchise", + "getguesstimate/guesstimate-app", + "vercel/hyper", + "stevenhauser/i-have-to-return-some-videotapes", + "skidding/illustrated-algorithms", + "bebraw/invoice-frontend", + "gpbl/isomorphic500", + "WebbyLab/itsquiz-wall", + "docker/kitematic", + "KrateLabs/KrateLabs-App", + "afghl/dribble-demo", + "zeit/hyper", + "koodilehto/invoice-frontend", + "insin/lifequote", + "paulhoughton/mortgage", + "paulhoughton/mortgage-mobx", + "browniefed/pdxlivebus", + "Khan/perseus", + "guyellis/plant", + "benoitvallon/react-native-nw-react-calculator", + "insin/react-hn", + "LeoAJ/react-iTunes-search", + "FormidableLabs/react-music", + "echenley/react-news", + "lkazberova/react-photo-feed", + "afonsopacifer/react-pomodoro", + "pl12133/react-solitaire", + "chvin/react-tetris", + "fcsonline/react-transmission", + "web-pal/react-trello-board", + "fullstackreact/react-yelp-clone", + "SKempin/reactjs-tmdb-app", + "hoppula/refire-forum", + "antoinejaussoin/retro-board", + "ritoplz/ritoplz", + "andrewngu/sound-redux", + "FormidableLabs/spectacle", + "sprintly/sprintly-ui", + "torontojs/torontojs.com", + "captbaritone/winamp2-js", + "marmelab/react-admin", + "palantir/blueprint", + "microsoft/fluentui", + "reactstrap/reactstrap", + "Semantic-Org/Semantic-UI-React", + "grommet/grommet", + "rebassjs/rebass", + "FortAwesome/react-fontawesome", + "rsuite/rsuite", + "uber/baseweb", + "primefaces/primereact", + "couds/react-bulma-components", + "kulakowka/react-bulma", + "dfee/rbx", + "fibo/trunx", + "emortlock/tailwind-react-ui", + "knipferrc/tails-ui", + "geist-org/react", + "elastic/eui", + "brillout/awesome-react-components", + "JedWatson/react-select", + "react-dnd/react-dnd", + "strml/react-grid-layout", + "adazzle/react-data-grid", + "mzabriskie/react-draggable", + "bokuweb/react-resizable-and-movable", + "strml/react-resizable", + "bokuweb/react-resizable-box", + "axmz/react-searchbox-awesome", + "bokuweb/react-sortable-pane", + "aeagle/react-spaces", + "airbnb/react-dates", + "intljusticemission/react-big-calendar", + "Hacker0x01/react-datepicker", + "orgsync/react-list", + "yahoo/react-intl", + "i18next/react-i18next", + "davidtheclark/react-aria-modal", + "greena13/react-hotkeys", + "glortho/react-keydown", + "gilbarbara/react-joyride", + "bvaughn/react-virtualized", + "bvaughn/react-window", + "text-mask/text-mask", + "dvtng/react-loading-skeleton", + "KyleAMathews/react-spinkit", + "airbnb/rheostat", + "zpao/qrcode.react", + "pierpo/react-archer", + "phuoc-ng/react-pdf-viewer", + "mkosir/react-parallax-tilt", + "matteobruni/tsparticles", + "rackt/react-autocomplete", + "moroshko/react-autosuggest", + "eliseumds/react-autocomplete", + "prometheusresearch/react-autocomplete", + "gragland/instatype", + "paypal/downshift", + "ericgio/react-bootstrap-typeahead", + "facebook/react-art", + "Flipboard/react-canvas", + "pilwon/react-famous", + "freiksenet/react-kinetic", + "gorangajic/react-svg-morph", + "kmkzt/react-hooks-svgdrawing", + "chrvadala/react-svg-pan-zoom", + "clintonwoo/hackernews-react-graphql", + "reduction-admin/react-reduction", + "jeffersonRibeiro/react-shopping-cart", + "elastic/kibana", + "firefox-devtools/debugger", + "mattermost/mattermost-webapp", + "gaearon/overreacted.io", + "dnote/dnote" +]