Repository: withspectrum/spectrum Branch: alpha Commit: e8ebdcbba829 Files: 1114 Total size: 3.4 MB Directory structure: gitextract_m8f95147/ ├── .babelrc ├── .circleci/ │ └── config.yml ├── .dockerignore ├── .eslintignore ├── .eslintrc.js ├── .flowconfig ├── .github/ │ ├── ISSUE_TEMPLATE.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .npmignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── api/ │ ├── apollo-server.js │ ├── authentication.js │ ├── index.js │ ├── loaders/ │ │ ├── channel.js │ │ ├── community.js │ │ ├── create-loader.js │ │ ├── directMessageThread.js │ │ ├── index.js │ │ ├── message.js │ │ ├── reaction.js │ │ ├── thread.js │ │ ├── threadReaction.js │ │ ├── types.js │ │ └── user.js │ ├── migrations/ │ │ ├── 20170410074258-initial-data.js │ │ ├── 20170613200350-notifications.js │ │ ├── 20170616113103-compound-indexes-for-ordering.js │ │ ├── 20170627104435-user-email-settings.js │ │ ├── 20170701173337-linkify-messages.js │ │ ├── 20170702194221-fix-images.js │ │ ├── 20170706114239-providerfield-indexes.js │ │ ├── 20170706205658-slack-import.js │ │ ├── 20170714171920-web-push-subscription.js │ │ ├── 20170724184557-notifications-entity-added-index.js │ │ ├── 20170803104302-dedupe-users-settings.js │ │ ├── 20170825220615-clean-recurring-payments.js │ │ ├── 20170829233734-userid-index-on-invoices.js │ │ ├── 20170831163211-invoice-data-model-update.js │ │ ├── 20170907222544-digest-email-notification-settings.js │ │ ├── 20170908230623-add-reputation-field-to-communities.js │ │ ├── 20170912000619-backfill-rep.js │ │ ├── 20170915201609-clean-up-bad-dm-data.js │ │ ├── 20170926003025-activate-daily-weekly-digest-settings.js │ │ ├── 20170926102527-speedy-gonzales.js │ │ ├── 20170927002438-communityid-index-on-reputation-events.js │ │ ├── 20170928143435-slate-to-draftjs.js.js │ │ ├── 20171005075445-remove-markdown-links-from-messages.js │ │ ├── 20171008101118-last-slate-to-draft.js │ │ ├── 20171013195530-core-metrics-table.js │ │ ├── 20171018235659-add-direst-message-user-settings.js │ │ ├── 20171029090619-users-channels-index.js │ │ ├── 20171029094352-users-threads-index.js │ │ ├── 20171103014955-add-mention-notification-settings.js │ │ ├── 20171129215512-index-communities-by-slug.js │ │ ├── 20171129221050-curated-content-table-creation.js │ │ ├── 20171208175038-index-users-for-search.js │ │ ├── 20171208180800-index-communities-for-search.js │ │ ├── 20171213002813-add-modified-at-field-to-users-and-communities.js │ │ ├── 20180209015734-github-provider-id-index.js │ │ ├── 20180214111357-expo-push-subscriptions.js │ │ ├── 20180309144845-create-community-settings-table.js │ │ ├── 20180316195507-create-channel-settings-table.js │ │ ├── 20180320122000-create-stripe-tables.js │ │ ├── 20180320173414-set-administrator-info-on-community.js │ │ ├── 20180411183454-lowercase-all-the-slugs.js │ │ ├── 20180428001543-reset-slack-import-records.js │ │ ├── 20180504003702-encrypt-existing-slack-data.js │ │ ├── 20180517180716-enable-private-communities.js │ │ ├── 20180517215503-add-ispending-to-userscommunities.js │ │ ├── 20180518135040-add-join-settings-to-community-settings.js │ │ ├── 20180621001409-thread-likes-table.js │ │ ├── 20180823115847-add-users-communities-indexes.js │ │ ├── 20181001061156-thread-metadata-denormalization.js │ │ ├── 20181001064151-fix-thread-metadata-message-counts.js │ │ ├── 20181002060237-remove-payments.js │ │ ├── 20181003233411-thread-reactions-useridandthreadid-index.js │ │ ├── 20181004222636-denormalize-channel-community-member-counts.js │ │ ├── 20181005143053-users-notifications-useridandnotificationid-index.js │ │ ├── 20181005144259-users-notifications-userIdAndIsSeen-index.js │ │ ├── 20181023160027-update-denormalized-member-counts.js │ │ ├── 20181024173616-indexes-for-digests.js │ │ ├── 20181027050052-remove-attachments-from-thread-model.js │ │ ├── 20181102025454-fix-old-image-urls-in-messages.js │ │ ├── 20181102040518-fix-old-image-urls-in-threads.js │ │ ├── 20181102044407-fix-old-image-urls-in-communities.js │ │ ├── 20181102045821-fix-old-image-urls-in-users.js │ │ ├── 20181102054523-fix-aws-static-url-community-photos.js │ │ ├── 20181116173949-add-terms-last-accepted-field-to-users.js │ │ ├── 20181121054300-resync-community-member-counts.js │ │ ├── 20181122162921-users-communities-useridandmember-index.js │ │ ├── 20181126094455-users-channels-roles.js │ │ ├── 20181127090014-communities-member-count-index.js │ │ ├── 20181205171559-remove-old-users-notifications.js │ │ ├── 20181211181146-add-usersthreads-user-id-and-participant-index.js │ │ ├── 20190226085909-bot-user-sam.js │ │ ├── 20190306125252-threads-watercooler-index.js │ │ ├── 20190315142923-backfill-userscommunities-last-seen-community-last-active.js │ │ ├── 20190327134509-delete-bot-messages.js │ │ ├── config.js │ │ └── seed/ │ │ ├── default/ │ │ │ ├── channelSettings.js │ │ │ ├── channels.js │ │ │ ├── communities.js │ │ │ ├── communitySettings.js │ │ │ ├── constants.js │ │ │ ├── directMessageThreads.js │ │ │ ├── index.js │ │ │ ├── messages.js │ │ │ ├── notifications.js │ │ │ ├── reactions.js │ │ │ ├── threads.js │ │ │ ├── users.js │ │ │ ├── usersChannels.js │ │ │ ├── usersCommunities.js │ │ │ ├── usersDirectMessageThreads.js │ │ │ ├── usersNotifications.js │ │ │ ├── usersSettings.js │ │ │ └── usersThreads.js │ │ ├── generate.js │ │ └── index.js │ ├── models/ │ │ ├── channel.js │ │ ├── channelSettings.js │ │ ├── community.js │ │ ├── communitySettings.js │ │ ├── curatedContent.js │ │ ├── directMessageThread.js │ │ ├── message.js │ │ ├── reaction.js │ │ ├── search.js │ │ ├── session.js │ │ ├── test/ │ │ │ ├── __snapshots__/ │ │ │ │ └── channel.test.js.snap │ │ │ └── channel.test.js │ │ ├── thread.js │ │ ├── threadReaction.js │ │ ├── usersChannels.js │ │ ├── usersCommunities.js │ │ ├── usersDirectMessageThreads.js │ │ ├── usersSettings.js │ │ ├── usersThreads.js │ │ └── utils.js │ ├── mutations/ │ │ ├── channel/ │ │ │ ├── deleteChannel.js │ │ │ ├── editChannel.js │ │ │ └── index.js │ │ ├── community/ │ │ │ ├── deleteCommunity.js │ │ │ ├── editCommunity.js │ │ │ ├── index.js │ │ │ ├── toggleCommunityNoindex.js │ │ │ └── toggleCommunityRedirect.js │ │ ├── files/ │ │ │ ├── index.js │ │ │ └── uploadImage.js │ │ ├── message/ │ │ │ ├── deleteMessage.js │ │ │ └── index.js │ │ ├── thread/ │ │ │ ├── deleteThread.js │ │ │ └── index.js │ │ └── user/ │ │ ├── banUser.js │ │ ├── deleteCurrentUser.js │ │ ├── editUser.js │ │ └── index.js │ ├── package.json │ ├── queries/ │ │ ├── channel/ │ │ │ ├── channelPermissions.js │ │ │ ├── community.js │ │ │ ├── communityPermissions.js │ │ │ ├── index.js │ │ │ ├── isArchived.js │ │ │ ├── joinSettings.js │ │ │ ├── memberConnection.js │ │ │ ├── memberCount.js │ │ │ ├── metaData.js │ │ │ ├── moderators.js │ │ │ ├── owners.js │ │ │ ├── rootChannel.js │ │ │ └── threadConnection.js │ │ ├── community/ │ │ │ ├── brandedLogin.js │ │ │ ├── channelConnection.js │ │ │ ├── communityPermissions.js │ │ │ ├── contextPermissions.js │ │ │ ├── coverPhoto.js │ │ │ ├── index.js │ │ │ ├── joinSettings.js │ │ │ ├── memberConnection.js │ │ │ ├── members.js │ │ │ ├── metaData.js │ │ │ ├── pinnedThread.js │ │ │ ├── profilePhoto.js │ │ │ ├── rootCommunities.js │ │ │ ├── rootCommunity.js │ │ │ ├── rootRecentCommunities.js │ │ │ ├── rootTopCommunities.js │ │ │ ├── slackSettings.js │ │ │ ├── threadConnection.js │ │ │ └── watercooler.js │ │ ├── communityMember/ │ │ │ ├── index.js │ │ │ ├── roles.js │ │ │ ├── rootCommunityMember.js │ │ │ └── user.js │ │ ├── directMessageThread/ │ │ │ ├── index.js │ │ │ ├── messageConnection.js │ │ │ ├── participants.js │ │ │ ├── rootDirectMessageThread.js │ │ │ ├── rootDirectMessageThreadByUserIds.js │ │ │ └── snippet.js │ │ ├── message/ │ │ │ ├── author.js │ │ │ ├── content.js │ │ │ ├── index.js │ │ │ ├── parent.js │ │ │ ├── reactions.js │ │ │ ├── rootGetMediaMessagesForThread.js │ │ │ ├── rootMessage.js │ │ │ ├── sender.js │ │ │ └── thread.js │ │ ├── reaction/ │ │ │ ├── index.js │ │ │ ├── message.js │ │ │ ├── reaction.js │ │ │ └── user.js │ │ ├── thread/ │ │ │ ├── attachments.js │ │ │ ├── author.js │ │ │ ├── channel.js │ │ │ ├── community.js │ │ │ ├── content.js │ │ │ ├── creator.js │ │ │ ├── editedBy.js │ │ │ ├── index.js │ │ │ ├── isAuthor.js │ │ │ ├── isCreator.js │ │ │ ├── messageConnection.js │ │ │ ├── metaImage.js │ │ │ ├── participants.js │ │ │ ├── reactions.js │ │ │ └── rootThread.js │ │ └── user/ │ │ ├── channelConnection.js │ │ ├── communityConnection.js │ │ ├── contextPermissions.js │ │ ├── coverPhoto.js │ │ ├── directMessageThreadsConnection.js │ │ ├── email.js │ │ ├── everything.js │ │ ├── githubProfile.js │ │ ├── index.js │ │ ├── isAdmin.js │ │ ├── profilePhoto.js │ │ ├── rootCurrentUser.js │ │ ├── rootUser.js │ │ ├── settings.js │ │ ├── threadConnection.js │ │ └── threadCount.js │ ├── routes/ │ │ ├── api/ │ │ │ ├── export-user-data.js │ │ │ └── index.js │ │ ├── auth/ │ │ │ ├── create-signin-routes.js │ │ │ ├── facebook.js │ │ │ ├── github.js │ │ │ ├── google.js │ │ │ ├── index.js │ │ │ ├── logout.js │ │ │ └── twitter.js │ │ ├── create-subscription-server.js │ │ └── middlewares/ │ │ └── index.js │ ├── schema.js │ ├── subscriptions/ │ │ ├── community.js │ │ ├── directMessageThread.js │ │ ├── message.js │ │ ├── notification.js │ │ └── thread.js │ ├── test/ │ │ ├── __snapshots__/ │ │ │ ├── community.test.js.snap │ │ │ ├── directMessageThread.test.js.snap │ │ │ └── user.test.js.snap │ │ ├── channel/ │ │ │ ├── mutations/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ ├── createChannel.test.js.snap │ │ │ │ │ ├── deleteChannel.test.js.snap │ │ │ │ │ └── editChannel.test.js.snap │ │ │ │ ├── createChannel.test.js │ │ │ │ ├── deleteChannel.test.js │ │ │ │ └── editChannel.test.js │ │ │ └── queries/ │ │ │ ├── __snapshots__/ │ │ │ │ ├── channelSettings.test.js.snap │ │ │ │ ├── memberConnection.test.js.snap │ │ │ │ └── root.test.js.snap │ │ │ ├── channelSettings.test.js │ │ │ ├── memberConnection.test.js │ │ │ └── root.test.js │ │ ├── community/ │ │ │ ├── mutations/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── editCommunity.test.js.snap │ │ │ │ └── editCommunity.test.js │ │ │ └── queries/ │ │ │ ├── __snapshots__/ │ │ │ │ └── communitySettings.test.js.snap │ │ │ └── communitySettings.test.js │ │ ├── community.test.js │ │ ├── directMessageThread.test.js │ │ ├── message/ │ │ │ ├── __snapshots__/ │ │ │ │ └── queries.test.js.snap │ │ │ ├── mutations/ │ │ │ │ └── addMessage.test.js │ │ │ └── queries.test.js │ │ ├── thread/ │ │ │ ├── mutations/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ ├── deleteThread.test.js.snap │ │ │ │ │ └── publishThread.test.js.snap │ │ │ │ ├── deleteThread.test.js │ │ │ │ └── publishThread.test.js │ │ │ └── queries/ │ │ │ ├── __snapshots__/ │ │ │ │ ├── messageConnection.test.js.snap │ │ │ │ └── root.test.js.snap │ │ │ ├── messageConnection.test.js │ │ │ ├── reversePagination.test.js │ │ │ └── root.test.js │ │ ├── user.test.js │ │ ├── utils/ │ │ │ ├── __mocks__/ │ │ │ │ └── debug.js │ │ │ ├── __snapshots__/ │ │ │ │ └── create-graphql-error-formatter.test.js.snap │ │ │ └── create-graphql-error-formatter.test.js │ │ └── utils.js │ ├── types/ │ │ ├── Channel.js │ │ ├── Community.js │ │ ├── CommunityMember.js │ │ ├── DirectMessageThread.js │ │ ├── Invoice.js │ │ ├── Message.js │ │ ├── Reaction.js │ │ ├── Thread.js │ │ ├── ThreadParticipant.js │ │ ├── User.js │ │ ├── custom-scalars/ │ │ │ └── LowercaseString.js │ │ ├── general.js │ │ └── scalars.js │ └── utils/ │ ├── UserError.js │ ├── base64.js │ ├── create-graphql-error-formatter.js │ ├── file-storage.js │ ├── file-system.js │ ├── generate-thread-meta-image-from-text.js │ ├── get-page-meta.js │ ├── get-random-default-photo.js │ ├── is-spectrum-url.js │ ├── markdown-linkify.js │ ├── paginate-arrays.js │ ├── permissions.js │ ├── s3.js │ ├── session-store.js │ └── validate-draft-js-input.js ├── backpack.config.js ├── config-overrides.js ├── cypress/ │ ├── fixtures/ │ │ └── example.json │ ├── integration/ │ │ ├── channel/ │ │ │ ├── settings/ │ │ │ │ ├── delete_spec.js │ │ │ │ └── edit_spec.js │ │ │ └── view/ │ │ │ ├── membership_spec.js │ │ │ ├── profile_spec.js │ │ │ └── threads_spec.js │ │ ├── community/ │ │ │ └── view/ │ │ │ └── profile_spec.js │ │ ├── community_settings_members_spec.js │ │ ├── community_settings_overview_spec.js │ │ ├── explore_spec.js │ │ ├── login_spec.js │ │ ├── messages_spec.js │ │ ├── modal_routes_spec.js │ │ ├── thread/ │ │ │ ├── action_bar_spec.js │ │ │ └── view_spec.js │ │ ├── thread_spec.js │ │ ├── toasts_spec.js │ │ ├── user/ │ │ │ ├── delete_user_spec.js │ │ │ ├── edit_user_spec.js │ │ │ └── me_redirect_spec.js │ │ └── user_spec.js │ ├── plugins/ │ │ └── index.js │ └── support/ │ ├── commands.js │ └── index.js ├── cypress.json ├── docker/ │ ├── Dockerfile.api │ └── Dockerfile.hyperion ├── docs/ │ ├── admin/ │ │ └── intro.md │ ├── api/ │ │ ├── graphql/ │ │ │ ├── fragments.md │ │ │ ├── intro.md │ │ │ ├── pagination.md │ │ │ ├── testing.md │ │ │ └── tips-and-tricks.md │ │ └── intro.md │ ├── backend/ │ │ └── api/ │ │ ├── README.md │ │ ├── fragments.md │ │ ├── pagination.md │ │ ├── testing.md │ │ └── tips-and-tricks.md │ ├── deployments.md │ ├── hyperion (server side rendering)/ │ │ ├── development.md │ │ └── intro.md │ ├── operations/ │ │ ├── hourly-backups.md │ │ ├── importing-rethinkdb-backups.md │ │ └── intro.md │ ├── readme.md │ └── testing/ │ ├── integration.md │ ├── intro.md │ └── unit.md ├── flow-typed/ │ ├── npm/ │ │ ├── @sendgrid/ │ │ │ └── mail_vx.x.x.js │ │ ├── @tippy.js/ │ │ │ └── react_vx.x.x.js │ │ ├── @vx/ │ │ │ ├── curve_vx.x.x.js │ │ │ ├── event_vx.x.x.js │ │ │ ├── gradient_vx.x.x.js │ │ │ ├── grid_vx.x.x.js │ │ │ ├── scale_vx.x.x.js │ │ │ ├── shape_vx.x.x.js │ │ │ └── tooltip_vx.x.x.js │ │ ├── amplitude_vx.x.x.js │ │ ├── apollo-cache-inmemory_vx.x.x.js │ │ ├── apollo-client_vx.x.x.js │ │ ├── apollo-engine_vx.x.x.js │ │ ├── apollo-link-http_vx.x.x.js │ │ ├── apollo-link-retry_vx.x.x.js │ │ ├── apollo-link-schema_vx.x.x.js │ │ ├── apollo-link-ws_vx.x.x.js │ │ ├── apollo-link_vx.x.x.js │ │ ├── apollo-local-query_vx.x.x.js │ │ ├── apollo-server-cache-redis_vx.x.x.js │ │ ├── apollo-server-express_vx.x.x.js │ │ ├── apollo-server-plugin-response-cache_vx.x.x.js │ │ ├── apollo-upload-client_vx.x.x.js │ │ ├── apollo-upload-server_vx.x.x.js │ │ ├── apollo-utilities_vx.x.x.js │ │ ├── aws-sdk_vx.x.x.js │ │ ├── axios_v0.17.x.js │ │ ├── axios_vx.x.x.js │ │ ├── b2a_vx.x.x.js │ │ ├── babel-cli_vx.x.x.js │ │ ├── babel-eslint_vx.x.x.js │ │ ├── babel-plugin-import-inspector_vx.x.x.js │ │ ├── babel-plugin-styled-components_vx.x.x.js │ │ ├── babel-plugin-syntax-async-generators_vx.x.x.js │ │ ├── babel-plugin-syntax-dynamic-import_vx.x.x.js │ │ ├── babel-plugin-transform-async-generator-functions_vx.x.x.js │ │ ├── babel-plugin-transform-class-properties_vx.x.x.js │ │ ├── babel-plugin-transform-flow-strip-types_vx.x.x.js │ │ ├── babel-plugin-transform-object-rest-spread_vx.x.x.js │ │ ├── babel-preset-env_vx.x.x.js │ │ ├── backpack-core_vx.x.x.js │ │ ├── bad-words_vx.x.x.js │ │ ├── bluebird_vx.x.x.js │ │ ├── body-parser_v1.x.x.js │ │ ├── casual_vx.x.x.js │ │ ├── cheerio_vx.x.x.js │ │ ├── common-tags_v1.4.x.js │ │ ├── compression_vx.x.x.js │ │ ├── cookie-parser_vx.x.x.js │ │ ├── cookie-session_vx.x.x.js │ │ ├── cors_vx.x.x.js │ │ ├── cross-env_vx.x.x.js │ │ ├── cryptr_vx.x.x.js │ │ ├── css.escape_vx.x.x.js │ │ ├── d3-array_vx.x.x.js │ │ ├── danger-plugin-flow_vx.x.x.js │ │ ├── danger-plugin-jest_vx.x.x.js │ │ ├── danger-plugin-labels_vx.x.x.js │ │ ├── danger-plugin-no-console_vx.x.x.js │ │ ├── danger-plugin-no-test-shortcuts_vx.x.x.js │ │ ├── danger-plugin-yarn_vx.x.x.js │ │ ├── danger_vx.x.x.js │ │ ├── datadog-metrics_vx.x.x.js │ │ ├── dataloader_vx.x.x.js │ │ ├── debounce_vx.x.x.js │ │ ├── debug_v2.x.x.js │ │ ├── decode-uri-component_vx.x.x.js │ │ ├── draft-js-code-editor-plugin_vx.x.x.js │ │ ├── draft-js-drag-n-drop-plugin_vx.x.x.js │ │ ├── draft-js-embed-plugin_vx.x.x.js │ │ ├── draft-js-export-markdown_vx.x.x.js │ │ ├── draft-js-focus-plugin_vx.x.x.js │ │ ├── draft-js-image-plugin_vx.x.x.js │ │ ├── draft-js-import-markdown_vx.x.x.js │ │ ├── draft-js-linkify-plugin_vx.x.x.js │ │ ├── draft-js-markdown-plugin_vx.x.x.js │ │ ├── draft-js-plugins-editor_vx.x.x.js │ │ ├── draft-js-prism-plugin_vx.x.x.js │ │ ├── draft-js_vx.x.x.js │ │ ├── draftjs-to-markdown_vx.x.x.js │ │ ├── electron-context-menu_vx.x.x.js │ │ ├── electron-is-dev_vx.x.x.js │ │ ├── electron-updater_vx.x.x.js │ │ ├── electron-window-state_vx.x.x.js │ │ ├── electron_vx.x.x.js │ │ ├── emoji-regex_vx.x.x.js │ │ ├── eslint-plugin-flowtype_vx.x.x.js │ │ ├── eslint-plugin-jest_vx.x.x.js │ │ ├── eslint-plugin-promise_vx.x.x.js │ │ ├── eslint-plugin-react_vx.x.x.js │ │ ├── eslint_vx.x.x.js │ │ ├── expo-server-sdk_vx.x.x.js │ │ ├── expo_vx.x.x.js │ │ ├── express-enforces-ssl_vx.x.x.js │ │ ├── express-hot-shots_vx.x.x.js │ │ ├── express-session_vx.x.x.js │ │ ├── express_v4.x.x.js │ │ ├── faker_vx.x.x.js │ │ ├── find-with-regex_vx.x.x.js │ │ ├── flow-bin_v0.x.x.js │ │ ├── flow-typed_vx.x.x.js │ │ ├── graphql-cost-analysis_vx.x.x.js │ │ ├── graphql-date_vx.x.x.js │ │ ├── graphql-depth-limit_vx.x.x.js │ │ ├── graphql-log_vx.x.x.js │ │ ├── graphql-redis-subscriptions_vx.x.x.js │ │ ├── graphql-server-express_vx.x.x.js │ │ ├── graphql-subscriptions_vx.x.x.js │ │ ├── graphql-tag_vx.x.x.js │ │ ├── graphql-tools_vx.x.x.js │ │ ├── graphql_vx.x.x.js │ │ ├── helmet_vx.x.x.js │ │ ├── highlight.js_vx.x.x.js │ │ ├── history_vx.x.x.js │ │ ├── hoist-non-react-statics_vx.x.x.js │ │ ├── host-validation_vx.x.x.js │ │ ├── hot-shots_vx.x.x.js │ │ ├── hpp_vx.x.x.js │ │ ├── hsts_vx.x.x.js │ │ ├── http-proxy-middleware_vx.x.x.js │ │ ├── idx_v2.x.x.js │ │ ├── imgix-core-js_vx.x.x.js │ │ ├── immutability-helper_vx.x.x.js │ │ ├── ioredis_vx.x.x.js │ │ ├── is-html_vx.x.x.js │ │ ├── isomorphic-fetch_v2.x.x.js │ │ ├── iterall_vx.x.x.js │ │ ├── jest_v22.x.x.js │ │ ├── json-stringify-pretty-compact_vx.x.x.js │ │ ├── jsonwebtoken_vx.x.x.js │ │ ├── keygrip_vx.x.x.js │ │ ├── linkify-it_vx.x.x.js │ │ ├── lint-staged_vx.x.x.js │ │ ├── localstorage-memory_vx.x.x.js │ │ ├── lodash.intersection_vx.x.x.js │ │ ├── lodash_v4.x.x.js │ │ ├── longjohn_vx.x.x.js │ │ ├── markdown-draft-js_vx.x.x.js │ │ ├── micromatch_vx.x.x.js │ │ ├── moment_v2.3.x.js │ │ ├── ms_vx.x.x.js │ │ ├── newrelic_vx.x.x.js │ │ ├── node-env-file_vx.x.x.js │ │ ├── node-fetch_vx.x.x.js │ │ ├── node-localstorage_vx.x.x.js │ │ ├── nodemon_vx.x.x.js │ │ ├── now-env_vx.x.x.js │ │ ├── offline-plugin_vx.x.x.js │ │ ├── optics-agent_vx.x.x.js │ │ ├── passport-facebook_vx.x.x.js │ │ ├── passport-github2_vx.x.x.js │ │ ├── passport-google-oauth2_vx.x.x.js │ │ ├── passport-twitter_vx.x.x.js │ │ ├── passport_vx.x.x.js │ │ ├── postmark_vx.x.x.js │ │ ├── pre-commit_vx.x.x.js │ │ ├── prettier_vx.x.x.js │ │ ├── prism-react-renderer_vx.x.x.js │ │ ├── prismjs_vx.x.x.js │ │ ├── puppeteer_vx.x.x.js │ │ ├── query-string_vx.x.x.js │ │ ├── raf_vx.x.x.js │ │ ├── raven-js_v3.17.x.js │ │ ├── raven-js_vx.x.x.js │ │ ├── raven_vx.x.x.js │ │ ├── raw-loader_vx.x.x.js │ │ ├── react-apollo_vx.x.x.js │ │ ├── react-app-rewire-styled-components_vx.x.x.js │ │ ├── react-app-rewired_vx.x.x.js │ │ ├── react-async-hook_vx.x.x.js │ │ ├── react-clipboard.js_vx.x.x.js │ │ ├── react-dropzone_vx.x.x.js │ │ ├── react-error-boundary_vx.x.x.js │ │ ├── react-flip-move_v2.9.x.js │ │ ├── react-helmet-async_vx.x.x.js │ │ ├── react-helmet_vx.x.x.js │ │ ├── react-hot-loader_vx.x.x.js │ │ ├── react-image_vx.x.x.js │ │ ├── react-infinite-scroller-fork-mxstbr_vx.x.x.js │ │ ├── react-infinite-scroller-with-scroll-element_vx.x.x.js │ │ ├── react-loadable_vx.x.x.js │ │ ├── react-mentions_vx.x.x.js │ │ ├── react-modal_vx.x.x.js │ │ ├── react-popper_vx.x.x.js │ │ ├── react-redux_v5.x.x.js │ │ ├── react-remarkable_vx.x.x.js │ │ ├── react-router-dom_vx.x.x.js │ │ ├── react-router_v4.x.x.js │ │ ├── react-router_vx.x.x.js │ │ ├── react-scripts_vx.x.x.js │ │ ├── react-stripe-checkout_vx.x.x.js │ │ ├── react-stripe-elements_vx.x.x.js │ │ ├── react-textarea-autosize_vx.x.x.js │ │ ├── react-transition-group_vx.x.x.js │ │ ├── react-trend_vx.x.x.js │ │ ├── react-visibility-sensor_vx.x.x.js │ │ ├── react_v16.8.0.js │ │ ├── recharts_vx.x.x.js │ │ ├── recompose_v0.x.x.js │ │ ├── recompose_vx.x.x.js │ │ ├── redis-tag-cache_vx.x.x.js │ │ ├── redraft_vx.x.x.js │ │ ├── redux-thunk_vx.x.x.js │ │ ├── redux_v3.x.x.js │ │ ├── request-ip_vx.x.x.js │ │ ├── rethinkdb-changefeed-reconnect_vx.x.x.js │ │ ├── rethinkdb-inspector_vx.x.x.js │ │ ├── rethinkdb-migrate_vx.x.x.js │ │ ├── rethinkdbdash_vx.x.x.js │ │ ├── rethinkhaberdashery_vx.x.x.js │ │ ├── rimraf_v2.x.x.js │ │ ├── rimraf_vx.x.x.js │ │ ├── sanitize-filename_vx.x.x.js │ │ ├── sentry-expo_vx.x.x.js │ │ ├── serialize-javascript_vx.x.x.js │ │ ├── session-rethinkdb_vx.x.x.js │ │ ├── sha1_vx.x.x.js │ │ ├── shortid_vx.x.x.js │ │ ├── slate-markdown_vx.x.x.js │ │ ├── slate_vx.x.x.js │ │ ├── slugg_vx.x.x.js │ │ ├── snarkdown_vx.x.x.js │ │ ├── stopword_vx.x.x.js │ │ ├── string-replace-to-array_vx.x.x.js │ │ ├── string-similarity_vx.x.x.js │ │ ├── stripe_vx.x.x.js │ │ ├── striptags_vx.x.x.js │ │ ├── styled-components_v2.x.x.js │ │ ├── styled-components_vx.x.x.js │ │ ├── subscriptions-transport-ws_vx.x.x.js │ │ ├── sw-precache-webpack-plugin_vx.x.x.js │ │ ├── then-queue_vx.x.x.js │ │ ├── toobusy-js_vx.x.x.js │ │ ├── uuid_v3.x.x.js │ │ ├── validator_vx.x.x.js │ │ ├── web-push_vx.x.x.js │ │ ├── webpack-bundle-analyzer_vx.x.x.js │ │ ├── webpack-module-manifest-plugin_vx.x.x.js │ │ └── write-file-webpack-plugin_vx.x.x.js │ └── react-native.js ├── hyperion/ │ ├── index.js │ └── renderer/ │ ├── browser-shim.js │ ├── html-template.js │ └── index.js ├── jest.config.js ├── now-secrets.example.json ├── now.json ├── package.json ├── public/ │ ├── index.html │ ├── install-raven.js │ ├── manifest.json │ ├── push-sw.js │ ├── robots.txt │ └── service-worker.js ├── robots.txt ├── rules-alpha.json ├── rules.json ├── scripts/ │ ├── deploy.js │ ├── generate-table-diagram.js │ ├── heroku-deploy.js │ ├── introspection-query.js │ └── utils/ │ ├── error.js │ └── parse-argv.js ├── set-heroku-config ├── shared/ │ ├── clients/ │ │ ├── draft-js/ │ │ │ ├── links-decorator/ │ │ │ │ ├── core.js │ │ │ │ └── index.js │ │ │ ├── mentions-decorator/ │ │ │ │ ├── core.js │ │ │ │ ├── index.js │ │ │ │ └── test/ │ │ │ │ ├── core.test.js │ │ │ │ └── mentions-decorator.test.js │ │ │ ├── message/ │ │ │ │ ├── renderer.js │ │ │ │ ├── test/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── renderer.test.js.snap │ │ │ │ │ └── renderer.test.js │ │ │ │ └── types.js │ │ │ ├── renderer/ │ │ │ │ └── index.js │ │ │ ├── thread/ │ │ │ │ └── renderer.js │ │ │ └── utils/ │ │ │ ├── getSnippet.js │ │ │ ├── getStringElements.js │ │ │ ├── hasStringElements.js │ │ │ ├── isShort.js │ │ │ └── plaintext.js │ │ ├── group-messages.js │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ └── messages.test.js.snap │ │ └── messages.test.js │ ├── cookie-utils.js │ ├── db/ │ │ ├── constants.js │ │ ├── create-query.js │ │ ├── db.js │ │ ├── index.js │ │ ├── queries/ │ │ │ ├── channel.js │ │ │ ├── community.js │ │ │ ├── message.js │ │ │ ├── thread.js │ │ │ └── user.js │ │ └── query-cache.js │ ├── draft-utils/ │ │ ├── add-embeds-to-draft-js.js │ │ ├── index.js │ │ ├── message-types.js │ │ ├── process-message-content.js │ │ ├── process-thread-content.js │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ └── add-embeds-to-draft-js.test.js.snap │ │ └── add-embeds-to-draft-js.test.js │ ├── encryption/ │ │ └── index.js │ ├── generate-meta-info.js │ ├── get-mentions.js │ ├── graphql/ │ │ ├── apollo-client-options.js │ │ ├── constants.js │ │ ├── fragments/ │ │ │ ├── channel/ │ │ │ │ ├── channelInfo.js │ │ │ │ ├── channelMemberConnection.js │ │ │ │ ├── channelMetaData.js │ │ │ │ └── channelThreadConnection.js │ │ │ ├── community/ │ │ │ │ ├── communityChannelConnection.js │ │ │ │ ├── communityInfo.js │ │ │ │ ├── communityMembers.js │ │ │ │ ├── communityMetaData.js │ │ │ │ ├── communitySettings.js │ │ │ │ └── communityThreadConnection.js │ │ │ ├── communityMember/ │ │ │ │ └── communityMemberInfo.js │ │ │ ├── directMessageThread/ │ │ │ │ ├── directMessageThreadInfo.js │ │ │ │ └── directMessageThreadMessageConnection.js │ │ │ ├── message/ │ │ │ │ ├── directMessageInfo.js │ │ │ │ └── messageInfo.js │ │ │ ├── notification/ │ │ │ │ └── notificationInfo.js │ │ │ ├── thread/ │ │ │ │ ├── threadInfo.js │ │ │ │ ├── threadMessageConnection.js │ │ │ │ └── threadParticipant.js │ │ │ └── user/ │ │ │ ├── userChannelConnection.js │ │ │ ├── userCommunityConnection.js │ │ │ ├── userDirectMessageThreadConnection.js │ │ │ ├── userEverythingConnection.js │ │ │ ├── userInfo.js │ │ │ ├── userSettings.js │ │ │ └── userThreadConnection.js │ │ ├── index.js │ │ ├── mutations/ │ │ │ ├── channel/ │ │ │ │ ├── deleteChannel.js │ │ │ │ └── editChannel.js │ │ │ ├── community/ │ │ │ │ ├── deleteCommunity.js │ │ │ │ ├── editCommunity.js │ │ │ │ ├── toggleCommunityNoindex.js │ │ │ │ └── toggleCommunityRedirect.js │ │ │ ├── message/ │ │ │ │ └── deleteMessage.js │ │ │ ├── thread/ │ │ │ │ └── deleteThread.js │ │ │ ├── uploadImage.js │ │ │ └── user/ │ │ │ ├── banUser.js │ │ │ ├── deleteCurrentUser.js │ │ │ └── editUser.js │ │ ├── queries/ │ │ │ ├── channel/ │ │ │ │ ├── getChannel.js │ │ │ │ ├── getChannelMemberConnection.js │ │ │ │ ├── getChannelSettings.js │ │ │ │ └── getChannelThreadConnection.js │ │ │ ├── community/ │ │ │ │ ├── getCommunities.js │ │ │ │ ├── getCommunity.js │ │ │ │ ├── getCommunityChannelConnection.js │ │ │ │ ├── getCommunityMembers.js │ │ │ │ ├── getCommunitySettings.js │ │ │ │ └── getCommunityThreadConnection.js │ │ │ ├── communityMember/ │ │ │ │ └── getCommunityMember.js │ │ │ ├── composer/ │ │ │ │ └── getComposerCommunitiesAndChannels.js │ │ │ ├── directMessageThread/ │ │ │ │ ├── getCurrentUserDMThreadConnection.js │ │ │ │ ├── getDirectMessageThread.js │ │ │ │ ├── getDirectMessageThreadByUserIds.js │ │ │ │ └── getDirectMessageThreadMessageConnection.js │ │ │ ├── message/ │ │ │ │ ├── getMediaMessagesForThread.js │ │ │ │ └── getMessage.js │ │ │ ├── thread/ │ │ │ │ ├── getThread.js │ │ │ │ └── getThreadMessageConnection.js │ │ │ └── user/ │ │ │ ├── getCurrentUserEverythingFeed.js │ │ │ ├── getCurrentUserSettings.js │ │ │ ├── getUser.js │ │ │ ├── getUserCommunityConnection.js │ │ │ ├── getUserGithubProfile.js │ │ │ └── getUserThreadConnection.js │ │ ├── schema.json │ │ └── subscriptions/ │ │ ├── index.js │ │ └── utils.js │ ├── graphql-cache-keys.js │ ├── imgix/ │ │ ├── getDefaultExpires.js │ │ ├── index.js │ │ ├── sign.js │ │ ├── signCommunity.js │ │ ├── signMessage.js │ │ ├── signThread.js │ │ └── signUser.js │ ├── install-dependencies.js │ ├── middlewares/ │ │ ├── cors.js │ │ ├── csrf.js │ │ ├── error-handler.js │ │ ├── logging.js │ │ ├── raven.js │ │ ├── security.js │ │ ├── session.js │ │ ├── statsd.js │ │ ├── thread-param.js │ │ └── toobusy.js │ ├── normalize-url.js │ ├── only-contains-emoji.js │ ├── raven/ │ │ └── index.js │ ├── regexps.js │ ├── sentencify.js │ ├── slate-utils.js │ ├── slug-deny-lists.js │ ├── sort-by-date.js │ ├── statsd.js │ ├── test/ │ │ ├── encryption.test.js │ │ ├── fixtures/ │ │ │ ├── CHANNEL_CREATED.json │ │ │ ├── COMMUNITY_INVITE.json │ │ │ ├── DIRECT_MESSAGE_CREATED.json │ │ │ ├── MEDIA_MESSAGE_CREATED.json │ │ │ ├── MENTION_MESSAGE.json │ │ │ ├── MENTION_THREAD.json │ │ │ ├── MESSAGE_CREATED.json │ │ │ ├── REACTION_CREATED.json │ │ │ ├── THREAD_CREATED.json │ │ │ ├── THREAD_REACTION_CREATED.json │ │ │ └── USER_JOINED_COMMUNITY.json │ │ ├── get-mentions.test.js │ │ └── normalize-url.test.js │ ├── testing/ │ │ ├── data.js │ │ ├── db.js │ │ ├── empty-db.js │ │ ├── setup-test-framework.js │ │ ├── setup.js │ │ └── teardown.js │ ├── theme/ │ │ └── index.js │ ├── time-difference.js │ ├── time-formatting.js │ ├── truncate.js │ ├── truthy-values.js │ ├── types.js │ └── unique-elements.js ├── spectrum-tmuxp.yaml └── src/ ├── actions/ │ ├── authentication.js │ ├── directMessageThreads.js │ ├── gallery.js │ ├── modals.js │ ├── threadSlider.js │ ├── titlebar.js │ └── toasts.js ├── api/ │ └── constants.js ├── components/ │ ├── announcementBanner/ │ │ ├── index.js │ │ └── style.js │ ├── appViewWrapper/ │ │ ├── index.js │ │ └── style.js │ ├── avatar/ │ │ ├── communityAvatar.js │ │ ├── image.js │ │ ├── index.js │ │ ├── style.js │ │ └── userAvatar.js │ ├── badges/ │ │ ├── index.js │ │ └── style.js │ ├── button/ │ │ ├── index.js │ │ └── style.js │ ├── card/ │ │ └── index.js │ ├── column/ │ │ └── index.js │ ├── communitySidebar/ │ │ └── index.js │ ├── conditionalWrap/ │ │ └── index.js │ ├── editForm/ │ │ └── style.js │ ├── entities/ │ │ ├── index.js │ │ ├── listItems/ │ │ │ ├── channel.js │ │ │ ├── community.js │ │ │ ├── index.js │ │ │ ├── style.js │ │ │ └── user.js │ │ └── profileCards/ │ │ ├── channel.js │ │ ├── community.js │ │ ├── components/ │ │ │ ├── channelActions.js │ │ │ ├── channelCommunityMeta.js │ │ │ ├── channelMeta.js │ │ │ ├── communityActions.js │ │ │ ├── communityMeta.js │ │ │ ├── userActions.js │ │ │ └── userMeta.js │ │ ├── index.js │ │ ├── style.js │ │ └── user.js │ ├── error/ │ │ ├── BlueScreen.js │ │ ├── ErrorBoundary.js │ │ ├── SettingsFallback.js │ │ └── index.js │ ├── flyout/ │ │ └── index.js │ ├── formElements/ │ │ ├── index.js │ │ └── style.js │ ├── fullscreenView/ │ │ ├── index.js │ │ └── style.js │ ├── gallery/ │ │ ├── browser.js │ │ ├── index.js │ │ └── style.js │ ├── githubProfile/ │ │ └── index.js │ ├── globals/ │ │ └── index.js │ ├── goop/ │ │ └── index.js │ ├── head/ │ │ └── index.js │ ├── hoverProfile/ │ │ ├── channelProfile.js │ │ ├── communityProfile.js │ │ ├── index.js │ │ ├── loadingHoverProfile.js │ │ ├── style.js │ │ ├── userContainer.js │ │ └── userProfile.js │ ├── icon/ │ │ └── index.js │ ├── illustrations/ │ │ └── index.js │ ├── inboxThread/ │ │ ├── activity.js │ │ ├── header/ │ │ │ ├── index.js │ │ │ ├── style.js │ │ │ ├── threadHeader.js │ │ │ ├── timestamp.js │ │ │ └── userProfileThreadHeader.js │ │ ├── index.js │ │ ├── messageCount.js │ │ └── style.js │ ├── infiniteScroll/ │ │ ├── deduplicateChildren.js │ │ ├── index.js │ │ └── tallViewports.js │ ├── layout/ │ │ └── index.js │ ├── listItems/ │ │ ├── channel/ │ │ │ ├── index.js │ │ │ └── style.js │ │ ├── index.js │ │ └── style.js │ ├── loading/ │ │ ├── index.js │ │ └── style.js │ ├── loginButtonSet/ │ │ ├── facebook.js │ │ ├── github.js │ │ ├── google.js │ │ ├── index.js │ │ ├── style.js │ │ └── twitter.js │ ├── logo/ │ │ └── index.js │ ├── maintenance/ │ │ └── index.js │ ├── menu/ │ │ ├── index.js │ │ └── style.js │ ├── message/ │ │ ├── authorByline.js │ │ ├── index.js │ │ ├── messageErrorFallback.js │ │ ├── style.js │ │ ├── threadAttachment/ │ │ │ ├── attachment.js │ │ │ ├── index.js │ │ │ └── style.js │ │ └── view.js │ ├── messageGroup/ │ │ ├── directMessage.js │ │ ├── index.js │ │ ├── style.js │ │ └── thread.js │ ├── modals/ │ │ ├── BanUserModal/ │ │ │ ├── index.js │ │ │ └── style.js │ │ ├── DeleteDoubleCheckModal/ │ │ │ ├── index.js │ │ │ └── style.js │ │ ├── modalContainer.js │ │ ├── modalRoot.js │ │ └── styles.js │ ├── nextPageButton/ │ │ ├── index.js │ │ └── style.js │ ├── outsideClickHandler/ │ │ └── index.js │ ├── profile/ │ │ ├── coverPhoto.js │ │ ├── index.js │ │ ├── metaData.js │ │ ├── style.js │ │ └── thread.js │ ├── reaction/ │ │ ├── index.js │ │ └── style.js │ ├── redirectHandler/ │ │ └── index.js │ ├── rich-text-editor/ │ │ ├── prism-theme.css │ │ └── style.js │ ├── scrollManager/ │ │ └── index.js │ ├── scrollRow/ │ │ ├── index.js │ │ └── style.js │ ├── segmentedControl/ │ │ ├── index.js │ │ └── style.js │ ├── select/ │ │ ├── index.js │ │ └── style.js │ ├── settingsViews/ │ │ ├── header.js │ │ ├── style.js │ │ └── subnav.js │ ├── themedSection/ │ │ └── index.js │ ├── threadFeed/ │ │ ├── index.js │ │ ├── nullState.js │ │ └── style.js │ ├── threadFeedCard/ │ │ └── style.js │ ├── threadRenderer/ │ │ └── index.js │ ├── titlebar/ │ │ ├── actions.js │ │ ├── base.js │ │ ├── index.js │ │ └── style.js │ ├── toasts/ │ │ ├── index.js │ │ └── style.js │ ├── tooltip/ │ │ └── index.js │ ├── upsell/ │ │ ├── index.js │ │ └── style.js │ ├── usernameSearch/ │ │ ├── index.js │ │ └── style.js │ ├── viewError/ │ │ ├── index.js │ │ └── style.js │ ├── viewNetworkHandler/ │ │ └── index.js │ ├── visuallyHidden/ │ │ └── index.js │ └── withCurrentUser/ │ └── index.js ├── helpers/ │ ├── directMessageThreads.js │ ├── get-thread-link.js │ ├── history.js │ ├── images.js │ ├── is-admin.js │ ├── is-viewing-marketing-page.js │ ├── keycodes.js │ ├── localStorage.js │ ├── navigation-context.js │ ├── notifications.js │ ├── realtimeThreads.js │ ├── regexps.js │ ├── render-text-with-markdown-links.js │ ├── sentry-redux-middleware.js │ ├── signed-out-fallback.js │ ├── utils.js │ └── web-push-manager.js ├── hooks/ │ ├── useAppScroller.js │ ├── useConnectionRestored.js │ ├── useDebounce.js │ └── usePrevious.js ├── hot-routes.js ├── index.js ├── reducers/ │ ├── connectionStatus.js │ ├── gallery.js │ ├── index.js │ ├── modals.js │ ├── threadSlider.js │ ├── titlebar.js │ └── toasts.js ├── registerServiceWorker.js ├── reset.css.js ├── routes.js ├── store/ │ └── index.js └── views/ ├── authViewHandler/ │ └── index.js ├── channel/ │ ├── components/ │ │ ├── MembersList.js │ │ └── PostsFeed.js │ ├── index.js │ └── style.js ├── channelSettings/ │ ├── components/ │ │ ├── channelMembers.js │ │ ├── editForm.js │ │ └── overview.js │ ├── index.js │ └── style.js ├── community/ │ ├── components/ │ │ ├── channelsList.js │ │ ├── communityFeeds.js │ │ ├── membersList.js │ │ ├── mobileCommunityInfoActions.js │ │ ├── postsFeeds.js │ │ └── teamMembersList.js │ ├── containers/ │ │ ├── privateCommunity.js │ │ └── signedIn.js │ ├── index.js │ └── style.js ├── communityLogin/ │ ├── index.js │ └── style.js ├── communityMembers/ │ ├── components/ │ │ ├── communityMembers.js │ │ ├── getMembers.js │ │ └── mutationWrapper.js │ ├── index.js │ └── style.js ├── communitySettings/ │ ├── components/ │ │ ├── channelList.js │ │ ├── editForm.js │ │ ├── overview.js │ │ └── redirect.js │ ├── index.js │ └── style.js ├── directMessages/ │ ├── components/ │ │ ├── avatars.js │ │ ├── header.js │ │ ├── loading.js │ │ ├── messageThreadListItem.js │ │ ├── messages.js │ │ ├── style.js │ │ └── threadsList.js │ ├── containers/ │ │ ├── existingThread.js │ │ └── index.js │ ├── index.js │ └── style.js ├── explore/ │ ├── collections.js │ ├── index.js │ ├── style.js │ └── view.js ├── globalTitlebar/ │ └── index.js ├── homeViewRedirect/ │ └── index.js ├── login/ │ ├── index.js │ └── style.js ├── navigation/ │ ├── accessibility.js │ ├── communityList.js │ ├── directMessagesTab.js │ ├── index.js │ ├── navHead.js │ └── style.js ├── newUserOnboarding/ │ ├── components/ │ │ └── setUsername/ │ │ ├── index.js │ │ └── style.js │ ├── index.js │ └── style.js ├── pages/ │ ├── components/ │ │ ├── communities.js │ │ ├── footer.js │ │ ├── logos.js │ │ └── nav.js │ ├── index.js │ ├── privacy/ │ │ └── index.js │ ├── style.js │ └── terms/ │ ├── index.js │ └── style.js ├── queryParamToastDispatcher/ │ └── index.js ├── status/ │ ├── index.js │ └── style.js ├── thread/ │ ├── components/ │ │ ├── actionBar.js │ │ ├── actionsDropdown.js │ │ ├── lockedMessages.js │ │ ├── messagesSubscriber.js │ │ ├── nullMessages.js │ │ ├── stickyHeader.js │ │ ├── threadByline.js │ │ ├── threadDetail.js │ │ └── threadHead.js │ ├── container/ │ │ └── index.js │ ├── index.js │ ├── redirect-old-route.js │ └── style.js ├── threadSlider/ │ ├── index.js │ └── style.js ├── user/ │ ├── components/ │ │ └── communityList.js │ ├── index.js │ └── style.js ├── userSettings/ │ ├── components/ │ │ ├── deleteAccountForm.js │ │ ├── downloadDataForm.js │ │ ├── editForm.js │ │ ├── logout.js │ │ └── overview.js │ ├── index.js │ └── style.js └── viewHelpers/ ├── errorView.js ├── fullScreenRedirect.js ├── index.js ├── loadingView.js ├── style.js └── textValidationHelper.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .babelrc ================================================ { "presets": [ [ "env", { "targets": { "node": "current" }, "useBuiltIns": true, "exclude": [ "babel-plugin-transform-regenerator", "transform-async-to-generator" ] } ] ], "plugins": [ "babel-plugin-transform-class-properties", ["styled-components", { "ssr": true }], "transform-flow-strip-types", "transform-object-rest-spread", "babel-plugin-transform-react-jsx", "syntax-dynamic-import", "syntax-async-generators", "transform-async-generator-functions", "react-loadable/babel", "babel-plugin-inline-import-graphql-ast" ] } ================================================ FILE: .circleci/config.yml ================================================ # CircleCI configuration for Spectrum version: 2.1 # Aliases aliases: # Cache Management - &restore-yarn-cache keys: - v1-yarn-{{ arch }}-{{ checksum "package.json" }} - v1-yarn-{{ arch }}- - &save-yarn-cache paths: - node_modules - ~/.cache/yarn key: v1-yarn-{{ arch }}-{{ checksum "package.json" }} - &yarn | yarn - &install-rethinkdb name: Install RethinkDB 2.3.5 command: | echo "deb http://download.rethinkdb.com/apt jessie main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list wget -qO- http://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add - sudo apt-get update sudo apt-get install rethinkdb=2.3.5~0jessie - &start-rethinkdb name: Start RethinkDB command: rethinkdb --bind all background: true - &setup-and-build-web name: Setup and build web command: | cp now-secrets.example.json now-secrets.json yarn run build:web - &build-api name: Build API command: yarn run build:api - &start-api name: Start the API in the background command: yarn run start:api:test background: true - &start-web name: Start web client in the background command: yarn run dev:web background: true defaults: &defaults working_directory: ~/spectrum js_defaults: &js_defaults <<: *defaults docker: - image: circleci/node:8 jobs: # Set up environment and install required dependencies checkout_environment: <<: *js_defaults steps: - checkout - restore_cache: *restore-yarn-cache - run: *yarn - save_cache: *save-yarn-cache - persist_to_workspace: root: . paths: . build_web: <<: *js_defaults steps: - attach_workspace: at: ~/spectrum - run: *setup-and-build-web - run: *build-api - persist_to_workspace: root: . paths: - build-api - build test_unit: <<: *defaults docker: - image: circleci/node:8 - image: redis:3.2.7 - image: rethinkdb:2.3.5 environment: TERM: xterm steps: - attach_workspace: at: ~/spectrum - run: yarn run db:migrate - run: yarn run db:seed - run: name: Run Unit Tests command: yarn run test:ci # Start db and servers, then run e2e and unit tests test_integration: <<: *defaults docker: - image: circleci/node:8-browsers - image: redis:3.2.7 - image: cypress/base:6 - image: rethinkdb:2.3.5 parameters: parallelism: type: integer default: 1 description: Number of boxes to use to run this job parallelism: <> environment: TERM: xterm steps: - attach_workspace: at: ~/spectrum - run: yarn run db:migrate - run: yarn run db:seed - run: *start-api - run: *start-web # Wait for the API and webserver to start - run: ./node_modules/.bin/wait-on http://localhost:3000 http://localhost:3001 - run: name: Install Cypress command: yarn run cypress:install - run: name: Run E2E Tests command: | if [ $CYPRESS_RECORD_KEY ]; then yarn run test:e2e -- --record --parallel else yarn run test:e2e fi # This runs after the above and is only here to hack around missing support for varying jobs based on external vs internal PRs # See https://github.com/withspectrum/spectrum/pull/4820 test_e2e: docker: - image: cypress/base:10 steps: - run: echo "pass" # Run eslint, flow etc. test_static_js: <<: *js_defaults steps: - attach_workspace: at: ~/spectrum - run: name: Run Flow command: yarn run flow - run: name: Run ESLint command: yarn run lint workflows: test: jobs: - checkout_environment - test_unit: requires: - checkout_environment - test_static_js: requires: - checkout_environment - build_web: requires: - checkout_environment # Run pull requests from internal contributors in parallel - test_integration: name: test_e2e_internal requires: - build_web parallelism: 8 filters: branches: ignore: /pull.*/ # Run pull requests from external contributors on one machine - test_integration: name: test_e2e_external requires: - build_web parallelism: 1 filters: branches: only: /pull.*/ # If either of the test_e2e_* jobs pass, this one passes so we can mark it as required on GitHub - test_e2e: requires: - test_e2e_internal - test_e2e_external ================================================ FILE: .dockerignore ================================================ .git *docker-compose* *Dockerfile* node_modules ================================================ FILE: .eslintignore ================================================ # Note: This is a copy of the .gitignore, # with flow-typed added flow-typed node_modules .sass-cache npm-debug.log build .DS_Store src/config/FirebaseConfig.js rethinkdb_data debug now-secrets.json build-iris build-api build-hyperion package-lock.json .vscode dump.rdb *.swp queries-by-response-size.js queries-by-time.js test-extend.js stats.json iris/.env api/.env test-results.json ================================================ FILE: .eslintrc.js ================================================ module.exports = { extends: ['eslint:recommended', 'plugin:react/recommended'], parser: 'babel-eslint', env: { es6: true, node: true, }, parserOptions: { ecmaVersion: 6, sourceType: 'module', ecmaFeatures: { jsx: true, }, }, plugins: ['eslint-plugin-flowtype'], rules: { 'no-undef': 0, 'no-console': ['warn', { allow: ['warn', 'error'] }], 'no-unused-vars': 1, 'no-empty': 0, 'no-useless-escape': 1, 'no-fallthrough': 1, 'no-extra-boolean-cast': 1, 'react/prop-types': 0, 'react/no-deprecated': 0, 'react/display-name': 0, 'react/no-find-dom-node': 1, 'react/no-unescaped-entities': 'warn', 'react/no-string-refs': 'warn', 'react/jsx-no-target-blank': 'warn', 'react/no-children-prop': 0, }, }; ================================================ FILE: .flowconfig ================================================ [ignore] .*/build.* .*/*.test.js .*/node_modules/cypress .*/node_modules/draft-js .*/node_modules/graphql .*/node_modules/protobufjs-no-cli .*/node_modules/reqwest .*/node_modules/react-apollo .*/node_modules/dataloader /node_modules/* /email-template-scripts/* [options] suppress_comment=.*\\$FlowFixMe suppress_comment=.*\\$FlowIssue esproposal.class_instance_fields=enable module.system.node.resolve_dirname=node_modules module.system.node.resolve_dirname=. module.file_ext=.js module.file_ext=.jsx module.file_ext=.json [lints] untyped-type-import=error untyped-import=warn unclear-type=warn unsafe-getters-setters=error [version] 0.66.0 ================================================ FILE: .github/ISSUE_TEMPLATE.md ================================================ ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ **Status** - [ ] WIP - [ ] Ready for review - [ ] Needs testing **Deploy after merge (delete what needn't be deployed)** - api - hyperion (frontend) **Run database migrations (delete if no migration was added)** YES ## **Release notes for users (delete if codebase-only change)** **Related issues (delete if you don't know of any)** Closes # ================================================ FILE: .gitignore ================================================ node_modules .sass-cache npm-debug.log build .DS_Store src/config/FirebaseConfig.js npm-debug.log yarn-error.log rethinkdb_data debug now-secrets.json build-iris build-api build-hyperion build-electron package-lock.json .vscode dump.rdb *.swp queries-by-response-size.js queries-by-time.js test-extend.js stats.json iris/.env api/.env test-results.json public/uploads cypress/screenshots/ cypress/videos/ cacert .env .env.* ================================================ FILE: .npmignore ================================================ # This is used by now when deploying hyperion, replacing .gitignore # NOTE(@mxstbr): The important change is that `cacert` is NOT ignored! node_modules .sass-cache npm-debug.log build .DS_Store src/config/FirebaseConfig.js npm-debug.log yarn-error.log rethinkdb_data debug now-secrets.json build-iris build-api build-hyperion build-electron package-lock.json .vscode dump.rdb *.swp queries-by-response-size.js queries-by-time.js test-extend.js stats.json iris/.env api/.env test-results.json public/uploads cypress/screenshots/ cypress/videos/ # This is hyperion-now-specific, do not copy to .gitignore docs cypress admin .circleci .github ================================================ FILE: .prettierignore ================================================ flow-typed package.json ================================================ FILE: .prettierrc ================================================ { "singleQuote": true, "trailingComma": "es5" } ================================================ FILE: LICENSE ================================================ Copyright 2018 Space Program Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: README.md ================================================
[![Spectrum](./public/img/media.png)](https://spectrum.chat) ### Simple, powerful online communities.
This is the main monorepo codebase of [Spectrum](https://spectrum.chat). Every single line of code that's not packaged into a reusable library is in this repository. ## What is Spectrum? ### Vision It is difficult to grow, manage and measure the impact of online communities. Community owners need modern, chat-based communities but are running into scaling issues when their community grows beyond a few hundred members. It becomes hard to keep track of who's who, know what conversations are happening, and ensure that the community is staying healthy and productive. **Spectrum aims to be the best platform to build any kind of community online by combining the best of forums and real-time chat apps.** With best-in-class moderation tooling, a single platform for all your communities, threaded conversations by default, community health monitoring, and much more to come we think that we will be able to help more people start and grow the best online communities. > "[Spectrum] will take the place that Reddit used to have a long time ago for communities (especially tech) to freely share ideas and interact. Except realtime and trolling-free." > > \- [Guillermo Rauch (@rauchg)](https://twitter.com/rauchg/status/930946768841228288) ### Status Spectrum has been in full-time development since March 2017 and is [part of GitHub since November 2018](https://spectrum.chat/spectrum/general/spectrum-is-joining-github~1d3eb8ee-4c99-46c0-8daf-ca35a96be6ce). See our current priorities and what we are working on in the [main project board](https://github.com/withspectrum/spectrum/projects/23).
## Docs - [Contributing](#contributing) - [Ground Rules](#ground-rules) - [Codebase](#codebase) - [Technologies](#technologies) - [Folder Structure](#folder-structure) - [Code Style](#code-style) - [First time setup](#first-time-setup) - [Running the app locally](#running-the-app-locally) - [Roadmap](https://github.com/withspectrum/spectrum/projects/19) - [Technical](docs/) - [Testing](docs/testing/intro.md) - [Background Jobs](docs/workers/background-jobs.md) - [Deployment](docs/deployments.md) - [API](docs/backend/api/) - [Fragments](docs/backend/api/fragments.md) - [Pagination](docs/backend/api/pagination.md) - [Testing](docs/backend/api/testing.md) - [Tips and Tricks](docs/backend/api/tips-and-tricks.md) ## Contributing **We heartily welcome any and all contributions that match our engineering standards!** That being said, this codebase isn't your typical open source project because it's not a library or package with a limited scope—it's our entire product. ### Ground Rules #### Contributions and discussion guidelines All conversations and communities on Spectrum agree to GitHub's [Community Guidelines](https://help.github.com/en/github/site-policy/github-community-guidelines) and [Acceptable Use Policies](https://help.github.com/en/github/site-policy/github-acceptable-use-policies). This code of conduct also applies to all conversations that happen within our contributor community here on GitHub. We expect discussions in issues and pull requests to stay positive, productive, and respectful. Remember: there are real people on the other side of that screen! #### Reporting a bug or discussing a feature idea If you found a technical bug on Spectrum or have ideas for features we should implement, the issue tracker is the best place to share your ideas. Make sure to follow the issue template and you should be golden! ([click here to open a new issue](https://github.com/withspectrum/spectrum/issues/new)) #### Fixing a bug or implementing a new feature If you find a bug on Spectrum and open a PR that fixes it we'll review it as soon as possible to ensure it matches our engineering standards. If you want to implement a new feature, open an issue first to discuss what it'd look like and to ensure it fits in our roadmap and plans for the app (see [the main project board](https://github.com/withspectrum/spectrum/projects/23) for planned and currently ongoing work). If you want to contribute but are unsure to start, we have [a "good first issue" label](https://github.com/withspectrum/spectrum/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) which is applied to newcomer-friendly issues. Take a look at [the full list of good first issues](https://github.com/withspectrum/spectrum/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and pick something you like! There is also [an "open" channel in the Spectrum community on Spectrum](https://spectrum.chat/spectrum/open) (how meta), if you run into troubles while trying to contribute that is the best place to talk to us. Want to fix a bug or implement an agreed-upon feature? Great, jump to the [local setup instructions](#first-time-setup)!
### Codebase #### Technologies With the ground rules out of the way, let's talk about the coarse architecture of this mono repo: - **Full-stack JavaScript**: We use Node.js to power our servers, and React to power our frontend apps. Almost all of the code you'll touch in this codebase will be JavaScript. Here is a list of all the big technologies we use: - **RethinkDB**: Data storage - **Redis**: Background jobs and caching - **GraphQL**: API, powered by the entire Apollo toolchain - **Flowtype**: Type-safe JavaScript - **PassportJS**: Authentication - **React**: Frontend React app #### Folder structure ```sh spectrum/ ├── api # API server ├── docs ├── hyperion # Rendering server ├── public # Public files used on the frontend ├── shared # Shared JavaScript code ├── src # Frontend SPA ```
Click to learn about the worker naming scheme #### Naming Scheme As you can see we follow a loose naming scheme based on ancient Greek, Roman, and philosophical figures that are somewhat related to what our servers do: - Hyperion: (/haɪˈpɪəriən/) is one of the twelve Titan children of Gaia and Uranus.
#### Code Style We run Prettier on-commit, which means you can write code in whatever style you want and it will be automatically formatted according to the common style when you run `git commit`. We also have ESLint set up, although we've disabled all stylistic rules since Prettier takes care of those. ##### Rules - **All new `.js` files must be flow typed**: Since we only introduced Flowtype after we finished building the first version of Spectrum, we enforce in CI that all new files added to the codebase are typed. (if you've never used Flowtype before that's totally fine, just write your code in plain JS and let us know in the PR body, we can take care of it for you) - **No `console.log`s in any file**: We use the `debug` module across the codebase to log debugging information in development only. Never commit a file that contains a `console.log` as CI will fail your build. The only exceptions are errors, which you can log, but you have to use `console.error` to be explicit about it
### First time setup The first step to running Spectrum locally is downloading the code by cloning the repository: ```sh git clone git@github.com:withspectrum/spectrum.git ``` If you get `Permission denied` error using `ssh` refer [here](https://help.github.com/articles/error-permission-denied-publickey/) or use `https` link as a fallback. ```sh git clone https://github.com/withspectrum/spectrum.git ``` #### Installation Spectrum has four big installation steps: 1. **Install RethinkDB**: See [the RethinkDB documentation](https://rethinkdb.com/docs/install/) for instructions on installing it with your OS. 2. **Install Redis**: See [the Redis documentation](https://redis.io/download) for instructions on installing it with your OS. 3. **Install yarn**: We use [yarn](https://yarnpkg.com) to handle our JavaScript dependencies. (plain `npm` doesn't work due to our monorepo setup) See [the yarn documentation](https://yarnpkg.com/en/docs/install) for instructions on installing it. 4. **Install the dependencies**: Because it's pretty tedious to install the dependencies for each worker individually we've created a script that goes through and runs `yarn install` for every worker for you: (this takes a couple minutes, so dive into the [technical docs](./docs) in the meantime) ```sh node shared/install-dependencies.js ``` You've now finished installing everything! Let's migrate the database and you'll be ready to go :100: #### Migrating the database When you first download the code and want to run it locally you have to migrate the database and seed it with test data. First, start rethinkdb in its own terminal tab: ```sh rethinkdb ``` Then, in a new tab, run these commands: ```sh yarn run db:migrate yarn run db:seed # ⚠️ To empty the database (e.g. if there's faulty data) run yarn run db:drop ``` There's a shortcut for dropping, migrating and seeding the database too: ```sh yarn run db:reset ``` The `testing` database used in end to end tests is managed separately. It is built, migrated, and seeded when you run: ```sh yarn run start:api:test ``` To drop the `testing` database, go to http://localhost:8080/#tables while `rethinkdb` is running, and click Delete Database on the appropriate database. #### Getting the secrets While the app will run without any secrets set up, you won't be able to sign in locally. To get that set up, copy the provided example secrets file to the real location: ``` cp now-secrets.example.json now-secrets.json ``` > Note: If you're an employee at Spectrum we've got a more complete list of secrets that also lets you upload images etc. in 1Password, search for "now-secrets.json" to find it. Now you're ready to run the app locally and sign into your local instance! ### Running the app locally #### Background services Whenever you want to run Spectrum locally you have to have RethinkDB and Redis running in the background. First start rethinkdb like we did to migrate the database: ```sh rethinkdb ``` Then (without closing the rethinkdb tab!) open another tab and start Redis: ```sh redis-server ``` #### Start the servers Depending on what you're trying to work on you'll need to start different servers. Generally, all servers run in development mode by doing `yarn run dev:`, e.g. `yarn run dev:hermes` to start the email worker. No matter what you're trying to do though, you'll want to have the API running, so start that in a background tab: ``` yarn run dev:api ``` #### Develop the web UI To develop the frontend and web UI run ``` yarn run dev:web ```
## GitHub Spectrum is now part of GitHub. For code of conduct, please see [GitHub's Community Guidelines](https://help.github.com/en/github/site-policy/github-community-guidelines) and [Acceptable Use Policies](https://help.github.com/en/github/site-policy/github-acceptable-use-policies). ## License BSD 3-Clause, see the [LICENSE](./LICENSE) file. ================================================ FILE: api/apollo-server.js ================================================ // @flow const debug = require('debug')('api:graphql'); import { ApolloServer } from 'apollo-server-express'; import responseCachePlugin from 'apollo-server-plugin-response-cache'; import depthLimit from 'graphql-depth-limit'; import costAnalysis from 'graphql-cost-analysis'; import { RedisCache } from 'apollo-server-cache-redis'; import createLoaders from './loaders'; import createErrorFormatter from './utils/create-graphql-error-formatter'; import schema from './schema'; import { statsd } from 'shared/statsd'; import { getUserIdFromReq } from './utils/session-store'; import UserError from './utils/UserError'; import type { DBUser } from 'shared/types'; import { getUserById } from '../shared/db/queries/user'; // NOTE(@mxstbr): Evil hack to make graphql-cost-analysis work with Apollo Server v2 // @see pa-bru/graphql-cost-analysis#12 // @author @arianon class ProtectedApolloServer extends ApolloServer { async createGraphQLServerOptions( req: express$Request, res: express$Response ): Promise<*> { const options = await super.createGraphQLServerOptions(req, res); return { ...options, validationRules: [ ...options.validationRules, costAnalysis({ maximumCost: 750, defaultCost: 1, variables: req.body.variables, createError: (max, actual) => { const err = new UserError( `GraphQL query exceeds maximum complexity, please remove some nesting or fields and try again. (max: ${max}, actual: ${actual})` ); return err; }, }), ], }; } } let connections = 0; setInterval(() => { statsd.gauge('websocket.connections.count', connections); }, 5000); const server = new ProtectedApolloServer({ schema, formatError: createErrorFormatter(), // For subscriptions, this gets passed "connection", for everything else "req" and "res" context: ({ req, res, connection, ...rest }, ...other) => { if (connection) { return { ...(connection.context || {}), }; } // Add GraphQL operation information to the statsd tags req.statsdTags = { graphqlOperationName: req.body.operationName || 'unknown_operation', }; debug(req.body.operationName || 'unknown_operation'); const loaders = createLoaders(); let currentUser = req.user && !req.user.bannedAt ? req.user : null; return { loaders, updateCookieUserData: (data: DBUser) => new Promise((res, rej) => req.login(data, err => (err ? rej(err) : res())) ), req, user: currentUser, }; }, subscriptions: { path: '/websocket', onConnect: (connectionParams, rawSocket) => { connections++; return getUserIdFromReq(rawSocket.upgradeReq) .then(id => (id ? getUserById(id) : null)) .then(user => { return { user: user || null, loaders: createLoaders({ cache: false }), }; }) .catch(err => { console.error(err); return { loaders: createLoaders({ cache: false }), }; }); }, }, playground: process.env.NODE_ENV !== 'production' && { settings: { 'editor.theme': 'light', }, tabs: [ { endpoint: 'http://localhost:3001/api', query: `{ user(username: "mxstbr") { id username } }`, }, ], }, introspection: process.env.NODE_ENV !== 'production', maxFileSize: 25 * 1024 * 1024, // 25MB engine: false, tracing: false, validationRules: [depthLimit(10)], cacheControl: { calculateHttpHeaders: false, // Cache everything for at least a minute since we only cache public responses defaultMaxAge: 60, }, plugins: [ responseCachePlugin({ sessionId: ({ context }) => (context.user ? context.user.id : null), // Only cache public responses shouldReadFromCache: ({ context }) => !context.user, shouldWriteToCache: ({ context }) => !context.user, }), ], }); export default server; ================================================ FILE: api/authentication.js ================================================ // @flow require('now-env'); const passport = require('passport'); const { Strategy: TwitterStrategy } = require('passport-twitter'); const { Strategy: FacebookStrategy } = require('passport-facebook'); const { Strategy: GoogleStrategy } = require('passport-google-oauth2'); const { Strategy: GitHubStrategy } = require('passport-github2'); const { getUserById, createOrFindUser, saveUserProvider, getUserByIndex, } = require('shared/db/queries/user'); const IS_PROD = !process.env.FORCE_DEV && process.env.NODE_ENV === 'production'; const TWITTER_OAUTH_CLIENT_SECRET = IS_PROD ? process.env.TWITTER_OAUTH_CLIENT_SECRET : process.env.TWITTER_OAUTH_CLIENT_SECRET_DEVELOPMENT; const FACEBOOK_OAUTH_CLIENT_ID = IS_PROD ? process.env.FACEBOOK_OAUTH_CLIENT_ID : process.env.FACEBOOK_OAUTH_CLIENT_SECRET_DEVELOPMENT; const FACEBOOK_OAUTH_CLIENT_SECRET = IS_PROD ? process.env.FACEBOOK_OAUTH_CLIENT_SECRET : process.env.FACEBOOK_OAUTH_CLIENT_SECRET_DEVELOPMENT; const GOOGLE_OAUTH_CLIENT_SECRET = IS_PROD ? process.env.GOOGLE_OAUTH_CLIENT_SECRET : process.env.GOOGLE_OAUTH_CLIENT_SECRET_DEVELOPMENT; const GITHUB_OAUTH_CLIENT_SECRET = IS_PROD ? process.env.GITHUB_OAUTH_CLIENT_SECRET : process.env.GITHUB_OAUTH_CLIENT_SECRET_DEVELOPMENT; const TWITTER_OAUTH_CLIENT_ID = IS_PROD ? 'vxmsICGyIIoT5NEYi1I8baPrf' : 'Qk7BWFe44JKswEw2sNaDAA4x7'; const GOOGLE_OAUTH_CLIENT_ID = IS_PROD ? '923611718470-chv7p9ep65m3fqqjr154r1p3a5j6oidc.apps.googleusercontent.com' : '923611718470-hjribk5128dr3s26cbp5cbdecigrsjsp.apps.googleusercontent.com'; const GITHUB_OAUTH_CLIENT_ID = IS_PROD ? '208a2e8684d88883eded' : 'ed3e924f4a599313c83b'; const CALLBACK_BASE = IS_PROD ? 'https://spectrum.chat' : 'http://localhost:3001'; const isSerializedJSON = (str: string) => str[0] === '{' && str[str.length - 1] === '}'; const init = () => { // Setup use serialization passport.serializeUser((user, done) => { done(null, typeof user === 'string' ? user : JSON.stringify(user)); }); // NOTE(@mxstbr): `data` used to be just the userID, but is now the full user data // to avoid having to go to the db on every single request. We have to handle both // cases here, as more and more users use Spectrum again we go to the db less and less passport.deserializeUser((data, done) => { // Fast path: we got the full user data in the cookie if (isSerializedJSON(data)) { let user; // Ignore errors if our isSerializedJSON heuristic is wrong and `data` isn't serialized JSON try { user = JSON.parse(data); } catch (err) {} if (user && user.id && user.createdAt) { return done(null, user); } } // Slow path: data is just the userID (legacy), so we have to go to the db to get the full data return getUserById(data) .then(user => { done(null, user); }) .catch(err => { done(err); }); }); // Set up Twitter login passport.use( new TwitterStrategy( { consumerKey: TWITTER_OAUTH_CLIENT_ID, consumerSecret: TWITTER_OAUTH_CLIENT_SECRET, callbackURL: `${CALLBACK_BASE}/auth/twitter/callback`, includeEmail: true, }, (token, tokenSecret, profile, done) => { const name = profile.displayName || profile._json.name || profile._json.screen_name || profile.username || ''; const user = { providerId: profile.id, fbProviderId: null, googleProviderId: null, githubProviderId: null, username: null, name: name, email: (profile.emails && profile.emails.length > 0 && profile.emails[0].value) || null, profilePhoto: (profile.photos && profile.photos.length > 0 && profile.photos[0].value) || null, coverPhoto: profile._json.profile_background_image_url_https ? profile._json.profile_background_image_url_https : null, description: profile._json.description && profile._json.description.length > 0 ? profile._json.description : '', website: profile._json.entities.url && profile._json.entities.url.urls && profile._json.entities.url.urls.length > 0 ? profile._json.entities.url.urls[0].expanded_url : '', }; return createOrFindUser(user, 'providerId') .then(user => { done(null, user); return user; }) .catch(err => { return done(null, err, { message: 'Please sign in with GitHub to create a new account.', }); }); } ) ); // Set up Facebook login passport.use( new FacebookStrategy( { clientID: FACEBOOK_OAUTH_CLIENT_ID, clientSecret: FACEBOOK_OAUTH_CLIENT_SECRET, callbackURL: `${CALLBACK_BASE}/auth/facebook/callback`, profileFields: [ 'id', 'displayName', 'email', 'photos', 'about', 'cover', 'first_name', 'last_name', 'website', ], }, (token, tokenSecret, profile, done) => { const user = { providerId: null, fbProviderId: profile.id, googleProviderId: null, githubProviderId: null, username: null, name: profile.displayName, firstName: profile.name && profile.name.givenName ? profile.name.givenName : '', lastName: profile.name && profile.name.familyName ? profile.name.familyName : '', description: profile.about ? profile.about : '', website: profile.website ? profile.website : '', email: profile.emails && profile.emails.length > 0 && profile.emails[0].value !== undefined ? profile.emails[0].value : null, profilePhoto: profile.photos && profile.photos.length > 0 && profile.photos[0].value !== undefined ? profile.photos[0].value : null, coverPhoto: profile._json.cover ? profile._json.cover.source : '', }; return createOrFindUser(user, 'fbProviderId') .then(user => { done(null, user); return user; }) .catch(err => { return done(null, err, { message: 'Please sign in with GitHub to create a new account.', }); }); } ) ); // Set up Google login passport.use( new GoogleStrategy( { clientID: GOOGLE_OAUTH_CLIENT_ID, clientSecret: GOOGLE_OAUTH_CLIENT_SECRET, callbackURL: `${CALLBACK_BASE}/auth/google/callback`, }, (token, tokenSecret, profile, done) => { const name = profile.displayName || profile.name ? `${profile.name.givenName} ${profile.name.familyName}` : ''; const user = { providerId: null, fbProviderId: null, googleProviderId: profile.id, githubProviderId: null, username: null, name: name, firstName: profile.name && profile.name.givenName ? profile.name.givenName : '', lastName: profile.name && profile.name.familyName ? profile.name.familyName : '', description: profile.tagline ? profile.tagline : '', email: (profile.emails && profile.emails.length > 0 && profile.emails[0].value) || null, profilePhoto: (profile.photos && profile.photos.length > 0 && profile.photos[0].value) || null, coverPhoto: profile._json.cover && profile._json.cover.coverPhoto && profile._json.cover.coverPhoto.url ? profile._json.cover.coverPhoto.url : '', website: profile._json.urls && profile._json.urls.length > 0 ? profile._json.urls[0].value : '', }; return createOrFindUser(user, 'googleProviderId') .then(user => { done(null, user); return user; }) .catch(err => { return done(null, err, { message: 'Please sign in with GitHub to create a new account.', }); }); } ) ); // Set up GitHub login passport.use( new GitHubStrategy( { clientID: GITHUB_OAUTH_CLIENT_ID, clientSecret: GITHUB_OAUTH_CLIENT_SECRET, callbackURL: `${CALLBACK_BASE}/auth/github/callback`, scope: ['user'], passReqToCallback: true, }, async (req, token, tokenSecret, profile, done) => { const name = profile.displayName || profile.username || profile._json.name || ''; const splitProfileUrl = profile.profileUrl.split('/'); const fallbackUsername = splitProfileUrl[splitProfileUrl.length - 1]; const githubUsername = profile.username || profile._json.login || fallbackUsername; const existingUserWithProviderId = await getUserByIndex( 'githubProviderId', profile.id ); if (req.user) { // if a user exists in the request body, it means the user is already // authed and is trying to connect a github account. Before we do so // we need to make sure that: // 1. The user doesn't have an existing githubProviderId on their user // 2. The providerId returned from GitHub isnt' being used by another user // 1 if (req.user.githubProviderId) { /* Update the cached content of the github profile that we store in redis for the graphql resolver. This allows us to put a button on the client for a user to re-connect a github profile from the web app which will update the cache with any changed usernames */ if ( !req.user.githubUsername || req.user.githubUsername !== githubUsername ) { return saveUserProvider( req.user.id, 'githubProviderId', profile.id, { githubUsername: githubUsername } ) .then(user => { done(null, user); return user; }) .catch(err => { done(err); return null; }); } return done(null, req.user); } // 2 // if no user exists with this provider id, it's safe to save on the req.user's object if (!existingUserWithProviderId) { return saveUserProvider( req.user.id, 'githubProviderId', profile.id, { githubUsername: githubUsername } ) .then(user => { done(null, user); return user; }) .catch(err => { done(err); return null; }); } // if a user exists with this provider id, don't do anything and return if (existingUserWithProviderId) { return done(null, req.user, { message: 'Your GitHub account is already linked to another Spectrum profile.', }); } } const user = { providerId: null, fbProviderId: null, googleProviderId: null, githubProviderId: profile.id, githubUsername: githubUsername, username: null, name: name, description: profile._json.bio, website: profile._json.blog, email: (profile.emails && profile.emails.length > 0 && profile.emails[0].value) || null, profilePhoto: (profile._json.avatar_url && profile._json.avatar_url) || null, }; return createOrFindUser(user, 'githubProviderId') .then(user => { done(null, user); return user; }) .catch(err => { done(err); return null; }); } ) ); }; module.exports = { init, }; ================================================ FILE: api/index.js ================================================ // @flow /** * The entry point for the server, this is where everything starts */ const compression = require('compression'); const debug = require('debug')('api'); debug('Server starting...'); debug('logging with debug enabled!'); import { createServer } from 'http'; import express from 'express'; import Raven from 'shared/raven'; import toobusy from 'shared/middlewares/toobusy'; import addSecurityMiddleware from 'shared/middlewares/security'; import csrf from 'shared/middlewares/csrf'; import statsd from 'shared/middlewares/statsd'; import { init as initPassport } from './authentication.js'; import apolloServer from './apollo-server'; import { corsOptions } from 'shared/middlewares/cors'; import errorHandler from 'shared/middlewares/error-handler'; import middlewares from './routes/middlewares'; import authRoutes from './routes/auth'; import apiRoutes from './routes/api'; import type { DBUser } from 'shared/types'; import type { Loader } from './loaders/types'; export type GraphQLContext = { user: DBUser, updateCookieUserData: (data: DBUser) => Promise, loaders: { [key: string]: Loader, }, }; const PORT = process.env.PORT ? parseInt(process.env.PORT, 10) : 3001; initPassport(); const app = express(); // Instantiate the statsd middleware as soon as possible to get accurate time tracking app.use(statsd); // Trust the now proxy app.set('trust proxy', true); app.use(toobusy); // Security middleware. addSecurityMiddleware(app, { enableNonce: false, enableCSP: false }); if (process.env.NODE_ENV === 'production' && !process.env.FORCE_DEV) { app.use(csrf); } // All other middlewares app.use(compression()); app.use(middlewares); // Routes app.use('/auth', authRoutes); app.use('/api', apiRoutes); // GraphQL middleware apolloServer.applyMiddleware({ app, path: '/api', cors: corsOptions }); // Redirect a request to the root path to the main app app.use('/', (req: express$Request, res: express$Response) => { res.redirect( process.env.NODE_ENV === 'production' && !process.env.FORCE_DEV ? 'https://spectrum.chat' : 'http://localhost:3000' ); }); // $FlowIssue app.use(errorHandler); // We need to create a separate HTTP server to handle GraphQL subscriptions via websockets const httpServer = createServer(app); apolloServer.installSubscriptionHandlers(httpServer); httpServer.listen(PORT); debug(`GraphQL API running at http://localhost:${PORT}/api`); process.on('unhandledRejection', async err => { console.error('Unhandled rejection', err); try { await new Promise(resolve => Raven.captureException(err, resolve)); } catch (err) { console.error('Raven error', err); } finally { process.exit(1); } }); process.on('uncaughtException', async err => { console.error('Uncaught exception', err); try { await new Promise(resolve => Raven.captureException(err, resolve)); } catch (err) { console.error('Raven error', err); } finally { process.exit(1); } }); ================================================ FILE: api/loaders/channel.js ================================================ // @flow import { getChannels, getChannelsThreadCounts } from '../models/channel'; import { getChannelsSettings } from '../models/channelSettings'; import createLoader from './create-loader'; export const __createChannelLoader = createLoader(channels => getChannels(channels) ); export const __createChannelThreadCountLoader = createLoader( channels => getChannelsThreadCounts(channels), 'group' ); export const __createChannelSettingsLoader = createLoader( channelIds => getChannelsSettings(channelIds), key => key.channelId ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/community.js ================================================ // @flow import { getCommunities, getCommunitiesBySlug, getCommunitiesChannelCounts, getCommunitiesMemberCounts, } from '../models/community'; import { getCommunitiesSettings } from '../models/communitySettings'; import createLoader from './create-loader'; export const __createCommunityLoader = createLoader(communities => getCommunities(communities) ); export const __createCommunityBySlugLoader = createLoader( communities => getCommunitiesBySlug(communities), 'slug' ); export const __createCommunityMemberCountLoader = createLoader( communityIds => getCommunitiesMemberCounts(communityIds), 'group' ); export const __createCommunityChannelCountLoader = createLoader( communityIds => getCommunitiesChannelCounts(communityIds), 'group' ); export const __createCommunitySettingsLoader = createLoader( communityIds => getCommunitiesSettings(communityIds), key => key.communityId ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/create-loader.js ================================================ // @flow import DataLoader from 'dataloader'; import unique from 'shared/unique-elements'; import type { Loader, DataLoaderOptions } from './types'; /** * Create a dataloader instance for a request and type * * Usage: * createUserLoader = () => createLoader(users => getUsers(users), 'id'); */ const createLoader = ( batchFn: Function, indexField: string | Function = 'id', cacheKeyFn: Function = key => key ) => (options?: DataLoaderOptions): Loader => { return new DataLoader(keys => { return batchFn(unique(keys)).then( normalizeRethinkDbResults(keys, indexField, cacheKeyFn) ); }, options); }; // These helper functions were taken from the DataLoader docs // https://github.com/facebook/dataloader/blob/master/examples/RethinkDB.md function indexResults(results, indexField, cacheKeyFn) { var indexedResults = new Map(); results.filter(Boolean).forEach(res => { const key = typeof indexField === 'function' ? indexField(res) : res[indexField]; indexedResults.set(cacheKeyFn(key), res); }); return indexedResults; } function normalizeRethinkDbResults(keys, indexField, cacheKeyFn) { return results => { var indexedResults = indexResults(results, indexField, cacheKeyFn); return keys.map(val => indexedResults.get(cacheKeyFn(val)) || null); }; } export default createLoader; ================================================ FILE: api/loaders/directMessageThread.js ================================================ // @flow import { getDirectMessageThreads } from '../models/directMessageThread'; import { getMembersInDirectMessageThreads } from '../models/usersDirectMessageThreads'; import { getLastMessageOfThreads } from '../models/message'; import createLoader from './create-loader'; import type { Loader } from './types'; export const __createDirectMessageThreadLoader = createLoader(threads => getDirectMessageThreads(threads) ); export const __createDirectMessageParticipantsLoader = createLoader( threads => getMembersInDirectMessageThreads(threads), 'group' ); export const __createDirectMessageSnippetLoader = createLoader( threads => getLastMessageOfThreads(threads), 'threadId' ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/index.js ================================================ // @flow import { __createUserLoader, __createUserByUsernameLoader, __createUserThreadCountLoader, __createUserPermissionsInCommunityLoader, __createUserPermissionsInChannelLoader, } from './user'; import { __createThreadLoader, __createThreadParticipantsLoader, } from './thread'; import { __createChannelLoader, __createChannelThreadCountLoader, __createChannelSettingsLoader, } from './channel'; import { __createCommunityLoader, __createCommunityBySlugLoader, __createCommunityChannelCountLoader, __createCommunitySettingsLoader, __createCommunityMemberCountLoader, } from './community'; import { __createDirectMessageThreadLoader, __createDirectMessageParticipantsLoader, __createDirectMessageSnippetLoader, } from './directMessageThread'; import { __createReactionLoader, __createSingleReactionLoader, } from './reaction'; import { __createThreadReactionLoader } from './threadReaction'; import { __createMessageLoader } from './message'; import type { DataLoaderOptions } from './types'; // Create all the necessary loaders to be attached to the GraphQL context for each request const createLoaders = (options?: DataLoaderOptions) => ({ user: __createUserLoader(options), userByUsername: __createUserByUsernameLoader(options), userThreadCount: __createUserThreadCountLoader(options), userPermissionsInCommunity: __createUserPermissionsInCommunityLoader(options), userPermissionsInChannel: __createUserPermissionsInChannelLoader(options), thread: __createThreadLoader(options), threadParticipants: __createThreadParticipantsLoader(options), channel: __createChannelLoader(options), channelThreadCount: __createChannelThreadCountLoader(options), channelSettings: __createChannelSettingsLoader(options), community: __createCommunityLoader(options), communityBySlug: __createCommunityBySlugLoader(options), communityChannelCount: __createCommunityChannelCountLoader(options), communityMemberCount: __createCommunityMemberCountLoader(options), communitySettings: __createCommunitySettingsLoader(options), directMessageThread: __createDirectMessageThreadLoader(options), directMessageParticipants: __createDirectMessageParticipantsLoader(options), directMessageSnippet: __createDirectMessageSnippetLoader(options), message: __createMessageLoader(options), messageReaction: __createReactionLoader(options), threadReaction: __createThreadReactionLoader(options), reaction: __createSingleReactionLoader(options), }); export default createLoaders; ================================================ FILE: api/loaders/message.js ================================================ // @flow import { getManyMessages } from '../models/message'; import createLoader from './create-loader'; import type { Loader } from './types'; export const __createMessageLoader = createLoader((messages: string[]) => getManyMessages(messages) ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/reaction.js ================================================ // @flow import { getReactions, getReactionsByIds } from '../models/reaction'; import createLoader from './create-loader'; export const __createReactionLoader = createLoader( messageIds => getReactions(messageIds), 'group' ); export const __createSingleReactionLoader = createLoader(reactionIds => getReactionsByIds(reactionIds) ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/thread.js ================================================ // @flow import { getThreads } from '../models/thread'; import { getParticipantsInThreads } from '../models/usersThreads'; import createLoader from './create-loader'; export const __createThreadLoader = createLoader(threads => getThreads(threads) ); export const __createThreadParticipantsLoader = createLoader( threadIds => getParticipantsInThreads(threadIds), 'group' ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/threadReaction.js ================================================ // @flow import { getThreadReactions } from '../models/threadReaction'; import createLoader from './create-loader'; export const __createThreadReactionLoader = createLoader( threadIds => getThreadReactions(threadIds), 'group' ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/loaders/types.js ================================================ // @flow export type Loader = { load: (key: string | Array) => Promise, loadMany: (keys: Array<*>) => Promise, clear: (key: string | Array) => void, }; export type DataLoaderOptions = { cache?: boolean, }; ================================================ FILE: api/loaders/user.js ================================================ // @flow import { getUsers, getUsersThreadCount, getUsersByUsername, } from 'shared/db/queries/user'; import { getUsersPermissionsInCommunities } from '../models/usersCommunities'; import { getUsersPermissionsInChannels } from '../models/usersChannels'; import createLoader from './create-loader'; export const __createUserLoader = createLoader(users => getUsers(users), 'id'); export const __createUserByUsernameLoader = createLoader( users => getUsersByUsername(users), 'username' ); export const __createUserThreadCountLoader = createLoader( users => getUsersThreadCount(users), 'id' ); export const __createUserPermissionsInCommunityLoader = createLoader( usersCommunities => getUsersPermissionsInCommunities(usersCommunities), input => `${input.userId}|${input.communityId}`, key => (Array.isArray(key) ? `${key[0]}|${key[1]}` : key) ); export const __createUserPermissionsInChannelLoader = createLoader( usersChannels => getUsersPermissionsInChannels(usersChannels), input => `${input.userId}|${input.channelId}`, key => (Array.isArray(key) ? `${key[0]}|${key[1]}` : key) ); export default () => { throw new Error( '⚠️ Do not import loaders directly, get them from the GraphQL context instead! ⚠️' ); }; ================================================ FILE: api/migrations/20170410074258-initial-data.js ================================================ exports.up = function(r, conn) { return ( Promise.all([ r .tableCreate('threads') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('channels') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('communities') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('messages') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('sessions') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('reactions') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('directMessageThreads') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('users') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('recurringPayments') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('invoices') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('usersCommunities') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('usersChannels') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('usersDirectMessageThreads') .run(conn) .catch(err => { console.log(err); throw err; }), ]) // Create secondary indexes .then(() => Promise.all([ // index user by username r .table('users') .indexCreate('username', r.row('username')) .run(conn) .catch(err => { console.log(err); throw err; }), // index recurringPayments by userId r .table('recurringPayments') .indexCreate('userId', r.row('userId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index invoices by communityId r .table('invoices') .indexCreate('communityId', r.row('communityId')) .run(conn) .catch(err => { console.log(err); throw err; }), // indexes on usersCommunities join table r .table('usersCommunities') .indexCreate('userId', r.row('userId')) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersCommunities') .indexCreate('communityId', r.row('communityId')) .run(conn) .catch(err => { console.log(err); throw err; }), // indexes on usersChannels join table r .table('usersChannels') .indexCreate('userId', r.row('userId')) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersChannels') .indexCreate('channelId', r.row('channelId')) .run(conn) .catch(err => { console.log(err); throw err; }), // indexes on usersDirectMessageThreads join table r .table('usersDirectMessageThreads') .indexCreate('userId', r.row('userId')) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersDirectMessageThreads') .indexCreate('threadId', r.row('threadId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index direct message threads by the users r .table('directMessageThreads') .indexCreate('participants', { multi: true }) .run(conn) .catch(err => { console.log(err); throw err; }), // index threads by creator r .table('threads') .indexCreate('creatorId', r.row('creatorId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index threads by channelId r .table('threads') .indexCreate('channelId', r.row('channelId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index threads by communityId r .table('threads') .indexCreate('communityId', r.row('communityId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index threads by lastActive r .table('threads') .indexCreate('lastActive', r.row('lastActive')) .run(conn) .catch(err => { console.log(err); throw err; }), // index reactions by message r .table('reactions') .indexCreate('messageId', r.row('messageId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index channels by communityId r .table('channels') .indexCreate('communityId', r.row('communityId')) .run(conn) .catch(err => { console.log(err); throw err; }), // index messages by thread r .table('messages') .indexCreate('threadId', r.row('threadId')) .run(conn) .catch(err => { console.log(err); throw err; }), ]) ) .catch(err => { console.log(err); throw err; }) ); }; exports.down = function(r, conn) { return Promise.all([ r .tableDrop('threads') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('channels') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('communities') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('messages') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('sessions') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('users') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('directMessageThreads') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('reactions') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('recurringPayments') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('invoices') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('usersCommunities') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('usersChannels') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableDrop('usersDirectMessageThreads') .run(conn) .catch(err => { console.log(err); throw err; }), ]).catch(err => { console.log(err); throw err; }); }; ================================================ FILE: api/migrations/20170613200350-notifications.js ================================================ exports.up = function(r, conn) { return ( // Create new tables, update old ones with receiveNotifications Promise.all([ r .table('usersChannels') .filter({ isBlocked: false }) .update({ receiveNotifications: true }) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersCommunities') .filter({ isBlocked: false }) .update({ receiveNotifications: true }) .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('notifications') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('usersThreads') .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('usersNotifications') .run(conn) .catch(err => { console.log(err); throw err; }), ]) // Add secondary indexes to new tables .then(() => Promise.all([ r .table('notifications') .indexCreate('modifiedAt', r.row('modifiedAt')) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersThreads') .indexCreate('userId') .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersThreads') .indexCreate('threadId') .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersNotifications') .indexCreate('userId') .run(conn) .catch(err => { console.log(err); throw err; }), r .table('notifications') .indexCreate('contextId', r.row('context')('id')) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('usersNotifications') .indexCreate('notificationId', r.row('notificationId')) .run(conn) .catch(err => { console.log(err); throw err; }), ]) ) // Insert data into new tables that should be there .then(() => Promise.all([ // Thread creators -> usersThreads r .table('threads') .filter(r.row.hasFields('deletedAt').not()) .run(conn) .then(cursor => cursor.toArray()) .then(threads => Promise.all( threads.map(thread => r .table('usersThreads') .insert({ createdAt: r.now(), isParticipant: true, receiveNotifications: true, threadId: thread.id, userId: thread.creatorId, }) .run(conn) .catch(err => { console.log(err); throw err; }) ) ) ) .catch(err => { console.log(err); throw err; }), // Thread participants -> usersThreads r .table('threads') .filter(r.row.hasFields('deletedAt').not()) .run(conn) .catch(err => { console.log(err); throw err; }) .then(cursor => cursor.toArray()) .then(threads => Promise.all( threads.map(thread => { return Promise.all([ r .table('messages') .filter({ threadId: thread.id }) .map(message => message('senderId')) .run(conn) .then(cursor => cursor.toArray()) .catch(err => { console.log(err); throw err; }), thread, ]); }) ) ) .then(threadsMessages => Promise.all( threadsMessages.map(([threadSenders, thread]) => { if (!threadSenders) return Promise.resolve(); let uniqueThreadSenders = threadSenders.filter( (item, i, ar) => ar.indexOf(item) === i ); return Promise.all( uniqueThreadSenders.map(sender => { return r .table('usersThreads') .insert({ createdAt: r.now(), isParticipant: true, receiveNotifications: true, threadId: thread.id, userId: sender, }) .run(conn) .catch(err => { console.log(err); throw err; }); }) ); }) ) ), ]) ) .catch(err => { console.log(err); throw err; }) ); }; exports.down = function(r, conn) { return Promise.all([ r.tableDrop('usersThreads').run(conn), r.tableDrop('usersNotifications').run(conn), r.tableDrop('notifications').run(conn), r .table('usersCommunities') .update({ receiveNotifications: r.literal() }) .run(conn), r .table('usersCommunities') .update({ receiveNotifications: r.literal() }) .run(conn), ]); }; ================================================ FILE: api/migrations/20170616113103-compound-indexes-for-ordering.js ================================================ exports.up = function(r, conn) { return Promise.all([ // messages#threadIdAndTimestamp r .table('messages') .indexCreate('threadIdAndTimestamp', [ r.row('threadId'), r.row('timestamp'), ]) .run(conn), // threads#channelIdAndLastActive r .table('threads') .indexCreate('channelIdAndLastActive', [ r.row('channelId'), r.row('lastActive'), ]) .run(conn), // threads#communityIdAndLastActive r .table('threads') .indexCreate('communityIdAndLastActive', [ r.row('communityId'), r.row('lastActive'), ]) .run(conn), // community#createdAt r .table('communities') .indexCreate('createdAt') .run(conn), ]).catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170627104435-user-email-settings.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .tableCreate('usersSettings') .run(conn) // Create secondary indexes .then(() => // index user by username r .table('usersSettings') .indexCreate('userId', r.row('userId')) .run(conn) ) .then(() => Promise.all([ // Get all user ids while we wait for the index to finish creating r.table('users').withFields('id').map(user => user('id')).run(conn), r.table('usersSettings').indexWait('userId').run(conn), ]) ) .then(([userIds]) => userIds.toArray()) .then(userIds => Promise.all( userIds.map(id => r .table('usersSettings') .insert({ userId: id, notifications: { types: { newMessageInThreads: { email: true, }, }, }, }) .run(conn) ) ) ) .catch(err => { console.log(err); throw err; }), ]); }; exports.down = function(r, conn) { return r.tableDrop('usersSettings').run(conn); }; ================================================ FILE: api/migrations/20170701173337-linkify-messages.js ================================================ const markdownLinkify = require('../utils/markdown-linkify'); exports.up = function(r, conn) { return ( // Markdown linkify each message r .table('messages') .withFields('id', 'content') .run(conn) .then(cursor => cursor.toArray()) .then(messages => Promise.all( messages.map(message => r .table('messages') .get(message.id) .update({ content: { body: markdownLinkify(message.content.body), }, }) .run(conn) ) ) ) ); }; exports.down = function(r, conn) { // Can't really undo just this change so we don't bother return Promise.resolve(); }; ================================================ FILE: api/migrations/20170702194221-fix-images.js ================================================ const MARKDOWN_LINK = /(?:\[(.*?)\]\((.*?)\))/g; exports.up = function(r, conn) { return ( // The last migration fucked images up in production // so this one fixes them again 😅 r .table('messages') .filter({ messageType: 'media' }) .withFields('id', 'content') .run(conn) .then(cursor => cursor.toArray()) .then(messages => Promise.all( messages.map(message => r .table('messages') .get(message.id) .update({ content: { body: MARKDOWN_LINK.test(message.content.body) ? message.content.body.replace(MARKDOWN_LINK, '$2') : message.content.body, }, }) .run(conn) ) ) ) ); }; exports.down = function(r, conn) { // Can't really undo just this change so we don't bother return Promise.resolve(); }; ================================================ FILE: api/migrations/20170706114239-providerfield-indexes.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('users') .indexCreate('providerId') .run(conn), r .table('users') .indexCreate('fbProviderId') .run(conn), r .table('users') .indexCreate('googleProviderId') .run(conn), ]).catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170706205658-slack-import.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .tableCreate('slackImports') .run(conn) .catch(err => { console.log(err); throw err; }), ]) .then(() => Promise.all([ r .table('slackImports') .indexCreate('communityId', r.row('communityId')) .run(conn) .catch(err => { console.log(err); throw err; }), r .table('users') .indexCreate('email', r.row('email')) .run(conn), ]) ) .catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.all([r.tableDrop('slackImports').run(conn)]); }; ================================================ FILE: api/migrations/20170714171920-web-push-subscription.js ================================================ exports.up = function(r, conn) { return r .tableCreate('webPushSubscriptions') .run(conn) .catch(err => { throw new Error(err); }) .then(() => r .table('webPushSubscriptions') .indexCreate('userId') .run(conn) ) .then(() => r .table('webPushSubscriptions') .indexCreate('endpoint') .run(conn) ); }; exports.down = function(r, conn) { return r .tableDrop('webPushSubscriptions') .run(conn) .catch(err => { throw new Error(err); }); }; ================================================ FILE: api/migrations/20170724184557-notifications-entity-added-index.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersNotifications') .indexCreate('userIdAndEntityAddedAt', [ r.row('userId'), r.row('entityAddedAt'), ]) .run(conn), ]).catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170803104302-dedupe-users-settings.js ================================================ const without = require('lodash/without'); // This is taken from the Babel REPL and is what it transpiles ...arr to. // (can't use rest/spread in Node yet) function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } exports.up = function(r, conn) { // Get every UserID that has opted out of new message in threads emails return ( r .table('usersSettings') .filter({ notifications: { types: { newMessageInThreads: { email: false, }, }, }, }) .map(rec => rec('userId')) .distinct() .run(conn) .then(cursor => cursor.toArray()) .then(optedOut => { return Promise.all([ optedOut, r .table('usersSettings') .filter({ notifications: { types: { newMessageInThreads: { email: true, }, }, }, }) .map(rec => rec('userId')) .distinct() .run(conn) .then(cursor => cursor.toArray()), ]); }) .then(([optedOut, optedIn]) => { return [ optedOut, // Remove userIds that appear in optedOut from optedIn without.apply( undefined, [optedIn].concat(_toConsumableArray(optedOut)) ), ]; }) // Drop the usersSettings table .then(([optedOut, optedIn]) => { return Promise.all([ optedOut, optedIn, r.table('usersSettings').delete().run(conn), ]); }) .then(([optedOut, optedIn]) => { // Insert records of users that have opted out const optedOutInsertions = optedOut.map(userId => r .table('usersSettings') .insert({ userId, notifications: { types: { newMessageInThreads: { email: false, }, newThreadCreated: { email: true, }, }, }, }) .run(conn) ); // Insert records of users that have opted in const optedInInsertions = optedIn.map(userId => r .table('usersSettings') .insert({ userId, notifications: { types: { newMessageInThreads: { email: true, }, newThreadCreated: { email: true, }, }, }, }) .run(conn) ); return Promise.all( [].concat( _toConsumableArray(optedOutInsertions), _toConsumableArray(optedInInsertions) ) ); }) ); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170825220615-clean-recurring-payments.js ================================================ exports.up = function(r, conn) { // get all recurring payments return r .table('recurringPayments') .run(conn) .then(cursor => cursor.toArray()) .then(subscriptions => { // for each subscription record, map it and create a new object with a cleaner data model return subscriptions.map(subscription => { if (!subscription.stripeData) return subscription; return Object.assign( {}, { id: subscription.id, // userId is used to keep track of who is making payments for any subscription it is also queries against to determine if a user isPro userId: subscription.userId, // communityId is queried against to determine if a community isPro communityId: subscription.communityId, customerId: subscription.stripeData.customer, subscriptionId: subscription.stripeData.id, // planId and planName will determine if the user is paying for a Pro user account or for an upgraded community planId: subscription.stripeData.plan.id, planName: subscription.stripeData.plan.name, amount: subscription.stripeData.plan.amount, // rather than having multiple plans on Stripe for every possible tier of upgraded community, we can instead just stack quantities - so an upgraded community with 9k members would have a single 'pro community' record with 9 quantity that determines how much they will be billed every month // when rendering subscriptions in the client, the quantity should be multiplied by the amount to determine the total cost of the subscription quantity: subscription.stripeData.quantity, // will be used to determine the current state of an isPro query against a user or community. When a community or user gets downgraded this field will switch from 'active' to 'canceled' status: subscription.stripeData.status, // the following field dates will be used for client side rendering - we will need to implement webhooks to keep the currentPeriodStart and currentPeriodEnd timestamps up to date currentPeriodStart: subscription.stripeData.current_period_start, currentPeriodEnd: subscription.stripeData.current_period_end, createdAt: subscription.stripeData.plan.created, } ); }); }) .then(cleanSubscriptions => { return Promise.all([ cleanSubscriptions, // delete all the old records in recurringPayments table r .table('recurringPayments') .delete() .run(conn), // also create a new index against communityId for faster isPro lookups on communities r .table('recurringPayments') .indexCreate('communityId') .run(conn), ]); }) .then(([cleanSubscriptions]) => { // insert each new clean record into the table return cleanSubscriptions.map(subscription => { return r .table('recurringPayments') .insert({ ...subscription }) .run(conn); }); }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170829233734-userid-index-on-invoices.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('invoices') .indexCreate('userId') .run(conn), ]).catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170831163211-invoice-data-model-update.js ================================================ exports.up = function(r, conn) { // get all recurring payments return r .table('invoices') .run(conn) .then(cursor => cursor.toArray()) .then(invoices => { // for each subscription record, map it and create a new object with a cleaner data model return invoices.map(invoice => { if (!invoice.stripeData) return invoice; return Object.assign( {}, { id: invoice.id, amount: invoice.amount, chargeId: invoice.stripeData.id, communityId: invoice.communityId, customerId: null, paidAt: invoice.stripeData.created, planId: 'community-standard', planName: 'Spectrum Standard Community', quantity: 1, sourceBrand: invoice.stripeData.source.brand, sourceLast4: invoice.stripeData.source.last4, status: 'paid', subscriptionId: null, userId: null, } ); }); }) .then(cleanInvoices => { return Promise.all([ cleanInvoices, // delete all the old records in recurringPayments table r .table('invoices') .delete() .run(conn), ]); }) .then(([cleanInvoices]) => { // insert each new clean record into the table return cleanInvoices.map(invoice => { return r .table('invoices') .insert(invoice) .run(conn); }); }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170907222544-digest-email-notification-settings.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersSettings') .run(conn) .then(cursor => cursor.toArray()) .then(settings => { return settings.map(setting => { return Object.assign( {}, { ...setting, notifications: { types: { newMessageInThreads: { email: setting.notifications.types.newMessageInThreads ? setting.notifications.types.newMessageInThreads.email : true, }, newThreadCreated: { email: setting.notifications.types.newThreadCreated ? setting.notifications.types.newThreadCreated.email : true, }, newDirectMessage: { email: setting.notifications.types.newDirectMessage ? setting.notifications.types.newDirectMessage.email : true, }, weeklyDigest: { email: true, }, dailyDigest: { email: true, }, }, }, } ); }); }) .then(newSettings => { return Promise.all([ newSettings, // delete all the old records r .table('usersSettings') .delete() .run(conn), ]); }) .then(([newSettings]) => { // insert each new clean record into the table return newSettings.map(setting => { return r .table('usersSettings') .insert({ ...setting }) .run(conn); }); }) .catch(err => { console.log(err); throw err; }), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170908230623-add-reputation-field-to-communities.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersCommunities') .update({ reputation: 1, }) .run(conn) .catch(err => { console.log(err); throw err; }), r .tableCreate('reputationEvents') .run(conn) .catch(err => { console.log(err); throw err; }), ]).then(() => { // create a compound index to easily fetch all reputation events in chronological order return Promise.all([ r .table('reputationEvents') .indexCreate('userIdAndTimestamp', [ r.row('userId'), r.row('timestamp'), ]) .run(conn) .catch(err => { console.log(err); throw err; }), ]); }); }; exports.down = function(r, conn) { return r .tableDrop('reputationEvents') .run(conn) .catch(err => { console.log(err); throw err; }); }; ================================================ FILE: api/migrations/20170912000619-backfill-rep.js ================================================ exports.up = function(r, conn) { const updateReputation = (userId, communityId, score, type) => { return r .table('usersCommunities') .getAll(userId, { index: 'userId' }) .filter({ communityId }) .update({ reputation: r.row('reputation').add(score), }) .run(conn) .then(() => { return r .table('reputationEvents') .insert({ timestamp: new Date(), userId, type, communityId, score, }) .run(conn); }); }; return r .table('threads') .filter(row => row.hasFields('deletedAt').not()) .run(conn) .then(cursor => cursor.toArray()) .then(threads => { const threadPromises = threads.map(thread => { return updateReputation( thread.creatorId, thread.communityId, 100, 'thread created' ); }); return Promise.all(threadPromises); }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170915201609-clean-up-bad-dm-data.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('messages') .filter({ threadType: 'DIRECT_MESSAGE_GROUP' }) .update({ threadType: 'directMessageThread', }) .run(conn), r .table('messages') .filter({ threadType: 'STORY' }) .update({ threadType: 'story', }) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170926003025-activate-daily-weekly-digest-settings.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersSettings') .update({ notifications: { types: { dailyDigest: { email: true, }, weeklyDigest: { email: true, }, }, }, }) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170926102527-speedy-gonzales.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersCommunities') .indexCreate('userIdAndCommunityId', [ r.row('userId'), r.row('communityId'), ]) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170927002438-communityid-index-on-reputation-events.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('reputationEvents') .indexCreate('communityId') .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20170928143435-slate-to-draftjs.js.js ================================================ const compose = require('redux/lib/compose').default; const { convertToRaw, genKey } = require('draft-js'); const { stateFromMarkdown } = require('draft-js-import-markdown'); const isHtml = require('is-html'); const cheerio = require('cheerio'); const { toPlainText, toState } = require('../../shared/slate-utils'); const convertEmbeds = state => { const entityMap = state.entityMap || {}; const blocks = state.blocks.map(block => { if (block.type !== 'unstyled') return block; if (!isHtml(block.text)) return block; const $ = cheerio.load(block.text); const iframe = $('iframe')[0]; if (!iframe) return block; const src = $(iframe).attr('src'); const height = $(iframe).attr('height'); const width = $(iframe).attr('width'); if (!src) return block; const keys = Object.keys(entityMap).map(key => parseInt(key, 10)); const lastKey = keys.sort()[keys.length - 1]; const newKey = lastKey === undefined ? 0 : lastKey + 1; entityMap[newKey] = { data: { src, height, width }, mutability: 'IMMUTABLE', type: 'embed', }; return { data: {}, depth: 0, entityRanges: [ { key: newKey, offset: 0, length: 1, }, ], inlineStyleRanges: [], key: genKey(), text: ' ', type: 'atomic', }; }); return { ...state, entityMap, blocks, }; }; const plainToDraft = compose( JSON.stringify, convertEmbeds, convertToRaw, stateFromMarkdown ); const slateToDraft = compose(plainToDraft, toPlainText, toState, JSON.parse); exports.up = function(r, conn) { return ( r .table('threads') .filter(thread => r.not(thread.hasFields('type')).or(thread('type').ne('DRAFTJS')) ) .run(conn) .then(cursor => cursor.toArray()) // Transform slate state to draftjs state .then(threads => threads.map(thread => Object.assign({}, thread, { type: 'DRAFTJS', content: Object.assign({}, thread.content, { body: thread.type === 'SLATE' ? slateToDraft(thread.content.body) : plainToDraft(thread.content.body), }), }) ) ) // Store the transformed threads .then(threads => Promise.all( threads.map(thread => r .table('threads') .get(thread.id) .update(thread) .run(conn) ) ) ) ); }; exports.down = function(r, conn) { // Not spending any time undoing this return Promise.resolve(); }; ================================================ FILE: api/migrations/20171005075445-remove-markdown-links-from-messages.js ================================================ const replace = require('string-replace-to-array'); const MARKDOWN_LINK = /(?:\[(.*?)\]\((.*?)\))/g; const removeMarkdownLinks = text => { if (!text || typeof text !== 'string') return text; return replace(text, MARKDOWN_LINK, (fullLink, text, url) => url).join(''); }; exports.up = function(r, conn) { return r .table('messages') .withFields('id', 'content') .run(conn) .then(cursor => cursor.toArray()) .then(messages => Promise.all( messages.map(message => r .table('messages') .get(message.id) .update({ content: { body: removeMarkdownLinks(message.content.body), }, }) .run(conn) ) ) ); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20171008101118-last-slate-to-draft.js ================================================ const compose = require('redux/lib/compose').default; const { convertToRaw, genKey } = require('draft-js'); const { stateFromMarkdown } = require('draft-js-import-markdown'); const isHtml = require('is-html'); const cheerio = require('cheerio'); const { toPlainText, toState } = require('../../shared/slate-utils'); const convertEmbeds = state => { const entityMap = state.entityMap || {}; const blocks = state.blocks.map(block => { if (block.type !== 'unstyled') return block; if (!isHtml(block.text)) return block; const $ = cheerio.load(block.text); const iframe = $('iframe')[0]; if (!iframe) return block; const src = $(iframe).attr('src'); const height = $(iframe).attr('height'); const width = $(iframe).attr('width'); if (!src) return block; const keys = Object.keys(entityMap).map(key => parseInt(key, 10)); const lastKey = keys.sort()[keys.length - 1]; const newKey = lastKey === undefined ? 0 : lastKey + 1; entityMap[newKey] = { data: { src, height, width }, mutability: 'IMMUTABLE', type: 'embed', }; return { data: {}, depth: 0, entityRanges: [ { key: newKey, offset: 0, length: 1, }, ], inlineStyleRanges: [], key: genKey(), text: ' ', type: 'atomic', }; }); return { ...state, entityMap, blocks, }; }; const plainToDraft = compose( JSON.stringify, convertEmbeds, convertToRaw, stateFromMarkdown ); const slateToDraft = compose(plainToDraft, toPlainText, toState, JSON.parse); exports.up = function(r, conn) { return ( r .table('threads') .filter({ type: 'SLATE', }) .run(conn) .then(cursor => cursor.toArray()) // Transform slate state to draftjs state .then(threads => threads.map(thread => Object.assign({}, thread, { type: 'DRAFTJS', content: Object.assign({}, thread.content, { body: slateToDraft(thread.content.body), }), }) ) ) // Store the transformed threads .then(threads => Promise.all( threads.map(thread => r .table('threads') .get(thread.id) .update(thread) .run(conn) ) ) ) ); }; exports.down = function(r, conn) { // Not spending any time undoing this return Promise.resolve(); }; ================================================ FILE: api/migrations/20171013195530-core-metrics-table.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .tableCreate('coreMetrics') .run(conn) .catch(err => { console.log(err); throw err; }), ]) .then(() => { return r .table('coreMetrics') .indexCreate('date', r.row('date')) .run(conn) .catch(err => { console.log(err); throw err; }); }) .then(() => { const saveCoreMetrics = (data, index) => { const d = new Date(); d.setDate(d.getDate() - index); return r .table('coreMetrics') .insert({ date: d, ...data, }) .run(conn); }; const getCount = (table, filter, index, field) => { if (filter) { return r .table(table) .filter(filter) .filter( r.row(field).during( // go back to all time, for some reason minval isn't working r.now().sub(60 * 60 * 24 * 10000), r.now().sub(60 * 60 * 24 * index) ) ) .filter(row => r.not(row.hasFields('deletedAt'))) .count() .run(conn); } return r .table(table) .filter( r.row(field).during( // go back to all time, for some reason minval isn't working r.now().sub(60 * 60 * 24 * 10000), r.now().sub(60 * 60 * 24 * index) ) ) .filter(row => r.not(row.hasFields('deletedAt'))) .count() .run(conn); }; // cpu, tpu, mpu const getPu = (table, field, index) => { // get the count of the users within a given range return getCount('users', null, index, 'createdAt') .then(userCount => { // get the count of whatever entity within a given range const tableCount = r .table(table) .filter( r.row(field).during( // go back to all time, for some reason minval isn't working r.now().sub(60 * 60 * 24 * 10000), r.now().sub(60 * 60 * 24 * index) ) ) .filter(row => r.not(row.hasFields('deletedAt'))) .count() .run(conn); return Promise.all([userCount, tableCount]); }) .then(([userCount, tableCount]) => { return parseFloat((tableCount / userCount).toFixed(3)); }); }; // array of 30 things const arr = Array.apply(null, { length: 60 }).map(() => 0); const backfill = arr.map((o, i) => { const cpu = getPu('usersCommunities', 'createdAt', i); const mpu = getPu('messages', 'timestamp', i); const tpu = getPu('threads', 'createdAt', i); const users = getCount('users', null, i, 'createdAt'); const communities = getCount('communities', null, i, 'createdAt'); const threads = getCount('threads', null, i, 'createdAt'); const dmThreads = getCount( 'directMessageThreads', null, i, 'createdAt' ); const threadMessages = getCount( 'messages', { threadType: 'story' }, i, 'timestamp' ); const dmMessages = getCount( 'messages', { threadType: 'directMessageThread', }, i, 'timestamp' ); return Promise.all([ cpu, mpu, tpu, users, communities, threads, dmThreads, threadMessages, dmMessages, ]).then( ([ cpu, mpu, tpu, users, communities, threads, dmThreads, threadMessages, dmMessages, ]) => { const coreMetrics = { cpu: cpu || 0, mpu: mpu || 0, tpu: tpu || 0, users: users || 0, communities: communities || 0, threads: threads || 0, dmThreads: dmThreads || 0, threadMessages: threadMessages || 0, dmMessages: dmMessages || 0, }; return saveCoreMetrics(coreMetrics, i); } ); }); return Promise.all(backfill); }) .catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.all([r.tableDrop('coreMetrics').run(conn)]); }; ================================================ FILE: api/migrations/20171018235659-add-direst-message-user-settings.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersSettings') .update({ notifications: { types: { newDirectMessage: { email: true, }, }, }, }) .run(conn), ]).catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20171029090619-users-channels-index.js ================================================ exports.up = function(r, conn) { return r .table('usersChannels') .indexCreate('userIdAndChannelId', [r.row('userId'), r.row('channelId')]) .run(conn); }; exports.down = function(r, conn) { return r .table('usersChannels') .indexDrop('userIdAndChannelId') .run(conn); }; ================================================ FILE: api/migrations/20171029094352-users-threads-index.js ================================================ exports.up = function(r, conn) { return r .table('usersThreads') .indexCreate('userIdAndThreadId', [r.row('userId'), r.row('threadId')]) .run(conn); }; exports.down = function(r, conn) { return r .table('usersThreads') .indexDrop('userIdAndThreadId') .run(conn); }; ================================================ FILE: api/migrations/20171103014955-add-mention-notification-settings.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersSettings') .update({ notifications: { types: { newMention: { email: true, }, }, }, }) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20171129215512-index-communities-by-slug.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('communities') .indexCreate('slug') .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20171129221050-curated-content-table-creation.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .tableCreate('curatedContent') .run(conn) .then(() => { const types = [ { type: 'design-communities', data: [ 'product-design', 'icon-design', 'typography', 'illustrators', 'design-management', 'specfm', 'up-coming', 'sketchcasts', 'google-design', 'design-code', 'vectors', 'designhunt', 'figma', 'sketch', 'framer', 'abstract', 'invision', 'principle', 'compositor', 'origami-studio', 'webflow', 'fuse', ], }, { type: 'development-communities', data: [ 'realm', 'expo', 'compositor', 'codepen', 'bootstrap', 'tachyons', 'frontend', 'specfm', 'android', 'swiftdev', 'react-native', 'react', 'node', 'vue-js', 'angular', 'ember-js', 'laravel', 'elixir', 'styled-components', 'graphql', 'css-in-js', 'electron', ], }, { type: 'tech-communities', data: [ 'tech-tea', 'balancemymoney', 'crypto', 'btc', 'ethereum', 'augmented-reality', 'voice-interfaces', ], }, { type: 'life-communities', data: [ 'for-good', 'mental-health', 'dev-fit', 'music', 'tabletop-rpg', 'gaming', 'careers', 'job-opportunities', 'need-some-work', ], }, { type: 'top-communities-by-members', data: [ 'spectrum', 'sketch', 'react', 'specfm', 'product-design', 'figma', 'styled-components', 'framer', 'frontend', 'google-design', 'wip', 'abstract', 'vectors', 'crypto', 'sketchcasts', 'bootstrap', 'css-in-js', 'ooohours', 'tech-tea', 'design-code', ], }, ]; const insertPromises = types.map(type => { return r .table('curatedContent') .insert(type) .run(conn); }); return Promise.all([insertPromises]); }) .catch(err => { console.log(err); throw err; }), ]); }; exports.down = function(r, conn) { return Promise.all([r.tableDrop('curatedContent').run(conn)]); }; ================================================ FILE: api/migrations/20171208175038-index-users-for-search.js ================================================ require('now-env'); // const initIndex = require('../../shared/algolia'); // const searchIndex = initIndex('users'); exports.up = function(r, conn) { return Promise.resolve(); // return r // .table('users') // .filter(user => user.hasFields('username')) // .run(conn) // .then(cursor => cursor.toArray()) // .then(users => // users.map(user => ({ // name: user.name, // username: user.username, // description: user.description, // website: user.website, // objectID: user.id, // })) // ) // .then(searchableUsers => { // return; // // return searchIndex.addObjects(searchableUsers) // }) // .catch(err => console.log(err)); }; exports.down = function(r, conn) { // Not spending any time undoing this return Promise.resolve(); }; ================================================ FILE: api/migrations/20171208180800-index-communities-for-search.js ================================================ require('now-env'); // const initIndex = require('../../shared/algolia'); // const searchIndex = initIndex('communities'); exports.up = function(r, conn) { return Promise.resolve(); // return r // .table('communities') // .filter(community => community.hasFields('deletedAt').not()) // .run(conn) // .then(cursor => cursor.toArray()) // .then(communities => // communities.map(community => ({ // description: community.description, // name: community.name, // slug: community.slug, // website: community.website ? community.website : null, // objectID: community.id, // })) // ) // .then(searchableCommunities => { // return; // // searchIndex.addObjects(searchableCommunities) // }) // .catch(err => console.log(err)); }; exports.down = function(r, conn) { // Not spending any time undoing this return Promise.resolve(); }; ================================================ FILE: api/migrations/20171213002813-add-modified-at-field-to-users-and-communities.js ================================================ exports.up = function(r, conn) { /* We are adding a modifiedAt field on users and communities for 2 key reasons: 1. By having a single field that changes as edits happen, it makes changefeeds much easier to follow because we only ever have to filter by the change on a single field (versus for watching for changes on many potentially-nested fields) like content.title or content.body. Because users and communities can have many different fields modified, in any random combination, it will make our lives easier to add a single `modifiedAt` field that we update whenever an edit occurs. Then, in the changefeed, we don't have to care about *what* changed, only that something changed, and we can handle downstream events (like re-indexing in search results) 2. It's probably good practice anyways to keep track of when things are updated. Since we don't have a universal event stream, this is an incremental step towards having more complete knowledge about when things are being changed or deleted in the database, which thus makes it easier for us to trace down replayable events should a server crash. E.g. we can know that if a worker crashed, there were 10 users who updated their profiles during the downtime based on the `modifiedAt` field */ return Promise.all([ r .table('users') .update({ modifiedAt: new Date(), }) .run(conn), r .table('communities') .update({ modifiedAt: new Date(), }) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.all([ r .table('users') .update({ modifiedAt: r.literal(), }) .run(conn), r .table('communities') .update({ modifiedAt: r.literal(), }) .run(conn), ]); }; ================================================ FILE: api/migrations/20180209015734-github-provider-id-index.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('users') .indexCreate('githubProviderId') .run(conn), ]).catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20180214111357-expo-push-subscriptions.js ================================================ exports.up = function(r, conn) { return r .tableCreate('expoPushSubscriptions') .run(conn) .then(() => r .table('expoPushSubscriptions') .indexCreate('userId') .run(conn) ) .then(() => r .table('expoPushSubscriptions') .indexCreate('token') .run(conn) ) .catch(err => { throw new Error(err); }); }; exports.down = function(r, conn) { return r .tableDrop('expoPushSubscriptions') .run(conn) .catch(err => { throw new Error(err); }); }; ================================================ FILE: api/migrations/20180309144845-create-community-settings-table.js ================================================ exports.up = function(r, conn) { return r .tableCreate('communitySettings') .run(conn) .then(() => r .table('communitySettings') .indexCreate('communityId', r.row('communityId')) .run(conn) ) .catch(err => { console.log(err); throw err; }); }; exports.down = function(r, conn) { return Promise.all([r.tableDrop('communitySettings').run(conn)]); }; ================================================ FILE: api/migrations/20180316195507-create-channel-settings-table.js ================================================ exports.up = function(r, conn) { return r .tableCreate('channelSettings') .run(conn) .then(() => r .table('channelSettings') .indexCreate('channelId', r.row('channelId')) .run(conn) ) .catch(err => { console.error(err); throw err; }); }; exports.down = function(r, conn) { return Promise.all([r.tableDrop('channelSettings').run(conn)]); }; ================================================ FILE: api/migrations/20180320122000-create-stripe-tables.js ================================================ exports.up = function(r, conn) { const createCustomersTable = () => r.tableCreate('stripeCustomers', { primaryKey: 'customerId' }).run(conn); const createInvoicesTable = () => r.tableCreate('stripeInvoices', { primaryKey: 'invoiceId' }).run(conn); return Promise.all([createCustomersTable(), createInvoicesTable()]) .then(() => Promise.all([ r .table('stripeInvoices') .indexCreate('customerId') .run(conn), ]) ) .catch(err => console.log(err)); }; exports.down = function(r, conn) { return Promise.all([ r.tableDrop('stripeCustomers').run(conn), r.tableDrop('stripeInvoices').run(conn), ]); }; ================================================ FILE: api/migrations/20180320173414-set-administrator-info-on-community.js ================================================ exports.up = async (r, conn) => { const addFields = r .table('communities') .update({ // a distinct email for each community where receipts and admin // messages will be sent, can be different from the owner's personal // email administratorEmail: null, // references the actual creator of the community, discrete from the 'owner' // role creatorId: null, // will be used to fetch records from the stripeCustomers and stripeInvoices // tables in order to populate the billing area and resolve query fields // for community features stripeCustomerId: null, // these are two feature flags that pluto will listen to changes for in // order to trigger billing events analyticsEnabled: false, prioritySupportEnabled: false, }) .run(conn); // gets all the owner records in a community, figures out which one is the oldest, // then uses that record to populate an administratorEmail and creatorId field // if they exist const oldestOwners = await r .table('usersCommunities') .filter({ isOwner: true }) .group('communityId') .ungroup() .map(row => row('reduction')) .map(row => row.min('createdAt')) .eqJoin('userId', r.table('users')) .zip() .run(conn) .then(cursor => cursor.toArray()); const setAdminFields = oldestOwners.map(async owner => { if (!owner || !owner.userId || !owner.communityId) return; return await r .table('communities') .get(owner.communityId) .update({ administratorEmail: owner.email, creatorId: owner.userId, }) .run(conn); }); return Promise.all([addFields]).then( async () => await Promise.all(setAdminFields) ); }; exports.down = function(r, conn) { return r .table('communities') .update({ administratorEmail: r.literal(), creatorId: r.literal(), stripeCustomerId: r.literal(), analyticsEnabled: r.literal(), prioritySupportEnabled: r.literal(), }) .run(conn); }; ================================================ FILE: api/migrations/20180411183454-lowercase-all-the-slugs.js ================================================ exports.up = async (r, conn) => { return Promise.all([ r .table('users') .update({ username: r.row('username').downcase(), email: r.row('email').downcase(), }) .run(conn), r .table('communities') .update({ slug: r.row('slug').downcase(), }) .run(conn), r .table('channels') .update({ slug: r.row('slug').downcase(), }) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20180428001543-reset-slack-import-records.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('slackImports') .update({ members: r.literal(), }) .run(conn), ]).catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20180504003702-encrypt-existing-slack-data.js ================================================ const { encryptString } = require('../../shared/encryption'); exports.up = async (r, conn) => { const encryptOldSlackImportData = async () => { const records = await r .table('slackImports') .run(conn) .then(cursor => cursor.toArray()); const recordPromises = records.map(async record => { const teamId = encryptString(record.teamId); const teamName = encryptString(record.teamName); const token = encryptString(record.token); return await r .table('slackImports') .get(record.id) .update({ teamId, teamName, token, }) .run(conn); }); return await Promise.all([...recordPromises]); }; const encryptNewSlackImportData = async () => { const records = await r .table('communitySettings') .filter(row => row.hasFields('slackSettings')) .run(conn) .then(cursor => cursor.toArray()); const recordPromises = records.map(async record => { const teamId = encryptString(record.slackSettings.teamId); const teamName = encryptString(record.slackSettings.teamName); const token = encryptString(record.slackSettings.token); const scope = encryptString(record.slackSettings.scope); return await r .table('communitySettings') .get(record.id) .update({ slackSettings: { teamId, teamName, token, scope, }, }) .run(conn); }); return await Promise.all([...recordPromises]); }; return await Promise.all([ encryptOldSlackImportData(), encryptNewSlackImportData(), ]).catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20180517180716-enable-private-communities.js ================================================ exports.up = async (r, conn) => { return r .table('communities') .update({ isPrivate: false, }) .run(conn); }; exports.down = function(r, conn) { return r .table('communities') .update({ isPrivate: r.literal(), }) .run(conn); }; ================================================ FILE: api/migrations/20180517215503-add-ispending-to-userscommunities.js ================================================ exports.up = async (r, conn) => { return r .table('usersCommunities') .update({ isPending: false, }) .run(conn); }; exports.down = function(r, conn) { return r .table('usersCommunities') .update({ isPending: r.literal(), }) .run(conn); }; ================================================ FILE: api/migrations/20180518135040-add-join-settings-to-community-settings.js ================================================ exports.up = async (r, conn) => { return r .table('communitySettings') .update({ joinSettings: { tokenJoinEnabled: false, token: null, }, }) .run(conn); }; exports.down = function(r, conn) { return r .table('communitySettings') .update({ joinSettings: r.literal(), }) .run(conn); }; ================================================ FILE: api/migrations/20180621001409-thread-likes-table.js ================================================ exports.up = function(r, conn) { return r .tableCreate('threadReactions') .run(conn) .then(() => { return Promise.all([ r .table('threadReactions') .indexCreate('threadId') .run(conn), r .table('threadReactions') .indexCreate('userId') .run(conn), ]); }) .catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.all([r.tableDrop('threadReactions').run(conn)]); }; ================================================ FILE: api/migrations/20180823115847-add-users-communities-indexes.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersCommunities') .indexCreate('communityIdAndIsMember', [ r.row('communityId'), r.row('isMember'), ]) .run(conn), r .table('usersCommunities') .indexCreate('communityIdAndIsMemberAndReputation', [ r.row('communityId'), r.row('isMember'), r.row('reputation'), ]) .run(conn), r .table('usersCommunities') .indexCreate('communityIdAndIsModerator', [ r.row('communityId'), r.row('isModerator'), ]) .run(conn), r .table('usersCommunities') .indexCreate('communityIdAndIsOwner', [ r.row('communityId'), r.row('isOwner'), ]) .run(conn), r .table('usersCommunities') .indexCreate('communityIdAndIsTeamMember', [ r.row('communityId'), r.row('isOwner').or(r.row('isModerator')), ]) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.all([ r .table('usersCommunities') .indexDrop('communityIdAndIsMember') .run(conn), r .table('usersCommunities') .indexDrop('communityIdAndIsModerator') .run(conn), r .table('usersCommunities') .indexDrop('communityIdAndIsOwner') .run(conn), r .table('usersCommunities') .indexDrop('communityIdAndIsTeamMember') .run(conn), ]); }; ================================================ FILE: api/migrations/20181001061156-thread-metadata-denormalization.js ================================================ exports.up = function(r, conn) { return r .table('threads') .update( { messageCount: r .table('messages') .getAll(r.row('id'), { index: 'threadId' }) .count() .default(0), reactionCount: r .table('threadReactions') .getAll(r.row('id'), { index: 'threadId' }) .count() .default(0), }, { nonAtomic: true, } ) .run(conn) .then(() => { return Promise.all([ r .table('threads') .indexCreate('messageCount') .run(conn), r .table('threads') .indexCreate('reactionCount') .run(conn), ]); }) .catch(err => console.error(err)); }; exports.down = function(r, conn) { return r .table('threads') .update({ messageCount: r.literal(), reactionCount: r.literal(), }) .run(conn) .then(() => { return Promise.all([ r .table('threads') .indexDrop('messageCount') .run(conn), r .table('threads') .indexDrop('reactionCount') .run(conn), ]); }); }; ================================================ FILE: api/migrations/20181001064151-fix-thread-metadata-message-counts.js ================================================ exports.up = function(r, conn) { return r .table('threads') .update( { messageCount: r .table('messages') .getAll(r.row('id'), { index: 'threadId' }) .filter(row => r.not(row.hasFields('deletedAt'))) .count() .default(0), reactionCount: r .table('threadReactions') .getAll(r.row('id'), { index: 'threadId' }) .filter(row => r.not(row.hasFields('deletedAt'))) .count() .default(0), }, { nonAtomic: true, } ) .run(conn) .catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181002060237-remove-payments.js ================================================ exports.up = async (r, conn) => { const betaSupporterIds = await r .db('spectrum') .table('recurringPayments') .filter({ planId: 'beta-pro' }) .map(row => row('userId')) .run(conn) .then(cursor => cursor.toArray()); const addSupporterFieldToUsersPromises = async () => await r .db('spectrum') .table('users') .getAll(...betaSupporterIds) .update({ betaSupporter: true, }) .run(conn); const cleanCommunitiesModel = () => r .table('communities') .update({ stripeCustomerId: r.literal(), analyticsEnabled: r.literal(), prioritySupportEnabled: r.literal(), ossVerified: r.literal(), }) .run(conn); return await Promise.all([ cleanCommunitiesModel(), addSupporterFieldToUsersPromises(), ]); }; exports.down = async (r, conn) => { return await Promise.all([ r .db('spectrum') .table('communities') .update({ stripeCustomerId: null, analyticsEnabled: false, prioritySupportEnabled: false, ossVerified: false, }) .run(conn), r .db('spectrum') .table('users') .update({ betaSupporter: r.literal(), }) .run(conn), ]); }; ================================================ FILE: api/migrations/20181003233411-thread-reactions-useridandthreadid-index.js ================================================ exports.up = function(r, conn) { return r .table('threadReactions') .indexCreate('userIdAndThreadId', [r.row('userId'), r.row('threadId')]) .run(conn); }; exports.down = function(r, conn) { return r .table('threadReactions') .indexDrop('userIdAndThreadId') .run(conn); }; ================================================ FILE: api/migrations/20181004222636-denormalize-channel-community-member-counts.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('communities') .update( { memberCount: r .table('usersCommunities') .getAll(r.row('id'), { index: 'communityId' }) .filter(row => row('isMember').eq(true)) .count() .default(1), }, { nonAtomic: true, } ) .run(conn), r .table('channels') .update( { memberCount: r .table('usersChannels') .getAll(r.row('id'), { index: 'channelId' }) .filter(row => row('isMember').eq(true)) .count() .default(1), }, { nonAtomic: true, } ) .run(conn), ]).catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.all([ r .table('communities') .update({ memberCount: r.literal(), }) .run(conn), r .table('channels') .update({ memberCount: r.literal(), }) .run(conn), ]); }; ================================================ FILE: api/migrations/20181005143053-users-notifications-useridandnotificationid-index.js ================================================ exports.up = function(r, conn) { return r .table('usersNotifications') .indexCreate('userIdAndNotificationId', [ r.row('userId'), r.row('notificationId'), ]) .run(conn); }; exports.down = function(r, conn) { return r .table('usersNotifications') .indexDrop('userIdAndNotificationId') .run(conn); }; ================================================ FILE: api/migrations/20181005144259-users-notifications-userIdAndIsSeen-index.js ================================================ exports.up = function(r, conn) { return r .table('usersNotifications') .indexCreate('userIdAndIsSeen', [r.row('userId'), r.row('isSeen')]) .run(conn); }; exports.down = function(r, conn) { return r .table('usersNotifications') .indexDrop('userIdAndIsSeen') .run(conn); }; ================================================ FILE: api/migrations/20181023160027-update-denormalized-member-counts.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('communities') .update( { memberCount: r .table('usersCommunities') .getAll(r.row('id'), { index: 'communityId' }) .filter(row => row('isMember').eq(true)) .count() .default(1), }, { nonAtomic: true, } ) .run(conn), r .table('channels') .update( { memberCount: r .table('usersChannels') .getAll(r.row('id'), { index: 'channelId' }) .filter(row => row('isMember').eq(true)) .count() .default(1), }, { nonAtomic: true, } ) .run(conn), ]).catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181024173616-indexes-for-digests.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersSettings') .indexCreate( 'weeklyDigestEmail', r.row('notifications')('types')('weeklyDigest')('email') ) .run(conn), r .table('usersSettings') .indexCreate( 'dailyDigestEmail', r.row('notifications')('types')('dailyDigest')('email') ) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.all([ r .table('usersSettings') .indexDrop('weeklyDigestEmail') .run(conn), r .table('usersSettings') .indexDrop('dailyDigestEmail') .run(conn), ]); }; ================================================ FILE: api/migrations/20181027050052-remove-attachments-from-thread-model.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('threads') .update({ attachments: r.literal(), }) .run(conn), ]).catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181102025454-fix-old-image-urls-in-messages.js ================================================ exports.up = async function(r, conn) { const messages = await r .db('spectrum') .table('messages') .filter({ messageType: 'media' }) .filter(row => row('timestamp').lt(r.epochTime(1540929600))) .filter(row => row('content')('body').match('spectrum.imgix.net')) .filter(row => row('content')('body').match('%20')) .filter(row => row.hasFields('deletedAt').not()) .map(row => ({ id: row('id'), url: row('content')('body') })) .run(conn) .then(cursor => cursor.toArray()); const messagePromises = messages.map(async obj => { return await r .db('spectrum') .table('messages') .get(obj.id) .update({ content: { body: decodeURIComponent(obj.url), }, imageReplaced: new Date(), }) .run(conn); }); return await Promise.all(messagePromises); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181102040518-fix-old-image-urls-in-threads.js ================================================ exports.up = async function(r, conn) { const threads = await r .db('spectrum') .table('threads') .filter(row => row('modifiedAt').lt(r.epochTime(1540929600))) .filter(row => row('content')('body').match('spectrum.imgix.net')) .filter(row => row('content')('body').match('%20')) .filter(row => row.hasFields('deletedAt').not()) .map(row => ({ id: row('id'), body: row('content')('body') })) .run(conn) .then(cursor => cursor.toArray()); const threadPromises = threads.map(async obj => { const newBody = JSON.parse(obj.body); const imageKeys = Object.keys(newBody.entityMap).filter( key => newBody.entityMap[key].type.toLowerCase() === 'image' ); const LEGACY_PREFIX = 'https://spectrum.imgix.net/'; const hasLegacyPrefix = url => url.startsWith(LEGACY_PREFIX, 0); const stripLegacyPrefix = url => url.replace(LEGACY_PREFIX, ''); const processImageUrl = str => { if (str.indexOf(LEGACY_PREFIX) < 0) { return str; } if (str.indexOf('%20') < 0) { return str; } const split = str.split('?'); const imagePath = split[0]; const decoded = decodeURIComponent(imagePath); const processed = hasLegacyPrefix(decoded) ? stripLegacyPrefix(decoded) : decoded; return processed; }; imageKeys.forEach((key, index) => { if (!newBody.entityMap[key]) { return; } const { src } = newBody.entityMap[key].data; newBody.entityMap[key].data.src = processImageUrl(src); }); return await r .db('spectrum') .table('threads') .get(obj.id) .update({ content: { body: JSON.stringify(newBody), }, imageReplaced: new Date(), }) .run(conn); }); return await Promise.all(threadPromises); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181102044407-fix-old-image-urls-in-communities.js ================================================ exports.up = async function(r, conn) { const communities = await r .db('spectrum') .table('communities') .filter(row => row('modifiedAt').lt(r.epochTime(1540929600))) .filter(row => row('profilePhoto') .match('spectrum.imgix.net') .or(row('coverPhoto').match('spectrum.imgix.net')) ) .filter(row => row('profilePhoto') .match('%20') .or(row('coverPhoto').match('%20')) ) .filter(row => row.hasFields('deletedAt').not()) .map(row => ({ id: row('id'), profilePhoto: row('profilePhoto'), coverPhoto: row('coverPhoto'), })) .run(conn) .then(cursor => cursor.toArray()); const communityPromises = communities.map(async obj => { const { profilePhoto, coverPhoto } = obj; const LEGACY_PREFIX = 'https://spectrum.imgix.net/'; const hasLegacyPrefix = url => url.startsWith(LEGACY_PREFIX, 0); const stripLegacyPrefix = url => url.replace(LEGACY_PREFIX, ''); const processImageUrl = str => { if (str.indexOf(LEGACY_PREFIX) < 0) { return str; } if (str.indexOf('%20') < 0) { return str; } const split = str.split('?'); const imagePath = split[0]; const decoded = decodeURIComponent(imagePath); const processed = hasLegacyPrefix(decoded) ? stripLegacyPrefix(decoded) : decoded; return processed; }; const newProfilePhoto = processImageUrl(profilePhoto); const newCoverPhoto = processImageUrl(coverPhoto); return await r .db('spectrum') .table('communities') .get(obj.id) .update({ coverPhoto: newCoverPhoto, profilePhoto: newProfilePhoto, imageReplaced: new Date(), }) .run(conn); }); return await Promise.all(communityPromises); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181102045821-fix-old-image-urls-in-users.js ================================================ exports.up = async function(r, conn) { const users = await r .db('spectrum') .table('users') .filter(row => row('modifiedAt').lt(r.epochTime(1540929600))) .filter(row => row.hasFields('coverPhoto').and(row.hasFields('profilePhoto')) ) .filter(row => row('profilePhoto') .match('spectrum.imgix.net') .or(row('coverPhoto').match('spectrum.imgix.net')) ) .filter(row => row('profilePhoto') .match('%20') .or(row('coverPhoto').match('%20')) ) .filter(row => row.hasFields('deletedAt').not()) .map(row => ({ id: row('id'), profilePhoto: row('profilePhoto'), coverPhoto: row('coverPhoto'), })) .run(conn) .then(cursor => cursor.toArray()); const userPromises = users.map(async obj => { const { profilePhoto, coverPhoto } = obj; const LEGACY_PREFIX = 'https://spectrum.imgix.net/'; const hasLegacyPrefix = url => url.startsWith(LEGACY_PREFIX, 0); const stripLegacyPrefix = url => url.replace(LEGACY_PREFIX, ''); const processImageUrl = str => { if (str.indexOf(LEGACY_PREFIX) < 0) { return str; } if (str.indexOf('%20') < 0) { return str; } const split = str.split('?'); const imagePath = split[0]; const decoded = decodeURIComponent(imagePath); const processed = hasLegacyPrefix(decoded) ? stripLegacyPrefix(decoded) : decoded; return processed; }; const newProfilePhoto = processImageUrl(profilePhoto); const newCoverPhoto = processImageUrl(coverPhoto); return await r .db('spectrum') .table('users') .get(obj.id) .update({ coverPhoto: newCoverPhoto, profilePhoto: newProfilePhoto, imageReplaced: new Date(), }) .run(conn); }); return await Promise.all(userPromises); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181102054523-fix-aws-static-url-community-photos.js ================================================ exports.up = async function(r, conn) { const LEGACY_PREFIX = 'https://s3.amazonaws.com/spectrum-chat/'; const communities = await r .db('spectrum') .table('communities') .filter(row => row('profilePhoto') .match(LEGACY_PREFIX) .or(row('coverPhoto').match(LEGACY_PREFIX)) ) .filter(row => row.hasFields('deletedAt').not()) .map(row => ({ id: row('id'), profilePhoto: row('profilePhoto'), coverPhoto: row('coverPhoto'), })) .run(conn) .then(cursor => cursor.toArray()); const communityPromises = communities.map(async obj => { const { profilePhoto, coverPhoto } = obj; const hasLegacyPrefix = url => url.startsWith(LEGACY_PREFIX, 0); const stripLegacyPrefix = url => url.replace(LEGACY_PREFIX, ''); const processImageUrl = str => { if (str.indexOf(LEGACY_PREFIX) < 0) { return str; } return stripLegacyPrefix(str); }; const newProfilePhoto = processImageUrl(profilePhoto); const newCoverPhoto = processImageUrl(coverPhoto); return await r .db('spectrum') .table('communities') .get(obj.id) .update({ coverPhoto: newCoverPhoto, profilePhoto: newProfilePhoto, awsStaticReplaced: new Date(), }) .run(conn); }); return await Promise.all(communityPromises); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181116173949-add-terms-last-accepted-field-to-users.js ================================================ exports.up = async (r, conn) => { return r .table('users') .update({ termsLastAcceptedAt: r.row('createdAt'), }) .run(conn); }; exports.down = function(r, conn) { return r .table('users') .update({ termsLastAcceptedAt: r.literal(), }) .run(conn); }; ================================================ FILE: api/migrations/20181121054300-resync-community-member-counts.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('communities') .update( { memberCount: r .table('usersCommunities') .getAll(r.row('id'), { index: 'communityId' }) .filter(row => row('isMember').eq(true)) .count() .default(1), }, { nonAtomic: true, } ) .run(conn), r .table('channels') .update( { memberCount: r .table('usersChannels') .getAll(r.row('id'), { index: 'channelId' }) .filter(row => row('isMember').eq(true)) .count() .default(1), }, { nonAtomic: true, } ) .run(conn), ]).catch(err => console.error(err)); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181122162921-users-communities-useridandmember-index.js ================================================ exports.up = function(r, conn) { return r .table('usersCommunities') .indexCreate('userIdAndIsMember', [r.row('userId'), r.row('isMember')]) .run(conn); }; exports.down = function(r, conn) { return r .table('usersCommunities') .indexDrop('userIdAndIsMember') .run(conn); }; ================================================ FILE: api/migrations/20181126094455-users-channels-roles.js ================================================ const branch = (r, field, fallback) => { return r.branch(r.row(`is${field}`).eq(true), field.toLowerCase(), fallback); }; exports.up = function(r, conn) { return Promise.all([ r .table('usersChannels') .indexCreate('channelIdAndRole', [ r.row('channelId'), branch( r, 'Pending', branch( r, 'Blocked', branch( r, 'Owner', branch(r, 'Moderator', branch(r, 'Member', r.literal())) ) ) ), ]) .run(conn), r .table('usersChannels') .indexCreate('userIdAndRole', [ r.row('userId'), branch( r, 'Pending', branch( r, 'Blocked', branch( r, 'Owner', branch(r, 'Moderator', branch(r, 'Member', r.literal())) ) ) ), ]) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.all([ r .table('usersChannels') .indexDrop('channelIdAndRole') .run(conn), r .table('usersChannels') .indexDrop('userIdAndRole') .run(conn), ]); }; ================================================ FILE: api/migrations/20181127090014-communities-member-count-index.js ================================================ exports.up = function(r, conn) { return r .table('communities') .indexCreate('memberCount') .run(conn); }; exports.down = function(r, conn) { return r .table('communities') .indexDrop('memberCount') .run(conn); }; ================================================ FILE: api/migrations/20181205171559-remove-old-users-notifications.js ================================================ exports.up = async (r, conn) => { let after = 0; let limit = 10000; let done = false; const getRecords = async (after, limit) => { return await r .table('usersNotifications') .skip(after) .limit(limit) .run(conn) .then(cursor => cursor.toArray()); }; const deleteRecords = async arr => { if (!arr || arr.length === 0) return; const filtered = arr .filter(rec => rec.isSeen) .filter(rec => { const THIRTY_DAYS = 1000 * 60 * 60 * 24 * 30; //ms const added = new Date(rec.entityAddedAt).getTime(); //ms const now = new Date().getTime(); //ms return now - added > THIRTY_DAYS; }) .map(rec => rec.id) .filter(Boolean); return await r .table('usersNotifications') .getAll(...filtered) .delete() .run(conn); }; const processUsersNotificiations = async arr => { if (done) { return await deleteRecords(arr); } if (arr.length < limit) { done = true; return await deleteRecords(arr); } return deleteRecords(arr).then(async () => { after = after + limit; const nextRecords = await getRecords(after, limit); return processUsersNotificiations(nextRecords); }); }; const initialRecordIds = await getRecords(after, limit); return processUsersNotificiations(initialRecordIds); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/20181211181146-add-usersthreads-user-id-and-participant-index.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersThreads') .indexCreate('userIdAndIsParticipant', [ r.row('userId'), r.row('isParticipant'), ]) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.all([ r .table('usersThreads') .indexDrop('userIdAndIsParticipant') .run(conn), ]); }; ================================================ FILE: api/migrations/20190226085909-bot-user-sam.js ================================================ exports.up = function(r, conn) { return r .table('users') .insert({ id: 'sam', description: "Spectrum's automated bot.", createdAt: new Date(), email: null, providerId: null, fbProviderId: null, githubProviderId: null, githubUsername: 'withspectrum', googleProviderId: null, isOnline: true, lastSeen: new Date(), modifiedAt: new Date(), name: 'Spectrum Bot', termsLastAcceptedAt: new Date(), username: 'spectrumbot', website: 'https://spectrum.chat', profilePhoto: '/default_images/sam.png', }) .run(conn); }; exports.down = function(r, conn) { return r .table('users') .get('sam') .delete() .run(conn); }; ================================================ FILE: api/migrations/20190306125252-threads-watercooler-index.js ================================================ exports.up = function(r, conn) { return r .table('threads') .indexCreate('communityIdAndWatercooler', [ r.row('communityId'), r.row('watercooler'), ]) .run(conn); }; exports.down = function(r, conn) { return r .table('threads') .indexDrop('communityIdAndWatercooler') .run(conn); }; ================================================ FILE: api/migrations/20190315142923-backfill-userscommunities-last-seen-community-last-active.js ================================================ exports.up = function(r, conn) { return Promise.all([ r .table('usersCommunities') .update( { lastSeen: r .table('users') .get(r.row('userId'))('lastSeen') .default(r.row('lastSeen')), }, { nonAtomic: true, } ) .run(conn), r .table('communities') .update( { lastActive: r .table('threads') .between( [r.row('communityId'), r.minval], [r.row('communityId'), r.maxval], { index: 'communityIdAndLastActive', leftBound: 'open', rightBound: 'open', } ) .orderBy({ index: r.desc('communityIdAndLastActive') }) .limit(1)('lastActive') .default(r.row('createdAt')), }, { nonAtomic: true, } ) .run(conn), ]); }; exports.down = function(r, conn) { return Promise.all([ r .table('usersCommunities') .update({ lastSeen: r.literal(), }) .run(conn), r .table('communities') .update({ lastActive: r.literal(), }) .run(conn), ]); }; ================================================ FILE: api/migrations/20190327134509-delete-bot-messages.js ================================================ exports.up = function(r, conn) { return r .table('messages') .filter({ bot: true }) .delete() .run(conn); }; exports.down = function(r, conn) { return Promise.resolve(); }; ================================================ FILE: api/migrations/config.js ================================================ const path = require('path'); const fs = require('fs'); const debug = require('debug')('migrations'); const DEFAULT_CONFIG = { driver: 'rethinkdbdash', db: process.env.NODE_ENV === 'test' ? 'testing' : 'spectrum', host: 'localhost', port: 28015, migrationsDirectory: 'api/migrations', }; let ca; try { ca = fs.readFileSync(path.join(process.cwd(), 'cacert')); } catch (err) {} const RUN_IN_PROD = !!process.env.AWS_RETHINKDB_PASSWORD; if (!ca && RUN_IN_PROD) throw new Error( 'Please provide the SSL certificate to connect to the production database in a file called `cacert` in the root directory.' ); if (RUN_IN_PROD && process.argv[4] === 'down') { throw new Error('Do not drop the production database!!!!!'); } if (RUN_IN_PROD) debug('Running migration in production...'); module.exports = !RUN_IN_PROD ? DEFAULT_CONFIG : Object.assign({}, DEFAULT_CONFIG, { password: process.env.AWS_RETHINKDB_PASSWORD, host: process.env.AWS_RETHINKDB_URL, port: process.env.AWS_RETHINKDB_PORT, ...(ca ? { ssl: { ca, }, } : {}), }); ================================================ FILE: api/migrations/seed/default/channelSettings.js ================================================ const constants = require('./constants'); const { PAYMENTS_PRIVATE_CHANNEL_ID } = constants; module.exports = [ { id: 1, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, joinSettings: { tokenJoinEnabled: true, token: 'abc', }, slackSettings: { botLinks: { threadCreated: null, }, }, }, ]; ================================================ FILE: api/migrations/seed/default/channels.js ================================================ // @flow const constants = require('./constants'); const { DATE, SPECTRUM_COMMUNITY_ID, PAYMENTS_COMMUNITY_ID, DELETED_COMMUNITY_ID, PRIVATE_COMMUNITY_ID, SINGLE_CHANNEL_COMMUNITY_ID, SPECTRUM_GENERAL_CHANNEL_ID, SPECTRUM_PRIVATE_CHANNEL_ID, PAYMENTS_GENERAL_CHANNEL_ID, PAYMENTS_PRIVATE_CHANNEL_ID, PAYMENTS_FEATURES_CHANNEL_ID, SPECTRUM_ARCHIVED_CHANNEL_ID, SPECTRUM_DELETED_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, MODERATOR_CREATED_CHANNEL_ID, PRIVATE_GENERAL_CHANNEL_ID, SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID, } = constants; module.exports = [ { id: SPECTRUM_GENERAL_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, createdAt: new Date(DATE), name: 'General', description: 'General chatter', slug: 'general', isPrivate: false, isDefault: true, memberCount: 5, }, { id: SPECTRUM_PRIVATE_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Private', description: 'Private chatter', slug: 'private', isPrivate: true, isDefault: false, memberCount: 5, }, { id: PAYMENTS_GENERAL_CHANNEL_ID, communityId: PAYMENTS_COMMUNITY_ID, createdAt: new Date(DATE), name: 'General', description: 'General chatter', slug: 'general', isPrivate: false, isDefault: true, memberCount: 5, }, { id: PAYMENTS_PRIVATE_CHANNEL_ID, communityId: PAYMENTS_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Private', description: 'Private chatter', slug: 'private', isPrivate: true, isDefault: false, memberCount: 5, }, { id: PAYMENTS_FEATURES_CHANNEL_ID, communityId: PAYMENTS_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Payments Features', description: 'Payments Features', slug: 'features', isPrivate: false, isDefault: false, memberCount: 5, }, { id: SPECTRUM_ARCHIVED_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Archived', description: 'Testing archiving', slug: 'archived', isPrivate: false, isDefault: true, archivedAt: new Date(DATE), memberCount: 3, }, { id: SPECTRUM_DELETED_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Deleted', description: 'Testing deleted channel', slug: 'deleted', isPrivate: false, isDefault: false, deletedAt: new Date(DATE), memberCount: 0, }, { id: DELETED_COMMUNITY_DELETED_CHANNEL_ID, communityId: DELETED_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Deleted', description: 'Testing deleted channel', slug: 'deleted', isPrivate: false, isDefault: false, deletedAt: new Date(DATE), memberCount: 1, }, { id: MODERATOR_CREATED_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, createdAt: new Date(DATE), name: 'Moderator created', description: 'Moderator created channel', slug: 'moderator-created', isPrivate: false, isDefault: false, memberCount: 1, }, { id: PRIVATE_GENERAL_CHANNEL_ID, communityId: PRIVATE_COMMUNITY_ID, createdAt: new Date(DATE), name: 'General', description: 'General', slug: 'private-general', isPrivate: false, isDefault: false, memberCount: 1, }, { id: SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID, communityId: SINGLE_CHANNEL_COMMUNITY_ID, createdAt: new Date(DATE), name: 'General', description: 'General', slug: 'general', isPrivate: false, isDefault: false, memberCount: 1, }, ]; ================================================ FILE: api/migrations/seed/default/communities.js ================================================ // @flow const constants = require('./constants'); const { DATE, SPECTRUM_COMMUNITY_ID, PAYMENTS_COMMUNITY_ID, DELETED_COMMUNITY_ID, PRIVATE_COMMUNITY_ID, SINGLE_CHANNEL_COMMUNITY_ID, PRIVATE_COMMUNITY_WITH_JOIN_TOKEN_ID, } = constants; module.exports = [ { id: SPECTRUM_COMMUNITY_ID, createdAt: new Date(DATE), isPrivate: false, name: 'Spectrum', description: 'The future of communities', website: 'https://spectrum.chat', profilePhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693', coverPhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434', slug: 'spectrum', memberCount: 4, }, { id: PAYMENTS_COMMUNITY_ID, createdAt: new Date(DATE), isPrivate: false, name: 'Payments', description: 'Where payments are tested', website: 'https://spectrum.chat', profilePhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693', coverPhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434', slug: 'payments', memberCount: 5, }, { id: DELETED_COMMUNITY_ID, createdAt: new Date(DATE), deletedAt: new Date(DATE), isPrivate: false, name: 'Deleted', description: 'Things didnt work out', website: 'https://spectrum.chat', profilePhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693', coverPhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434', slug: 'deleted', memberCount: 0, }, { id: PRIVATE_COMMUNITY_ID, createdAt: new Date(DATE), isPrivate: true, name: 'Private community', description: 'Private community', website: 'https://spectrum.chat', profilePhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693', coverPhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434', slug: 'private', memberCount: 1, }, { id: SINGLE_CHANNEL_COMMUNITY_ID, createdAt: new Date(DATE), isPrivate: false, name: 'Single channel community', description: 'Single channel community', website: 'https://spectrum.chat', profilePhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693', coverPhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434', slug: 'single', memberCount: 1, }, { id: PRIVATE_COMMUNITY_WITH_JOIN_TOKEN_ID, createdAt: new Date(DATE), isPrivate: true, name: 'private community with join token', description: 'private community with join token', website: 'https://spectrum.chat', profilePhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Profile.png.0.6225566835336693', coverPhoto: 'https://spectrum.imgix.net/communities/-Kh6RfPYjmSaIWbkck8i/Twitter Header.png.0.3303118636071434', slug: 'private-join', memberCount: 1, }, ]; ================================================ FILE: api/migrations/seed/default/communitySettings.js ================================================ const constants = require('./constants'); const { PRIVATE_COMMUNITY_WITH_JOIN_TOKEN_ID, PAYMENTS_COMMUNITY_ID, } = constants; module.exports = [ { id: 1, communityId: PRIVATE_COMMUNITY_WITH_JOIN_TOKEN_ID, brandedLogin: { isEnabled: false, message: null, }, slackSettings: { connectedAt: null, connectedBy: null, teamName: null, teamId: null, scope: null, token: null, invitesSentAt: null, invitesMemberCount: null, invitesCustomMessage: null, }, joinSettings: { tokenJoinEnabled: true, token: 'abc', }, }, { id: 2, communityId: PAYMENTS_COMMUNITY_ID, brandedLogin: { isEnabled: false, message: null, }, slackSettings: { connectedAt: null, connectedBy: null, teamName: null, teamId: null, scope: null, token: null, invitesSentAt: null, invitesMemberCount: null, invitesCustomMessage: null, }, joinSettings: { tokenJoinEnabled: true, token: 'abc', }, }, ]; ================================================ FILE: api/migrations/seed/default/constants.js ================================================ // @flow const DATE = 1483225200000; // users const MAX_ID = '1'; const BRIAN_ID = '2'; const BRYN_ID = '3'; // this user is blocked in spectrum community const BLOCKED_USER_ID = '4'; // this user is has never joined communities or channels const QUIET_USER_ID = '5'; // this user was a previous member of spectrum community const PREVIOUS_MEMBER_USER_ID = '6'; // this user is pending in all private channels const PENDING_USER_ID = '7'; // this user is moderator in all channels, member in all communities const CHANNEL_MODERATOR_USER_ID = '8'; // this user is moderator in all communities const COMMUNITY_MODERATOR_USER_ID = '9'; // this user is only a member of one community, and that community only has // one channel - use for testing the composer community+channel selection const SINGLE_CHANNEL_COMMUNITY_USER_ID = '10'; const NEW_USER_ID = '11'; // communities const SPECTRUM_COMMUNITY_ID = '1'; const PAYMENTS_COMMUNITY_ID = '2'; const DELETED_COMMUNITY_ID = '3'; const PRIVATE_COMMUNITY_ID = '4'; const SINGLE_CHANNEL_COMMUNITY_ID = '5'; const PRIVATE_COMMUNITY_WITH_JOIN_TOKEN_ID = '6'; // channels const SPECTRUM_GENERAL_CHANNEL_ID = '1'; const SPECTRUM_PRIVATE_CHANNEL_ID = '2'; const PAYMENTS_GENERAL_CHANNEL_ID = '3'; const PAYMENTS_PRIVATE_CHANNEL_ID = '4'; const PAYMENTS_FEATURES_CHANNEL_ID = '10'; const SPECTRUM_ARCHIVED_CHANNEL_ID = '5'; const SPECTRUM_DELETED_CHANNEL_ID = '6'; const DELETED_COMMUNITY_DELETED_CHANNEL_ID = '7'; const MODERATOR_CREATED_CHANNEL_ID = '8'; const PRIVATE_GENERAL_CHANNEL_ID = '9'; const SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID = '11'; module.exports = { DATE, MAX_ID, BRIAN_ID, BRYN_ID, BLOCKED_USER_ID, QUIET_USER_ID, PREVIOUS_MEMBER_USER_ID, PENDING_USER_ID, CHANNEL_MODERATOR_USER_ID, COMMUNITY_MODERATOR_USER_ID, SINGLE_CHANNEL_COMMUNITY_USER_ID, PRIVATE_COMMUNITY_WITH_JOIN_TOKEN_ID, NEW_USER_ID, SPECTRUM_COMMUNITY_ID, PAYMENTS_COMMUNITY_ID, DELETED_COMMUNITY_ID, PRIVATE_COMMUNITY_ID, SINGLE_CHANNEL_COMMUNITY_ID, SPECTRUM_GENERAL_CHANNEL_ID, SPECTRUM_PRIVATE_CHANNEL_ID, PAYMENTS_GENERAL_CHANNEL_ID, PAYMENTS_PRIVATE_CHANNEL_ID, PAYMENTS_FEATURES_CHANNEL_ID, SPECTRUM_ARCHIVED_CHANNEL_ID, SPECTRUM_DELETED_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, MODERATOR_CREATED_CHANNEL_ID, PRIVATE_GENERAL_CHANNEL_ID, SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID, }; ================================================ FILE: api/migrations/seed/default/directMessageThreads.js ================================================ // @flow const constants = require('./constants'); const { DATE } = constants; module.exports = [ { id: 'dm-1', createdAt: new Date(DATE), name: null, threadLastActive: new Date(DATE), }, { id: 'dm-2', createdAt: new Date(DATE - 1), name: null, threadLastActive: new Date(DATE - 1), }, ]; ================================================ FILE: api/migrations/seed/default/index.js ================================================ // @flow const constants = require('./constants'); const defaultUsers = require('./users'); const defaultCommunities = require('./communities'); const defaultChannels = require('./channels'); const defaultThreads = require('./threads'); const defaultUsersThreads = require('./usersThreads'); const defaultDirectMessageThreads = require('./directMessageThreads'); const defaultUsersDirectMessageThreads = require('./usersDirectMessageThreads'); const defaultUsersCommunities = require('./usersCommunities'); const defaultUsersChannels = require('./usersChannels'); const defaultUsersSettings = require('./usersSettings')(); const defaultMessages = require('./messages'); const defaultReactions = require('./reactions'); const defaultUsersNotifications = require('./usersNotifications'); const defaultNotifications = require('./notifications'); const defaultCommunitySettings = require('./communitySettings'); const defaultChannelSettings = require('./channelSettings'); module.exports = { constants, defaultUsers, defaultCommunities, defaultChannels, defaultThreads, defaultUsersThreads, defaultDirectMessageThreads, defaultUsersDirectMessageThreads, defaultUsersCommunities, defaultUsersChannels, defaultMessages, defaultUsersSettings, defaultNotifications, defaultUsersNotifications, defaultCommunitySettings, defaultChannelSettings, defaultReactions, }; ================================================ FILE: api/migrations/seed/default/messages.js ================================================ // @flow const constants = require('./constants'); const { fromPlainText, toJSON } = require('../../../../shared/draft-utils'); const { DATE, MAX_ID, BRYN_ID, BRIAN_ID } = constants; module.exports = [ { id: '1', threadId: 'thread-1', content: { body: JSON.stringify({ blocks: [ { key: '9u8bg', text: 'This is the first message!', type: 'unstyled', depth: 0, inlineStyleRanges: [], entityRanges: [], data: {}, }, ], entityMap: {}, }), }, messageType: 'draftjs', threadType: 'story', senderId: MAX_ID, timestamp: new Date(DATE), }, { id: '2', threadId: 'thread-1', content: { body: JSON.stringify( toJSON(fromPlainText('This is the second message!')) ), }, messageType: 'draftjs', threadType: 'story', senderId: BRYN_ID, timestamp: new Date(DATE + 1), }, { id: '3', threadId: 'thread-1', content: { body: JSON.stringify( toJSON(fromPlainText('The next one is an emoji-only one :scream:')) ), }, messageType: 'draftjs', threadType: 'story', senderId: MAX_ID, timestamp: new Date(DATE + 2), }, { id: '4', threadId: 'thread-1', content: { body: JSON.stringify(toJSON(fromPlainText('🎉'))), }, messageType: 'draftjs', threadType: 'story', senderId: BRIAN_ID, timestamp: new Date(DATE + 3), }, { id: '5', threadId: 'thread-2', content: { body: JSON.stringify({ blocks: [ { key: '9u8bg', text: 'This is the first message!', type: 'unstyled', depth: 0, inlineStyleRanges: [], entityRanges: [], data: {}, }, ], entityMap: {}, }), }, messageType: 'draftjs', threadType: 'story', senderId: MAX_ID, timestamp: new Date(DATE), }, { id: '6', threadId: 'thread-2', content: { body: JSON.stringify( toJSON(fromPlainText('This is the second message!')) ), }, messageType: 'draftjs', threadType: 'story', senderId: BRYN_ID, timestamp: new Date(DATE + 1), }, { id: '7', threadId: 'thread-2', content: { body: JSON.stringify( toJSON(fromPlainText('The next one is an emoji-only one :scream:')) ), }, messageType: 'draftjs', threadType: 'story', senderId: MAX_ID, timestamp: new Date(DATE + 2), }, { id: '8', threadId: 'thread-2', content: { body: JSON.stringify(toJSON(fromPlainText('🎉'))), }, messageType: 'draftjs', threadType: 'story', senderId: BRIAN_ID, timestamp: new Date(DATE + 3), }, // DM Thread { id: '9', threadId: 'dm-1', threadType: 'directMessageThread', content: { body: JSON.stringify( toJSON(fromPlainText('Direct message thread message!')) ), }, messageType: 'draftjs', senderId: MAX_ID, timestamp: new Date(DATE), }, { id: '10', threadId: 'dm-1', threadType: 'directMessageThread', content: { body: JSON.stringify(toJSON(fromPlainText('A second one'))), }, messageType: 'draftjs', senderId: BRYN_ID, timestamp: new Date(DATE + 50000), }, { id: '11', threadId: 'dm-1', threadType: 'directMessageThread', content: { body: JSON.stringify(toJSON(fromPlainText('A third one'))), }, messageType: 'draftjs', senderId: BRIAN_ID, timestamp: new Date(DATE + 100000), }, { id: '12', threadId: 'dm-1', threadType: 'directMessageThread', content: { body: JSON.stringify(toJSON(fromPlainText('A fourth one'))), }, messageType: 'draftjs', senderId: MAX_ID, timestamp: new Date(DATE + 200000), }, { id: '13', threadId: 'dm-1', threadType: 'directMessageThread', content: { body: JSON.stringify(toJSON(fromPlainText('A fifth one'))), }, messageType: 'draftjs', senderId: BRYN_ID, timestamp: new Date(DATE + 300000), }, { id: '14', threadId: 'thread-6', threadType: 'story', content: { body: `{"blocks":[{"key":"7d3uf","text":"http://localhost:3000/spectrum/general/yet-another-thread~thread-9","type":"unstyled","depth":0,"inlineStyleRanges":[],"entityRanges":[],"data":{}},{"type":"atomic","data":{},"text":" ","depth":0,"entityRanges":[{"offset":0,"length":1,"key":0}],"inlineStyleRanges":[],"key":"7jad1"},{"type":"unstyled","data":{},"text":" ","depth":0,"entityRanges":[],"inlineStyleRanges":[],"key":"7a0pk"}],"entityMap":{"0":{"data":{"type":"internal","id":"thread-9","entity":"thread"},"mutability":"MUTABLE","type":"embed"}}}`, }, messageType: 'draftjs', senderId: BRIAN_ID, timestamp: new Date(DATE + 300000), }, ]; ================================================ FILE: api/migrations/seed/default/notifications.js ================================================ // @flow const constants = require('./constants'); const users = require('./users'); const { DATE, BRIAN_ID, PREVIOUS_MEMBER_USER_ID } = constants; module.exports = [ { actors: [ { id: PREVIOUS_MEMBER_USER_ID, payload: JSON.stringify( users.find(u => u.id === PREVIOUS_MEMBER_USER_ID) ), type: 'USER', }, ], context: { id: 'dm-2', payload: '', type: 'DIRECT_MESSAGE_THREAD', }, createdAt: new Date(DATE + 1), entities: [ { id: '1', payload: '', type: 'MESSAGE', }, ], event: 'MESSAGE_CREATED', id: '1', modifiedAt: new Date(DATE + 1), }, ]; ================================================ FILE: api/migrations/seed/default/reactions.js ================================================ // @flow const constants = require('./constants'); const { DATE, MAX_ID } = constants; module.exports = [ { id: '1', messageId: '4', type: 'like', senderId: MAX_ID, timestamp: new Date(DATE + 4), }, ]; ================================================ FILE: api/migrations/seed/default/threads.js ================================================ // @flow const { fromPlainText, toJSON } = require('../../../../shared/draft-utils'); const constants = require('./constants'); const { DATE, BRIAN_ID, MAX_ID, BRYN_ID, SPECTRUM_GENERAL_CHANNEL_ID, PRIVATE_GENERAL_CHANNEL_ID, SPECTRUM_PRIVATE_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, MODERATOR_CREATED_CHANNEL_ID, DELETED_COMMUNITY_ID, SPECTRUM_COMMUNITY_ID, PRIVATE_COMMUNITY_ID, SPECTRUM_ARCHIVED_CHANNEL_ID, } = constants; module.exports = [ { id: 'thread-1', createdAt: new Date(DATE), creatorId: BRIAN_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'The first thread! 🎉', body: JSON.stringify( toJSON(fromPlainText('This is it, we got a thread here')) ), }, edits: [ { timestamp: new Date(DATE), content: { title: 'The first thread! 🎉', body: JSON.stringify( toJSON(fromPlainText('This is it, we got a thread here')) ), }, }, ], modifiedAt: new Date(DATE), lastActive: new Date(DATE), messageCount: 4, reactionCount: 0, }, { id: 'thread-2', createdAt: new Date(DATE + 1), creatorId: MAX_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 1), content: { title: 'Another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 1), lastActive: new Date(DATE + 1), messageCount: 4, reactionCount: 0, }, { id: 'thread-3', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), messageCount: 0, reactionCount: 0, }, { id: 'thread-4', createdAt: new Date(DATE), creatorId: BRIAN_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'The first thread! 🎉', body: JSON.stringify( toJSON(fromPlainText('This is it, we got a thread here')) ), }, edits: [ { timestamp: new Date(DATE), content: { title: 'The first thread! 🎉', body: JSON.stringify( toJSON(fromPlainText('This is it, we got a thread here')) ), }, }, ], modifiedAt: new Date(DATE), lastActive: new Date(DATE), messageCount: 0, reactionCount: 0, }, { id: 'thread-5', createdAt: new Date(DATE + 1), creatorId: MAX_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 1), content: { title: 'Another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 1), lastActive: new Date(DATE + 1), messageCount: 0, reactionCount: 0, }, { id: 'thread-6', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), messageCount: 0, reactionCount: 0, }, { id: 'thread-7', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: DELETED_COMMUNITY_DELETED_CHANNEL_ID, communityId: DELETED_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), deletedAt: new Date(DATE + 3), messageCount: 0, reactionCount: 0, }, { id: 'thread-8', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: SPECTRUM_ARCHIVED_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), messageCount: 0, reactionCount: 0, }, { id: 'thread-9', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: true, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), }, { id: 'thread-10', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: MODERATOR_CREATED_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), messageCount: 0, reactionCount: 0, }, { id: 'thread-11', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, communityId: SPECTRUM_COMMUNITY_ID, isPublished: true, isLocked: true, type: 'DRAFTJS', content: { title: 'Deleted thread', body: JSON.stringify(toJSON(fromPlainText('This is a deleted thread'))), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Deleted thread', body: JSON.stringify( toJSON(fromPlainText('This is a deleted thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), deletedAt: new Date(DATE + 3), messageCount: 0, reactionCount: 0, }, { id: 'thread-12', createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: DELETED_COMMUNITY_DELETED_CHANNEL_ID, communityId: DELETED_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), deletedAt: new Date(DATE), messageCount: 0, reactionCount: 0, }, { id: 'thread-13', createdAt: new Date(DATE + 2), creatorId: MAX_ID, channelId: PRIVATE_GENERAL_CHANNEL_ID, communityId: PRIVATE_COMMUNITY_ID, isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, edits: [ { timestamp: new Date(DATE + 2), content: { title: 'Yet another thread', body: JSON.stringify( toJSON(fromPlainText('This is just another thread')) ), }, }, ], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), messageCount: 0, reactionCount: 0, }, ]; ================================================ FILE: api/migrations/seed/default/users.js ================================================ // @flow const constants = require('./constants'); const { MAX_ID, BRIAN_ID, BRYN_ID, QUIET_USER_ID, BLOCKED_USER_ID, PREVIOUS_MEMBER_USER_ID, CHANNEL_MODERATOR_USER_ID, COMMUNITY_MODERATOR_USER_ID, SINGLE_CHANNEL_COMMUNITY_USER_ID, NEW_USER_ID, DATE, } = constants; module.exports = [ { id: MAX_ID, name: 'Max Stoiber', description: 'Makes styled-components, react-boilerplate and micro-analytics 💅 Speciality coffee geek, skier, traveller ☕', website: 'https://mxstbr.com', username: 'mxstbr', profilePhoto: 'https://img.gs/jztmrqvgzv/500/mxstbr.com/headshot.jpeg', coverPhoto: 'https://pbs.twimg.com/profile_banners/2451223458/1479507323/1500x500', email: 'contact@mxstbr.com', providerId: '2451223458', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: BRIAN_ID, name: 'Brian Lovin', description: 'Chief Nice Boy™', website: 'https://brianlovin.com', username: 'brian', profilePhoto: 'https://pbs.twimg.com/profile_images/570313913648955392/cf4tgX7M_bigger.jpeg', coverPhoto: 'https://pbs.twimg.com/profile_banners/465068802/1490051733/1500x500', email: 'briandlovin@gmail.com', providerId: '465068802', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: BRYN_ID, name: 'Bryn Jackson', description: 'full-stack flapjack', website: 'https://bryn.io', username: 'bryn', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@bryn.io', providerId: '17106008', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: QUIET_USER_ID, name: 'Quiet user', description: "I've never joined anything on Spectrum", website: '', username: 'quiet-user', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@quietuser.com', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: BLOCKED_USER_ID, name: 'Blocked user', description: 'I am blocked in the Spectrum community', website: '', username: 'blocked-user', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@blockeduser.com', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: PREVIOUS_MEMBER_USER_ID, name: 'Previous member', description: 'I used to be in the Spectrum community, but then left', website: '', username: 'previous-user', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@previousboy.io', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: CHANNEL_MODERATOR_USER_ID, name: 'Channel moderator', description: 'I moderate all channels', website: '', username: 'channel-moderator-user', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@channelmoderatorboy.io', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: COMMUNITY_MODERATOR_USER_ID, name: 'Community moderator', description: 'I moderate all communities', website: '', username: 'community-moderator-user', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@communitymoderatorboy.io', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: SINGLE_CHANNEL_COMMUNITY_USER_ID, name: 'Single community person', description: 'Im a member of one community', website: '', username: 'single-community-user', profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@singlecommunity.io', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, { id: NEW_USER_ID, name: 'New user', description: 'Just joined spectrum', website: '', username: null, profilePhoto: 'https://pbs.twimg.com/profile_images/848823167699230721/-9CbPtto_bigger.jpg', coverPhoto: 'https://pbs.twimg.com/profile_banners/17106008/1491444958/1500x500', email: 'hi@newuser.io', createdAt: new Date(DATE), lastSeen: new Date(DATE), }, ]; ================================================ FILE: api/migrations/seed/default/usersChannels.js ================================================ // @flow const constants = require('./constants'); const { DATE, BRIAN_ID, MAX_ID, BRYN_ID, BLOCKED_USER_ID, PREVIOUS_MEMBER_USER_ID, CHANNEL_MODERATOR_USER_ID, COMMUNITY_MODERATOR_USER_ID, SINGLE_CHANNEL_COMMUNITY_USER_ID, SPECTRUM_GENERAL_CHANNEL_ID, PRIVATE_GENERAL_CHANNEL_ID, SPECTRUM_ARCHIVED_CHANNEL_ID, SPECTRUM_PRIVATE_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, PAYMENTS_GENERAL_CHANNEL_ID, PAYMENTS_PRIVATE_CHANNEL_ID, PAYMENTS_FEATURES_CHANNEL_ID, MODERATOR_CREATED_CHANNEL_ID, SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID, } = constants; module.exports = [ { id: '1', createdAt: new Date(DATE), userId: MAX_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '2', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '3', createdAt: new Date(DATE), userId: BRYN_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '4', createdAt: new Date(DATE), userId: BLOCKED_USER_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: true, isPending: false, receiveNotifications: true, }, { id: '5', createdAt: new Date(DATE), userId: MAX_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '6', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '7', createdAt: new Date(DATE), userId: BRYN_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '8', createdAt: new Date(DATE), userId: BLOCKED_USER_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: true, isPending: false, receiveNotifications: true, }, { id: '9', createdAt: new Date(DATE), userId: MAX_ID, channelId: PAYMENTS_GENERAL_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '10', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: PAYMENTS_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '32', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: PAYMENTS_FEATURES_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '11', createdAt: new Date(DATE), userId: BRYN_ID, channelId: PAYMENTS_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '12', createdAt: new Date(DATE), userId: BLOCKED_USER_ID, channelId: PAYMENTS_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: true, isPending: false, receiveNotifications: true, }, { id: '13', createdAt: new Date(DATE), userId: MAX_ID, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '14', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '15', createdAt: new Date(DATE), userId: BRYN_ID, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '16', createdAt: new Date(DATE), userId: BLOCKED_USER_ID, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: true, isPending: false, receiveNotifications: true, }, { id: '17', createdAt: new Date(DATE), userId: MAX_ID, channelId: SPECTRUM_ARCHIVED_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '18', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: false, isModerator: true, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '19', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, channelId: SPECTRUM_ARCHIVED_CHANNEL_ID, isOwner: false, isModerator: true, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '20', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: true, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '21', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, channelId: PAYMENTS_GENERAL_CHANNEL_ID, isOwner: false, isModerator: true, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '22', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: true, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '23', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, channelId: MODERATOR_CREATED_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '24', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '25', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, channelId: SPECTRUM_ARCHIVED_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '26', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, channelId: SPECTRUM_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '27', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, channelId: PAYMENTS_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '28', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, channelId: PAYMENTS_PRIVATE_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '29', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: DELETED_COMMUNITY_DELETED_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { id: '30', createdAt: new Date(DATE), userId: PREVIOUS_MEMBER_USER_ID, channelId: SPECTRUM_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: false, isPending: false, receiveNotifications: false, }, { id: '31', createdAt: new Date(DATE), userId: MAX_ID, channelId: PRIVATE_GENERAL_CHANNEL_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: false, }, { id: '33', createdAt: new Date(DATE), userId: BRIAN_ID, channelId: SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: false, }, { id: '34', createdAt: new Date(DATE), userId: SINGLE_CHANNEL_COMMUNITY_USER_ID, channelId: SINGLE_CHANNEL_COMMUNITY_GENERAL_CHANNEL_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: false, }, ]; ================================================ FILE: api/migrations/seed/default/usersCommunities.js ================================================ // @flow const constants = require('./constants'); const { DATE, MAX_ID, BRYN_ID, BRIAN_ID, PREVIOUS_MEMBER_USER_ID, BLOCKED_USER_ID, CHANNEL_MODERATOR_USER_ID, COMMUNITY_MODERATOR_USER_ID, SINGLE_CHANNEL_COMMUNITY_USER_ID, SPECTRUM_COMMUNITY_ID, PAYMENTS_COMMUNITY_ID, PRIVATE_COMMUNITY_ID, SINGLE_CHANNEL_COMMUNITY_ID, } = constants; module.exports = [ { id: '1', createdAt: new Date(DATE), userId: MAX_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '2', createdAt: new Date(DATE), userId: BRIAN_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 101, }, { id: '3', createdAt: new Date(DATE), userId: BRYN_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '4', createdAt: new Date(DATE), userId: BLOCKED_USER_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: true, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '6', createdAt: new Date(DATE), userId: PREVIOUS_MEMBER_USER_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: false, isPending: false, receiveNotifications: false, reputation: 100, }, { id: '7', createdAt: new Date(DATE), userId: MAX_ID, communityId: PAYMENTS_COMMUNITY_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '8', createdAt: new Date(DATE), userId: BRIAN_ID, communityId: PAYMENTS_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '9', createdAt: new Date(DATE), userId: BRYN_ID, communityId: PAYMENTS_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '10', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '11', createdAt: new Date(DATE), userId: CHANNEL_MODERATOR_USER_ID, communityId: PAYMENTS_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '12', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, communityId: SPECTRUM_COMMUNITY_ID, isOwner: false, isModerator: true, isMember: false, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '13', createdAt: new Date(DATE), userId: COMMUNITY_MODERATOR_USER_ID, communityId: PAYMENTS_COMMUNITY_ID, isOwner: false, isModerator: true, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '14', createdAt: new Date(DATE), userId: MAX_ID, communityId: PRIVATE_COMMUNITY_ID, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '15', createdAt: new Date(DATE), userId: BRIAN_ID, communityId: PRIVATE_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: false, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 100, }, { id: '16', createdAt: new Date(DATE), userId: BRIAN_ID, communityId: SINGLE_CHANNEL_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 0, }, { id: '17', createdAt: new Date(DATE), userId: SINGLE_CHANNEL_COMMUNITY_USER_ID, communityId: SINGLE_CHANNEL_COMMUNITY_ID, isOwner: false, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, reputation: 0, }, ]; ================================================ FILE: api/migrations/seed/default/usersDirectMessageThreads.js ================================================ // @flow const constants = require('./constants'); const { DATE, BRIAN_ID, MAX_ID, BRYN_ID, PREVIOUS_MEMBER_USER_ID } = constants; module.exports = [ { id: '1', createdAt: new Date(DATE), userId: BRIAN_ID, threadId: 'dm-1', lastActive: new Date(DATE), lastSeen: new Date(DATE), receiveNotifications: true, }, { id: '2', createdAt: new Date(DATE), userId: BRYN_ID, threadId: 'dm-1', lastActive: new Date(DATE), lastSeen: new Date(DATE), receiveNotifications: true, }, { id: '3', createdAt: new Date(DATE), userId: MAX_ID, threadId: 'dm-1', lastActive: new Date(DATE), lastSeen: new Date(DATE), receiveNotifications: true, }, { id: '4', createdAt: new Date(DATE), userId: BRIAN_ID, threadId: 'dm-2', lastActive: new Date(DATE - 1), lastSeen: null, receiveNotifications: true, }, { id: '5', createdAt: new Date(DATE), userId: PREVIOUS_MEMBER_USER_ID, threadId: 'dm-2', lastActive: new Date(DATE - 1), lastSeen: new Date(DATE - 1), receiveNotifications: true, }, ]; ================================================ FILE: api/migrations/seed/default/usersNotifications.js ================================================ // @flow const constants = require('./constants'); const { DATE, BRIAN_ID } = constants; module.exports = [ { id: '1', notificationId: '1', createdAt: new Date(DATE), userId: BRIAN_ID, entityAddedAt: new Date(DATE + 1), isRead: false, isSeen: false, }, ]; ================================================ FILE: api/migrations/seed/default/usersSettings.js ================================================ // @flow module.exports = () => { let settings = []; for (let step = 0; step < 11; step++) { settings.push({ userId: step.toString(), notifications: { types: { newMessageInThreads: { email: true, }, newMention: { email: true, }, newDirectMessage: { email: true, }, newThreadCreated: { email: true, }, dailyDigest: { email: true, }, weeklyDigest: { email: true, }, }, }, }); } return settings; }; ================================================ FILE: api/migrations/seed/default/usersThreads.js ================================================ // @flow const constants = require('./constants'); const { DATE, MAX_ID, BRYN_ID, BRIAN_ID } = constants; module.exports = [ { id: '1', createdAt: new Date(DATE), userId: BRIAN_ID, threadId: 'thread-1', receiveNotifications: true, isParticipant: true, }, { id: '2', createdAt: new Date(DATE + 1), userId: MAX_ID, threadId: 'thread-1', receiveNotifications: true, isParticipant: true, }, { id: '3', createdAt: new Date(DATE + 2), userId: BRYN_ID, threadId: 'thread-1', receiveNotifications: true, isParticipant: true, }, { id: '4', createdAt: new Date(DATE), userId: BRIAN_ID, threadId: 'thread-2', receiveNotifications: true, isParticipant: true, }, { id: '5', createdAt: new Date(DATE + 1), userId: MAX_ID, threadId: 'thread-2', receiveNotifications: true, isParticipant: true, }, { id: '6', createdAt: new Date(DATE + 2), userId: BRYN_ID, threadId: 'thread-2', receiveNotifications: true, isParticipant: true, }, { id: '7', createdAt: new Date(DATE), userId: BRIAN_ID, threadId: 'thread-3', receiveNotifications: true, isParticipant: true, }, { id: '8', createdAt: new Date(DATE + 1), userId: MAX_ID, threadId: 'thread-3', receiveNotifications: true, isParticipant: true, }, { id: '9', createdAt: new Date(DATE + 2), userId: BRYN_ID, threadId: 'thread-3', receiveNotifications: true, isParticipant: true, }, ]; ================================================ FILE: api/migrations/seed/generate.js ================================================ // $FlowFixMe const { v4: uuid } = require('uuid'); // $FlowFixMe const faker = require('faker'); // $FlowFixMe const slugify = require('slugg'); // $FlowFixMe const casual = require('casual').functions(); const { fromPlainText, toJSON } = require('../../../shared/draft-utils'); const randomAmount = ({ max, min }, cb) => { if (!max) throw new Error('randomAmount({ max }): max has to be defined!'); const n = faker.random.number({ min: min || 0, max }); let result = []; for (var i = 0; i < n; i++) { result.push(cb(i)); } return result; }; const generateUser = () => { const createdAt = faker.date.past(2); const name = faker.name.findName(); return { id: uuid(), name, description: casual.short_description(), website: faker.internet.url(), username: faker.internet.userName(name), profilePhoto: faker.internet.avatar(), coverPhoto: faker.image.image(), email: faker.internet.email(name), providerId: uuid(), createdAt, // Make sure lastSeen is > createdAt lastSeen: faker.date.between(createdAt, new Date()), }; }; const generateUsersSettings = userId => { return { id: uuid(), userId, notifications: { types: { newMessageInThreads: { email: true, }, newThreadCreated: { email: true, }, dailyDigest: { email: true, }, weeklyDigest: { email: true, }, }, }, }; }; const generateCommunity = () => { const name = faker.company.companyName(); return { id: uuid(), createdAt: faker.date.past(2), name, description: casual.short_description(), website: faker.internet.url(), profilePhoto: faker.image.business(), coverPhoto: faker.image.image(), slug: slugify(name), }; }; const generateChannel = communityId => { const name = faker.commerce.department(); return { id: uuid(), communityId, createdAt: faker.date.past(2), name, description: casual.short_description(), slug: slugify(name), isPrivate: faker.random.boolean(), isDefault: false, }; }; const generateUsersCommunities = (communityId, userId) => { const isOwner = faker.random.boolean(); // for ease of use, set to false const isModerator = false; // if user is either an admin or moderator, they have to be a member // otherwise random chance const isMember = isOwner || isModerator ? true : faker.random.boolean(); // might be blocked as long as they aren't an admin, mod, or member const isBlocked = isOwner || isModerator || isMember ? false : faker.random.boolean(); return { id: uuid(), createdAt: faker.date.past(2), communityId, userId, isOwner, isModerator, isMember, isBlocked, receiveNotifications: true, reputation: 1, }; }; const generateUsersChannels = (channels, usersCommunities, userId) => { // figure out which communities the user being evaulated is a member of let possibleCommunities = usersCommunities.filter( elem => elem.userId === userId ); // make sure they are a member of the community possibleCommunities = possibleCommunities .filter(elem => elem.isMember || elem.isOwner || elem.isModerator) .map(elem => elem.communityId); let possibleChannels = channels.filter( channel => possibleCommunities.indexOf(channel.communityId) > -1 ); // for each of those communities, construct an array of channels that are in // that community // const possibleChannels = possibleCommunities.map(community => channels.filter(channel => channel.communityId === community.id)) // for each of hte possible channels, generate a new usersChannels object const foo = possibleChannels.map(channel => { const isOwner = faker.random.boolean(); // for ease of use, set to false const isModerator = false; // if user is either an admin or moderator, they have to be a member // otherwise random chance const isMember = isOwner || isModerator ? true : faker.random.boolean(); // if a user is admin, mod, or member, they can't be pending, otherwise random const isPending = isOwner || isModerator || isMember ? false : faker.random.boolean(); // might be blocked as long as they aren't an admin, mod, pending, or member const isBlocked = isOwner || isModerator || isMember || isPending ? false : faker.random.boolean(); return { id: uuid(), createdAt: new Date(), channelId: channel.id, userId, isOwner, isModerator, isMember, isBlocked, isPending, receiveNotifications: true, }; }); return foo; }; const generateThread = (communityId, channelId, creatorId) => { const content = { title: casual.title(), body: JSON.stringify(toJSON(fromPlainText(casual.text()))), }; const createdAt = faker.date.past(2); return { id: uuid(), createdAt, creatorId, channelId, communityId, isPublished: faker.random.boolean(), content, type: 'DRAFTJS', lastActive: faker.date.between(createdAt, new Date()), edits: [ { timestamp: createdAt, content, }, ], modifiedAt: faker.date.between(createdAt, new Date()), }; }; const generateUsersThreads = (threadId, userId) => { const createdAt = faker.date.past(2); return { id: uuid(), createdAt, threadId, userId, isParticipant: true, receiveNotifications: true, }; }; const generateDirectMessageThread = users => { const createdAt = faker.date.past(2); const threadLastActive = faker.date.between(createdAt, faker.date.recent()); return { id: uuid(), name: null, createdAt, threadLastActive, }; }; const generateUsersDirectMessageThreads = (threadId, userId) => { const createdAt = faker.date.past(2); const lastActive = faker.date.between(createdAt, faker.date.recent()); const lastSeen = faker.date.between(createdAt, new Date()); return { id: uuid(), createdAt, threadId, userId, lastActive, lastSeen, receiveNotifications: true, }; }; const generateMessage = (senderId, threadId, threadType) => { return { id: uuid(), threadType, threadId, senderId, content: { body: casual.text(), }, messageType: 'text', timestamp: faker.date.past(2), }; }; const generateReaction = (userId, messageId) => { return { id: uuid(), messageId, userId, timestamp: faker.date.past(2), type: 'like', }; }; module.exports = { randomAmount, generateUser, generateUsersSettings, generateCommunity, generateChannel, generateUsersCommunities, generateUsersChannels, generateUsersDirectMessageThreads, generateThread, generateUsersThreads, generateMessage, generateReaction, generateDirectMessageThread, }; ================================================ FILE: api/migrations/seed/index.js ================================================ // @flow const faker = require('faker'); const debug = require('debug')('api:migrations:seed'); const { v4: uuid } = require('uuid'); const { defaultCommunities, defaultUsers, defaultChannels, defaultThreads, defaultUsersThreads, defaultDirectMessageThreads, defaultUsersDirectMessageThreads, defaultUsersCommunities, defaultUsersChannels, defaultMessages, } = require('./default/index'); const { randomAmount, generateUser, generateUsersSettings, generateCommunity, generateChannel, generateUsersCommunities, generateUsersChannels, generateThread, generateUsersThreads, generateDirectMessageThread, generateUsersDirectMessageThreads, generateMessage, generateReaction, } = require('./generate'); const userAmount = faker.random.number(1000); const users = [ ...defaultUsers, ...randomAmount({ max: userAmount, min: 1 }, generateUser), ]; const usersSettings = []; users.forEach(user => { usersSettings.push(generateUsersSettings(user.id)); }); debug('Generating communities...'); const communities = [ ...defaultCommunities, ...randomAmount({ min: 10, max: 20 }, () => { return generateCommunity(); }), ]; debug('Generating usersCommunities...'); let usersCommunities = []; users.forEach(user => { communities.forEach(community => { usersCommunities.push(generateUsersCommunities(community.id, user.id)); }); }); debug('Generating channels...'); let channels = defaultChannels; communities.forEach(community => { if (community.deletedAt) return; randomAmount({ max: 10 }, () => { channels.push(generateChannel(community.id)); }); }); debug('Generating usersChannels...'); let usersChannels = defaultUsersChannels; const generatedUsersChannels = users.map(user => { return generateUsersChannels(channels, usersCommunities, user.id); }); generatedUsersChannels.map(elem => { usersChannels.push(...elem); }); debug('Generating threads...'); let threads = defaultThreads; channels.forEach(channel => { const community = communities.find( community => community.id === channel.communityId ); if (community.deletedAt) return; randomAmount({ max: 10 }, () => { const creator = faker.random.arrayElement(users); const thread = generateThread(channel.communityId, channel.id, creator.id); threads.push(thread); }); }); let usersThreads = defaultUsersThreads; threads.forEach(thread => { const usersThread = generateUsersThreads(thread.id, thread.creatorId); usersThreads.push(usersThread); }); debug('Generating direct message threads...'); let directMessageThreads = defaultDirectMessageThreads; randomAmount({ max: 100 }, () => { directMessageThreads.push(generateDirectMessageThread()); }); debug('Generating usersDirectMessageThreads...'); let usersDirectMessageThreads = defaultUsersDirectMessageThreads; directMessageThreads.forEach(thread => { const thread_users = randomAmount({ max: 5, min: 2 }, i => users[i]); thread_users.forEach(user => { usersDirectMessageThreads.push( generateUsersDirectMessageThreads(thread.id, user.id) ); }); }); debug('Generating messages...'); let messages = defaultMessages; threads.forEach(thread => { const channel = channels.find(channel => channel.id === thread.channelId); const threadMessages = []; randomAmount({ max: 10 }, () => { const sender = faker.random.arrayElement(users); const message = generateMessage(sender.id, thread.id, 'story'); messages.push(message); threadMessages.push(message); }); }); debug('Generating direct messages...'); let direct_messages = []; usersDirectMessageThreads.forEach(thread => { const threadMessages = []; const sender = thread.userId; randomAmount({ max: 100 }, () => { const message = generateMessage( sender, thread.threadId, 'directMessageThread' ); direct_messages.push(message); threadMessages.push(message); }); }); debug('Generating reactions...'); let reactions = []; messages.map(message => { randomAmount({ max: 5 }, () => { const user = faker.random.arrayElement(users); reactions.push(generateReaction(user.id, message.id)); }); }); debug('Connecting to db...'); // $FlowFixMe const db = require('rethinkhaberdashery')({ db: 'spectrum', }); debug( `Inserting ${users.length} users, ${communities.length} communities, ${channels.length} channels, ${ threads.length } threads, ${messages.length + direct_messages.length} messages, ${ reactions.length } reactions, ${directMessageThreads.length} direct message threads, ${ usersCommunities.length } usersCommunities objects, ${ usersChannels.length } usersChannels objects, and ${ usersDirectMessageThreads.length } usersDirectMessageThreads objects into the database... (this might take a while!)` ); Promise.all([ db .table('communities') .insert(communities) .run(), db .table('channels') .insert(channels) .run(), db .table('threads') .insert(threads) .run(), db .table('messages') .insert(messages) .run(), db .table('users') .insert(users) .run(), db .table('usersSettings') .insert(usersSettings) .run(), db .table('reactions') .insert(reactions) .run(), db .table('directMessageThreads') .insert(directMessageThreads) .run(), db .table('messages') .insert(direct_messages) .run(), db .table('usersCommunities') .insert(usersCommunities) .run(), db .table('usersChannels') .insert(usersChannels) .run(), db .table('usersDirectMessageThreads') .insert(usersDirectMessageThreads) .run(), db .table('usersThreads') .insert(usersThreads) .run(), ]) .then(() => { debug('Finished seeding database! 🎉'); process.exit(); }) .catch(err => { debug( 'Encountered error while inserting data (see below), please run yarn run db:drop and yarn run db:migrate to restore tables to original condition, then run this script again.' ); console.error('❌ Error in job:\n'); console.error(err); }); ================================================ FILE: api/models/channel.js ================================================ // @flow const { db } = require('shared/db'); import type { DBChannel } from 'shared/types'; // reusable query parts -- begin const channelsByCommunitiesQuery = (...communityIds: string[]) => db .table('channels') .getAll(...communityIds, { index: 'communityId' }) .filter(channel => channel.hasFields('deletedAt').not()); const channelsByIdsQuery = (...channelIds: string[]) => db .table('channels') .getAll(...channelIds) .filter(channel => channel.hasFields('deletedAt').not()); const threadsByChannelsQuery = (...channelIds: string[]) => channelsByIdsQuery(...channelIds) .eqJoin('id', db.table('threads'), { index: 'channelId' }) .map(row => row('right')) .filter(thread => db.not(thread.hasFields('deletedAt'))); const membersByChannelsQuery = (...channelIds: string[]) => channelsByIdsQuery(...channelIds) .eqJoin('id', db.table('usersChannels'), { index: 'channelId' }) .map(row => row('right')) .filter({ isBlocked: false, isPending: false, isMember: true }); // reusable query parts -- end // prettier-ignore const getChannelsByCommunity = (communityId: string): Promise> => { return channelsByCommunitiesQuery(communityId).run(); }; /* If a non-user is viewing a community page, they should only see threads from public channels. We use this function to return an array of channelIds that are public, and pass them into a getThreads function */ // prettier-ignore const getPublicChannelsByCommunity = (communityId: string): Promise> => { return channelsByCommunitiesQuery(communityId) .filter({ isPrivate: false }) .filter(row => row.hasFields('archivedAt').not()) .map(c => c('id')) .run(); }; /* If a user is viewing a community, they should see threads from all public channels as well as from private channels they are a member of. This function returns an array of objects with the field 'id' that corresponds to a channelId. This array of IDs will be passed into a threads method which will only return threads in those channels */ // prettier-ignore const getChannelsByUserAndCommunity = async (communityId: string, userId: string): Promise> => { const channels = await channelsByCommunitiesQuery(communityId).run(); const unarchived = channels.filter(channel => !channel.archivedAt) const channelIds = unarchived.map(channel => channel.id) return db .table('usersChannels') .getAll(...channelIds.map(id => ([userId, id])), { index: 'userIdAndChannelId', }) .filter({ isMember: true })('channelId') .run(); }; const getChannelsByUser = (userId: string): Promise> => { return db .table('usersChannels') .getAll([userId, 'member'], [userId, 'moderator'], [userId, 'owner'], { index: 'userIdAndRole', }) .eqJoin('channelId', db.table('channels')) .without({ left: ['id', 'channelId', 'userId', 'createdAt'] }) .zip() .filter(channel => db.not(channel.hasFields('deletedAt'))) .run(); }; const getChannelBySlug = async ( channelSlug: string, communitySlug: string ): Promise => { const [communityId] = await db .table('communities') .getAll(communitySlug, { index: 'slug' })('id') .run(); if (!communityId) return null; return db .table('channels') .getAll(communityId, { index: 'communityId' }) .filter(channel => channel('slug') .eq(channelSlug) .and(db.not(channel.hasFields('deletedAt'))) ) .run() .then(res => { if (Array.isArray(res) && res.length > 0) return res[0]; return null; }); }; const getChannelById = async (id: string) => { return (await channelsByIdsQuery(id).run())[0] || null; }; type GetChannelByIdArgs = {| id: string, |}; type GetChannelBySlugArgs = {| slug: string, communitySlug: string, |}; export type GetChannelArgs = GetChannelByIdArgs | GetChannelBySlugArgs; const getChannels = (channelIds: Array): Promise> => { return channelsByIdsQuery(...channelIds).run(); }; export type EditChannelInput = { input: { channelId: string, name: string, description: string, slug: string, isPrivate: Boolean, }, }; // prettier-ignore const editChannel = async ({ input }: EditChannelInput): Promise => { const { name, slug, description, isPrivate, channelId } = input; const channelRecord = await db .table('channels') .get(channelId) .run() .then(result => { return Object.assign({}, result, { name, description, slug, isPrivate, }); }); return db .table('channels') .get(channelId) .update({ ...channelRecord }, { returnChanges: 'always' }) .run() .then(result => { // if an update happened if (result.replaced === 1) { return result.changes[0].new_val; } // an update was triggered from the client, but no data was changed if (result.unchanged === 1) { return result.changes[0].old_val; } return null; }); }; const deleteChannel = (channelId: string, userId: string): Promise => { return db .table('channels') .get(channelId) .update( { deletedBy: userId, deletedAt: new Date(), slug: db.uuid(), }, { returnChanges: true, nonAtomic: true, } ) .run(); }; const setMemberCount = ( channelId: string, value: number ): Promise => { return db .table('channels') .get(channelId) .update( { memberCount: value, }, { returnChanges: true } ) .run() .then(result => result.changes[0].new_val || result.changes[0].old_val); }; const decrementMemberCount = (channelId: string): Promise => { return db .table('channels') .get(channelId) .update( { memberCount: db .row('memberCount') .default(1) .sub(1), }, { returnChanges: true } ) .run() .then(result => result.changes[0].new_val || result.changes[0].old_val); }; type GroupedCount = { group: string, reduction: number, }; // prettier-ignore const getChannelsThreadCounts = (channelIds: Array): Promise> => { return threadsByChannelsQuery(...channelIds) .group('channelId') .count() .run(); }; module.exports = { getChannelBySlug, getChannelById, getChannelsByUser, getChannelsByCommunity, getPublicChannelsByCommunity, getChannelsByUserAndCommunity, editChannel, deleteChannel, getChannels, setMemberCount, decrementMemberCount, getChannelsThreadCounts, __forQueryTests: { channelsByCommunitiesQuery, channelsByIdsQuery, threadsByChannelsQuery, membersByChannelsQuery, }, }; ================================================ FILE: api/models/channelSettings.js ================================================ // @flow const { db } = require('shared/db'); import type { DBChannelSettings } from 'shared/types'; const defaultSettings = { joinSettings: { tokenJoinEnabled: false, token: null, }, slackSettings: { botLinks: { threadCreated: null, }, }, }; // prettier-ignore export const getChannelsSettings = (channelIds: Array): Promise => { return db .table('channelSettings') .getAll(...channelIds, { index: 'channelId' }) .run() .then(data => { if (!data || data.length === 0) return Array.from({ length: channelIds.length }, (_, index) => ({ ...defaultSettings, channelId: channelIds[index], })); return data.map( (rec, index) => rec ? rec : { ...defaultSettings, channelId: channelIds[index], } ); }); }; ================================================ FILE: api/models/community.js ================================================ // @flow const { db } = require('shared/db'); import intersection from 'lodash.intersection'; import { uploadImage } from '../utils/file-storage'; import getRandomDefaultPhoto from '../utils/get-random-default-photo'; import type { DBCommunity } from 'shared/types'; export const getCommunityById = (id: string): Promise => { return db .table('communities') .get(id) .run() .then(result => { if (result && result.deletedAt) return null; return result; }); }; // prettier-ignore export const getCommunities = (communityIds: Array): Promise> => { return db .table('communities') .getAll(...communityIds) .filter(community => db.not(community.hasFields('deletedAt'))) .run(); }; // prettier-ignore export const getCommunitiesBySlug = (slugs: Array): Promise> => { return db .table('communities') .getAll(...slugs, { index: 'slug' }) .filter(community => db.not(community.hasFields('deletedAt'))) .run(); }; export const getCommunityBySlug = (slug: string): Promise => { return db .table('communities') .getAll(slug, { index: 'slug' }) .filter(community => db.not(community.hasFields('deletedAt'))) .run() .then(results => { if (!results || results.length === 0) return null; return results[0]; }); }; // prettier-ignore export const getCommunitiesByUser = (userId: string): Promise> => { return ( db .table('usersCommunities') // get all the user's communities .getAll([userId, true], { index: 'userIdAndIsMember' }) // get the community objects for each community .eqJoin('communityId', db.table('communities')) // get rid of unnecessary info from the usersCommunities object on the left .without({ left: ['id', 'communityId', 'userId', 'createdAt'] }) // zip the tables .zip() // ensure we don't return any deleted communities .filter(community => db.not(community.hasFields('deletedAt'))) .run() ); }; // prettier-ignore export const getVisibleCommunitiesByUser = async (evaluatingUserId: string, currentUserId: string) => { const evaluatingUserMemberships = await db .table('usersCommunities') // get all the user's communities .getAll([evaluatingUserId, true], { index: 'userIdAndIsMember' }) // get the community objects for each community .eqJoin('communityId', db.table('communities')) // get rid of unnecessary info from the usersCommunities object on the left .without({ left: ['id', 'communityId', 'userId', 'createdAt'] }) // zip the tables .zip() // ensure we don't return any deleted communities .filter(community => db.not(community.hasFields('deletedAt'))) .run() const currentUserMemberships = await db .table('usersCommunities') // get all the user's communities .getAll([currentUserId, true], { index: 'userIdAndIsMember' }) // get the community objects for each community .eqJoin('communityId', db.table('communities')) // get rid of unnecessary info from the usersCommunities object on the left .without({ left: ['id', 'communityId', 'userId', 'createdAt'] }) // zip the tables .zip() // ensure we don't return any deleted communities .filter(community => db.not(community.hasFields('deletedAt'))) .run() const evaluatingUserCommunityIds = evaluatingUserMemberships.map(community => community.id) const currentUserCommunityIds = currentUserMemberships.map(community => community.id) const publicCommunityIds = evaluatingUserMemberships .filter(community => !community.isPrivate) .map(community => community.id) const overlappingMemberships = intersection(evaluatingUserCommunityIds, currentUserCommunityIds) const allVisibleCommunityIds = [...publicCommunityIds, ...overlappingMemberships] const distinctCommunityIds = allVisibleCommunityIds.filter((x, i, a) => a.indexOf(x) === i) return await db .table('communities') .getAll(...distinctCommunityIds) .run() } export const getPublicCommunitiesByUser = async (userId: string) => { return await db .table('usersCommunities') // get all the user's communities .getAll([userId, true], { index: 'userIdAndIsMember' }) // get the community objects for each community .eqJoin('communityId', db.table('communities')) // only return public community ids .filter(row => row('right')('isPrivate').eq(false)) // get rid of unnecessary info from the usersCommunities object on the left .without({ left: ['id', 'communityId', 'userId', 'createdAt'] }) // zip the tables .zip() // ensure we don't return any deleted communities .filter(community => db.not(community.hasFields('deletedAt'))) .run(); }; export const getCommunitiesChannelCounts = (communityIds: Array) => { return db .table('channels') .getAll(...communityIds, { index: 'communityId' }) .filter(channel => db.not(channel.hasFields('deletedAt'))) .group('communityId') .count() .run(); }; export const getCommunitiesMemberCounts = (communityIds: Array) => { return db .table('usersCommunities') .getAll(...communityIds.map(id => [id, true]), { index: 'communityIdAndIsMember', }) .group('communityId') .count() .run(); }; export type EditCommunityInput = { input: { name: string, slug: string, description: string, website: string, file: Object, coverFile: Object, coverPhoto: string, communityId: string, watercoolerId?: boolean, }, }; // prettier-ignore export const editCommunity = async ({ input }: EditCommunityInput, userId: string): Promise => { const { name, slug, description, website, watercoolerId, file, coverPhoto, coverFile, communityId } = input let community = await db.table('communities').get(communityId).run() // if the input comes in with a coverPhoto of length 0 (empty string), it means // the user was trying to delete or reset their cover photo from the front end. // in this case we can just set a new default. Otherwise, just keep their // original cover photo let updatedCoverPhoto = community.coverPhoto if (input.coverPhoto.length === 0) { ({ coverPhoto: updatedCoverPhoto } = getRandomDefaultPhoto()) } return db .table('communities') .get(communityId) .update({ ...community, name, slug, description, website, watercoolerId: watercoolerId || community.watercoolerId, coverPhoto: coverFile ? await uploadImage(coverFile, 'communities', community.id) : updatedCoverPhoto, profilePhoto: file ? await uploadImage(file, 'communities', community.id) : community.profilePhoto, modifiedAt: new Date() }, { returnChanges: 'always' }) .run() .then(result => { if (result.replaced === 1) { community = result.changes[0].new_val; } // an update was triggered from the client, but no data was changed if (result.unchanged === 1) { community = result.changes[0].old_val; } return community }) }; export const toggleCommunityRedirect = async (communityId: string) => { const community = await db.table('communities').get(communityId); if (!community) return null; return db .table('communities') .get(communityId) .update( { redirect: !community.redirect, }, { returnChanges: true, } ) .then(result => { if (!Array.isArray(result.changes) || result.changes.length === 0) return getCommunityById(communityId); return result.changes[0].new_val; }); }; export const toggleCommunityNoindex = async (communityId: string) => { const community = await db.table('communities').get(communityId); if (!community) return null; return db .table('communities') .get(communityId) .update( { noindex: !community.noindex, }, { returnChanges: true, } ) .then(result => { if (!Array.isArray(result.changes) || result.changes.length === 0) return getCommunityById(communityId); return result.changes[0].new_val; }); }; // prettier-ignore export const deleteCommunity = (communityId: string, userId: string): Promise => { return db .table('communities') .get(communityId) .update( { deletedBy: userId, deletedAt: new Date(), slug: db.uuid(), }, { returnChanges: 'always', nonAtomic: true, } ) .run() }; // prettier-ignore export const userIsMemberOfAnyChannelInCommunity = (communityId: string, userId: string): Promise => { return db('spectrum') .table('channels') .getAll(communityId, { index: 'communityId' }) .eqJoin('id', db.table('usersChannels'), { index: 'channelId' }) .zip() .filter({ userId }) .pluck('isMember') .run() .then(channels => channels.some(channel => channel.isMember)); }; export const getRecentCommunities = (): Array => { return db .table('communities') .orderBy({ index: db.desc('createdAt') }) .filter(community => db.not(community.hasFields('deletedAt'))) .limit(100) .run(); }; export const getThreadCount = (communityId: string) => { return db .table('threads') .getAll(communityId, { index: 'communityId' }) .filter(thread => db.not(thread.hasFields('deletedAt'))) .count() .run(); }; export const setMemberCount = ( communityId: string, value: number ): Promise => { return db .table('communities') .get(communityId) .update( { memberCount: value, }, { returnChanges: true } ) .run() .then(result => result.changes[0].new_val || result.changes[0].old_val); }; export const decrementMemberCount = ( communityId: string ): Promise => { return db .table('communities') .get(communityId) .update( { memberCount: db .row('memberCount') .default(1) .sub(1), }, { returnChanges: true } ) .run() .then(result => result.changes[0].new_val || result.changes[0].old_val); }; ================================================ FILE: api/models/communitySettings.js ================================================ // @flow const { db } = require('shared/db'); import type { DBCommunitySettings } from 'shared/types'; const defaultSettings = { brandedLogin: { isEnabled: false, message: null, }, slackSettings: { connectedAt: null, connectedBy: null, teamName: null, teamId: null, scope: null, token: null, invitesSentAt: null, invitesMemberCount: null, invitesCustomMessage: null, }, joinSettings: { tokenJoinEnabled: false, token: null, }, }; // prettier-ignore export const getCommunitySettings = (id: string): Promise => { return db .table('communitySettings') .getAll(id, { index: 'communityId' }) .run() .then(data => { if (!data || data.length === 0) { return defaultSettings; } return data[0]; }); }; // prettier-ignore export const getCommunitiesSettings = (communityIds: Array): Promise => { return db .table('communitySettings') .getAll(...communityIds, { index: 'communityId' }) .run() .then(data => { if (!data || data.length === 0) { return Array.from({ length: communityIds.length }, (_, index) => ({ ...defaultSettings, communityId: communityIds[index], })); } if (data.length === communityIds.length) { return data.map( (rec, index) => rec ? rec : { ...defaultSettings, communityId: communityIds[index], } ); } if (data.length < communityIds.length) { return communityIds.map(communityId => { const record = data.find(o => o.communityId === communityId); if (record) return record; return { ...defaultSettings, communityId, }; }); } if (data.length > communityIds.length) { return communityIds.map(communityId => { const record = data.find(o => o.communityId === communityId); if (record) return record; return { ...defaultSettings, communityId, }; }); } }); }; ================================================ FILE: api/models/curatedContent.js ================================================ //@flow const { db } = require('shared/db'); import type { DBCommunity } from 'shared/types'; import { getCommunitiesBySlug } from './community'; // prettier-ignore export const getCuratedCommunities = (type: string): Promise> => { return db .table('curatedContent') .filter({ type }) .run() .then(results => (results && results.length > 0 ? results[0] : null)) .then(result => result && getCommunitiesBySlug(result.data)); }; ================================================ FILE: api/models/directMessageThread.js ================================================ //@flow const { db } = require('shared/db'); export type DBDirectMessageThread = { createdAt: Date, id: string, name?: string, threadLastActive: Date, }; // prettier-ignore const checkForExistingDMThread = async (participants: Array): Promise => { // return a list of all threadIds where both participants are active let idsToCheck = await db .table('usersDirectMessageThreads') .getAll(...participants, { index: 'userId' }) .group('threadId') .map(row => row('userId')) .ungroup() .filter(row => row('reduction') .count() .eq(participants.length) ) .pluck('group') .run(); if (!idsToCheck || idsToCheck.length === 0) return null; // return only the thread Ids idsToCheck = idsToCheck.map(row => row.group); // given a list of threads where both users are active (includes all groups) // return only threads where these exact participants are used return await db .table('usersDirectMessageThreads') .getAll(...idsToCheck, { index: 'threadId' }) .group('threadId') .ungroup() .filter(row => row('reduction') .count() .eq(participants.length) ) .pluck('group') .map(row => row('group')) .run() .then(results => (results && results.length > 0 ? results[0] : null)); }; // prettier-ignore const getDirectMessageThread = (directMessageThreadId: string): Promise => { return db .table('directMessageThreads') .get(directMessageThreadId) .run() .then(res => res && !res.deletedAt ? res : null); }; // prettier-ignore const getDirectMessageThreads = (ids: Array): Promise> => { return db .table('directMessageThreads') .getAll(...ids) .filter(row => row.hasFields('deletedAt').not()) .run(); }; const getDirectMessageThreadsByUser = ( userId: string, // $FlowFixMe { first, after } ): Promise> => { return db .table('usersDirectMessageThreads') .getAll(userId, { index: 'userId' }) .filter(row => row.hasFields('deletedAt').not()) .eqJoin('threadId', db.table('directMessageThreads')) .without({ left: ['id', 'createdAt', 'threadId', 'userId', 'lastActive', 'lastSeen'], }) .zip() .orderBy(db.desc('threadLastActive')) .skip(after || 0) .limit(first) .run(); }; module.exports = { checkForExistingDMThread, getDirectMessageThread, getDirectMessageThreads, getDirectMessageThreadsByUser, }; ================================================ FILE: api/models/message.js ================================================ //@flow const { db } = require('shared/db'); import { incrementMessageCount, decrementMessageCount } from './thread'; import type { DBMessage } from 'shared/types'; export type MessageTypes = 'text' | 'media'; export const getMessage = (messageId: string): Promise => { return db .table('messages') .get(messageId) .run() .then(message => { if (!message || message.deletedAt) return null; return message; }); }; export const getManyMessages = (messageIds: string[]): Promise => { return db .table('messages') .getAll(...messageIds) .run() .then(messages => { return messages.filter(message => message && !message.deletedAt); }); }; type BackwardsPaginationOptions = { last?: number, before?: number | Date }; // prettier-ignore const getBackwardsMessages = (threadId: string, { last, before }: BackwardsPaginationOptions) => { return db .table('messages') .between( [threadId, db.minval], [threadId, before ? new Date(before) : db.maxval], { index: 'threadIdAndTimestamp' } ) .orderBy({ index: db.desc('threadIdAndTimestamp') }) .filter(db.row.hasFields('deletedAt').not()) .limit(last || 0) .run(); }; type ForwardsPaginationOptions = { first?: number, after?: number | Date }; // prettier-ignore const getForwardMessages = (threadId: string, { first, after }: ForwardsPaginationOptions) => { return db .table('messages') .between( [threadId, after ? new Date(after) : db.minval], [threadId, db.maxval], { index: 'threadIdAndTimestamp', leftBound: 'open', rightBound: 'closed' } ) .orderBy({ index: 'threadIdAndTimestamp' }) .filter(db.row.hasFields('deletedAt').not()) .limit(first || 0) .run(); }; export const getMessages = ( threadId: string, { first, after, last, before, }: { ...BackwardsPaginationOptions, ...ForwardsPaginationOptions } ): Promise> => { // $FlowIssue if (last || before) return getBackwardsMessages(threadId, { last, before }); // $FlowIssue return getForwardMessages(threadId, { first, after }); }; export const getLastMessage = (threadId: string): Promise => { return db .table('messages') .between([threadId, db.minval], [threadId, db.maxval], { index: 'threadIdAndTimestamp', leftBound: 'open', rightBound: 'closed', }) .orderBy({ index: db.desc('threadIdAndTimestamp') }) .filter(db.row.hasFields('deletedAt').not()) .limit(1) .run() .then(res => (Array.isArray(res) && res.length > 0 ? res[0] : null)); }; export const getLastMessageOfThreads = ( threadIds: Array ): Promise> => { return Promise.all(threadIds.map(id => getLastMessage(id))); }; // prettier-ignore export const getMediaMessagesForThread = (threadId: string): Promise> => { return db .table('messages') .getAll(threadId, { index: 'threadId' }) .filter({ messageType: 'media' }) .filter(db.row.hasFields('deletedAt').not()) .run(); }; export const getMessageCount = (threadId: string): Promise => { return db .table('messages') .getAll(threadId, { index: 'threadId' }) .filter(db.row.hasFields('deletedAt').not()) .count() .run(); }; // prettier-ignore export const getMessageCountInThreads = (threadIds: Array): Promise> => { return db .table('messages') .getAll(...threadIds, { index: 'threadId' }) .filter(db.row.hasFields('deletedAt').not()) .group('threadId') .count() .run(); }; export const deleteMessage = (userId: string, messageId: string) => { return db .table('messages') .get(messageId) .update( { deletedBy: userId, deletedAt: new Date(), }, { returnChanges: 'always' } ) .run() .then(result => result.changes[0].new_val || result.changes[0].old_val) .then(async message => { await Promise.all([ message.threadType === 'story' ? decrementMessageCount(message.threadId) : Promise.resolve(), ]); return message; }); }; // prettier-ignore export const deleteMessagesInThread = async (threadId: string, userId: string) => { const messages = await db .table('messages') .getAll(threadId, { index: 'threadId' }) .run(); if (!messages || messages.length === 0) return; const deletePromise = db .table('messages') .getAll(threadId, { index: 'threadId' }) .update({ deletedBy: userId, deletedAt: new Date(), }) .run(); return await Promise.all([ deletePromise, ]).then(() => { return Promise.all(Array.from({ length: messages.length }).map(() => decrementMessageCount(threadId))) }); }; export const userHasMessagesInThread = (threadId: string, userId: string) => { return db .table('messages') .getAll(threadId, { index: 'threadId' }) .filter(db.row.hasFields('deletedAt').not())('senderId') .contains(userId) .run(); }; ================================================ FILE: api/models/reaction.js ================================================ // @flow import { db } from 'shared/db'; import type { DBReaction } from 'shared/types'; type ReactionType = 'like'; export type ReactionInput = { messageId: string, type: ReactionType, }; // prettier-ignore export const getReactions = (messageIds: Array): Promise> => { const distinctMessageIds = messageIds.filter((x, i, a) => a.indexOf(x) == i); return db .table('reactions') .getAll(...distinctMessageIds, { index: 'messageId' }) .filter(row => row.hasFields('deletedAt').not()) .group('messageId') .run(); }; export const getReaction = (reactionId: string): Promise => { return db .table('reactions') .get(reactionId) .run(); }; // prettier-ignore export const getReactionsByIds = (reactionIds: Array): Promise> => { return db .table('reactions') .getAll(...reactionIds) .run(); }; ================================================ FILE: api/models/search.js ================================================ //@flow const { db } = require('shared/db'); // prettier-ignore export const getPublicChannelIdsInCommunity = (communityId: string): Promise> => { return db .table('channels') .getAll(communityId, { index: 'communityId' }) .filter(row => row .hasFields('deletedAt') .not() .and(row('isPrivate').eq(false)) ) .map(row => row('id')) .run(); }; // prettier-ignore export const getPrivateChannelIdsInCommunity = (communityId: string): Promise> => { return db .table('channels') .getAll(communityId, { index: 'communityId' }) .filter(row => row .hasFields('deletedAt') .not() .and(row('isPrivate').eq(true)) ) .map(row => row('id')) .run(); }; // prettier-ignore export const getPublicChannelIdsForUsersThreads = (userId: string): Promise> => { return db .table('threads') .getAll(userId, { index: 'creatorId' }) .filter(row => row.hasFields('deletedAt').not()) .eqJoin('channelId', db.table('channels')) .filter(row => row('right')('isPrivate').eq(false)) .zip() .map(row => row('channelId')) .run(); }; export const getPublicCommunityIdsForUsersThreads = ( userId: string ): Promise> => { return db .table('threads') .getAll(userId, { index: 'creatorId' }) .filter(row => row.hasFields('deletedAt').not()) .eqJoin('communityId', db.table('communities')) .filter(row => row('right')('isPrivate').eq(false)) .zip() .map(row => row('communityId')) .run(); }; // prettier-ignore export const getPrivateChannelIdsForUsersThreads = (userId: string): Promise> => { return db .table('threads') .getAll(userId, { index: 'creatorId' }) .filter(row => row.hasFields('deletedAt').not()) .eqJoin('channelId', db.table('channels')) .filter(row => row('right')('isPrivate').eq(true)) .zip() .map(row => row('channelId')) .run(); }; export const getPrivateCommunityIdsForUsersThreads = ( userId: string ): Promise> => { return db .table('threads') .getAll(userId, { index: 'creatorId' }) .filter(row => row.hasFields('deletedAt').not()) .eqJoin('communityId', db.table('communities')) .filter(row => row('right')('isPrivate').eq(true)) .zip() .map(row => row('communityId')) .run(); }; // prettier-ignore export const getUsersJoinedChannels = (userId: string): Promise> => { return db .table('usersChannels') .getAll([userId, "member"], [userId, "moderator"], [userId, "owner"], { index: 'userIdAndRole' }) .eqJoin('channelId', db.table('channels')) .filter(row => row('right').hasFields('deletedAt').not()) .zip() .map(row => row('channelId')) .run(); }; // prettier-ignore export const getUsersJoinedCommunities = (userId: string): Promise> => { return db .table('usersCommunities') .getAll([userId, true], { index: 'userIdAndIsMember' }) .eqJoin('communityId', db.table('communities')) .filter(row => row('right').hasFields('deletedAt').not()) .zip() .map(row => row('communityId')) .run(); }; // prettier-ignore export const getUsersJoinedPrivateChannelIds = (userId: string): Promise> => { return db .table('usersChannels') .getAll([userId, "member"], [userId, "moderator"], [userId, "owner"], { index: 'userIdAndRole' }) .eqJoin('channelId', db.table('channels')) .filter(row => row('right')('isPrivate').eq(true).and(row('right').hasFields('deletedAt').not())) .without({ left: ['id'] }) .zip() .map(row => row('id')) .run(); }; // prettier-ignore export const getUsersJoinedPrivateCommunityIds = (userId: string): Promise> => { return db .table('usersCommunities') .getAll([userId, true], { index: 'userIdAndIsMember' }) .eqJoin('communityId', db.table('communities')) .filter(row => row('right')('isPrivate').eq(true).and(row('right').hasFields('deletedAt').not())) .without({ left: ['id'] }) .zip() .map(row => row('id')) .run(); }; ================================================ FILE: api/models/session.js ================================================ // @flow import { db } from 'shared/db'; export const destroySession = (id: string) => { return db .table('sessions') .get(id) .delete() .run(); }; ================================================ FILE: api/models/test/__snapshots__/channel.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`models/channel getChannels excludes deleted channels 1`] = ` Array [ Object { "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "General chatter", "id": "1", "isDefault": true, "isPrivate": false, "memberCount": 5, "name": "General", "slug": "general", }, ] `; exports[`models/channel getChannelsByCommunity returns correct set of channels 1`] = ` Array [ Object { "archivedAt": 2016-12-31T23:00:00.000Z, "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "Testing archiving", "id": "5", "isDefault": true, "isPrivate": false, "memberCount": 3, "name": "Archived", "slug": "archived", }, Object { "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "General chatter", "id": "1", "isDefault": true, "isPrivate": false, "memberCount": 5, "name": "General", "slug": "general", }, Object { "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "Private chatter", "id": "2", "isDefault": false, "isPrivate": true, "memberCount": 5, "name": "Private", "slug": "private", }, Object { "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "Moderator created channel", "id": "8", "isDefault": false, "isPrivate": false, "memberCount": 1, "name": "Moderator created", "slug": "moderator-created", }, ] `; exports[`models/channel getChannelsByUser returns correct set of channels 1`] = ` Array [ Object { "communityId": "2", "createdAt": 2016-12-31T23:00:00.000Z, "description": "Private chatter", "id": "4", "isBlocked": false, "isDefault": false, "isMember": true, "isModerator": false, "isOwner": false, "isPending": false, "isPrivate": true, "memberCount": 5, "name": "Private", "receiveNotifications": true, "slug": "private", }, Object { "communityId": "5", "createdAt": 2016-12-31T23:00:00.000Z, "description": "General", "id": "11", "isBlocked": false, "isDefault": false, "isMember": true, "isModerator": false, "isOwner": false, "isPending": false, "isPrivate": false, "memberCount": 1, "name": "General", "receiveNotifications": false, "slug": "general", }, Object { "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "Private chatter", "id": "2", "isBlocked": false, "isDefault": false, "isMember": true, "isModerator": false, "isOwner": false, "isPending": false, "isPrivate": true, "memberCount": 5, "name": "Private", "receiveNotifications": true, "slug": "private", }, Object { "communityId": "1", "createdAt": 2016-12-31T23:00:00.000Z, "description": "General chatter", "id": "1", "isBlocked": false, "isDefault": true, "isMember": true, "isModerator": false, "isOwner": false, "isPending": false, "isPrivate": false, "memberCount": 5, "name": "General", "receiveNotifications": true, "slug": "general", }, Object { "communityId": "2", "createdAt": 2016-12-31T23:00:00.000Z, "description": "Payments Features", "id": "10", "isBlocked": false, "isDefault": false, "isMember": true, "isModerator": false, "isOwner": true, "isPending": false, "isPrivate": false, "memberCount": 5, "name": "Payments Features", "receiveNotifications": true, "slug": "features", }, Object { "communityId": "2", "createdAt": 2016-12-31T23:00:00.000Z, "description": "General chatter", "id": "3", "isBlocked": false, "isDefault": true, "isMember": true, "isModerator": false, "isOwner": false, "isPending": false, "isPrivate": false, "memberCount": 5, "name": "General", "receiveNotifications": true, "slug": "general", }, ] `; exports[`models/channel getChannelsByUserAndCommunity returns correct set of channels 1`] = ` Array [ "2", "1", ] `; exports[`models/channel getChannelsThreadCounts excludes deleted channels 1`] = ` Array [ Object { "group": "1", "reduction": 4, }, ] `; exports[`models/channel getChannelsThreadCounts excludes deleted threads 1`] = ` Array [ Object { "group": "1", "reduction": 4, }, Object { "group": "2", "reduction": 3, }, ] `; exports[`models/channel getPublicChannelsByCommunity returns correct set of channels 1`] = ` Array [ "1", "8", ] `; ================================================ FILE: api/models/test/channel.test.js ================================================ // @flow import * as channel from '../channel'; const queries = channel.__forQueryTests; import { BRIAN_ID, MAX_ID, SPECTRUM_COMMUNITY_ID, SPECTRUM_GENERAL_CHANNEL_ID, SPECTRUM_PRIVATE_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, } from 'api/migrations/seed/default/constants'; describe('models/channel', () => { describe('channelsByCommunitiesQuery', () => { it('excludes deleted channels', async () => { const channels = await queries .channelsByCommunitiesQuery(SPECTRUM_COMMUNITY_ID) .run(); expect( channels.filter(channel => channel.deletedAt !== undefined) ).toEqual([]); }); }); describe('channelsByIdsQuery', () => { it('excludes deleted channels', async () => { const channels = await queries .channelsByIdsQuery( SPECTRUM_GENERAL_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID ) .run(); expect( channels.filter(channel => channel.deletedAt !== undefined) ).toEqual([]); }); }); describe('threadsByChannelsQuery', () => { it('excludes deleted channels', async () => { const threads = await queries .threadsByChannelsQuery(DELETED_COMMUNITY_DELETED_CHANNEL_ID) .run(); expect(threads).toEqual([]); }); it('excludes deleted threads', async () => { const threads = await queries .threadsByChannelsQuery(SPECTRUM_GENERAL_CHANNEL_ID) .run(); expect(threads.filter(thread => thread.deletedAt !== undefined)).toEqual( [] ); }); }); describe('membersByChannelsQuery', () => { it('excludes deleted channels', async () => { const members = await queries .membersByChannelsQuery(DELETED_COMMUNITY_DELETED_CHANNEL_ID) .run(); expect(members).toEqual([]); }); it('excludes removed members', async () => { const members = await queries .membersByChannelsQuery(SPECTRUM_GENERAL_CHANNEL_ID) .run(); expect(members.filter(member => !member.isMember)).toEqual([]); }); }); describe('getChannelsByCommunity', () => { it('returns correct set of channels', async () => { expect( await channel.getChannelsByCommunity(SPECTRUM_COMMUNITY_ID) ).toMatchSnapshot(); }); }); describe('getPublicChannelsByCommunity', () => { it('returns correct set of channels', async () => { expect( await channel.getPublicChannelsByCommunity(SPECTRUM_COMMUNITY_ID) ).toMatchSnapshot(); }); }); describe('getChannelsByUserAndCommunity', () => { it('returns correct set of channels', async () => { expect( await channel.getChannelsByUserAndCommunity( SPECTRUM_COMMUNITY_ID, MAX_ID ) ).toMatchSnapshot(); }); }); describe('getChannelsByUser', () => { it('returns correct set of channels', async () => { expect(await channel.getChannelsByUser(BRIAN_ID)).toMatchSnapshot(); }); }); describe('getChannelBySlug', () => { it('excludes deleted channels', async () => { expect(await channel.getChannelBySlug('deleted', 'spectrum')).toEqual( null ); }); }); describe('getChannelById', () => { it('excludes deleted channels', async () => { expect( await channel.getChannelById(DELETED_COMMUNITY_DELETED_CHANNEL_ID) ).toEqual(null); }); }); describe('getChannels', () => { it('excludes deleted channels', async () => { expect( await channel.getChannels([ SPECTRUM_GENERAL_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, ]) ).toMatchSnapshot(); }); }); describe('getChannelsThreadCounts', () => { it('excludes deleted channels', async () => { expect( await channel.getChannelsThreadCounts([ SPECTRUM_GENERAL_CHANNEL_ID, DELETED_COMMUNITY_DELETED_CHANNEL_ID, ]) ).toMatchSnapshot(); }); it('excludes deleted threads', async () => { expect( await channel.getChannelsThreadCounts([ SPECTRUM_GENERAL_CHANNEL_ID, SPECTRUM_PRIVATE_CHANNEL_ID, ]) ).toMatchSnapshot(); }); }); }); ================================================ FILE: api/models/thread.js ================================================ // @flow const { db } = require('shared/db'); import intersection from 'lodash.intersection'; const { parseRange } = require('./utils'); import { deleteMessagesInThread } from '../models/message'; import type { PaginationOptions } from '../utils/paginate-arrays'; import type { DBThread } from 'shared/types'; import type { Timeframe } from './utils'; const NOT_WATERCOOLER = thread => db.not(thread.hasFields('watercooler')).or(thread('watercooler').eq(false)); export const getThread = (threadId: string): Promise => { return db .table('threads') .get(threadId) .run(); }; // prettier-ignore export const getThreads = (threadIds: Array): Promise> => { return db .table('threads') .getAll(...threadIds) .filter(thread => db.not(thread.hasFields('deletedAt'))) .run(); }; export const getThreadById = (threadId: string): Promise => { return db .table('threads') .getAll(threadId) .filter(thread => db.not(thread.hasFields('deletedAt'))) .run() .then(results => { if (!results || results.length === 0) return null; return results[0]; }); }; // this is used to get all threads that need to be marked as deleted whenever a channel is deleted export const getThreadsByChannelToDelete = (channelId: string) => { return db .table('threads') .getAll(channelId, { index: 'channelId' }) .filter(thread => db.not(thread.hasFields('deletedAt'))) .run(); }; // prettier-ignore export const getThreadsByChannel = (channelId: string, options: PaginationOptions): Promise> => { const { first, after } = options return db .table('threads') .between( [channelId, db.minval], [channelId, after ? new Date(after) : db.maxval], { index: 'channelIdAndLastActive', leftBound: 'open', rightBound: 'open', } ) .orderBy({ index: db.desc('channelIdAndLastActive') }) .filter(thread => db.not(thread.hasFields('deletedAt'))) .limit(first) .run(); }; // prettier-ignore type GetThreadsByChannelPaginationOptions = { first: number, after: number, sort: 'latest' | 'trending' }; export const getThreadsByChannels = ( channelIds: Array, options: GetThreadsByChannelPaginationOptions ): Promise> => { const { first, after, sort = 'latest' } = options; let order = [db.desc('lastActive'), db.desc('createdAt')]; // If we want the top threads, first sort by the score and then lastActive if (sort === 'trending') order.unshift(db.desc('score')); return db .table('threads') .getAll(...channelIds, { index: 'channelId' }) .filter(thread => db.not(thread.hasFields('deletedAt')).and(NOT_WATERCOOLER(thread)) ) .orderBy(...order) .skip(after || 0) .limit(first || 999999) .run(); }; // prettier-ignore export const getThreadsByCommunity = (communityId: string): Promise> => { return db .table('threads') .between([communityId, db.minval], [communityId, db.maxval], { index: 'communityIdAndLastActive', leftBound: 'open', rightBound: 'open', }) .orderBy({ index: db.desc('communityIdAndLastActive') }) .filter(thread => db.not(thread.hasFields('deletedAt'))) .run(); }; // prettier-ignore export const getThreadsInTimeframe = (range: Timeframe): Promise> => { const { current } = parseRange(range); return db .table('threads') .filter(db.row('createdAt').during(db.now().sub(current), db.now())) .filter(thread => db.not(thread.hasFields('deletedAt'))) .run(); }; // We do not filter by deleted threads intentionally to prevent users from spam // creating/deleting threads // prettier-ignore export const getThreadsByUserAsSpamCheck = (userId: string, timeframe: number = 60 * 10): Promise> => { return db .table('threads') .getAll(userId, { index: 'creatorId' }) .filter(db.row('createdAt').during(db.now().sub(timeframe), db.now())) .run(); }; /* When viewing a user profile we have to take two arguments into account: 1. The user who is being viewed 2. The user who is doing the viewing We need to return only threads that meet the following criteria: 1. The thread was posted to a public channel 2. The thread was posted to a private channel and the viewing user is a member */ export const getViewableThreadsByUser = async ( evalUser: string, currentUser: string, options: PaginationOptions ): Promise> => { const { first, after } = options; // get a list of the channelIds the current user is allowed to see threads const getCurrentUsersChannelIds = db .table('usersChannels') .getAll( [currentUser, 'member'], [currentUser, 'moderator'], [currentUser, 'owner'], { index: 'userIdAndRole', } ) .map(userChannel => userChannel('channelId')) .run(); const getCurrentUserCommunityIds = db .table('usersCommunities') .getAll([currentUser, true], { index: 'userIdAndIsMember' }) .map(userCommunity => userCommunity('communityId')) .run(); // get a list of the channels where the user posted a thread const getPublishedChannelIds = db .table('threads') .getAll(evalUser, { index: 'creatorId' }) .map(thread => thread('channelId')) .run(); const getPublishedCommunityIds = db .table('threads') .getAll(evalUser, { index: 'creatorId' }) .map(thread => thread('communityId')) .run(); const [ currentUsersChannelIds, publishedChannelIds, currentUsersCommunityIds, publishedCommunityIds, ] = await Promise.all([ getCurrentUsersChannelIds, getPublishedChannelIds, getCurrentUserCommunityIds, getPublishedCommunityIds, ]); // get a list of all the channels that are public const publicChannelIds = await db .table('channels') .getAll(...publishedChannelIds) .filter({ isPrivate: false }) .map(channel => channel('id')) .run(); const publicCommunityIds = await db .table('communities') .getAll(...publishedCommunityIds) .filter({ isPrivate: false }) .map(community => community('id')) .run(); const allIds = [ ...currentUsersChannelIds, ...currentUsersCommunityIds, ...publicChannelIds, ...publicCommunityIds, ]; const distinctIds = allIds.filter((x, i, a) => a.indexOf(x) === i); let validChannelIds = intersection(distinctIds, publishedChannelIds); let validCommunityIds = intersection(distinctIds, publishedCommunityIds); // takes ~70ms for a heavy load return await db .table('threads') .getAll(evalUser, { index: 'creatorId' }) .filter(thread => db.not(thread.hasFields('deletedAt'))) .filter(thread => db.expr(validChannelIds).contains(thread('channelId'))) .filter(thread => db.expr(validCommunityIds).contains(thread('communityId')) ) .orderBy(db.desc('lastActive'), db.desc('createdAt')) .skip(after || 0) .limit(first) .run() .then(res => { return res; }); }; // prettier-ignore export const getPublicThreadsByUser = (evalUser: string, options: PaginationOptions): Promise> => { const { first, after } = options return db .table('threads') .getAll(evalUser, { index: 'creatorId' }) .filter(thread => db.not(thread.hasFields('deletedAt'))) .eqJoin('channelId', db.table('channels')) .filter({ right: { isPrivate: false } }) .without('right') .zip() .eqJoin('communityId', db.table('communities')) .filter({ right: { isPrivate: false } }) .without('right') .zip() .orderBy(db.desc('lastActive'), db.desc('createdAt')) .skip(after || 0) .limit(first || 10) .run(); }; export const getViewableParticipantThreadsByUser = async ( evalUser: string, currentUser: string, options: PaginationOptions ): Promise> => { const { first, after } = options; // get a list of the channelIds the current user is allowed to see threads for const getCurrentUsersChannelIds = db .table('usersChannels') .getAll( [currentUser, 'member'], [currentUser, 'moderator'], [currentUser, 'owner'], { index: 'userIdAndRole', } ) .map(userChannel => userChannel('channelId')) .run(); const getCurrentUserCommunityIds = db .table('usersCommunities') .getAll([currentUser, true], { index: 'userIdAndIsMember' }) .map(userCommunity => userCommunity('communityId')) .run(); // get a list of the channels where the user participated in a thread const getParticipantChannelIds = db .table('usersThreads') .getAll([evalUser, true], { index: 'userIdAndIsParticipant' }) .eqJoin('threadId', db.table('threads')) .zip() .pluck('channelId', 'threadId') .run(); const getParticipantCommunityIds = db .table('usersThreads') .getAll([evalUser, true], { index: 'userIdAndIsParticipant' }) .eqJoin('threadId', db.table('threads')) .zip() .pluck('communityId', 'threadId') .run(); const [ currentUsersChannelIds, participantChannelIds, currentUsersCommunityIds, participantCommunityIds, ] = await Promise.all([ getCurrentUsersChannelIds, getParticipantChannelIds, getCurrentUserCommunityIds, getParticipantCommunityIds, ]); const participantThreadIds = participantChannelIds.map(c => c && c.threadId); const distinctParticipantChannelIds = participantChannelIds .map(c => c.channelId) .filter((x, i, a) => a.indexOf(x) === i); const distinctParticipantCommunityIds = participantCommunityIds .map(c => c.communityId) .filter((x, i, a) => a.indexOf(x) === i); // get a list of all the channels that are public const publicChannelIds = await db .table('channels') .getAll(...distinctParticipantChannelIds) .filter({ isPrivate: false }) .map(channel => channel('id')) .run(); const publicCommunityIds = await db .table('communities') .getAll(...distinctParticipantCommunityIds) .filter({ isPrivate: false }) .map(community => community('id')) .run(); const allIds = [ ...currentUsersChannelIds, ...publicChannelIds, ...currentUsersCommunityIds, ...publicCommunityIds, ]; const distinctIds = allIds.filter((x, i, a) => a.indexOf(x) === i); let validChannelIds = intersection( distinctIds, distinctParticipantChannelIds ); let validCommunityIds = intersection( distinctIds, distinctParticipantCommunityIds ); return await db .table('threads') .getAll(...participantThreadIds) .filter(thread => db.not(thread.hasFields('deletedAt'))) .filter(thread => db.expr(validChannelIds).contains(thread('channelId'))) .filter(thread => db.expr(validCommunityIds).contains(thread('communityId')) ) .orderBy(db.desc('lastActive'), db.desc('createdAt')) .skip(after || 0) .limit(first) .run() .then(res => { return res; }); }; // prettier-ignore export const getPublicParticipantThreadsByUser = (evalUser: string, options: PaginationOptions): Promise> => { const { first, after } = options return db .table('usersThreads') .getAll([evalUser, true], { index: 'userIdAndIsParticipant' }) .eqJoin('threadId', db.table('threads')) .without({ left: [ 'id', 'userId', 'threadId', 'createdAt', 'isParticipant', 'receiveNotifications', ], }) .zip() .filter(thread => db.not(thread.hasFields('deletedAt'))) .eqJoin('channelId', db.table('channels')) .filter({ right: { isPrivate: false } }) .without('right') .zip() .eqJoin('communityId', db.table('communities')) .filter({ right: { isPrivate: false } }) .without('right') .zip() .orderBy(db.desc('lastActive'), db.desc('createdAt')) .skip(after || 0) .limit(first || 10) .run() .then(res => { return res; }); }; export const getWatercoolerThread = ( communityId: string ): Promise => { return db .table('threads') .getAll([communityId, true], { index: 'communityIdAndWatercooler' }) .run() .then(result => { if (!Array.isArray(result) || result.length === 0) return null; return result[0]; }); }; // prettier-ignore export const deleteThread = (threadId: string, userId: string): Promise => { return db .table('threads') .get(threadId) .update( { deletedBy: userId, deletedAt: new Date(), }, { returnChanges: true, nonAtomic: true, } ) .run() .then(result => Promise.all([ result, deleteMessagesInThread(threadId, userId), ]) ) .then(([result]) => { return result.replaced >= 1 ? true : false; }); }; export const incrementMessageCount = (threadId: string) => { return db .table('threads') .get(threadId) .update({ messageCount: db .row('messageCount') .default(0) .add(1), }) .run(); }; export const decrementMessageCount = (threadId: string) => { return db .table('threads') .get(threadId) .update({ messageCount: db .row('messageCount') .default(1) .sub(1), }) .run(); }; ================================================ FILE: api/models/threadReaction.js ================================================ // @flow import { db } from 'shared/db'; import type { DBThreadReaction } from 'shared/types'; // prettier-ignore export const getThreadReactions = (threadIds: Array): Promise> => { const distinctMessageIds = threadIds.filter((x, i, a) => a.indexOf(x) == i); return db .table('threadReactions') .getAll(...distinctMessageIds, { index: 'threadId' }) .filter(row => row.hasFields('deletedAt').not()) .group('threadId') .run(); }; export const hasReactedToThread = ( userId: string, threadId: string ): Promise => { return db .table('threadReactions') .getAll([userId, threadId], { index: 'userIdAndThreadId' }) .filter(row => row.hasFields('deletedAt').not()) .count() .eq(1) .run(); }; ================================================ FILE: api/models/usersChannels.js ================================================ // @flow const { db } = require('shared/db'); import { decrementMemberCount, setMemberCount } from './channel'; import type { DBUsersChannels } from 'shared/types'; /* =========================================================== MODIFYING AND CREATING DATA IN USERSCHANNELS =========================================================== */ // removes all the user relationships to a channel. will be invoked when a // channel is deleted, at which point we don't want any records in the // database to show a user relationship to the deleted channel // prettier-ignore const removeMembersInChannel = async (channelId: string): Promise> => { await setMemberCount(channelId, 0) return db .table('usersChannels') .getAll(channelId, { index: 'channelId' }) .update({ isMember: false, receiveNotifications: false, }) .run(); }; // toggles all pending users to make them a member in a channel. invoked by a // channel or community owner when turning a private channel into a public // channel // prettier-ignore const approvePendingUsersInChannel = async (channelId: string): Promise => { const currentCount = await db.table('usersChannels') .getAll( [channelId, 'member'], [channelId, 'moderator'], [channelId, 'owner'], { index: 'channelIdAndRole', } ) .count() .default(1) .run() const pendingCount = await db.table('usersChannels') .getAll([channelId, "pending"], { index: 'channelIdAndRole' }) .count() .default(0) .run() setMemberCount(channelId, currentCount + pendingCount) return db .table('usersChannels') .getAll([channelId, "pending"], { index: 'channelIdAndRole' }) .update( { isMember: true, isPending: false, receiveNotifications: true, }, { returnChanges: true } ) .run() }; const removeUsersChannelMemberships = async (userId: string) => { const usersChannels = await db .table('usersChannels') .getAll(userId, { index: 'userId' }) .run(); if (!usersChannels || usersChannels.length === 0) return; const memberCountPromises = usersChannels.map(usersChannel => { return decrementMemberCount(usersChannel.channelId); }); const channelPromise = db .table('usersChannels') .getAll(userId, { index: 'userId' }) .update({ isOwner: false, isModerator: false, isMember: false, receiveNotifications: false, }) .run(); return await Promise.all([memberCountPromises, channelPromise]); }; /* =========================================================== GETTING DATA FROM USERSCHANNELS =========================================================== */ type Options = { first: number, after: number }; // prettier-ignore const getMembersInChannel = (channelId: string, options: Options): Promise> => { const { first, after } = options return ( db .table('usersChannels') .getAll([channelId, "member"], [channelId, "moderator"], [channelId, "owner"], { index: 'channelIdAndRole' }) .skip(after || 0) .limit(first || 25) // return an array of the userIds to be loaded by gql .map(userChannel => userChannel('userId')) .run() ); }; const getModeratorsInChannel = (channelId: string): Promise> => { return ( db .table('usersChannels') .getAll([channelId, 'moderator'], { index: 'channelIdAndRole', }) // return an array of the userIds to be loaded by gql .map(userChannel => userChannel('userId')) .run() ); }; const getOwnersInChannel = (channelId: string): Promise> => { return ( db .table('usersChannels') .getAll([channelId, 'owner'], { index: 'channelIdAndRole', }) // return an array of the userIds to be loaded by gql .map(userChannel => userChannel('userId')) .run() ); }; const DEFAULT_USER_CHANNEL_PERMISSIONS = { isOwner: false, isMember: false, isModerator: false, isBlocked: false, isPending: false, receiveNotifications: false, }; // prettier-ignore const getUserPermissionsInChannel = (channelId: string, userId: string): Promise => { return db .table('usersChannels') .getAll([userId, channelId], { index: 'userIdAndChannelId' }) .run() .then(data => { // if a record exists if (data.length > 0) { return data[0]; } else { // if a record doesn't exist, we're creating a new relationship // so default to false for everything return DEFAULT_USER_CHANNEL_PERMISSIONS; } }); }; type UserIdAndChannelId = [?string, string]; // prettier-ignore const getUsersPermissionsInChannels = (input: Array): Promise> => { return db .table('usersChannels') .getAll(...input, { index: 'userIdAndChannelId' }) .run() .then(data => { if (!data || data.length === 0) return Array.from({ length: input.length }).map((_, index) => ({ ...DEFAULT_USER_CHANNEL_PERMISSIONS, userId: input[index][0], channelId: input[index][1], })); return data.map((rec, index) => { if (rec) return rec; return { ...DEFAULT_USER_CHANNEL_PERMISSIONS, userId: input[index][0], channelId: input[index][1], }; }); }); }; const getUserUsersChannels = (userId: string) => { return db .table('usersChannels') .getAll([userId, 'member'], [userId, 'owner'], [userId, 'moderator'], { index: 'userIdAndRole', }) .run(); }; const getUserChannelIds = (userId: string) => { return db .table('usersChannels') .getAll([userId, 'member'], [userId, 'owner'], [userId, 'moderator'], { index: 'userIdAndRole', }) .map(rec => rec('channelId')) .run(); }; module.exports = { // modify and create removeMembersInChannel, approvePendingUsersInChannel, removeUsersChannelMemberships, // get getMembersInChannel, getModeratorsInChannel, getOwnersInChannel, getUserPermissionsInChannel, getUsersPermissionsInChannels, getUserUsersChannels, getUserChannelIds, // constants DEFAULT_USER_CHANNEL_PERMISSIONS, }; ================================================ FILE: api/models/usersCommunities.js ================================================ // @flow const { db } = require('shared/db'); import type { DBUsersCommunities } from 'shared/types'; import { decrementMemberCount, setMemberCount } from './community'; /* =========================================================== MODIFYING AND CREATING DATA IN USERSCOMMUNITIES =========================================================== */ // removes all the user relationships to a community. will be invoked when a // community is deleted, at which point we don't want any records in the // database to show a user relationship to the deleted community // prettier-ignore export const removeMembersInCommunity = async (communityId: string): Promise => { const usersCommunities = await db .table('usersCommunities') .getAll(communityId, { index: 'communityId' }) .run() if (!usersCommunities || usersCommunities.length === 0) return const leavePromise = await db .table('usersCommunities') .getAll(communityId, { index: 'communityId' }) .update({ isMember: false, receiveNotifications: false, }) .run(); return await Promise.all([ setMemberCount(communityId, 0), leavePromise ]) }; // invoked when a user is deleting their account or being banned export const removeUsersCommunityMemberships = async (userId: string) => { const memberships = await db .table('usersCommunities') .getAll(userId, { index: 'userId' }) .run(); if (!memberships || memberships.length === 0) return; const memberCountPromises = memberships.map(member => { return decrementMemberCount(member.communityId); }); const removeMembershipsPromise = db .table('usersCommunities') .getAll(userId, { index: 'userId' }) .update({ isOwner: false, isModerator: false, isMember: false, isPending: false, receiveNotifications: false, }) .run(); return Promise.all([memberCountPromises, removeMembershipsPromise]); }; /* =========================================================== GETTING DATA FROM USERSCOMMUNITIES =========================================================== */ type Options = { first: number, after: number }; // prettier-ignore export const getMembersInCommunity = (communityId: string, options: Options): Promise> => { const { first, after } = options return db .table('usersCommunities') .between([communityId, true, db.minval], [communityId, true, db.maxval], { index: 'communityIdAndIsMemberAndReputation', leftBound: 'open', rightBound: 'open', }) .orderBy({ index: db.desc('communityIdAndIsMemberAndReputation') }) .skip(after || 0) .limit(first || 25) .map(userCommunity => userCommunity('userId')) .run() }; // prettier-ignore export const getModeratorsInCommunity = (communityId: string, options: Options): Promise> => { return ( db .table('usersCommunities') .getAll([communityId, true], { index: 'communityIdAndIsModerator' }) .skip(options.after || 0) .limit(options.first || 25) .map(userCommunity => userCommunity('userId')) .run() ); }; export const getOwnersInCommunity = ( communityId: string, options: Options ): Promise> => { return db .table('usersCommunities') .getAll([communityId, true], { index: 'communityIdAndIsOwner' }) .skip(options.after || 0) .limit(options.first || 25) .map(userCommunity => userCommunity('userId')) .run(); }; export const getTeamMembersInCommunity = ( communityId: string, options: Options ): Promise> => { return db .table('usersCommunities') .getAll([communityId, true], { index: 'communityIdAndIsTeamMember' }) .skip(options.after || 0) .limit(options.first || 25) .map(userCommunity => userCommunity('userId')) .run(); }; export const DEFAULT_USER_COMMUNITY_PERMISSIONS = { isOwner: false, isMember: false, isModerator: false, isBlocked: false, isPending: false, receiveNotifications: false, reputation: 0, }; // NOTE @BRIAN: DEPRECATED - DONT USE IN THE FUTURE // prettier-ignore export const getUserPermissionsInCommunity = (communityId: string, userId: string): Promise => { return db .table('usersCommunities') .getAll([userId, communityId], { index: 'userIdAndCommunityId', }) .run() .then(data => { // if a record exists if (data.length > 0) { return data[0]; } else { // if a record doesn't exist, we're creating a new relationship // so default to false for everything return { ...DEFAULT_USER_COMMUNITY_PERMISSIONS, userId, communityId, }; } }); }; // prettier-ignore export const checkUserPermissionsInCommunity = (communityId: string, userId: string): Promise => { return db .table('usersCommunities') .getAll([userId, communityId], { index: 'userIdAndCommunityId' }) .run(); }; type UserIdAndCommunityId = [?string, string]; // prettier-ignore export const getUsersPermissionsInCommunities = (input: Array) => { return db .table('usersCommunities') .getAll(...input, { index: 'userIdAndCommunityId' }) .run() .then(data => { if (!data) return Array.from({ length: input.length }, (_, index) => ({ ...DEFAULT_USER_COMMUNITY_PERMISSIONS, userId: input[index][0], communityId: input[index][1], })); return data.map( (rec, index) => rec ? rec : { ...DEFAULT_USER_COMMUNITY_PERMISSIONS, userId: input[index][0], communityId: input[index][1], } ); }); }; export const getReputationByUser = (userId: string): Promise => { return db .table('usersCommunities') .getAll([userId, true], { index: 'userIdAndIsMember' }) .map(rec => rec('reputation')) .count() .default(0) .run(); }; // prettier-ignore export const getUsersTotalReputation = (userIds: Array): Promise> => { return db .table('usersCommunities') .getAll(...userIds.map(userId => ([userId, true])), { index: 'userIdAndIsMember' }) .group('userId') .map(rec => rec('reputation')) .reduce((l, r) => l.add(r)) .default(0) .run() .then(res => res.map( res => res && { reputation: res.reduction, userId: res.group, } ) ); }; ================================================ FILE: api/models/usersDirectMessageThreads.js ================================================ // @flow const { db } = require('shared/db'); /* =========================================================== MODIFYING AND CREATING DATA IN USERSDIRECTMESSAGETHREADS =========================================================== */ // removes a single member from a channel. will be invoked if a user leaves // a channel // prettier-ignore const removeMemberInDirectMessageThread = (threadId: string, userId: string): Promise => { return db .table('usersDirectMessageThreads') .getAll(threadId, { index: 'threadId' }) .filter({ userId }) .delete() .run(); }; // removes all the user relationships to a dm thread. will be invoked when a // dm thread is permanently deleted, at which point we don't want any records in the // database to show a user relationship to the deleted thread // prettier-ignore const removeMembersInDirectMessageThread = (threadId: string): Promise => { return db .table('usersDirectMessageThreads') .getAll(threadId, { index: 'threadId' }) .delete() .run(); }; /* =========================================================== GETTING DATA FROM USERSDIRECTMESSAGETHREADS =========================================================== */ // prettier-ignore const getMembersInDirectMessageThread = (threadId: string): Promise> => { return db .table('usersDirectMessageThreads') .getAll(threadId, { index: 'threadId' }) .eqJoin('userId', db.table('users')) .without({ left: ['createdAt'], right: ['id', 'lastSeen'] }) .zip() .run(); }; // for loader // prettier-ignore const getMembersInDirectMessageThreads = (threadIds: Array): Promise> => { return db .table('usersDirectMessageThreads') .getAll(...threadIds, { index: 'threadId' }) .eqJoin('userId', db.table('users')) .without({ left: ['createdAt'], right: ['id', 'lastSeen'] }) .group(rec => rec('left')('threadId')) .zip() .run(); }; const isMemberOfDirectMessageThread = (threadId: string, userId: string) => { return db .table('usersDirectMessageThreads') .getAll(threadId, { index: 'threadId' })('userId') .contains(userId) .run(); }; const getDirectMessageThreadRecords = (threadId: string) => { return db .table('usersDirectMessageThreads') .getAll(threadId, { index: 'threadId' }) .run(); }; module.exports = { removeMemberInDirectMessageThread, removeMembersInDirectMessageThread, // get getMembersInDirectMessageThread, getMembersInDirectMessageThreads, isMemberOfDirectMessageThread, getDirectMessageThreadRecords, }; ================================================ FILE: api/models/usersSettings.js ================================================ const { db } = require('shared/db'); import type { DBUserSettings } from 'shared/types'; export const createNewUsersSettings = ( userId: string ): Promise => { return db .table('usersSettings') .insert( { userId, notifications: { types: { newMessageInThreads: { email: true, }, newMention: { email: true, }, newDirectMessage: { email: true, }, newThreadCreated: { email: true, }, dailyDigest: { email: true, }, weeklyDigest: { email: true, }, }, }, }, { returnChanges: 'always' } ) .run() .then(res => res.changes[0].new_val); }; export const getUsersSettings = (userId: string): Promise => { return db .table('usersSettings') .getAll(userId, { index: 'userId' }) .run() .then(results => { if (results && results.length > 0) { // if the user already has a relationship with the thread we don't need to do anything, return return results[0]; } else { return null; } }); }; export const disableAllUsersEmailSettings = (userId: string) => { return db .table('usersSettings') .getAll(userId, { index: 'userId' }) .update({ notifications: { types: { dailyDigest: { email: false, }, newDirectMessage: { email: false, }, newMention: { email: false, }, newMessageInThreads: { email: false, }, newThreadCreated: { email: false, }, weeklyDigest: { email: false, }, }, }, }) .run(); }; ================================================ FILE: api/models/usersThreads.js ================================================ // @flow import type { DBUsersThreads } from 'shared/types'; const { db } = require('shared/db'); // prettier-ignore export const deleteParticipantInThread = (threadId: string, userId: string): Promise => { return db .table('usersThreads') .getAll([userId, threadId], { index: 'userIdAndThreadId' }) .delete() .run() }; // prettier-ignore export const getParticipantsInThread = (threadId: string): Promise> => { return db .table('usersThreads') .getAll(threadId, { index: 'threadId' }) .filter({ isParticipant: true }) .eqJoin('userId', db.table('users')) .without({ left: ['createdAt', 'id', 'threadId', 'userId'], }) .zip() .run(); }; export const getParticipantsInThreads = (threadIds: Array) => { return db .table('usersThreads') .getAll(...threadIds, { index: 'threadId' }) .filter({ isParticipant: true }) .eqJoin('userId', db.table('users')) .group(rec => rec('left')('threadId')) .without({ left: ['createdAt', 'id', 'userId'], }) .zip() .run(); }; ================================================ FILE: api/models/utils.js ================================================ // @flow import { db } from 'shared/db'; export type Timeframe = 'daily' | 'weekly' | 'monthly' | 'quarterly'; export const parseRange = (timeframe?: Timeframe) => { switch (timeframe) { case 'daily': { return { current: 60 * 60 * 24, previous: 60 * 60 * 24 * 2 }; } case 'weekly': { return { current: 60 * 60 * 24 * 7, previous: 60 * 60 * 24 * 14 }; } case 'monthly': { return { current: 60 * 60 * 24 * 30, previous: 60 * 60 * 24 * 60 }; } case 'quarterly': { return { current: 60 * 60 * 24 * 90, previous: 60 * 60 * 24 * 180 }; } default: { return { current: 60 * 60 * 24 * 7, previous: 60 * 60 * 24 * 14 }; } } }; export const getCount = (table: string, filter: mixed) => { if (filter) { return db .table(table) .filter(filter) .count() .run(); } return db .table(table) .count() .run(); }; ================================================ FILE: api/mutations/channel/deleteChannel.js ================================================ // @flow import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { removeMembersInChannel } from '../../models/usersChannels'; import { getChannelById, deleteChannel } from '../../models/channel'; import { getThreadsByChannelToDelete, deleteThread } from '../../models/thread'; import { isAuthedResolver as requireAuth, canModerateChannel, } from '../../utils/permissions'; type Input = { channelId: string, }; export default requireAuth(async (_: any, args: Input, ctx: GraphQLContext) => { const { channelId } = args; const { user, loaders } = ctx; if (!(await canModerateChannel(user.id, channelId, loaders))) { return new UserError('You don’t have permission to manage this channel'); } const channel = await getChannelById(channelId); if (channel.slug === 'general') { return new UserError("The general channel can't be deleted"); } const [allThreadsInChannel] = await Promise.all([ getThreadsByChannelToDelete(channelId), deleteChannel(channelId, user.id), removeMembersInChannel(channelId), ]); if (allThreadsInChannel.length === 0) return true; return allThreadsInChannel.map( async thread => await deleteThread(thread.id, user.id) ); }); ================================================ FILE: api/mutations/channel/editChannel.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { EditChannelInput } from '../../models/channel'; import UserError from '../../utils/UserError'; import { approvePendingUsersInChannel } from '../../models/usersChannels'; import { editChannel } from '../../models/channel'; import { isAuthedResolver as requireAuth, canModerateChannel, } from '../../utils/permissions'; export default requireAuth( async (_: any, args: EditChannelInput, ctx: GraphQLContext) => { const { user, loaders } = ctx; const channel = await loaders.channel.load(args.input.channelId); if (!(await canModerateChannel(user.id, args.input.channelId, loaders))) { return new UserError('You don’t have permission to manage this channel'); } if (channel.isPrivate && !args.input.isPrivate) { approvePendingUsersInChannel(args.input.channelId); } return editChannel(args); } ); ================================================ FILE: api/mutations/channel/index.js ================================================ // @flow import deleteChannel from './deleteChannel'; import editChannel from './editChannel'; module.exports = { Mutation: { deleteChannel, editChannel, }, }; ================================================ FILE: api/mutations/community/deleteCommunity.js ================================================ // @flow import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { removeMembersInCommunity } from '../../models/usersCommunities'; import { deleteCommunity } from '../../models/community'; import { getChannelsByCommunity, deleteChannel } from '../../models/channel'; import { getThreadsByCommunity } from '../../models/thread'; import { removeMembersInChannel } from '../../models/usersChannels'; import { deleteThread } from '../../models/thread'; import { isAuthedResolver as requireAuth, canAdministerCommunity, } from '../../utils/permissions'; type Input = { communityId: string, }; export default requireAuth(async (_: any, args: Input, ctx: GraphQLContext) => { const { communityId } = args; const { user, loaders } = ctx; const communityToEvaluate = await loaders.community.load(communityId); if (!communityToEvaluate || communityToEvaluate.deletedAt) { return new UserError("This community doesn't exist."); } if (!(await canAdministerCommunity(user.id, communityId, loaders))) { return new UserError( "You don't have permission to make changes to this community." ); } const [allChannelsInCommunity, allThreadsInCommunity] = await Promise.all([ getChannelsByCommunity(communityId), getThreadsByCommunity(communityId), removeMembersInCommunity(communityId), deleteCommunity(communityId, user.id), ]); // after a community has been deleted, we need to mark all the channels // as deleted const removeAllChannels = allChannelsInCommunity.map(channel => deleteChannel(channel.id, user.id) ); // and remove all relationships to the deleted channels const removeAllRelationshipsToChannels = allChannelsInCommunity.map(channel => removeMembersInChannel(channel.id) ); // and mark all the threads in that community as deleted const removeAllThreadsInCommunity = allThreadsInCommunity.map(thread => deleteThread(thread.id, user.id) ); return Promise.all([ ...removeAllChannels, ...removeAllRelationshipsToChannels, ...removeAllThreadsInCommunity, ]).then(() => communityToEvaluate); }); ================================================ FILE: api/mutations/community/editCommunity.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { EditCommunityInput } from '../../models/community'; import UserError from '../../utils/UserError'; import { editCommunity } from '../../models/community'; import { isAuthedResolver as requireAuth, canModerateCommunity, } from '../../utils/permissions'; export default requireAuth( // prettier-ignore async (_: any, args: EditCommunityInput, ctx: GraphQLContext) => { const { user, loaders} = ctx const { communityId } = args.input // user must own the community to edit the community if (!await canModerateCommunity(user.id, communityId, loaders)) { return new UserError("You don't have permission to edit this community."); } return editCommunity(args, user.id); } ); ================================================ FILE: api/mutations/community/index.js ================================================ // @flow import deleteCommunity from './deleteCommunity'; import editCommunity from './editCommunity'; import toggleCommunityRedirect from './toggleCommunityRedirect'; import toggleCommunityNoindex from './toggleCommunityNoindex.js'; module.exports = { Mutation: { deleteCommunity, editCommunity, toggleCommunityRedirect, toggleCommunityNoindex, }, }; ================================================ FILE: api/mutations/community/toggleCommunityNoindex.js ================================================ // @flow import type { GraphQLContext } from '../..'; import UserError from '../../utils/UserError'; import { toggleCommunityNoindex, getCommunityById, } from '../../models/community'; import { isAuthedResolver as requireAuth, canAdministerCommunity, } from '../../utils/permissions'; type Input = { communityId: string, }; export default requireAuth(async (_: any, args: Input, ctx: GraphQLContext) => { const { communityId } = args; const { user, loaders } = ctx; if (!(await canAdministerCommunity(user.id, communityId, loaders))) { return new UserError("You don't have permission to do this."); } const community = await getCommunityById(communityId); if (!community) { return new UserError('This community does not exist.'); } return toggleCommunityNoindex(communityId); }); ================================================ FILE: api/mutations/community/toggleCommunityRedirect.js ================================================ // @flow import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { toggleCommunityRedirect, getCommunityById, } from '../../models/community'; import { isAuthedResolver as requireAuth, canAdministerCommunity, } from '../../utils/permissions'; type Input = { communityId: string, }; export default requireAuth(async (_: any, args: Input, ctx: GraphQLContext) => { const { communityId } = args; const { user, loaders } = ctx; if (!(await canAdministerCommunity(user.id, communityId, loaders))) { return new UserError("You don't have permission to do this."); } const community = await getCommunityById(communityId); if (!community) { return new UserError('This community does not exist.'); } return toggleCommunityRedirect(communityId); }); ================================================ FILE: api/mutations/files/index.js ================================================ // @flow import uploadImage from './uploadImage'; module.exports = { Mutation: { uploadImage, }, }; ================================================ FILE: api/mutations/files/uploadImage.js ================================================ // @flow import { isAuthedResolver } from '../../utils/permissions'; import { uploadImage } from '../../utils/file-storage'; import type { EntityTypes } from 'shared/types'; import type { FileUpload } from 'shared/types'; import { signImageUrl } from 'shared/imgix'; type Args = { input: { image: FileUpload, type: EntityTypes, id?: string, }, }; export default isAuthedResolver(async (_: void, { input }: Args) => { const { image, type, id } = input; const url = await uploadImage(image, type, id || 'draft'); return await signImageUrl(url); }); ================================================ FILE: api/mutations/message/deleteMessage.js ================================================ // @flow import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { getMessage, deleteMessage, userHasMessagesInThread, } from '../../models/message'; import { deleteParticipantInThread } from '../../models/usersThreads'; import { getUserPermissionsInChannel } from '../../models/usersChannels'; import { getUserPermissionsInCommunity } from '../../models/usersCommunities'; import { isAuthedResolver as requireAuth } from '../../utils/permissions'; type Input = { id: string, }; export default requireAuth(async (_: any, args: Input, ctx: GraphQLContext) => { const { id } = args; const { user, loaders } = ctx; const message = await getMessage(id); if (!message) { return new UserError('This message does not exist.'); } const thread = await loaders.thread.load(message.threadId); if (message.senderId !== user.id) { // Only the sender can delete a directMessageThread message if (message.threadType === 'directMessageThread') { return new UserError('You can only delete your own messages.'); } const [communityPermissions, channelPermissions] = await Promise.all([ getUserPermissionsInCommunity(thread.communityId, user.id), getUserPermissionsInChannel(thread.channelId, user.id), ]); const canModerate = channelPermissions.isOwner || communityPermissions.isOwner || channelPermissions.isModerator || communityPermissions.isModerator; if (!canModerate) { return new UserError("You don't have permission to delete this message."); } } // Delete message and remove participant from thread if it's the only message from that person return deleteMessage(user.id, id) .then(async () => { // We don't need to delete participants of direct message threads if (message.threadType === 'directMessageThread') return true; const hasMoreMessages = await userHasMessagesInThread( message.threadId, message.senderId ); if (hasMoreMessages) return; return await deleteParticipantInThread( message.threadId, message.senderId ); }) .then(() => true); }); ================================================ FILE: api/mutations/message/index.js ================================================ // @flow import deleteMessage from './deleteMessage'; module.exports = { Mutation: { deleteMessage, }, }; ================================================ FILE: api/mutations/thread/deleteThread.js ================================================ // @flow import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { getUserPermissionsInCommunity } from '../../models/usersCommunities'; import { getUserPermissionsInChannel } from '../../models/usersChannels'; import { deleteThread, getThreads } from '../../models/thread'; import { isAuthedResolver as requireAuth } from '../../utils/permissions'; type Input = { threadId: string, }; export default requireAuth(async (_: any, args: Input, ctx: GraphQLContext) => { const { user } = ctx; const { threadId } = args; // get the thread being locked const threads = await getThreads([threadId]); const threadToEvaluate = threads && threads[0]; // if the thread doesn't exist if (!threadToEvaluate || threadToEvaluate.deletedAt) { return new UserError("This thread doesn't exist"); } // return the thread, channels and communities const [ currentUserChannelPermissions, currentUserCommunityPermissions, ] = await Promise.all([ getUserPermissionsInChannel(threadToEvaluate.channelId, user.id), getUserPermissionsInCommunity(threadToEvaluate.communityId, user.id), ]); // if the user owns the community or the channel, or they are the original creator, they can delete the thread if ( currentUserChannelPermissions.isOwner || currentUserChannelPermissions.isModerator || currentUserCommunityPermissions.isOwner || currentUserCommunityPermissions.isModerator || threadToEvaluate.creatorId === user.id ) { return await deleteThread(threadId, user.id); } // if the user is not a channel or community owner, the thread can't be locked return new UserError( "You don't have permission to make changes to this thread." ); }); ================================================ FILE: api/mutations/thread/index.js ================================================ // @flow import deleteThread from './deleteThread'; module.exports = { Mutation: { deleteThread, }, }; ================================================ FILE: api/mutations/user/banUser.js ================================================ // @flow import { isAuthedResolver, isAdmin } from '../../utils/permissions'; import UserError from '../../utils/UserError'; import type { GraphQLContext } from '../../'; import { banUser } from 'shared/db/queries/user'; type BanUserInput = { input: { userId: string, reason: string, }, }; export default isAuthedResolver( async (_: any, args: BanUserInput, ctx: GraphQLContext) => { const { input: { userId, reason }, } = args; const { loaders, user: currentUser } = ctx; if (!isAdmin(currentUser.id)) { return new UserError('You don’t have permission to do that.'); } if (currentUser.id === userId) { return new UserError('You cannot ban yourself.'); } const reportedUser = await loaders.user.load(userId); if (!reportedUser) { return new UserError(`User with ID ${userId} does not exist.`); } if (reportedUser.bannedAt) { return new UserError('This user has already been banned'); } return banUser({ userId, reason, currentUserId: currentUser.id, }) .then(() => { return true; }) .catch(err => new UserError(err.message)); } ); ================================================ FILE: api/mutations/user/deleteCurrentUser.js ================================================ // @flow import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { deleteUser } from 'shared/db/queries/user'; import { removeUsersCommunityMemberships } from '../../models/usersCommunities'; import { removeUsersChannelMemberships } from '../../models/usersChannels'; import { disableAllUsersEmailSettings } from '../../models/usersSettings'; import { isAuthedResolver as requireAuth } from '../../utils/permissions'; export default requireAuth(async (_: any, __: any, ctx: GraphQLContext) => { const { user } = ctx; return Promise.all([ deleteUser(user.id), disableAllUsersEmailSettings(user.id), removeUsersCommunityMemberships(user.id), removeUsersChannelMemberships(user.id), ]) .then(() => true) .catch(err => new UserError(err.message)); }); ================================================ FILE: api/mutations/user/editUser.js ================================================ // @flow import Raven from 'shared/raven'; import type { GraphQLContext } from '../../'; import type { EditUserInput } from 'shared/db/queries/user'; import UserError from '../../utils/UserError'; import { getUserByUsername, editUser, getUsersByEmail, setUserPendingEmail, } from 'shared/db/queries/user'; import { isAuthedResolver as requireAuth } from '../../utils/permissions'; import isEmail from 'validator/lib/isEmail'; export default requireAuth( async (_: any, args: EditUserInput, ctx: GraphQLContext) => { const { user: currentUser, updateCookieUserData } = ctx; const { input } = args; // If the user is trying to change their username check whether there's a person with that username already if (input.username) { if (input.username === 'null' || input.username === 'undefined') { return new UserError('Nice try! 😉'); } const dbUser = await getUserByUsername(input.username); if (dbUser && dbUser.id !== currentUser.id) { return new UserError( 'Looks like that username got swooped! Try another?' ); } } if (input.email && typeof input.email === 'string') { const pendingEmail = input.email; // if user is changing their email, make sure it's not taken by someone else if (pendingEmail !== currentUser.email || !currentUser.email) { if (!isEmail(input.email)) { return new UserError('Please enter a valid email address.'); } const dbUsers = await getUsersByEmail(pendingEmail); if (dbUsers && dbUsers.length > 0) { return new UserError('Please enter a valid email address.'); } // the user will have to confirm their email for it to be saved in // order to prevent spoofing your email as someone elses await setUserPendingEmail(currentUser.id, pendingEmail); } } const editedUser = await editUser(args, currentUser.id); await updateCookieUserData({ ...editedUser, }).catch(err => { Raven.captureException( new Error(`Error updating cookie user data: ${err.message}`) ); return editedUser; }); return editedUser; } ); ================================================ FILE: api/mutations/user/index.js ================================================ // @flow import editUser from './editUser'; import deleteCurrentUser from './deleteCurrentUser'; import banUser from './banUser'; module.exports = { Mutation: { editUser, deleteCurrentUser, banUser, }, }; ================================================ FILE: api/package.json ================================================ { "dependencies": { "apollo-local-query": "^0.3.1", "apollo-server-cache-redis": "^0.3.1", "apollo-server-express": "2.5.0-alpha.0", "apollo-server-plugin-response-cache": "^0.1.0-alpha.0", "apollo-upload-client": "^9.1.0", "aws-sdk": "2.200.0", "axios": "^0.19.0", "b2a": "^1.0.11", "babel-plugin-replace-dynamic-import-runtime": "^1.0.2", "babel-plugin-styled-components": "^1.10.0", "babel-plugin-transform-flow-strip-types": "^6.22.0", "babel-plugin-transform-object-rest-spread": "^6.23.0", "babel-preset-env": "^1.7.0", "backpack-core": "^0.8.3", "body-parser": "^1.19.0", "casual": "^1.6.2", "compression": "^1.7.4", "cookie-parser": "^1.4.4", "cookie-session": "^2.0.0-beta.3", "cors": "^2.8.5", "cryptr": "^3.0.0", "datadog-metrics": "^0.8.1", "dataloader": "^1.4.0", "debounce": "^1.2.0", "debug": "^4.1.1", "decode-uri-component": "^0.2.0", "draft-js": "^0.10.5", "draft-js-code-editor-plugin": "0.2.1", "draft-js-drag-n-drop-plugin": "2.0.0-rc9", "draft-js-embed-plugin": "^1.2.0", "draft-js-focus-plugin": "2.0.0-rc2", "draft-js-image-plugin": "2.0.0-rc8", "draft-js-import-markdown": "^1.3.3", "draft-js-linkify-plugin": "^2.0.0-beta1", "draft-js-markdown-plugin": "^1.4.4", "draft-js-plugins-editor": "^2.1.1", "draft-js-prism-plugin": "0.1.1", "draftjs-to-markdown": "^0.4.2", "emoji-regex": "^6.1.1", "express": "^4.17.1", "express-enforces-ssl": "^1.1.0", "express-hot-shots": "^1.0.2", "express-session": "^1.16.1", "faker": "^4.1.0", "find-with-regex": "^1.1.3", "flow-typed": "^2.5.2", "graphql": "0.13.x", "graphql-cost-analysis": "^1.0.3", "graphql-date": "^1.0.3", "graphql-depth-limit": "^1.1.0", "graphql-log": "^0.1.3", "graphql-tools": "^4.0.4", "helmet": "^3.18.0", "highlight.js": "^9.15.8", "history": "^4.9.0", "hoist-non-react-statics": "^2.5.5", "host-validation": "^1.2.0", "hot-shots": "^5.9.2", "hpp": "^0.2.2", "hsts": "^2.2.0", "imgix-core-js": "^1.3.0", "immutability-helper": "^2.9.1", "ioredis": "3.2.2", "isomorphic-fetch": "^2.2.1", "iterall": "^1.2.2", "jest": "^21.2.1", "json-stringify-pretty-compact": "^1.2.0", "jsonwebtoken": "^8.5.1", "keygrip": "^1.1.0", "linkify-it": "^2.1.0", "localstorage-memory": "^1.0.3", "lodash": "^4.17.11", "lodash.intersection": "^4.4.0", "longjohn": "^0.2.12", "moment": "^2.24.0", "ms": "^2.1.1", "node-env-file": "^0.1.8", "node-localstorage": "^1.3.1", "now-env": "^3.2.0", "offline-plugin": "^4.9.1", "passport": "^0.3.2", "passport-facebook": "^2.1.1", "passport-github2": "^0.1.10", "passport-google-oauth2": "^0.1.6", "passport-twitter": "^1.0.4", "pre-commit": "^1.2.2", "prismjs": "^1.16.0", "query-string": "5.1.1", "raven": "^2.6.4", "react": "^15.4.1", "react-app-rewire-styled-components": "^3.0.2", "react-app-rewired": "1.6.2", "react-dom": "^15.4.1", "react-helmet": "5.x", "react-infinite-scroller-with-scroll-element": "^1.0.4", "react-loadable": "5.2.2", "react-modal": "^3.8.1", "react-redux": "^5.1.1", "react-remarkable": "^1.1.1", "react-router": "4.x", "react-router-dom": "4.x", "react-textarea-autosize": "^4.0.5", "react-transition-group": "^2.9.0", "react-trend": "^1.2.5", "recompose": "^0.23.1", "redis-tag-cache": "^1.2.1", "redraft": "0.8.0", "redux": "^3.6.0", "redux-thunk": "^2.3.0", "request-ip": "^2.1.3", "rethinkdb-changefeed-reconnect": "^0.3.2", "rethinkdb-inspector": "^0.3.3", "rethinkdb-migrate": "^1.4.0", "rethinkhaberdashery": "^2.3.32", "sanitize-filename": "^1.6.1", "serialize-javascript": "^1.7.0", "session-rethinkdb": "^2.0.0", "slate": "^0.44.12", "slate-markdown": "0.1.0", "slugg": "^1.1.0", "string-replace-to-array": "^1.0.3", "string-similarity": "^1.2.2", "striptags": "2.x", "styled-components": "3.1.x", "subscriptions-transport-ws": "^0.9.16", "sw-precache-webpack-plugin": "^0.11.5", "then-queue": "^1.3.0", "toobusy-js": "^0.5.1", "uuid": "^3.3.2", "validator": "^9.4.1", "web-push": "^3.3.5" }, "scripts": { "start": "NODE_ENV=production node main.js" } } ================================================ FILE: api/queries/channel/channelPermissions.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBChannel } from 'shared/types'; export default async ( root: DBChannel, _: any, { user, loaders }: GraphQLContext ) => { const channelId = root.id; const defaultPermissions = { isOwner: false, isMember: false, isModerator: false, isBlocked: false, isPending: false, receiveNotifications: false, }; if (!channelId || !user) { return defaultPermissions; } const permissions = await loaders.userPermissionsInChannel.load([ user.id, channelId, ]); return permissions || defaultPermissions; }; ================================================ FILE: api/queries/channel/community.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBChannel } from 'shared/types'; import { canViewCommunity } from '../../utils/permissions'; export default async (channel: DBChannel, _: any, ctx: GraphQLContext) => { const { communityId } = channel; const { loaders, user: currentUser } = ctx; const community = await loaders.community.load(communityId); if (community.isPrivate) { if (await canViewCommunity(currentUser, community.id, loaders)) { return community; } else { return null; } } return community; }; ================================================ FILE: api/queries/channel/communityPermissions.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBChannel } from 'shared/types'; export default async ( root: DBChannel, _: any, { user, loaders }: GraphQLContext ) => { const communityId = root.id || root.communityId; const defaultPermissions = { isOwner: false, isMember: false, isModerator: false, isBlocked: false, isPending: false, receiveNotifications: false, }; if (!communityId || !user) { return defaultPermissions; } const permissions = await loaders.userPermissionsInCommunity.load([ user.id, communityId, ]); return permissions || defaultPermissions; }; ================================================ FILE: api/queries/channel/index.js ================================================ // @flow import channel from './rootChannel'; import memberCount from './memberCount'; import threadConnection from './threadConnection'; import community from './community'; import channelPermissions from './channelPermissions'; import communityPermissions from './communityPermissions'; import memberConnection from './memberConnection'; import metaData from './metaData'; import moderators from './moderators'; import owners from './owners'; import isArchived from './isArchived'; import joinSettings from './joinSettings'; module.exports = { Query: { channel, }, Channel: { memberCount, threadConnection, community, channelPermissions, communityPermissions, memberConnection, metaData, moderators, owners, isArchived, joinSettings, }, }; ================================================ FILE: api/queries/channel/isArchived.js ================================================ // @flow import type { DBChannel } from 'shared/types'; export default ({ archivedAt, ...rest }: DBChannel) => { if (archivedAt) return true; return false; }; ================================================ FILE: api/queries/channel/joinSettings.js ================================================ // @flow import type { DBChannel } from 'shared/types'; import type { GraphQLContext } from '../../'; import { canModerateChannel } from '../../utils/permissions'; export default async ({ id }: DBChannel, _: any, ctx: GraphQLContext) => { const { user: currentUser, loaders } = ctx; if (!currentUser) return null; if (!(await canModerateChannel(currentUser.id, id, loaders))) { return null; } return loaders.channelSettings.load(id).then(settings => { return settings.joinSettings; }); }; ================================================ FILE: api/queries/channel/memberConnection.js ================================================ // @flow import type { PaginationOptions } from '../../utils/paginate-arrays'; import type { GraphQLContext } from '../../'; import type { DBChannel } from 'shared/types'; import { getMembersInChannel } from '../../models/usersChannels'; import { encode, decode } from '../../utils/base64'; import { canViewChannel } from '../../utils/permissions'; export default async ( channel: DBChannel, { first, after }: PaginationOptions, ctx: GraphQLContext ) => { const { loaders, user: currentUser } = ctx; const { id, isPrivate } = channel; if (isPrivate) { if (!(await canViewChannel(currentUser, id, loaders))) return null; } const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastUserIndex = lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10); // $FlowIssue return getMembersInChannel(id, { first, after: lastUserIndex }) .then(users => loaders.user.loadMany(users)) .then(result => ({ pageInfo: { hasNextPage: result && result.length >= first, }, edges: result.filter(Boolean).map((user, index) => ({ cursor: encode(`${user.id}-${lastUserIndex + index + 1}`), node: user, })), })); }; ================================================ FILE: api/queries/channel/memberCount.js ================================================ // @flow import type { DBChannel } from 'shared/types'; import type { GraphQLContext } from '../../'; import { canViewChannel } from '../../utils/permissions'; export default async (channel: DBChannel, _: any, ctx: GraphQLContext) => { const { id, memberCount, isPrivate } = channel; const { loaders, user: currentUser } = ctx; if (isPrivate) { if (!(await canViewChannel(currentUser, id, loaders))) return 0; } return memberCount || 1; }; ================================================ FILE: api/queries/channel/metaData.js ================================================ // TODO: Flow type again import Raven from 'shared/raven'; import type { DBChannel } from 'shared/types'; import type { GraphQLContext } from '../../'; import { canViewChannel } from '../../utils/permissions'; export default async (root: DBChannel, _: any, ctx: GraphQLContext) => { const { user, loaders } = ctx; const { id, memberCount: rootMemberCount } = root; if (!(await canViewChannel(user, id, loaders))) { return { members: 0, }; } if (typeof rootMemberCount === 'number') { return { members: rootMemberCount, }; } // Fallback if there's no denormalized memberCount, also report to Sentry Raven.captureException( new Error(`Channel with ID "${id}" does not have denormalized memberCount.`) ); return { members: await loaders.channelMemberCount .load(id) .then(res => (res && res.reduction) || 0), }; }; ================================================ FILE: api/queries/channel/moderators.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBChannel } from 'shared/types'; import { getModeratorsInChannel } from '../../models/usersChannels'; import { canViewChannel } from '../../utils/permissions'; export default async (channel: DBChannel, _: any, ctx: GraphQLContext) => { const { loaders, user: currentUser } = ctx; const { id, isPrivate } = channel; if (isPrivate) { if (!(await canViewChannel(currentUser, id, loaders))) return null; } return getModeratorsInChannel(id).then(users => loaders.user.loadMany(users)); }; ================================================ FILE: api/queries/channel/owners.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBChannel } from 'shared/types'; import { getOwnersInChannel } from '../../models/usersChannels'; import { canViewChannel } from '../../utils/permissions'; export default async (channel: DBChannel, _: any, ctx: GraphQLContext) => { const { id, isPrivate } = channel; const { loaders, user: currentUser } = ctx; if (isPrivate) { if (!(await canViewChannel(currentUser, id, loaders))) return null; } return getOwnersInChannel(id).then(users => loaders.user.loadMany(users)); }; ================================================ FILE: api/queries/channel/rootChannel.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { GetChannelArgs } from '../../models/channel'; import UserError from '../../utils/UserError'; import { getChannelBySlug } from '../../models/channel'; import { canViewChannel } from '../../utils/permissions'; export default async (_: any, args: GetChannelArgs, ctx: GraphQLContext) => { const { loaders, user: currentUser } = ctx; if (args.id) { if (!(await canViewChannel(currentUser, args.id, loaders))) return null; return await loaders.channel.load(args.id); } if (args.channelSlug && args.communitySlug) { const channel = await getChannelBySlug( args.channelSlug, args.communitySlug ); if (!channel) return null; if (!(await canViewChannel(currentUser, channel.id, loaders))) return null; return channel; } return new UserError('We couldn’t find this channel'); }; ================================================ FILE: api/queries/channel/threadConnection.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import { getThreadsByChannel } from '../../models/thread'; import { encode, decode } from '../../utils/base64'; import { canViewChannel } from '../../utils/permissions'; import type { DBChannel } from 'shared/types'; export default async ( channel: DBChannel, { first, after }: PaginationOptions, ctx: GraphQLContext ) => { const { id, isPrivate } = channel; const { loaders, user: currentUser } = ctx; if (isPrivate) { if (!(await canViewChannel(currentUser, id, loaders))) return null; } // $FlowFixMe return getThreadsByChannel(id, { first, after: after && parseInt(decode(after), 10), }).then(threads => ({ pageInfo: { hasNextPage: threads.length >= first, }, edges: threads.map(thread => ({ cursor: encode(String(thread.lastActive.getTime())), node: thread, })), })); }; ================================================ FILE: api/queries/community/brandedLogin.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; export default async ( { id }: DBCommunity, _: any, { loaders }: GraphQLContext ) => { return await loaders.communitySettings.load(id).then(() => { return { isEnabled: null, message: null }; }); }; ================================================ FILE: api/queries/community/channelConnection.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBCommunity } from 'shared/types'; import { getChannelsByCommunity } from '../../models/channel'; import { canViewCommunity } from '../../utils/permissions'; export default async ({ id }: DBCommunity, _: any, ctx: GraphQLContext) => { const { user, loaders } = ctx; if (!(await canViewCommunity(user, id, loaders))) { return { pageInfo: { hasNextPage: false, }, edges: [], }; } return { pageInfo: { hasNextPage: false, }, edges: getChannelsByCommunity(id).then(channels => channels.map(channel => ({ node: channel, })) ), }; }; ================================================ FILE: api/queries/community/communityPermissions.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import { DEFAULT_USER_COMMUNITY_PERMISSIONS } from '../../models/usersCommunities'; export default async ( { id }: DBCommunity, _: any, { user, loaders }: GraphQLContext ) => { const defaultPermissions = { ...DEFAULT_USER_COMMUNITY_PERMISSIONS, userId: null, communityId: null, }; if (!id || !user) return defaultPermissions; const permissions = await loaders.userPermissionsInCommunity.load([ user.id, id, ]); const fallbackPermissions = { ...defaultPermissions, userId: user.id, communityId: id, }; return permissions || fallbackPermissions; }; ================================================ FILE: api/queries/community/contextPermissions.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; (community: DBCommunity, _: any, { loaders }: GraphQLContext, info: any) => { // in some cases we fetch this upstream - e.g. in the case of querying for communitysThreads, we need to fetch contextPermissions before we hit this step as threadIds are not included in the query variables if (community.contextPermissions) return community.contextPermissions; const queryName = info.operation.name.value; const handleCheck = async () => { switch (queryName) { case 'getUser': { const username = info.variableValues.username; const user = await loaders.userByUsername.load(username); const { isModerator, isOwner, } = await loaders.userPermissionsInCommunity.load([ user.id, community.id, ]); return { communityId: community.id, isModerator, isOwner, }; } } }; return handleCheck(); }; ================================================ FILE: api/queries/community/coverPhoto.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBCommunity } from 'shared/types'; import { signCommunity } from 'shared/imgix'; export default (community: DBCommunity, _: any, ctx: GraphQLContext) => { const { coverPhoto } = signCommunity(community); return coverPhoto; }; ================================================ FILE: api/queries/community/index.js ================================================ // @flow import community from './rootCommunity'; import communities from './rootCommunities'; import topCommunities from './rootTopCommunities'; import recentCommunities from './rootRecentCommunities'; import communityPermissions from './communityPermissions'; import channelConnection from './channelConnection'; import memberConnection from './memberConnection'; import members from './members'; import pinnedThread from './pinnedThread'; import threadConnection from './threadConnection'; import metaData from './metaData'; import contextPermissions from './contextPermissions'; import watercooler from './watercooler'; import joinSettings from './joinSettings'; import coverPhoto from './coverPhoto'; import profilePhoto from './profilePhoto'; // no-op resolvers to transition while removing payments import type { DBCommunity } from 'shared/types'; const isPro = () => false; const recurringPayments = () => []; const invoices = () => []; const billingSettings = (community: DBCommunity) => ({ pendingAdministratorEmail: null, administratorEmail: community.administratorEmail, sources: [], invoices: [], subscriptions: [], }); const hasChargeableSource = () => false; const hasFeatures = () => ({ analytics: true, prioritySupport: true }); module.exports = { Query: { community, communities, topCommunities, recentCommunities, }, Community: { communityPermissions, channelConnection, memberConnection, // deprecated members, pinnedThread, threadConnection, metaData, contextPermissions, watercooler, joinSettings, coverPhoto, profilePhoto, invoices, recurringPayments, isPro, billingSettings, hasChargeableSource, hasFeatures, }, }; ================================================ FILE: api/queries/community/joinSettings.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import { canModerateCommunity } from '../../utils/permissions'; export default async ({ id }: DBCommunity, _: any, ctx: GraphQLContext) => { const { user: currentUser, loaders } = ctx; if (!currentUser) return null; if (!(await canModerateCommunity(currentUser.id, id, loaders))) { return null; } return loaders.communitySettings.load(id).then(settings => { return settings.joinSettings; }); }; ================================================ FILE: api/queries/community/memberConnection.js ================================================ // @flow /* DEPRECATED 2/3/2018 by @brian */ import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import { encode, decode } from '../../utils/base64'; const { getMembersInCommunity } = require('../../models/usersCommunities'); import { canViewCommunity } from '../../utils/permissions'; type MemberConnectionFilterType = { isMember?: boolean, isOwner?: boolean, isModerator?: boolean, isPending?: boolean, isBlocked?: boolean, }; type Args = { ...$Exact, filter: MemberConnectionFilterType, }; export default async (root: DBCommunity, args: Args, ctx: GraphQLContext) => { const { user, loaders } = ctx; const { id } = root; if (!await canViewCommunity(user, id, loaders)) { return { pageInfo: { hasNextPage: false, }, edges: [], }; } const { first = 10, after, filter } = args; const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastUserIndex = lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10); // $FlowFixMe return getMembersInCommunity(id, { first, after: lastUserIndex }, filter) .then(users => loaders.user.loadMany(users)) .then(result => ({ pageInfo: { hasNextPage: result && result.length >= first, }, edges: result.filter(Boolean).map((user, index) => ({ cursor: encode(`${user.id}-${lastUserIndex + index + 1}`), node: user, })), })); }; ================================================ FILE: api/queries/community/members.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import { encode, decode } from '../../utils/base64'; import { canViewCommunity } from '../../utils/permissions'; import { getMembersInCommunity, getOwnersInCommunity, getModeratorsInCommunity, getTeamMembersInCommunity, } from '../../models/usersCommunities'; type MembersFilterType = { isMember?: boolean, isOwner?: boolean, isModerator?: boolean, isPending?: boolean, isBlocked?: boolean, }; type Args = { ...$Exact, filter?: MembersFilterType, }; export default async (root: DBCommunity, args: Args, ctx: GraphQLContext) => { const { id } = root; const { user, loaders } = ctx; if (!(await canViewCommunity(user, id, loaders))) { return { pageInfo: { hasNextPage: false, }, edges: [], }; } const { first = 10, after, filter = {} } = args; const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastUserIndex = (lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10)) || 0; let query; if (filter.isModerator && filter.isOwner) { query = getTeamMembersInCommunity; } else if (filter.isModerator) { query = getModeratorsInCommunity; } else if (filter.isOwner) { query = getOwnersInCommunity; } else { query = getMembersInCommunity; } return query(id, { first, after: lastUserIndex }) .then(users => { const permissionsArray = users.map(userId => [userId, id]); // $FlowIssue return loaders.userPermissionsInCommunity.loadMany(permissionsArray); }) .then(result => ({ pageInfo: { hasNextPage: result && result.length >= first, }, edges: result.filter(Boolean).map((user, index) => ({ cursor: encode(`${user.userId}-${lastUserIndex + index + 1}`), node: user, })), })); }; ================================================ FILE: api/queries/community/metaData.js ================================================ // TODO: Flow type again export default async () => { return { channels: 0, members: 0, }; }; ================================================ FILE: api/queries/community/pinnedThread.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBCommunity } from 'shared/types'; import { getThreadById } from '../../models/thread'; import { canViewCommunity } from '../../utils/permissions'; export default async (root: DBCommunity, _: any, ctx: GraphQLContext) => { const { user, loaders } = ctx; const { pinnedThreadId, id } = root; if (!pinnedThreadId) return null; if (!await canViewCommunity(user, id, loaders)) { return null; } return await getThreadById(pinnedThreadId); }; ================================================ FILE: api/queries/community/profilePhoto.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBCommunity } from 'shared/types'; import { signCommunity } from 'shared/imgix'; export default (community: DBCommunity, _: any, ctx: GraphQLContext) => { const { profilePhoto } = signCommunity(community); return profilePhoto; }; ================================================ FILE: api/queries/community/rootCommunities.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { getCuratedCommunities } from '../../models/curatedContent'; type GetCommunitiesByIds = { ids: Array, slugs: void, curatedContentType: void, }; type GetCommunitiesBySlugs = { ids: void, slugs: Array, curatedContentType: void, }; type GetCuratedContent = { ids: void, slugs: void, curatedContentType: string, }; type GetCommunitiesArgs = | GetCommunitiesByIds | GetCommunitiesBySlugs | GetCuratedContent; export default ( _: any, args: GetCommunitiesArgs, { loaders }: GraphQLContext ) => { if (args.curatedContentType) { return getCuratedCommunities(args.curatedContentType); } if (args.ids) return loaders.community.loadMany(args.ids); if (args.slugs) return loaders.communityBySlug.loadMany(args.slugs); return null; }; ================================================ FILE: api/queries/community/rootCommunity.js ================================================ // @flow import type { GraphQLContext } from '../../'; type GetCommunityById = { id: string, slug: void, }; type GetCommunityBySlug = { id: void, slug: string, }; type GetCommunityArgs = GetCommunityById | GetCommunityBySlug; export default ( _: any, args: GetCommunityArgs, { loaders }: GraphQLContext ) => { if (args.id) return loaders.community.load(args.id); if (args.slug) return loaders.communityBySlug.load(args.slug); return null; }; ================================================ FILE: api/queries/community/rootRecentCommunities.js ================================================ // @flow import { getRecentCommunities } from '../../models/community'; export default () => getRecentCommunities(); ================================================ FILE: api/queries/community/rootTopCommunities.js ================================================ // @flow import { getCuratedCommunities } from '../../models/curatedContent'; export default () => getCuratedCommunities('top-communities-by-members'); ================================================ FILE: api/queries/community/slackSettings.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import UserError from '../../utils/UserError'; import { canModerateCommunity, isAuthedResolver as requireAuth, } from '../../utils/permissions'; export default requireAuth( async ({ id }: DBCommunity, _: any, { user, loaders }: GraphQLContext) => { if (!await canModerateCommunity(user.id, id, loaders)) { return new UserError('You don’t have permission to manage this channel'); } return await loaders.communitySettings.load(id); } ); ================================================ FILE: api/queries/community/threadConnection.js ================================================ // @flow import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import { encode, decode } from '../../utils/base64'; import { getChannelsByUserAndCommunity, getPublicChannelsByCommunity, } from '../../models/channel'; import { getThreadsByChannels } from '../../models/thread'; import { canViewCommunity } from '../../utils/permissions'; export type CommunityThreadConnectionPaginationOptions = { after: string, first: number, sort: 'latest' | 'trending', }; // prettier-ignore export default async (root: DBCommunity, args: CommunityThreadConnectionPaginationOptions, ctx: GraphQLContext) => { const { first = 10, after, sort = 'latest' } = args const { user, loaders } = ctx const { id } = root if (!await canViewCommunity(user, id, loaders)) { return { pageInfo: { hasNextPage: false, }, edges: [] } } const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastThreadIndex = lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10) || 0; const currentUser = user; // if the user is signed in, only return stories for the channels // the user is a member of -> this will ensure that they don't see // stories in private channels that they aren't a member of. // if the user is *not* signed in or not a member, only get threads // from public channels within the community let channels; let isMember = false; if (user) { const permissions = await loaders.userPermissionsInCommunity.load([ user.id, id, ]); isMember = permissions && permissions.isMember; } if (user && isMember) { channels = await getChannelsByUserAndCommunity(id, currentUser.id); } else { channels = await getPublicChannelsByCommunity(id); } const threads = await getThreadsByChannels(channels, { first, after: lastThreadIndex, sort, }); return { pageInfo: { hasNextPage: threads && threads.length >= first, }, edges: threads.map((thread, index) => ({ cursor: encode(`${thread.id}-${lastThreadIndex + index + 1}`), node: thread, })), }; }; ================================================ FILE: api/queries/community/watercooler.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBCommunity } from 'shared/types'; import { getThreads } from '../../models/thread'; import { canViewCommunity } from '../../utils/permissions'; export default async (root: DBCommunity, _: any, ctx: GraphQLContext) => { const { watercoolerId, id } = root; const { user, loaders } = ctx; if (!watercoolerId) return null; if (!await canViewCommunity(user, id, loaders)) { return null; } return await getThreads([watercoolerId]).then( res => (res && res.length > 0 ? res[0] : null) ); }; ================================================ FILE: api/queries/communityMember/index.js ================================================ // @flow import communityMember from './rootCommunityMember'; import user from './user'; import roles from './roles'; module.exports = { Query: { communityMember, }, CommunityMember: { user, roles, }, }; ================================================ FILE: api/queries/communityMember/roles.js ================================================ // @flow import type { DBUsersCommunities } from 'shared/types'; export default ({ isModerator, isOwner, isBlocked, isPending, }: DBUsersCommunities) => { const roles = []; if (isModerator) roles.push('moderator'); if (isOwner) roles.push('admin'); if (isBlocked) roles.push('blocked'); if (isPending) roles.push('pending'); return roles; }; ================================================ FILE: api/queries/communityMember/rootCommunityMember.js ================================================ // @flow import type { GraphQLContext } from '../../'; type GetCommunityMemberArgs = { userId: string, communityId: string, }; export default ( _: any, args: GetCommunityMemberArgs, { loaders }: GraphQLContext ) => loaders.userPermissionsInCommunity.load([args.userId, args.communityId]); ================================================ FILE: api/queries/communityMember/user.js ================================================ // @flow import type { DBUsersCommunities } from 'shared/types'; import type { GraphQLContext } from '../../'; export default async ( { userId }: DBUsersCommunities, _: any, { loaders }: GraphQLContext ) => { if (userId) return await loaders.user.load(userId); return null; }; ================================================ FILE: api/queries/directMessageThread/index.js ================================================ // @flow import directMessageThread from './rootDirectMessageThread'; import directMessageThreadByUserIds from './rootDirectMessageThreadByUserIds'; import messageConnection from './messageConnection'; import participants from './participants'; import snippet from './snippet'; module.exports = { Query: { directMessageThread, directMessageThreadByUserIds, }, DirectMessageThread: { messageConnection, participants, snippet, }, }; ================================================ FILE: api/queries/directMessageThread/messageConnection.js ================================================ // @flow import type { PaginationOptions } from '../../utils/paginate-arrays'; import type { GraphQLContext } from '../../'; import { canViewDMThread } from '../../utils/permissions'; import { encode, decode } from '../../utils/base64'; import { getMessages } from '../../models/message'; export default async ( { id }: { id: string }, { first, after }: PaginationOptions, { user, loaders }: GraphQLContext ) => { if (!user || !user.id) return null; const canViewThread = await canViewDMThread(user.id, id, loaders); if (!canViewThread) return null; const cursor = parseInt(decode(after), 10); const messages = await getMessages(id, { // NOTE(@mxstbr): We used to use first/after for reverse DM pagination // so we have to keep it that way for backwards compat, but really this // should be last/before since it's in the other way of time last: first || 30, before: cursor, }); return { pageInfo: { hasNextPage: messages && messages.length >= first, // NOTE(@mxstbr): For DM threads we just assume there to be a previous page // if the user provided a cursor and there were at least some messages // That way they might get a false positive here if they request the messages before the last message // but since that query returns no messages this will be false and all will be well // (so it essentially just takes 1 “unnecessary” request to figure out whether or not there is a previous page) hasPreviousPage: messages && messages.length > 0 && !!cursor, }, edges: messages.map(message => ({ cursor: encode(message.timestamp.getTime().toString()), node: message, })), }; }; ================================================ FILE: api/queries/directMessageThread/participants.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { canViewDMThread } from '../../utils/permissions'; import { signUser } from 'shared/imgix'; export default async ({ id }: { id: string }, _: any, ctx: GraphQLContext) => { const { loaders, user } = ctx; if (!user || !user.id) return []; const canViewThread = await canViewDMThread(user.id, id, loaders); if (!canViewThread) return []; return loaders.directMessageParticipants.load(id).then(results => { if (!results || results.length === 0) return []; return results.reduction.map(user => { return signUser(user); }); }); }; ================================================ FILE: api/queries/directMessageThread/rootDirectMessageThread.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { canViewDMThread } from '../../utils/permissions'; export default async ( _: any, { id }: { id: string }, { user, loaders }: GraphQLContext ) => { // signed out users should never be able to request a dm thread if (!user || !user.id) return null; const canViewThread = await canViewDMThread(user.id, id, loaders); if (!canViewThread) return null; return loaders.directMessageThread.load(id); }; ================================================ FILE: api/queries/directMessageThread/rootDirectMessageThreadByUserIds.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { checkForExistingDMThread } from '../../models/directMessageThread'; import { isAuthedResolver as requireAuth } from '../../utils/permissions'; type Args = { userIds: Array, }; export default requireAuth(async (_: any, args: Args, ctx: GraphQLContext) => { // signed out users will never be able to view a dm thread const { user: currentUser, loaders } = ctx; const { userIds } = args; const allMemberIds = [...userIds, currentUser.id]; const existingThread = await checkForExistingDMThread(allMemberIds); if (!existingThread) return null; return loaders.directMessageThread.load(existingThread); }); ================================================ FILE: api/queries/directMessageThread/snippet.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { canViewDMThread } from '../../utils/permissions'; import { toPlainText, toState } from 'shared/draft-utils'; import { messageTypeObj } from 'shared/draft-utils/process-message-content'; export default async ( { id }: { id: string }, _: any, { loaders, user }: GraphQLContext ) => { if (!user || !user.id) return null; const canViewThread = await canViewDMThread(user.id, id, loaders); if (!canViewThread) return null; return loaders.directMessageSnippet.load(id).then(message => { if (!message) return 'No messages yet...'; if (message.messageType === 'media') return '📷 Photo'; return message.messageType === messageTypeObj.draftjs ? toPlainText(toState(JSON.parse(message.content.body))) : message.content.body; }); }; ================================================ FILE: api/queries/message/author.js ================================================ // @flow import type { DBMessage } from 'shared/types'; import type { GraphQLContext } from '../../'; export default async ( { senderId, threadId, threadType }: DBMessage, _: any, { loaders }: GraphQLContext ) => { // there will be no community to resolve in direct message threads, so we can escape early // and only return the sender if (threadType === 'directMessageThread') { const user = loaders.user.load(senderId); return { user, }; } const [thread, user] = await Promise.all([ loaders.thread.load(threadId), loaders.user.load(senderId), ]); if (!thread || !user) return null; let [communityPermissions = {}, channelPermissions = {}] = await Promise.all([ loaders.userPermissionsInCommunity.load([user.id, thread.communityId]), loaders.userPermissionsInChannel.load([user.id, thread.channelId]), ]); if (!communityPermissions) communityPermissions = {}; if (!channelPermissions) channelPermissions = {}; const isMember = communityPermissions.isMember || channelPermissions.isMember; const isOwner = communityPermissions.isOwner; const isModerator = communityPermissions.isModerator || channelPermissions.isModerator; const isBlocked = channelPermissions.isBlocked || communityPermissions.isBlocked; const roles = []; if (isModerator) roles.push('moderator'); if (isOwner) roles.push('admin'); if (isBlocked) roles.push('blocked'); return { id: communityPermissions.id, user, isOwner, isModerator, isBlocked, isMember, roles, }; }; ================================================ FILE: api/queries/message/content.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBMessage } from 'shared/types'; import { signMessage } from 'shared/imgix'; export default (message: DBMessage, _: any, ctx: GraphQLContext) => { const signedMessage = signMessage(message); return signedMessage.content; }; ================================================ FILE: api/queries/message/index.js ================================================ // @flow import message from './rootMessage'; import getMediaMessagesForThread from './rootGetMediaMessagesForThread'; import sender from './sender'; import author from './author'; import thread from './thread'; import reactions from './reactions'; import parent from './parent'; import content from './content'; module.exports = { Query: { message, getMediaMessagesForThread, }, Message: { author, sender, // deprecated thread, reactions, parent, content, }, }; ================================================ FILE: api/queries/message/parent.js ================================================ // @flow import type { DBMessage } from 'shared/types'; import type { GraphQLContext } from '../../'; export default ( { parentId }: DBMessage, _: void, { loaders }: GraphQLContext ) => { if (!parentId) return null; return loaders.message.load(parentId); }; ================================================ FILE: api/queries/message/reactions.js ================================================ // @flow import type { DBMessage } from 'shared/types'; import type { GraphQLContext } from '../../'; export default ({ id }: DBMessage, _: any, { user, loaders }: GraphQLContext) => loaders.messageReaction.load(id).then(result => { if (!result) return { count: 0, hasReacted: false, }; const reactions = result.reduction; return { count: reactions.length, hasReacted: user ? reactions.some(reaction => reaction.userId === user.id) : false, }; }); ================================================ FILE: api/queries/message/rootGetMediaMessagesForThread.js ================================================ // @flow import { getMediaMessagesForThread } from '../../models/message'; export default (_: any, { threadId }: { threadId: string }) => getMediaMessagesForThread(threadId); ================================================ FILE: api/queries/message/rootMessage.js ================================================ // @flow import { getMessage } from '../../models/message'; import type { GraphQLContext } from '../../'; export default (_: any, { id }: { id: string }, { loaders }: GraphQLContext) => loaders.message.load(id); ================================================ FILE: api/queries/message/sender.js ================================================ // @flow /* DEPRECATED 2/3/2018 by @brian */ import type { DBMessage } from 'shared/types'; import type { GraphQLContext } from '../../'; export default async ( { senderId, threadId, threadType }: DBMessage, _: any, { loaders }: GraphQLContext ) => { // there will be no community to resolve in direct message threads, so we can escape early // and only return the sender if (threadType === 'directMessageThread') { return loaders.user.load(senderId); } const [thread, sender] = await Promise.all([ loaders.thread.load(threadId), loaders.user.load(senderId), ]); if (!thread || !sender) return null; const permissions = await loaders.userPermissionsInCommunity.load([ senderId, thread.communityId, ]); return { ...sender, contextPermission: { communityId: thread.communityId, isModerator: permissions ? permissions.isModerator : false, isOwner: permissions ? permissions.isOwner : false, isBlocked: permissions ? permissions.isBlocked : false, }, }; }; ================================================ FILE: api/queries/message/thread.js ================================================ // @flow import type { DBMessage } from 'shared/types'; import { getThread } from '../../models/thread'; export default ({ threadId }: DBMessage) => getThread(threadId); ================================================ FILE: api/queries/reaction/index.js ================================================ // @flow import reaction from './reaction'; import user from './user'; import message from './message'; module.exports = { Query: { reaction, }, Reaction: { user, message, }, }; ================================================ FILE: api/queries/reaction/message.js ================================================ // @flow import type { DBReaction } from 'shared/types'; import { getMessage } from '../../models/message'; export default ({ messageId }: DBReaction) => getMessage(messageId); ================================================ FILE: api/queries/reaction/reaction.js ================================================ // @flow import { getReaction } from '../../models/reaction'; export default (_: any, { id }: { id: string }) => getReaction(id); ================================================ FILE: api/queries/reaction/user.js ================================================ // @flow import type { DBReaction } from 'shared/types'; import type { GraphQLContext } from '../../'; export default ({ userId }: DBReaction, _: any, { loaders }: GraphQLContext) => loaders.user.load(userId); ================================================ FILE: api/queries/thread/attachments.js ================================================ // @flow /* Deprecated Oct 26 2018 by @brian */ import type { DBThread } from 'shared/types'; export default () => []; ================================================ FILE: api/queries/thread/author.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default async ( { creatorId, communityId, channelId }: DBThread, _: any, { loaders }: GraphQLContext ) => { let [ user, communityPermissions = {}, channelPermissions = {}, ] = await Promise.all([ loaders.user.load(creatorId), loaders.userPermissionsInCommunity.load([creatorId, communityId]), loaders.userPermissionsInChannel.load([creatorId, channelId]), ]); if (!communityPermissions) communityPermissions = {}; if (!channelPermissions) channelPermissions = {}; const isMember = communityPermissions.isMember || channelPermissions.isMember; const isOwner = communityPermissions.isOwner; const isModerator = communityPermissions.isModerator || channelPermissions.isModerator; const isBlocked = channelPermissions.isBlocked || communityPermissions.isBlocked; const roles = []; if (isModerator) roles.push('moderator'); if (isOwner) roles.push('admin'); if (isBlocked) roles.push('blocked'); return { id: communityPermissions.id, user, isOwner, isModerator, isBlocked, isMember, roles, }; }; ================================================ FILE: api/queries/thread/channel.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default async (root: DBThread, _: any, ctx: GraphQLContext) => { const { channelId, id } = root; const { loaders } = ctx; const channel = await loaders.channel.load(channelId); if (!channel) { console.error( 'User queried thread of non-existent/deleted channel: ', channelId ); console.error('Thread queried: ', id); } return channel; }; ================================================ FILE: api/queries/thread/community.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default async (root: DBThread, _: any, ctx: GraphQLContext) => { const { communityId, id } = root; const { loaders } = ctx; const community = await loaders.community.load(communityId); if (!community) { console.error( 'User queried thread of non-existent/deleted community: ', communityId ); console.error('Thread queried: ', id); } return community; }; ================================================ FILE: api/queries/thread/content.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; import { signThread } from 'shared/imgix'; export default (thread: DBThread, _: any, ctx: GraphQLContext) => { const signedThread = signThread(thread); return { ...signedThread.content, body: signedThread.content.body, }; }; ================================================ FILE: api/queries/thread/creator.js ================================================ // @flow /* DEPRECATED 2/3/2018 by @brian */ import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default async ( { creatorId, communityId }: DBThread, _: any, { loaders }: GraphQLContext ) => { const creator = await loaders.user.load(creatorId); const permissions = await loaders.userPermissionsInCommunity.load([ creatorId, communityId, ]); return { ...creator, contextPermissions: { communityId, isModerator: permissions ? permissions.isModerator : false, isOwner: permissions ? permissions.isOwner : false, isBlocked: permissions ? permissions.isBlocked : false, }, }; }; ================================================ FILE: api/queries/thread/editedBy.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default async ( { editedBy, communityId, channelId }: DBThread, _: any, { loaders }: GraphQLContext ) => { if (!editedBy) return null; let [ user, communityPermissions = {}, channelPermissions = {}, ] = await Promise.all([ loaders.user.load(editedBy), loaders.userPermissionsInCommunity.load([editedBy, communityId]), loaders.userPermissionsInChannel.load([editedBy, channelId]), ]); if (!communityPermissions) communityPermissions = {}; if (!channelPermissions) channelPermissions = {}; const isMember = communityPermissions.isMember || channelPermissions.isMember; const isOwner = communityPermissions.isOwner; const isModerator = communityPermissions.isModerator || channelPermissions.isModerator; const isBlocked = channelPermissions.isBlocked || communityPermissions.isBlocked; const roles = []; if (isModerator) roles.push('moderator'); if (isOwner) roles.push('admin'); if (isBlocked) roles.push('blocked'); return { id: communityPermissions.id, user, isOwner, isModerator, isBlocked, isMember, roles, }; }; ================================================ FILE: api/queries/thread/index.js ================================================ // @flow import thread from './rootThread'; import attachments from './attachments'; import channel from './channel'; import community from './community'; import participants from './participants'; import isAuthor from './isAuthor'; import isCreator from './isCreator'; // deprecated import messageConnection from './messageConnection'; import author from './author'; import creator from './creator'; import content from './content'; import reactions from './reactions'; import metaImage from './metaImage'; import editedBy from './editedBy'; import type { DBThread } from 'shared/types'; module.exports = { Query: { thread, }, Thread: { attachments, channel, community, participants, isAuthor, isCreator, // deprcated messageConnection, author, creator, // deprecated content, reactions, metaImage, messageCount: ({ messageCount }: DBThread) => messageCount || 0, editedBy, }, }; ================================================ FILE: api/queries/thread/isAuthor.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default ({ creatorId }: DBThread, _: any, { user }: GraphQLContext) => { if (!creatorId || !user) return false; return user.id === creatorId; }; ================================================ FILE: api/queries/thread/isCreator.js ================================================ // @flow /* DEPRECATED 2/8/2018 by @brian */ import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default ({ creatorId }: DBThread, _: any, { user }: GraphQLContext) => { if (!creatorId || !user) return false; return user.id === creatorId; }; ================================================ FILE: api/queries/thread/messageConnection.js ================================================ // @flow const debug = require('debug')('api:thread-message-connection'); import type { DBThread } from 'shared/types'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import UserError from '../../utils/UserError'; import { encode, decode } from '../../utils/base64'; import { getMessages } from '../../models/message'; export default ( { id }: DBThread, { first, after, last, before, }: { ...PaginationOptions, last: number, before: string } ) => { // Make sure users don't provide bonkers arguments that paginate in both directions at the same time if ( (first && last) || (after && before) || (first && before) || (after && last) ) { debug('invalid pagination options provided:'); debug( 'first:', first, ' last:', last, ' after:', after, ' before:', before ); return new UserError( 'Cannot paginate back- and forwards at the same time. Please only ask for the first messages after a certain point or the last messages before a certain point.' ); } debug(`get messages for ${id}`); let cursor = after || before; try { cursor = decode(cursor); if (cursor) cursor = parseInt(cursor, 10); } catch (err) { console.error('❌ Error in job:\n'); console.error(err); return new UserError('Invalid cursor passed to thread.messageConnection.'); } if (cursor) debug(`cursor: ${cursor}`); let options = { // Default first/last to 25 if their counterparts after/before are provided // so users can query messageConnection(after: "cursor") or (before: "cursor") // without any more options first: first ? first : after ? 25 : null, last: last ? last : before ? 25 : null, // Set after/before to the cursor depending on which one was requested by the user after: after ? cursor : null, before: before ? cursor : null, }; // If we didn't get any arguments at all (i.e messageConnection {}) // then just fetch the first 25 messages // $FlowIssue if (Object.keys(options).every(key => !options[key])) { options = { first: 25, }; } debug('pagination options for query:', options); // Load one message too much so that we know whether there's // a next or previous page options.first && options.first++; options.last && options.last++; return getMessages(id, options).then(result => { let messages = result; // Check if more messages were returned than were requested, which would mean // there's a next/previous page. (depending on the direction of the pagination) const loadedMoreFirst = options.first && result.length > options.first - 1; const loadedMoreLast = options.last && result.length > options.last - 1; // Get rid of the extranous message if there is one if (loadedMoreFirst) { debug('not sending extranous message loaded first'); messages = result.slice(0, result.length - 1); } else if (loadedMoreLast) { debug('not sending extranous message loaded last'); messages = result.reverse().slice(1, result.length); } return { pageInfo: { // Use the extranous message that was maybe loaded to figure out whether // there is a next/previous page, otherwise just try and guess based on // if a cursor was provided // $FlowIssue hasNextPage: loadedMoreFirst || !!options.before, // $FlowIssue hasPreviousPage: loadedMoreLast || !!options.after, }, edges: messages.map(message => ({ cursor: encode(message.timestamp.getTime().toString()), node: message, })), }; }); }; ================================================ FILE: api/queries/thread/metaImage.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; import generateImageFromText from '../../utils/generate-thread-meta-image-from-text'; import { signImageUrl } from 'shared/imgix'; export default async (thread: DBThread, _: any, ctx: GraphQLContext) => { const { loaders } = ctx; const { watercooler, communityId, content } = thread; const community = await loaders.community.load(communityId); if (!community) return null; const imageUrl = generateImageFromText({ title: watercooler ? `Chat with the ${community.name} community` : content.title, footer: `spectrum.chat/${community.slug}`, }); if (!imageUrl) return null; return signImageUrl(imageUrl); }; ================================================ FILE: api/queries/thread/participants.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBThread } from 'shared/types'; export default ({ id }: DBThread, _: any, { loaders }: GraphQLContext) => { return loaders.threadParticipants .load(id) .then(result => (result ? result.reduction : [])); }; ================================================ FILE: api/queries/thread/reactions.js ================================================ // @flow import { hasReactedToThread } from 'api/models/threadReaction'; import Raven from 'shared/raven'; import type { DBThread } from 'shared/types'; import type { GraphQLContext } from '../../'; export default async (root: DBThread, _: any, ctx: GraphQLContext) => { const { user, loaders } = ctx; const { id, reactionCount } = root; const getReactionCount = async () => { if (typeof reactionCount === 'number') return reactionCount; Raven.captureException( new Error( `Thread with ID "${id}" does not have denormalized reactionCount.` ) ); return await loaders.threadReaction.load(id).then(res => { if (res && Array.isArray(res.reduction)) { return res.reduction.length; } return 0; }); }; const hasReacted = user ? await hasReactedToThread(user.id, id) : false; const count = await getReactionCount(); return { hasReacted, count, }; }; ================================================ FILE: api/queries/thread/rootThread.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { canViewThread } from '../../utils/permissions'; export default async ( _: any, { id }: { id: string }, { loaders, user }: GraphQLContext ) => { if (!(await canViewThread(user ? user.id : 'undefined', id, loaders))) { return null; } const thread = await loaders.thread.load(id); if (!thread) return null; return thread; }; ================================================ FILE: api/queries/user/channelConnection.js ================================================ // @flow import type { DBUser } from 'shared/types'; import { getChannelsByUser } from '../../models/channel'; export default (user: DBUser) => ({ pageInfo: { hasNextPage: false, }, edges: getChannelsByUser(user.id).then(channels => channels.map(channel => ({ node: channel, })) ), }); ================================================ FILE: api/queries/user/communityConnection.js ================================================ // @flow import type { DBUser } from 'shared/types'; import { getVisibleCommunitiesByUser, getPublicCommunitiesByUser, getCommunitiesByUser, } from '../../models/community'; import type { GraphQLContext } from '../../'; export default async (user: DBUser, _: any, ctx: GraphQLContext) => { const evaluatingUserId = user.id; const { loaders, user: currentUser } = ctx; let communities; if (!currentUser || !currentUser.id) { communities = await getPublicCommunitiesByUser(evaluatingUserId); } else if (evaluatingUserId === currentUser.id) { communities = await getCommunitiesByUser(currentUser.id); } else { communities = await getVisibleCommunitiesByUser( evaluatingUserId, currentUser.id ); } return { pageInfo: { hasNextPage: false, }, edges: communities.map(async community => { const permissions = await loaders.userPermissionsInCommunity.load([ user.id, community.id, ]); return { node: { ...community, contextPermissions: { communityId: community.id, isModerator: permissions ? permissions.isModerator : false, isOwner: permissions ? permissions.isOwner : false, }, }, }; }), }; }; ================================================ FILE: api/queries/user/contextPermissions.js ================================================ // @flow /* DEPRECATED 2/3/2018 by @brian */ import type { GraphQLContext } from '../../'; import { getThread } from '../../models/thread'; import { getChannelById } from '../../models/channel'; import { getCommunities } from '../../models/community'; export default (user: any, _: any, { loaders }: GraphQLContext, info: any) => { // in some cases we fetch this upstream - e.g. in the case of querying for usersThreads, we need to fetch contextPermissions before we hit this step as threadIds are not included in the query variables if (user.contextPermissions) return user.contextPermissions; if (!info.operation.name) return null; const queryName = info.operation.name.value; const handleCheck = async () => { switch (queryName) { case 'getThread': case 'getThreadMessages': { const threadId = info.variableValues.id; const { communityId } = await getThread(threadId); const { isModerator, isOwner, isBlocked, } = await loaders.userPermissionsInCommunity.load([ user.id, communityId, ]); return { isBlocked, communityId, isModerator, isOwner, }; } case 'loadMoreCommunityMembers': case 'getCommunityMembers': { const communityId = info.variableValues.id; const { isOwner, isBlocked, isModerator, isMember, } = await loaders.userPermissionsInCommunity.load([ user.id, communityId, ]); return { communityId, isMember, isBlocked, isModerator, isOwner, }; } // eslint-disable-next-line case 'loadMoreCommunityMembers': case 'getChannelMembers': { const channelId = info.variableValues.id; const { communityId } = await getChannelById(channelId); const { isModerator, isOwner, isBlocked, } = await loaders.userPermissionsInCommunity.load([ user.id, communityId, ]); return { isBlocked, communityId, isModerator, isOwner, }; } } }; return handleCheck(); }; ================================================ FILE: api/queries/user/coverPhoto.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBUser } from 'shared/types'; import { signUser } from 'shared/imgix'; export default (user: DBUser, _: any, ctx: GraphQLContext) => { const { coverPhoto } = signUser(user); return coverPhoto; }; ================================================ FILE: api/queries/user/directMessageThreadsConnection.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import { encode, decode } from '../../utils/base64'; import { getDirectMessageThreadsByUser } from '../../models/directMessageThread'; export default async ( _: any, { first = 15, after }: PaginationOptions, { user }: GraphQLContext ) => { const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastThreadIndex = lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10); const threads = await getDirectMessageThreadsByUser(user.id, { first, after: lastThreadIndex, }); return { pageInfo: { hasNextPage: threads && threads.length >= first, }, edges: threads.map((thread, index) => ({ cursor: encode(`${thread.id}-${lastThreadIndex + index + 1}`), node: thread, })), }; }; ================================================ FILE: api/queries/user/email.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBUser } from 'shared/types'; import { isAdmin } from '../../utils/permissions'; export default async ( { id }: DBUser, _: any, { user, loaders }: GraphQLContext ) => { // Only admins and the user themselves can view the email if (!user || (id !== user.id && !isAdmin(user.id))) return null; const { email } = await loaders.user.load(id); return email; }; ================================================ FILE: api/queries/user/everything.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import { encode, decode } from '../../utils/base64'; import { getEverything } from 'shared/db/queries/user'; export default ( _: any, { first, after }: PaginationOptions, { user }: GraphQLContext ) => { const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastThreadIndex = lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10); // $FlowFixMe return getEverything(user.id, { first, after: lastThreadIndex, }).then(result => ({ pageInfo: { hasNextPage: result && result.length >= first, }, edges: result ? result.map((thread, index) => ({ cursor: encode(`${thread.id}-${lastThreadIndex + index + 1}`), node: thread, })) : [], })); }; ================================================ FILE: api/queries/user/githubProfile.js ================================================ // @flow import type { DBUser } from 'shared/types'; export default ({ githubProviderId, githubUsername }: DBUser) => { if (!githubProviderId || !githubUsername) return null; return { id: githubProviderId, username: githubUsername, }; }; ================================================ FILE: api/queries/user/index.js ================================================ // @flow import user from './rootUser'; import currentUser from './rootCurrentUser'; import email from './email'; import coverPhoto from './coverPhoto'; import profilePhoto from './profilePhoto'; import everything from './everything'; import communityConnection from './communityConnection'; import channelConnection from './channelConnection'; import directMessageThreadsConnection from './directMessageThreadsConnection'; import threadConnection from './threadConnection'; import threadCount from './threadCount'; import settings from './settings'; import isAdmin from './isAdmin'; import contextPermissions from './contextPermissions'; import githubProfile from './githubProfile'; // no-op resolvers to transition while removing payments import type { DBUser } from 'shared/types'; const isPro = (dbUser: DBUser) => dbUser.betaSupporter; const recurringPayments = () => []; const invoices = () => []; module.exports = { Query: { user, currentUser, }, User: { email, coverPhoto, profilePhoto, everything, communityConnection, channelConnection, directMessageThreadsConnection, threadConnection, threadCount, settings, isAdmin, githubProfile, contextPermissions, isPro, recurringPayments, invoices, }, }; ================================================ FILE: api/queries/user/isAdmin.js ================================================ // @flow import type { DBUser } from 'shared/types'; import { isAdmin } from '../../utils/permissions'; export default ({ id }: DBUser) => isAdmin(id); ================================================ FILE: api/queries/user/profilePhoto.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBUser } from 'shared/types'; import { signUser } from 'shared/imgix'; export default (user: DBUser, _: any, ctx: GraphQLContext) => { const { profilePhoto } = signUser(user); return profilePhoto; }; ================================================ FILE: api/queries/user/rootCurrentUser.js ================================================ // @flow import type { GraphQLContext } from '../../'; import { getUserById } from 'shared/db/queries/user'; export default async (_: any, __: any, { user }: GraphQLContext) => { if (!user || !user.id) return null; const dbUser = await getUserById(user.id); if (!dbUser || dbUser.bannedAt) return null; return dbUser; }; ================================================ FILE: api/queries/user/rootUser.js ================================================ // @flow import type { GraphQLContext } from '../../'; export default ( _: any, args: { id?: string, username?: string } = {}, { loaders }: GraphQLContext ) => { if (args.id) return loaders.user.load(args.id); if (args.username) return loaders.userByUsername.load(args.username); return null; }; ================================================ FILE: api/queries/user/settings.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBUser } from 'shared/types'; import { getUsersSettings, createNewUsersSettings, } from '../../models/usersSettings'; import UserError from '../../utils/UserError'; export default async (_: DBUser, __: any, { user }: GraphQLContext) => { if (!user) return new UserError('You must be signed in to continue.'); const settings = await getUsersSettings(user.id); if (settings) return settings; return await createNewUsersSettings(user.id); }; ================================================ FILE: api/queries/user/threadConnection.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBUser } from 'shared/types'; import type { PaginationOptions } from '../../utils/paginate-arrays'; import { encode, decode } from '../../utils/base64'; const { getViewableThreadsByUser, getPublicThreadsByUser, getPublicParticipantThreadsByUser, getViewableParticipantThreadsByUser, } = require('../../models/thread'); export default ( { id }: DBUser, { first, after, kind, }: { ...PaginationOptions, kind: 'creator' | 'participant' }, { user }: GraphQLContext ) => { const currentUser = user; const cursor = decode(after); // Get the index from the encoded cursor, asdf234gsdf-2 => ["-2", "2"] const lastDigits = cursor.match(/-(\d+)$/); const lastThreadIndex = lastDigits && lastDigits.length > 0 && parseInt(lastDigits[1], 10); // if a logged in user is viewing the profile, handle logic to get viewable threads let getThreads; if (currentUser) { getThreads = kind === 'creator' ? // $FlowIssue getViewableThreadsByUser(id, currentUser.id, { first, after: lastThreadIndex, }) : // $FlowIssue getViewableParticipantThreadsByUser(id, currentUser.id, { first, after: lastThreadIndex, }); } else { getThreads = kind === 'creator' ? // $FlowIssue getPublicThreadsByUser(id, { first, after: lastThreadIndex }) : // $FlowIssue getPublicParticipantThreadsByUser(id, { first, after: lastThreadIndex, }); } return getThreads.then(result => ({ pageInfo: { // $FlowFixMe => super weird hasNextPage: result && result.length >= first, }, edges: result.map((thread, index) => ({ cursor: encode(`${thread.id}-${lastThreadIndex + index + 1}`), node: thread, })), })); }; ================================================ FILE: api/queries/user/threadCount.js ================================================ // @flow import type { GraphQLContext } from '../../'; import type { DBUser } from 'shared/types'; export default ({ id }: DBUser, _: any, { loaders }: GraphQLContext) => { return loaders.userThreadCount.load(id).then(data => (data ? data.count : 0)); }; ================================================ FILE: api/routes/api/export-user-data.js ================================================ // @flow import { Router } from 'express'; const userDataRouter = Router(); import { getUserById } from 'shared/db/queries/user'; userDataRouter.get('/', async (req: express$Request, res: express$Response) => { if (!req.user) return res.send('No logged-in user'); // $FlowIssue const user = await getUserById(req.user.id); if (!user) return res.send('User not found.'); // This forces the browser to download a .json file instead of rendering it res.setHeader('Content-Type', 'application/octet-stream'); return res.send(user); }); export default userDataRouter; ================================================ FILE: api/routes/api/index.js ================================================ // @flow import { Router } from 'express'; const apiRouter = Router(); // import graphiql from './graphiql'; // // Only allow GraphiQL in development // if (process.env.NODE_ENV === 'development') { // apiRouter.use('/graphiql', graphiql); // } import userExportRouter from './export-user-data'; apiRouter.use('/user.json', userExportRouter); // import graphql from './graphql'; // apiRouter.use('/', graphql); export default apiRouter; ================================================ FILE: api/routes/auth/create-signin-routes.js ================================================ /* @flow * * A reusable set of routes for signing in with different providers. Handles token-based authentication. * Usage: * * const { main, callbacks } = createSigninRoutes('facebook'); * facebookRouter.get('/', main); * facebookRouter.get('/callback', ...callbacks); */ import passport from 'passport'; import { URL } from 'url'; import isSpectrumUrl from '../../utils/is-spectrum-url'; const IS_PROD = process.env.NODE_ENV === 'production'; const FALLBACK_URL = IS_PROD ? 'https://spectrum.chat/home' : 'http://localhost:3000/home'; type Strategy = 'twitter' | 'facebook' | 'github' | 'google'; export const createSigninRoutes = ( strategy: Strategy, strategyOptions?: Object ) => { return { // The main route takes care of storing the redirect URL in the session // and passing the right options main: (req: express$Request, ...rest: any) => { let url = FALLBACK_URL; if (typeof req.query.r === 'string' && isSpectrumUrl(req.query.r)) { url = req.query.r; } // Attach the redirectURL and authType to the session so we have it in the /auth/twitter/callback route // $FlowIssue req.session.redirectUrl = url; return passport.authenticate(strategy, strategyOptions)(req, ...rest); }, // The callbacks take care of authenticating, setting the response cookies, // redirecting to the right place and handling tokens callbacks: [ passport.authenticate(strategy, { failureRedirect: '/', }), (req: express$Request, res: express$Response) => { // $FlowIssue const redirectUrl = req.session.redirectUrl ? new URL(req.session.redirectUrl) : new URL(FALLBACK_URL); redirectUrl.searchParams.append('authed', 'true'); if (req.authInfo && req.authInfo.message) { redirectUrl.searchParams.append( 'toastMessage', // $FlowIssue req.authInfo.message ); redirectUrl.searchParams.append('toastType', 'error'); } // Delete the redirectURL from the session again so we don't redirect // to the old URL the next time around // $FlowIssue req.session.redirectUrl = undefined; res.cookie('_now_no_cache', '1', { maxAge: 315569260000, // 10 years sameSite: 'lax', secure: false, }); return res.redirect(redirectUrl.href); }, ], }; }; ================================================ FILE: api/routes/auth/facebook.js ================================================ // @flow import { Router } from 'express'; import { createSigninRoutes } from './create-signin-routes'; const facebookAuthRouter = Router(); const { main, callbacks } = createSigninRoutes('facebook', { scope: ['email'], }); facebookAuthRouter.get('/', main); facebookAuthRouter.get('/callback', ...callbacks); export default facebookAuthRouter; ================================================ FILE: api/routes/auth/github.js ================================================ // @flow import { Router } from 'express'; import { createSigninRoutes } from './create-signin-routes'; const githubAuthRouter = Router(); const { main, callbacks } = createSigninRoutes('github', { scope: ['read:user,user:email'], state: true, }); githubAuthRouter.get('/', main); githubAuthRouter.get('/callback', ...callbacks); export default githubAuthRouter; ================================================ FILE: api/routes/auth/google.js ================================================ // @flow import { Router } from 'express'; import { createSigninRoutes } from './create-signin-routes'; const googleAuthRouter = Router(); const { main, callbacks } = createSigninRoutes('google', { scope: 'profile email', }); googleAuthRouter.get('/', main); googleAuthRouter.get('/callback', ...callbacks); export default googleAuthRouter; ================================================ FILE: api/routes/auth/index.js ================================================ // @flow import { Router } from 'express'; import twitterAuthRoutes from './twitter'; import facebookAuthRoutes from './facebook'; import googleAuthRoutes from './google'; import githubAuthRoutes from './github'; import logoutRoutes from './logout'; const authRouter = Router(); authRouter.use('/twitter', twitterAuthRoutes); authRouter.use('/facebook', facebookAuthRoutes); authRouter.use('/google', googleAuthRoutes); authRouter.use('/github', githubAuthRoutes); authRouter.use('/logout', logoutRoutes); export default authRouter; ================================================ FILE: api/routes/auth/logout.js ================================================ import { Router } from 'express'; const debug = require('debug')('api:routes:auth:logout'); import { destroySession } from '../../models/session'; const IS_PROD = process.env.NODE_ENV === 'production'; const HOME = IS_PROD ? '/explore' : 'http://localhost:3000/explore'; const logoutRouter = Router(); logoutRouter.get('/', (req, res) => { req.logout(); return res.redirect(HOME); }); export default logoutRouter; ================================================ FILE: api/routes/auth/twitter.js ================================================ // @flow import { Router } from 'express'; import { createSigninRoutes } from './create-signin-routes'; const twitterAuthRouter = Router(); const { main, callbacks } = createSigninRoutes('twitter'); twitterAuthRouter.get('/', main); twitterAuthRouter.get('/callback', ...callbacks); export default twitterAuthRouter; ================================================ FILE: api/routes/create-subscription-server.js ================================================ // @flow import { SubscriptionServer } from 'subscriptions-transport-ws'; import { execute, subscribe } from 'graphql'; import schema from '../schema'; /** * Create a subscription server based on an exisiting express.js server */ const createSubscriptionsServer = (server: any, path: string) => { // Start subscriptions server return SubscriptionServer.create( { execute, subscribe, schema, keepAlive: 10000, }, { server, path, } ); }; export default createSubscriptionsServer; ================================================ FILE: api/routes/middlewares/index.js ================================================ import { Router } from 'express'; const middlewares = Router(); import threadParamRedirect from 'shared/middlewares/thread-param'; middlewares.use(threadParamRedirect); import bodyParser from 'body-parser'; middlewares.use(bodyParser.json()); middlewares.use((req, res, next) => { if (req.method === 'POST' && req.url !== '/api') console.log('POST', req.url); next(); }); if (process.env.NODE_ENV === 'development') { const logging = require('shared/middlewares/logging'); middlewares.use(logging); } if (process.env.NODE_ENV === 'production' && !process.env.FORCE_DEV) { // Raven (Sentry client) needs to come before everything else const raven = require('shared/middlewares/raven').default; middlewares.use(raven); } // Cross origin request support import cors from 'shared/middlewares/cors'; middlewares.use(cors); middlewares.options('*', cors); import cookieParser from 'cookie-parser'; middlewares.use(cookieParser()); import session from 'shared/middlewares/session'; middlewares.use(session); import passport from 'passport'; middlewares.use(passport.initialize()); middlewares.use(passport.session()); // Refresh authenticated users expiry time middlewares.use((req, res, next) => { if (req.session && req.user) { req.session.lastRequest = Date.now(); } next(); }); const isSerializedJSON = str => str[0] === '{'; // NOTE(@mxstbr): If a logged-in user with a legacy cookie (just the user ID) sends a request // we add all the user data to the cookie (by calling req.login) to move them to the new cookie // format. // @see #3944 // @see https://stackoverflow.com/a/24498660 middlewares.use((req, res, next) => { if ( req.session && req.session.passport && typeof req.session.passport.user === 'string' && !isSerializedJSON(req.session.passport.user[0]) && req.user ) { req.login(req.user, () => { next(); }); return; } next(); }); export default middlewares; ================================================ FILE: api/schema.js ================================================ // @flow /** * The combined schema out of types and resolvers (queries, mutations and subscriptions) */ const { makeExecutableSchema, addSchemaLevelResolveFunction, } = require('graphql-tools'); const debug = require('debug')('api:resolvers'); const logExecutions = require('graphql-log')({ logger: debug, }); const { merge } = require('lodash'); import UserError from './utils/UserError'; const scalars = require('./types/scalars'); const generalTypes = require('./types/general'); const Thread = require('./types/Thread'); const Channel = require('./types/Channel'); const Community = require('./types/Community'); const Message = require('./types/Message'); const Reaction = require('./types/Reaction'); const User = require('./types/User'); const DirectMessageThread = require('./types/DirectMessageThread'); const Invoice = require('./types/Invoice'); const CommunityMember = require('./types/CommunityMember'); const ThreadParticipant = require('./types/ThreadParticipant'); const ThreadQueries = require('./queries/thread'); const channelQueries = require('./queries/channel'); const communityQueries = require('./queries/community'); const messageQueries = require('./queries/message'); const userQueries = require('./queries/user'); const reactionQueries = require('./queries/reaction'); const directMessageThreadQueries = require('./queries/directMessageThread'); const communityMemberQueries = require('./queries/communityMember'); const messageMutations = require('./mutations/message'); const threadMutations = require('./mutations/thread'); const communityMutations = require('./mutations/community'); const channelMutations = require('./mutations/channel'); const userMutations = require('./mutations/user'); const fileMutations = require('./mutations/files'); const Root = /* GraphQL */ ` # The dummy queries and mutations are necessary because # graphql-js cannot have empty root types and we only extend # these types later on # Ref: apollographql/graphql-tools#293 type Query { dummy: String } type Mutation { dummy: String } type Subscription { dummy: String } schema { query: Query mutation: Mutation subscription: Subscription } `; const resolvers = merge( {}, //queries scalars.resolvers, ThreadQueries, channelQueries, communityQueries, messageQueries, userQueries, directMessageThreadQueries, reactionQueries, communityMemberQueries, // mutations messageMutations, threadMutations, communityMutations, channelMutations, userMutations, fileMutations ); if (process.env.NODE_ENV === 'development' && debug.enabled) { logExecutions(resolvers); } // Create the final GraphQL schema out of the type definitions // and the resolvers const schema = makeExecutableSchema({ typeDefs: [ scalars.typeDefs, generalTypes, Root, Community, CommunityMember, Channel, Thread, ThreadParticipant, Message, Reaction, User, DirectMessageThread, Invoice, ], resolvers, schemaDirectives: {}, }); if (process.env.REACT_APP_MAINTENANCE_MODE === 'enabled') { console.error('\n\n⚠️ ----MAINTENANCE MODE ENABLED----⚠️\n\n'); addSchemaLevelResolveFunction(schema, () => { throw new UserError( "We're currently undergoing planned maintenance. We'll be back soon, please check https://twitter.com/withspectrum for ongoing updates!" ); }); } module.exports = schema; ================================================ FILE: api/subscriptions/community.js ================================================ // @flow module.exports = { Subscription: {}, }; ================================================ FILE: api/subscriptions/directMessageThread.js ================================================ // @flow module.exports = { Subscription: {}, }; ================================================ FILE: api/subscriptions/message.js ================================================ // @flow module.exports = { Subscription: {}, }; ================================================ FILE: api/subscriptions/notification.js ================================================ // @flow module.exports = { Subscription: {}, }; ================================================ FILE: api/subscriptions/thread.js ================================================ // @flow module.exports = { Subscription: {}, }; ================================================ FILE: api/test/__snapshots__/community.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should fetch a communities threads 1`] = ` Object { "data": Object { "community": Object { "threadConnection": Object { "edges": Array [ Object { "node": Object { "content": Object { "title": "Yet another thread", }, }, }, Object { "node": Object { "content": Object { "title": "Yet another thread", }, }, }, Object { "node": Object { "content": Object { "title": "Yet another thread", }, }, }, Object { "node": Object { "content": Object { "title": "Another thread", }, }, }, Object { "node": Object { "content": Object { "title": "The first thread! 🎉", }, }, }, ], }, }, }, } `; exports[`should fetch a community 1`] = ` Object { "data": Object { "community": Object { "createdAt": "2016-12-31T23:00:00.000Z", "description": "The future of communities", "id": "1", "name": "Spectrum", "slug": "spectrum", "website": "https://spectrum.chat", }, }, } `; exports[`should fetch a list of communities 1`] = ` Object { "data": Object { "communities": Array [ Object { "createdAt": "2016-12-31T23:00:00.000Z", "description": "The future of communities", "id": "1", "slug": "spectrum", "website": "https://spectrum.chat", }, ], }, } `; exports[`should fetch a list of community members 1`] = ` Object { "data": Object { "community": Object { "id": "1", "members": Object { "edges": Array [ Object { "cursor": "Mi0x", "node": Object { "isBlocked": false, "isMember": true, "isModerator": false, "isOwner": false, "user": Object { "id": "2", }, }, }, Object { "cursor": "My0y", "node": Object { "isBlocked": false, "isMember": true, "isModerator": false, "isOwner": false, "user": Object { "id": "3", }, }, }, Object { "cursor": "OC0z", "node": Object { "isBlocked": false, "isMember": true, "isModerator": false, "isOwner": false, "user": Object { "id": "8", }, }, }, Object { "cursor": "MS00", "node": Object { "isBlocked": false, "isMember": true, "isModerator": false, "isOwner": true, "user": Object { "id": "1", }, }, }, ], "pageInfo": Object { "hasNextPage": false, "hasPreviousPage": null, }, }, }, }, } `; ================================================ FILE: api/test/__snapshots__/directMessageThread.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`messageConnection should fetch a directMessageThreads messages 1`] = ` Object { "data": Object { "directMessageThread": Object { "messageConnection": Object { "edges": Array [ Object { "node": Object { "id": "13", }, }, Object { "node": Object { "id": "12", }, }, Object { "node": Object { "id": "11", }, }, Object { "node": Object { "id": "10", }, }, Object { "node": Object { "id": "9", }, }, ], }, }, }, } `; exports[`should fetch a directMessageThread 1`] = ` Object { "data": Object { "directMessageThread": Object { "id": "dm-1", "threadLastActive": "2016-12-31T23:00:00.000Z", }, }, } `; ================================================ FILE: api/test/__snapshots__/user.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`queries should fetch a user 1`] = ` Object { "data": Object { "user": Object { "createdAt": "2016-12-31T23:00:00.000Z", "description": "Makes styled-components, react-boilerplate and micro-analytics 💅 Speciality coffee geek, skier, traveller ☕", "email": null, "id": "1", "name": "Max Stoiber", "providerId": "2451223458", "username": "mxstbr", "website": "https://mxstbr.com", }, }, } `; exports[`queries should fetch a users communities 1`] = ` Object { "data": Object { "user": Object { "communityConnection": Object { "edges": Array [ Object { "node": Object { "name": "Payments", }, }, Object { "node": Object { "name": "Spectrum", }, }, ], }, }, }, } `; exports[`queries should return null for a non-existent id 1`] = ` Object { "data": Object { "user": null, }, } `; ================================================ FILE: api/test/channel/mutations/__snapshots__/createChannel.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should create a channel if user is owner 1`] = ` Object { "data": Object { "createChannel": Object { "description": "test description", "isPrivate": false, "name": "test channel", "slug": "test-channel", }, }, } `; exports[`should prevent duplicate channel slugs in the same community 1`] = ` Object { "data": Object { "createChannel": null, }, "errors": Array [ [GraphQLError: A channel with this slug already exists.], ], } `; exports[`should prevent moderators from creating a channel 1`] = ` Object { "data": Object { "createChannel": null, }, "errors": Array [ [GraphQLError: You don't have permission to create a channel in this community.], ], } `; exports[`should prevent non owners from creating a channel 1`] = ` Object { "data": Object { "createChannel": null, }, "errors": Array [ [GraphQLError: You don't have permission to create a channel in this community.], ], } `; exports[`should prevent signed out users from creating a channel 1`] = ` Object { "data": Object { "createChannel": null, }, "errors": Array [ [GraphQLError: You must be signed in to create a new community.], ], } `; ================================================ FILE: api/test/channel/mutations/__snapshots__/deleteChannel.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should delete a channel if user is owner 1`] = ` Object { "data": Object { "deleteChannel": true, }, } `; exports[`should delete all threads in the deleted channel 1`] = ` Object { "data": Object { "deleteChannel": true, }, } `; exports[`should not delete a channel if user is not owner 1`] = ` Object { "data": Object { "deleteChannel": null, }, "errors": Array [ [GraphQLError: You don't have permission to make changes to this channel], ], } `; exports[`should not delete a channel if user is not signed in 1`] = ` Object { "data": Object { "deleteChannel": null, }, "errors": Array [ [GraphQLError: You must be signed in to make changes to this channel.], ], } `; exports[`should not delete the general channel 1`] = ` Object { "data": Object { "deleteChannel": null, }, "errors": Array [ [GraphQLError: The general channel can't be deleted], ], } `; ================================================ FILE: api/test/channel/mutations/__snapshots__/editChannel.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should edit a channel if user is owner 1`] = ` Object { "data": Object { "editChannel": Object { "description": "edited description", "isPrivate": false, "name": "edited name", "slug": "edited-slug", }, }, } `; exports[`should not edit a channel if user is not owner 1`] = ` Object { "data": Object { "editChannel": null, }, "errors": Array [ [GraphQLError: You don't have permission to make changes to this channel.], ], } `; exports[`should not edit a channel if user is not signed in 1`] = ` Object { "data": Object { "editChannel": null, }, "errors": Array [ [GraphQLError: You must be signed in to make changes to this channel.], ], } `; ================================================ FILE: api/test/channel/mutations/createChannel.test.js ================================================ //@flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; // various permissions for Spectrum community const owner = data.users.find(({ username }) => username === 'mxstbr'); const moderator = data.users.find(({ username }) => username === 'brian'); const noPermissionUser = data.users.find(({ username }) => username === 'bryn'); afterEach(() => { return db .table('channels') .filter({ slug: 'test-channel' }) .delete() .run(); }); const variables = { input: { name: 'test channel', slug: 'test-channel', description: 'test description', isPrivate: false, isDefault: false, communityId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a191', }, }; it('should create a channel if user is owner', async () => { const query = /* GraphQL */ ` mutation createChannel($input: CreateChannelInput!) { createChannel (input: $input) { name slug description isPrivate } }, `; const context = { user: owner, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should prevent duplicate channel slugs in the same community', async () => { const query = /* GraphQL */ ` mutation createChannel($input: CreateChannelInput!) { createChannel (input: $input) { id name slug description isPrivate createdAt } }, `; const context = { user: owner, }; expect.assertions(1); const result = await request(query, { context, variables: { input: { ...variables.input, slug: 'general', }, }, }); expect(result).toMatchSnapshot(); }); it('should prevent signed out users from creating a channel', async () => { const query = /* GraphQL */ ` mutation createChannel($input: CreateChannelInput!) { createChannel (input: $input) { id name slug description isPrivate createdAt } }, `; const context = { user: null, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should prevent non owners from creating a channel', async () => { const query = /* GraphQL */ ` mutation createChannel($input: CreateChannelInput!) { createChannel (input: $input) { id name slug description isPrivate createdAt } }, `; const context = { user: noPermissionUser, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should prevent moderators from creating a channel', async () => { const query = /* GraphQL */ ` mutation createChannel($input: CreateChannelInput!) { createChannel (input: $input) { id name slug description isPrivate createdAt } }, `; const context = { user: moderator, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/channel/mutations/deleteChannel.test.js ================================================ //@flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; import { MAX_ID, BRYN_ID, DATE } from '../../../migrations/seed/default'; const generalChannelId = data.channels[0].id; const owner = data.users.find(({ username }) => username === 'mxstbr'); const noPermissionUser = data.users.find(({ username }) => username === 'bryn'); const defaultChannelId = 'ce2b4488-4c75-47e0-8ebc-2539c'; const DEFAULT_CHANNELS = [ { id: defaultChannelId, communityId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a191', createdAt: new Date(), name: 'Default', description: 'Default chatter', slug: 'default', isPrivate: false, isDefault: true, }, ]; const DEFAULT_USERS_CHANNELS = [ { createdAt: new Date(), userId: MAX_ID, channelId: defaultChannelId, isOwner: true, isModerator: false, isMember: true, isBlocked: false, isPending: false, receiveNotifications: true, }, { createdAt: new Date(), userId: BRYN_ID, channelId: defaultChannelId, isOwner: false, isModerator: false, isMember: true, isBlocked: false, receiveNotifications: true, }, ]; const DEFAULT_THREADS = [ { createdAt: new Date(DATE), creatorId: MAX_ID, channelId: defaultChannelId, communityId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a191', isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'The first thread! 🎉', body: '', }, edits: [], modifiedAt: new Date(DATE), lastActive: new Date(DATE), }, { createdAt: new Date(DATE + 1), creatorId: MAX_ID, channelId: defaultChannelId, communityId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a191', isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Another thread', body: '', }, edits: [], modifiedAt: new Date(DATE + 1), lastActive: new Date(DATE + 1), }, { createdAt: new Date(DATE + 2), creatorId: BRYN_ID, channelId: defaultChannelId, communityId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a191', isPublished: true, isLocked: false, type: 'DRAFTJS', content: { title: 'Yet another thread', body: '', }, edits: [], modifiedAt: new Date(DATE + 2), lastActive: new Date(DATE + 2), }, ]; const cleanTables = () => Promise.all([ db .table('channels') .delete() .run(), db .table('usersChannels') .delete() .run(), db .table('threads') .delete() .run(), ]); const populateTables = () => Promise.all([ db .table('channels') .insert([...DEFAULT_CHANNELS, ...data.channels]) .run(), db .table('usersChannels') .insert([...DEFAULT_USERS_CHANNELS, ...data.usersChannels]) .run(), db .table('threads') .insert([...DEFAULT_THREADS, ...data.threads]) .run(), ]); // after each test just rest the database beforeEach(() => cleanTables().then(() => populateTables())); afterEach(() => cleanTables().then(() => populateTables())); const variables = { channelId: defaultChannelId, }; it('should delete a channel if user is owner', async () => { const query = /* GraphQL */ ` mutation deleteChannel($channelId: ID!) { deleteChannel(channelId: $channelId) } `; const context = { user: owner, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should not delete a channel if user is not owner', async () => { const query = /* GraphQL */ ` mutation deleteChannel($channelId: ID!) { deleteChannel(channelId: $channelId) } `; const context = { user: noPermissionUser, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should not delete a channel if user is not signed in', async () => { const query = /* GraphQL */ ` mutation deleteChannel($channelId: ID!) { deleteChannel(channelId: $channelId) } `; expect.assertions(1); const result = await request(query, { variables }); expect(result).toMatchSnapshot(); }); it('should not delete the general channel', async () => { const query = /* GraphQL */ ` mutation deleteChannel($channelId: ID!) { deleteChannel(channelId: $channelId) } `; const context = { user: owner, }; expect.assertions(1); const result = await request(query, { context, variables: { channelId: generalChannelId, }, }); expect(result).toMatchSnapshot(); }); it('should delete all threads in the deleted channel', async () => { const getThreadsInChannel = () => db .table('threads') .filter({ channelId: defaultChannelId }) .run(); const query = /* GraphQL */ ` mutation deleteChannel($channelId: ID!) { deleteChannel(channelId: $channelId) } `; const context = { user: owner, }; expect.assertions(2); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); const threads = await getThreadsInChannel(); const filtered = threads.filter(t => t.deletedAt !== null).length; expect(threads).toHaveLength(filtered); }); ================================================ FILE: api/test/channel/mutations/editChannel.test.js ================================================ //@flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; const channel = data.channels[0]; // various permissions for Spectrum community const owner = data.users.find(({ username }) => username === 'mxstbr'); const noPermissionUser = data.users.find(({ username }) => username === 'bryn'); afterEach(() => { return db .table('channels') .filter({ slug: channel.slug }) .update({ ...channel }) .run(); }); const variables = { input: { name: 'edited name', slug: 'edited-slug', description: 'edited description', isPrivate: false, channelId: channel.id, }, }; it('should edit a channel if user is owner', async () => { const query = /* GraphQL */ ` mutation editChannel($input: EditChannelInput!) { editChannel (input: $input) { name slug description isPrivate } }, `; const context = { user: owner, }; expect.assertions(4); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); expect(result.data.editChannel.name).toEqual(variables.input.name); expect(result.data.editChannel.slug).toEqual(variables.input.slug); expect(result.data.editChannel.description).toEqual( variables.input.description ); }); it('should not edit a channel if user is not owner', async () => { const query = /* GraphQL */ ` mutation editChannel($input: EditChannelInput!) { editChannel (input: $input) { name slug description isPrivate } }, `; const context = { user: noPermissionUser, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should not edit a channel if user is not signed in', async () => { const query = /* GraphQL */ ` mutation editChannel($input: EditChannelInput!) { editChannel (input: $input) { name slug description isPrivate } }, `; expect.assertions(1); const result = await request(query, { variables }); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/channel/queries/__snapshots__/channelSettings.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should fetch a private channels token join settings 1`] = ` Object { "data": Object { "channel": Object { "id": "1", "joinSettings": Object { "token": null, "tokenJoinEnabled": false, }, }, }, } `; ================================================ FILE: api/test/channel/queries/__snapshots__/memberConnection.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should fetch a channels member connection 1`] = ` Object { "data": Object { "channel": Object { "id": "1", "memberConnection": Object { "edges": Array [ Object { "cursor": "My0x", "node": Object { "contextPermissions": null, "id": "3", "name": "Bryn Jackson", }, }, Object { "cursor": "OS0y", "node": Object { "contextPermissions": null, "id": "9", "name": "Community moderator", }, }, Object { "cursor": "MS0z", "node": Object { "contextPermissions": null, "id": "1", "name": "Max Stoiber", }, }, Object { "cursor": "Mi00", "node": Object { "contextPermissions": null, "id": "2", "name": "Brian Lovin", }, }, Object { "cursor": "OC01", "node": Object { "contextPermissions": null, "id": "8", "name": "Channel moderator", }, }, ], "pageInfo": Object { "hasNextPage": false, "hasPreviousPage": null, }, }, }, }, } `; ================================================ FILE: api/test/channel/queries/__snapshots__/root.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should fetch a channel by id 1`] = ` Object { "data": Object { "channel": Object { "createdAt": "2016-12-31T23:00:00.000Z", "description": "General chatter", "id": "1", "isPrivate": false, "name": "General", "slug": "general", }, }, } `; exports[`should fetch a channel by slug and community slug 1`] = ` Object { "data": Object { "channel": Object { "createdAt": "2016-12-31T23:00:00.000Z", "description": "General chatter", "id": "1", "isPrivate": false, "name": "General", "slug": "general", }, }, } `; ================================================ FILE: api/test/channel/queries/channelSettings.test.js ================================================ //@flow import { request } from '../../utils'; import data from 'shared/testing/data'; import { SPECTRUM_GENERAL_CHANNEL_ID, CHANNEL_MODERATOR_USER_ID, } from '../../../migrations/seed/default/constants'; const channelModerator = data.users.find( ({ id }) => id === CHANNEL_MODERATOR_USER_ID ); it('should fetch a private channels token join settings', async () => { const query = /* GraphQL */ ` { channel(id: "${SPECTRUM_GENERAL_CHANNEL_ID}") { id joinSettings { tokenJoinEnabled token } } } `; expect.assertions(3); const result = await request(query, { context: { user: channelModerator } }); const { data: { channel }, } = result; expect(channel.joinSettings.tokenJoinEnabled).toEqual(false); expect(channel.joinSettings.token).toEqual(null); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/channel/queries/memberConnection.test.js ================================================ //@flow import { request } from '../../utils'; import { SPECTRUM_GENERAL_CHANNEL_ID } from '../../../migrations/seed/default/constants'; it('should fetch a channels member connection', async () => { const query = /* GraphQL */ ` { channel(id: "${SPECTRUM_GENERAL_CHANNEL_ID}") { id memberConnection(after: null) { pageInfo { hasNextPage hasPreviousPage } edges { cursor node { id name contextPermissions { communityId } } } } } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/channel/queries/root.test.js ================================================ //@flow import { request } from '../../utils'; import { SPECTRUM_GENERAL_CHANNEL_ID } from '../../../migrations/seed/default/constants'; it('should fetch a channel by id', async () => { const query = /* GraphQL */ ` { channel(id: "${SPECTRUM_GENERAL_CHANNEL_ID}") { id name slug description isPrivate createdAt } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); it('should fetch a channel by slug and community slug', async () => { const query = /* GraphQL */ ` { channel(channelSlug: "general", communitySlug: "spectrum") { id name slug description isPrivate createdAt } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/community/mutations/__snapshots__/editCommunity.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should edit a community name and description 1`] = ` Object { "data": Object { "editCommunity": Object { "description": "new description", "name": "new name", }, }, } `; exports[`should prevent community from being edited by a non owner 1`] = ` Object { "data": Object { "editCommunity": null, }, "errors": Array [ [GraphQLError: You don't have permission to make changes to this community.], ], } `; exports[`should prevent community from being edited by a non user 1`] = ` Object { "data": Object { "editCommunity": null, }, "errors": Array [ [GraphQLError: You must be signed in to make changes to this community.], ], } `; ================================================ FILE: api/test/community/mutations/editCommunity.test.js ================================================ //@flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; // various permissions for Spectrum community const community = data.communities[0]; const owner = data.users.find(({ username }) => username === 'mxstbr'); const member = data.users.find(({ username }) => username === 'bryn'); afterEach(() => { return db .table('communities') .filter({ slug: 'spectrum' }) .update({ name: community.name, description: community.description, }) .run(); }); const variables = { input: { name: 'new name', description: 'new description', communityId: community.id, }, }; it('should edit a community name and description', async () => { const query = /* GraphQL */ ` mutation editCommunity($input: EditCommunityInput!) { editCommunity (input: $input) { name description } }, `; const context = { user: owner }; expect.assertions(3); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); expect(result.data.editCommunity.name).toEqual(variables.input.name); expect(result.data.editCommunity.description).toEqual( variables.input.description ); }); it('should prevent community from being edited by a non owner', async () => { const query = /* GraphQL */ ` mutation editCommunity($input: EditCommunityInput!) { editCommunity (input: $input) { name description } }, `; const context = { user: member }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should prevent community from being edited by a non user', async () => { const query = /* GraphQL */ ` mutation editCommunity($input: EditCommunityInput!) { editCommunity (input: $input) { name description } }, `; expect.assertions(1); const result = await request(query, { variables }); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/community/queries/__snapshots__/communitySettings.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should fetch a communitys settings 1`] = ` Object { "data": Object { "community": Object { "id": "1", }, }, } `; ================================================ FILE: api/test/community/queries/communitySettings.test.js ================================================ //@flow import { request } from '../../utils'; import { SPECTRUM_COMMUNITY_ID } from '../../../migrations/seed/default/constants'; it('should fetch a communitys settings', async () => { const query = /* GraphQL */ ` { community(id: "${SPECTRUM_COMMUNITY_ID}") { id } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/community.test.js ================================================ // @flow import { request } from './utils'; import { SPECTRUM_COMMUNITY_ID } from '../migrations/seed/default/constants'; it('should fetch a community', async () => { const query = /* GraphQL */ ` { community(id: "${SPECTRUM_COMMUNITY_ID}") { id createdAt name slug description website } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); it('should fetch a communities threads', async () => { const query = /* GraphQL */ ` { community(id: "${SPECTRUM_COMMUNITY_ID}") { threadConnection { edges { node { content { title } } } } } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); it('should fetch a list of communities', async () => { const query = /* GraphQL */ ` { communities(slugs: ["spectrum"]) { id createdAt slug description website } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); it('should fetch a list of community members', async () => { const query = /* GraphQL */ ` { community(id: "${SPECTRUM_COMMUNITY_ID}") { id members { pageInfo { hasNextPage hasPreviousPage } edges { cursor node { user { id } isOwner isModerator isMember isBlocked } } } } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/directMessageThread.test.js ================================================ // @flow import { request } from './utils'; import data from 'shared/testing/data'; import { toPlainText, toState } from 'shared/draft-utils'; const messageToPlainText = message => toPlainText(toState(JSON.parse(message.content.body))); const context = { user: data.users.find(({ username }) => username === 'mxstbr'), }; // All the messages in the test DM thread ordered by time, desc const messages = data.messages .filter(({ threadId }) => threadId === 'dm-1') .sort((a, b) => a.timestamp - b.timestamp); it('should fetch a directMessageThread', async () => { const query = /* GraphQL */ ` { directMessageThread(id: "dm-1") { id threadLastActive } } `; expect.assertions(1); const result = await request(query, { context }); expect(result).toMatchSnapshot(); }); describe('messageConnection', () => { it('should fetch a directMessageThreads messages', async () => { const query = /* GraphQL */ ` { directMessageThread(id: "dm-1") { messageConnection(first: 999999) { edges { node { id } } } } } `; expect.assertions(1); const result = await request(query, { context }); expect(result).toMatchSnapshot(); }); it('should fetch the last message first', async () => { const query = /* GraphQL */ ` { directMessageThread(id: "dm-1") { messageConnection(first: 1) { pageInfo { hasNextPage hasPreviousPage } edges { node { id content { body } } } } } } `; expect.assertions(2); const result = await request(query, { context }); expect(result.data.directMessageThread.messageConnection.pageInfo).toEqual({ hasNextPage: true, hasPreviousPage: false, }); expect( messageToPlainText( result.data.directMessageThread.messageConnection.edges[0].node ) ).toEqual(messageToPlainText(messages[messages.length - 1])); }); it('should fetch the second to last message next', async () => { // Get the first message, same as above const query = /* GraphQL */ ` { directMessageThread(id: "dm-1") { messageConnection(first: 1) { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; expect.assertions(3); const result = await request(query, { context }); // Get the cursor of the first message // Make sure pageInfo is calculated correctly expect(result.data.directMessageThread.messageConnection.pageInfo).toEqual({ hasNextPage: true, hasPreviousPage: false, }); const cursor = result.data.directMessageThread.messageConnection.edges[0].cursor; // Generate a query of the first message after the cursor of the last message const nextQuery = /* GraphQL */ ` { directMessageThread(id: "dm-1") { messageConnection(first: 1, after: "${cursor}") { pageInfo { hasNextPage hasPreviousPage } edges { node { content { body } } } } } } `; const nextResult = await request(nextQuery, { context }); expect( nextResult.data.directMessageThread.messageConnection.pageInfo ).toEqual({ hasNextPage: true, hasPreviousPage: true, }); expect( messageToPlainText( nextResult.data.directMessageThread.messageConnection.edges[0].node ) ).toEqual(messageToPlainText(messages[messages.length - 2])); }); }); ================================================ FILE: api/test/message/__snapshots__/queries.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`sender should fetch a user 1`] = ` Object { "data": Object { "message": Object { "author": Object { "id": "1", "user": Object { "username": "mxstbr", }, }, }, }, } `; exports[`should fetch a message 1`] = ` Object { "data": Object { "message": Object { "content": Object { "body": "{\\"blocks\\":[{\\"key\\":\\"9u8bg\\",\\"text\\":\\"This is the first message!\\",\\"type\\":\\"unstyled\\",\\"depth\\":0,\\"inlineStyleRanges\\":[],\\"entityRanges\\":[],\\"data\\":{}}],\\"entityMap\\":{}}", }, "id": "1", "messageType": "draftjs", "timestamp": "2016-12-31T23:00:00.000Z", }, }, } `; ================================================ FILE: api/test/message/mutations/addMessage.test.js ================================================ // @flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; import { fromPlainText, toJSON } from 'shared/draft-utils'; const query = /* GraphQL */ ` mutation sendMessage($message: MessageInput!) { addMessage(message: $message) { content { body } } } `; describe('story', () => { // Find a member of a community const userCommunity = data.usersCommunities.find(({ isMember }) => isMember); const user = data.users.find(({ id }) => id === userCommunity.userId); // Find a thread in the community const thread = data.threads.find( ({ communityId }) => communityId === userCommunity.communityId ); const newMessage = { threadId: thread.id, threadType: 'story', messageType: 'draftjs', content: { body: JSON.stringify(toJSON(fromPlainText('A new message yayzers'))), }, }; afterEach(() => { return Promise.all([ db .table('messages') .filter({ content: { body: newMessage.content.body } }) .delete() .run(), db .table('threads') .get(thread.id) .update(thread) .run(), ]); }); it('should add a new message to the database', async () => { const context = { user }; const variables = { message: newMessage }; expect.hasAssertions(); const result = await request(query, { context, variables }); expect(result.data.addMessage.content.body).toEqual( newMessage.content.body ); }); it("should not allow users who aren't members to send a message", async () => { const context = { user: null }; const variables = { message: newMessage }; expect.hasAssertions(); const result = await request(query, { context, variables }); expect(result.data.addMessage).toEqual(null); expect(result.errors.length).toEqual(1); }); }); describe('directMessageThread', () => { // Find a member of a dm thread const userDmThread = data.usersDirectMessageThreads[0]; const user = data.users.find(({ id }) => id === userDmThread.userId); const dmThread = data.directMessageThreads.find( ({ id }) => id === userDmThread.threadId ); const newMessage = { threadId: userDmThread.threadId, threadType: 'directMessageThread', messageType: 'draftjs', content: { body: JSON.stringify(toJSON(fromPlainText('A new message yayzers'))), }, }; afterEach(() => { return Promise.all([ db .table('messages') .filter({ content: { body: newMessage.content.body } }) .delete() .run(), db .table('directMessageThreads') .get(userDmThread.threadId) .update(dmThread) .run(), ]); }); it('should add a new message to the database', async () => { const context = { user }; const variables = { message: newMessage }; expect.hasAssertions(); const result = await request(query, { context, variables }); expect(result.data.addMessage.content.body).toEqual( newMessage.content.body ); }); it("should not allow users who aren't members to send a message", async () => { const context = { user: null }; const variables = { message: newMessage }; expect.hasAssertions(); const result = await request(query, { context, variables }); expect(result.data.addMessage).toEqual(null); expect(result.errors.length).toEqual(1); }); }); ================================================ FILE: api/test/message/queries.test.js ================================================ // @flow import { request } from '../utils'; import data from 'shared/testing/data'; it('should fetch a message', async () => { const query = /* GraphQL */ ` { message(id: "${data.messages[0].id}") { id timestamp content { body } messageType } } `; expect.hasAssertions(); const result = await request(query); expect(result).toMatchSnapshot(); }); describe('sender', () => { it('should fetch a user', async () => { const query = /* GraphQL */ ` { message(id: "${data.messages[0].id}") { author { id user { username } } } } `; expect.hasAssertions(); const result = await request(query); expect(result).toMatchSnapshot(); }); }); ================================================ FILE: api/test/thread/mutations/__snapshots__/deleteThread.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should be able to delete self-published thread 1`] = ` Object { "data": Object { "deleteThread": true, }, } `; exports[`should be able to delete thread if user owns community 1`] = ` Object { "data": Object { "deleteThread": true, }, } `; exports[`should not delete thread if user doesn't have permissions 1`] = ` Object { "data": Object { "deleteThread": null, }, "errors": Array [ [GraphQLError: You don't have permission to make changes to this thread.], ], } `; exports[`should not delete thread if user is not signed in 1`] = ` Object { "data": Object { "deleteThread": null, }, "errors": Array [ [GraphQLError: You must be signed in to make changes to this thread.], ], } `; ================================================ FILE: api/test/thread/mutations/__snapshots__/publishThread.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should create a thread if user has permissions 1`] = ` Object { "data": Object { "publishThread": Object { "content": Object { "title": "test thread", }, "isLocked": false, "isPublished": true, "type": "DRAFTJS", }, }, } `; exports[`should prevent signed out users from publishing a thread 1`] = ` Object { "data": Object { "publishThread": null, }, "errors": Array [ [GraphQLError: You must be signed in to publish a new thread.], ], } `; exports[`should prevent thread publish if user has no permissions 1`] = ` Object { "data": Object { "publishThread": null, }, "errors": Array [ [GraphQLError: You don't have permission to create threads in this channel.], ], } `; ================================================ FILE: api/test/thread/mutations/deleteThread.test.js ================================================ //@flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; const defaultThread = data.threads[0]; const owner = data.users.find(({ username }) => username === 'mxstbr'); const member = data.users.find(({ username }) => username === 'brian'); const noPermissionUser = data.users.find( ({ username }) => username === 'bad-boy' ); // before each test, makre sure the thread exists to test deletion beforeEach(async () => { const threadExists = await db .table('threads') .get(defaultThread.id) .run(); if (threadExists.deletedAt) { return db .table('threads') .get(defaultThread.id) .update({ deletedAt: db.literal(), }) .run(); } }); const variables = { threadId: defaultThread.id, }; it('should be able to delete self-published thread', async () => { const query = /* GraphQL */ ` mutation deleteThread($threadId: ID!) { deleteThread (threadId: $threadId) }, `; const context = { user: member, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should be able to delete thread if user owns community', async () => { const query = /* GraphQL */ ` mutation deleteThread($threadId: ID!) { deleteThread (threadId: $threadId) }, `; const context = { user: owner, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it("should not delete thread if user doesn't have permissions", async () => { const query = /* GraphQL */ ` mutation deleteThread($threadId: ID!) { deleteThread (threadId: $threadId) }, `; const context = { user: noPermissionUser, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should not delete thread if user is not signed in', async () => { const query = /* GraphQL */ ` mutation deleteThread($threadId: ID!) { deleteThread (threadId: $threadId) }, `; const context = { user: null, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/thread/mutations/publishThread.test.js ================================================ //@flow import { request } from '../../utils'; import db from 'shared/testing/db'; import data from 'shared/testing/data'; // various permissions for Spectrum community const member = data.users.find(({ username }) => username === 'mxstbr'); const noPermissionUser = data.users.find( ({ username }) => username === 'bad-boy' ); afterEach(() => { return db .table('threads') .filter({ content: { title: 'test thread' } }) .delete() .run(); }); const variables = { thread: { channelId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a192', communityId: 'ce2b4488-4c75-47e0-8ebc-2539c1e6a191', type: 'DRAFTJS', content: { title: 'test thread', body: '', }, }, }; it('should create a thread if user has permissions', async () => { const query = /* GraphQL */ ` mutation publishThread($thread: ThreadInput!) { publishThread (thread: $thread) { isPublished isLocked type content { title } } }, `; const context = { user: member, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should prevent thread publish if user has no permissions', async () => { const query = /* GraphQL */ ` mutation publishThread($thread: ThreadInput!) { publishThread (thread: $thread) { isPublished isLocked type content { title } } }, `; const context = { user: noPermissionUser, }; expect.assertions(1); const result = await request(query, { context, variables }); expect(result).toMatchSnapshot(); }); it('should prevent signed out users from publishing a thread', async () => { const query = /* GraphQL */ ` mutation publishThread($thread: ThreadInput!) { publishThread (thread: $thread) { isPublished isLocked type content { title } } }, `; expect.assertions(1); const result = await request(query, { variables }); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/thread/queries/__snapshots__/messageConnection.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`messageConnection should fetch a threads messages 1`] = ` Object { "data": Object { "thread": Object { "messageConnection": Object { "edges": Array [ Object { "node": Object { "id": "1", }, }, Object { "node": Object { "id": "2", }, }, Object { "node": Object { "id": "3", }, }, Object { "node": Object { "id": "4", }, }, ], }, }, }, } `; ================================================ FILE: api/test/thread/queries/__snapshots__/root.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should fetch a thread 1`] = ` Object { "data": Object { "thread": Object { "content": Object { "title": "The first thread! 🎉", }, "createdAt": "2016-12-31T23:00:00.000Z", "id": "thread-1", "isLocked": false, "isPublished": true, "lastActive": "2016-12-31T23:00:00.000Z", "modifiedAt": "2016-12-31T23:00:00.000Z", "type": "DRAFTJS", }, }, } `; ================================================ FILE: api/test/thread/queries/messageConnection.test.js ================================================ // @flow import { request } from '../../utils'; import data from 'shared/testing/data'; import { toPlainText, toState } from 'shared/draft-utils'; const messageToPlainText = message => toPlainText(toState(JSON.parse(message.content.body))); // Get all messages in our test thread and sort them by time const messages = data.messages .filter(({ threadId }) => threadId === 'thread-1') .sort((a, b) => a.timestamp - b.timestamp); describe('messageConnection', () => { it('should fetch a threads messages', async () => { const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: 999999) { edges { node { id } } } } } `; expect.hasAssertions(); const result = await request(query); expect(result.data.thread.messageConnection.edges).toHaveLength( messages.length ); expect(result).toMatchSnapshot(); }); it('should fetch the first message first', async () => { const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: 1) { pageInfo { hasNextPage hasPreviousPage } edges { node { id content { body } } } } } } `; expect.hasAssertions(); const result = await request(query); expect(result.data.thread.messageConnection.edges).toHaveLength(1); expect(result.data.thread.messageConnection.pageInfo).toEqual({ // This is true if there is more messages than this one hasNextPage: messages.length > 1, // This has to be false since it's the first message hasPreviousPage: false, }); expect( messageToPlainText(result.data.thread.messageConnection.edges[0].node) ).toEqual(messageToPlainText(messages[0])); }); it('should fetch the second message next', async () => { // Get the cursor of the first message const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: 1) { edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const cursor = result.data.thread.messageConnection.edges[0].cursor; // Get one message after the cursor of the first message // i.e. the second message const nextQuery = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: 1, after: "${cursor}") { pageInfo { hasNextPage hasPreviousPage } edges { node { content { body } } } } } } `; const nextResult = await request(nextQuery); expect(nextResult.data.thread.messageConnection.edges).toHaveLength(1); expect(nextResult.data.thread.messageConnection.pageInfo).toEqual({ hasNextPage: messages.length > 2, // We know this has a previous page hasPreviousPage: true, }); expect( messageToPlainText(nextResult.data.thread.messageConnection.edges[0].node) ).toEqual(messageToPlainText(messages[1])); }); it('should correctly set pageInfo when more messages are requested than are available', async () => { // Request more messages than there are const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: ${messages.length + 1}) { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const { edges, pageInfo } = result.data.thread.messageConnection; expect(edges).toHaveLength(messages.length); expect(pageInfo).toEqual({ hasNextPage: false, hasPreviousPage: false, }); }); it('should correctly set pageInfo when all messages are requested', async () => { // Request more messages than there are const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: ${messages.length}) { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const { edges, pageInfo } = result.data.thread.messageConnection; expect(edges).toHaveLength(messages.length); expect(pageInfo).toEqual({ hasNextPage: false, hasPreviousPage: false, }); }); it('should correctly set pageInfo when more messages are requested than are available after a cursor', async () => { // Get the cursor of the first message const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: 1) { edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const cursor = result.data.thread.messageConnection.edges[0].cursor; // Get all messages after the cursor of the first message // but get more than are available const nextQuery = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: ${messages.length}, after: "${cursor}") { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; const nextResult = await request(nextQuery); const { edges, pageInfo } = nextResult.data.thread.messageConnection; expect(edges).toHaveLength(messages.length - 1); expect(pageInfo).toEqual({ hasNextPage: false, hasPreviousPage: true, }); }); }); ================================================ FILE: api/test/thread/queries/reversePagination.test.js ================================================ // @flow import { request } from '../../utils'; import data from 'shared/testing/data'; import { toPlainText, toState } from 'shared/draft-utils'; const messageToPlainText = message => toPlainText(toState(JSON.parse(message.content.body))); // Get all messages in our test thread and sort them by time const messages = data.messages .filter(({ threadId }) => threadId === 'thread-1') .sort((a, b) => a.timestamp - b.timestamp); describe('reverse pagination', () => { it('should fetch with reverse pagination', async () => { // Get the first three messages const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(first: 3) { pageInfo { hasNextPage hasPreviousPage } edges { cursor node { content { body } } } } } } `; expect.hasAssertions(); const result = await request(query); // Get the cursor of the first message const { edges, pageInfo } = result.data.thread.messageConnection; expect(edges).toHaveLength(3); // Make sure pageInfo is calculated correctly expect(pageInfo).toEqual({ hasNextPage: messages.length > 3, // We know this can't have a previous page since we fetched the very first one hasPreviousPage: false, }); // Make sure we got the right messages edges.forEach(({ node }, index) => { expect(messageToPlainText(node)).toEqual( messageToPlainText(messages[index]) ); }); // Return the cursor of the last message const cursor = edges[2].cursor; // Get one message before the last message of the first page we just got const nextQuery = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(last: 1, before: "${cursor}") { pageInfo { hasNextPage hasPreviousPage } edges { node { content { body } } } } } } `; const nextResult = await request(nextQuery); expect(nextResult.data.thread.messageConnection.pageInfo).toEqual({ // We know there's more messages on either side of this one hasNextPage: true, hasPreviousPage: true, }); expect( messageToPlainText(nextResult.data.thread.messageConnection.edges[0].node) ).toEqual(messageToPlainText(messages[1])); }); it('should correctly set pageInfo when more messages are requested than are available', async () => { // Request more messages than there are const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(last: ${messages.length + 1}) { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const { edges, pageInfo } = result.data.thread.messageConnection; expect(edges).toHaveLength(messages.length); expect(pageInfo).toEqual({ hasNextPage: false, hasPreviousPage: false, }); }); it('should correctly set pageInfo when all messages are requested', async () => { // Request more messages than there are const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(last: ${messages.length}) { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const { edges, pageInfo } = result.data.thread.messageConnection; expect(edges).toHaveLength(messages.length); expect(pageInfo).toEqual({ hasNextPage: false, hasPreviousPage: false, }); }); it('should correctly set pageInfo when more messages are requested than are available after a cursor', async () => { // Get the cursor of the last message const query = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(last: 1) { edges { cursor } } } } `; expect.hasAssertions(); const result = await request(query); const cursor = result.data.thread.messageConnection.edges[0].cursor; // Get all messages after the cursor of the last message // but get more than are available const nextQuery = /* GraphQL */ ` { thread(id: "thread-1") { messageConnection(last: ${messages.length}, before: "${cursor}") { pageInfo { hasNextPage hasPreviousPage } edges { cursor } } } } `; const nextResult = await request(nextQuery); expect(nextResult.data.thread.messageConnection.edges).toHaveLength( messages.length - 1 ); expect(nextResult.data.thread.messageConnection.pageInfo).toEqual({ hasNextPage: true, hasPreviousPage: false, }); }); }); ================================================ FILE: api/test/thread/queries/root.test.js ================================================ // @flow import { request } from '../../utils'; it('should fetch a thread', async () => { const query = /* GraphQL */ ` { thread(id: "thread-1") { id createdAt modifiedAt lastActive isPublished isLocked type content { title } } } `; expect.hasAssertions(); const result = await request(query); expect(result).toMatchSnapshot(); }); ================================================ FILE: api/test/user.test.js ================================================ // @flow import { request } from './utils'; import { MAX_ID } from '../migrations/seed/default/constants'; describe('queries', () => { it('should fetch a user', async () => { const query = /* GraphQL */ ` { user(id: "${MAX_ID}") { id name description website username email providerId createdAt } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); it('should return null for a non-existent id', async () => { const query = /* GraphQL */ ` { user(id: "non-existent") { id username } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); it('should fetch a users communities', async () => { const query = /* GraphQL */ ` { user(id: "${MAX_ID}") { communityConnection { edges { node { name } } } } } `; expect.assertions(1); const result = await request(query); expect(result).toMatchSnapshot(); }); describe.skip('everything', () => { it('should return the latest thread', async () => { const query = /* GraphQL */ ` { user(id: "${MAX_ID}") { everything(first: 1) { pageInfo { hasNextPage } edges { node { id } } } } } `; expect.assertions(1); const result = await graphql(schema, query); expect(result).toMatchSnapshot(); }); it('should paginate based on the after property', async () => { const query = /* GraphQL */ ` { user(id: "${MAX_ID}") { everything(first: 1, after: "c2Vjb25kLXN0b3J5") { pageInfo { hasNextPage } edges { node { id } } } } } `; expect.assertions(1); const result = await graphql(schema, query); expect(result).toMatchSnapshot(); }); it('should handle first being set to 0 correctly', async () => { const noCursorQuery = /* GraphQL */ ` { user(id: "${MAX_ID}") { everything(first: 0) { pageInfo { hasNextPage } edges { node { id } } } } } `; const cursorQuery = /* GraphQL */ ` { user(id: "${MAX_ID}") { everything(first: 0, after: "Zmlyc3Qtc3Rvcnk=") { pageInfo { hasNextPage } edges { node { id } } } } } `; expect.assertions(2); const result = await graphql(schema, noCursorQuery); expect(result).toMatchSnapshot(); const nextResult = await graphql(schema, cursorQuery); expect(nextResult).toMatchSnapshot(); }); }); }); ================================================ FILE: api/test/utils/__mocks__/debug.js ================================================ // @flow const loggers = {}; function makeLogger() { function logger(...args: any[]) { logger.log.push(args.join(' ')); } logger.log = []; return logger; } module.exports = (namespace: string) => { return (loggers[namespace] = loggers[namespace] || makeLogger()); }; ================================================ FILE: api/test/utils/__snapshots__/create-graphql-error-formatter.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`createGraphQLErrorFormatter logs error path 1`] = ` Array [ "---GraphQL Error---", "Cannot return null for non-nullable field Thread.channel. GraphQL request (9:15) 8: id 9: channel { ^ 10: id ", "path community.threadConnection.edges[0].node.channel", "------------------- ", ] `; exports[`createGraphQLErrorFormatter logs query and variables 1`] = ` Array [ "---GraphQL Error---", "Cannot return null for non-nullable field Thread.channel. GraphQL request (9:15) 8: id 9: channel { ^ 10: id ", "query getCommunityThreadConnection( $id: ID )", "variables {\\"id\\":1}", "path community.threadConnection.edges[0].node.channel", "------------------- ", ] `; ================================================ FILE: api/test/utils/create-graphql-error-formatter.test.js ================================================ // @flow const debug = require('debug')('api:utils:error-formatter'); import { graphql, print } from 'graphql'; import { makeExecutableSchema } from 'graphql-tools'; import createErrorFormatter from '../../utils/create-graphql-error-formatter'; const typeDefs = ` type Community { id: ID! threadConnection(first: Int = 10, after: String): CommunityThreadsConnection! } type CommunityThreadsConnection { edges: [CommunityThreadEdge!] } type CommunityThreadEdge { node: Thread! } type Thread { id: ID! channel: Channel! } type Channel { id: ID! } type Query { community(id: ID): Community } `; const resolvers = { Query: { community: () => ({ id: 1 }), }, Community: { threadConnection: () => ({}), }, CommunityThreadsConnection: { edges: () => [6], }, CommunityThreadEdge: { node: id => ({ id }), }, Thread: { channel: () => null, }, }; const schema = makeExecutableSchema({ typeDefs, resolvers }); const query = ` query getCommunityThreadConnection( $id: ID ){ community( id: $id ) { id threadConnection { edges { node { id channel { id } } } } } } `; const variables = { id: 1 }; describe('createGraphQLErrorFormatter', () => { const stderrWrite = process.stderr.write; afterEach(() => { process.stderr.write = stderrWrite; }); it('returns function', () => { expect(createErrorFormatter()).toBeInstanceOf(Function); }); it('logs error path', async () => { debug.log = []; const result = await graphql(schema, query, null, null, variables); const formatter = createErrorFormatter(); (result.errors || []).forEach(formatter); expect(debug.log).toMatchSnapshot(); }); it('logs query and variables', async () => { debug.log = []; const result = await graphql(schema, query, null, null, variables); const formatter = createErrorFormatter({ body: { query, variables } }); (result.errors || []).forEach(formatter); expect(debug.log).toMatchSnapshot(); }); }); ================================================ FILE: api/test/utils.js ================================================ // @flow import { graphql } from 'graphql'; import createLoaders from '../loaders'; import schema from '../schema'; type Options = { context?: { user?: ?Object, }, variables?: ?Object, }; // Nice little helper function for tests export const request = (query: mixed, { context, variables }: Options = {}) => { return graphql( schema, query, undefined, { loaders: createLoaders(), ...context, }, variables ); }; ================================================ FILE: api/types/Channel.js ================================================ // @flow const Channel = /* GraphQL */ ` type ChannelMembersConnection { pageInfo: PageInfo! edges: [ChannelMemberEdge!] } type ChannelMemberEdge { cursor: String! node: User! } type ChannelThreadsConnection { pageInfo: PageInfo! edges: [ChannelThreadEdge!] } type ChannelThreadEdge { cursor: String! node: Thread! } type ChannelMetaData { threads: Int @deprecated(reason: "metaData.threads is deprecated and always returns 0") members: Int } input EditChannelInput { name: String slug: LowercaseString description: String isPrivate: Boolean channelId: ID! } type Channel @cacheControl(maxAge: 1200) { id: ID! createdAt: Date! modifiedAt: Date name: String! description: String! slug: LowercaseString! isPrivate: Boolean isDefault: Boolean isArchived: Boolean channelPermissions: ChannelPermissions! @cost(complexity: 1) communityPermissions: CommunityPermissions! community: Community! @cost(complexity: 1) @cacheControl(maxAge: 86400) threadConnection(first: Int = 10, after: String): ChannelThreadsConnection! @cost(complexity: 1, multipliers: ["first"]) memberConnection(first: Int = 10, after: String): ChannelMembersConnection! @cost(complexity: 1, multipliers: ["first"]) memberCount: Int! metaData: ChannelMetaData @cost(complexity: 1) moderators: [User] @cost(complexity: 3) owners: [User] @cost(complexity: 3) joinSettings: JoinSettings } extend type Query { channel( id: ID channelSlug: LowercaseString communitySlug: LowercaseString ): Channel @cost(complexity: 1) @cacheControl(maxAge: 1200) } extend type Mutation { editChannel(input: EditChannelInput!): Channel deleteChannel(channelId: ID!): Boolean } `; module.exports = Channel; ================================================ FILE: api/types/Community.js ================================================ // @flow const Community = /* GraphQL */ ` type CommunityChannelsConnection { pageInfo: PageInfo! edges: [CommunityChannelEdge!] } type CommunityChannelEdge { node: Channel! } type CommunityMembersConnection @deprecated(reason: "Use the new Community.members type") { pageInfo: PageInfo! edges: [CommunityMemberEdge!] } type CommunityMemberEdge @deprecated(reason: "Use the new Community.members type") { cursor: String! node: User! } type CommunityMembers { pageInfo: PageInfo! edges: [CommunityMembersEdge!] } type CommunityMembersEdge { cursor: String! node: CommunityMember! } type CommunityThreadsConnection { pageInfo: PageInfo! edges: [CommunityThreadEdge!] } type CommunityThreadEdge { cursor: String! node: Thread! } type CommunityMetaData @cacheControl(maxAge: 1800) { members: Int channels: Int } enum CommunityThreadConnectionSort { latest trending } type Features { analytics: Boolean prioritySupport: Boolean } type StripeCard { brand: String exp_month: Int exp_year: Int last4: String } type StripeSource { id: ID card: StripeCard isDefault: Boolean } type StripeItem { id: ID amount: Int quantity: Int planId: String planName: String } type StripeSubscriptionItem { created: Int planId: String planName: String amount: Int quantity: Int id: String } type StripeDiscount { amount_off: Int percent_off: Int id: String } type StripeSubscription { id: ID created: Int discount: StripeDiscount billing_cycle_anchor: Int current_period_end: Int canceledAt: Int items: [StripeSubscriptionItem] status: String } type StripeInvoice { id: ID date: Int items: [StripeItem] total: Int } type CommunityBillingSettings { pendingAdministratorEmail: LowercaseString administratorEmail: LowercaseString sources: [StripeSource] invoices: [StripeInvoice] subscriptions: [StripeSubscription] } type Community @cacheControl(maxAge: 1200) { id: ID! createdAt: Date name: String! slug: LowercaseString! description: String website: String profilePhoto: String coverPhoto: String pinnedThreadId: String pinnedThread: Thread isPrivate: Boolean redirect: Boolean noindex: Boolean communityPermissions: CommunityPermissions @cost(complexity: 1) channelConnection: CommunityChannelsConnection @cost(complexity: 1) members( first: Int = 10 after: String filter: MembersFilter ): CommunityMembers @cost(complexity: 5, multipliers: ["first"]) threadConnection( first: Int = 10 after: String sort: CommunityThreadConnectionSort = latest ): CommunityThreadsConnection @cost(complexity: 2, multipliers: ["first"]) metaData: CommunityMetaData @cost(complexity: 10) watercooler: Thread joinSettings: JoinSettings watercoolerId: String memberConnection( first: Int = 10 after: String filter: MemberConnectionFilter ): CommunityMembersConnection! @deprecated(reason: "Use the new Community.members type") contextPermissions: ContextPermissions @deprecated(reason: "Use the new CommunityMember type to get permissions") hasFeatures: Features @deprecated(reason: "Payments are no longer used") hasChargeableSource: Boolean @deprecated(reason: "Payments are no longer used") billingSettings: CommunityBillingSettings @deprecated(reason: "Payments are no longer used") invoices: [Invoice] @deprecated(reason: "Payments are no longer used") recurringPayments: [RecurringPayment] @deprecated(reason: "Payments are no longer used") isPro: Boolean @deprecated(reason: "Payments are no longer used") } extend type Query { community(id: ID, slug: LowercaseString): Community @cacheControl(maxAge: 1200) communities( slugs: [LowercaseString] ids: [ID] curatedContentType: String ): [Community] @cacheControl(maxAge: 1200) topCommunities(amount: Int = 20): [Community!] @cost(complexity: 4, multipliers: ["amount"]) recentCommunities: [Community!] } input MembersFilter { isOwner: Boolean isMember: Boolean isBlocked: Boolean isPending: Boolean isModerator: Boolean } input MemberConnectionFilter @deprecated(reason: "Use the new MembersFilter input type") { isOwner: Boolean isMember: Boolean isBlocked: Boolean isPending: Boolean isModerator: Boolean } input EditCommunityInput { name: String description: String website: String file: Upload coverFile: Upload coverPhoto: String communityId: ID! } extend type Mutation { editCommunity(input: EditCommunityInput!): Community deleteCommunity(communityId: ID!): Boolean toggleCommunityRedirect(communityId: ID!): Community toggleCommunityNoindex(communityId: ID!): Community } `; module.exports = Community; ================================================ FILE: api/types/CommunityMember.js ================================================ // @flow const CommunityMember = /* GraphQL */ ` type CommunityMember @cacheControl(maxAge: 600) { id: ID! user: User! roles: [String] isMember: Boolean isModerator: Boolean isOwner: Boolean isBlocked: Boolean isPending: Boolean } extend type Query { communityMember(userId: ID!, communityId: ID!): CommunityMember } `; module.exports = CommunityMember; ================================================ FILE: api/types/DirectMessageThread.js ================================================ // @flow const DirectMessageThread = /* GraphQL */ ` type DirectMessagesConnection { pageInfo: PageInfo! edges: [DirectMessageEdge!] } type DirectMessageEdge { cursor: String! node: Message! } type ParticipantInfo { id: ID! name: String username: String profilePhoto: String userId: ID! } type DirectMessageThread { id: ID! messageConnection( first: Int = 20 after: String ): DirectMessagesConnection! @cost(complexity: 1, multipliers: ["first"]) participants: [ParticipantInfo]! @cost(complexity: 1) snippet: String @cost(complexity: 2) threadLastActive: Date! } extend type Query { directMessageThread(id: ID!): DirectMessageThread directMessageThreadByUserIds(userIds: [ID!]): DirectMessageThread } `; module.exports = DirectMessageThread; ================================================ FILE: api/types/Invoice.js ================================================ // @flow // deprecated 9/27/2018 while removing payments const Invoice = /* GraphQL */ ` type Invoice { id: ID! paidAt: Int amount: Int sourceBrand: String sourceLast4: String planName: String } extend type Query { invoice(id: ID): Invoice } `; module.exports = Invoice; ================================================ FILE: api/types/Message.js ================================================ // @flow const Message = /* GraphQL */ ` enum MessageTypes { text media draftjs } enum ThreadTypes { story directMessageThread } type MessageContent { body: String! } type ReactionData { count: Int! hasReacted: Boolean } type Message @cacheControl(maxAge: 600) { id: ID! timestamp: Date! thread: Thread content: MessageContent! author: ThreadParticipant! @cost(complexity: 2) reactions: ReactionData @cost(complexity: 1) messageType: MessageTypes! parent: Message modifiedAt: Date bot: Boolean sender: User! @deprecated(reason: "Use Message.author field instead") } extend type Query { message(id: ID!): Message getMediaMessagesForThread(threadId: ID!): [Message] } extend type Mutation { deleteMessage(id: ID!): Boolean } `; module.exports = Message; ================================================ FILE: api/types/Reaction.js ================================================ // @flow const Reaction = /* GraphQL */ ` enum ReactionTypes { like } type Reaction @cacheControl(maxAge: 84700) { id: ID! timestamp: Date! message: Message! user: User! type: ReactionTypes! } input ReactionInput { messageId: ID! type: ReactionTypes! } extend type Query { reaction(id: String!): Reaction } `; module.exports = Reaction; ================================================ FILE: api/types/Thread.js ================================================ // @flow const Thread = /* GraphQL */ ` enum ThreadReactionTypes { like } type ThreadReactions { count: Int! hasReacted: Boolean } type ThreadMessagesConnection { pageInfo: PageInfo! edges: [ThreadMessageEdge!] } type ThreadMessageEdge { cursor: String! node: Message! } # The contents of a thread type ThreadContent { title: String body: String media: String } type Edit { timestamp: Date! content: ThreadContent! # editedBy: User! } enum ThreadType { SLATE DRAFTJS TEXT } type Attachment { attachmentType: String data: String } type Thread @cacheControl(maxAge: 1200) { id: ID! createdAt: Date! modifiedAt: Date editedBy: ThreadParticipant @cost(complexity: 2) channel: Channel! community: Community! @cost(complexity: 1) @cacheControl(maxAge: 84700) isPublished: Boolean! content: ThreadContent! isLocked: Boolean isAuthor: Boolean lastActive: Date type: ThreadType edits: [Edit!] messageConnection( first: Int after: String last: Int before: String ): ThreadMessagesConnection! @cost(complexity: 1, multipliers: ["first"]) messageCount: Int @cost(complexity: 1) author: ThreadParticipant! @cost(complexity: 2) watercooler: Boolean reactions: ThreadReactions @cost(complexity: 1) metaImage: String attachments: [Attachment] @deprecated(reason: "Attachments no longer used for link previews") isCreator: Boolean @deprecated(reason: "Use Thread.isAuthor instead") creator: User! @deprecated(reason: "Use Thread.author instead") participants: [User] @cost(complexity: 1) @deprecated(reason: "No longer used") } extend type Query { thread(id: ID!): Thread @cacheControl(maxAge: 1200) } input AttachmentInput { attachmentType: String data: String } input ThreadContentInput { title: String body: String } extend type Mutation { deleteThread(threadId: ID!): Boolean } `; module.exports = Thread; ================================================ FILE: api/types/ThreadParticipant.js ================================================ // @flow const ThreadParticipant = /* GraphQL */ ` type ThreadParticipant { id: ID! user: User! roles: [String] isMember: Boolean isModerator: Boolean isOwner: Boolean isBlocked: Boolean } `; module.exports = ThreadParticipant; ================================================ FILE: api/types/User.js ================================================ // @flow const User = /* GraphQL */ ` type UserCommunitiesConnection { pageInfo: PageInfo! edges: [UserCommunityEdge!] } type UserCommunityEdge { node: Community! } type UserChannelsConnection { pageInfo: PageInfo! edges: [UserChannelEdge!] } type UserChannelEdge { node: Channel! } type UserDirectMessageThreadsConnection { pageInfo: PageInfo! edges: [DirectMessageThreadEdge] } type DirectMessageThreadEdge { cursor: String! node: DirectMessageThread! } type UserThreadsConnection { pageInfo: PageInfo! edges: [UserThreadEdge!] } type UserThreadEdge { cursor: String! node: Thread! } type EverythingThreadsConnection { pageInfo: PageInfo! edges: [EverythingThreadEdge!] } type EverythingThreadEdge { cursor: String! node: Thread! } type NotificationKindSettings { email: Boolean } type NotificationSettingsType { newMessageInThreads: NotificationKindSettings newDirectMessage: NotificationKindSettings newThreadCreated: NotificationKindSettings weeklyDigest: NotificationKindSettings dailyDigest: NotificationKindSettings newMention: NotificationKindSettings } type UserNotificationsSettings { types: NotificationSettingsType } type UserSettings { notifications: UserNotificationsSettings } enum ThreadConnectionType { participant creator } type GithubProfile { id: Int username: String } type User @cacheControl(maxAge: 600) { id: ID! name: String firstName: String description: String website: String username: LowercaseString profilePhoto: String coverPhoto: String email: LowercaseString providerId: String createdAt: Date! timezone: Int pendingEmail: LowercaseString betaSupporter: Boolean @cacheControl(maxAge: 84700) isPro: Boolean @deprecated(reason: "Use the betaSupporter field instead") recurringPayments: [RecurringPayment] @deprecated(reason: "Payments are no longer used") invoices: [Invoice] @deprecated(reason: "Payments are no longer used") # non-schema fields threadCount: Int @cost(complexity: 1) isAdmin: Boolean communityConnection: UserCommunitiesConnection! channelConnection: UserChannelsConnection! directMessageThreadsConnection( first: Int = 15 after: String ): UserDirectMessageThreadsConnection! @cost(complexity: 1, multipliers: ["first"]) threadConnection( first: Int = 10 after: String kind: ThreadConnectionType ): UserThreadsConnection! @cost(complexity: 1, multipliers: ["first"]) everything(first: Int = 10, after: String): EverythingThreadsConnection! @cost(complexity: 1, multipliers: ["first"]) settings: UserSettings @cost(complexity: 1) githubProfile: GithubProfile contextPermissions: ContextPermissions @deprecated(reason: "Use the CommunityMember type to get permissions") } extend type Query { user(id: ID, username: LowercaseString): User @cacheControl(maxAge: 1200) currentUser: User @cacheControl(maxAge: 1200, scope: PRIVATE) } input EditUserInput { file: Upload coverFile: Upload name: String description: String website: String username: LowercaseString timezone: Int email: String } input BanUserInput { userId: String! reason: String! } extend type Mutation { editUser(input: EditUserInput!): User deleteCurrentUser: Boolean banUser(input: BanUserInput!): Boolean } `; module.exports = User; ================================================ FILE: api/types/custom-scalars/LowercaseString.js ================================================ // @flow import { GraphQLScalarType } from 'graphql'; // $FlowIssue import { Kind } from 'graphql/language'; const LowercaseString = new GraphQLScalarType({ name: 'LowercaseString', description: 'Returns all strings in lower case', parseValue(value) { return value.toLowerCase(); }, serialize(value) { return value.toLowerCase(); }, parseLiteral(ast) { if (ast.kind === Kind.STRING) { return ast.value.toLowerCase(); } return null; }, }); export default LowercaseString; ================================================ FILE: api/types/general.js ================================================ // @flow /** * General, reusable types */ const general = /* GraphQL */ ` type PageInfo { hasNextPage: Boolean hasPreviousPage: Boolean } type ChannelPermissions { isMember: Boolean isBlocked: Boolean isPending: Boolean isOwner: Boolean isModerator: Boolean receiveNotifications: Boolean } type CommunityPermissions { isMember: Boolean isBlocked: Boolean isOwner: Boolean isModerator: Boolean isPending: Boolean receiveNotifications: Boolean } type ContextPermissions @deprecated( reason: "Use the CommunityMember or ThreadParticipant type to get permissions" ) { communityId: String isModerator: Boolean isOwner: Boolean isMember: Boolean isBlocked: Boolean } input EmailInviteContactInput { email: LowercaseString! firstName: String lastName: String } input EmailInvitesInput { id: ID! contacts: [EmailInviteContactInput] customMessage: String } type JoinSettings { tokenJoinEnabled: Boolean token: String } type RecurringPayment { plan: String amount: String createdAt: String status: String } enum EntityTypes { communities channels users threads } input UploadImageInput { image: Upload! type: EntityTypes! id: String } extend type Mutation { uploadImage(input: UploadImageInput!): String } `; module.exports = general; ================================================ FILE: api/types/scalars.js ================================================ // @flow /** * Custom scalars (data types, like Int, String,...) live in this file, * both their type definitions and their resolvers */ const GraphQLDate = require('graphql-date'); // NOTE(@mxstbr): We can remove this once we stop using makeExecutableSchema import { GraphQLUpload } from 'apollo-server-express'; import LowercaseString from './custom-scalars/LowercaseString'; const typeDefs = /* GraphQL */ ` scalar Date scalar Upload scalar LowercaseString `; const resolvers = { Date: GraphQLDate, Upload: GraphQLUpload, LowercaseString: LowercaseString, }; module.exports = { typeDefs, resolvers, }; ================================================ FILE: api/utils/UserError.js ================================================ // Taken from https://github.com/kadirahq/graphql-errors export const IsUserError = Symbol('IsUserError'); class UserError extends Error { constructor(...args) { super(...args); this.name = 'Error'; this.message = args[0]; this[IsUserError] = true; Error.captureStackTrace(this, 'Error'); } } export default UserError; ================================================ FILE: api/utils/base64.js ================================================ // @flow /** * Encode a string to base64 (using the Node built-in Buffer) * * Stolen from http://stackoverflow.com/a/38237610/2115623 */ export const encode = (string: string) => Buffer.from(string).toString('base64'); type Base64String = string; /** * Decode a base64 string (using the Node built-in Buffer) * * Stolen from http://stackoverflow.com/a/38237610/2115623 */ export const decode = (string?: Base64String) => (string ? Buffer.from(string, 'base64').toString('ascii') : ''); ================================================ FILE: api/utils/create-graphql-error-formatter.js ================================================ // @flow const debug = require('debug')('api:utils:error-formatter'); import Raven from 'shared/raven'; import { IsUserError } from './UserError'; import type { GraphQLError } from 'graphql'; const queryRe = /\s*(query|mutation)[^{]*/; const collectQueries = query => { if (!query) return 'No query'; return query .split('\n') .map(line => { const m = line.match(queryRe); return m ? m[0].trim() : ''; }) .filter(line => !!line) .join('\n'); }; const errorPath = error => { if (!error.path) return ''; return error.path .map((value, index) => { if (!index) return value; return typeof value === 'number' ? `[${value}]` : `.${value}`; }) .join(''); }; const logGraphQLError = (req, error) => { debug('---GraphQL Error---'); debug(error); error && error.extensions && error.extensions.exception && debug(error.extensions.exception.stacktrace.join('\n')); if (req) { debug(collectQueries(req.body.query)); debug('variables', JSON.stringify(req.body.variables || {})); } const path = errorPath(error); path && debug('path', path); debug('-------------------\n'); }; const createGraphQLErrorFormatter = (req?: express$Request) => ( error: GraphQLError ) => { logGraphQLError(req, error); const err = error.originalError || error; const isUserError = err[IsUserError]; let sentryId = 'ID only generated in production'; if (!isUserError) { if (process.env.NODE_ENV === 'production') { sentryId = Raven.captureException( error, req && Raven.parsers.parseRequest(req) ); } } return { message: isUserError ? error.message : `Internal server error: ${sentryId}`, // Hide the stack trace in production mode stack: !process.env.NODE_ENV === 'production' ? error.stack.split('\n') : null, }; }; export default createGraphQLErrorFormatter; ================================================ FILE: api/utils/file-storage.js ================================================ // @flow require('now-env'); import type { FileUpload, EntityTypes } from 'shared/types'; const { FILE_STORAGE } = process.env; const getUploadImageFn = () => { switch (FILE_STORAGE) { case 'local': return require('./file-system').uploadImage; case 's3': default: return require('./s3').uploadImage; } }; const uploadImageFn = getUploadImageFn(); export const uploadImage = ( file: FileUpload, entity: EntityTypes, id: string ): Promise => uploadImageFn(file, entity, id).catch(err => { throw new Error(err); }); ================================================ FILE: api/utils/file-system.js ================================================ // @flow import uuidv4 from 'uuid/v4'; import fs from 'fs'; import type { FileUpload, EntityTypes } from 'shared/types'; const STORAGE_DIR = 'public/uploads'; const READ_WRITE_MODE = 0o777; const dirExists = (path: string): Promise => new Promise(res => fs.access(path, fs.constants.F_OK, err => res(!!!err))); const createUploadsDir = (path: string): Promise => new Promise(res => fs.mkdir(path, READ_WRITE_MODE, err => { if (err) throw new Error(err); res(); }) ); export const uploadImage = async ( file: FileUpload, entity: EntityTypes, id: string ): Promise => { const result = await file; if (!(await dirExists(STORAGE_DIR))) { await createUploadsDir(STORAGE_DIR); } return new Promise(res => { const filePath = `${uuidv4()}-${entity}-${id}`; const { stream } = result; stream.pipe(fs.createWriteStream(`${STORAGE_DIR}/${filePath}`)); stream.on('end', () => { res(encodeURI(`/uploads/${filePath}`)); }); }); }; ================================================ FILE: api/utils/generate-thread-meta-image-from-text.js ================================================ // @flow // Generates a meta image which shows a title and a footer text on a nice Spectrum background. import theme from 'shared/theme'; import { btoa } from 'b2a'; import { stringify } from 'query-string'; // NOTES(@mxstbr): // Imgix has a useful ~text endpoint that allows us to add text to any image, but unfortunately that endpoint only allows us to add one piece of text to an image—but we need two! // We work around this by generating two images that only contain the text of the title and the footer respectively, nothing else, and then using the blend option to blend the background image with the title image (which only has the title text) and used the mark option to add our footer text as a "watermark" to the footer. const WIDTH = 1500; const IMGIX_TEXT_ENDPOINT = 'https://assets.imgix.net/~text'; const TITLE_PARAMS = { w: WIDTH * 0.8, // 10% padding on each side h: 270, // Magic number, clips text after three lines txtsize: 56, txtlead: 16, txtfont: 'Helvetica,Bold', txtalign: 'left,middle', txtcolor: 'ffffff', // NOTE(@mxstbr): txtclip (i.e. ellipsis on overflowing text) only works with single-line text, which titles aren't, so this doesn't do anything rn txtclip: 'end,ellipsis', }; const FOOTER_PARAMS = { h: 64, txtsize: 36, txtcolor: theme.brand.default.replace('#', ''), txtalign: 'right,middle', txtfont: 'Helvetica,Bold', }; const BACKGROUND_URL = `https://spectrum.imgix.net/default_images/twitter-share-card.png`; type GetMetaImageInput = { title: string, footer: string, }; const generateImageFromText = ({ title, footer, }: GetMetaImageInput): ?string => { const base64title = btoa(title); const base64footer = btoa(footer); if (!base64title || !base64footer) return null; const titleUrl = `${IMGIX_TEXT_ENDPOINT}?${stringify( { ...TITLE_PARAMS, txt64: base64title.replace(/=/g, '') }, { encode: false } )}`; const footerUrl = `${IMGIX_TEXT_ENDPOINT}?${stringify( { ...FOOTER_PARAMS, txt64: base64footer.replace(/=/g, '') }, { encode: false } )}`; const base64titleurl = btoa(titleUrl); const base64footerurl = btoa(footerUrl); if (!base64titleurl || !base64footerurl) return null; const BACKGROUND_PARAMS = { w: WIDTH, bm: 'normal', // Blend the title normally, don't change opacity or color or anything, just overlay it by: 170, // Magic numbers that get the position right bx: 170, markalign: 'left,bottom', // Show the footer on the left side markpad: 24, // We overwrite the X pos, so the padding only applies on the y-axis markx: 140, blend64: btoa(titleUrl).replace(/=/g, ''), mark64: btoa(footerUrl).replace(/=/g, ''), }; return `${BACKGROUND_URL}?${stringify(BACKGROUND_PARAMS, { encode: false })}`; }; export default generateImageFromText; ================================================ FILE: api/utils/get-page-meta.js ================================================ const { parse } = require('url'); const generateMetaInfo = require('../../shared/generate-meta-info'); // Don't even try if the path is / any of these // TODO: Longer, more complete deny list here const PATH_DENY_LIST = ['robots.txt', 'home', 'messages', 'notifications']; type Meta = { title: string, description: string, extra: string, }; export default ( url: string, request: (query: string) => Promise ): Promise => { const { pathname = '' } = parse(url); const [, first, second, third] = pathname.split('/'); if (third || first.length === 0) return Promise.resolve(generateMetaInfo()); let promise; switch (first) { case 'explore': { promise = Promise.resolve(generateMetaInfo({ type: 'explore' })); break; } case 'thread': { /** * Thread */ promise = request(/* GraphQL */ ` { thread(id: "${second}") { content { title body } type channel { name isPrivate } community { profilePhoto } } } `).then(res => { const { thread: { type, content, channel }, } = res.data; return generateMetaInfo({ type: 'thread', data: { title: content.title, type, body: content.body, channelName: channel.name, privateChannel: channel.isPrivate, image: community.profilePhoto, }, }); }); break; } case 'users': { /** * User */ promise = request(/* GraphQL */ ` { user(username: "${second}") { name username description profilePhoto # coverPhoto } } `).then(res => { const { user } = res.data; return generateMetaInfo({ type: 'user', data: { username: user.username, description: user.description, name: user.name, image: user.profilePhoto, }, }); }); break; } default: { const isDenyListed = PATH_DENY_LIST.includes(first); if (second && !isDenyListed) { /** * Channel */ promise = request(/* GraphQL */ ` { channel(channelSlug: "${second}", communitySlug: "${first}") { name description isPrivate community { name profilePhoto } } } `).then(res => { const { channel, channel: { community }, } = res.data; return generateMetaInfo({ type: 'channel', data: { name: channel.name, description: channel.description, communityName: community.name, private: channel.isPrivate, image: community.profilePhoto, }, }); }); } else if (!isDenyListed) { /** * Community */ promise = request(/* GraphQL */ ` { community(slug: "${first}") { name description profilePhoto } } `).then(res => { const { community } = res.data; return generateMetaInfo({ type: 'community', data: { name: community.name, description: community.description, image: community.profilePhoto, }, }); }); } break; } } if (!promise) return Promise.resolve(generateMetaInfo()); return promise.catch(err => { console.error(`⚠️ Failed to load metadata for ${url}! ⚠️`); console.error(err); return generateMetaInfo(); }); }; ================================================ FILE: api/utils/get-random-default-photo.js ================================================ // @flow const faker = require('faker'); // Helper function to get a random profile and cover photo const PALETTE = [ 'blue', 'blush', 'cool', 'green', 'orange', 'peach', 'pink', 'red', 'teal', 'violet', ]; export default () => { const color = faker.random.arrayElement(PALETTE); return { profilePhoto: `/default_images/profile-${color}.png`, coverPhoto: `/default_images/cover-${color}.svg`, }; }; ================================================ FILE: api/utils/is-spectrum-url.js ================================================ // @flow import { URL } from 'url'; import { RELATIVE_URL } from 'shared/regexps'; const IS_PROD = process.env.NODE_ENV === 'production'; const EXPO_URL = /^https:\/\/auth\.expo\.io\//; /** * Make a URL string is a spectrum.chat URL */ export default (url: string): boolean => { if (RELATIVE_URL.test(url)) return true; if (EXPO_URL.test(url)) return true; try { const { hostname, protocol } = new URL(url); // hostname might be spectrum.chat or subdomain.spectrum.chat, so we use .endsWith // We don't just check .contains because otherwise folks could make spectrum.chat.mydomain.com const IS_SPECTRUM_URL = hostname === 'spectrum.chat' || hostname === 'alpha.spectrum.chat'; const IS_LOCALHOST = hostname === 'localhost'; const IS_HTTP = protocol === 'https:' || protocol === 'http:'; // Make sure the passed redirect URL is a spectrum.chat one or (in development) localhost if (IS_HTTP && (IS_SPECTRUM_URL || (!IS_PROD && IS_LOCALHOST))) { return true; } } catch (err) { // Swallow URL parsing errors (when an invalid URL is passed) and redirect to the standard one console.error(`Invalid URL ("${url}") passed. Full error:`); console.error(err); } return false; }; ================================================ FILE: api/utils/markdown-linkify.js ================================================ const Linkify = require('linkify-it'); const linkifier = new Linkify(undefined, { fuzzyEmail: false, }); /** * Replace URLs in text with markdown links * (this is used in a migration script so it has to be Node-compat ES6 only) */ const linkify = (text /*: string*/ /*: string*/) => { const matches = linkifier.match(text); if (!matches) return text; let out = text; let last = 0; const result = []; if (matches) { matches.forEach(function(match) { if (last < match.index) { result.push(text.slice(last, match.index)); } result.push(`[${match.text}](${match.url})`); last = match.lastIndex; }); if (last < text.length) { result.push(text.slice(last)); } out = result.join(''); } return out; }; module.exports = linkify; ================================================ FILE: api/utils/paginate-arrays.js ================================================ // @flow export type PaginationOptions = { first: number, after?: string, }; type Input = any; type Output = { list: Array, hasMoreItems: boolean, }; /** * Paginate an array * * For more complex value pass a getAfter callback to get the index of the cursor */ export default ( arr: Array, { first, after }: PaginationOptions, getAfter?: any => mixed ): Output => { const cursor = getAfter ? arr.findIndex(getAfter) : arr.indexOf(after); const begin = cursor > -1 ? cursor + 1 : 0; const end = begin + first; return { list: arr.slice(begin, end), hasMoreItems: arr.length > end ? true : false, }; }; ================================================ FILE: api/utils/permissions.js ================================================ // @flow import UserError from './UserError'; import type { GraphQLContext } from '../'; import type { DBChannel, DBCommunity, DBUser } from 'shared/types'; import { COMMUNITY_SLUG_DENY_LIST, CHANNEL_SLUG_DENY_LIST, } from 'shared/slug-deny-lists'; import { getThreadById } from '../models/thread'; export const isAdmin = (id: string): boolean => { const admins = [ 'gVk5mYwccUOEKiN5vtOouqroGKo1', '01p2A7kDCWUjGj6zQLlMQUOSQL42', 'VToKcde16dREgDkXcDl3hhcrFN33', ]; return admins.indexOf(id) > -1; }; export const communitySlugIsDenyListed = (slug: string): boolean => { return COMMUNITY_SLUG_DENY_LIST.indexOf(slug) > -1; }; export const channelSlugIsDenyListed = (slug: string): boolean => { return CHANNEL_SLUG_DENY_LIST.indexOf(slug) > -1; }; // prettier-ignore export const isAuthedResolver = (resolver: Function) => async (obj: any, args: any, context: GraphQLContext, info: any) => { if (!context.user || !context.user.id) { return new UserError('You must be signed in to do this') } const user = await context.loaders.user.load(context.user.id) if (!user || user.bannedAt || user.deletedAt) { return new UserError('You must be signed in to do this') } return resolver(obj, args, context, info) } // prettier-ignore const channelExists = async (channelId: string, loaders: any): Promise => { const channel = await loaders.channel.load(channelId); if (!channel || channel.deletedAt) return null; return channel; }; // prettier-ignore const communityExists = async (communityId: string, loaders: any): Promise => { const community = await loaders.community.load(communityId); if (!community || community.deletedAt) return null; return community; }; // prettier-ignore export const canAdministerChannel = async (userId: string, channelId: string, loaders: any) => { if (!userId || !channelId) return false; const channel = await channelExists(channelId, loaders); if (!channel) return false; const [communityPermissions, channelPermissions] = await Promise.all([ loaders.userPermissionsInCommunity.load([userId, channel.communityId]), loaders.userPermissionsInChannel.load([userId, channelId]), ]); if (!communityPermissions) return false; if (communityPermissions.isOwner || communityPermissions.isModerator) return true; if (!channelPermissions) return false; if (channelPermissions.isOwner) return true; return false; }; // prettier-ignore export const canModerateChannel = async (userId: string, channelId: string, loaders: any) => { if (!userId || !channelId) return false; const channel = await channelExists(channelId, loaders); if (!channel) return false; const [communityPermissions, channelPermissions] = await Promise.all([ loaders.userPermissionsInCommunity.load([userId, channel.communityId]), loaders.userPermissionsInChannel.load([userId, channelId]), ]); if (!communityPermissions) return false; if (communityPermissions.isBlocked) return false if (communityPermissions.isOwner || communityPermissions.isModerator) return true if (!channelPermissions) return false; if (channelPermissions.isBlocked) return false return channelPermissions.isOwner || channelPermissions.isModerator }; // prettier-ignore export const canAdministerCommunity = async (userId: string, communityId: string, loaders: any) => { if (!userId || !communityId) return false; const community = await communityExists(communityId, loaders); if (!community) return false; const communityPermissions = await loaders.userPermissionsInCommunity.load([ userId, communityId, ]); if (!communityPermissions) return false if (communityPermissions.isBlocked) return false return communityPermissions.isOwner }; // prettier-igore export const canModerateCommunity = async ( userId: string, communityId: string, loaders: any ) => { if (!userId || !communityId) return false; const community = await communityExists(communityId, loaders); if (!community) return false; const communityPermissions = await loaders.userPermissionsInCommunity.load([ userId, communityId, ]); if (!communityPermissions) return false; if (communityPermissions.isBlocked) return false; return communityPermissions.isOwner || communityPermissions.isModerator; }; // prettier-ignore export const canViewCommunity = async (user: DBUser, communityId: string, loaders: any) => { if (!communityId) return false; const community = await communityExists(communityId, loaders); if (!community) return false; if (!user) { if (community.isPrivate) return false return true } const communityPermissions = await loaders.userPermissionsInCommunity.load([ user.id, communityId, ]); if (community.isPrivate && !communityPermissions) return false; if (communityPermissions && communityPermissions.isBlocked) return false if (community.isPrivate && !communityPermissions.isMember) return false return true; } export const canViewThread = async ( userId: string, threadId: string, loaders: any ) => { const thread = await getThreadById(threadId); if (!thread || thread.deletedAt) return false; const [ channel, community, channelPermissions, communityPermissions, ] = await Promise.all([ loaders.channel.load(thread.channelId), loaders.community.load(thread.communityId), loaders.userPermissionsInChannel.load([userId, thread.channelId]), loaders.userPermissionsInCommunity.load([userId, thread.communityId]), ]); if (!channel || !community) return false; if (channel.deletedAt || community.deletedAt) return false; if (userId) { if (channel.isPrivate) { if ( !channelPermissions || channelPermissions.isBlocked || !channelPermissions.isMember ) { return false; } return true; } if (community.isPrivate) { if ( !communityPermissions || communityPermissions.isBlocked || !communityPermissions.isMember ) { return false; } return true; } if (communityPermissions) { return !communityPermissions.isBlocked; } if (channelPermissions) { return !channelPermissions.isBlocked; } } return !channel.isPrivate && !community.isPrivate; }; export const canViewDMThread = async ( userId: string, threadId: string, loaders: any ) => { if (!userId) return false; const thread = await loaders.directMessageParticipants.load(threadId); if (!thread || !thread.reduction || thread.reduction.length === 0) return false; const participants = thread.reduction; const ids = participants.map(({ userId }) => userId); if (ids.indexOf(userId) === -1) return false; return true; }; // prettier-ignore export const canViewChannel = async (user: DBUser, channelId: string, loaders: any) => { if (!channelId) return false; const channel = await channelExists(channelId, loaders); if (!channel) return false; const community = await communityExists(channel.communityId, loaders); if (!community) return false if (!user) { if (!community.isPrivate && !channel.isPrivate) return true return false } const [ communityPermissions, channelPermissions ] = await Promise.all([ loaders.userPermissionsInCommunity.load([ user.id, community.id, ]), loaders.userPermissionsInChannel.load([ user.id, channel.id, ]) ]) if (channel.isPrivate && !channelPermissions) return false if (community.isPrivate && !communityPermissions) return false if (channel.isPrivate && !channelPermissions.isMember) return false if (community.isPrivate && !communityPermissions.isMember) return false if (channelPermissions && channelPermissions.isBlocked) return false if (communityPermissions && communityPermissions.isBlocked) return false return true } ================================================ FILE: api/utils/s3.js ================================================ // @flow require('now-env'); import AWS from 'aws-sdk'; import uuidv4 from 'uuid/v4'; import _ from 'lodash'; import Raven from 'shared/raven'; import sanitize from 'sanitize-filename'; import UserError from './UserError'; const IS_PROD = process.env.NODE_ENV === 'production'; import type { FileUpload, EntityTypes } from 'shared/types'; let S3_TOKEN = process.env.S3_TOKEN; let S3_SECRET = process.env.S3_SECRET; if (!IS_PROD) { S3_TOKEN = S3_TOKEN || 'asdf123'; S3_SECRET = S3_SECRET || 'asdf123'; } AWS.config.update({ accessKeyId: S3_TOKEN, secretAccessKey: S3_SECRET, apiVersions: { s3: 'latest', }, }); const s3 = new AWS.S3(); // remove the bucket name from the url // the bucket name is not required since it is automatically bound // to our imgix source const generateImageUrl = path => path.replace('spectrum-chat/', ''); export const uploadImage = async ( file: FileUpload, entity: EntityTypes, id: string ): Promise => { const result = await file; const { filename, stream, mimetype } = result; const sanitized = sanitize(filename); const encoded = encodeURIComponent(sanitized); const validMediaTypes = ['image/gif', 'image/jpeg', 'image/png', 'video/mp4']; return new Promise(res => { // mimetype not in the validMediaType collection if (_.indexOf(validMediaTypes, _.toLower(mimetype)) < 0) { const unsupportedMediaTypeError = new UserError( `We aren’t able to support uploads with the type ${mimetype}. Try uploading another image.` ); Raven.captureException(unsupportedMediaTypeError); throw unsupportedMediaTypeError; } const path = `spectrum-chat/${entity}/${id}`; const fileKey = `${uuidv4()}-${encoded}`; return s3.upload( { Bucket: path, Key: fileKey, Body: stream, }, (err, data) => { if (err) throw new Error(err); if (!data || !data.Key) throw new UserError('Image upload failed. Please try again.'); const url = generateImageUrl(data.Key); res(url); } ); }); }; ================================================ FILE: api/utils/session-store.js ================================================ // @flow import session from 'shared/middlewares/session'; const ONE_YEAR = 31556952000; const ONE_DAY = 86400000; const isSerializedJSON = (str: string) => str[0] === '{' && str[str.length - 1] === '}'; /** * Get the sessions' users' ID of a req manually, needed for websocket authentication */ export const getUserIdFromReq = (req: any): Promise => new Promise((res, rej) => { session(req, {}, err => { if (err) { return rej(err); } if (!req.session || !req.session.passport || !req.session.passport.user) { return res(null); } // NOTE(@mxstbr): `req.session.passport.user` used to be just the userID, but is now the full user data // JSON.stringified to avoid having to go to the db on every single request. We have to handle both // cases here to get the ID. if (!isSerializedJSON(req.session.passport.user)) return res(req.session.passport.user); try { return res(JSON.parse(req.session.passport.user).id); } catch (err) { return res(null); } }); }); ================================================ FILE: api/utils/validate-draft-js-input.js ================================================ // @flow export const validateRawContentState = (input: any) => { if ( !input || !input.blocks || !Array.isArray(input.blocks) || !input.entityMap ) { return false; } return true; }; ================================================ FILE: backpack.config.js ================================================ const path = require('path'); const debug = require('debug')('build:backpack'); const dir = process.env.DIR; if (!dir) throw new Error('Define directory to build with the -d option.'); debug( `> Building ${dir}, entry: ${dir}/index.js, output: build-${dir}/main.js` ); module.exports = { webpack: (config, options, webpack) => { config.entry.main = [`./${dir}/index.js`]; config.output.path = path.join(process.cwd(), `build-${dir}`); const nodePath = (process.env.NODE_PATH || '') .split(path.delimiter) .filter(folder => folder && !path.isAbsolute(folder)) .map(folder => path.resolve('./', folder)) .join(path.delimiter); if (process.env.NODE_ENV !== 'production' && !process.env.SSR) { config.plugins.push( new webpack.WatchIgnorePlugin([ path.resolve(__dirname, './src'), path.resolve(__dirname, './build'), ]) ); } // Tell Sentry which server the errors are coming from config.plugins.push( new webpack.DefinePlugin({ 'process.env.SENTRY_NAME': JSON.stringify(dir), }) ); config.resolve.modules.push(nodePath); return config; }, }; ================================================ FILE: config-overrides.js ================================================ /** * Override things of the default create-react-app configuration here * * This is using react-app-rewired by @timarney */ const debug = require('debug')('build:config-overrides'); const webpack = require('webpack'); const { injectBabelPlugin } = require('react-app-rewired'); const rewireStyledComponents = require('react-app-rewire-styled-components'); const rewireReactHotLoader = require('react-app-rewire-hot-loader'); const swPrecachePlugin = require('sw-precache-webpack-plugin'); const fs = require('fs'); const path = require('path'); const match = require('micromatch'); const WriteFilePlugin = require('write-file-webpack-plugin'); const { ReactLoadablePlugin } = require('react-loadable/webpack'); const OfflinePlugin = require('offline-plugin'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const BundleBuddyWebpackPlugin = require('bundle-buddy-webpack-plugin'); const CircularDependencyPlugin = require('circular-dependency-plugin'); // Recursively walk a folder and get all file paths function walkFolder(currentDirPath, callback) { fs.readdirSync(currentDirPath).forEach(name => { // Skip dot files if (name.indexOf('.') === 0) return; var filePath = path.join(currentDirPath, name); var stat = fs.statSync(filePath); if (stat.isFile()) { callback(filePath, stat); } else if (stat.isDirectory()) { walkFolder(filePath, callback); } }); } const isServiceWorkerPlugin = plugin => plugin instanceof swPrecachePlugin; const removeEslint = config => { config.module.rules = config.module.rules.filter(rule => { // Filter the eslint loader based on its options if (rule.use) { return rule.use.every(use => { if (!use.options) return true; return !use.options.eslintPath; }); } return true; }); }; // Make sure webpack transpiles files in the shared folder const transpileShared = config => { config.module.rules.forEach(rule => { if (!rule.oneOf) return; rule.oneOf.forEach(loader => { if (!loader.include) return; if (!loader.options) return; // The loader config we're looking for is for JS files, // so we look whether the config has a babelrc option if (!Object.keys(loader.options).includes('babelrc')) return; // Add the shared folder to the locations // that should be transpiled loader.include = [loader.include, path.resolve(__dirname, './shared')]; }); }); return config; }; module.exports = function override(config, env) { if (process.env.REACT_APP_MAINTENANCE_MODE === 'enabled') { console.error('\n\n⚠️ ----MAINTENANCE MODE ENABLED----⚠️\n\n'); } if (process.env.NODE_ENV === 'development') { config.output.path = path.join(__dirname, './build'); config = rewireReactHotLoader(config, env); config.plugins.push( WriteFilePlugin({ log: true, useHashIndex: false, }) ); } config.plugins.push( new ReactLoadablePlugin({ filename: './build/react-loadable.json', }) ); config = injectBabelPlugin('react-loadable/babel', config); config = transpileShared(config); // Filter the default serviceworker plugin, add offline plugin instead config.plugins = config.plugins.filter( plugin => !isServiceWorkerPlugin(plugin) ); // Get all public files so they're cached by the SW let externals = []; walkFolder('./public/', file => { if (file.indexOf('index.html') > -1) return; externals.push(file.replace(/public/, '')); }); config.plugins.push( new OfflinePlugin({ // We don't want to cache anything caches: {}, externals, autoUpdate: true, // NOTE(@mxstbr): Normally this is handled by setting // appShell: './index.html' // but we don't want to serve the app shell for the `/api` and `/auth` routes // which means we have to manually do this and filter any of those routes out cacheMaps: [ { match: function() { return false; }, requestTypes: ['navigate'], }, ], rewrites: arg => arg, ServiceWorker: { entry: './public/push-sw.js', events: true, prefetchRequest: { mode: 'cors', credentials: 'include', }, }, AppCache: false, }) ); if (process.env.ANALYZE_BUNDLE === 'true') { debug('Bundle analyzer enabled'); config.plugins.push( new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false, }) ); } if (process.env.BUNDLE_BUDDY === 'true') { config.plugins.push(new BundleBuddyWebpackPlugin()); } config.plugins.unshift( new webpack.optimize.CommonsChunkPlugin({ names: ['bootstrap'], filename: 'static/js/[name].[hash].js', minChunks: Infinity, }) ); if (process.env.NODE_ENV === 'production') { removeEslint(config); config.plugins.push(new webpack.optimize.ModuleConcatenationPlugin()); config.plugins.push( new webpack.DefinePlugin({ 'process.env': { SENTRY_DSN_CLIENT: `"${process.env.SENTRY_DSN_CLIENT}"`, }, }) ); // Remove "data-cy" attribute in production config = injectBabelPlugin( ['react-remove-properties', { properties: ['data-cy'] }], config ); } // NOTE(@mxstbr): This works around an issue where webpack was resolving the "module" path of b2a // which breaks when imported on the fronted. We need to import the built version. config.resolve.alias.b2a = path.resolve( __dirname, 'node_modules/b2a/lib/index.js' ); config.plugins.push( new CircularDependencyPlugin({ cwd: process.cwd(), failOnError: true, }) ); return rewireStyledComponents(config, env, { ssr: true }); }; ================================================ FILE: cypress/fixtures/example.json ================================================ { "name": "Using fixtures to represent data", "email": "hello@cypress.io", "body": "Fixtures are a great way to mock data for responses to routes" } ================================================ FILE: cypress/integration/channel/settings/delete_spec.js ================================================ import data from '../../../../shared/testing/data'; const channel = data.channels[0]; const privateChannel = data.channels[1]; const community = data.communities.find( community => community.id === channel.communityId ); const privateCommunity = data.communities.find( community => community.id === privateChannel.communityId ); const { userId: ownerInChannelId } = data.usersChannels.find( ({ channelId, isOwner }) => channelId === channel.id && isOwner ); const { userId: ownerInPrivateChannelId } = data.usersChannels.find( ({ channelId, isOwner }) => channelId === privateChannel.id && isOwner ); describe('deleting general channel', () => { beforeEach(() => { cy.auth(ownerInChannelId).then(() => cy.visit(`/${community.slug}/${channel.slug}/settings`) ); }); it('should not allow general channel to be deleted', () => { cy.get('[data-cy="channel-overview"]').should('be.visible'); cy.get('[data-cy="delete-channel-button"]').should('not.be.visible'); }); }); describe('deleting a channel', () => { beforeEach(() => { cy.auth(ownerInPrivateChannelId).then(() => cy.visit(`/${privateCommunity.slug}/${privateChannel.slug}/settings`) ); }); it('should delete a channel', () => { cy.get('[data-cy="channel-overview"]').should('be.visible'); cy.get('[data-cy="delete-channel-button"]') .should('be.visible') .click(); cy.get('[data-cy="delete-button"]').should('be.visible'); }); }); ================================================ FILE: cypress/integration/channel/settings/edit_spec.js ================================================ import data from '../../../../shared/testing/data'; const channel = data.channels[0]; const community = data.communities.find( community => community.id === channel.communityId ); const { userId: ownerInChannelId } = data.usersChannels.find( ({ channelId, isOwner }) => channelId === channel.id && isOwner ); const NEW_NAME = 'General Update'; const NEW_DESCRIPTION = 'New description'; describe('edit a channel', () => { beforeEach(() => { cy.auth(ownerInChannelId).then(() => cy.visit(`/${community.slug}/${channel.slug}/settings`) ); }); it('should edit a channel', () => { cy.get('[data-cy="channel-overview"]').should('be.visible'); cy.get('[data-cy="channel-members"]').should('be.visible'); cy.get('[data-cy="channel-name-input"]') .should('be.visible') .click() .clear() .type(NEW_NAME); cy.get('[data-cy="channel-description-input"]') .should('be.visible') .click() .clear() .type(NEW_DESCRIPTION); cy.get('[data-cy="save-button"]') .should('be.visible') .click(); cy.visit(`/${community.slug}/${channel.slug}`); cy.contains(NEW_NAME); }); }); ================================================ FILE: cypress/integration/channel/view/membership_spec.js ================================================ import data from '../../../../shared/testing/data'; import constants from '../../../../api/migrations/seed/default/constants'; const publicChannel = data.channels[0]; const privateChannel = data.channels[1]; const community = data.communities.find( community => community.id === publicChannel.communityId ); const { userId: memberInChannelId } = data.usersChannels.find( ({ channelId, isMember, isOwner }) => channelId === publicChannel.id && isMember && !isOwner ); const { userId: memberInPrivateChannelId } = data.usersChannels.find( ({ channelId, isMember }) => channelId === privateChannel.id && isMember ); const QUIET_USER_ID = constants.QUIET_USER_ID; describe('logged out channel membership', () => { beforeEach(() => { cy.visit(`/${community.slug}/${publicChannel.slug}`); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('channel profile as member', () => { beforeEach(() => { cy.auth(memberInChannelId).then(() => cy.visit(`/${community.slug}/${publicChannel.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('channel profile as non-member', () => { beforeEach(() => { cy.auth(QUIET_USER_ID).then(() => cy.visit(`/${community.slug}/${publicChannel.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('private channel profile', () => { describe('private channel as member', () => { beforeEach(() => { cy.auth(memberInPrivateChannelId).then(() => cy.visit(`/${community.slug}/${privateChannel.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('private channel as non-member', () => { beforeEach(() => { cy.auth(QUIET_USER_ID).then(() => cy.visit(`/${community.slug}/${privateChannel.slug}`) ); }); it('should render channel not found view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); }); ================================================ FILE: cypress/integration/channel/view/profile_spec.js ================================================ import data from '../../../../shared/testing/data'; const publicChannel = data.channels[0]; const privateChannel = data.channels[1]; const archivedChannel = data.channels.find(c => c.slug === 'archived'); const deletedChannel = data.channels.find(c => c.slug === 'deleted'); const publicChannelInPrivateCommunity = data.channels.find( c => c.slug === 'private-general' ); const privateCommunity = data.communities.find( community => community.id === publicChannelInPrivateCommunity.communityId ); const community = data.communities.find( community => community.id === publicChannel.communityId ); const bryn = data.users.find(user => user.username === 'bryn'); const { userId: blockedInChannelId } = data.usersChannels.find( ({ channelId, isBlocked }) => channelId === publicChannel.id && isBlocked ); const { userId: memberInPrivateChannelId } = data.usersChannels.find( ({ channelId, isMember }) => channelId === privateChannel.id && isMember ); const { userId: memberInPrivateCommunityId } = data.usersChannels.find( ({ channelId, isMember }) => channelId === publicChannelInPrivateCommunity.id && isMember ); describe('public channel', () => { beforeEach(() => { cy.visit(`/${community.slug}/${publicChannel.slug}`); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('public channel in private community signed out', () => { beforeEach(() => { cy.visit( `/${privateCommunity.slug}/${publicChannelInPrivateCommunity.slug}` ); }); it('should render channel not found view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); describe('public channel in private community with permission', () => { beforeEach(() => { cy.auth(memberInPrivateCommunityId).then(() => cy.visit( `/${privateCommunity.slug}/${publicChannelInPrivateCommunity.slug}` ) ); }); it('should render if user is member of community', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('public channel in private community without permission', () => { beforeEach(() => { cy.auth(bryn.id).then(() => cy.visit( `/${privateCommunity.slug}/${publicChannelInPrivateCommunity.slug}` ) ); }); it('should render channel not found view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); describe('archived channel', () => { beforeEach(() => { cy.visit(`/${community.slug}/${archivedChannel.slug}`); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('deleted channel', () => { beforeEach(() => { cy.visit(`/${community.slug}/${deletedChannel.slug}`); }); it('should render error view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); describe('blocked in public channel', () => { beforeEach(() => { cy.auth(blockedInChannelId).then(() => cy.visit(`/${community.slug}/${publicChannel.slug}`) ); }); it('should render error view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); describe('member in private channel', () => { beforeEach(() => { cy.auth(memberInPrivateChannelId).then(() => cy.visit(`/${community.slug}/${privateChannel.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="channel-view"]').should('be.visible'); }); }); describe('blocked in private channel', () => { beforeEach(() => { cy.auth(blockedInChannelId).then(() => cy.visit(`/${community.slug}/${privateChannel.slug}`) ); }); it('should render channel not found view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); describe('is not logged in', () => { beforeEach(() => { cy.visit(`/${community.slug}/${privateChannel.slug}`); }); it('should render channel not found view', () => { cy.get('[data-cy="channel-view-error"]').should('be.visible'); }); }); ================================================ FILE: cypress/integration/channel/view/threads_spec.js ================================================ import data from '../../../../shared/testing/data'; const channel = data.channels[0]; const community = data.communities.find( community => community.id === channel.communityId ); const { userId: memberInChannelId } = data.usersChannels.find( ({ channelId, isMember, isOwner }) => channelId === channel.id && isMember && !isOwner ); describe('channel threads logged out', () => { beforeEach(() => { cy.visit(`/${community.slug}/${channel.slug}`); }); it('should render list of threads', () => { data.threads .filter(thread => !thread.deletedAt && thread.channelId === channel.id) .forEach(thread => { cy.contains(thread.content.title); }); }); }); describe('channel threads logged in', () => { beforeEach(() => { cy.auth(memberInChannelId).then(() => cy.visit(`/${community.slug}/${channel.slug}`) ); }); it('should render list of threads', () => { data.threads .filter(thread => !thread.deletedAt && thread.channelId === channel.id) .forEach(thread => { cy.contains(thread.content.title); }); }); }); ================================================ FILE: cypress/integration/community/view/profile_spec.js ================================================ import data from '../../../../shared/testing/data'; const publicCommunity = data.communities.find(c => c.slug === 'spectrum'); const privateCommunity = data.communities.find(c => c.slug === 'private'); const publicUsersCommunities = data.usersCommunities .filter( uc => uc.communityId === publicCommunity.id && uc.isMember && (uc.isOwner || uc.isModerator) ) .map(uc => uc.userId); const privateUsersCommunities = data.usersCommunities .filter( uc => uc.communityId === privateCommunity.id && uc.isMember && (uc.isOwner || uc.isModerator) ) .map(uc => uc.userId); const publicTeamMembers = data.users.filter( u => publicUsersCommunities.indexOf(u.id) >= 0 ); const privateTeamMembers = data.users.filter( u => privateUsersCommunities.indexOf(u.id) >= 0 ); const { userId: memberInPublicCommunityId } = data.usersCommunities.find( ({ communityId, isMember }) => communityId === publicCommunity.id && isMember ); const { userId: nonMemberInPublicCommunityId } = data.usersCommunities.find( ({ communityId, isMember, isBlocked }) => communityId === publicCommunity.id && !isMember && !isBlocked ); const { userId: memberInPrivateCommunityId } = data.usersCommunities.find( ({ communityId, isMember }) => communityId === privateCommunity.id && isMember ); const { userId: nonMemberInPrivateCommunityId } = data.usersCommunities.find( ({ communityId, isMember, isBlocked }) => communityId === privateCommunity.id && !isMember && !isBlocked ); describe('public community signed out', () => { beforeEach(() => { cy.visit(`/${publicCommunity.slug}`); }); it('should render profile', () => { cy.get('[data-cy="community-view"]').should('be.visible'); cy.contains(publicCommunity.description); cy.contains(publicCommunity.name); cy.contains(publicCommunity.website); }); it('should render threads', () => { cy.get('[data-cy="community-view-content"]') .scrollIntoView() .should('be.visible'); data.threads .filter( thread => !thread.deletedAt && thread.communityId === publicCommunity.id ) .forEach(thread => cy .contains(thread.content.title) .scrollIntoView() .should('be.visible') ); }); it('should render channels', () => { data.channels .filter(channel => channel.communityId === publicCommunity.id) .filter(channel => !channel.isPrivate) .filter(channel => !channel.deletedAt) .filter(channel => !channel.archivedAt) .forEach(channel => { cy.contains(channel.name) .scrollIntoView() .should('be.visible'); }); }); it('should render team', () => { publicTeamMembers.forEach(user => { cy.contains(user.name) .scrollIntoView() .should('be.visible'); }); }); }); describe('public community signed in without permission', () => { beforeEach(() => { cy.auth(nonMemberInPublicCommunityId).then(() => cy.visit(`/${publicCommunity.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="community-view"]').should('be.visible'); cy.contains(publicCommunity.description); cy.contains(publicCommunity.name); cy.contains(publicCommunity.website); }); it('should render threads', () => { cy.get('[data-cy="community-view-content"]') .scrollIntoView() .should('be.visible'); data.threads .filter( thread => !thread.deletedAt && thread.communityId === publicCommunity.id ) .forEach(thread => cy .contains(thread.content.title) .scrollIntoView() .should('be.visible') ); }); it('should render channels', () => { data.channels .filter(channel => channel.communityId === publicCommunity.id) .filter(channel => !channel.isPrivate) .filter(channel => !channel.deletedAt) .filter(channel => !channel.archivedAt) .forEach(channel => { cy.contains(channel.name) .scrollIntoView() .should('be.visible'); }); }); it('should render team', () => { publicTeamMembers.forEach(user => { cy.contains(user.name) .scrollIntoView() .should('be.visible'); }); }); }); describe('public community signed in with permission', () => { beforeEach(() => { cy.auth(memberInPublicCommunityId).then(() => cy.visit(`/${publicCommunity.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="community-view"]').should('be.visible'); cy.contains(publicCommunity.description); cy.contains(publicCommunity.name); cy.contains(publicCommunity.website); }); }); describe('private community signed out', () => { beforeEach(() => { cy.visit(`/${privateCommunity.slug}`); }); }); describe('private community signed in without permission', () => { beforeEach(() => { cy.auth(nonMemberInPrivateCommunityId).then(() => cy.visit(`/${privateCommunity.slug}`) ); }); it('should render the blocked page', () => { cy.get('[data-cy="community-view-private"]').should('be.visible'); cy.contains('This community is private'); }); }); describe('private community signed in with permissions', () => { beforeEach(() => { cy.auth(memberInPrivateCommunityId).then(() => cy.visit(`/${privateCommunity.slug}`) ); }); it('should render profile', () => { cy.get('[data-cy="community-view"]').should('be.visible'); cy.contains(privateCommunity.description); cy.contains(privateCommunity.name); cy.contains(privateCommunity.website); }); it('should render threads', () => { cy.get('[data-cy="community-view-content"]') .scrollIntoView() .should('be.visible'); data.threads .filter( thread => !thread.deletedAt && thread.communityId === privateCommunity.id ) .forEach(thread => cy.contains(thread.content.title).should('be.visible') ); }); it('should render channels', () => { data.channels .filter(channel => channel.communityId === privateCommunity.id) .filter(channel => !channel.isPrivate) .filter(channel => !channel.deletedAt) .filter(channel => !channel.archivedAt) .forEach(channel => { cy.get('[data-cy="channel-list"]') .contains(channel.name) .scrollIntoView() .should('be.visible'); }); }); it('should render team', () => { privateTeamMembers.forEach(user => { cy.contains(user.name) .scrollIntoView() .should('be.visible'); }); }); }); ================================================ FILE: cypress/integration/community_settings_members_spec.js ================================================ import data from '../../shared/testing/data'; const community = data.communities[0]; const members = data.usersCommunities .filter( ({ communityId, isMember }) => community.id === communityId && isMember ) .map(({ userId }) => data.users.find(({ id }) => id === userId)); const { userId: ownerId } = data.usersCommunities.find( ({ communityId, isOwner }) => communityId === community.id && isOwner ); const channels = data.channels.filter( ({ communityId }) => community.id === communityId ); describe('Community settings members tab', () => { beforeEach(() => { cy.auth(ownerId); }); it('should have a list of the members', () => { cy.visit(`/${community.slug}/settings`); cy .get(`[href="/${community.slug}/settings/members"]`) .should('be.visible') .click(); members.forEach(member => { cy.contains(member.name).should('be.visible'); }); }); }); ================================================ FILE: cypress/integration/community_settings_overview_spec.js ================================================ import data from '../../shared/testing/data'; const community = data.communities[0]; const { userId: ownerId } = data.usersCommunities.find( ({ communityId, isOwner }) => communityId === community.id && isOwner ); const channels = data.channels .filter(({ communityId }) => community.id === communityId) .filter(c => !c.deletedAt); describe('Community settings overview tab', () => { beforeEach(() => { cy.auth(ownerId).then(() => cy.visit(`/${community.slug}/settings`)); }); it('should render the settings overview and allow editing the community metadata', () => { cy.get('[data-cy="community-settings"]').should('be.visible'); cy.contains('Channels'); // Make sure all channels are listed and link to their settings channels.forEach(channel => { cy.contains(channel.name); cy.get(`[href*="${community.slug}/${channel.slug}/settings"]`); }); // Make sure the subnav is rendered correctly cy.get(`[href*="settings/members"]`).should('be.visible'); // Editing const name = 'text'; const description = 'text'; // Change name cy.get('[data-cy="community-settings-name-input"]') .clear() .type(`${name}`); // Change description cy.get('[data-cy="community-settings-description-input"]') .clear() .type(description); const website = 'https://mxstbr.com/bla'; // Change website cy.get('[data-cy="community-settings-website-input"]') .clear() .type(website); // Submit changes cy.get('[data-cy="community-settings-edit-save-button"]').click(); cy.visit(`/${community.slug}`); cy.location('pathname').should('eq', `/${community.slug}`); // Make sure changes were applied cy.contains(description); cy.contains(name); cy.contains(website); // Revert changes cy.visit(`/${community.slug}/settings`); cy.get('[data-cy="community-settings-name-input"]') .clear() .type(community.name); cy.get('[data-cy="community-settings-description-input"]') .clear() .type(community.description); cy.get('[data-cy="community-settings-website-input"]') .clear() .type(community.website); cy.get('[data-cy="community-settings-edit-save-button"]').click(); cy.visit(`/${community.slug}`); cy.location('pathname').should('eq', `/${community.slug}`); cy.contains(community.name); cy.contains(community.description); cy.contains(community.website); }); }); ================================================ FILE: cypress/integration/explore_spec.js ================================================ describe('Login View', () => { beforeEach(() => { cy.visit('/explore'); }); it('should render', () => { cy.get('[data-cy="explore-page"]').should('be.visible'); }); }); ================================================ FILE: cypress/integration/login_spec.js ================================================ describe('Log in', () => { beforeEach(() => { cy.visit('/login'); }); it('should render login methods', () => { cy.get('[data-cy="login-page"]').should('be.visible'); cy.get('[href*="/auth/twitter"]').should('be.visible'); cy.get('[href*="/auth/facebook"]').should('be.visible'); cy.get('[href*="/auth/google"]').should('be.visible'); cy.get('[href*="/auth/github"]').should('be.visible'); cy.get('[href*="github.com/withspectrum/code-of-conduct"]').should( 'be.visible' ); }); }); ================================================ FILE: cypress/integration/messages_spec.js ================================================ import data from '../../shared/testing/data'; const user = data.users.find(user => user.username === 'brian'); describe('/messages', () => { beforeEach(() => { cy.auth(user.id).then(() => cy.visit('/messages')); }); it('should load list of direct messages', () => { cy.contains('Max Stoiber and Bryn Jackson').should('be.visible'); cy.contains('A fifth one').should('be.visible'); cy.contains('Previous member').should('be.visible'); cy.contains('No messages yet...').should('be.visible'); }); it('should select an individual conversation', () => { cy.contains('Max Stoiber and Bryn Jackson') .should('be.visible') .click(); cy.get('[data-cy="dm-header"]').should('be.visible'); cy.get('[data-cy="dm-header"]').contains('Max Stoiber, Bryn Jackson'); cy.get('[data-cy="message"]').should($p => { expect($p).to.have.length(5); }); }); it('should switch conversations', () => { cy.contains('Max Stoiber and Bryn Jackson') .should('be.visible') .click(); cy.get('[data-cy="dm-header"]').should('be.visible'); cy.get('[data-cy="dm-header"]').contains('Max Stoiber, Bryn Jackson'); cy.get('[data-cy="message"]').should($p => { expect($p).to.have.length(5); }); cy.contains('Previous member') .should('be.visible') .click(); cy.get('[data-cy="dm-header"]').should('not.be.visible'); cy.get('[data-cy="message"]').should($p => { expect($p).to.have.length(0); }); }); }); ================================================ FILE: cypress/integration/modal_routes_spec.js ================================================ import data from '../../shared/testing/data'; const user = data.users.find(user => user.username === 'brian'); const pressEscape = () => cy.get('[data-cy="modal-container"]').trigger('keydown', { keyCode: 27 }); const communityBeforeUrlIsValid = () => cy.url().should('eq', 'http://localhost:3000/spectrum?tab=posts'); const channelBeforeUrlIsValid = () => cy.url().should('eq', 'http://localhost:3000/spectrum/general?tab=posts'); describe.skip('thread modal route', () => { const threadSlider = () => cy.get('[data-cy="modal-container"]'); const threadSliderClose = () => cy.get('[data-cy="thread-slider-close"]'); it('handles esc key', () => { cy.visit('/spectrum'); cy.get('[data-cy="thread-card"]') .first() .click(); threadSlider().should('be.visible'); cy.url( 'eq', 'http://localhost:3000/spectrum/private/yet-another-thread~thread-6' ); pressEscape(); communityBeforeUrlIsValid(); threadSlider().should('not.be.visible'); }); it('handles overlay click', () => { cy.visit('/spectrum'); cy.get('[data-cy="thread-card"]') .first() .click(); threadSlider().should('be.visible'); cy.url( 'eq', 'http://localhost:3000/spectrum/private/yet-another-thread~thread-6' ); cy.get('[data-cy="overlay"]').click(200, 200, { force: true }); communityBeforeUrlIsValid(); threadSlider().should('not.be.visible'); }); it('handles close click', () => { cy.visit('/spectrum'); cy.get('[data-cy="thread-card"]') .first() .click(); threadSlider().should('be.visible'); cy.url( 'eq', 'http://localhost:3000/spectrum/private/yet-another-thread~thread-6' ); threadSliderClose().click(); communityBeforeUrlIsValid(); threadSlider().should('not.be.visible'); }); it('handles channel feed', () => { cy.visit('/spectrum/general'); cy.get('[data-cy="thread-card"]') .first() .click(); threadSlider().should('be.visible'); cy.url( 'eq', 'http://localhost:3000/spectrum/spectrum/general/yet-another-thread~thread-9' ); pressEscape(); channelBeforeUrlIsValid(); threadSlider().should('not.be.visible'); }); it('handles thread attachment', () => { cy.auth(user.id); cy.visit('/spectrum/private/yet-another-thread~thread-6'); cy.get('[data-cy="thread-attachment"]') .should('be.visible') .first() .click(); threadSlider().should('be.visible'); pressEscape(); cy.url( 'eq', 'http://localhost:3000/spectrum/private/yet-another-thread~thread-6' ); }); }); ================================================ FILE: cypress/integration/thread/action_bar_spec.js ================================================ import data from '../../../shared/testing/data'; import constants from '../../../api/migrations/seed/default/constants'; const publicChannel = data.channels.find( c => c.id === constants.SPECTRUM_GENERAL_CHANNEL_ID ); const privateChannel = data.channels.find( c => c.id === constants.SPECTRUM_PRIVATE_CHANNEL_ID ); const publicCommunity = data.communities.find( c => c.id === constants.SPECTRUM_COMMUNITY_ID ); const publicThread = data.threads.find( t => t.communityId === publicCommunity.id && t.channelId === publicChannel.id ); const privateThread = data.threads.find( t => t.communityId === publicCommunity.id && t.channelId === privateChannel.id ); const publicThreadAuthor = data.users.find( u => u.id === publicThread.creatorId ); const nonMemberUser = data.users.find(u => u.id === constants.QUIET_USER_ID); const memberInChannelUser = data.users.find(u => u.id === constants.BRYN_ID); const triggerThreadDelete = () => { cy.get('[data-cy="thread-dropdown-delete"]') .first() .click(); cy.get('[data-cy="delete-button"]').should('be.visible'); cy.get('div.ReactModal__Overlay') .should('be.visible') .click('topLeft'); }; const openSettingsDropdown = () => { cy.get('[data-cy="thread-actions-dropdown-trigger"]') .last() .should('be.visible') .click({ force: true }); }; describe('action bar renders', () => { describe('non authed', () => { beforeEach(() => { cy.visit(`/thread/${publicThread.id}`); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); cy.get('[data-cy="thread-actions-dropdown-trigger"]').should( 'not.be.visible' ); }); }); describe('authed non member', () => { beforeEach(() => { cy.auth(nonMemberUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); }); }); describe('authed member', () => { beforeEach(() => { cy.auth(memberInChannelUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); cy.get('[data-cy="thread-actions-dropdown-trigger"]').should( 'not.be.visible' ); }); }); describe('authed private channel member', () => { beforeEach(() => { cy.auth(memberInChannelUser.id).then(() => cy.visit(`/thread/${privateThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); cy.get('[data-cy="thread-actions-dropdown-trigger"]').should( 'not.be.visible' ); }); }); describe('thread author', () => { beforeEach(() => { cy.auth(publicThreadAuthor.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); openSettingsDropdown(); cy.get('[data-cy="thread-actions-dropdown"]').should('be.visible'); // dropdown controls cy.get('[data-cy="thread-dropdown-delete"]').should('be.visible'); }); it('should lock the thread', () => { cy.auth(publicThreadAuthor.id); openSettingsDropdown(); }); it('should trigger delete thread', () => { cy.auth(publicThreadAuthor.id); openSettingsDropdown(); triggerThreadDelete(); }); }); describe('channel moderator', () => { beforeEach(() => { cy.auth(constants.CHANNEL_MODERATOR_USER_ID).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); openSettingsDropdown(); cy.get('[data-cy="thread-actions-dropdown"]').should('be.visible'); cy.get('[data-cy="thread-dropdown-delete"]').should('be.visible'); }); it('should trigger delete thread', () => { cy.auth(constants.CHANNEL_MODERATOR_USER_ID); openSettingsDropdown(); triggerThreadDelete(); }); }); describe('channel owner', () => { beforeEach(() => { cy.auth(constants.CHANNEL_MODERATOR_USER_ID).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); openSettingsDropdown(); cy.get('[data-cy="thread-actions-dropdown"]').should('be.visible'); cy.get('[data-cy="thread-dropdown-delete"]').should('be.visible'); }); it('should trigger delete thread', () => { cy.auth(constants.CHANNEL_MODERATOR_USER_ID); openSettingsDropdown(); triggerThreadDelete(); }); }); describe('community moderator', () => { beforeEach(() => { cy.auth(constants.COMMUNITY_MODERATOR_USER_ID).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); openSettingsDropdown(); cy.get('[data-cy="thread-actions-dropdown"]').should('be.visible'); cy.get('[data-cy="thread-dropdown-delete"]').should('be.visible'); }); it('should trigger delete thread', () => { cy.auth(constants.COMMUNITY_MODERATOR_USER_ID); openSettingsDropdown(); triggerThreadDelete(); }); }); describe('community owner', () => { beforeEach(() => { cy.auth(constants.MAX_ID).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); openSettingsDropdown(); cy.get('[data-cy="thread-actions-dropdown"]').should('be.visible'); cy.get('[data-cy="thread-dropdown-delete"]').should('be.visible'); }); it('should trigger delete thread', () => { cy.auth(constants.MAX_ID); openSettingsDropdown(); triggerThreadDelete(); }); }); }); ================================================ FILE: cypress/integration/thread/view_spec.js ================================================ import data from '../../../shared/testing/data'; import { toPlainText, toState } from '../../../shared/draft-utils'; import constants from '../../../api/migrations/seed/default/constants'; const publicChannel = data.channels.find( c => c.id === constants.SPECTRUM_GENERAL_CHANNEL_ID ); const privateChannel = data.channels.find( c => c.id === constants.SPECTRUM_PRIVATE_CHANNEL_ID ); const publicCommunity = data.communities.find( c => c.id === constants.SPECTRUM_COMMUNITY_ID ); const publicThread = data.threads.find( t => t.communityId === publicCommunity.id && t.channelId === publicChannel.id ); const deletedThread = data.threads.find(t => t.deletedAt); const privateThread = data.threads.find( t => t.communityId === publicCommunity.id && t.channelId === privateChannel.id ); const publicThreadAuthor = data.users.find( u => u.id === publicThread.creatorId ); const nonMemberUser = data.users.find(u => u.id === constants.QUIET_USER_ID); const memberInChannelUser = data.users.find(u => u.id === constants.BRIAN_ID); const blockedChannelUser = data.usersChannels.find( u => u.id === constants.BLOCKED_USER_ID ); const blockedCommunityUser = data.usersCommunities.find( u => u.id === constants.BLOCKED_USER_ID ); describe('sidebar components on thread view', () => { describe('non authed', () => { beforeEach(() => { cy.visit(`/thread/${publicThread.id}`); }); it('should render', () => { // loaded community info cy.get('[data-cy="community-profile-card"]') .scrollIntoView() .should('be.visible'); }); }); describe('authed non member', () => { beforeEach(() => { cy.auth(nonMemberUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { // loaded community info cy.get('[data-cy="community-profile-card"]') .scrollIntoView() .should('be.visible'); }); }); describe('authed member', () => { beforeEach(() => { cy.auth(memberInChannelUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { // loaded community info cy.get('[data-cy="community-profile-card"]') .scrollIntoView() .should('be.visible'); // loaded join button which directs to login cy.get('[data-cy="community-profile-card"]') .scrollIntoView() .should('be.visible'); }); }); }); describe('public thread', () => { describe('not authed', () => { beforeEach(() => { cy.visit(`/thread/${publicThread.id}`); }); it('should render', () => { // loaded thread view cy.get('[data-cy="thread-view"]').should('be.visible'); // thread data loaded cy.contains(publicThread.content.title); cy.contains( toPlainText(toState(JSON.parse(publicThread.content.body))).split( ' ' )[0] ); // thread author info loaded cy.contains(publicThreadAuthor.name); cy.contains(publicThreadAuthor.username); cy.get(`[href*="/users/${publicThreadAuthor.username}"]`).should( 'be.visible' ); }); }); describe('authed as non member', () => { beforeEach(() => { cy.auth(nonMemberUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { // loaded thread view cy.get('[data-cy="thread-view"]').should('be.visible'); }); }); describe('authed as member', () => { beforeEach(() => { cy.auth(memberInChannelUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); }); }); describe('authed as blocked channel user', () => { beforeEach(() => { cy.auth(blockedChannelUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); describe('authed as blocked community user', () => { beforeEach(() => { cy.auth(blockedCommunityUser.id).then(() => cy.visit(`/thread/${publicThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); }); describe('private thread', () => { describe('not authed', () => { beforeEach(() => { cy.visit(`/thread/${privateThread.id}`); }); it('should render', () => { // loaded thread view cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); describe('authed as non member', () => { beforeEach(() => { cy.auth(nonMemberUser.id).then(() => cy.visit(`/thread/${privateThread.id}`) ); }); it('should render', () => { // loaded thread view cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); describe('authed as member', () => { beforeEach(() => { cy.auth(memberInChannelUser.id).then(() => cy.visit(`/thread/${privateThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); }); }); describe('authed as blocked channel user', () => { beforeEach(() => { cy.auth(blockedChannelUser.id).then(() => cy.visit(`/thread/${privateThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); describe('authed as blocked community user', () => { beforeEach(() => { cy.auth(blockedCommunityUser.id).then(() => cy.visit(`/thread/${privateThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); }); describe('deleted thread', () => { describe('not authed', () => { beforeEach(() => { cy.visit(`/thread/${deletedThread.id}`); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); describe('authed', () => { beforeEach(() => { cy.auth(nonMemberUser.id).then(() => cy.visit(`/thread/${deletedThread.id}`) ); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('not.be.visible'); cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); }); ================================================ FILE: cypress/integration/thread_spec.js ================================================ import { toPlainText, toState } from '../../shared/draft-utils'; import data from '../../shared/testing/data'; import { SPECTRUM_PRIVATE_CHANNEL_ID, QUIET_USER_ID, } from '../../api/migrations/seed/default/constants'; // Public const thread = data.threads[0]; const community = data.communities.find( community => community.id === thread.communityId ); const moderator = data.usersCommunities .filter(usersCommunity => usersCommunity.communityId === community.id) .find(usersCommunity => usersCommunity.isOwner); const author = data.users.find(user => user.id === thread.creatorId); const messages = data.messages.filter( message => message.threadId === thread.id ); // Private const privateThread = data.threads.find( thread => thread.channelId === SPECTRUM_PRIVATE_CHANNEL_ID ); const privateAuthor = data.users.find( user => user.id === privateThread.creatorId ); describe('Thread View', () => { describe('Public', () => { beforeEach(() => { cy.visit(`/thread/${thread.id}`); }); it('should render', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); cy.contains(thread.content.title); cy.contains( toPlainText(toState(JSON.parse(thread.content.body))).split(' ')[0] ); cy.contains(author.name); cy.contains(author.username); cy.get(`[href*="/users/${author.username}"]`).should('be.visible'); cy.get(`[href*="/${community.slug}"]`).should('be.visible'); cy.get('[data-cy="message-group"]').should('be.visible'); messages.forEach(message => { cy.contains(toPlainText(toState(JSON.parse(message.content.body)))); }); }); }); describe('Public (authenticated)', () => { beforeEach(() => { cy.auth(author.id).then(() => cy.visit(`/thread/${thread.id}`)); }); }); describe('Private', () => { beforeEach(() => { cy.auth(QUIET_USER_ID).then(() => cy.visit(`/thread/${privateThread.id}`) ); }); it("should not allow logged-in users to send private messages if they don't have permission", () => { cy.get('[data-cy="null-thread-view"]').should('be.visible'); }); }); describe('Loading a thread with a message query parameter', () => { beforeEach(() => { cy.auth(author.id).then(() => cy.visit(`/thread/thread-1?m=MTQ4MzIyNTIwMDAwMQ==`) ); }); it('should load only messages after the selected message', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); // ensure messages have loaded cy.contains('This is the first message!').should('not.be.visible'); // the first message should be selected cy.get('[data-cy="message-selected"]').should('be.visible'); // only one message should be selected cy.get('[data-cy="message-selected"]').should($p => { expect($p).to.have.length(1); }); // the other messages should be unselected cy.get('[data-cy="message"]').should($p => { expect($p).to.have.length(3); }); }); }); describe('message timestamp', () => { beforeEach(() => { cy.auth(author.id).then(() => cy.visit(`/thread/${thread.id}`)); }); it('should link the thread with message query param', () => { cy.get('[data-cy="thread-view"]').should('be.visible'); // ensure messages have loaded cy.contains('This is the first message!').should('be.visible'); // click the copy link icon on the first message cy.get('[data-cy="message-timestamp"]') .first() .should('be.visible') .click({ force: true }); cy.url().should('contain', `?m=MTQ4MzIyNTE5OTk5OQ==`); }); }); describe('delete message as message author', () => { beforeEach(() => { cy.auth(author.id).then(() => cy.visit(`/thread/${thread.id}`)); }); it('should allow a user to delete their own message', () => { // the last message should have delete action in the message action bar cy.get('[data-cy="delete-message"]').should('be.visible'); // there should only be one deletable message cy.get('[data-cy="delete-message"]').should($p => { expect($p).to.have.length(1); }); // clicking delete message should open double check modal cy.get('[data-cy="delete-message"]') .last() .click({ force: true }); // modal should open cy.get('[data-cy="delete-button"]').should('be.visible'); }); }); describe('delete message as community moderator', () => { beforeEach(() => { cy.auth(moderator.userId).then(() => cy.visit(`/thread/${thread.id}`)); }); it('should allow a user to delete all messages', () => { // the last message should have delete action in the message action bar cy.get('[data-cy="delete-message"]').should('be.visible'); // there should only be one deletable message cy.get('[data-cy="delete-message"]').should($p => { expect($p).to.have.length(4); }); // clicking delete message should open double check modal cy.get('[data-cy="delete-message"]') .last() .click({ force: true }); // modal should open cy.get('[data-cy="delete-button"]').should('be.visible'); }); }); }); ================================================ FILE: cypress/integration/toasts_spec.js ================================================ import data from '../../shared/testing/data'; const user = data.users[0]; const toastMessage = 'This is a long toast message'; describe('Toasts and url query paramaters', () => { beforeEach(() => { cy.auth(user.id); }); it('should show toast', () => { const url = new URL('http://localhost:3000/me/settings'); url.searchParams.append('toastType', 'success'); url.searchParams.append('toastMessage', toastMessage); cy.visit(url.toString()); cy.get('[data-cy="toast-success"]').contains(toastMessage); cy.url().should('eq', 'http://localhost:3000/users/mxstbr/settings'); }); it('should not show toast if no toastType', () => { const url = new URL('http://localhost:3000/me/settings'); url.searchParams.append('toastMessage', toastMessage); cy.visit(url.toString()); cy.get('[data-cy="toast-success"]').should('have.length', 0); cy.url().should('eq', 'http://localhost:3000/users/mxstbr/settings'); }); it('should not show toast if no toastMessage', () => { const url = new URL('http://localhost:3000/me/settings'); url.searchParams.append('toastType', 'success'); cy.visit(url.toString()); cy.get('[data-cy="toast-success"]', { timeout: 1 }).should( 'have.length', 0 ); cy.url().should('eq', 'http://localhost:3000/users/mxstbr/settings'); }); it('should not show toast if invalid toastType', () => { const url = new URL('http://localhost:3000/me/settings'); url.searchParams.append('toastType', 'foo'); cy.visit(url.toString()); cy.get('[data-cy="toast-success"]', { timeout: 1 }).should( 'have.length', 0 ); cy.url().should('eq', 'http://localhost:3000/users/mxstbr/settings'); }); it('should preserve existing query parameters', () => { const url = new URL( 'http://localhost:3000/spectrum/general/another-thread~thread-2?m=MTQ4MzIyNTIwMDAwMg==' ); url.searchParams.append('toastType', 'success'); url.searchParams.append('toastMessage', toastMessage); cy.visit(url.toString()); cy.get('[data-cy="toast-success"]', { timeout: 100 }).should( 'have.length', 1 ); cy.url().should( 'eq', 'http://localhost:3000/spectrum/general/another-thread~thread-2?m=MTQ4MzIyNTIwMDAwMg==' ); }); }); ================================================ FILE: cypress/integration/user/delete_user_spec.js ================================================ import data from '../../../shared/testing/data'; const user = data.users[0]; describe.skip('can view delete controls in settings', () => { beforeEach(() => { cy.auth(user.id).then(() => cy.visit(`/users/${user.username}/settings`)); }); it('should render delete account section', () => { // scroll to delete account segment cy.get('[data-cy="user-settings"]').should('be.visible'); cy.get('[data-cy="delete-account-container"]').scrollIntoView(); cy.get('[data-cy="delete-account-container"]').should('be.visible'); // should warn about owning communities since users[0] is max cy.get('[data-cy="owns-communities-notice"]').should('be.visible'); // init delete cy.get('[data-cy="delete-account-init-button"]') .should('be.visible') .click(); // should see option to confirm or cancel cy.get('[data-cy="delete-account-confirm-button"]').should('be.visible'); // click cancel cy.get('[data-cy="delete-account-cancel-button"]') .should('be.visible') .click(); // after canceling it should reset cy.get('[data-cy="delete-account-init-button"]') .should('be.visible') .click(); // actually delete the account cy.get('[data-cy="delete-account-confirm-button"]') .should('be.visible') .click(); // should sign out and go to home page cy.get('[data-cy="home-page"]').should('be.visible'); // user should be deleted cy.visit(`/users/${user.username}`); cy.get('[data-cy="user-not-found"]').should('be.visible'); }); }); ================================================ FILE: cypress/integration/user/edit_user_spec.js ================================================ import data from '../../../shared/testing/data'; const user = data.users[0]; const NEW_NAME = 'Brian Edited'; const NEW_DESCRIPTION = 'Description Edited'; const NEW_WEBSITE = 'Website Edited'; describe('edit a user', () => { beforeEach(() => { cy.auth(user.id).then(() => cy.visit(`/me/settings`)); }); it('should edit a user', () => { cy.get('[data-cy="user-edit-form"]').should('be.visible'); cy.get('[data-cy="user-name-input"]') .should('be.visible') .click() .clear() .type(NEW_NAME); cy.get('[data-cy="user-description-input"]') .should('be.visible') .click() .clear() .type(NEW_DESCRIPTION); cy.get('[data-cy="user-email-input"]').should('be.visible'); cy.get('[data-cy="user-website-input"]') .should('be.visible') .click() .clear() .type(NEW_WEBSITE); cy.get('[data-cy="save-button"]') .should('be.visible') .click(); cy.visit(`/me`); cy.get('[data-cy="user-view"]').should('be.visible'); cy.get('[data-cy="user-view"]').contains(NEW_NAME); cy.get('[data-cy="user-view"]').contains(NEW_DESCRIPTION); cy.get('[data-cy="user-view"]').contains(NEW_WEBSITE); }); }); ================================================ FILE: cypress/integration/user/me_redirect_spec.js ================================================ import data from '../../../shared/testing/data'; const user = data.users[0]; describe('can view current user settings at /me', () => { beforeEach(() => { cy.auth(user.id); }); it('should render user profile', () => { cy.visit('/me'); cy.location('pathname').should('eq', `/users/${user.username}`); cy.get('[data-cy="user-view"]').should('be.visible'); cy.contains(user.username); cy.contains(user.name); cy.contains(user.description); }); }); describe('can view current user settings at /me/settings', () => { beforeEach(() => { cy.auth(user.id); }); it('should render settings', () => { cy.visit('/me/settings'); cy.location('pathname').should('eq', `/users/${user.username}/settings`); cy.get('[data-cy="user-settings"]').should('be.visible'); }); }); describe('loads login view at /me if no current user', () => { beforeEach(() => { cy.visit(`/me`); }); it('should render login', () => { cy.get('[data-cy="login-page"]').should('be.visible'); }); }); ================================================ FILE: cypress/integration/user_spec.js ================================================ import data from '../../shared/testing/data'; const user = data.users[1]; const communities = data.communities; const channels = data.channels; const threads = data.threads; const publicAuthoredThreads = threads.filter(thread => { const community = communities.find( community => community.id === thread.communityId ); const channel = channels.find(channel => channel.id === thread.channelId); return ( thread.creatorId === user.id && !community.isPrivate && !channel.isPrivate ); }); describe('User View', () => { it('should render', () => { cy.visit(`/users/${user.username}`); cy.get('[data-cy="user-view"]').should('be.visible'); cy.contains(user.username); cy.contains(user.name); cy.contains(user.description); cy.contains(user.website); cy.get('[data-cy="thread-feed"]').should('be.visible'); publicAuthoredThreads.forEach(thread => { cy.contains(thread.content.title); }); }); it('should list the public communities a user is a member of, including their rep in that community', () => { cy.visit(`/users/${user.username}`); cy.get('[data-cy="user-view"]').should('be.visible'); const usersCommunities = data.usersCommunities.filter( ({ userId }) => userId === user.id ); const communityIds = usersCommunities.map(({ communityId }) => communityId); const communities = data.communities.filter( ({ id, isPrivate }) => communityIds.includes(id) && isPrivate !== true ); communities.forEach(community => { cy.contains(community.name); }); }); }); ================================================ FILE: cypress/plugins/index.js ================================================ const browserify = require('@cypress/browserify-preprocessor'); module.exports = (on, config) => { const options = browserify.defaultOptions; options.browserifyOptions.transform[1][1].presets.push('@babel/preset-flow'); on('file:preprocessor', browserify(options)); }; ================================================ FILE: cypress/support/commands.js ================================================ // *********************************************** // This example commands.js shows you how to // create various custom commands and overwrite // existing commands. // // For more comprehensive examples of custom // commands please read more here: // https://on.cypress.io/custom-commands // *********************************************** import { encode } from '../../api/utils/base64'; import data from '../../shared/testing/data'; const getUser = userId => data.users.find(user => user.id === userId); Cypress.Commands.add('auth', userId => { const user = getUser(userId); return cy.setCookie( 'session', encode(JSON.stringify({ passport: { user: user.id } })), { httpOnly: true, secure: false, } ); }); Cypress.Commands.add('resetdb', () => { cy.exec( `node -e "const teardown = require('./shared/testing/teardown.js')().then(() => process.exit())"` ); cy.exec( `node -e "const setup = require('./shared/testing/setup.js')().then(() => process.exit())"` ); }); Cypress.Commands.overwrite('type', (originalFn, $elem, text, options) => { const textarea = $elem[0]; // If it's a DraftJS editor, simulate text events if (textarea.attributes.contenteditable) { var textEvent = document.createEvent('TextEvent'); textEvent.initTextEvent('textInput', true, true, null, text); textarea.dispatchEvent(textEvent); return Promise.resolve($elem); // Else just use the vanilla .type } else { return originalFn($elem, text, options); } }); ================================================ FILE: cypress/support/index.js ================================================ // *********************************************************** // This example support/index.js is processed and // loaded automatically before your test files. // // This is a great place to put global configuration and // behavior that modifies Cypress. // // You can change the location of this file or turn off // automatically serving support files with the // 'supportFile' configuration option. // // You can read more here: // https://on.cypress.io/configuration // *********************************************************** // Import commands.js using ES2015 syntax: import './commands'; require('cypress-plugin-retries'); before(() => { cy.resetdb(); cy.clearLocalStorage(); cy.clearCookies(); }); beforeEach(() => { cy.resetdb(); cy.clearLocalStorage(); cy.clearCookies(); }); ================================================ FILE: cypress.json ================================================ { "baseUrl": "http://localhost:3000", "viewportWidth": 1300, "defaultCommandTimeout": 20000, "env": { "DEBUG": "src*,testing*,build*" }, "projectId": "6a92uk" } ================================================ FILE: docker/Dockerfile.api ================================================ # Base builder # # FROM node:12 AS builder WORKDIR /usr/src/spectrum COPY package.json yarn.lock ./ RUN yarn COPY . . # API builder # # FROM builder AS builder-api WORKDIR /usr/src/spectrum RUN yarn --cwd ./api RUN yarn run build:api RUN cp -r ./api/node_modules ./build-api # API image # # FROM node:12 AS api COPY --from=builder-api /usr/src/spectrum/build-api /usr/src/api WORKDIR /usr/src/api CMD ["yarn", "run", "start"] ================================================ FILE: docker/Dockerfile.hyperion ================================================ FROM node:12 AS builder WORKDIR /usr/src/spectrum COPY package.json yarn.lock ./ RUN yarn COPY . . FROM builder AS builder-hyperion RUN yarn --cwd ./hyperion RUN yarn run build:hyperion RUN yarn --cwd ./build-hyperion FROM node:12 AS hyperion COPY --from=builder-hyperion /usr/src/spectrum/build-hyperion /usr/src/spectrum-hyperion WORKDIR /usr/src/spectrum-hyperion CMD ["yarn", "run", "start"] ================================================ FILE: docs/admin/intro.md ================================================ [Table of contents](../readme.md) # Admin This directory runs an internal application for viewing core metrics on the platform. While it can be built and run locally, we don't encourage contributors to spend much time here as the dashboard itself will only ever be used internally by the Spectrum team. The code can of course be reviewed for those interested to see what kind of numbers and tools are accessible to our team. ================================================ FILE: docs/api/graphql/fragments.md ================================================ [Table of contents](../../readme.md) / [API](../intro.md) / [GraphQL](./intro.md) # Fragments Fragments help us to always know exactly what kind of data will be returned for a given query and ensure that we are consistent in what data should be returned to any given component. Imagine we wrote two queries like this: ``` # query 1 user { uid displayName } # query 2 user { uid username } ``` If these queries get implemented in different places, for different components, we're going to end up with a confusing mess where we never really know what information we have access to when writing our react components. We might accidentally write `{ user.username }` expecting that data to exist, but alas we wrote the featuring using query 1. Oops. Fragments are an important part of how we query our GraphQL API from the frontend and you'll be using them constantly. ## Example Here's a real-life example of how you would use fragments to query our API: ```js import { gql } from 'react-apollo'; export const userInfoFragment = gql` fragment userInfo on User { uid photoURL displayName username } `; ``` And here's how that would look in a query file: ```js const getUser = gql` query getUser($username: String, $after: String) { user(username: $username) { ...userInfo } } ${userInfoFragment} `; ``` By using this fragment, we can always ensure we're getting back the data we need and start to build up an internal mental model of what data we have access to regardless of where we're working in the app. This is especially useful for when we want to handle some pagination logic. We can just use a fragment to both a) save ourselves the hassle of writing a big query and 2) ensure we haven't forgotten a key field (like `cursor`) during implementation. Like this: ```js export const userCommunitiesFragment = gql` fragment userCommunities on User { communityConnection { pageInfo { hasNextPage hasPreviousPage } edges { node { ...communityInfo } } } } ${communityInfoFragment} `; ``` Notice there that we're using a sub-fragment to get the `communityInfo`, too! That looks like: ```js export const communityInfoFragment = gql` fragment communityInfo on Community { id name slug } `; ``` And now we've saved ourselves time, and ensured that we will always have access to critical data about the communities, even if we are writing a query against the user. ## Structure ![screenshot 2017-05-02 17 06 31](https://cloud.githubusercontent.com/assets/1923260/25644273/b6ac5daa-2f59-11e7-916d-2f985fff6237.png) The reason these fragments are so obnoxiously granular is because there are times when you might have circular fragment requirements, which don't play well with webpack at the moment. For example, a user might require a story, which might require a user. So the files are importing each other and it breaks. To solve this I've made super granular fragments in individual files. I've found it's somewhat useful from a naming convention point of view, and makes it super clear when importing files and actually using the fragments in a query. ## Performance notes Fragments make it tempting to create really deep queries, but that's a bad idea for performance reasons. Therefore, fragments themselves should be as shallow as possible to combat this, ideally never going more than one level of resources deep. (`story.id` and `story.content.title` are great, `story.community.channels.stories` not so much) When writing the fragments + queries, I tried to think to myself: ***If I were using this fragment, what data would I absolutely expect to be returned?*** For example, the `storyInfo` fragment looks like: ```js import { gql } from 'react-apollo'; import { userInfoFragment } from '../user/userInfo'; export const storyInfoFragment = gql` fragment storyInfo on Story { id messageCount createdAt modifiedAt published deleted locked content { title description } author { ...userInfo } } ${userInfoFragment} `; ``` I included the `author` and `...userInfo` fragment on `storyInfo` because I can't think of a single use case we have where we'd want to show a story *without* the author info. However, note that I didn't include any information about the channel this story was posted under. That's because if I'm *viewing that channel* it would be a massively underperforming query to also include channel data with *each story*. So instead, if I *do* need the channel data for a story, I add that at the query layer: ```js const getStory = gql` query getStory($id: String) { ...storyInfo channel { ...frequencyInfo } } ${storyInfoFragment} ${frequencyInfoFragment} `; ``` ================================================ FILE: docs/api/graphql/intro.md ================================================ [Table of contents](../../readme.md) / [API](../intro.md) # GraphQL Intro We use [`graphql-tools`](http://dev.apollodata.com/tools/graphql-tools/index.html) which lets us use the GraphQL schema language to design our schema. This schema written in the schema language is then combined with our resolvers (which live somewhere else) using `graphql-tools`, which outputs our finished schema that's then used. ### Folder Setup This folder setup was inspired by a bunch of open (and some closed) source projects @mxstbr looked at before embarking on the journey of building this. It seems to work well, even for big projects, but nothing here is set in stone and we're always open for new ideas and discussions. This is the current folder structure annotated: ```sh api/ ├── migrations # Migrations for seeding the database with some initial data ├── models # Handle talking to the database ├── mutations # Mutation resolvers ├── queries # Query resolvers ├── subscriptions # Subscription resolvers ├── types # The schema, split up into many smaller parts │ └── scalars.js # The custom scalars we use in our schema and their resolvers ├── README.md ├── index.js # Runs the actual servers (GraphQL + WebSocket for subscriptions) └── schema.js # Combines the types from types/ and the resolvers together with graphql-tools ``` Learn more about: - [Fragments](fragments.md) - [Pagination](pagination.md) - [Testing](testing.md) - [Tips & Tricks](tips-and-tricks.md) ================================================ FILE: docs/api/graphql/pagination.md ================================================ [Table of contents](../../readme.md) / [API](../intro.md) / [GraphQL](./intro.md) # Pagination with GraphQL Even though there is no specific built-in way to paginate GraphQL queries there is a quasi-standard that most people (including us) follow called [Relay Connections Specification](https://facebook.github.io/relay/graphql/connections.htm). Rather than reading a spec that might not help you in pratical applications we recommend reading these two article to get a grasp of the why and how: - [Understanding pagination: REST, GraphQL and Relay](https://dev-blog.apollodata.com/understanding-pagination-rest-graphql-and-relay-b10f835549e7): Get a sense of the issues we're facing with the app and how to solve them - [Explaining GraphQL Connections](https://dev-blog.apollodata.com/explaining-graphql-connections-c48b7c3d6976): We follow this specific structure to the dot. (with one tiny change in naming) ## TL;DR The TL;DR of how to use it is: ```GraphQL { thread(id: "some-thread-id") { # Fetch the messages of a certain thread messageConnection { pageInfo { # Do we have another page to fetch after this hasNextPage } edges { # Pass the cursor of the last message to messageConnections # to fetch the next page cursor # The actual message: node { id message { content } } } } } } ``` This query would get the first 10 (or less if there's less in total) messages of that thread. To get the next page you have to take the `cursor` of the last message edge and pass that to messageConnections: ```GraphQL { thread(id: "some-thread-id") { # Fetch the next messages after the last message in the thread messageConnection(after: $lastMessageCursor) { edges { node { message { content } } } } } } ``` > Note: The cursor is an opaque data structure, meaning it might refer to something you understand or it might not. It's also not promised to be consistent, especially between sessions, resources, etc. This boils down to **do not use the cursor for anything other than passing it to the query for the next page**, no matter if you want to use it for something else. To specify how many messages you want to load use the `first` parameter: ```GraphQL { thread(id: "some-thread-id") { # Fetch the first 5 messages after the last message messageConnection(first: 5, after: $lastMessageCursor) { edges { node { message { content } } } } } } ``` > Note: The default for `first` is normally 10, but might be changed depending on the resource being fetched. Make sure to check GraphiQL/the types to figure out what the default is. ## Naming conventions Connections and edges have standard names and structures across all resources: ```GraphQL # A connection of a story to messages type StoryMessagesConnection { pageInfo: PageInfo! edges: [StoryMessageEdge!] } # An edge from a story to a message type StoryMessageEdge { cursor: String! node: Message! } type Story { messageConnection(first: Int = 10, after: String): StoryMessagesConnection! } ``` > Note: This is where we diverge slightly from the article linked above, it recommends naming your edges in plural (`StoryMessagesEdge`) to make it consistent with the connection but we've found that the singular (`StoryMessageEdge`) makes it clear only a single resource is being fetched and think that's more important. ================================================ FILE: docs/api/graphql/testing.md ================================================ [Table of contents](../../readme.md) / [API](../intro.md) / [GraphQL](./intro.md) # Testing We use [Jest](https://facebook.github.io/jest/) for testing. (we recommend reading through the documentation, since it has a lot of great features you might not expect) Most of our tests are "e2e". That's in quotes because with GraphQL "e2e" tests don't do any network request, they still hit our database though and all that. (which is awesome since it's much faster!) We create a separate database for testing (called `"testing"`, surprisingly) that gets populated with some test data that we then verify against. A typical test suite for a certain type might look like this: ```javascript import { graphql } from 'graphql'; import createLoaders from '../loaders'; import schema from '../schema'; // Nice little helper function for tests const request = query => graphql(schema, query, undefined, { loaders: createLoaders() }); describe('queries', () => { it('should fetch a user', () => { // Define your query const query = /* GraphQL */ ` { user(id: "gVk5mYwccUOEKiN5vtOouqroGKo1") { name username profilePhoto } } `; // Make sure the assertion below is called and we don't run into a race condition expect.assertions(1); // Return the Promise returned from the request return request(query).then(result => { // Use Jest snapshot testing for neater tests and easier diffs expect(result).toMatchSnapshot(); }); }); }) ``` ================================================ FILE: docs/api/graphql/tips-and-tricks.md ================================================ [Table of contents](../../readme.md) / [API](../intro.md) / [GraphQL](./intro.md) # Tips and Tricks ## Keep resolvers as small as possible What we mean by this is that resolvers should (for the most part) only be a mapping between a certain path and the model function that takes care of it. Make sure the least amount of business logic possible lives in resolvers. (these are reminiscent of Controllers in a traditional MVC setup) ## Error management We mask internal errors in production. (GraphQL schema errors are still visible of course) Instead of seeing "Database limit exceeded, please upgrade your account xyz.", the user only sees "Internal Error: asdf123-asdf-asdf-asdf1235" (where `"asdf123-asdf-asdf-asdf1235"` is the Sentry UUID that helps us reference that error to a stacktrace on Sentry) which means no sensitive information is leaked. Sometimes you want to show the user an error though, for example for permissions. In that case you have to use the `UserError` util, which will not be masked: ```javascript import UserError from '../utils/UserError'; // The user will see this full error message return new UserError('You do not have permission to access this!') ``` ================================================ FILE: docs/api/intro.md ================================================ [Table of contents](../readme.md) # API The Spectrum API is a Node.js web server based on Express.js and GraphQL. It's also houses a websocket server for all of our subscription needs. ## Structure This server follows a GraphQL-first philosophy. That means we design the GraphQL schema first and then start implementing business logic. This is great because it gives us a clear separation of concerns (business logic vs. schema), and it's how Facebook recommends to use GraphQL. ## GraphQL - [Intro](graphql/intro.md) - [Fragments](graphql/fragments.md) - [Pagination](graphql/pagination.md) - [Testing](graphql/testing.md) - [Tips & Tricks](graphql/tips-and-tricks.md) ================================================ FILE: docs/backend/api/README.md ================================================ # `api`: The web server API is a Node.js web server based on Express.js and GraphQL. It's also houses a websocket server for all of our subscription needs. ## Structure This server follows a GraphQL-first philosophy. That means we design the GraphQL schema first and then start implementing business logic. This is great because it gives us a clear separation of concerns (business logic vs. schema), and it's how Facebook recommends to use GraphQL. We use [`graphql-tools`](http://dev.apollodata.com/tools/graphql-tools/index.html) which lets us use the GraphQL schema language to design our schema. This schema written in the schema language is then combined with our resolvers (which live somewhere else) using `graphql-tools`, which outputs our finished schema that's then used. ### Folder Setup This folder setup was inspired by a bunch of open (and some closed) source projects @mxstbr looked at before embarking on the journey of building this. It seems to work well, even for big projects, but nothing here is set in stone and we're always open for new ideas and discussions. This is the current folder structure annotated: ```sh server/ ├── migrations # Migrations for seeding the database with some initial data ├── models # Handle talking to the database ├── mutations # Mutation resolvers ├── queries # Query resolvers ├── subscriptions # Subscription resolvers ├── types # The schema, split up into many smaller parts │ └── scalars.js # The custom scalars we use in our schema and their resolvers ├── README.md ├── index.js # Runs the actual servers (GraphQL + WebSocket for subscriptions) └── schema.js # Combines the types from types/ and the resolvers together with graphql-tools ``` ================================================ FILE: docs/backend/api/fragments.md ================================================ # Fragments Fragments help us to always know exactly what kind of data will be returned for a given query and ensure that we are consistent in what data should be returned to any given component. Imagine we wrote two queries like this: ``` # query 1 user { uid displayName } # query 2 user { uid username } ``` If these queries get implemented in different places, for different components, we're going to end up with a confusing mess where we never really know what information we have access to when writing our react components. We might accidentally write `{ user.username }` expecting that data to exist, but alas we wrote the featuring using query 1. Oops. Fragments are an important part of how we query our GraphQL API from the frontend and you'll be using them constantly. ## Example Here's a real-life example of how you would use fragments to query our API: ```js import { gql } from 'react-apollo'; export const userInfoFragment = gql` fragment userInfo on User { uid photoURL displayName username } `; ``` And here's how that would look in a query file: ```js const getUser = gql` query getUser($username: String, $after: String) { user(username: $username) { ...userInfo } } ${userInfoFragment} `; ``` By using this fragment, we can always ensure we're getting back the data we need and start to build up an internal mental model of what data we have access to regardless of where we're working in the app. This is especially useful for when we want to handle some pagination logic. We can just use a fragment to both a) save ourselves the hassle of writing a big query and 2) ensure we haven't forgotten a key field (like `cursor`) during implementation. Like this: ```js export const userCommunitiesFragment = gql` fragment userCommunities on User { communityConnection { pageInfo { hasNextPage hasPreviousPage } edges { node { ...communityInfo } } } } ${communityInfoFragment} `; ``` Notice there that we're using a sub-fragment to get the `communityInfo`, too! That looks like: ```js export const communityInfoFragment = gql` fragment communityInfo on Community { id name slug } `; ``` And now we've saved ourselves time, and ensured that we will always have access to critical data about the communities, even if we are writing a query against the user. ## Structure ![screenshot 2017-05-02 17 06 31](https://cloud.githubusercontent.com/assets/1923260/25644273/b6ac5daa-2f59-11e7-916d-2f985fff6237.png) The reason these fragments are so obnoxiously granular is because there are times when you might have circular fragment requirements, which don't play well with webpack at the moment. For example, a user might require a story, which might require a user. So the files are importing each other and it breaks. To solve this I've made super granular fragments in individual files. I've found it's somewhat useful from a naming convention point of view, and makes it super clear when importing files and actually using the fragments in a query. ## Performance notes Fragments make it tempting to create really deep queries, but that's a bad idea for performance reasons. Therefore, fragments themselves should be as shallow as possible to combat this, ideally never going more than one level of resources deep. (`story.id` and `story.content.title` are great, `story.community.channels.stories` not so much) When writing the fragments + queries, I tried to think to myself: ***If I were using this fragment, what data would I absolutely expect to be returned?*** For example, the `storyInfo` fragment looks like: ```js import { gql } from 'react-apollo'; import { userInfoFragment } from '../user/userInfo'; export const storyInfoFragment = gql` fragment storyInfo on Story { id messageCount createdAt modifiedAt published deleted locked content { title description } author { ...userInfo } } ${userInfoFragment} `; ``` I included the `author` and `...userInfo` fragment on `storyInfo` because I can't think of a single use case we have where we'd want to show a story *without* the author info. However, note that I didn't include any information about the channel this story was posted under. That's because if I'm *viewing that channel* it would be a massively underperforming query to also include channel data with *each story*. So instead, if I *do* need the channel data for a story, I add that at the query layer: ```js const getStory = gql` query getStory($id: String) { ...storyInfo channel { ...frequencyInfo } } ${userInfoFragment} ${frequencyInfoFragment} `; ``` ================================================ FILE: docs/backend/api/pagination.md ================================================ # Pagination with GraphQL Even though there is no specific built-in way to paginate GraphQL queries there is a quasi-standard that most people (including us) follow called [Relay Connections Specification](https://facebook.github.io/relay/graphql/connections.htm). Rather than reading a spec that might not help you in pratical applications we recommend reading these two article to get a grasp of the why and how: - [Understanding pagination: REST, GraphQL and Relay](https://dev-blog.apollodata.com/understanding-pagination-rest-graphql-and-relay-b10f835549e7): Get a sense of the issues we're facing with the app and how to solve them - [Explaining GraphQL Connections](https://dev-blog.apollodata.com/explaining-graphql-connections-c48b7c3d6976): We follow this specific structure to the dot. (with one tiny change in naming) ## TL;DR The TL;DR of how to use it is: ```GraphQL { thread(id: "some-thread-id") { # Fetch the messages of a certain thread messageConnection { pageInfo { # Do we have another page to fetch after this hasNextPage } edges { # Pass the cursor of the last message to messageConnections # to fetch the next page cursor # The actual message: node { id message { content } } } } } } ``` This query would get the first 10 (or less if there's less in total) messages of that thread. To get the next page you have to take the `cursor` of the last message edge and pass that to messageConnections: ```GraphQL { thread(id: "some-thread-id") { # Fetch the next messages after the last message in the thread messageConnection(after: $lastMessageCursor) { edges { node { message { content } } } } } } ``` > Note: The cursor is an opaque data structure, meaning it might refer to something you understand or it might not. It's also not promised to be consistent, especially between sessions, resources, etc. This boils down to **do not use the cursor for anything other than passing it to the query for the next page**, no matter if you want to use it for something else. To specify how many messages you want to load use the `first` parameter: ```GraphQL { thread(id: "some-thread-id") { # Fetch the first 5 messages after the last message messageConnection(first: 5, after: $lastMessageCursor) { edges { node { message { content } } } } } } ``` > Note: The default for `first` is normally 10, but might be changed depending on the resource being fetched. Make sure to check GraphiQL/the types to figure out what the default is. ## Naming conventions Connections and edges have standard names and structures across all resources: ```GraphQL # A connection of a story to messages type StoryMessagesConnection { pageInfo: PageInfo! edges: [StoryMessageEdge!] } # An edge from a story to a message type StoryMessageEdge { cursor: String! node: Message! } type Story { messageConnection(first: Int = 10, after: String): StoryMessagesConnection! } ``` > Note: This is where we diverge slightly from the article linked above, it recommends naming your edges in plural (`StoryMessagesEdge`) to make it consistent with the connection but we've found that the singular (`StoryMessageEdge`) makes it clear only a single resource is being fetched and think that's more important. ================================================ FILE: docs/backend/api/testing.md ================================================ # Testing We use [Jest](https://facebook.github.io/jest/) for testing. (we recommend reading through the documentation, since it has a lot of great features you might not expect) Most of our tests are "e2e". That's in quotes because with GraphQL "e2e" tests don't do any network request, they still hit our database though and all that. (which is awesome since it's much faster!) We create a separate database for testing (called `"testing"`, surprisingly) that gets populated with some test data that we then verify against. A typical test suite for a certain type might look like this: ```javascript import { graphql } from 'graphql'; import createLoaders from '../loaders'; import schema from '../schema'; // Nice little helper function for tests const request = query => graphql(schema, query, undefined, { loaders: createLoaders() }); describe('queries', () => { it('should fetch a user', () => { // Define your query const query = /* GraphQL */ ` { user(id: "gVk5mYwccUOEKiN5vtOouqroGKo1") { name username profilePhoto } } `; // Make sure the assertion below is called and we don't run into a race condition expect.assertions(1); // Return the Promise returned from the request return request(query).then(result => { // Use Jest snapshot testing for neater tests and easier diffs expect(result).toMatchSnapshot(); }); }); }) ``` ================================================ FILE: docs/backend/api/tips-and-tricks.md ================================================ # Tips and Tricks ## Keep resolvers as small as possible What we mean by this is that resolvers should (for the most part) only be a mapping between a certain path and the model function that takes care of it. Make sure the least amount of business logic possible lives in resolvers. (these are reminiscent of Controllers in a traditional MVC setup) ## Error management We mask internal errors in production. (GraphQL schema errors are still visible of course) Instead of seeing "Database limit exceeded, please upgrade your account xyz.", the user only sees "Internal Error: asdf123-asdf-asdf-asdf1235" (where `"asdf123-asdf-asdf-asdf1235"` is the Sentry UUID that helps us reference that error to a stacktrace on Sentry) which means no sensitive information is leaked. Sometimes you want to show the user an error though, for example for permissions. In that case you have to use the `UserError` util, which will not be masked: ```javascript import UserError from '../utils/UserError'; // The user will see this full error message return new UserError('You do not have permission to access this!') ``` ================================================ FILE: docs/deployments.md ================================================ [Table of contents](./readme.md) # Deployments We use [`now`](https://now.sh) by Vercel for all of our deployments. ### Installation We recommend installing the [now desktop app](http://vercel.co/download) as it'll keep the command line tool up to date automatically! If you'd rather not install an app (or are using Windows Substem for Linux) you can also install now with npm: ``` npm install -g now ``` ### Naming scheme All our workers are aliased to `.workers.spectrum.chat`, with the one exception being the API (the API server) which runs at `api.spectrum.chat`. #### Path aliases [Now's path alias feature](https://vercel.co/docs/features/path-aliases) takes care of routing requests to the right workers. To see our current production aliases check the `rules.json` file in the root of the project. To deploy new rules, simply run the following command: (assuming `rules.json` has the changes) ```sh now alias spectrum.chat -r rules.json ``` The same command with a different URL and slightly adapted rules can also be used to create an alpha/beta/staging/... version of the site. ### Frontend and Hyperion Since the frontend is the part that changes the most often the repo is set up such that typing `now` in the root directory will deploy the frontend with hyperion. (the server-side rendering worker) #### Deploying First, make sure you're in the Space Program `now` team: ``` now switch spaceprogram ``` > Note: If you haven't been added to the now team yet ask one of your coworkers to add you! Second, deploy a new version of the app: ``` now ``` This will do an _immutable deploy_ of the hyperion and will return a unique URL that this specific version is accessible at. (something like `spectrum-grtertb34.now.sh`) Third, test that version of the app to make sure the new feature(s) work(s) as expected in production. Note that nobody except for people will access to the unique URL from the last step can access it at this point. Fourth, if you're happy with the new feature(s) alias your unique URL to `hyperion.workers.spectrum.chat` to make it immediately available to all users: ``` now alias spectrum-grtertb34.now.sh hyperion.workers.spectrum.chat ``` And that's it, you've now deployed a new version of hyperion and the frontend! ### Other workers We use [`backpack`](https://github.com/palmerhq/backpack) to get a nice development setup and build process in place for our workers. Since this is a mono-repo and `now` doesn't have any special functionality to handle monorepos we have to deploy the _built_ version of the workers. (compared to the frontend deploy where you deploy the raw code which gets built on the server) #### Deploying First, build the worker you want to deploy to get a bundle with the newest code rather than deploying a stale version: ```sh yarn run build: ``` > Note: Replace `` with the name of the worker you want to deploy Then deploy the `build-` folder with `now`: ```sh now build- ``` As an example, to deploy `athena` I'd run these commands: ```sh # First: Build the worker yarn run build:athena # Second: Deploy the built bundle now build-athena ``` This will give you an immutable deploy with a unique URL of this worker, something like `https://build-athena-ahsgut23sdyf.now.sh`. #### Replacing the old deploy Since we want to keep the workers alive even if nobody sends a request to their healthcheck endpoints we alias them to `.workers.spectrum.chat`. This ensures `now` overrides the older deploy and only the newest code is running. To alias your deploy run `now alias`: ```sh now alias .now.sh .workers.spectrum.chat ``` For example, for our `athena` deploy from above this would be: ```sh now alias build-athena-ahsgut23sdyf.now.sh athena.workers.spectrum.chat ``` ================================================ FILE: docs/hyperion (server side rendering)/development.md ================================================ [Table of contents](../readme.md) / [Hyperion](./intro.md) # Hyperion development ### Normal development workflow When you develop Spectrum you're running two processes, `yarn run dev:web` for the frontend and `yarn run dev:api` for API, the GraphQL API. This means in your browser you access `localhost:3000`, which is a fully client-side React app, and that then fetches data from `localhost:3001/api`. In production, the client-side app is bundled and server-side rendered by Hyperion. This means we get the best development experience locally with hot module reloading etc, and in production we have single server responsible for serving files, rendering and the API. ### When developing SSR **DO NOT USE THIS UNLESS YOU'RE DEVELOPING SSR** To test server-side rendering locally run the client and the API locally, and then start Hyperion with `yarn run dev:hyperion`. Open Hyperion's URL, `http://localhost:3006` (instead of `:3000`), which will request the server-side rendered HTML from Hyperion rather than `webpack-dev-server`. The downside is that when you're testing SSR and changing the frontend those changes won't be reflected immediately. To get changes from the frontend when you're requesting `localhost:3001` you have to: 1. Stop the `yarn run dev:web` process 2. Run `yarn run dev:web` 3. Wait for the first compilation to complete 4. Restart the `yarn run dev:hyperion` process by stopping and then starting it again ## When doing all other client development Just stick to the normal workflow of `yarn run dev:web` and enjoy the hot reloading at `localhost:3000`! ================================================ FILE: docs/hyperion (server side rendering)/intro.md ================================================ [Table of contents](../readme.md) # Hyperion *Hyperion: (/haɪˈpɪəriən/) is one of the twelve Titan children of Gaia and Uranus.* Hyperion is the server responsible for server-side rendering the front end. In production, Hyperion does an initial render of a requested view on the server and responds with static HTML. The static HTML is then rehydrated with our JS bundle. Learn more about [development with Hyperion](development.md) ================================================ FILE: docs/operations/hourly-backups.md ================================================ # Hourly Off-site Backups In order to avoid more data loss we implemented hourly off-site backups in [#5150](https://github.com/withspectrum/spectrum/pull/5150). While the implementation is simple, it should cover us well enough. It works by running two cron jobs: 1. Runs at 30 minutes past every hour and triggers an "on-demand backup" with our database host (Compose) 2. Runs at 0 minutes past every hour, fetches the latest "on-demand backup" from our database host and uploads it to our S3 bucket To access the latest hourly backup you can either go to the Compose dashboard (app.compose.com), navigate to the RethinkDB deployment and download the newest on-demand backup, or open our S3 bucket and download the latest one from there. ================================================ FILE: docs/operations/importing-rethinkdb-backups.md ================================================ [Table of contents](../readme.md) / [Operations](./index.md) # Importing production data locally Sometimes it's useful to have production data running locally in rethinkdb for debugging and testing. To get production data running locally, follow these steps: 1. Go to http://localhost:8080/#tables and delete the local 'spectrum' table 2. Log in to the Space Program AWS console 3. Go to S3 > Spectrum Backups > Hourly 4. Download the latest backup .tar.gz 5. Unzip that backup onto your desktop 6. Rename the unzipped directory to 'prod-backup' 6. In your terminal, run: `cd ~/Desktop && rethinkdb import -d prod-backup` 7. The import will take a couple hours, at which point you can clear localstorage at localhost:3000 to re-authenticate ================================================ FILE: docs/operations/intro.md ================================================ # Operations This directory is for docs related to operating the Spectrum platform. Common questions about how to perform non-code-related tasks should go here. Learn more about: - [Banning users](banning-users.md) - [Deleting users](deleting-users.md) - [Importing a RethinkDB backup locally](importing-rethinkdb-backups.md) ================================================ FILE: docs/readme.md ================================================ ## Table of Contents - [Deployments](deployments.md) - [Admin](admin/intro.md) - [API](api/intro.md) - [GraphQL](api/graphql/intro.md) - [Fragments](api/graphql/fragments.md) - [Pagination](api/graphql/pagination.md) - [Testing](api/graphql/testing.md) - [Tips & Tricks](api/graphql/tips-and-tricks.md) - [Hyperion (server side rendering)]() - [Development]() - [Operations](operations/intro.md) - [Deleting users](operations/deleting-users.md) - [Importing RethinkDB backups](operations/importing-rethinkdb-backups.md) - [Testing](testing/intro.md) - [Integration](testing/integration.md) - [Unit](testing/unit.md) - [Workers](workers/intro.md) - [Background jobs with Redis](workers/background-jobs.md) ================================================ FILE: docs/testing/integration.md ================================================ [Table of contents](../readme.md) / [Testing](./intro.md) # Integration tests We use [Cypress](https://cypress.io) to run our integration tests, which gives you a nice GUI that you can use for your test runs. To run integration tests you have to have the api running in production mode and connected to the test database and the client running. ```sh # First, build the API yarn run build:api # Then, in one tab start the API in test mode yarn run start:api:test # In another tab start the web client yarn run dev:web ``` Then open the Cypress GUI and you're good to start running the integration tests: ```sh yarn run cypress:open ``` ### Writing integration tests **It is highly recommend to read the [Best Practices section of the Cypress docs](https://docs.cypress.io/guides/references/best-practices.html) before starting to write them!** All our integration tests live in `cypress/integration/`. This is what a normal integration test might look like: ```JS // cypress/integration/home_spec.js describe('Home View', () => { before(() => { cy.visit('/'); }); it('should render the home page', () => { cy.get('[data-cy="home-page"]').should('be.visible'); cy.get('[href*="/login"]').should('be.visible'); }); }); ``` Note that while the Cypress API looks synchronous, it's actually totally asynchronous under the hood. They build up a queue of incoming assertions and wait for them to happen in order. While that's a bit confusing at the beginning, you get used to it very fast. Also note that Cypress uses Mocha under the hood, where our unit tests use Jest. This means rather than `expect().toEqual()` you'd have to write `expect().to.equal()` due to the syntax difference between the `expect` implementations. ### Test IDs To verify that certain elements are or aren't on the page we use custom `data-cy` attributes. You render them from React like so: ```JS class HomePage extends Component { render() { return ( {/*...*/} ) } } ``` Then you can make sure the splash page rendered correctly by waiting for that selector to appear on the page: ```JS // cypress/integration/home_spec.js it('should render', () => { cy.get('[data-cy="home-page"]').should('be.visible'); }); ``` ================================================ FILE: docs/testing/intro.md ================================================ [Table of contents](../readme.md) # Testing We have a test suite consisting of a bunch of unit tests (mostly for the API) and integration tests to verify Spectrum keeps working as expected. The entire test suite is run in CI for every commit and PR, so if you introduce a breaking change the CI will fail and the PR will not be merge-able. Learn more about: - [Unit testing](./unit.md) - [Integration testing](./integration.md) ================================================ FILE: docs/testing/unit.md ================================================ [Table of contents](../readme.md) / [Testing](./intro.md) # Unit tests We use [`Jest`](https://github.com/facebook/jest) for our unit testing needs. To run Jest in watch mode locally so the tests run automatically while you're developing run: ```sh yarn run test ``` Before running the tests this will set up a RethinkDB database locally called `"testing"`. It will run the migrations over it and then insert some dummy data. This is important because we test our GraphQL API against the real database, we don't mock anything, to make sure everything is working 100%. When you exit the testing process with `CTRL+C` it will clean the database from all its data. It leaves the migrations in tact though, since there's no reason we should have to run them everytime we run the test suite. ### Stale data In edge cases it could happen that you end up with bad data locally and that tests fail/pass even though they shouldn't. To get rid of the stale data just stop the testing process and optionally run `yarn run posttest` to make extra sure there's nothing in the database anymore, before restarting the testing process to start from a clean slate. ================================================ FILE: flow-typed/npm/@sendgrid/mail_vx.x.x.js ================================================ // flow-typed signature: 9853dc0239ef405daa7097373b292e98 // flow-typed version: <>/@sendgrid/mail_v6.3.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * '@sendgrid/mail' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@sendgrid/mail' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@sendgrid/mail/src/classes/mail-service' { declare module.exports: any; } declare module '@sendgrid/mail/src/mail' { declare module.exports: any; } declare module '@sendgrid/mail/src/mail.spec' { declare module.exports: any; } // Filename aliases declare module '@sendgrid/mail/index' { declare module.exports: $Exports<'@sendgrid/mail'>; } declare module '@sendgrid/mail/index.js' { declare module.exports: $Exports<'@sendgrid/mail'>; } declare module '@sendgrid/mail/src/classes/mail-service.js' { declare module.exports: $Exports<'@sendgrid/mail/src/classes/mail-service'>; } declare module '@sendgrid/mail/src/mail.js' { declare module.exports: $Exports<'@sendgrid/mail/src/mail'>; } declare module '@sendgrid/mail/src/mail.spec.js' { declare module.exports: $Exports<'@sendgrid/mail/src/mail.spec'>; } ================================================ FILE: flow-typed/npm/@tippy.js/react_vx.x.x.js ================================================ // flow-typed signature: d5a9ac3d3049496487995f00a345e5c8 // flow-typed version: <>/@tippy.js/react_v2.1.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * '@tippy.js/react' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@tippy.js/react' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@tippy.js/react/esm/index' { declare module.exports: any; } declare module '@tippy.js/react/esm/index.min' { declare module.exports: any; } declare module '@tippy.js/react/umd/index' { declare module.exports: any; } declare module '@tippy.js/react/umd/index.min' { declare module.exports: any; } // Filename aliases declare module '@tippy.js/react/esm/index.js' { declare module.exports: $Exports<'@tippy.js/react/esm/index'>; } declare module '@tippy.js/react/esm/index.min.js' { declare module.exports: $Exports<'@tippy.js/react/esm/index.min'>; } declare module '@tippy.js/react/umd/index.js' { declare module.exports: $Exports<'@tippy.js/react/umd/index'>; } declare module '@tippy.js/react/umd/index.min.js' { declare module.exports: $Exports<'@tippy.js/react/umd/index.min'>; } ================================================ FILE: flow-typed/npm/@vx/curve_vx.x.x.js ================================================ // flow-typed signature: 8dca7087ee12bf0d7443f2a2ed53e8a5 // flow-typed version: <>/@vx/curve_v^0.0.127/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/curve' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/curve' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/curve/build/index' { declare module.exports: any; } // Filename aliases declare module '@vx/curve/build/index.js' { declare module.exports: $Exports<'@vx/curve/build/index'>; } ================================================ FILE: flow-typed/npm/@vx/event_vx.x.x.js ================================================ // flow-typed signature: 923c90a052a1b40ad9eadb023c489b00 // flow-typed version: <>/@vx/event_v^0.0.127/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/event' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/event' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/event/build/index' { declare module.exports: any; } declare module '@vx/event/build/localPoint' { declare module.exports: any; } // Filename aliases declare module '@vx/event/build/index.js' { declare module.exports: $Exports<'@vx/event/build/index'>; } declare module '@vx/event/build/localPoint.js' { declare module.exports: $Exports<'@vx/event/build/localPoint'>; } ================================================ FILE: flow-typed/npm/@vx/gradient_vx.x.x.js ================================================ // flow-typed signature: 8c5c7e282e820b67637f4ac2d760dec0 // flow-typed version: <>/@vx/gradient_v^0.0.129/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/gradient' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/gradient' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/gradient/build/gradients/DarkgreenGreen' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/LightgreenGreen' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/LinearGradient' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/OrangeRed' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/PinkBlue' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/PinkRed' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/PurpleOrange' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/PurpleRed' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/PurpleTeal' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/RadialGradient' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/SteelPurple' { declare module.exports: any; } declare module '@vx/gradient/build/gradients/TealBlue' { declare module.exports: any; } declare module '@vx/gradient/build/index' { declare module.exports: any; } // Filename aliases declare module '@vx/gradient/build/gradients/DarkgreenGreen.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/DarkgreenGreen'>; } declare module '@vx/gradient/build/gradients/LightgreenGreen.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/LightgreenGreen'>; } declare module '@vx/gradient/build/gradients/LinearGradient.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/LinearGradient'>; } declare module '@vx/gradient/build/gradients/OrangeRed.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/OrangeRed'>; } declare module '@vx/gradient/build/gradients/PinkBlue.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/PinkBlue'>; } declare module '@vx/gradient/build/gradients/PinkRed.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/PinkRed'>; } declare module '@vx/gradient/build/gradients/PurpleOrange.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/PurpleOrange'>; } declare module '@vx/gradient/build/gradients/PurpleRed.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/PurpleRed'>; } declare module '@vx/gradient/build/gradients/PurpleTeal.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/PurpleTeal'>; } declare module '@vx/gradient/build/gradients/RadialGradient.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/RadialGradient'>; } declare module '@vx/gradient/build/gradients/SteelPurple.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/SteelPurple'>; } declare module '@vx/gradient/build/gradients/TealBlue.js' { declare module.exports: $Exports<'@vx/gradient/build/gradients/TealBlue'>; } declare module '@vx/gradient/build/index.js' { declare module.exports: $Exports<'@vx/gradient/build/index'>; } ================================================ FILE: flow-typed/npm/@vx/grid_vx.x.x.js ================================================ // flow-typed signature: d5ba0ce5dc460f15e091aafd082ea665 // flow-typed version: <>/@vx/grid_v^0.0.131/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/grid' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/grid' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/grid/build/grids/Columns' { declare module.exports: any; } declare module '@vx/grid/build/grids/Grid' { declare module.exports: any; } declare module '@vx/grid/build/grids/Rows' { declare module.exports: any; } declare module '@vx/grid/build/index' { declare module.exports: any; } // Filename aliases declare module '@vx/grid/build/grids/Columns.js' { declare module.exports: $Exports<'@vx/grid/build/grids/Columns'>; } declare module '@vx/grid/build/grids/Grid.js' { declare module.exports: $Exports<'@vx/grid/build/grids/Grid'>; } declare module '@vx/grid/build/grids/Rows.js' { declare module.exports: $Exports<'@vx/grid/build/grids/Rows'>; } declare module '@vx/grid/build/index.js' { declare module.exports: $Exports<'@vx/grid/build/index'>; } ================================================ FILE: flow-typed/npm/@vx/scale_vx.x.x.js ================================================ // flow-typed signature: 7edbfdb1df2ceb969c0ba14d38a2fb5e // flow-typed version: <>/@vx/scale_v^0.0.127/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/scale' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/scale' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/scale/build/index' { declare module.exports: any; } declare module '@vx/scale/build/scales/band' { declare module.exports: any; } declare module '@vx/scale/build/scales/color/schemeCategory10' { declare module.exports: any; } declare module '@vx/scale/build/scales/color/schemeCategory20' { declare module.exports: any; } declare module '@vx/scale/build/scales/color/schemeCategory20b' { declare module.exports: any; } declare module '@vx/scale/build/scales/color/schemeCategory20c' { declare module.exports: any; } declare module '@vx/scale/build/scales/linear' { declare module.exports: any; } declare module '@vx/scale/build/scales/log' { declare module.exports: any; } declare module '@vx/scale/build/scales/ordinal' { declare module.exports: any; } declare module '@vx/scale/build/scales/point' { declare module.exports: any; } declare module '@vx/scale/build/scales/power' { declare module.exports: any; } declare module '@vx/scale/build/scales/quantile' { declare module.exports: any; } declare module '@vx/scale/build/scales/quantize' { declare module.exports: any; } declare module '@vx/scale/build/scales/threshold' { declare module.exports: any; } declare module '@vx/scale/build/scales/time' { declare module.exports: any; } declare module '@vx/scale/build/scales/utc' { declare module.exports: any; } declare module '@vx/scale/build/util/updateScale' { declare module.exports: any; } // Filename aliases declare module '@vx/scale/build/index.js' { declare module.exports: $Exports<'@vx/scale/build/index'>; } declare module '@vx/scale/build/scales/band.js' { declare module.exports: $Exports<'@vx/scale/build/scales/band'>; } declare module '@vx/scale/build/scales/color/schemeCategory10.js' { declare module.exports: $Exports<'@vx/scale/build/scales/color/schemeCategory10'>; } declare module '@vx/scale/build/scales/color/schemeCategory20.js' { declare module.exports: $Exports<'@vx/scale/build/scales/color/schemeCategory20'>; } declare module '@vx/scale/build/scales/color/schemeCategory20b.js' { declare module.exports: $Exports<'@vx/scale/build/scales/color/schemeCategory20b'>; } declare module '@vx/scale/build/scales/color/schemeCategory20c.js' { declare module.exports: $Exports<'@vx/scale/build/scales/color/schemeCategory20c'>; } declare module '@vx/scale/build/scales/linear.js' { declare module.exports: $Exports<'@vx/scale/build/scales/linear'>; } declare module '@vx/scale/build/scales/log.js' { declare module.exports: $Exports<'@vx/scale/build/scales/log'>; } declare module '@vx/scale/build/scales/ordinal.js' { declare module.exports: $Exports<'@vx/scale/build/scales/ordinal'>; } declare module '@vx/scale/build/scales/point.js' { declare module.exports: $Exports<'@vx/scale/build/scales/point'>; } declare module '@vx/scale/build/scales/power.js' { declare module.exports: $Exports<'@vx/scale/build/scales/power'>; } declare module '@vx/scale/build/scales/quantile.js' { declare module.exports: $Exports<'@vx/scale/build/scales/quantile'>; } declare module '@vx/scale/build/scales/quantize.js' { declare module.exports: $Exports<'@vx/scale/build/scales/quantize'>; } declare module '@vx/scale/build/scales/threshold.js' { declare module.exports: $Exports<'@vx/scale/build/scales/threshold'>; } declare module '@vx/scale/build/scales/time.js' { declare module.exports: $Exports<'@vx/scale/build/scales/time'>; } declare module '@vx/scale/build/scales/utc.js' { declare module.exports: $Exports<'@vx/scale/build/scales/utc'>; } declare module '@vx/scale/build/util/updateScale.js' { declare module.exports: $Exports<'@vx/scale/build/util/updateScale'>; } ================================================ FILE: flow-typed/npm/@vx/shape_vx.x.x.js ================================================ // flow-typed signature: 587b8a2a047b121646c3cecbe37d2d59 // flow-typed version: <>/@vx/shape_v^0.0.131/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/shape' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/shape' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/shape/build/index' { declare module.exports: any; } declare module '@vx/shape/build/shapes/Arc' { declare module.exports: any; } declare module '@vx/shape/build/shapes/AreaClosed' { declare module.exports: any; } declare module '@vx/shape/build/shapes/AreaStack' { declare module.exports: any; } declare module '@vx/shape/build/shapes/Bar' { declare module.exports: any; } declare module '@vx/shape/build/shapes/BarGroup' { declare module.exports: any; } declare module '@vx/shape/build/shapes/BarStack' { declare module.exports: any; } declare module '@vx/shape/build/shapes/Line' { declare module.exports: any; } declare module '@vx/shape/build/shapes/LinePath' { declare module.exports: any; } declare module '@vx/shape/build/shapes/LineRadial' { declare module.exports: any; } declare module '@vx/shape/build/shapes/LinkHorizontal' { declare module.exports: any; } declare module '@vx/shape/build/shapes/LinkRadial' { declare module.exports: any; } declare module '@vx/shape/build/shapes/LinkVertical' { declare module.exports: any; } declare module '@vx/shape/build/shapes/Stack' { declare module.exports: any; } declare module '@vx/shape/build/util/additionalProps' { declare module.exports: any; } declare module '@vx/shape/build/util/callOrValue' { declare module.exports: any; } // Filename aliases declare module '@vx/shape/build/index.js' { declare module.exports: $Exports<'@vx/shape/build/index'>; } declare module '@vx/shape/build/shapes/Arc.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/Arc'>; } declare module '@vx/shape/build/shapes/AreaClosed.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/AreaClosed'>; } declare module '@vx/shape/build/shapes/AreaStack.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/AreaStack'>; } declare module '@vx/shape/build/shapes/Bar.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/Bar'>; } declare module '@vx/shape/build/shapes/BarGroup.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/BarGroup'>; } declare module '@vx/shape/build/shapes/BarStack.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/BarStack'>; } declare module '@vx/shape/build/shapes/Line.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/Line'>; } declare module '@vx/shape/build/shapes/LinePath.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/LinePath'>; } declare module '@vx/shape/build/shapes/LineRadial.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/LineRadial'>; } declare module '@vx/shape/build/shapes/LinkHorizontal.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/LinkHorizontal'>; } declare module '@vx/shape/build/shapes/LinkRadial.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/LinkRadial'>; } declare module '@vx/shape/build/shapes/LinkVertical.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/LinkVertical'>; } declare module '@vx/shape/build/shapes/Stack.js' { declare module.exports: $Exports<'@vx/shape/build/shapes/Stack'>; } declare module '@vx/shape/build/util/additionalProps.js' { declare module.exports: $Exports<'@vx/shape/build/util/additionalProps'>; } declare module '@vx/shape/build/util/callOrValue.js' { declare module.exports: $Exports<'@vx/shape/build/util/callOrValue'>; } ================================================ FILE: flow-typed/npm/@vx/tooltip_vx.x.x.js ================================================ // flow-typed signature: 93b553db4a6684cb0f196150fd2f1943 // flow-typed version: <>/@vx/tooltip_v^0.0.134/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * '@vx/tooltip' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module '@vx/tooltip' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module '@vx/tooltip/build/enhancers/withTooltip' { declare module.exports: any; } declare module '@vx/tooltip/build/index' { declare module.exports: any; } declare module '@vx/tooltip/build/tooltips/Tooltip' { declare module.exports: any; } declare module '@vx/tooltip/build/tooltips/TooltipWithBounds' { declare module.exports: any; } declare module '@vx/tooltip/src/enhancers/withTooltip' { declare module.exports: any; } declare module '@vx/tooltip/src/index' { declare module.exports: any; } declare module '@vx/tooltip/src/tooltips/Tooltip' { declare module.exports: any; } declare module '@vx/tooltip/src/tooltips/TooltipWithBounds' { declare module.exports: any; } declare module '@vx/tooltip/test/Tooltip.test' { declare module.exports: any; } declare module '@vx/tooltip/test/TooltipWithBounds.test' { declare module.exports: any; } declare module '@vx/tooltip/test/withTooltip.test' { declare module.exports: any; } // Filename aliases declare module '@vx/tooltip/build/enhancers/withTooltip.js' { declare module.exports: $Exports<'@vx/tooltip/build/enhancers/withTooltip'>; } declare module '@vx/tooltip/build/index.js' { declare module.exports: $Exports<'@vx/tooltip/build/index'>; } declare module '@vx/tooltip/build/tooltips/Tooltip.js' { declare module.exports: $Exports<'@vx/tooltip/build/tooltips/Tooltip'>; } declare module '@vx/tooltip/build/tooltips/TooltipWithBounds.js' { declare module.exports: $Exports<'@vx/tooltip/build/tooltips/TooltipWithBounds'>; } declare module '@vx/tooltip/src/enhancers/withTooltip.js' { declare module.exports: $Exports<'@vx/tooltip/src/enhancers/withTooltip'>; } declare module '@vx/tooltip/src/index.js' { declare module.exports: $Exports<'@vx/tooltip/src/index'>; } declare module '@vx/tooltip/src/tooltips/Tooltip.js' { declare module.exports: $Exports<'@vx/tooltip/src/tooltips/Tooltip'>; } declare module '@vx/tooltip/src/tooltips/TooltipWithBounds.js' { declare module.exports: $Exports<'@vx/tooltip/src/tooltips/TooltipWithBounds'>; } declare module '@vx/tooltip/test/Tooltip.test.js' { declare module.exports: $Exports<'@vx/tooltip/test/Tooltip.test'>; } declare module '@vx/tooltip/test/TooltipWithBounds.test.js' { declare module.exports: $Exports<'@vx/tooltip/test/TooltipWithBounds.test'>; } declare module '@vx/tooltip/test/withTooltip.test.js' { declare module.exports: $Exports<'@vx/tooltip/test/withTooltip.test'>; } ================================================ FILE: flow-typed/npm/amplitude_vx.x.x.js ================================================ // flow-typed signature: fed729f4c8392f815391ae2316878ed8 // flow-typed version: <>/amplitude_v3.5.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'amplitude' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'amplitude' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'amplitude/amplitude' { declare module.exports: any; } // Filename aliases declare module 'amplitude/amplitude.js' { declare module.exports: $Exports<'amplitude/amplitude'>; } ================================================ FILE: flow-typed/npm/apollo-cache-inmemory_vx.x.x.js ================================================ // flow-typed signature: c92dd1747a56d4ea6f16e03d1cffccdf // flow-typed version: <>/apollo-cache-inmemory_v^1.1.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-cache-inmemory' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-cache-inmemory' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-cache-inmemory/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/fragmentMatcher' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/fragmentMatcherIntrospectionQuery' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/index' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/inMemoryCache' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/mapCache' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/objectCache' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/readFromStore' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/recordingCache' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/types' { declare module.exports: any; } declare module 'apollo-cache-inmemory/lib/writeToStore' { declare module.exports: any; } declare module 'apollo-cache-inmemory/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-cache-inmemory/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/bundle.umd'>; } declare module 'apollo-cache-inmemory/lib/fragmentMatcher.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/fragmentMatcher'>; } declare module 'apollo-cache-inmemory/lib/fragmentMatcherIntrospectionQuery.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/fragmentMatcherIntrospectionQuery'>; } declare module 'apollo-cache-inmemory/lib/index.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/index'>; } declare module 'apollo-cache-inmemory/lib/inMemoryCache.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/inMemoryCache'>; } declare module 'apollo-cache-inmemory/lib/mapCache.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/mapCache'>; } declare module 'apollo-cache-inmemory/lib/objectCache.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/objectCache'>; } declare module 'apollo-cache-inmemory/lib/readFromStore.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/readFromStore'>; } declare module 'apollo-cache-inmemory/lib/recordingCache.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/recordingCache'>; } declare module 'apollo-cache-inmemory/lib/types.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/types'>; } declare module 'apollo-cache-inmemory/lib/writeToStore.js' { declare module.exports: $Exports<'apollo-cache-inmemory/lib/writeToStore'>; } declare module 'apollo-cache-inmemory/rollup.config.js' { declare module.exports: $Exports<'apollo-cache-inmemory/rollup.config'>; } ================================================ FILE: flow-typed/npm/apollo-client_vx.x.x.js ================================================ // flow-typed signature: 0b56a0e3e55fd528e940b9d96f25c05e // flow-typed version: <>/apollo-client_v2.x/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-client' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-client' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-client/ApolloClient' { declare module.exports: any; } declare module 'apollo-client/bundle.umd' { declare module.exports: any; } declare module 'apollo-client/core/networkStatus' { declare module.exports: any; } declare module 'apollo-client/core/ObservableQuery' { declare module.exports: any; } declare module 'apollo-client/core/QueryManager' { declare module.exports: any; } declare module 'apollo-client/core/types' { declare module.exports: any; } declare module 'apollo-client/core/watchQueryOptions' { declare module.exports: any; } declare module 'apollo-client/data/mutations' { declare module.exports: any; } declare module 'apollo-client/data/queries' { declare module.exports: any; } declare module 'apollo-client/data/store' { declare module.exports: any; } declare module 'apollo-client/errors/ApolloError' { declare module.exports: any; } declare module 'apollo-client/scheduler/scheduler' { declare module.exports: any; } declare module 'apollo-client/util/Observable' { declare module.exports: any; } declare module 'apollo-client/version' { declare module.exports: any; } // Filename aliases declare module 'apollo-client/ApolloClient.js' { declare module.exports: $Exports<'apollo-client/ApolloClient'>; } declare module 'apollo-client/bundle.umd.js' { declare module.exports: $Exports<'apollo-client/bundle.umd'>; } declare module 'apollo-client/core/networkStatus.js' { declare module.exports: $Exports<'apollo-client/core/networkStatus'>; } declare module 'apollo-client/core/ObservableQuery.js' { declare module.exports: $Exports<'apollo-client/core/ObservableQuery'>; } declare module 'apollo-client/core/QueryManager.js' { declare module.exports: $Exports<'apollo-client/core/QueryManager'>; } declare module 'apollo-client/core/types.js' { declare module.exports: $Exports<'apollo-client/core/types'>; } declare module 'apollo-client/core/watchQueryOptions.js' { declare module.exports: $Exports<'apollo-client/core/watchQueryOptions'>; } declare module 'apollo-client/data/mutations.js' { declare module.exports: $Exports<'apollo-client/data/mutations'>; } declare module 'apollo-client/data/queries.js' { declare module.exports: $Exports<'apollo-client/data/queries'>; } declare module 'apollo-client/data/store.js' { declare module.exports: $Exports<'apollo-client/data/store'>; } declare module 'apollo-client/errors/ApolloError.js' { declare module.exports: $Exports<'apollo-client/errors/ApolloError'>; } declare module 'apollo-client/index' { declare module.exports: $Exports<'apollo-client'>; } declare module 'apollo-client/index.js' { declare module.exports: $Exports<'apollo-client'>; } declare module 'apollo-client/scheduler/scheduler.js' { declare module.exports: $Exports<'apollo-client/scheduler/scheduler'>; } declare module 'apollo-client/util/Observable.js' { declare module.exports: $Exports<'apollo-client/util/Observable'>; } declare module 'apollo-client/version.js' { declare module.exports: $Exports<'apollo-client/version'>; } ================================================ FILE: flow-typed/npm/apollo-engine_vx.x.x.js ================================================ // flow-typed signature: e347c1991b58f57957a33dd89d2c6203 // flow-typed version: <>/apollo-engine_v^0.8.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-engine' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-engine' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-engine/lib/index' { declare module.exports: any; } declare module 'apollo-engine/lib/middleware' { declare module.exports: any; } declare module 'apollo-engine/test/connect' { declare module.exports: any; } declare module 'apollo-engine/test/engine' { declare module.exports: any; } declare module 'apollo-engine/test/express' { declare module.exports: any; } declare module 'apollo-engine/test/hapi' { declare module.exports: any; } declare module 'apollo-engine/test/koa' { declare module.exports: any; } declare module 'apollo-engine/test/micro' { declare module.exports: any; } declare module 'apollo-engine/test/schema' { declare module.exports: any; } declare module 'apollo-engine/test/test' { declare module.exports: any; } // Filename aliases declare module 'apollo-engine/lib/index.js' { declare module.exports: $Exports<'apollo-engine/lib/index'>; } declare module 'apollo-engine/lib/middleware.js' { declare module.exports: $Exports<'apollo-engine/lib/middleware'>; } declare module 'apollo-engine/test/connect.js' { declare module.exports: $Exports<'apollo-engine/test/connect'>; } declare module 'apollo-engine/test/engine.js' { declare module.exports: $Exports<'apollo-engine/test/engine'>; } declare module 'apollo-engine/test/express.js' { declare module.exports: $Exports<'apollo-engine/test/express'>; } declare module 'apollo-engine/test/hapi.js' { declare module.exports: $Exports<'apollo-engine/test/hapi'>; } declare module 'apollo-engine/test/koa.js' { declare module.exports: $Exports<'apollo-engine/test/koa'>; } declare module 'apollo-engine/test/micro.js' { declare module.exports: $Exports<'apollo-engine/test/micro'>; } declare module 'apollo-engine/test/schema.js' { declare module.exports: $Exports<'apollo-engine/test/schema'>; } declare module 'apollo-engine/test/test.js' { declare module.exports: $Exports<'apollo-engine/test/test'>; } ================================================ FILE: flow-typed/npm/apollo-link-http_vx.x.x.js ================================================ // flow-typed signature: e007517b65406f4329649c40032d54ce // flow-typed version: <>/apollo-link-http_v^1.3.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-link-http' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-link-http' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-link-http/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-link-http/lib/httpLink' { declare module.exports: any; } declare module 'apollo-link-http/lib/index' { declare module.exports: any; } declare module 'apollo-link-http/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-link-http/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-link-http/lib/bundle.umd'>; } declare module 'apollo-link-http/lib/httpLink.js' { declare module.exports: $Exports<'apollo-link-http/lib/httpLink'>; } declare module 'apollo-link-http/lib/index.js' { declare module.exports: $Exports<'apollo-link-http/lib/index'>; } declare module 'apollo-link-http/rollup.config.js' { declare module.exports: $Exports<'apollo-link-http/rollup.config'>; } ================================================ FILE: flow-typed/npm/apollo-link-retry_vx.x.x.js ================================================ // flow-typed signature: e2f19bde43a3647b63b610da7f41a14e // flow-typed version: <>/apollo-link-retry_v2.1.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-link-retry' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-link-retry' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-link-retry/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-link-retry/lib/delayFunction' { declare module.exports: any; } declare module 'apollo-link-retry/lib/index' { declare module.exports: any; } declare module 'apollo-link-retry/lib/retryFunction' { declare module.exports: any; } declare module 'apollo-link-retry/lib/retryLink' { declare module.exports: any; } declare module 'apollo-link-retry/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-link-retry/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-link-retry/lib/bundle.umd'>; } declare module 'apollo-link-retry/lib/delayFunction.js' { declare module.exports: $Exports<'apollo-link-retry/lib/delayFunction'>; } declare module 'apollo-link-retry/lib/index.js' { declare module.exports: $Exports<'apollo-link-retry/lib/index'>; } declare module 'apollo-link-retry/lib/retryFunction.js' { declare module.exports: $Exports<'apollo-link-retry/lib/retryFunction'>; } declare module 'apollo-link-retry/lib/retryLink.js' { declare module.exports: $Exports<'apollo-link-retry/lib/retryLink'>; } declare module 'apollo-link-retry/rollup.config.js' { declare module.exports: $Exports<'apollo-link-retry/rollup.config'>; } ================================================ FILE: flow-typed/npm/apollo-link-schema_vx.x.x.js ================================================ // flow-typed signature: 61e2076f557fee75ba8e0dd7a7f21ae8 // flow-typed version: <>/apollo-link-schema_v1.1.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'apollo-link-schema' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-link-schema' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-link-schema/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-link-schema/lib/index' { declare module.exports: any; } declare module 'apollo-link-schema/lib/schemaLink' { declare module.exports: any; } declare module 'apollo-link-schema/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-link-schema/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-link-schema/lib/bundle.umd'>; } declare module 'apollo-link-schema/lib/index.js' { declare module.exports: $Exports<'apollo-link-schema/lib/index'>; } declare module 'apollo-link-schema/lib/schemaLink.js' { declare module.exports: $Exports<'apollo-link-schema/lib/schemaLink'>; } declare module 'apollo-link-schema/rollup.config.js' { declare module.exports: $Exports<'apollo-link-schema/rollup.config'>; } ================================================ FILE: flow-typed/npm/apollo-link-ws_vx.x.x.js ================================================ // flow-typed signature: 7f0409628464ee70853df937e5e547af // flow-typed version: <>/apollo-link-ws_v^1.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-link-ws' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-link-ws' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-link-ws/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-link-ws/lib/index' { declare module.exports: any; } declare module 'apollo-link-ws/lib/webSocketLink' { declare module.exports: any; } declare module 'apollo-link-ws/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-link-ws/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-link-ws/lib/bundle.umd'>; } declare module 'apollo-link-ws/lib/index.js' { declare module.exports: $Exports<'apollo-link-ws/lib/index'>; } declare module 'apollo-link-ws/lib/webSocketLink.js' { declare module.exports: $Exports<'apollo-link-ws/lib/webSocketLink'>; } declare module 'apollo-link-ws/rollup.config.js' { declare module.exports: $Exports<'apollo-link-ws/rollup.config'>; } ================================================ FILE: flow-typed/npm/apollo-link_vx.x.x.js ================================================ // flow-typed signature: 466b681854b8ea8e3659549b8fbf0c14 // flow-typed version: <>/apollo-link_v^1.0.7/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-link' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-link' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-link/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-link/lib/index' { declare module.exports: any; } declare module 'apollo-link/lib/link' { declare module.exports: any; } declare module 'apollo-link/lib/linkUtils' { declare module.exports: any; } declare module 'apollo-link/lib/test-utils' { declare module.exports: any; } declare module 'apollo-link/lib/test-utils/mockLink' { declare module.exports: any; } declare module 'apollo-link/lib/test-utils/setContext' { declare module.exports: any; } declare module 'apollo-link/lib/test-utils/testingUtils' { declare module.exports: any; } declare module 'apollo-link/lib/types' { declare module.exports: any; } declare module 'apollo-link/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-link/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-link/lib/bundle.umd'>; } declare module 'apollo-link/lib/index.js' { declare module.exports: $Exports<'apollo-link/lib/index'>; } declare module 'apollo-link/lib/link.js' { declare module.exports: $Exports<'apollo-link/lib/link'>; } declare module 'apollo-link/lib/linkUtils.js' { declare module.exports: $Exports<'apollo-link/lib/linkUtils'>; } declare module 'apollo-link/lib/test-utils.js' { declare module.exports: $Exports<'apollo-link/lib/test-utils'>; } declare module 'apollo-link/lib/test-utils/mockLink.js' { declare module.exports: $Exports<'apollo-link/lib/test-utils/mockLink'>; } declare module 'apollo-link/lib/test-utils/setContext.js' { declare module.exports: $Exports<'apollo-link/lib/test-utils/setContext'>; } declare module 'apollo-link/lib/test-utils/testingUtils.js' { declare module.exports: $Exports<'apollo-link/lib/test-utils/testingUtils'>; } declare module 'apollo-link/lib/types.js' { declare module.exports: $Exports<'apollo-link/lib/types'>; } declare module 'apollo-link/rollup.config.js' { declare module.exports: $Exports<'apollo-link/rollup.config'>; } ================================================ FILE: flow-typed/npm/apollo-local-query_vx.x.x.js ================================================ // flow-typed signature: 5462698d692d5f78e5d480911744b64c // flow-typed version: <>/apollo-local-query_v^0.3.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'apollo-local-query' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-local-query' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-local-query/tests/index' { declare module.exports: any; } // Filename aliases declare module 'apollo-local-query/index' { declare module.exports: $Exports<'apollo-local-query'>; } declare module 'apollo-local-query/index.js' { declare module.exports: $Exports<'apollo-local-query'>; } declare module 'apollo-local-query/tests/index.js' { declare module.exports: $Exports<'apollo-local-query/tests/index'>; } ================================================ FILE: flow-typed/npm/apollo-server-cache-redis_vx.x.x.js ================================================ // flow-typed signature: 2579e61c0f1bdea4f82d3a0ff4c70242 // flow-typed version: <>/apollo-server-cache-redis_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'apollo-server-cache-redis' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-server-cache-redis' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-server-cache-redis/dist/index' { declare module.exports: any; } // Filename aliases declare module 'apollo-server-cache-redis/dist/index.js' { declare module.exports: $Exports<'apollo-server-cache-redis/dist/index'>; } ================================================ FILE: flow-typed/npm/apollo-server-express_vx.x.x.js ================================================ // flow-typed signature: f45ccc8a02282556985652543a099375 // flow-typed version: <>/apollo-server-express_v2.0.4/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'apollo-server-express' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-server-express' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-server-express/dist/ApolloServer' { declare module.exports: any; } declare module 'apollo-server-express/dist/connectApollo' { declare module.exports: any; } declare module 'apollo-server-express/dist/expressApollo' { declare module.exports: any; } declare module 'apollo-server-express/dist/index' { declare module.exports: any; } // Filename aliases declare module 'apollo-server-express/dist/ApolloServer.js' { declare module.exports: $Exports<'apollo-server-express/dist/ApolloServer'>; } declare module 'apollo-server-express/dist/connectApollo.js' { declare module.exports: $Exports<'apollo-server-express/dist/connectApollo'>; } declare module 'apollo-server-express/dist/expressApollo.js' { declare module.exports: $Exports<'apollo-server-express/dist/expressApollo'>; } declare module 'apollo-server-express/dist/index.js' { declare module.exports: $Exports<'apollo-server-express/dist/index'>; } ================================================ FILE: flow-typed/npm/apollo-server-plugin-response-cache_vx.x.x.js ================================================ // flow-typed signature: 24e78321d1ce97826d55241446c65e89 // flow-typed version: <>/apollo-server-plugin-response-cache_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'apollo-server-plugin-response-cache' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-server-plugin-response-cache' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-server-plugin-response-cache/dist/ApolloServerPluginResponseCache' { declare module.exports: any; } declare module 'apollo-server-plugin-response-cache/dist/index' { declare module.exports: any; } // Filename aliases declare module 'apollo-server-plugin-response-cache/dist/ApolloServerPluginResponseCache.js' { declare module.exports: $Exports<'apollo-server-plugin-response-cache/dist/ApolloServerPluginResponseCache'>; } declare module 'apollo-server-plugin-response-cache/dist/index.js' { declare module.exports: $Exports<'apollo-server-plugin-response-cache/dist/index'>; } ================================================ FILE: flow-typed/npm/apollo-upload-client_vx.x.x.js ================================================ // flow-typed signature: 6c05143fc37ed485649e03b33d1e80a5 // flow-typed version: <>/apollo-upload-client_v6.x/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-upload-client' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-upload-client' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-upload-client/lib/main/index' { declare module.exports: any; } // Filename aliases declare module 'apollo-upload-client/lib/main/index.js' { declare module.exports: $Exports<'apollo-upload-client/lib/main/index'>; } ================================================ FILE: flow-typed/npm/apollo-upload-server_vx.x.x.js ================================================ // flow-typed signature: 15ee28e7cc66336df33e6efbf792d48a // flow-typed version: <>/apollo-upload-server_v^2.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-upload-server' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-upload-server' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-upload-server/dist/apollo-upload-server' { declare module.exports: any; } declare module 'apollo-upload-server/dist/apollo-upload-server.module' { declare module.exports: any; } declare module 'apollo-upload-server/src/index' { declare module.exports: any; } // Filename aliases declare module 'apollo-upload-server/dist/apollo-upload-server.js' { declare module.exports: $Exports<'apollo-upload-server/dist/apollo-upload-server'>; } declare module 'apollo-upload-server/dist/apollo-upload-server.module.js' { declare module.exports: $Exports<'apollo-upload-server/dist/apollo-upload-server.module'>; } declare module 'apollo-upload-server/src/index.js' { declare module.exports: $Exports<'apollo-upload-server/src/index'>; } ================================================ FILE: flow-typed/npm/apollo-utilities_vx.x.x.js ================================================ // flow-typed signature: 2d49bd60960076967702ccedf0db590b // flow-typed version: <>/apollo-utilities_v1.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'apollo-utilities' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'apollo-utilities' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'apollo-utilities/lib/bundle.umd' { declare module.exports: any; } declare module 'apollo-utilities/lib/directives' { declare module.exports: any; } declare module 'apollo-utilities/lib/fragments' { declare module.exports: any; } declare module 'apollo-utilities/lib/getFromAST' { declare module.exports: any; } declare module 'apollo-utilities/lib/index' { declare module.exports: any; } declare module 'apollo-utilities/lib/storeUtils' { declare module.exports: any; } declare module 'apollo-utilities/lib/transform' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/assign' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/cloneDeep' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/environment' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/errorHandling' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/isEqual' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/maybeDeepFreeze' { declare module.exports: any; } declare module 'apollo-utilities/lib/util/warnOnce' { declare module.exports: any; } declare module 'apollo-utilities/rollup.config' { declare module.exports: any; } // Filename aliases declare module 'apollo-utilities/lib/bundle.umd.js' { declare module.exports: $Exports<'apollo-utilities/lib/bundle.umd'>; } declare module 'apollo-utilities/lib/directives.js' { declare module.exports: $Exports<'apollo-utilities/lib/directives'>; } declare module 'apollo-utilities/lib/fragments.js' { declare module.exports: $Exports<'apollo-utilities/lib/fragments'>; } declare module 'apollo-utilities/lib/getFromAST.js' { declare module.exports: $Exports<'apollo-utilities/lib/getFromAST'>; } declare module 'apollo-utilities/lib/index.js' { declare module.exports: $Exports<'apollo-utilities/lib/index'>; } declare module 'apollo-utilities/lib/storeUtils.js' { declare module.exports: $Exports<'apollo-utilities/lib/storeUtils'>; } declare module 'apollo-utilities/lib/transform.js' { declare module.exports: $Exports<'apollo-utilities/lib/transform'>; } declare module 'apollo-utilities/lib/util/assign.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/assign'>; } declare module 'apollo-utilities/lib/util/cloneDeep.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/cloneDeep'>; } declare module 'apollo-utilities/lib/util/environment.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/environment'>; } declare module 'apollo-utilities/lib/util/errorHandling.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/errorHandling'>; } declare module 'apollo-utilities/lib/util/isEqual.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/isEqual'>; } declare module 'apollo-utilities/lib/util/maybeDeepFreeze.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/maybeDeepFreeze'>; } declare module 'apollo-utilities/lib/util/warnOnce.js' { declare module.exports: $Exports<'apollo-utilities/lib/util/warnOnce'>; } declare module 'apollo-utilities/rollup.config.js' { declare module.exports: $Exports<'apollo-utilities/rollup.config'>; } ================================================ FILE: flow-typed/npm/aws-sdk_vx.x.x.js ================================================ // flow-typed signature: b073e824bc9714619fca4dd6caeb7e41 // flow-typed version: <>/aws-sdk_v2.200.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'aws-sdk' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'aws-sdk' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'aws-sdk/browser' { declare module.exports: any; } declare module 'aws-sdk/clients/acm' { declare module.exports: any; } declare module 'aws-sdk/clients/alexaforbusiness' { declare module.exports: any; } declare module 'aws-sdk/clients/all' { declare module.exports: any; } declare module 'aws-sdk/clients/apigateway' { declare module.exports: any; } declare module 'aws-sdk/clients/applicationautoscaling' { declare module.exports: any; } declare module 'aws-sdk/clients/appstream' { declare module.exports: any; } declare module 'aws-sdk/clients/appsync' { declare module.exports: any; } declare module 'aws-sdk/clients/athena' { declare module.exports: any; } declare module 'aws-sdk/clients/autoscaling' { declare module.exports: any; } declare module 'aws-sdk/clients/autoscalingplans' { declare module.exports: any; } declare module 'aws-sdk/clients/batch' { declare module.exports: any; } declare module 'aws-sdk/clients/browser_default' { declare module.exports: any; } declare module 'aws-sdk/clients/budgets' { declare module.exports: any; } declare module 'aws-sdk/clients/cloud9' { declare module.exports: any; } declare module 'aws-sdk/clients/clouddirectory' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudformation' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudfront' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudhsm' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudhsmv2' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudsearch' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudsearchdomain' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudtrail' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudwatch' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudwatchevents' { declare module.exports: any; } declare module 'aws-sdk/clients/cloudwatchlogs' { declare module.exports: any; } declare module 'aws-sdk/clients/codebuild' { declare module.exports: any; } declare module 'aws-sdk/clients/codecommit' { declare module.exports: any; } declare module 'aws-sdk/clients/codedeploy' { declare module.exports: any; } declare module 'aws-sdk/clients/codepipeline' { declare module.exports: any; } declare module 'aws-sdk/clients/codestar' { declare module.exports: any; } declare module 'aws-sdk/clients/cognitoidentity' { declare module.exports: any; } declare module 'aws-sdk/clients/cognitoidentityserviceprovider' { declare module.exports: any; } declare module 'aws-sdk/clients/cognitosync' { declare module.exports: any; } declare module 'aws-sdk/clients/comprehend' { declare module.exports: any; } declare module 'aws-sdk/clients/configservice' { declare module.exports: any; } declare module 'aws-sdk/clients/costexplorer' { declare module.exports: any; } declare module 'aws-sdk/clients/cur' { declare module.exports: any; } declare module 'aws-sdk/clients/datapipeline' { declare module.exports: any; } declare module 'aws-sdk/clients/dax' { declare module.exports: any; } declare module 'aws-sdk/clients/devicefarm' { declare module.exports: any; } declare module 'aws-sdk/clients/directconnect' { declare module.exports: any; } declare module 'aws-sdk/clients/directoryservice' { declare module.exports: any; } declare module 'aws-sdk/clients/discovery' { declare module.exports: any; } declare module 'aws-sdk/clients/dms' { declare module.exports: any; } declare module 'aws-sdk/clients/dynamodb' { declare module.exports: any; } declare module 'aws-sdk/clients/dynamodbstreams' { declare module.exports: any; } declare module 'aws-sdk/clients/ec2' { declare module.exports: any; } declare module 'aws-sdk/clients/ecr' { declare module.exports: any; } declare module 'aws-sdk/clients/ecs' { declare module.exports: any; } declare module 'aws-sdk/clients/efs' { declare module.exports: any; } declare module 'aws-sdk/clients/elasticache' { declare module.exports: any; } declare module 'aws-sdk/clients/elasticbeanstalk' { declare module.exports: any; } declare module 'aws-sdk/clients/elastictranscoder' { declare module.exports: any; } declare module 'aws-sdk/clients/elb' { declare module.exports: any; } declare module 'aws-sdk/clients/elbv2' { declare module.exports: any; } declare module 'aws-sdk/clients/emr' { declare module.exports: any; } declare module 'aws-sdk/clients/es' { declare module.exports: any; } declare module 'aws-sdk/clients/firehose' { declare module.exports: any; } declare module 'aws-sdk/clients/gamelift' { declare module.exports: any; } declare module 'aws-sdk/clients/glacier' { declare module.exports: any; } declare module 'aws-sdk/clients/glue' { declare module.exports: any; } declare module 'aws-sdk/clients/greengrass' { declare module.exports: any; } declare module 'aws-sdk/clients/guardduty' { declare module.exports: any; } declare module 'aws-sdk/clients/health' { declare module.exports: any; } declare module 'aws-sdk/clients/iam' { declare module.exports: any; } declare module 'aws-sdk/clients/importexport' { declare module.exports: any; } declare module 'aws-sdk/clients/inspector' { declare module.exports: any; } declare module 'aws-sdk/clients/iot' { declare module.exports: any; } declare module 'aws-sdk/clients/iotdata' { declare module.exports: any; } declare module 'aws-sdk/clients/iotjobsdataplane' { declare module.exports: any; } declare module 'aws-sdk/clients/kinesis' { declare module.exports: any; } declare module 'aws-sdk/clients/kinesisanalytics' { declare module.exports: any; } declare module 'aws-sdk/clients/kinesisvideo' { declare module.exports: any; } declare module 'aws-sdk/clients/kinesisvideoarchivedmedia' { declare module.exports: any; } declare module 'aws-sdk/clients/kinesisvideomedia' { declare module.exports: any; } declare module 'aws-sdk/clients/kms' { declare module.exports: any; } declare module 'aws-sdk/clients/lambda' { declare module.exports: any; } declare module 'aws-sdk/clients/lexmodelbuildingservice' { declare module.exports: any; } declare module 'aws-sdk/clients/lexruntime' { declare module.exports: any; } declare module 'aws-sdk/clients/lightsail' { declare module.exports: any; } declare module 'aws-sdk/clients/machinelearning' { declare module.exports: any; } declare module 'aws-sdk/clients/marketplacecommerceanalytics' { declare module.exports: any; } declare module 'aws-sdk/clients/marketplaceentitlementservice' { declare module.exports: any; } declare module 'aws-sdk/clients/marketplacemetering' { declare module.exports: any; } declare module 'aws-sdk/clients/mediaconvert' { declare module.exports: any; } declare module 'aws-sdk/clients/medialive' { declare module.exports: any; } declare module 'aws-sdk/clients/mediapackage' { declare module.exports: any; } declare module 'aws-sdk/clients/mediastore' { declare module.exports: any; } declare module 'aws-sdk/clients/mediastoredata' { declare module.exports: any; } declare module 'aws-sdk/clients/migrationhub' { declare module.exports: any; } declare module 'aws-sdk/clients/mobile' { declare module.exports: any; } declare module 'aws-sdk/clients/mobileanalytics' { declare module.exports: any; } declare module 'aws-sdk/clients/mq' { declare module.exports: any; } declare module 'aws-sdk/clients/mturk' { declare module.exports: any; } declare module 'aws-sdk/clients/opsworks' { declare module.exports: any; } declare module 'aws-sdk/clients/opsworkscm' { declare module.exports: any; } declare module 'aws-sdk/clients/organizations' { declare module.exports: any; } declare module 'aws-sdk/clients/pinpoint' { declare module.exports: any; } declare module 'aws-sdk/clients/polly' { declare module.exports: any; } declare module 'aws-sdk/clients/pricing' { declare module.exports: any; } declare module 'aws-sdk/clients/rds' { declare module.exports: any; } declare module 'aws-sdk/clients/redshift' { declare module.exports: any; } declare module 'aws-sdk/clients/rekognition' { declare module.exports: any; } declare module 'aws-sdk/clients/resourcegroups' { declare module.exports: any; } declare module 'aws-sdk/clients/resourcegroupstaggingapi' { declare module.exports: any; } declare module 'aws-sdk/clients/route53' { declare module.exports: any; } declare module 'aws-sdk/clients/route53domains' { declare module.exports: any; } declare module 'aws-sdk/clients/s3' { declare module.exports: any; } declare module 'aws-sdk/clients/sagemaker' { declare module.exports: any; } declare module 'aws-sdk/clients/sagemakerruntime' { declare module.exports: any; } declare module 'aws-sdk/clients/serverlessapplicationrepository' { declare module.exports: any; } declare module 'aws-sdk/clients/servicecatalog' { declare module.exports: any; } declare module 'aws-sdk/clients/servicediscovery' { declare module.exports: any; } declare module 'aws-sdk/clients/ses' { declare module.exports: any; } declare module 'aws-sdk/clients/shield' { declare module.exports: any; } declare module 'aws-sdk/clients/simpledb' { declare module.exports: any; } declare module 'aws-sdk/clients/sms' { declare module.exports: any; } declare module 'aws-sdk/clients/snowball' { declare module.exports: any; } declare module 'aws-sdk/clients/sns' { declare module.exports: any; } declare module 'aws-sdk/clients/sqs' { declare module.exports: any; } declare module 'aws-sdk/clients/ssm' { declare module.exports: any; } declare module 'aws-sdk/clients/stepfunctions' { declare module.exports: any; } declare module 'aws-sdk/clients/storagegateway' { declare module.exports: any; } declare module 'aws-sdk/clients/sts' { declare module.exports: any; } declare module 'aws-sdk/clients/support' { declare module.exports: any; } declare module 'aws-sdk/clients/swf' { declare module.exports: any; } declare module 'aws-sdk/clients/transcribeservice' { declare module.exports: any; } declare module 'aws-sdk/clients/translate' { declare module.exports: any; } declare module 'aws-sdk/clients/waf' { declare module.exports: any; } declare module 'aws-sdk/clients/wafregional' { declare module.exports: any; } declare module 'aws-sdk/clients/workdocs' { declare module.exports: any; } declare module 'aws-sdk/clients/workmail' { declare module.exports: any; } declare module 'aws-sdk/clients/workspaces' { declare module.exports: any; } declare module 'aws-sdk/clients/xray' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/browser-builder' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/client-creator' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/create-all-services' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/service-collector' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/transform' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/webpack.config.rn-core' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/webpack.config.rn-dep' { declare module.exports: any; } declare module 'aws-sdk/dist-tools/webpack.config.rn' { declare module.exports: any; } declare module 'aws-sdk/dist/aws-sdk-core-react-native' { declare module.exports: any; } declare module 'aws-sdk/dist/aws-sdk-react-native' { declare module.exports: any; } declare module 'aws-sdk/dist/aws-sdk' { declare module.exports: any; } declare module 'aws-sdk/dist/aws-sdk.min' { declare module.exports: any; } declare module 'aws-sdk/dist/xml2js' { declare module.exports: any; } declare module 'aws-sdk/global' { declare module.exports: any; } declare module 'aws-sdk/lib/api_loader' { declare module.exports: any; } declare module 'aws-sdk/lib/aws' { declare module.exports: any; } declare module 'aws-sdk/lib/browser_loader' { declare module.exports: any; } declare module 'aws-sdk/lib/browser' { declare module.exports: any; } declare module 'aws-sdk/lib/browserCryptoLib' { declare module.exports: any; } declare module 'aws-sdk/lib/browserHashUtils' { declare module.exports: any; } declare module 'aws-sdk/lib/browserHmac' { declare module.exports: any; } declare module 'aws-sdk/lib/browserMd5' { declare module.exports: any; } declare module 'aws-sdk/lib/browserSha1' { declare module.exports: any; } declare module 'aws-sdk/lib/browserSha256' { declare module.exports: any; } declare module 'aws-sdk/lib/cloudfront/signer' { declare module.exports: any; } declare module 'aws-sdk/lib/config' { declare module.exports: any; } declare module 'aws-sdk/lib/core' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/cognito_identity_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/credential_provider_chain' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/ec2_metadata_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/ecs_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/environment_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/file_system_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/remote_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/saml_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/shared_ini_file_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/temporary_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/credentials/web_identity_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/dynamodb/converter' { declare module.exports: any; } declare module 'aws-sdk/lib/dynamodb/document_client' { declare module.exports: any; } declare module 'aws-sdk/lib/dynamodb/numberValue' { declare module.exports: any; } declare module 'aws-sdk/lib/dynamodb/set' { declare module.exports: any; } declare module 'aws-sdk/lib/dynamodb/translator' { declare module.exports: any; } declare module 'aws-sdk/lib/dynamodb/types' { declare module.exports: any; } declare module 'aws-sdk/lib/empty' { declare module.exports: any; } declare module 'aws-sdk/lib/event_listeners' { declare module.exports: any; } declare module 'aws-sdk/lib/http' { declare module.exports: any; } declare module 'aws-sdk/lib/http/node' { declare module.exports: any; } declare module 'aws-sdk/lib/http/xhr' { declare module.exports: any; } declare module 'aws-sdk/lib/json/builder' { declare module.exports: any; } declare module 'aws-sdk/lib/json/parser' { declare module.exports: any; } declare module 'aws-sdk/lib/metadata_service' { declare module.exports: any; } declare module 'aws-sdk/lib/model/api' { declare module.exports: any; } declare module 'aws-sdk/lib/model/collection' { declare module.exports: any; } declare module 'aws-sdk/lib/model/operation' { declare module.exports: any; } declare module 'aws-sdk/lib/model/paginator' { declare module.exports: any; } declare module 'aws-sdk/lib/model/resource_waiter' { declare module.exports: any; } declare module 'aws-sdk/lib/model/shape' { declare module.exports: any; } declare module 'aws-sdk/lib/node_loader' { declare module.exports: any; } declare module 'aws-sdk/lib/param_validator' { declare module.exports: any; } declare module 'aws-sdk/lib/polly/presigner' { declare module.exports: any; } declare module 'aws-sdk/lib/protocol/json' { declare module.exports: any; } declare module 'aws-sdk/lib/protocol/query' { declare module.exports: any; } declare module 'aws-sdk/lib/protocol/rest_json' { declare module.exports: any; } declare module 'aws-sdk/lib/protocol/rest_xml' { declare module.exports: any; } declare module 'aws-sdk/lib/protocol/rest' { declare module.exports: any; } declare module 'aws-sdk/lib/query/query_param_serializer' { declare module.exports: any; } declare module 'aws-sdk/lib/rds/signer' { declare module.exports: any; } declare module 'aws-sdk/lib/react-native-loader' { declare module.exports: any; } declare module 'aws-sdk/lib/react-native/add-content-type' { declare module.exports: any; } declare module 'aws-sdk/lib/region_config' { declare module.exports: any; } declare module 'aws-sdk/lib/request' { declare module.exports: any; } declare module 'aws-sdk/lib/resource_waiter' { declare module.exports: any; } declare module 'aws-sdk/lib/response' { declare module.exports: any; } declare module 'aws-sdk/lib/s3/managed_upload' { declare module.exports: any; } declare module 'aws-sdk/lib/sequential_executor' { declare module.exports: any; } declare module 'aws-sdk/lib/service' { declare module.exports: any; } declare module 'aws-sdk/lib/services/apigateway' { declare module.exports: any; } declare module 'aws-sdk/lib/services/cloudfront' { declare module.exports: any; } declare module 'aws-sdk/lib/services/cloudsearchdomain' { declare module.exports: any; } declare module 'aws-sdk/lib/services/cognitoidentity' { declare module.exports: any; } declare module 'aws-sdk/lib/services/dynamodb' { declare module.exports: any; } declare module 'aws-sdk/lib/services/ec2' { declare module.exports: any; } declare module 'aws-sdk/lib/services/glacier' { declare module.exports: any; } declare module 'aws-sdk/lib/services/iotdata' { declare module.exports: any; } declare module 'aws-sdk/lib/services/lambda' { declare module.exports: any; } declare module 'aws-sdk/lib/services/machinelearning' { declare module.exports: any; } declare module 'aws-sdk/lib/services/polly' { declare module.exports: any; } declare module 'aws-sdk/lib/services/rds' { declare module.exports: any; } declare module 'aws-sdk/lib/services/route53' { declare module.exports: any; } declare module 'aws-sdk/lib/services/s3' { declare module.exports: any; } declare module 'aws-sdk/lib/services/sqs' { declare module.exports: any; } declare module 'aws-sdk/lib/services/sts' { declare module.exports: any; } declare module 'aws-sdk/lib/services/swf' { declare module.exports: any; } declare module 'aws-sdk/lib/shared_ini' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/presign' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/request_signer' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/s3' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/v2' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/v3' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/v3https' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/v4_credentials' { declare module.exports: any; } declare module 'aws-sdk/lib/signers/v4' { declare module.exports: any; } declare module 'aws-sdk/lib/state_machine' { declare module.exports: any; } declare module 'aws-sdk/lib/util' { declare module.exports: any; } declare module 'aws-sdk/lib/xml/browser_parser' { declare module.exports: any; } declare module 'aws-sdk/lib/xml/builder' { declare module.exports: any; } declare module 'aws-sdk/lib/xml/node_parser' { declare module.exports: any; } declare module 'aws-sdk/react-native' { declare module.exports: any; } declare module 'aws-sdk/scripts/changelog/add-change' { declare module.exports: any; } declare module 'aws-sdk/scripts/changelog/change-creator' { declare module.exports: any; } declare module 'aws-sdk/scripts/changelog/util' { declare module.exports: any; } declare module 'aws-sdk/scripts/lib/translator' { declare module.exports: any; } declare module 'aws-sdk/scripts/lib/ts-generator' { declare module.exports: any; } declare module 'aws-sdk/scripts/region-checker/index' { declare module.exports: any; } declare module 'aws-sdk/scripts/region-checker/whitelist' { declare module.exports: any; } declare module 'aws-sdk/scripts/services-table-generator' { declare module.exports: any; } declare module 'aws-sdk/scripts/typings-generator' { declare module.exports: any; } // Filename aliases declare module 'aws-sdk/browser.js' { declare module.exports: $Exports<'aws-sdk/browser'>; } declare module 'aws-sdk/clients/acm.js' { declare module.exports: $Exports<'aws-sdk/clients/acm'>; } declare module 'aws-sdk/clients/alexaforbusiness.js' { declare module.exports: $Exports<'aws-sdk/clients/alexaforbusiness'>; } declare module 'aws-sdk/clients/all.js' { declare module.exports: $Exports<'aws-sdk/clients/all'>; } declare module 'aws-sdk/clients/apigateway.js' { declare module.exports: $Exports<'aws-sdk/clients/apigateway'>; } declare module 'aws-sdk/clients/applicationautoscaling.js' { declare module.exports: $Exports<'aws-sdk/clients/applicationautoscaling'>; } declare module 'aws-sdk/clients/appstream.js' { declare module.exports: $Exports<'aws-sdk/clients/appstream'>; } declare module 'aws-sdk/clients/appsync.js' { declare module.exports: $Exports<'aws-sdk/clients/appsync'>; } declare module 'aws-sdk/clients/athena.js' { declare module.exports: $Exports<'aws-sdk/clients/athena'>; } declare module 'aws-sdk/clients/autoscaling.js' { declare module.exports: $Exports<'aws-sdk/clients/autoscaling'>; } declare module 'aws-sdk/clients/autoscalingplans.js' { declare module.exports: $Exports<'aws-sdk/clients/autoscalingplans'>; } declare module 'aws-sdk/clients/batch.js' { declare module.exports: $Exports<'aws-sdk/clients/batch'>; } declare module 'aws-sdk/clients/browser_default.js' { declare module.exports: $Exports<'aws-sdk/clients/browser_default'>; } declare module 'aws-sdk/clients/budgets.js' { declare module.exports: $Exports<'aws-sdk/clients/budgets'>; } declare module 'aws-sdk/clients/cloud9.js' { declare module.exports: $Exports<'aws-sdk/clients/cloud9'>; } declare module 'aws-sdk/clients/clouddirectory.js' { declare module.exports: $Exports<'aws-sdk/clients/clouddirectory'>; } declare module 'aws-sdk/clients/cloudformation.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudformation'>; } declare module 'aws-sdk/clients/cloudfront.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudfront'>; } declare module 'aws-sdk/clients/cloudhsm.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudhsm'>; } declare module 'aws-sdk/clients/cloudhsmv2.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudhsmv2'>; } declare module 'aws-sdk/clients/cloudsearch.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudsearch'>; } declare module 'aws-sdk/clients/cloudsearchdomain.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudsearchdomain'>; } declare module 'aws-sdk/clients/cloudtrail.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudtrail'>; } declare module 'aws-sdk/clients/cloudwatch.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudwatch'>; } declare module 'aws-sdk/clients/cloudwatchevents.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudwatchevents'>; } declare module 'aws-sdk/clients/cloudwatchlogs.js' { declare module.exports: $Exports<'aws-sdk/clients/cloudwatchlogs'>; } declare module 'aws-sdk/clients/codebuild.js' { declare module.exports: $Exports<'aws-sdk/clients/codebuild'>; } declare module 'aws-sdk/clients/codecommit.js' { declare module.exports: $Exports<'aws-sdk/clients/codecommit'>; } declare module 'aws-sdk/clients/codedeploy.js' { declare module.exports: $Exports<'aws-sdk/clients/codedeploy'>; } declare module 'aws-sdk/clients/codepipeline.js' { declare module.exports: $Exports<'aws-sdk/clients/codepipeline'>; } declare module 'aws-sdk/clients/codestar.js' { declare module.exports: $Exports<'aws-sdk/clients/codestar'>; } declare module 'aws-sdk/clients/cognitoidentity.js' { declare module.exports: $Exports<'aws-sdk/clients/cognitoidentity'>; } declare module 'aws-sdk/clients/cognitoidentityserviceprovider.js' { declare module.exports: $Exports<'aws-sdk/clients/cognitoidentityserviceprovider'>; } declare module 'aws-sdk/clients/cognitosync.js' { declare module.exports: $Exports<'aws-sdk/clients/cognitosync'>; } declare module 'aws-sdk/clients/comprehend.js' { declare module.exports: $Exports<'aws-sdk/clients/comprehend'>; } declare module 'aws-sdk/clients/configservice.js' { declare module.exports: $Exports<'aws-sdk/clients/configservice'>; } declare module 'aws-sdk/clients/costexplorer.js' { declare module.exports: $Exports<'aws-sdk/clients/costexplorer'>; } declare module 'aws-sdk/clients/cur.js' { declare module.exports: $Exports<'aws-sdk/clients/cur'>; } declare module 'aws-sdk/clients/datapipeline.js' { declare module.exports: $Exports<'aws-sdk/clients/datapipeline'>; } declare module 'aws-sdk/clients/dax.js' { declare module.exports: $Exports<'aws-sdk/clients/dax'>; } declare module 'aws-sdk/clients/devicefarm.js' { declare module.exports: $Exports<'aws-sdk/clients/devicefarm'>; } declare module 'aws-sdk/clients/directconnect.js' { declare module.exports: $Exports<'aws-sdk/clients/directconnect'>; } declare module 'aws-sdk/clients/directoryservice.js' { declare module.exports: $Exports<'aws-sdk/clients/directoryservice'>; } declare module 'aws-sdk/clients/discovery.js' { declare module.exports: $Exports<'aws-sdk/clients/discovery'>; } declare module 'aws-sdk/clients/dms.js' { declare module.exports: $Exports<'aws-sdk/clients/dms'>; } declare module 'aws-sdk/clients/dynamodb.js' { declare module.exports: $Exports<'aws-sdk/clients/dynamodb'>; } declare module 'aws-sdk/clients/dynamodbstreams.js' { declare module.exports: $Exports<'aws-sdk/clients/dynamodbstreams'>; } declare module 'aws-sdk/clients/ec2.js' { declare module.exports: $Exports<'aws-sdk/clients/ec2'>; } declare module 'aws-sdk/clients/ecr.js' { declare module.exports: $Exports<'aws-sdk/clients/ecr'>; } declare module 'aws-sdk/clients/ecs.js' { declare module.exports: $Exports<'aws-sdk/clients/ecs'>; } declare module 'aws-sdk/clients/efs.js' { declare module.exports: $Exports<'aws-sdk/clients/efs'>; } declare module 'aws-sdk/clients/elasticache.js' { declare module.exports: $Exports<'aws-sdk/clients/elasticache'>; } declare module 'aws-sdk/clients/elasticbeanstalk.js' { declare module.exports: $Exports<'aws-sdk/clients/elasticbeanstalk'>; } declare module 'aws-sdk/clients/elastictranscoder.js' { declare module.exports: $Exports<'aws-sdk/clients/elastictranscoder'>; } declare module 'aws-sdk/clients/elb.js' { declare module.exports: $Exports<'aws-sdk/clients/elb'>; } declare module 'aws-sdk/clients/elbv2.js' { declare module.exports: $Exports<'aws-sdk/clients/elbv2'>; } declare module 'aws-sdk/clients/emr.js' { declare module.exports: $Exports<'aws-sdk/clients/emr'>; } declare module 'aws-sdk/clients/es.js' { declare module.exports: $Exports<'aws-sdk/clients/es'>; } declare module 'aws-sdk/clients/firehose.js' { declare module.exports: $Exports<'aws-sdk/clients/firehose'>; } declare module 'aws-sdk/clients/gamelift.js' { declare module.exports: $Exports<'aws-sdk/clients/gamelift'>; } declare module 'aws-sdk/clients/glacier.js' { declare module.exports: $Exports<'aws-sdk/clients/glacier'>; } declare module 'aws-sdk/clients/glue.js' { declare module.exports: $Exports<'aws-sdk/clients/glue'>; } declare module 'aws-sdk/clients/greengrass.js' { declare module.exports: $Exports<'aws-sdk/clients/greengrass'>; } declare module 'aws-sdk/clients/guardduty.js' { declare module.exports: $Exports<'aws-sdk/clients/guardduty'>; } declare module 'aws-sdk/clients/health.js' { declare module.exports: $Exports<'aws-sdk/clients/health'>; } declare module 'aws-sdk/clients/iam.js' { declare module.exports: $Exports<'aws-sdk/clients/iam'>; } declare module 'aws-sdk/clients/importexport.js' { declare module.exports: $Exports<'aws-sdk/clients/importexport'>; } declare module 'aws-sdk/clients/inspector.js' { declare module.exports: $Exports<'aws-sdk/clients/inspector'>; } declare module 'aws-sdk/clients/iot.js' { declare module.exports: $Exports<'aws-sdk/clients/iot'>; } declare module 'aws-sdk/clients/iotdata.js' { declare module.exports: $Exports<'aws-sdk/clients/iotdata'>; } declare module 'aws-sdk/clients/iotjobsdataplane.js' { declare module.exports: $Exports<'aws-sdk/clients/iotjobsdataplane'>; } declare module 'aws-sdk/clients/kinesis.js' { declare module.exports: $Exports<'aws-sdk/clients/kinesis'>; } declare module 'aws-sdk/clients/kinesisanalytics.js' { declare module.exports: $Exports<'aws-sdk/clients/kinesisanalytics'>; } declare module 'aws-sdk/clients/kinesisvideo.js' { declare module.exports: $Exports<'aws-sdk/clients/kinesisvideo'>; } declare module 'aws-sdk/clients/kinesisvideoarchivedmedia.js' { declare module.exports: $Exports<'aws-sdk/clients/kinesisvideoarchivedmedia'>; } declare module 'aws-sdk/clients/kinesisvideomedia.js' { declare module.exports: $Exports<'aws-sdk/clients/kinesisvideomedia'>; } declare module 'aws-sdk/clients/kms.js' { declare module.exports: $Exports<'aws-sdk/clients/kms'>; } declare module 'aws-sdk/clients/lambda.js' { declare module.exports: $Exports<'aws-sdk/clients/lambda'>; } declare module 'aws-sdk/clients/lexmodelbuildingservice.js' { declare module.exports: $Exports<'aws-sdk/clients/lexmodelbuildingservice'>; } declare module 'aws-sdk/clients/lexruntime.js' { declare module.exports: $Exports<'aws-sdk/clients/lexruntime'>; } declare module 'aws-sdk/clients/lightsail.js' { declare module.exports: $Exports<'aws-sdk/clients/lightsail'>; } declare module 'aws-sdk/clients/machinelearning.js' { declare module.exports: $Exports<'aws-sdk/clients/machinelearning'>; } declare module 'aws-sdk/clients/marketplacecommerceanalytics.js' { declare module.exports: $Exports<'aws-sdk/clients/marketplacecommerceanalytics'>; } declare module 'aws-sdk/clients/marketplaceentitlementservice.js' { declare module.exports: $Exports<'aws-sdk/clients/marketplaceentitlementservice'>; } declare module 'aws-sdk/clients/marketplacemetering.js' { declare module.exports: $Exports<'aws-sdk/clients/marketplacemetering'>; } declare module 'aws-sdk/clients/mediaconvert.js' { declare module.exports: $Exports<'aws-sdk/clients/mediaconvert'>; } declare module 'aws-sdk/clients/medialive.js' { declare module.exports: $Exports<'aws-sdk/clients/medialive'>; } declare module 'aws-sdk/clients/mediapackage.js' { declare module.exports: $Exports<'aws-sdk/clients/mediapackage'>; } declare module 'aws-sdk/clients/mediastore.js' { declare module.exports: $Exports<'aws-sdk/clients/mediastore'>; } declare module 'aws-sdk/clients/mediastoredata.js' { declare module.exports: $Exports<'aws-sdk/clients/mediastoredata'>; } declare module 'aws-sdk/clients/migrationhub.js' { declare module.exports: $Exports<'aws-sdk/clients/migrationhub'>; } declare module 'aws-sdk/clients/mobile.js' { declare module.exports: $Exports<'aws-sdk/clients/mobile'>; } declare module 'aws-sdk/clients/mobileanalytics.js' { declare module.exports: $Exports<'aws-sdk/clients/mobileanalytics'>; } declare module 'aws-sdk/clients/mq.js' { declare module.exports: $Exports<'aws-sdk/clients/mq'>; } declare module 'aws-sdk/clients/mturk.js' { declare module.exports: $Exports<'aws-sdk/clients/mturk'>; } declare module 'aws-sdk/clients/opsworks.js' { declare module.exports: $Exports<'aws-sdk/clients/opsworks'>; } declare module 'aws-sdk/clients/opsworkscm.js' { declare module.exports: $Exports<'aws-sdk/clients/opsworkscm'>; } declare module 'aws-sdk/clients/organizations.js' { declare module.exports: $Exports<'aws-sdk/clients/organizations'>; } declare module 'aws-sdk/clients/pinpoint.js' { declare module.exports: $Exports<'aws-sdk/clients/pinpoint'>; } declare module 'aws-sdk/clients/polly.js' { declare module.exports: $Exports<'aws-sdk/clients/polly'>; } declare module 'aws-sdk/clients/pricing.js' { declare module.exports: $Exports<'aws-sdk/clients/pricing'>; } declare module 'aws-sdk/clients/rds.js' { declare module.exports: $Exports<'aws-sdk/clients/rds'>; } declare module 'aws-sdk/clients/redshift.js' { declare module.exports: $Exports<'aws-sdk/clients/redshift'>; } declare module 'aws-sdk/clients/rekognition.js' { declare module.exports: $Exports<'aws-sdk/clients/rekognition'>; } declare module 'aws-sdk/clients/resourcegroups.js' { declare module.exports: $Exports<'aws-sdk/clients/resourcegroups'>; } declare module 'aws-sdk/clients/resourcegroupstaggingapi.js' { declare module.exports: $Exports<'aws-sdk/clients/resourcegroupstaggingapi'>; } declare module 'aws-sdk/clients/route53.js' { declare module.exports: $Exports<'aws-sdk/clients/route53'>; } declare module 'aws-sdk/clients/route53domains.js' { declare module.exports: $Exports<'aws-sdk/clients/route53domains'>; } declare module 'aws-sdk/clients/s3.js' { declare module.exports: $Exports<'aws-sdk/clients/s3'>; } declare module 'aws-sdk/clients/sagemaker.js' { declare module.exports: $Exports<'aws-sdk/clients/sagemaker'>; } declare module 'aws-sdk/clients/sagemakerruntime.js' { declare module.exports: $Exports<'aws-sdk/clients/sagemakerruntime'>; } declare module 'aws-sdk/clients/serverlessapplicationrepository.js' { declare module.exports: $Exports<'aws-sdk/clients/serverlessapplicationrepository'>; } declare module 'aws-sdk/clients/servicecatalog.js' { declare module.exports: $Exports<'aws-sdk/clients/servicecatalog'>; } declare module 'aws-sdk/clients/servicediscovery.js' { declare module.exports: $Exports<'aws-sdk/clients/servicediscovery'>; } declare module 'aws-sdk/clients/ses.js' { declare module.exports: $Exports<'aws-sdk/clients/ses'>; } declare module 'aws-sdk/clients/shield.js' { declare module.exports: $Exports<'aws-sdk/clients/shield'>; } declare module 'aws-sdk/clients/simpledb.js' { declare module.exports: $Exports<'aws-sdk/clients/simpledb'>; } declare module 'aws-sdk/clients/sms.js' { declare module.exports: $Exports<'aws-sdk/clients/sms'>; } declare module 'aws-sdk/clients/snowball.js' { declare module.exports: $Exports<'aws-sdk/clients/snowball'>; } declare module 'aws-sdk/clients/sns.js' { declare module.exports: $Exports<'aws-sdk/clients/sns'>; } declare module 'aws-sdk/clients/sqs.js' { declare module.exports: $Exports<'aws-sdk/clients/sqs'>; } declare module 'aws-sdk/clients/ssm.js' { declare module.exports: $Exports<'aws-sdk/clients/ssm'>; } declare module 'aws-sdk/clients/stepfunctions.js' { declare module.exports: $Exports<'aws-sdk/clients/stepfunctions'>; } declare module 'aws-sdk/clients/storagegateway.js' { declare module.exports: $Exports<'aws-sdk/clients/storagegateway'>; } declare module 'aws-sdk/clients/sts.js' { declare module.exports: $Exports<'aws-sdk/clients/sts'>; } declare module 'aws-sdk/clients/support.js' { declare module.exports: $Exports<'aws-sdk/clients/support'>; } declare module 'aws-sdk/clients/swf.js' { declare module.exports: $Exports<'aws-sdk/clients/swf'>; } declare module 'aws-sdk/clients/transcribeservice.js' { declare module.exports: $Exports<'aws-sdk/clients/transcribeservice'>; } declare module 'aws-sdk/clients/translate.js' { declare module.exports: $Exports<'aws-sdk/clients/translate'>; } declare module 'aws-sdk/clients/waf.js' { declare module.exports: $Exports<'aws-sdk/clients/waf'>; } declare module 'aws-sdk/clients/wafregional.js' { declare module.exports: $Exports<'aws-sdk/clients/wafregional'>; } declare module 'aws-sdk/clients/workdocs.js' { declare module.exports: $Exports<'aws-sdk/clients/workdocs'>; } declare module 'aws-sdk/clients/workmail.js' { declare module.exports: $Exports<'aws-sdk/clients/workmail'>; } declare module 'aws-sdk/clients/workspaces.js' { declare module.exports: $Exports<'aws-sdk/clients/workspaces'>; } declare module 'aws-sdk/clients/xray.js' { declare module.exports: $Exports<'aws-sdk/clients/xray'>; } declare module 'aws-sdk/dist-tools/browser-builder.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/browser-builder'>; } declare module 'aws-sdk/dist-tools/client-creator.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/client-creator'>; } declare module 'aws-sdk/dist-tools/create-all-services.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/create-all-services'>; } declare module 'aws-sdk/dist-tools/service-collector.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/service-collector'>; } declare module 'aws-sdk/dist-tools/transform.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/transform'>; } declare module 'aws-sdk/dist-tools/webpack.config.rn-core.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/webpack.config.rn-core'>; } declare module 'aws-sdk/dist-tools/webpack.config.rn-dep.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/webpack.config.rn-dep'>; } declare module 'aws-sdk/dist-tools/webpack.config.rn.js' { declare module.exports: $Exports<'aws-sdk/dist-tools/webpack.config.rn'>; } declare module 'aws-sdk/dist/aws-sdk-core-react-native.js' { declare module.exports: $Exports<'aws-sdk/dist/aws-sdk-core-react-native'>; } declare module 'aws-sdk/dist/aws-sdk-react-native.js' { declare module.exports: $Exports<'aws-sdk/dist/aws-sdk-react-native'>; } declare module 'aws-sdk/dist/aws-sdk.js' { declare module.exports: $Exports<'aws-sdk/dist/aws-sdk'>; } declare module 'aws-sdk/dist/aws-sdk.min.js' { declare module.exports: $Exports<'aws-sdk/dist/aws-sdk.min'>; } declare module 'aws-sdk/dist/xml2js.js' { declare module.exports: $Exports<'aws-sdk/dist/xml2js'>; } declare module 'aws-sdk/global.js' { declare module.exports: $Exports<'aws-sdk/global'>; } declare module 'aws-sdk/index' { declare module.exports: $Exports<'aws-sdk'>; } declare module 'aws-sdk/index.js' { declare module.exports: $Exports<'aws-sdk'>; } declare module 'aws-sdk/lib/api_loader.js' { declare module.exports: $Exports<'aws-sdk/lib/api_loader'>; } declare module 'aws-sdk/lib/aws.js' { declare module.exports: $Exports<'aws-sdk/lib/aws'>; } declare module 'aws-sdk/lib/browser_loader.js' { declare module.exports: $Exports<'aws-sdk/lib/browser_loader'>; } declare module 'aws-sdk/lib/browser.js' { declare module.exports: $Exports<'aws-sdk/lib/browser'>; } declare module 'aws-sdk/lib/browserCryptoLib.js' { declare module.exports: $Exports<'aws-sdk/lib/browserCryptoLib'>; } declare module 'aws-sdk/lib/browserHashUtils.js' { declare module.exports: $Exports<'aws-sdk/lib/browserHashUtils'>; } declare module 'aws-sdk/lib/browserHmac.js' { declare module.exports: $Exports<'aws-sdk/lib/browserHmac'>; } declare module 'aws-sdk/lib/browserMd5.js' { declare module.exports: $Exports<'aws-sdk/lib/browserMd5'>; } declare module 'aws-sdk/lib/browserSha1.js' { declare module.exports: $Exports<'aws-sdk/lib/browserSha1'>; } declare module 'aws-sdk/lib/browserSha256.js' { declare module.exports: $Exports<'aws-sdk/lib/browserSha256'>; } declare module 'aws-sdk/lib/cloudfront/signer.js' { declare module.exports: $Exports<'aws-sdk/lib/cloudfront/signer'>; } declare module 'aws-sdk/lib/config.js' { declare module.exports: $Exports<'aws-sdk/lib/config'>; } declare module 'aws-sdk/lib/core.js' { declare module.exports: $Exports<'aws-sdk/lib/core'>; } declare module 'aws-sdk/lib/credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials'>; } declare module 'aws-sdk/lib/credentials/cognito_identity_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/cognito_identity_credentials'>; } declare module 'aws-sdk/lib/credentials/credential_provider_chain.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/credential_provider_chain'>; } declare module 'aws-sdk/lib/credentials/ec2_metadata_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/ec2_metadata_credentials'>; } declare module 'aws-sdk/lib/credentials/ecs_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/ecs_credentials'>; } declare module 'aws-sdk/lib/credentials/environment_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/environment_credentials'>; } declare module 'aws-sdk/lib/credentials/file_system_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/file_system_credentials'>; } declare module 'aws-sdk/lib/credentials/remote_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/remote_credentials'>; } declare module 'aws-sdk/lib/credentials/saml_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/saml_credentials'>; } declare module 'aws-sdk/lib/credentials/shared_ini_file_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/shared_ini_file_credentials'>; } declare module 'aws-sdk/lib/credentials/temporary_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/temporary_credentials'>; } declare module 'aws-sdk/lib/credentials/web_identity_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/credentials/web_identity_credentials'>; } declare module 'aws-sdk/lib/dynamodb/converter.js' { declare module.exports: $Exports<'aws-sdk/lib/dynamodb/converter'>; } declare module 'aws-sdk/lib/dynamodb/document_client.js' { declare module.exports: $Exports<'aws-sdk/lib/dynamodb/document_client'>; } declare module 'aws-sdk/lib/dynamodb/numberValue.js' { declare module.exports: $Exports<'aws-sdk/lib/dynamodb/numberValue'>; } declare module 'aws-sdk/lib/dynamodb/set.js' { declare module.exports: $Exports<'aws-sdk/lib/dynamodb/set'>; } declare module 'aws-sdk/lib/dynamodb/translator.js' { declare module.exports: $Exports<'aws-sdk/lib/dynamodb/translator'>; } declare module 'aws-sdk/lib/dynamodb/types.js' { declare module.exports: $Exports<'aws-sdk/lib/dynamodb/types'>; } declare module 'aws-sdk/lib/empty.js' { declare module.exports: $Exports<'aws-sdk/lib/empty'>; } declare module 'aws-sdk/lib/event_listeners.js' { declare module.exports: $Exports<'aws-sdk/lib/event_listeners'>; } declare module 'aws-sdk/lib/http.js' { declare module.exports: $Exports<'aws-sdk/lib/http'>; } declare module 'aws-sdk/lib/http/node.js' { declare module.exports: $Exports<'aws-sdk/lib/http/node'>; } declare module 'aws-sdk/lib/http/xhr.js' { declare module.exports: $Exports<'aws-sdk/lib/http/xhr'>; } declare module 'aws-sdk/lib/json/builder.js' { declare module.exports: $Exports<'aws-sdk/lib/json/builder'>; } declare module 'aws-sdk/lib/json/parser.js' { declare module.exports: $Exports<'aws-sdk/lib/json/parser'>; } declare module 'aws-sdk/lib/metadata_service.js' { declare module.exports: $Exports<'aws-sdk/lib/metadata_service'>; } declare module 'aws-sdk/lib/model/api.js' { declare module.exports: $Exports<'aws-sdk/lib/model/api'>; } declare module 'aws-sdk/lib/model/collection.js' { declare module.exports: $Exports<'aws-sdk/lib/model/collection'>; } declare module 'aws-sdk/lib/model/operation.js' { declare module.exports: $Exports<'aws-sdk/lib/model/operation'>; } declare module 'aws-sdk/lib/model/paginator.js' { declare module.exports: $Exports<'aws-sdk/lib/model/paginator'>; } declare module 'aws-sdk/lib/model/resource_waiter.js' { declare module.exports: $Exports<'aws-sdk/lib/model/resource_waiter'>; } declare module 'aws-sdk/lib/model/shape.js' { declare module.exports: $Exports<'aws-sdk/lib/model/shape'>; } declare module 'aws-sdk/lib/node_loader.js' { declare module.exports: $Exports<'aws-sdk/lib/node_loader'>; } declare module 'aws-sdk/lib/param_validator.js' { declare module.exports: $Exports<'aws-sdk/lib/param_validator'>; } declare module 'aws-sdk/lib/polly/presigner.js' { declare module.exports: $Exports<'aws-sdk/lib/polly/presigner'>; } declare module 'aws-sdk/lib/protocol/json.js' { declare module.exports: $Exports<'aws-sdk/lib/protocol/json'>; } declare module 'aws-sdk/lib/protocol/query.js' { declare module.exports: $Exports<'aws-sdk/lib/protocol/query'>; } declare module 'aws-sdk/lib/protocol/rest_json.js' { declare module.exports: $Exports<'aws-sdk/lib/protocol/rest_json'>; } declare module 'aws-sdk/lib/protocol/rest_xml.js' { declare module.exports: $Exports<'aws-sdk/lib/protocol/rest_xml'>; } declare module 'aws-sdk/lib/protocol/rest.js' { declare module.exports: $Exports<'aws-sdk/lib/protocol/rest'>; } declare module 'aws-sdk/lib/query/query_param_serializer.js' { declare module.exports: $Exports<'aws-sdk/lib/query/query_param_serializer'>; } declare module 'aws-sdk/lib/rds/signer.js' { declare module.exports: $Exports<'aws-sdk/lib/rds/signer'>; } declare module 'aws-sdk/lib/react-native-loader.js' { declare module.exports: $Exports<'aws-sdk/lib/react-native-loader'>; } declare module 'aws-sdk/lib/react-native/add-content-type.js' { declare module.exports: $Exports<'aws-sdk/lib/react-native/add-content-type'>; } declare module 'aws-sdk/lib/region_config.js' { declare module.exports: $Exports<'aws-sdk/lib/region_config'>; } declare module 'aws-sdk/lib/request.js' { declare module.exports: $Exports<'aws-sdk/lib/request'>; } declare module 'aws-sdk/lib/resource_waiter.js' { declare module.exports: $Exports<'aws-sdk/lib/resource_waiter'>; } declare module 'aws-sdk/lib/response.js' { declare module.exports: $Exports<'aws-sdk/lib/response'>; } declare module 'aws-sdk/lib/s3/managed_upload.js' { declare module.exports: $Exports<'aws-sdk/lib/s3/managed_upload'>; } declare module 'aws-sdk/lib/sequential_executor.js' { declare module.exports: $Exports<'aws-sdk/lib/sequential_executor'>; } declare module 'aws-sdk/lib/service.js' { declare module.exports: $Exports<'aws-sdk/lib/service'>; } declare module 'aws-sdk/lib/services/apigateway.js' { declare module.exports: $Exports<'aws-sdk/lib/services/apigateway'>; } declare module 'aws-sdk/lib/services/cloudfront.js' { declare module.exports: $Exports<'aws-sdk/lib/services/cloudfront'>; } declare module 'aws-sdk/lib/services/cloudsearchdomain.js' { declare module.exports: $Exports<'aws-sdk/lib/services/cloudsearchdomain'>; } declare module 'aws-sdk/lib/services/cognitoidentity.js' { declare module.exports: $Exports<'aws-sdk/lib/services/cognitoidentity'>; } declare module 'aws-sdk/lib/services/dynamodb.js' { declare module.exports: $Exports<'aws-sdk/lib/services/dynamodb'>; } declare module 'aws-sdk/lib/services/ec2.js' { declare module.exports: $Exports<'aws-sdk/lib/services/ec2'>; } declare module 'aws-sdk/lib/services/glacier.js' { declare module.exports: $Exports<'aws-sdk/lib/services/glacier'>; } declare module 'aws-sdk/lib/services/iotdata.js' { declare module.exports: $Exports<'aws-sdk/lib/services/iotdata'>; } declare module 'aws-sdk/lib/services/lambda.js' { declare module.exports: $Exports<'aws-sdk/lib/services/lambda'>; } declare module 'aws-sdk/lib/services/machinelearning.js' { declare module.exports: $Exports<'aws-sdk/lib/services/machinelearning'>; } declare module 'aws-sdk/lib/services/polly.js' { declare module.exports: $Exports<'aws-sdk/lib/services/polly'>; } declare module 'aws-sdk/lib/services/rds.js' { declare module.exports: $Exports<'aws-sdk/lib/services/rds'>; } declare module 'aws-sdk/lib/services/route53.js' { declare module.exports: $Exports<'aws-sdk/lib/services/route53'>; } declare module 'aws-sdk/lib/services/s3.js' { declare module.exports: $Exports<'aws-sdk/lib/services/s3'>; } declare module 'aws-sdk/lib/services/sqs.js' { declare module.exports: $Exports<'aws-sdk/lib/services/sqs'>; } declare module 'aws-sdk/lib/services/sts.js' { declare module.exports: $Exports<'aws-sdk/lib/services/sts'>; } declare module 'aws-sdk/lib/services/swf.js' { declare module.exports: $Exports<'aws-sdk/lib/services/swf'>; } declare module 'aws-sdk/lib/shared_ini.js' { declare module.exports: $Exports<'aws-sdk/lib/shared_ini'>; } declare module 'aws-sdk/lib/signers/presign.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/presign'>; } declare module 'aws-sdk/lib/signers/request_signer.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/request_signer'>; } declare module 'aws-sdk/lib/signers/s3.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/s3'>; } declare module 'aws-sdk/lib/signers/v2.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/v2'>; } declare module 'aws-sdk/lib/signers/v3.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/v3'>; } declare module 'aws-sdk/lib/signers/v3https.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/v3https'>; } declare module 'aws-sdk/lib/signers/v4_credentials.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/v4_credentials'>; } declare module 'aws-sdk/lib/signers/v4.js' { declare module.exports: $Exports<'aws-sdk/lib/signers/v4'>; } declare module 'aws-sdk/lib/state_machine.js' { declare module.exports: $Exports<'aws-sdk/lib/state_machine'>; } declare module 'aws-sdk/lib/util.js' { declare module.exports: $Exports<'aws-sdk/lib/util'>; } declare module 'aws-sdk/lib/xml/browser_parser.js' { declare module.exports: $Exports<'aws-sdk/lib/xml/browser_parser'>; } declare module 'aws-sdk/lib/xml/builder.js' { declare module.exports: $Exports<'aws-sdk/lib/xml/builder'>; } declare module 'aws-sdk/lib/xml/node_parser.js' { declare module.exports: $Exports<'aws-sdk/lib/xml/node_parser'>; } declare module 'aws-sdk/react-native.js' { declare module.exports: $Exports<'aws-sdk/react-native'>; } declare module 'aws-sdk/scripts/changelog/add-change.js' { declare module.exports: $Exports<'aws-sdk/scripts/changelog/add-change'>; } declare module 'aws-sdk/scripts/changelog/change-creator.js' { declare module.exports: $Exports<'aws-sdk/scripts/changelog/change-creator'>; } declare module 'aws-sdk/scripts/changelog/util.js' { declare module.exports: $Exports<'aws-sdk/scripts/changelog/util'>; } declare module 'aws-sdk/scripts/lib/translator.js' { declare module.exports: $Exports<'aws-sdk/scripts/lib/translator'>; } declare module 'aws-sdk/scripts/lib/ts-generator.js' { declare module.exports: $Exports<'aws-sdk/scripts/lib/ts-generator'>; } declare module 'aws-sdk/scripts/region-checker/index.js' { declare module.exports: $Exports<'aws-sdk/scripts/region-checker/index'>; } declare module 'aws-sdk/scripts/region-checker/whitelist.js' { declare module.exports: $Exports<'aws-sdk/scripts/region-checker/whitelist'>; } declare module 'aws-sdk/scripts/services-table-generator.js' { declare module.exports: $Exports<'aws-sdk/scripts/services-table-generator'>; } declare module 'aws-sdk/scripts/typings-generator.js' { declare module.exports: $Exports<'aws-sdk/scripts/typings-generator'>; } ================================================ FILE: flow-typed/npm/axios_v0.17.x.js ================================================ // flow-typed signature: 9fd7b9287df55ee8cfa980889d107499 // flow-typed version: a8b5058d19/axios_v0.17.x/flow_>=v0.25.x declare module "axios" { declare interface ProxyConfig { host: string; port: number; } declare interface Cancel { constructor(message?: string): Cancel; message: string; } declare interface Canceler { (message?: string): void; } declare interface CancelTokenSource { token: CancelToken; cancel: Canceler; } declare class CancelToken { constructor(executor: (cancel: Canceler) => void): CancelToken; static source(): CancelTokenSource; promise: Promise; reason?: Cancel; throwIfRequested(): void; } declare interface AxiosXHRConfigBase { adapter?: (config: AxiosXHRConfig) => Promise>; auth?: { username: string, password: string }; baseURL?: string; cancelToken?: CancelToken; headers?: Object; httpAgent?: mixed; // Missing the type in the core flow node libdef httpsAgent?: mixed; // Missing the type in the core flow node libdef maxContentLength?: number; maxRedirects?: 5; params?: Object; paramsSerializer?: (params: Object) => string; progress?: (progressEvent: Event) => void | mixed; proxy?: ProxyConfig | false; responseType?: | "arraybuffer" | "blob" | "document" | "json" | "text" | "stream"; timeout?: number; transformRequest?: Array<(data: T) => U | Array<(data: T) => U>>; transformResponse?: Array<(data: T) => U>; validateStatus?: (status: number) => boolean; withCredentials?: boolean; xsrfCookieName?: string; xsrfHeaderName?: string; } declare type $AxiosXHRConfigBase = AxiosXHRConfigBase; declare interface AxiosXHRConfig extends AxiosXHRConfigBase { data?: T; method?: string; url: string; } declare type $AxiosXHRConfig = AxiosXHRConfig; declare class AxiosXHR { config: AxiosXHRConfig; data: T; headers?: Object; status: number; statusText: string; request: http$ClientRequest | XMLHttpRequest; } declare type $AxiosXHR = AxiosXHR; declare class AxiosInterceptorIdent extends String {} declare class AxiosRequestInterceptor { use( successHandler: ?( response: AxiosXHRConfig ) => Promise> | AxiosXHRConfig<*>, errorHandler: ?(error: mixed) => mixed ): AxiosInterceptorIdent; eject(ident: AxiosInterceptorIdent): void; } declare class AxiosResponseInterceptor { use( successHandler: ?(response: AxiosXHR) => mixed, errorHandler: ?(error: $AxiosError) => mixed ): AxiosInterceptorIdent; eject(ident: AxiosInterceptorIdent): void; } declare type AxiosPromise = Promise>; declare class Axios { constructor(config?: AxiosXHRConfigBase): void; $call: ( config: AxiosXHRConfig | string, config?: AxiosXHRConfig ) => AxiosPromise; request(config: AxiosXHRConfig): AxiosPromise; delete(url: string, config?: AxiosXHRConfigBase): AxiosPromise; get(url: string, config?: AxiosXHRConfigBase): AxiosPromise; head(url: string, config?: AxiosXHRConfigBase): AxiosPromise; post( url: string, data?: mixed, config?: AxiosXHRConfigBase ): AxiosPromise; put( url: string, data?: mixed, config?: AxiosXHRConfigBase ): AxiosPromise; patch( url: string, data?: mixed, config?: AxiosXHRConfigBase ): AxiosPromise; interceptors: { request: AxiosRequestInterceptor, response: AxiosResponseInterceptor }; defaults: { headers: Object } & AxiosXHRConfig<*>; } declare class AxiosError extends Error { config: AxiosXHRConfig; response: AxiosXHR; code?: string; } declare type $AxiosError = AxiosError; declare interface AxiosExport extends Axios { Axios: typeof Axios; Cancel: Class; CancelToken: Class; isCancel(value: any): boolean; create(config?: AxiosXHRConfigBase): Axios; all: typeof Promise.all; spread(callback: Function): (arr: Array) => Function; } declare module.exports: AxiosExport; } ================================================ FILE: flow-typed/npm/axios_vx.x.x.js ================================================ // flow-typed signature: e0f675cc56db12f7865d542c523225c5 // flow-typed version: <>/axios_v1.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'axios' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'axios' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'axios/dist/axios' { declare module.exports: any; } declare module 'axios/dist/axios.min' { declare module.exports: any; } declare module 'axios/lib/adapters/http' { declare module.exports: any; } declare module 'axios/lib/adapters/xhr' { declare module.exports: any; } declare module 'axios/lib/axios' { declare module.exports: any; } declare module 'axios/lib/cancel/Cancel' { declare module.exports: any; } declare module 'axios/lib/cancel/CancelToken' { declare module.exports: any; } declare module 'axios/lib/cancel/isCancel' { declare module.exports: any; } declare module 'axios/lib/core/Axios' { declare module.exports: any; } declare module 'axios/lib/core/createError' { declare module.exports: any; } declare module 'axios/lib/core/dispatchRequest' { declare module.exports: any; } declare module 'axios/lib/core/enhanceError' { declare module.exports: any; } declare module 'axios/lib/core/InterceptorManager' { declare module.exports: any; } declare module 'axios/lib/core/settle' { declare module.exports: any; } declare module 'axios/lib/core/transformData' { declare module.exports: any; } declare module 'axios/lib/defaults' { declare module.exports: any; } declare module 'axios/lib/helpers/bind' { declare module.exports: any; } declare module 'axios/lib/helpers/btoa' { declare module.exports: any; } declare module 'axios/lib/helpers/buildURL' { declare module.exports: any; } declare module 'axios/lib/helpers/combineURLs' { declare module.exports: any; } declare module 'axios/lib/helpers/cookies' { declare module.exports: any; } declare module 'axios/lib/helpers/deprecatedMethod' { declare module.exports: any; } declare module 'axios/lib/helpers/isAbsoluteURL' { declare module.exports: any; } declare module 'axios/lib/helpers/isURLSameOrigin' { declare module.exports: any; } declare module 'axios/lib/helpers/normalizeHeaderName' { declare module.exports: any; } declare module 'axios/lib/helpers/parseHeaders' { declare module.exports: any; } declare module 'axios/lib/helpers/spread' { declare module.exports: any; } declare module 'axios/lib/utils' { declare module.exports: any; } // Filename aliases declare module 'axios/dist/axios.js' { declare module.exports: $Exports<'axios/dist/axios'>; } declare module 'axios/dist/axios.min.js' { declare module.exports: $Exports<'axios/dist/axios.min'>; } declare module 'axios/index' { declare module.exports: $Exports<'axios'>; } declare module 'axios/index.js' { declare module.exports: $Exports<'axios'>; } declare module 'axios/lib/adapters/http.js' { declare module.exports: $Exports<'axios/lib/adapters/http'>; } declare module 'axios/lib/adapters/xhr.js' { declare module.exports: $Exports<'axios/lib/adapters/xhr'>; } declare module 'axios/lib/axios.js' { declare module.exports: $Exports<'axios/lib/axios'>; } declare module 'axios/lib/cancel/Cancel.js' { declare module.exports: $Exports<'axios/lib/cancel/Cancel'>; } declare module 'axios/lib/cancel/CancelToken.js' { declare module.exports: $Exports<'axios/lib/cancel/CancelToken'>; } declare module 'axios/lib/cancel/isCancel.js' { declare module.exports: $Exports<'axios/lib/cancel/isCancel'>; } declare module 'axios/lib/core/Axios.js' { declare module.exports: $Exports<'axios/lib/core/Axios'>; } declare module 'axios/lib/core/createError.js' { declare module.exports: $Exports<'axios/lib/core/createError'>; } declare module 'axios/lib/core/dispatchRequest.js' { declare module.exports: $Exports<'axios/lib/core/dispatchRequest'>; } declare module 'axios/lib/core/enhanceError.js' { declare module.exports: $Exports<'axios/lib/core/enhanceError'>; } declare module 'axios/lib/core/InterceptorManager.js' { declare module.exports: $Exports<'axios/lib/core/InterceptorManager'>; } declare module 'axios/lib/core/settle.js' { declare module.exports: $Exports<'axios/lib/core/settle'>; } declare module 'axios/lib/core/transformData.js' { declare module.exports: $Exports<'axios/lib/core/transformData'>; } declare module 'axios/lib/defaults.js' { declare module.exports: $Exports<'axios/lib/defaults'>; } declare module 'axios/lib/helpers/bind.js' { declare module.exports: $Exports<'axios/lib/helpers/bind'>; } declare module 'axios/lib/helpers/btoa.js' { declare module.exports: $Exports<'axios/lib/helpers/btoa'>; } declare module 'axios/lib/helpers/buildURL.js' { declare module.exports: $Exports<'axios/lib/helpers/buildURL'>; } declare module 'axios/lib/helpers/combineURLs.js' { declare module.exports: $Exports<'axios/lib/helpers/combineURLs'>; } declare module 'axios/lib/helpers/cookies.js' { declare module.exports: $Exports<'axios/lib/helpers/cookies'>; } declare module 'axios/lib/helpers/deprecatedMethod.js' { declare module.exports: $Exports<'axios/lib/helpers/deprecatedMethod'>; } declare module 'axios/lib/helpers/isAbsoluteURL.js' { declare module.exports: $Exports<'axios/lib/helpers/isAbsoluteURL'>; } declare module 'axios/lib/helpers/isURLSameOrigin.js' { declare module.exports: $Exports<'axios/lib/helpers/isURLSameOrigin'>; } declare module 'axios/lib/helpers/normalizeHeaderName.js' { declare module.exports: $Exports<'axios/lib/helpers/normalizeHeaderName'>; } declare module 'axios/lib/helpers/parseHeaders.js' { declare module.exports: $Exports<'axios/lib/helpers/parseHeaders'>; } declare module 'axios/lib/helpers/spread.js' { declare module.exports: $Exports<'axios/lib/helpers/spread'>; } declare module 'axios/lib/utils.js' { declare module.exports: $Exports<'axios/lib/utils'>; } ================================================ FILE: flow-typed/npm/b2a_vx.x.x.js ================================================ // flow-typed signature: 458f54b9229cd74dc54679aad2fb6f13 // flow-typed version: <>/b2a_v1.0.10/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'b2a' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'b2a' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'b2a/lib/index' { declare module.exports: any; } // Filename aliases declare module 'b2a/lib/index.js' { declare module.exports: $Exports<'b2a/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-cli_vx.x.x.js ================================================ // flow-typed signature: 806967f09b0efda655ab5cd79fb33bca // flow-typed version: <>/babel-cli_v^6.24.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-cli' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-cli' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-cli/bin/babel-doctor' { declare module.exports: any; } declare module 'babel-cli/bin/babel-external-helpers' { declare module.exports: any; } declare module 'babel-cli/bin/babel-node' { declare module.exports: any; } declare module 'babel-cli/bin/babel' { declare module.exports: any; } declare module 'babel-cli/lib/_babel-node' { declare module.exports: any; } declare module 'babel-cli/lib/babel-external-helpers' { declare module.exports: any; } declare module 'babel-cli/lib/babel-node' { declare module.exports: any; } declare module 'babel-cli/lib/babel/dir' { declare module.exports: any; } declare module 'babel-cli/lib/babel/file' { declare module.exports: any; } declare module 'babel-cli/lib/babel/index' { declare module.exports: any; } declare module 'babel-cli/lib/babel/util' { declare module.exports: any; } // Filename aliases declare module 'babel-cli/bin/babel-doctor.js' { declare module.exports: $Exports<'babel-cli/bin/babel-doctor'>; } declare module 'babel-cli/bin/babel-external-helpers.js' { declare module.exports: $Exports<'babel-cli/bin/babel-external-helpers'>; } declare module 'babel-cli/bin/babel-node.js' { declare module.exports: $Exports<'babel-cli/bin/babel-node'>; } declare module 'babel-cli/bin/babel.js' { declare module.exports: $Exports<'babel-cli/bin/babel'>; } declare module 'babel-cli/index' { declare module.exports: $Exports<'babel-cli'>; } declare module 'babel-cli/index.js' { declare module.exports: $Exports<'babel-cli'>; } declare module 'babel-cli/lib/_babel-node.js' { declare module.exports: $Exports<'babel-cli/lib/_babel-node'>; } declare module 'babel-cli/lib/babel-external-helpers.js' { declare module.exports: $Exports<'babel-cli/lib/babel-external-helpers'>; } declare module 'babel-cli/lib/babel-node.js' { declare module.exports: $Exports<'babel-cli/lib/babel-node'>; } declare module 'babel-cli/lib/babel/dir.js' { declare module.exports: $Exports<'babel-cli/lib/babel/dir'>; } declare module 'babel-cli/lib/babel/file.js' { declare module.exports: $Exports<'babel-cli/lib/babel/file'>; } declare module 'babel-cli/lib/babel/index.js' { declare module.exports: $Exports<'babel-cli/lib/babel/index'>; } declare module 'babel-cli/lib/babel/util.js' { declare module.exports: $Exports<'babel-cli/lib/babel/util'>; } ================================================ FILE: flow-typed/npm/babel-eslint_vx.x.x.js ================================================ // flow-typed signature: 4d5d7244bd7921f990587fc59f173bd3 // flow-typed version: <>/babel-eslint_v^8.0.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-eslint' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-eslint' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-eslint/lib/analyze-scope' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/attachComments' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/convertComments' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/convertTemplateType' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/index' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/toAST' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/toToken' { declare module.exports: any; } declare module 'babel-eslint/lib/babylon-to-espree/toTokens' { declare module.exports: any; } declare module 'babel-eslint/lib/index' { declare module.exports: any; } declare module 'babel-eslint/lib/parse-with-patch' { declare module.exports: any; } declare module 'babel-eslint/lib/parse-with-scope' { declare module.exports: any; } declare module 'babel-eslint/lib/parse' { declare module.exports: any; } declare module 'babel-eslint/lib/patch-eslint-scope' { declare module.exports: any; } declare module 'babel-eslint/lib/visitor-keys' { declare module.exports: any; } // Filename aliases declare module 'babel-eslint/lib/analyze-scope.js' { declare module.exports: $Exports<'babel-eslint/lib/analyze-scope'>; } declare module 'babel-eslint/lib/babylon-to-espree/attachComments.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/attachComments'>; } declare module 'babel-eslint/lib/babylon-to-espree/convertComments.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/convertComments'>; } declare module 'babel-eslint/lib/babylon-to-espree/convertTemplateType.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/convertTemplateType'>; } declare module 'babel-eslint/lib/babylon-to-espree/index.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/index'>; } declare module 'babel-eslint/lib/babylon-to-espree/toAST.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toAST'>; } declare module 'babel-eslint/lib/babylon-to-espree/toToken.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toToken'>; } declare module 'babel-eslint/lib/babylon-to-espree/toTokens.js' { declare module.exports: $Exports<'babel-eslint/lib/babylon-to-espree/toTokens'>; } declare module 'babel-eslint/lib/index.js' { declare module.exports: $Exports<'babel-eslint/lib/index'>; } declare module 'babel-eslint/lib/parse-with-patch.js' { declare module.exports: $Exports<'babel-eslint/lib/parse-with-patch'>; } declare module 'babel-eslint/lib/parse-with-scope.js' { declare module.exports: $Exports<'babel-eslint/lib/parse-with-scope'>; } declare module 'babel-eslint/lib/parse.js' { declare module.exports: $Exports<'babel-eslint/lib/parse'>; } declare module 'babel-eslint/lib/patch-eslint-scope.js' { declare module.exports: $Exports<'babel-eslint/lib/patch-eslint-scope'>; } declare module 'babel-eslint/lib/visitor-keys.js' { declare module.exports: $Exports<'babel-eslint/lib/visitor-keys'>; } ================================================ FILE: flow-typed/npm/babel-plugin-import-inspector_vx.x.x.js ================================================ // flow-typed signature: ec295b01dbf939c386cab3350dd25109 // flow-typed version: <>/babel-plugin-import-inspector_v^2.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-import-inspector' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-import-inspector' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'babel-plugin-import-inspector/index' { declare module.exports: $Exports<'babel-plugin-import-inspector'>; } declare module 'babel-plugin-import-inspector/index.js' { declare module.exports: $Exports<'babel-plugin-import-inspector'>; } ================================================ FILE: flow-typed/npm/babel-plugin-styled-components_vx.x.x.js ================================================ // flow-typed signature: 9a7eda6fe4d82c7dd052862424d0702c // flow-typed version: <>/babel-plugin-styled-components_v^1.1.7/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-styled-components' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-styled-components' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-styled-components/lib/css/placeholderUtils' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/css/preprocess' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/css/preprocessInjectGlobal' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/css/preprocessKeyframes' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/css/preprocessUtils' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/index' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/minify/index' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/utils/detectors' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/utils/getName' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/utils/hash' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/utils/options' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/assignStyledRequired' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/displayNameAndId' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/minify' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/noParserImport' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/templateLiterals/index' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/templateLiterals/preprocess' { declare module.exports: any; } declare module 'babel-plugin-styled-components/lib/visitors/templateLiterals/transpile' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-styled-components/lib/css/placeholderUtils.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/css/placeholderUtils'>; } declare module 'babel-plugin-styled-components/lib/css/preprocess.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/css/preprocess'>; } declare module 'babel-plugin-styled-components/lib/css/preprocessInjectGlobal.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/css/preprocessInjectGlobal'>; } declare module 'babel-plugin-styled-components/lib/css/preprocessKeyframes.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/css/preprocessKeyframes'>; } declare module 'babel-plugin-styled-components/lib/css/preprocessUtils.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/css/preprocessUtils'>; } declare module 'babel-plugin-styled-components/lib/index.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/index'>; } declare module 'babel-plugin-styled-components/lib/minify/index.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/minify/index'>; } declare module 'babel-plugin-styled-components/lib/utils/detectors.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/utils/detectors'>; } declare module 'babel-plugin-styled-components/lib/utils/getName.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/utils/getName'>; } declare module 'babel-plugin-styled-components/lib/utils/hash.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/utils/hash'>; } declare module 'babel-plugin-styled-components/lib/utils/options.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/utils/options'>; } declare module 'babel-plugin-styled-components/lib/visitors/assignStyledRequired.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/assignStyledRequired'>; } declare module 'babel-plugin-styled-components/lib/visitors/displayNameAndId.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/displayNameAndId'>; } declare module 'babel-plugin-styled-components/lib/visitors/minify.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/minify'>; } declare module 'babel-plugin-styled-components/lib/visitors/noParserImport.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/noParserImport'>; } declare module 'babel-plugin-styled-components/lib/visitors/templateLiterals/index.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/templateLiterals/index'>; } declare module 'babel-plugin-styled-components/lib/visitors/templateLiterals/preprocess.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/templateLiterals/preprocess'>; } declare module 'babel-plugin-styled-components/lib/visitors/templateLiterals/transpile.js' { declare module.exports: $Exports<'babel-plugin-styled-components/lib/visitors/templateLiterals/transpile'>; } ================================================ FILE: flow-typed/npm/babel-plugin-syntax-async-generators_vx.x.x.js ================================================ // flow-typed signature: 64d38b285c852a33f4c03a1da257d367 // flow-typed version: <>/babel-plugin-syntax-async-generators_v^6.13.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-syntax-async-generators' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-syntax-async-generators' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-syntax-async-generators/lib/index' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-syntax-async-generators/lib/index.js' { declare module.exports: $Exports<'babel-plugin-syntax-async-generators/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-plugin-syntax-dynamic-import_vx.x.x.js ================================================ // flow-typed signature: 26fd3369ddb6fa8ea2ee0357c7caeb1f // flow-typed version: <>/babel-plugin-syntax-dynamic-import_v^6.18.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-syntax-dynamic-import' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-syntax-dynamic-import' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-syntax-dynamic-import/lib/index' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-syntax-dynamic-import/lib/index.js' { declare module.exports: $Exports<'babel-plugin-syntax-dynamic-import/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-plugin-transform-async-generator-functions_vx.x.x.js ================================================ // flow-typed signature: 498068283d7cb370197e7324b3db5923 // flow-typed version: <>/babel-plugin-transform-async-generator-functions_v^6.24.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-transform-async-generator-functions' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-transform-async-generator-functions' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-transform-async-generator-functions/lib/index' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-transform-async-generator-functions/lib/index.js' { declare module.exports: $Exports<'babel-plugin-transform-async-generator-functions/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js ================================================ // flow-typed signature: ffec3ad0fa3b7a1e39f375016f9f1b83 // flow-typed version: <>/babel-plugin-transform-class-properties_v^6.24.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-transform-class-properties' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-transform-class-properties' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-transform-class-properties/lib/index' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-transform-class-properties/lib/index.js' { declare module.exports: $Exports<'babel-plugin-transform-class-properties/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js ================================================ // flow-typed signature: 76cf24c882811a6100dbf999faa85748 // flow-typed version: <>/babel-plugin-transform-flow-strip-types_v^6.22.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-transform-flow-strip-types' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-transform-flow-strip-types' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-transform-flow-strip-types/lib/index' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-transform-flow-strip-types/lib/index.js' { declare module.exports: $Exports<'babel-plugin-transform-flow-strip-types/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js ================================================ // flow-typed signature: f6c2beb241a516f09a244db3f507b116 // flow-typed version: <>/babel-plugin-transform-object-rest-spread_v^6.23.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-plugin-transform-object-rest-spread' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-plugin-transform-object-rest-spread' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-plugin-transform-object-rest-spread/lib/index' { declare module.exports: any; } // Filename aliases declare module 'babel-plugin-transform-object-rest-spread/lib/index.js' { declare module.exports: $Exports<'babel-plugin-transform-object-rest-spread/lib/index'>; } ================================================ FILE: flow-typed/npm/babel-preset-env_vx.x.x.js ================================================ // flow-typed signature: b0aead40d7a2a57e471b27e991cfaed7 // flow-typed version: <>/babel-preset-env_v^1.5.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'babel-preset-env' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'babel-preset-env' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'babel-preset-env/data/built-in-features' { declare module.exports: any; } declare module 'babel-preset-env/data/plugin-features' { declare module.exports: any; } declare module 'babel-preset-env/lib/default-includes' { declare module.exports: any; } declare module 'babel-preset-env/lib/index' { declare module.exports: any; } declare module 'babel-preset-env/lib/module-transformations' { declare module.exports: any; } declare module 'babel-preset-env/lib/normalize-options' { declare module.exports: any; } declare module 'babel-preset-env/lib/targets-parser' { declare module.exports: any; } declare module 'babel-preset-env/lib/transform-polyfill-require-plugin' { declare module.exports: any; } declare module 'babel-preset-env/lib/utils' { declare module.exports: any; } // Filename aliases declare module 'babel-preset-env/data/built-in-features.js' { declare module.exports: $Exports<'babel-preset-env/data/built-in-features'>; } declare module 'babel-preset-env/data/plugin-features.js' { declare module.exports: $Exports<'babel-preset-env/data/plugin-features'>; } declare module 'babel-preset-env/lib/default-includes.js' { declare module.exports: $Exports<'babel-preset-env/lib/default-includes'>; } declare module 'babel-preset-env/lib/index.js' { declare module.exports: $Exports<'babel-preset-env/lib/index'>; } declare module 'babel-preset-env/lib/module-transformations.js' { declare module.exports: $Exports<'babel-preset-env/lib/module-transformations'>; } declare module 'babel-preset-env/lib/normalize-options.js' { declare module.exports: $Exports<'babel-preset-env/lib/normalize-options'>; } declare module 'babel-preset-env/lib/targets-parser.js' { declare module.exports: $Exports<'babel-preset-env/lib/targets-parser'>; } declare module 'babel-preset-env/lib/transform-polyfill-require-plugin.js' { declare module.exports: $Exports<'babel-preset-env/lib/transform-polyfill-require-plugin'>; } declare module 'babel-preset-env/lib/utils.js' { declare module.exports: $Exports<'babel-preset-env/lib/utils'>; } ================================================ FILE: flow-typed/npm/backpack-core_vx.x.x.js ================================================ // flow-typed signature: 395e1bae3d6ea3ec1dc87ac1a5086143 // flow-typed version: <>/backpack-core_v^0.4.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'backpack-core' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'backpack-core' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'backpack-core/babel' { declare module.exports: any; } declare module 'backpack-core/config/paths' { declare module.exports: any; } declare module 'backpack-core/config/webpack.config' { declare module.exports: any; } // Filename aliases declare module 'backpack-core/babel.js' { declare module.exports: $Exports<'backpack-core/babel'>; } declare module 'backpack-core/config/paths.js' { declare module.exports: $Exports<'backpack-core/config/paths'>; } declare module 'backpack-core/config/webpack.config.js' { declare module.exports: $Exports<'backpack-core/config/webpack.config'>; } ================================================ FILE: flow-typed/npm/bad-words_vx.x.x.js ================================================ // flow-typed signature: 191b454033816150d2194336e74fbe32 // flow-typed version: <>/bad-words_v^1.6.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'bad-words' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'bad-words' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'bad-words/lib/badwords' { declare module.exports: any; } declare module 'bad-words/test/addWords' { declare module.exports: any; } declare module 'bad-words/test/filter' { declare module.exports: any; } declare module 'bad-words/test/isProfane' { declare module.exports: any; } declare module 'bad-words/test/removeWords' { declare module.exports: any; } declare module 'bad-words/test/replaceWord' { declare module.exports: any; } // Filename aliases declare module 'bad-words/lib/badwords.js' { declare module.exports: $Exports<'bad-words/lib/badwords'>; } declare module 'bad-words/test/addWords.js' { declare module.exports: $Exports<'bad-words/test/addWords'>; } declare module 'bad-words/test/filter.js' { declare module.exports: $Exports<'bad-words/test/filter'>; } declare module 'bad-words/test/isProfane.js' { declare module.exports: $Exports<'bad-words/test/isProfane'>; } declare module 'bad-words/test/removeWords.js' { declare module.exports: $Exports<'bad-words/test/removeWords'>; } declare module 'bad-words/test/replaceWord.js' { declare module.exports: $Exports<'bad-words/test/replaceWord'>; } ================================================ FILE: flow-typed/npm/bluebird_vx.x.x.js ================================================ // flow-typed signature: fd6015492cc31b2750e3b5e1b048858f // flow-typed version: <>/bluebird_v3.5.3/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'bluebird' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'bluebird' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'bluebird/js/browser/bluebird.core' { declare module.exports: any; } declare module 'bluebird/js/browser/bluebird.core.min' { declare module.exports: any; } declare module 'bluebird/js/browser/bluebird' { declare module.exports: any; } declare module 'bluebird/js/browser/bluebird.min' { declare module.exports: any; } declare module 'bluebird/js/release/any' { declare module.exports: any; } declare module 'bluebird/js/release/assert' { declare module.exports: any; } declare module 'bluebird/js/release/async' { declare module.exports: any; } declare module 'bluebird/js/release/bind' { declare module.exports: any; } declare module 'bluebird/js/release/bluebird' { declare module.exports: any; } declare module 'bluebird/js/release/call_get' { declare module.exports: any; } declare module 'bluebird/js/release/cancel' { declare module.exports: any; } declare module 'bluebird/js/release/catch_filter' { declare module.exports: any; } declare module 'bluebird/js/release/context' { declare module.exports: any; } declare module 'bluebird/js/release/debuggability' { declare module.exports: any; } declare module 'bluebird/js/release/direct_resolve' { declare module.exports: any; } declare module 'bluebird/js/release/each' { declare module.exports: any; } declare module 'bluebird/js/release/errors' { declare module.exports: any; } declare module 'bluebird/js/release/es5' { declare module.exports: any; } declare module 'bluebird/js/release/filter' { declare module.exports: any; } declare module 'bluebird/js/release/finally' { declare module.exports: any; } declare module 'bluebird/js/release/generators' { declare module.exports: any; } declare module 'bluebird/js/release/join' { declare module.exports: any; } declare module 'bluebird/js/release/map' { declare module.exports: any; } declare module 'bluebird/js/release/method' { declare module.exports: any; } declare module 'bluebird/js/release/nodeback' { declare module.exports: any; } declare module 'bluebird/js/release/nodeify' { declare module.exports: any; } declare module 'bluebird/js/release/promise_array' { declare module.exports: any; } declare module 'bluebird/js/release/promise' { declare module.exports: any; } declare module 'bluebird/js/release/promisify' { declare module.exports: any; } declare module 'bluebird/js/release/props' { declare module.exports: any; } declare module 'bluebird/js/release/queue' { declare module.exports: any; } declare module 'bluebird/js/release/race' { declare module.exports: any; } declare module 'bluebird/js/release/reduce' { declare module.exports: any; } declare module 'bluebird/js/release/schedule' { declare module.exports: any; } declare module 'bluebird/js/release/settle' { declare module.exports: any; } declare module 'bluebird/js/release/some' { declare module.exports: any; } declare module 'bluebird/js/release/synchronous_inspection' { declare module.exports: any; } declare module 'bluebird/js/release/thenables' { declare module.exports: any; } declare module 'bluebird/js/release/timers' { declare module.exports: any; } declare module 'bluebird/js/release/using' { declare module.exports: any; } declare module 'bluebird/js/release/util' { declare module.exports: any; } // Filename aliases declare module 'bluebird/js/browser/bluebird.core.js' { declare module.exports: $Exports<'bluebird/js/browser/bluebird.core'>; } declare module 'bluebird/js/browser/bluebird.core.min.js' { declare module.exports: $Exports<'bluebird/js/browser/bluebird.core.min'>; } declare module 'bluebird/js/browser/bluebird.js' { declare module.exports: $Exports<'bluebird/js/browser/bluebird'>; } declare module 'bluebird/js/browser/bluebird.min.js' { declare module.exports: $Exports<'bluebird/js/browser/bluebird.min'>; } declare module 'bluebird/js/release/any.js' { declare module.exports: $Exports<'bluebird/js/release/any'>; } declare module 'bluebird/js/release/assert.js' { declare module.exports: $Exports<'bluebird/js/release/assert'>; } declare module 'bluebird/js/release/async.js' { declare module.exports: $Exports<'bluebird/js/release/async'>; } declare module 'bluebird/js/release/bind.js' { declare module.exports: $Exports<'bluebird/js/release/bind'>; } declare module 'bluebird/js/release/bluebird.js' { declare module.exports: $Exports<'bluebird/js/release/bluebird'>; } declare module 'bluebird/js/release/call_get.js' { declare module.exports: $Exports<'bluebird/js/release/call_get'>; } declare module 'bluebird/js/release/cancel.js' { declare module.exports: $Exports<'bluebird/js/release/cancel'>; } declare module 'bluebird/js/release/catch_filter.js' { declare module.exports: $Exports<'bluebird/js/release/catch_filter'>; } declare module 'bluebird/js/release/context.js' { declare module.exports: $Exports<'bluebird/js/release/context'>; } declare module 'bluebird/js/release/debuggability.js' { declare module.exports: $Exports<'bluebird/js/release/debuggability'>; } declare module 'bluebird/js/release/direct_resolve.js' { declare module.exports: $Exports<'bluebird/js/release/direct_resolve'>; } declare module 'bluebird/js/release/each.js' { declare module.exports: $Exports<'bluebird/js/release/each'>; } declare module 'bluebird/js/release/errors.js' { declare module.exports: $Exports<'bluebird/js/release/errors'>; } declare module 'bluebird/js/release/es5.js' { declare module.exports: $Exports<'bluebird/js/release/es5'>; } declare module 'bluebird/js/release/filter.js' { declare module.exports: $Exports<'bluebird/js/release/filter'>; } declare module 'bluebird/js/release/finally.js' { declare module.exports: $Exports<'bluebird/js/release/finally'>; } declare module 'bluebird/js/release/generators.js' { declare module.exports: $Exports<'bluebird/js/release/generators'>; } declare module 'bluebird/js/release/join.js' { declare module.exports: $Exports<'bluebird/js/release/join'>; } declare module 'bluebird/js/release/map.js' { declare module.exports: $Exports<'bluebird/js/release/map'>; } declare module 'bluebird/js/release/method.js' { declare module.exports: $Exports<'bluebird/js/release/method'>; } declare module 'bluebird/js/release/nodeback.js' { declare module.exports: $Exports<'bluebird/js/release/nodeback'>; } declare module 'bluebird/js/release/nodeify.js' { declare module.exports: $Exports<'bluebird/js/release/nodeify'>; } declare module 'bluebird/js/release/promise_array.js' { declare module.exports: $Exports<'bluebird/js/release/promise_array'>; } declare module 'bluebird/js/release/promise.js' { declare module.exports: $Exports<'bluebird/js/release/promise'>; } declare module 'bluebird/js/release/promisify.js' { declare module.exports: $Exports<'bluebird/js/release/promisify'>; } declare module 'bluebird/js/release/props.js' { declare module.exports: $Exports<'bluebird/js/release/props'>; } declare module 'bluebird/js/release/queue.js' { declare module.exports: $Exports<'bluebird/js/release/queue'>; } declare module 'bluebird/js/release/race.js' { declare module.exports: $Exports<'bluebird/js/release/race'>; } declare module 'bluebird/js/release/reduce.js' { declare module.exports: $Exports<'bluebird/js/release/reduce'>; } declare module 'bluebird/js/release/schedule.js' { declare module.exports: $Exports<'bluebird/js/release/schedule'>; } declare module 'bluebird/js/release/settle.js' { declare module.exports: $Exports<'bluebird/js/release/settle'>; } declare module 'bluebird/js/release/some.js' { declare module.exports: $Exports<'bluebird/js/release/some'>; } declare module 'bluebird/js/release/synchronous_inspection.js' { declare module.exports: $Exports<'bluebird/js/release/synchronous_inspection'>; } declare module 'bluebird/js/release/thenables.js' { declare module.exports: $Exports<'bluebird/js/release/thenables'>; } declare module 'bluebird/js/release/timers.js' { declare module.exports: $Exports<'bluebird/js/release/timers'>; } declare module 'bluebird/js/release/using.js' { declare module.exports: $Exports<'bluebird/js/release/using'>; } declare module 'bluebird/js/release/util.js' { declare module.exports: $Exports<'bluebird/js/release/util'>; } ================================================ FILE: flow-typed/npm/body-parser_v1.x.x.js ================================================ // flow-typed signature: 18dadbe162b608c79b9b31c3d2f1c822 // flow-typed version: b43dff3e0e/body-parser_v1.x.x/flow_>=v0.17.x import type { Middleware, $Request, $Response } from 'express'; declare type bodyParser$Options = { inflate?: boolean, limit?: number | string, type?: string | string[] | ((req: $Request) => any), verify?: ( req: $Request, res: $Response, buf: Buffer, encoding: string ) => void, }; declare type bodyParser$OptionsText = bodyParser$Options & { reviver?: (key: string, value: any) => any, strict?: boolean, }; declare type bodyParser$OptionsJson = bodyParser$Options & { reviver?: (key: string, value: any) => any, strict?: boolean, }; declare type bodyParser$OptionsUrlencoded = bodyParser$Options & { extended?: boolean, parameterLimit?: number, }; declare module 'body-parser' { declare type Options = bodyParser$Options; declare type OptionsText = bodyParser$OptionsText; declare type OptionsJson = bodyParser$OptionsJson; declare type OptionsUrlencoded = bodyParser$OptionsUrlencoded; declare function json(options?: OptionsJson): Middleware; declare function raw(options?: Options): Middleware; declare function text(options?: OptionsText): Middleware; declare function urlencoded(options?: OptionsUrlencoded): Middleware; } ================================================ FILE: flow-typed/npm/casual_vx.x.x.js ================================================ // flow-typed signature: 1787c661cd96c2da7c25e678aebdf0ed // flow-typed version: <>/casual_v^1.5.19/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'casual' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'casual' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'casual/src/casual' { declare module.exports: any; } declare module 'casual/src/helpers' { declare module.exports: any; } declare module 'casual/src/providers/address' { declare module.exports: any; } declare module 'casual/src/providers/ar_SY/address' { declare module.exports: any; } declare module 'casual/src/providers/ar_SY/color' { declare module.exports: any; } declare module 'casual/src/providers/ar_SY/date' { declare module.exports: any; } declare module 'casual/src/providers/ar_SY/person' { declare module.exports: any; } declare module 'casual/src/providers/ar_SY/text' { declare module.exports: any; } declare module 'casual/src/providers/color' { declare module.exports: any; } declare module 'casual/src/providers/date' { declare module.exports: any; } declare module 'casual/src/providers/de_DE/address' { declare module.exports: any; } declare module 'casual/src/providers/de_DE/date' { declare module.exports: any; } declare module 'casual/src/providers/de_DE/person' { declare module.exports: any; } declare module 'casual/src/providers/de_DE/text' { declare module.exports: any; } declare module 'casual/src/providers/en_CA/address' { declare module.exports: any; } declare module 'casual/src/providers/en_US/address' { declare module.exports: any; } declare module 'casual/src/providers/fr_FR/address' { declare module.exports: any; } declare module 'casual/src/providers/fr_FR/person' { declare module.exports: any; } declare module 'casual/src/providers/id_ID/address' { declare module.exports: any; } declare module 'casual/src/providers/internet' { declare module.exports: any; } declare module 'casual/src/providers/it_CH/address' { declare module.exports: any; } declare module 'casual/src/providers/it_CH/date' { declare module.exports: any; } declare module 'casual/src/providers/it_CH/person' { declare module.exports: any; } declare module 'casual/src/providers/it_IT/address' { declare module.exports: any; } declare module 'casual/src/providers/it_IT/date' { declare module.exports: any; } declare module 'casual/src/providers/it_IT/person' { declare module.exports: any; } declare module 'casual/src/providers/misc' { declare module.exports: any; } declare module 'casual/src/providers/nb_NO/address' { declare module.exports: any; } declare module 'casual/src/providers/nb_NO/color' { declare module.exports: any; } declare module 'casual/src/providers/nb_NO/date' { declare module.exports: any; } declare module 'casual/src/providers/nb_NO/person' { declare module.exports: any; } declare module 'casual/src/providers/nl_NL/address' { declare module.exports: any; } declare module 'casual/src/providers/nl_NL/person' { declare module.exports: any; } declare module 'casual/src/providers/number' { declare module.exports: any; } declare module 'casual/src/providers/payment' { declare module.exports: any; } declare module 'casual/src/providers/person' { declare module.exports: any; } declare module 'casual/src/providers/pt_BR/address' { declare module.exports: any; } declare module 'casual/src/providers/pt_BR/color' { declare module.exports: any; } declare module 'casual/src/providers/pt_BR/person' { declare module.exports: any; } declare module 'casual/src/providers/ro_RO/address' { declare module.exports: any; } declare module 'casual/src/providers/ro_RO/date' { declare module.exports: any; } declare module 'casual/src/providers/ro_RO/person' { declare module.exports: any; } declare module 'casual/src/providers/ru_RU/address' { declare module.exports: any; } declare module 'casual/src/providers/ru_RU/color' { declare module.exports: any; } declare module 'casual/src/providers/ru_RU/internet' { declare module.exports: any; } declare module 'casual/src/providers/ru_RU/person' { declare module.exports: any; } declare module 'casual/src/providers/ru_RU/text' { declare module.exports: any; } declare module 'casual/src/providers/sv_SE/address' { declare module.exports: any; } declare module 'casual/src/providers/sv_SE/person' { declare module.exports: any; } declare module 'casual/src/providers/sv_SE/text' { declare module.exports: any; } declare module 'casual/src/providers/text' { declare module.exports: any; } declare module 'casual/src/providers/uk_UA/address' { declare module.exports: any; } declare module 'casual/src/providers/uk_UA/color' { declare module.exports: any; } declare module 'casual/src/providers/uk_UA/text' { declare module.exports: any; } declare module 'casual/test/casual' { declare module.exports: any; } declare module 'casual/utils/show' { declare module.exports: any; } // Filename aliases declare module 'casual/src/casual.js' { declare module.exports: $Exports<'casual/src/casual'>; } declare module 'casual/src/helpers.js' { declare module.exports: $Exports<'casual/src/helpers'>; } declare module 'casual/src/providers/address.js' { declare module.exports: $Exports<'casual/src/providers/address'>; } declare module 'casual/src/providers/ar_SY/address.js' { declare module.exports: $Exports<'casual/src/providers/ar_SY/address'>; } declare module 'casual/src/providers/ar_SY/color.js' { declare module.exports: $Exports<'casual/src/providers/ar_SY/color'>; } declare module 'casual/src/providers/ar_SY/date.js' { declare module.exports: $Exports<'casual/src/providers/ar_SY/date'>; } declare module 'casual/src/providers/ar_SY/person.js' { declare module.exports: $Exports<'casual/src/providers/ar_SY/person'>; } declare module 'casual/src/providers/ar_SY/text.js' { declare module.exports: $Exports<'casual/src/providers/ar_SY/text'>; } declare module 'casual/src/providers/color.js' { declare module.exports: $Exports<'casual/src/providers/color'>; } declare module 'casual/src/providers/date.js' { declare module.exports: $Exports<'casual/src/providers/date'>; } declare module 'casual/src/providers/de_DE/address.js' { declare module.exports: $Exports<'casual/src/providers/de_DE/address'>; } declare module 'casual/src/providers/de_DE/date.js' { declare module.exports: $Exports<'casual/src/providers/de_DE/date'>; } declare module 'casual/src/providers/de_DE/person.js' { declare module.exports: $Exports<'casual/src/providers/de_DE/person'>; } declare module 'casual/src/providers/de_DE/text.js' { declare module.exports: $Exports<'casual/src/providers/de_DE/text'>; } declare module 'casual/src/providers/en_CA/address.js' { declare module.exports: $Exports<'casual/src/providers/en_CA/address'>; } declare module 'casual/src/providers/en_US/address.js' { declare module.exports: $Exports<'casual/src/providers/en_US/address'>; } declare module 'casual/src/providers/fr_FR/address.js' { declare module.exports: $Exports<'casual/src/providers/fr_FR/address'>; } declare module 'casual/src/providers/fr_FR/person.js' { declare module.exports: $Exports<'casual/src/providers/fr_FR/person'>; } declare module 'casual/src/providers/id_ID/address.js' { declare module.exports: $Exports<'casual/src/providers/id_ID/address'>; } declare module 'casual/src/providers/internet.js' { declare module.exports: $Exports<'casual/src/providers/internet'>; } declare module 'casual/src/providers/it_CH/address.js' { declare module.exports: $Exports<'casual/src/providers/it_CH/address'>; } declare module 'casual/src/providers/it_CH/date.js' { declare module.exports: $Exports<'casual/src/providers/it_CH/date'>; } declare module 'casual/src/providers/it_CH/person.js' { declare module.exports: $Exports<'casual/src/providers/it_CH/person'>; } declare module 'casual/src/providers/it_IT/address.js' { declare module.exports: $Exports<'casual/src/providers/it_IT/address'>; } declare module 'casual/src/providers/it_IT/date.js' { declare module.exports: $Exports<'casual/src/providers/it_IT/date'>; } declare module 'casual/src/providers/it_IT/person.js' { declare module.exports: $Exports<'casual/src/providers/it_IT/person'>; } declare module 'casual/src/providers/misc.js' { declare module.exports: $Exports<'casual/src/providers/misc'>; } declare module 'casual/src/providers/nb_NO/address.js' { declare module.exports: $Exports<'casual/src/providers/nb_NO/address'>; } declare module 'casual/src/providers/nb_NO/color.js' { declare module.exports: $Exports<'casual/src/providers/nb_NO/color'>; } declare module 'casual/src/providers/nb_NO/date.js' { declare module.exports: $Exports<'casual/src/providers/nb_NO/date'>; } declare module 'casual/src/providers/nb_NO/person.js' { declare module.exports: $Exports<'casual/src/providers/nb_NO/person'>; } declare module 'casual/src/providers/nl_NL/address.js' { declare module.exports: $Exports<'casual/src/providers/nl_NL/address'>; } declare module 'casual/src/providers/nl_NL/person.js' { declare module.exports: $Exports<'casual/src/providers/nl_NL/person'>; } declare module 'casual/src/providers/number.js' { declare module.exports: $Exports<'casual/src/providers/number'>; } declare module 'casual/src/providers/payment.js' { declare module.exports: $Exports<'casual/src/providers/payment'>; } declare module 'casual/src/providers/person.js' { declare module.exports: $Exports<'casual/src/providers/person'>; } declare module 'casual/src/providers/pt_BR/address.js' { declare module.exports: $Exports<'casual/src/providers/pt_BR/address'>; } declare module 'casual/src/providers/pt_BR/color.js' { declare module.exports: $Exports<'casual/src/providers/pt_BR/color'>; } declare module 'casual/src/providers/pt_BR/person.js' { declare module.exports: $Exports<'casual/src/providers/pt_BR/person'>; } declare module 'casual/src/providers/ro_RO/address.js' { declare module.exports: $Exports<'casual/src/providers/ro_RO/address'>; } declare module 'casual/src/providers/ro_RO/date.js' { declare module.exports: $Exports<'casual/src/providers/ro_RO/date'>; } declare module 'casual/src/providers/ro_RO/person.js' { declare module.exports: $Exports<'casual/src/providers/ro_RO/person'>; } declare module 'casual/src/providers/ru_RU/address.js' { declare module.exports: $Exports<'casual/src/providers/ru_RU/address'>; } declare module 'casual/src/providers/ru_RU/color.js' { declare module.exports: $Exports<'casual/src/providers/ru_RU/color'>; } declare module 'casual/src/providers/ru_RU/internet.js' { declare module.exports: $Exports<'casual/src/providers/ru_RU/internet'>; } declare module 'casual/src/providers/ru_RU/person.js' { declare module.exports: $Exports<'casual/src/providers/ru_RU/person'>; } declare module 'casual/src/providers/ru_RU/text.js' { declare module.exports: $Exports<'casual/src/providers/ru_RU/text'>; } declare module 'casual/src/providers/sv_SE/address.js' { declare module.exports: $Exports<'casual/src/providers/sv_SE/address'>; } declare module 'casual/src/providers/sv_SE/person.js' { declare module.exports: $Exports<'casual/src/providers/sv_SE/person'>; } declare module 'casual/src/providers/sv_SE/text.js' { declare module.exports: $Exports<'casual/src/providers/sv_SE/text'>; } declare module 'casual/src/providers/text.js' { declare module.exports: $Exports<'casual/src/providers/text'>; } declare module 'casual/src/providers/uk_UA/address.js' { declare module.exports: $Exports<'casual/src/providers/uk_UA/address'>; } declare module 'casual/src/providers/uk_UA/color.js' { declare module.exports: $Exports<'casual/src/providers/uk_UA/color'>; } declare module 'casual/src/providers/uk_UA/text.js' { declare module.exports: $Exports<'casual/src/providers/uk_UA/text'>; } declare module 'casual/test/casual.js' { declare module.exports: $Exports<'casual/test/casual'>; } declare module 'casual/utils/show.js' { declare module.exports: $Exports<'casual/utils/show'>; } ================================================ FILE: flow-typed/npm/cheerio_vx.x.x.js ================================================ // flow-typed signature: 2d9e14a22205cc71eefd684e2070eed1 // flow-typed version: <>/cheerio_v^1.0.0-rc.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'cheerio' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'cheerio' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'cheerio/lib/api/attributes' { declare module.exports: any; } declare module 'cheerio/lib/api/css' { declare module.exports: any; } declare module 'cheerio/lib/api/forms' { declare module.exports: any; } declare module 'cheerio/lib/api/manipulation' { declare module.exports: any; } declare module 'cheerio/lib/api/traversing' { declare module.exports: any; } declare module 'cheerio/lib/cheerio' { declare module.exports: any; } declare module 'cheerio/lib/options' { declare module.exports: any; } declare module 'cheerio/lib/parse' { declare module.exports: any; } declare module 'cheerio/lib/static' { declare module.exports: any; } declare module 'cheerio/lib/utils' { declare module.exports: any; } // Filename aliases declare module 'cheerio/index' { declare module.exports: $Exports<'cheerio'>; } declare module 'cheerio/index.js' { declare module.exports: $Exports<'cheerio'>; } declare module 'cheerio/lib/api/attributes.js' { declare module.exports: $Exports<'cheerio/lib/api/attributes'>; } declare module 'cheerio/lib/api/css.js' { declare module.exports: $Exports<'cheerio/lib/api/css'>; } declare module 'cheerio/lib/api/forms.js' { declare module.exports: $Exports<'cheerio/lib/api/forms'>; } declare module 'cheerio/lib/api/manipulation.js' { declare module.exports: $Exports<'cheerio/lib/api/manipulation'>; } declare module 'cheerio/lib/api/traversing.js' { declare module.exports: $Exports<'cheerio/lib/api/traversing'>; } declare module 'cheerio/lib/cheerio.js' { declare module.exports: $Exports<'cheerio/lib/cheerio'>; } declare module 'cheerio/lib/options.js' { declare module.exports: $Exports<'cheerio/lib/options'>; } declare module 'cheerio/lib/parse.js' { declare module.exports: $Exports<'cheerio/lib/parse'>; } declare module 'cheerio/lib/static.js' { declare module.exports: $Exports<'cheerio/lib/static'>; } declare module 'cheerio/lib/utils.js' { declare module.exports: $Exports<'cheerio/lib/utils'>; } ================================================ FILE: flow-typed/npm/common-tags_v1.4.x.js ================================================ // flow-typed signature: e60dc0f96d7d55734050073860bea369 // flow-typed version: de4764766b/common-tags_v1.4.x/flow_>=v0.25.x /** * @flow */ declare module "common-tags" { declare type TaggedTemplate = ( strings: Array, ...interpolations: Array ) => string; declare type TemplateTransformer = { onSubstitution?: (substitution: string, resultSoFar: string) => string, onEndResult?: (endResult: string) => string }; // Built-in tagged template literals declare export var html: TaggedTemplate; declare export var source: TaggedTemplate; declare export var codeBlock: TaggedTemplate; declare export var safeHtml: TaggedTemplate; declare export var oneLine: TaggedTemplate; declare export var oneLineTrim: TaggedTemplate; declare export var oneLineCommaLists: TaggedTemplate; declare export var oneLineCommaListsOr: TaggedTemplate; declare export var oneLineCommaListsAnd: TaggedTemplate; declare export var stripIndent: TaggedTemplate; declare export var stripIndents: TaggedTemplate; declare export var inlineLists: TaggedTemplate; declare export var oneLineInlineLists: TaggedTemplate; declare export var commaLists: TaggedTemplate; declare export var commaListsOr: TaggedTemplate; declare export var commaListsAnd: TaggedTemplate; // Class for creating a new tagged template literal declare export class TemplateTag { constructor(): TemplateTag; constructor(transformers: Array): TemplateTag; constructor(...transformers: Array): TemplateTag; } // Built-in transformers declare export var trimResultTransformer: ( side?: "left" | "right" ) => TemplateTransformer; declare export var stripIndentTransformer: ( type?: "initial" | "all" ) => TemplateTransformer; declare export var replaceResultTransformer: ( replaceWhat: string | RegExp, replaceWith: string ) => TemplateTransformer; declare export var replaceSubstitutionTransformer: ( replaceWhat: string | RegExp, replaceWith: string ) => TemplateTransformer; declare export var inlineArrayTransformer: (opts?: { separator?: string, conjunction?: string }) => TemplateTransformer; declare export var splitStringTransformer: ( splitBy: string ) => TemplateTransformer; } ================================================ FILE: flow-typed/npm/compression_vx.x.x.js ================================================ // flow-typed signature: 54dd45f1f03e5eb6ad575b1d9116f427 // flow-typed version: <>/compression_v1.7.1/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'compression' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'compression' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'compression/index' { declare module.exports: $Exports<'compression'>; } declare module 'compression/index.js' { declare module.exports: $Exports<'compression'>; } ================================================ FILE: flow-typed/npm/cookie-parser_vx.x.x.js ================================================ // flow-typed signature: 79bd6aba0258c63b7a7a02181e87bcad // flow-typed version: <>/cookie-parser_v^1.4.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'cookie-parser' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'cookie-parser' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'cookie-parser/index' { declare module.exports: $Exports<'cookie-parser'>; } declare module 'cookie-parser/index.js' { declare module.exports: $Exports<'cookie-parser'>; } ================================================ FILE: flow-typed/npm/cookie-session_vx.x.x.js ================================================ // flow-typed signature: 99fa9abc0635e47c2ed5e804b6dc1004 // flow-typed version: <>/cookie-session_v^2.0.0-beta.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'cookie-session' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'cookie-session' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'cookie-session/index' { declare module.exports: $Exports<'cookie-session'>; } declare module 'cookie-session/index.js' { declare module.exports: $Exports<'cookie-session'>; } ================================================ FILE: flow-typed/npm/cors_vx.x.x.js ================================================ // flow-typed signature: 68969a04a0652c58dc9a661976f58d70 // flow-typed version: <>/cors_v^2.8.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'cors' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'cors' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'cors/lib/index' { declare module.exports: any; } declare module 'cors/test/basic-auth' { declare module.exports: any; } declare module 'cors/test/body-events' { declare module.exports: any; } declare module 'cors/test/cors' { declare module.exports: any; } declare module 'cors/test/error-response' { declare module.exports: any; } declare module 'cors/test/example-app' { declare module.exports: any; } declare module 'cors/test/issue-2' { declare module.exports: any; } declare module 'cors/test/issue-31' { declare module.exports: any; } declare module 'cors/test/support/env' { declare module.exports: any; } // Filename aliases declare module 'cors/lib/index.js' { declare module.exports: $Exports<'cors/lib/index'>; } declare module 'cors/test/basic-auth.js' { declare module.exports: $Exports<'cors/test/basic-auth'>; } declare module 'cors/test/body-events.js' { declare module.exports: $Exports<'cors/test/body-events'>; } declare module 'cors/test/cors.js' { declare module.exports: $Exports<'cors/test/cors'>; } declare module 'cors/test/error-response.js' { declare module.exports: $Exports<'cors/test/error-response'>; } declare module 'cors/test/example-app.js' { declare module.exports: $Exports<'cors/test/example-app'>; } declare module 'cors/test/issue-2.js' { declare module.exports: $Exports<'cors/test/issue-2'>; } declare module 'cors/test/issue-31.js' { declare module.exports: $Exports<'cors/test/issue-31'>; } declare module 'cors/test/support/env.js' { declare module.exports: $Exports<'cors/test/support/env'>; } ================================================ FILE: flow-typed/npm/cross-env_vx.x.x.js ================================================ // flow-typed signature: c934ed64e5d3c25e3b704b8c9c8ee8be // flow-typed version: <>/cross-env_v^5.0.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'cross-env' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'cross-env' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'cross-env/dist/bin/cross-env-shell' { declare module.exports: any; } declare module 'cross-env/dist/bin/cross-env' { declare module.exports: any; } declare module 'cross-env/dist/command' { declare module.exports: any; } declare module 'cross-env/dist/index' { declare module.exports: any; } declare module 'cross-env/dist/variable' { declare module.exports: any; } // Filename aliases declare module 'cross-env/dist/bin/cross-env-shell.js' { declare module.exports: $Exports<'cross-env/dist/bin/cross-env-shell'>; } declare module 'cross-env/dist/bin/cross-env.js' { declare module.exports: $Exports<'cross-env/dist/bin/cross-env'>; } declare module 'cross-env/dist/command.js' { declare module.exports: $Exports<'cross-env/dist/command'>; } declare module 'cross-env/dist/index.js' { declare module.exports: $Exports<'cross-env/dist/index'>; } declare module 'cross-env/dist/variable.js' { declare module.exports: $Exports<'cross-env/dist/variable'>; } ================================================ FILE: flow-typed/npm/cryptr_vx.x.x.js ================================================ // flow-typed signature: 75dc078152e6e97382b34bbe99dcaf4f // flow-typed version: <>/cryptr_v3.0.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'cryptr' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'cryptr' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'cryptr/tests/index' { declare module.exports: any; } // Filename aliases declare module 'cryptr/index' { declare module.exports: $Exports<'cryptr'>; } declare module 'cryptr/index.js' { declare module.exports: $Exports<'cryptr'>; } declare module 'cryptr/tests/index.js' { declare module.exports: $Exports<'cryptr/tests/index'>; } ================================================ FILE: flow-typed/npm/css.escape_vx.x.x.js ================================================ // flow-typed signature: d19f9ae683d024b199d9ab71b4f59caa // flow-typed version: <>/css.escape_v1.5.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'css.escape' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'css.escape' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'css.escape/css.escape' { declare module.exports: any; } // Filename aliases declare module 'css.escape/css.escape.js' { declare module.exports: $Exports<'css.escape/css.escape'>; } ================================================ FILE: flow-typed/npm/d3-array_vx.x.x.js ================================================ // flow-typed signature: 8a1fe35a0f1cbef7caf7734f328697de // flow-typed version: <>/d3-array_v^1.2.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'd3-array' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'd3-array' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'd3-array/build/d3-array' { declare module.exports: any; } declare module 'd3-array/build/d3-array.min' { declare module.exports: any; } declare module 'd3-array/src/array' { declare module.exports: any; } declare module 'd3-array/src/ascending' { declare module.exports: any; } declare module 'd3-array/src/bisect' { declare module.exports: any; } declare module 'd3-array/src/bisector' { declare module.exports: any; } declare module 'd3-array/src/constant' { declare module.exports: any; } declare module 'd3-array/src/cross' { declare module.exports: any; } declare module 'd3-array/src/descending' { declare module.exports: any; } declare module 'd3-array/src/deviation' { declare module.exports: any; } declare module 'd3-array/src/extent' { declare module.exports: any; } declare module 'd3-array/src/histogram' { declare module.exports: any; } declare module 'd3-array/src/identity' { declare module.exports: any; } declare module 'd3-array/src/max' { declare module.exports: any; } declare module 'd3-array/src/mean' { declare module.exports: any; } declare module 'd3-array/src/median' { declare module.exports: any; } declare module 'd3-array/src/merge' { declare module.exports: any; } declare module 'd3-array/src/min' { declare module.exports: any; } declare module 'd3-array/src/number' { declare module.exports: any; } declare module 'd3-array/src/pairs' { declare module.exports: any; } declare module 'd3-array/src/permute' { declare module.exports: any; } declare module 'd3-array/src/quantile' { declare module.exports: any; } declare module 'd3-array/src/range' { declare module.exports: any; } declare module 'd3-array/src/scan' { declare module.exports: any; } declare module 'd3-array/src/shuffle' { declare module.exports: any; } declare module 'd3-array/src/sum' { declare module.exports: any; } declare module 'd3-array/src/threshold/freedmanDiaconis' { declare module.exports: any; } declare module 'd3-array/src/threshold/scott' { declare module.exports: any; } declare module 'd3-array/src/threshold/sturges' { declare module.exports: any; } declare module 'd3-array/src/ticks' { declare module.exports: any; } declare module 'd3-array/src/transpose' { declare module.exports: any; } declare module 'd3-array/src/variance' { declare module.exports: any; } declare module 'd3-array/src/zip' { declare module.exports: any; } // Filename aliases declare module 'd3-array/build/d3-array.js' { declare module.exports: $Exports<'d3-array/build/d3-array'>; } declare module 'd3-array/build/d3-array.min.js' { declare module.exports: $Exports<'d3-array/build/d3-array.min'>; } declare module 'd3-array/index' { declare module.exports: $Exports<'d3-array'>; } declare module 'd3-array/index.js' { declare module.exports: $Exports<'d3-array'>; } declare module 'd3-array/src/array.js' { declare module.exports: $Exports<'d3-array/src/array'>; } declare module 'd3-array/src/ascending.js' { declare module.exports: $Exports<'d3-array/src/ascending'>; } declare module 'd3-array/src/bisect.js' { declare module.exports: $Exports<'d3-array/src/bisect'>; } declare module 'd3-array/src/bisector.js' { declare module.exports: $Exports<'d3-array/src/bisector'>; } declare module 'd3-array/src/constant.js' { declare module.exports: $Exports<'d3-array/src/constant'>; } declare module 'd3-array/src/cross.js' { declare module.exports: $Exports<'d3-array/src/cross'>; } declare module 'd3-array/src/descending.js' { declare module.exports: $Exports<'d3-array/src/descending'>; } declare module 'd3-array/src/deviation.js' { declare module.exports: $Exports<'d3-array/src/deviation'>; } declare module 'd3-array/src/extent.js' { declare module.exports: $Exports<'d3-array/src/extent'>; } declare module 'd3-array/src/histogram.js' { declare module.exports: $Exports<'d3-array/src/histogram'>; } declare module 'd3-array/src/identity.js' { declare module.exports: $Exports<'d3-array/src/identity'>; } declare module 'd3-array/src/max.js' { declare module.exports: $Exports<'d3-array/src/max'>; } declare module 'd3-array/src/mean.js' { declare module.exports: $Exports<'d3-array/src/mean'>; } declare module 'd3-array/src/median.js' { declare module.exports: $Exports<'d3-array/src/median'>; } declare module 'd3-array/src/merge.js' { declare module.exports: $Exports<'d3-array/src/merge'>; } declare module 'd3-array/src/min.js' { declare module.exports: $Exports<'d3-array/src/min'>; } declare module 'd3-array/src/number.js' { declare module.exports: $Exports<'d3-array/src/number'>; } declare module 'd3-array/src/pairs.js' { declare module.exports: $Exports<'d3-array/src/pairs'>; } declare module 'd3-array/src/permute.js' { declare module.exports: $Exports<'d3-array/src/permute'>; } declare module 'd3-array/src/quantile.js' { declare module.exports: $Exports<'d3-array/src/quantile'>; } declare module 'd3-array/src/range.js' { declare module.exports: $Exports<'d3-array/src/range'>; } declare module 'd3-array/src/scan.js' { declare module.exports: $Exports<'d3-array/src/scan'>; } declare module 'd3-array/src/shuffle.js' { declare module.exports: $Exports<'d3-array/src/shuffle'>; } declare module 'd3-array/src/sum.js' { declare module.exports: $Exports<'d3-array/src/sum'>; } declare module 'd3-array/src/threshold/freedmanDiaconis.js' { declare module.exports: $Exports<'d3-array/src/threshold/freedmanDiaconis'>; } declare module 'd3-array/src/threshold/scott.js' { declare module.exports: $Exports<'d3-array/src/threshold/scott'>; } declare module 'd3-array/src/threshold/sturges.js' { declare module.exports: $Exports<'d3-array/src/threshold/sturges'>; } declare module 'd3-array/src/ticks.js' { declare module.exports: $Exports<'d3-array/src/ticks'>; } declare module 'd3-array/src/transpose.js' { declare module.exports: $Exports<'d3-array/src/transpose'>; } declare module 'd3-array/src/variance.js' { declare module.exports: $Exports<'d3-array/src/variance'>; } declare module 'd3-array/src/zip.js' { declare module.exports: $Exports<'d3-array/src/zip'>; } ================================================ FILE: flow-typed/npm/danger-plugin-flow_vx.x.x.js ================================================ // flow-typed signature: 45f3a6b6919397f3ea67b75c1a9601bf // flow-typed version: <>/danger-plugin-flow_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger-plugin-flow' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger-plugin-flow' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger-plugin-flow/dist/index' { declare module.exports: any; } declare module 'danger-plugin-flow/dist/index.test' { declare module.exports: any; } // Filename aliases declare module 'danger-plugin-flow/dist/index.js' { declare module.exports: $Exports<'danger-plugin-flow/dist/index'>; } declare module 'danger-plugin-flow/dist/index.test.js' { declare module.exports: $Exports<'danger-plugin-flow/dist/index.test'>; } ================================================ FILE: flow-typed/npm/danger-plugin-jest_vx.x.x.js ================================================ // flow-typed signature: 0bc9953088789fa140d0772a738d8153 // flow-typed version: <>/danger-plugin-jest_v^1.1.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger-plugin-jest' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger-plugin-jest' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger-plugin-jest/dist/index' { declare module.exports: any; } declare module 'danger-plugin-jest/dist/types' { declare module.exports: any; } // Filename aliases declare module 'danger-plugin-jest/dist/index.js' { declare module.exports: $Exports<'danger-plugin-jest/dist/index'>; } declare module 'danger-plugin-jest/dist/types.js' { declare module.exports: $Exports<'danger-plugin-jest/dist/types'>; } ================================================ FILE: flow-typed/npm/danger-plugin-labels_vx.x.x.js ================================================ // flow-typed signature: e326fed0053f2fd1e205c7be2196f5b5 // flow-typed version: <>/danger-plugin-labels_v1.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger-plugin-labels' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger-plugin-labels' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger-plugin-labels/dist/index' { declare module.exports: any; } declare module 'danger-plugin-labels/dist/index.test' { declare module.exports: any; } // Filename aliases declare module 'danger-plugin-labels/dist/index.js' { declare module.exports: $Exports<'danger-plugin-labels/dist/index'>; } declare module 'danger-plugin-labels/dist/index.test.js' { declare module.exports: $Exports<'danger-plugin-labels/dist/index.test'>; } ================================================ FILE: flow-typed/npm/danger-plugin-no-console_vx.x.x.js ================================================ // flow-typed signature: be735722bffb485a8cf54a7c7080821a // flow-typed version: <>/danger-plugin-no-console_v1.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger-plugin-no-console' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger-plugin-no-console' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger-plugin-no-console/dist/index' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/inherited-summary' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/inner-link' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/manual' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/patch-for-local' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/prettify/prettify' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/pretty-print' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/search_index' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/search' { declare module.exports: any; } declare module 'danger-plugin-no-console/docs/script/test-summary' { declare module.exports: any; } // Filename aliases declare module 'danger-plugin-no-console/dist/index.js' { declare module.exports: $Exports<'danger-plugin-no-console/dist/index'>; } declare module 'danger-plugin-no-console/docs/script/inherited-summary.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/inherited-summary'>; } declare module 'danger-plugin-no-console/docs/script/inner-link.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/inner-link'>; } declare module 'danger-plugin-no-console/docs/script/manual.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/manual'>; } declare module 'danger-plugin-no-console/docs/script/patch-for-local.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/patch-for-local'>; } declare module 'danger-plugin-no-console/docs/script/prettify/prettify.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/prettify/prettify'>; } declare module 'danger-plugin-no-console/docs/script/pretty-print.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/pretty-print'>; } declare module 'danger-plugin-no-console/docs/script/search_index.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/search_index'>; } declare module 'danger-plugin-no-console/docs/script/search.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/search'>; } declare module 'danger-plugin-no-console/docs/script/test-summary.js' { declare module.exports: $Exports<'danger-plugin-no-console/docs/script/test-summary'>; } ================================================ FILE: flow-typed/npm/danger-plugin-no-test-shortcuts_vx.x.x.js ================================================ // flow-typed signature: 6eac443fa8195b12d311468f9d3dfcb8 // flow-typed version: <>/danger-plugin-no-test-shortcuts_v^2.0.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger-plugin-no-test-shortcuts' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger-plugin-no-test-shortcuts' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger-plugin-no-test-shortcuts/dist/index' { declare module.exports: any; } // Filename aliases declare module 'danger-plugin-no-test-shortcuts/dist/index.js' { declare module.exports: $Exports<'danger-plugin-no-test-shortcuts/dist/index'>; } ================================================ FILE: flow-typed/npm/danger-plugin-yarn_vx.x.x.js ================================================ // flow-typed signature: 7b69917a67b22d12810ba89bc8ffdec2 // flow-typed version: <>/danger-plugin-yarn_v^1.2.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger-plugin-yarn' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger-plugin-yarn' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger-plugin-yarn/dist/danger-mock' { declare module.exports: any; } declare module 'danger-plugin-yarn/dist/index' { declare module.exports: any; } declare module 'danger-plugin-yarn/dist/index.test' { declare module.exports: any; } // Filename aliases declare module 'danger-plugin-yarn/dist/danger-mock.js' { declare module.exports: $Exports<'danger-plugin-yarn/dist/danger-mock'>; } declare module 'danger-plugin-yarn/dist/index.js' { declare module.exports: $Exports<'danger-plugin-yarn/dist/index'>; } declare module 'danger-plugin-yarn/dist/index.test.js' { declare module.exports: $Exports<'danger-plugin-yarn/dist/index.test'>; } ================================================ FILE: flow-typed/npm/danger_vx.x.x.js ================================================ // flow-typed signature: 9a4f89440762daa780f3c48b41660b25 // flow-typed version: <>/danger_v3.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'danger' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'danger' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'danger/dangerfile.circle' { declare module.exports: any; } declare module 'danger/dangerfile.flow' { declare module.exports: any; } declare module 'danger/distribution/api/fetch' { declare module.exports: any; } declare module 'danger/distribution/ci_source/ci_source_helpers' { declare module.exports: any; } declare module 'danger/distribution/ci_source/ci_source' { declare module.exports: any; } declare module 'danger/distribution/ci_source/get_ci_source' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Bitrise' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/BuddyBuild' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Buildkite' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Circle' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Codeship' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/DockerCloud' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Drone' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Fake' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/index' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Jenkins' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/local-repo' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Nevercode' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Semaphore' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Surf' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/Travis' { declare module.exports: any; } declare module 'danger/distribution/ci_source/providers/VSTS' { declare module.exports: any; } declare module 'danger/distribution/commands/ci/runner' { declare module.exports: any; } declare module 'danger/distribution/commands/danger-ci' { declare module.exports: any; } declare module 'danger/distribution/commands/danger-init' { declare module.exports: any; } declare module 'danger/distribution/commands/danger-local' { declare module.exports: any; } declare module 'danger/distribution/commands/danger-pr' { declare module.exports: any; } declare module 'danger/distribution/commands/danger-process' { declare module.exports: any; } declare module 'danger/distribution/commands/danger-runner' { declare module.exports: any; } declare module 'danger/distribution/commands/danger' { declare module.exports: any; } declare module 'danger/distribution/commands/init/add-to-ci' { declare module.exports: any; } declare module 'danger/distribution/commands/init/default-dangerfile' { declare module.exports: any; } declare module 'danger/distribution/commands/init/get-repo-slug' { declare module.exports: any; } declare module 'danger/distribution/commands/init/interfaces' { declare module.exports: any; } declare module 'danger/distribution/commands/init/state-setup' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/dangerRunToRunnerCLI' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/file-utils' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/getRuntimeCISource' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/reporting' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/runDangerSubprocess' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/sharedDangerfileArgs' { declare module.exports: any; } declare module 'danger/distribution/commands/utils/validateDangerfileExists' { declare module.exports: any; } declare module 'danger/distribution/danger' { declare module.exports: any; } declare module 'danger/distribution/dsl/Aliases' { declare module.exports: any; } declare module 'danger/distribution/dsl/cli-args' { declare module.exports: any; } declare module 'danger/distribution/dsl/Commit' { declare module.exports: any; } declare module 'danger/distribution/dsl/DangerDSL' { declare module.exports: any; } declare module 'danger/distribution/dsl/DangerResults' { declare module.exports: any; } declare module 'danger/distribution/dsl/DangerUtilsDSL' { declare module.exports: any; } declare module 'danger/distribution/dsl/GitDSL' { declare module.exports: any; } declare module 'danger/distribution/dsl/GitHubDSL' { declare module.exports: any; } declare module 'danger/distribution/dsl/Violation' { declare module.exports: any; } declare module 'danger/distribution/platforms/FakePlatform' { declare module.exports: any; } declare module 'danger/distribution/platforms/git/diffToGitJSONDSL' { declare module.exports: any; } declare module 'danger/distribution/platforms/git/gitJSONToGitDSL' { declare module.exports: any; } declare module 'danger/distribution/platforms/git/localGetCommits' { declare module.exports: any; } declare module 'danger/distribution/platforms/git/localGetDiff' { declare module.exports: any; } declare module 'danger/distribution/platforms/git/localGetFileAtSHA' { declare module.exports: any; } declare module 'danger/distribution/platforms/GitHub' { declare module.exports: any; } declare module 'danger/distribution/platforms/github/GitHubAPI' { declare module.exports: any; } declare module 'danger/distribution/platforms/github/GitHubGit' { declare module.exports: any; } declare module 'danger/distribution/platforms/github/GitHubUtils' { declare module.exports: any; } declare module 'danger/distribution/platforms/github/pullRequestParser' { declare module.exports: any; } declare module 'danger/distribution/platforms/LocalGit' { declare module.exports: any; } declare module 'danger/distribution/platforms/platform' { declare module.exports: any; } declare module 'danger/distribution/runner/danger-dsl-json' { declare module.exports: any; } declare module 'danger/distribution/runner/Dangerfile' { declare module.exports: any; } declare module 'danger/distribution/runner/DangerUtils' { declare module.exports: any; } declare module 'danger/distribution/runner/dslGenerator' { declare module.exports: any; } declare module 'danger/distribution/runner/Executor' { declare module.exports: any; } declare module 'danger/distribution/runner/json-to-context' { declare module.exports: any; } declare module 'danger/distribution/runner/jsonToDSL' { declare module.exports: any; } declare module 'danger/distribution/runner/runners/inline' { declare module.exports: any; } declare module 'danger/distribution/runner/runners/runner' { declare module.exports: any; } declare module 'danger/distribution/runner/runners/utils/cleanDangerfile' { declare module.exports: any; } declare module 'danger/distribution/runner/runners/utils/resultsForCaughtError' { declare module.exports: any; } declare module 'danger/distribution/runner/runners/utils/transpiler' { declare module.exports: any; } declare module 'danger/distribution/runner/runners/vm2' { declare module.exports: any; } declare module 'danger/distribution/runner/templates/exceptionRaisedTemplate' { declare module.exports: any; } declare module 'danger/distribution/runner/templates/githubIssueTemplate' { declare module.exports: any; } declare module 'danger/wallaby' { declare module.exports: any; } // Filename aliases declare module 'danger/dangerfile.circle.js' { declare module.exports: $Exports<'danger/dangerfile.circle'>; } declare module 'danger/dangerfile.flow.js' { declare module.exports: $Exports<'danger/dangerfile.flow'>; } declare module 'danger/distribution/api/fetch.js' { declare module.exports: $Exports<'danger/distribution/api/fetch'>; } declare module 'danger/distribution/ci_source/ci_source_helpers.js' { declare module.exports: $Exports<'danger/distribution/ci_source/ci_source_helpers'>; } declare module 'danger/distribution/ci_source/ci_source.js' { declare module.exports: $Exports<'danger/distribution/ci_source/ci_source'>; } declare module 'danger/distribution/ci_source/get_ci_source.js' { declare module.exports: $Exports<'danger/distribution/ci_source/get_ci_source'>; } declare module 'danger/distribution/ci_source/providers/Bitrise.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Bitrise'>; } declare module 'danger/distribution/ci_source/providers/BuddyBuild.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/BuddyBuild'>; } declare module 'danger/distribution/ci_source/providers/Buildkite.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Buildkite'>; } declare module 'danger/distribution/ci_source/providers/Circle.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Circle'>; } declare module 'danger/distribution/ci_source/providers/Codeship.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Codeship'>; } declare module 'danger/distribution/ci_source/providers/DockerCloud.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/DockerCloud'>; } declare module 'danger/distribution/ci_source/providers/Drone.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Drone'>; } declare module 'danger/distribution/ci_source/providers/Fake.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Fake'>; } declare module 'danger/distribution/ci_source/providers/index.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/index'>; } declare module 'danger/distribution/ci_source/providers/Jenkins.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Jenkins'>; } declare module 'danger/distribution/ci_source/providers/local-repo.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/local-repo'>; } declare module 'danger/distribution/ci_source/providers/Nevercode.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Nevercode'>; } declare module 'danger/distribution/ci_source/providers/Semaphore.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Semaphore'>; } declare module 'danger/distribution/ci_source/providers/Surf.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Surf'>; } declare module 'danger/distribution/ci_source/providers/Travis.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/Travis'>; } declare module 'danger/distribution/ci_source/providers/VSTS.js' { declare module.exports: $Exports<'danger/distribution/ci_source/providers/VSTS'>; } declare module 'danger/distribution/commands/ci/runner.js' { declare module.exports: $Exports<'danger/distribution/commands/ci/runner'>; } declare module 'danger/distribution/commands/danger-ci.js' { declare module.exports: $Exports<'danger/distribution/commands/danger-ci'>; } declare module 'danger/distribution/commands/danger-init.js' { declare module.exports: $Exports<'danger/distribution/commands/danger-init'>; } declare module 'danger/distribution/commands/danger-local.js' { declare module.exports: $Exports<'danger/distribution/commands/danger-local'>; } declare module 'danger/distribution/commands/danger-pr.js' { declare module.exports: $Exports<'danger/distribution/commands/danger-pr'>; } declare module 'danger/distribution/commands/danger-process.js' { declare module.exports: $Exports<'danger/distribution/commands/danger-process'>; } declare module 'danger/distribution/commands/danger-runner.js' { declare module.exports: $Exports<'danger/distribution/commands/danger-runner'>; } declare module 'danger/distribution/commands/danger.js' { declare module.exports: $Exports<'danger/distribution/commands/danger'>; } declare module 'danger/distribution/commands/init/add-to-ci.js' { declare module.exports: $Exports<'danger/distribution/commands/init/add-to-ci'>; } declare module 'danger/distribution/commands/init/default-dangerfile.js' { declare module.exports: $Exports<'danger/distribution/commands/init/default-dangerfile'>; } declare module 'danger/distribution/commands/init/get-repo-slug.js' { declare module.exports: $Exports<'danger/distribution/commands/init/get-repo-slug'>; } declare module 'danger/distribution/commands/init/interfaces.js' { declare module.exports: $Exports<'danger/distribution/commands/init/interfaces'>; } declare module 'danger/distribution/commands/init/state-setup.js' { declare module.exports: $Exports<'danger/distribution/commands/init/state-setup'>; } declare module 'danger/distribution/commands/utils/dangerRunToRunnerCLI.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/dangerRunToRunnerCLI'>; } declare module 'danger/distribution/commands/utils/file-utils.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/file-utils'>; } declare module 'danger/distribution/commands/utils/getRuntimeCISource.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/getRuntimeCISource'>; } declare module 'danger/distribution/commands/utils/reporting.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/reporting'>; } declare module 'danger/distribution/commands/utils/runDangerSubprocess.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/runDangerSubprocess'>; } declare module 'danger/distribution/commands/utils/sharedDangerfileArgs.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/sharedDangerfileArgs'>; } declare module 'danger/distribution/commands/utils/validateDangerfileExists.js' { declare module.exports: $Exports<'danger/distribution/commands/utils/validateDangerfileExists'>; } declare module 'danger/distribution/danger.js' { declare module.exports: $Exports<'danger/distribution/danger'>; } declare module 'danger/distribution/dsl/Aliases.js' { declare module.exports: $Exports<'danger/distribution/dsl/Aliases'>; } declare module 'danger/distribution/dsl/cli-args.js' { declare module.exports: $Exports<'danger/distribution/dsl/cli-args'>; } declare module 'danger/distribution/dsl/Commit.js' { declare module.exports: $Exports<'danger/distribution/dsl/Commit'>; } declare module 'danger/distribution/dsl/DangerDSL.js' { declare module.exports: $Exports<'danger/distribution/dsl/DangerDSL'>; } declare module 'danger/distribution/dsl/DangerResults.js' { declare module.exports: $Exports<'danger/distribution/dsl/DangerResults'>; } declare module 'danger/distribution/dsl/DangerUtilsDSL.js' { declare module.exports: $Exports<'danger/distribution/dsl/DangerUtilsDSL'>; } declare module 'danger/distribution/dsl/GitDSL.js' { declare module.exports: $Exports<'danger/distribution/dsl/GitDSL'>; } declare module 'danger/distribution/dsl/GitHubDSL.js' { declare module.exports: $Exports<'danger/distribution/dsl/GitHubDSL'>; } declare module 'danger/distribution/dsl/Violation.js' { declare module.exports: $Exports<'danger/distribution/dsl/Violation'>; } declare module 'danger/distribution/platforms/FakePlatform.js' { declare module.exports: $Exports<'danger/distribution/platforms/FakePlatform'>; } declare module 'danger/distribution/platforms/git/diffToGitJSONDSL.js' { declare module.exports: $Exports<'danger/distribution/platforms/git/diffToGitJSONDSL'>; } declare module 'danger/distribution/platforms/git/gitJSONToGitDSL.js' { declare module.exports: $Exports<'danger/distribution/platforms/git/gitJSONToGitDSL'>; } declare module 'danger/distribution/platforms/git/localGetCommits.js' { declare module.exports: $Exports<'danger/distribution/platforms/git/localGetCommits'>; } declare module 'danger/distribution/platforms/git/localGetDiff.js' { declare module.exports: $Exports<'danger/distribution/platforms/git/localGetDiff'>; } declare module 'danger/distribution/platforms/git/localGetFileAtSHA.js' { declare module.exports: $Exports<'danger/distribution/platforms/git/localGetFileAtSHA'>; } declare module 'danger/distribution/platforms/GitHub.js' { declare module.exports: $Exports<'danger/distribution/platforms/GitHub'>; } declare module 'danger/distribution/platforms/github/GitHubAPI.js' { declare module.exports: $Exports<'danger/distribution/platforms/github/GitHubAPI'>; } declare module 'danger/distribution/platforms/github/GitHubGit.js' { declare module.exports: $Exports<'danger/distribution/platforms/github/GitHubGit'>; } declare module 'danger/distribution/platforms/github/GitHubUtils.js' { declare module.exports: $Exports<'danger/distribution/platforms/github/GitHubUtils'>; } declare module 'danger/distribution/platforms/github/pullRequestParser.js' { declare module.exports: $Exports<'danger/distribution/platforms/github/pullRequestParser'>; } declare module 'danger/distribution/platforms/LocalGit.js' { declare module.exports: $Exports<'danger/distribution/platforms/LocalGit'>; } declare module 'danger/distribution/platforms/platform.js' { declare module.exports: $Exports<'danger/distribution/platforms/platform'>; } declare module 'danger/distribution/runner/danger-dsl-json.js' { declare module.exports: $Exports<'danger/distribution/runner/danger-dsl-json'>; } declare module 'danger/distribution/runner/Dangerfile.js' { declare module.exports: $Exports<'danger/distribution/runner/Dangerfile'>; } declare module 'danger/distribution/runner/DangerUtils.js' { declare module.exports: $Exports<'danger/distribution/runner/DangerUtils'>; } declare module 'danger/distribution/runner/dslGenerator.js' { declare module.exports: $Exports<'danger/distribution/runner/dslGenerator'>; } declare module 'danger/distribution/runner/Executor.js' { declare module.exports: $Exports<'danger/distribution/runner/Executor'>; } declare module 'danger/distribution/runner/json-to-context.js' { declare module.exports: $Exports<'danger/distribution/runner/json-to-context'>; } declare module 'danger/distribution/runner/jsonToDSL.js' { declare module.exports: $Exports<'danger/distribution/runner/jsonToDSL'>; } declare module 'danger/distribution/runner/runners/inline.js' { declare module.exports: $Exports<'danger/distribution/runner/runners/inline'>; } declare module 'danger/distribution/runner/runners/runner.js' { declare module.exports: $Exports<'danger/distribution/runner/runners/runner'>; } declare module 'danger/distribution/runner/runners/utils/cleanDangerfile.js' { declare module.exports: $Exports<'danger/distribution/runner/runners/utils/cleanDangerfile'>; } declare module 'danger/distribution/runner/runners/utils/resultsForCaughtError.js' { declare module.exports: $Exports<'danger/distribution/runner/runners/utils/resultsForCaughtError'>; } declare module 'danger/distribution/runner/runners/utils/transpiler.js' { declare module.exports: $Exports<'danger/distribution/runner/runners/utils/transpiler'>; } declare module 'danger/distribution/runner/runners/vm2.js' { declare module.exports: $Exports<'danger/distribution/runner/runners/vm2'>; } declare module 'danger/distribution/runner/templates/exceptionRaisedTemplate.js' { declare module.exports: $Exports<'danger/distribution/runner/templates/exceptionRaisedTemplate'>; } declare module 'danger/distribution/runner/templates/githubIssueTemplate.js' { declare module.exports: $Exports<'danger/distribution/runner/templates/githubIssueTemplate'>; } declare module 'danger/wallaby.js' { declare module.exports: $Exports<'danger/wallaby'>; } ================================================ FILE: flow-typed/npm/datadog-metrics_vx.x.x.js ================================================ // flow-typed signature: 4193c068fe558edea2fe8b024db8448c // flow-typed version: <>/datadog-metrics_v0.8.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'datadog-metrics' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'datadog-metrics' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'datadog-metrics/lib/aggregators' { declare module.exports: any; } declare module 'datadog-metrics/lib/loggers' { declare module.exports: any; } declare module 'datadog-metrics/lib/metrics' { declare module.exports: any; } declare module 'datadog-metrics/lib/reporters' { declare module.exports: any; } // Filename aliases declare module 'datadog-metrics/index' { declare module.exports: $Exports<'datadog-metrics'>; } declare module 'datadog-metrics/index.js' { declare module.exports: $Exports<'datadog-metrics'>; } declare module 'datadog-metrics/lib/aggregators.js' { declare module.exports: $Exports<'datadog-metrics/lib/aggregators'>; } declare module 'datadog-metrics/lib/loggers.js' { declare module.exports: $Exports<'datadog-metrics/lib/loggers'>; } declare module 'datadog-metrics/lib/metrics.js' { declare module.exports: $Exports<'datadog-metrics/lib/metrics'>; } declare module 'datadog-metrics/lib/reporters.js' { declare module.exports: $Exports<'datadog-metrics/lib/reporters'>; } ================================================ FILE: flow-typed/npm/dataloader_vx.x.x.js ================================================ // flow-typed signature: 62d3fa71e344ce71db81037ecb6264ae // flow-typed version: <>/dataloader_v1.4.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'dataloader' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'dataloader' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'dataloader/index' { declare module.exports: $Exports<'dataloader'>; } declare module 'dataloader/index.js' { declare module.exports: $Exports<'dataloader'>; } ================================================ FILE: flow-typed/npm/debounce_vx.x.x.js ================================================ // flow-typed signature: 696652e6be06a49af1c1ae4cf66d86e7 // flow-typed version: <>/debounce_v^1.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'debounce' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'debounce' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'debounce/test' { declare module.exports: any; } // Filename aliases declare module 'debounce/index' { declare module.exports: $Exports<'debounce'>; } declare module 'debounce/index.js' { declare module.exports: $Exports<'debounce'>; } declare module 'debounce/test.js' { declare module.exports: $Exports<'debounce/test'>; } ================================================ FILE: flow-typed/npm/debug_v2.x.x.js ================================================ // flow-typed signature: c7b1e1d8d9c2230d131299ddc21dcb0e // flow-typed version: da30fe6876/debug_v2.x.x/flow_>=v0.28.x declare module "debug" { declare type Debugger = { (...args: Array): void, (formatter: string, ...args: Array): void, (err: Error, ...args: Array): void, enabled: boolean, log: () => {}, namespace: string }; declare module.exports: (namespace: string) => Debugger; declare var names: Array; declare var skips: Array; declare var colors: Array; declare function disable(): void; declare function enable(namespaces: string): void; declare function enabled(name: string): boolean; declare function humanize(): void; declare function useColors(): boolean; declare function log(): void; declare var formatters: { [formatter: string]: () => {} }; } ================================================ FILE: flow-typed/npm/decode-uri-component_vx.x.x.js ================================================ // flow-typed signature: faef99bbaaff986e9b4077753c74e5b6 // flow-typed version: <>/decode-uri-component_v0.2.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'decode-uri-component' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'decode-uri-component' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'decode-uri-component/index' { declare module.exports: $Exports<'decode-uri-component'>; } declare module 'decode-uri-component/index.js' { declare module.exports: $Exports<'decode-uri-component'>; } ================================================ FILE: flow-typed/npm/draft-js-code-editor-plugin_vx.x.x.js ================================================ // flow-typed signature: 85a24d2d3bac4a91b6283dc8eb6f6018 // flow-typed version: <>/draft-js-code-editor-plugin_v0.2.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-code-editor-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-code-editor-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-code-editor-plugin/dist/index' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-cli_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-core_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-eslint_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-polyfill_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-env_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-es2015_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-flow_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-stage-2_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/draft-js-code_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/eslint_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/eslint-plugin-babel_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/flow-bin_v0.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/husky_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/jest_v19.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/jest_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/lint-staged_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/prettier_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/rimraf_vx.x.x' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/src/index' { declare module.exports: any; } declare module 'draft-js-code-editor-plugin/src/test/index.test' { declare module.exports: any; } // Filename aliases declare module 'draft-js-code-editor-plugin/dist/index.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/dist/index'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-cli_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-cli_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-core_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-core_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-eslint_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-eslint_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-polyfill_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-polyfill_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-env_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-env_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-es2015_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-es2015_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-flow_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-flow_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-stage-2_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/babel-preset-stage-2_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/draft-js-code_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/draft-js-code_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/eslint_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/eslint_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/eslint-plugin-babel_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/eslint-plugin-babel_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/flow-bin_v0.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/flow-bin_v0.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/husky_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/husky_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/jest_v19.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/jest_v19.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/jest_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/jest_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/lint-staged_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/lint-staged_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/prettier_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/prettier_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/flow-typed/npm/rimraf_vx.x.x.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/flow-typed/npm/rimraf_vx.x.x'>; } declare module 'draft-js-code-editor-plugin/src/index.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/src/index'>; } declare module 'draft-js-code-editor-plugin/src/test/index.test.js' { declare module.exports: $Exports<'draft-js-code-editor-plugin/src/test/index.test'>; } ================================================ FILE: flow-typed/npm/draft-js-drag-n-drop-plugin_vx.x.x.js ================================================ // flow-typed signature: 321a13eae9e4b66400e89722009fcf5f // flow-typed version: <>/draft-js-drag-n-drop-plugin_v2.0.0-rc9/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-drag-n-drop-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-drag-n-drop-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-drag-n-drop-plugin/lib/constants/index' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/lib/createDecorator' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/lib/handleDrop' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/lib/index' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/lib/modifiers/addBlock' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/lib/modifiers/removeBlock' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/postcss.config' { declare module.exports: any; } declare module 'draft-js-drag-n-drop-plugin/webpack.config' { declare module.exports: any; } // Filename aliases declare module 'draft-js-drag-n-drop-plugin/lib/constants/index.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/lib/constants/index'>; } declare module 'draft-js-drag-n-drop-plugin/lib/createDecorator.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/lib/createDecorator'>; } declare module 'draft-js-drag-n-drop-plugin/lib/handleDrop.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/lib/handleDrop'>; } declare module 'draft-js-drag-n-drop-plugin/lib/index.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/lib/index'>; } declare module 'draft-js-drag-n-drop-plugin/lib/modifiers/addBlock.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/lib/modifiers/addBlock'>; } declare module 'draft-js-drag-n-drop-plugin/lib/modifiers/removeBlock.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/lib/modifiers/removeBlock'>; } declare module 'draft-js-drag-n-drop-plugin/postcss.config.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/postcss.config'>; } declare module 'draft-js-drag-n-drop-plugin/webpack.config.js' { declare module.exports: $Exports<'draft-js-drag-n-drop-plugin/webpack.config'>; } ================================================ FILE: flow-typed/npm/draft-js-embed-plugin_vx.x.x.js ================================================ // flow-typed signature: 9a561a1fa760295a878190beb98cda0d // flow-typed version: <>/draft-js-embed-plugin_v^1.2.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-embed-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-embed-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-embed-plugin/lib/bundle-embedStyles' { declare module.exports: any; } declare module 'draft-js-embed-plugin/lib/embed/index' { declare module.exports: any; } declare module 'draft-js-embed-plugin/lib/index' { declare module.exports: any; } declare module 'draft-js-embed-plugin/lib/modifiers/addEmbed' { declare module.exports: any; } declare module 'draft-js-embed-plugin/postcss.config' { declare module.exports: any; } // Filename aliases declare module 'draft-js-embed-plugin/lib/bundle-embedStyles.js' { declare module.exports: $Exports<'draft-js-embed-plugin/lib/bundle-embedStyles'>; } declare module 'draft-js-embed-plugin/lib/embed/index.js' { declare module.exports: $Exports<'draft-js-embed-plugin/lib/embed/index'>; } declare module 'draft-js-embed-plugin/lib/index.js' { declare module.exports: $Exports<'draft-js-embed-plugin/lib/index'>; } declare module 'draft-js-embed-plugin/lib/modifiers/addEmbed.js' { declare module.exports: $Exports<'draft-js-embed-plugin/lib/modifiers/addEmbed'>; } declare module 'draft-js-embed-plugin/postcss.config.js' { declare module.exports: $Exports<'draft-js-embed-plugin/postcss.config'>; } ================================================ FILE: flow-typed/npm/draft-js-export-markdown_vx.x.x.js ================================================ // flow-typed signature: 62c300788f61ec7382ffcd7ba580e1e3 // flow-typed version: <>/draft-js-export-markdown_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'draft-js-export-markdown' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-export-markdown' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-export-markdown/lib/main' { declare module.exports: any; } declare module 'draft-js-export-markdown/lib/stateToMarkdown' { declare module.exports: any; } // Filename aliases declare module 'draft-js-export-markdown/lib/main.js' { declare module.exports: $Exports<'draft-js-export-markdown/lib/main'>; } declare module 'draft-js-export-markdown/lib/stateToMarkdown.js' { declare module.exports: $Exports<'draft-js-export-markdown/lib/stateToMarkdown'>; } ================================================ FILE: flow-typed/npm/draft-js-focus-plugin_vx.x.x.js ================================================ // flow-typed signature: 006dddf5145a7a86d38fa258e57f376d // flow-typed version: <>/draft-js-focus-plugin_v2.0.0-rc2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-focus-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-focus-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-focus-plugin/lib/createDecorator' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/index' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/modifiers/removeBlock' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/modifiers/setSelection' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/modifiers/setSelectionToBlock' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/utils/blockInSelection' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/utils/createBlockKeyStore' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/utils/getBlockMapKeys' { declare module.exports: any; } declare module 'draft-js-focus-plugin/lib/utils/getSelectedBlocksMapKeys' { declare module.exports: any; } declare module 'draft-js-focus-plugin/postcss.config' { declare module.exports: any; } declare module 'draft-js-focus-plugin/webpack.config' { declare module.exports: any; } // Filename aliases declare module 'draft-js-focus-plugin/lib/createDecorator.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/createDecorator'>; } declare module 'draft-js-focus-plugin/lib/index.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/index'>; } declare module 'draft-js-focus-plugin/lib/modifiers/removeBlock.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/modifiers/removeBlock'>; } declare module 'draft-js-focus-plugin/lib/modifiers/setSelection.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/modifiers/setSelection'>; } declare module 'draft-js-focus-plugin/lib/modifiers/setSelectionToBlock.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/modifiers/setSelectionToBlock'>; } declare module 'draft-js-focus-plugin/lib/utils/blockInSelection.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/utils/blockInSelection'>; } declare module 'draft-js-focus-plugin/lib/utils/createBlockKeyStore.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/utils/createBlockKeyStore'>; } declare module 'draft-js-focus-plugin/lib/utils/getBlockMapKeys.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/utils/getBlockMapKeys'>; } declare module 'draft-js-focus-plugin/lib/utils/getSelectedBlocksMapKeys.js' { declare module.exports: $Exports<'draft-js-focus-plugin/lib/utils/getSelectedBlocksMapKeys'>; } declare module 'draft-js-focus-plugin/postcss.config.js' { declare module.exports: $Exports<'draft-js-focus-plugin/postcss.config'>; } declare module 'draft-js-focus-plugin/webpack.config.js' { declare module.exports: $Exports<'draft-js-focus-plugin/webpack.config'>; } ================================================ FILE: flow-typed/npm/draft-js-image-plugin_vx.x.x.js ================================================ // flow-typed signature: a7f937ced32d340aa2e995adfa04774f // flow-typed version: <>/draft-js-image-plugin_v2.0.0-rc8/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-image-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-image-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-image-plugin/lib/Image/index' { declare module.exports: any; } declare module 'draft-js-image-plugin/lib/index' { declare module.exports: any; } declare module 'draft-js-image-plugin/lib/modifiers/addImage' { declare module.exports: any; } declare module 'draft-js-image-plugin/postcss.config' { declare module.exports: any; } declare module 'draft-js-image-plugin/webpack.config' { declare module.exports: any; } // Filename aliases declare module 'draft-js-image-plugin/lib/Image/index.js' { declare module.exports: $Exports<'draft-js-image-plugin/lib/Image/index'>; } declare module 'draft-js-image-plugin/lib/index.js' { declare module.exports: $Exports<'draft-js-image-plugin/lib/index'>; } declare module 'draft-js-image-plugin/lib/modifiers/addImage.js' { declare module.exports: $Exports<'draft-js-image-plugin/lib/modifiers/addImage'>; } declare module 'draft-js-image-plugin/postcss.config.js' { declare module.exports: $Exports<'draft-js-image-plugin/postcss.config'>; } declare module 'draft-js-image-plugin/webpack.config.js' { declare module.exports: $Exports<'draft-js-image-plugin/webpack.config'>; } ================================================ FILE: flow-typed/npm/draft-js-import-markdown_vx.x.x.js ================================================ // flow-typed signature: 389c153854ffcd0db04e39873c832a95 // flow-typed version: <>/draft-js-import-markdown_v^1.2.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-import-markdown' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-import-markdown' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-import-markdown/lib/main' { declare module.exports: any; } declare module 'draft-js-import-markdown/lib/MarkdownParser' { declare module.exports: any; } declare module 'draft-js-import-markdown/lib/stateFromMarkdown' { declare module.exports: any; } // Filename aliases declare module 'draft-js-import-markdown/lib/main.js' { declare module.exports: $Exports<'draft-js-import-markdown/lib/main'>; } declare module 'draft-js-import-markdown/lib/MarkdownParser.js' { declare module.exports: $Exports<'draft-js-import-markdown/lib/MarkdownParser'>; } declare module 'draft-js-import-markdown/lib/stateFromMarkdown.js' { declare module.exports: $Exports<'draft-js-import-markdown/lib/stateFromMarkdown'>; } ================================================ FILE: flow-typed/npm/draft-js-linkify-plugin_vx.x.x.js ================================================ // flow-typed signature: 97eb122c8883bdc42dd8631a8ded5526 // flow-typed version: <>/draft-js-linkify-plugin_v^2.0.0-beta1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-linkify-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-linkify-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-linkify-plugin/lib/index' { declare module.exports: any; } declare module 'draft-js-linkify-plugin/lib/Link/index' { declare module.exports: any; } declare module 'draft-js-linkify-plugin/lib/linkStrategy' { declare module.exports: any; } declare module 'draft-js-linkify-plugin/postcss.config' { declare module.exports: any; } // Filename aliases declare module 'draft-js-linkify-plugin/lib/index.js' { declare module.exports: $Exports<'draft-js-linkify-plugin/lib/index'>; } declare module 'draft-js-linkify-plugin/lib/Link/index.js' { declare module.exports: $Exports<'draft-js-linkify-plugin/lib/Link/index'>; } declare module 'draft-js-linkify-plugin/lib/linkStrategy.js' { declare module.exports: $Exports<'draft-js-linkify-plugin/lib/linkStrategy'>; } declare module 'draft-js-linkify-plugin/postcss.config.js' { declare module.exports: $Exports<'draft-js-linkify-plugin/postcss.config'>; } ================================================ FILE: flow-typed/npm/draft-js-markdown-plugin_vx.x.x.js ================================================ // flow-typed signature: 979025fdc1c62c46c4edb097f3cfe780 // flow-typed version: <>/draft-js-markdown-plugin_v^1.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-markdown-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-markdown-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-markdown-plugin/lib/components/Image/index' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/components/Link/index' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/constants' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/decorators/image/imageStrategy' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/decorators/image/index' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/decorators/link/index' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/decorators/link/linkStrategy' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/index' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/adjustBlockDepth' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/changeCurrentBlockType' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/changeCurrentInlineStyle' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleBlockType' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleImage' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleInlineStyle' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleLink' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleNewCodeBlock' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertEmptyBlock' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertImage' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertLink' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertText' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/modifiers/leaveList' { declare module.exports: any; } declare module 'draft-js-markdown-plugin/lib/utils' { declare module.exports: any; } // Filename aliases declare module 'draft-js-markdown-plugin/lib/components/Image/index.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/components/Image/index'>; } declare module 'draft-js-markdown-plugin/lib/components/Link/index.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/components/Link/index'>; } declare module 'draft-js-markdown-plugin/lib/constants.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/constants'>; } declare module 'draft-js-markdown-plugin/lib/decorators/image/imageStrategy.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/decorators/image/imageStrategy'>; } declare module 'draft-js-markdown-plugin/lib/decorators/image/index.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/decorators/image/index'>; } declare module 'draft-js-markdown-plugin/lib/decorators/link/index.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/decorators/link/index'>; } declare module 'draft-js-markdown-plugin/lib/decorators/link/linkStrategy.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/decorators/link/linkStrategy'>; } declare module 'draft-js-markdown-plugin/lib/index.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/index'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/adjustBlockDepth.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/adjustBlockDepth'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/changeCurrentBlockType.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/changeCurrentBlockType'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/changeCurrentInlineStyle.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/changeCurrentInlineStyle'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleBlockType.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/handleBlockType'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleImage.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/handleImage'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleInlineStyle.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/handleInlineStyle'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleLink.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/handleLink'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/handleNewCodeBlock.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/handleNewCodeBlock'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertEmptyBlock.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/insertEmptyBlock'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertImage.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/insertImage'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertLink.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/insertLink'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/insertText.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/insertText'>; } declare module 'draft-js-markdown-plugin/lib/modifiers/leaveList.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/modifiers/leaveList'>; } declare module 'draft-js-markdown-plugin/lib/utils.js' { declare module.exports: $Exports<'draft-js-markdown-plugin/lib/utils'>; } ================================================ FILE: flow-typed/npm/draft-js-plugins-editor_vx.x.x.js ================================================ // flow-typed signature: 3d9dbc65bde93887bd1d5fa9c164dcd9 // flow-typed version: <>/draft-js-plugins-editor_v^2.0.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-plugins-editor' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-plugins-editor' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-plugins-editor/lib/Editor/__test__/index' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/__test__/MultiDecorator' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/createCompositeDecorator' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/defaultKeyBindingPlugin' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/index' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/moveSelectionToEnd' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/MultiDecorator' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/proxies' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/Editor/resolveDecorators' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/index' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/utils/composeDecorators' { declare module.exports: any; } declare module 'draft-js-plugins-editor/lib/utils/createEditorStateWithText' { declare module.exports: any; } // Filename aliases declare module 'draft-js-plugins-editor/lib/Editor/__test__/index.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/__test__/index'>; } declare module 'draft-js-plugins-editor/lib/Editor/__test__/MultiDecorator.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/__test__/MultiDecorator'>; } declare module 'draft-js-plugins-editor/lib/Editor/createCompositeDecorator.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/createCompositeDecorator'>; } declare module 'draft-js-plugins-editor/lib/Editor/defaultKeyBindingPlugin.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/defaultKeyBindingPlugin'>; } declare module 'draft-js-plugins-editor/lib/Editor/index.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/index'>; } declare module 'draft-js-plugins-editor/lib/Editor/moveSelectionToEnd.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/moveSelectionToEnd'>; } declare module 'draft-js-plugins-editor/lib/Editor/MultiDecorator.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/MultiDecorator'>; } declare module 'draft-js-plugins-editor/lib/Editor/proxies.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/proxies'>; } declare module 'draft-js-plugins-editor/lib/Editor/resolveDecorators.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/Editor/resolveDecorators'>; } declare module 'draft-js-plugins-editor/lib/index.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/index'>; } declare module 'draft-js-plugins-editor/lib/utils/composeDecorators.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/utils/composeDecorators'>; } declare module 'draft-js-plugins-editor/lib/utils/createEditorStateWithText.js' { declare module.exports: $Exports<'draft-js-plugins-editor/lib/utils/createEditorStateWithText'>; } ================================================ FILE: flow-typed/npm/draft-js-prism-plugin_vx.x.x.js ================================================ // flow-typed signature: b19d6fb70255137c591e442ccd68ecb8 // flow-typed version: <>/draft-js-prism-plugin_v0.1.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draft-js-prism-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js-prism-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js-prism-plugin/dist/index' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-cli_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-core_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-eslint_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-polyfill_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-env_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-es2015_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-flow_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-stage-2_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/draft-js-prism_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/eslint_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/eslint-plugin-babel_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/flow-bin_v0.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/husky_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/jest_v19.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/lint-staged_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/prettier_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/flow-typed/npm/rimraf_vx.x.x' { declare module.exports: any; } declare module 'draft-js-prism-plugin/src/index' { declare module.exports: any; } declare module 'draft-js-prism-plugin/src/test/index.test' { declare module.exports: any; } // Filename aliases declare module 'draft-js-prism-plugin/dist/index.js' { declare module.exports: $Exports<'draft-js-prism-plugin/dist/index'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-cli_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-cli_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-core_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-core_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-eslint_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-eslint_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-polyfill_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-polyfill_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-env_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-preset-env_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-es2015_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-preset-es2015_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-flow_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-preset-flow_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/babel-preset-stage-2_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/babel-preset-stage-2_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/draft-js-prism_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/draft-js-prism_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/eslint_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/eslint_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/eslint-plugin-babel_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/eslint-plugin-babel_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/flow-bin_v0.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/flow-bin_v0.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/husky_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/husky_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/jest_v19.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/jest_v19.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/lint-staged_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/lint-staged_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/prettier_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/prettier_vx.x.x'>; } declare module 'draft-js-prism-plugin/flow-typed/npm/rimraf_vx.x.x.js' { declare module.exports: $Exports<'draft-js-prism-plugin/flow-typed/npm/rimraf_vx.x.x'>; } declare module 'draft-js-prism-plugin/src/index.js' { declare module.exports: $Exports<'draft-js-prism-plugin/src/index'>; } declare module 'draft-js-prism-plugin/src/test/index.test.js' { declare module.exports: $Exports<'draft-js-prism-plugin/src/test/index.test'>; } ================================================ FILE: flow-typed/npm/draft-js_vx.x.x.js ================================================ // flow-typed signature: 26a9245f6d98367e4a7e3f48e00baaf8 // flow-typed version: <>/draft-js_v0.10.2/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'draft-js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draft-js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draft-js/dist/Draft' { declare module.exports: any; } declare module 'draft-js/dist/Draft.min' { declare module.exports: any; } declare module 'draft-js/lib/addEntityToContentState' { declare module.exports: any; } declare module 'draft-js/lib/addEntityToEntityMap' { declare module.exports: any; } declare module 'draft-js/lib/adjustBlockDepthForContentState' { declare module.exports: any; } declare module 'draft-js/lib/applyEntityToContentBlock' { declare module.exports: any; } declare module 'draft-js/lib/applyEntityToContentState' { declare module.exports: any; } declare module 'draft-js/lib/AtomicBlockUtils' { declare module.exports: any; } declare module 'draft-js/lib/BlockMap' { declare module.exports: any; } declare module 'draft-js/lib/BlockMapBuilder' { declare module.exports: any; } declare module 'draft-js/lib/BlockTree' { declare module.exports: any; } declare module 'draft-js/lib/CharacterMetadata' { declare module.exports: any; } declare module 'draft-js/lib/ComposedEntityMutability' { declare module.exports: any; } declare module 'draft-js/lib/ComposedEntityType' { declare module.exports: any; } declare module 'draft-js/lib/CompositeDraftDecorator' { declare module.exports: any; } declare module 'draft-js/lib/ContentBlock' { declare module.exports: any; } declare module 'draft-js/lib/ContentState' { declare module.exports: any; } declare module 'draft-js/lib/ContentStateInlineStyle' { declare module.exports: any; } declare module 'draft-js/lib/convertFromDraftStateToRaw' { declare module.exports: any; } declare module 'draft-js/lib/convertFromHTMLToContentBlocks' { declare module.exports: any; } declare module 'draft-js/lib/convertFromRawToDraftState' { declare module.exports: any; } declare module 'draft-js/lib/createCharacterList' { declare module.exports: any; } declare module 'draft-js/lib/createEntityInContentState' { declare module.exports: any; } declare module 'draft-js/lib/decodeEntityRanges' { declare module.exports: any; } declare module 'draft-js/lib/decodeInlineStyleRanges' { declare module.exports: any; } declare module 'draft-js/lib/DefaultDraftBlockRenderMap' { declare module.exports: any; } declare module 'draft-js/lib/DefaultDraftInlineStyle' { declare module.exports: any; } declare module 'draft-js/lib/DOMDerivedSelection' { declare module.exports: any; } declare module 'draft-js/lib/Draft' { declare module.exports: any; } declare module 'draft-js/lib/DraftBlockRenderConfig' { declare module.exports: any; } declare module 'draft-js/lib/DraftBlockRenderMap' { declare module.exports: any; } declare module 'draft-js/lib/DraftBlockType' { declare module.exports: any; } declare module 'draft-js/lib/DraftDecorator' { declare module.exports: any; } declare module 'draft-js/lib/DraftDecoratorType' { declare module.exports: any; } declare module 'draft-js/lib/DraftDragType' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditor.react' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorBlock.react' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorCommand' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorCompositionHandler' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorContents.react' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorDragHandler' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorEditHandler' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorLeaf.react' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorModes' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorPlaceholder.react' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorProps' { declare module.exports: any; } declare module 'draft-js/lib/DraftEditorTextNode.react' { declare module.exports: any; } declare module 'draft-js/lib/DraftEntity' { declare module.exports: any; } declare module 'draft-js/lib/DraftEntityInstance' { declare module.exports: any; } declare module 'draft-js/lib/DraftEntityMutability' { declare module.exports: any; } declare module 'draft-js/lib/DraftEntitySegments' { declare module.exports: any; } declare module 'draft-js/lib/DraftEntityType' { declare module.exports: any; } declare module 'draft-js/lib/DraftFeatureFlags-core' { declare module.exports: any; } declare module 'draft-js/lib/DraftFeatureFlags' { declare module.exports: any; } declare module 'draft-js/lib/DraftHandleValue' { declare module.exports: any; } declare module 'draft-js/lib/DraftInlineStyle' { declare module.exports: any; } declare module 'draft-js/lib/DraftInsertionType' { declare module.exports: any; } declare module 'draft-js/lib/DraftJsDebugLogging' { declare module.exports: any; } declare module 'draft-js/lib/DraftModifier' { declare module.exports: any; } declare module 'draft-js/lib/DraftOffsetKey' { declare module.exports: any; } declare module 'draft-js/lib/DraftOffsetKeyPath' { declare module.exports: any; } declare module 'draft-js/lib/DraftPasteProcessor' { declare module.exports: any; } declare module 'draft-js/lib/DraftRange' { declare module.exports: any; } declare module 'draft-js/lib/DraftRemovableWord' { declare module.exports: any; } declare module 'draft-js/lib/DraftRemovalDirection' { declare module.exports: any; } declare module 'draft-js/lib/DraftScrollPosition' { declare module.exports: any; } declare module 'draft-js/lib/DraftStringKey' { declare module.exports: any; } declare module 'draft-js/lib/DraftTextAlignment' { declare module.exports: any; } declare module 'draft-js/lib/editOnBeforeInput' { declare module.exports: any; } declare module 'draft-js/lib/editOnBlur' { declare module.exports: any; } declare module 'draft-js/lib/editOnCompositionStart' { declare module.exports: any; } declare module 'draft-js/lib/editOnCopy' { declare module.exports: any; } declare module 'draft-js/lib/editOnCut' { declare module.exports: any; } declare module 'draft-js/lib/editOnDragOver' { declare module.exports: any; } declare module 'draft-js/lib/editOnDragStart' { declare module.exports: any; } declare module 'draft-js/lib/editOnFocus' { declare module.exports: any; } declare module 'draft-js/lib/editOnInput' { declare module.exports: any; } declare module 'draft-js/lib/editOnKeyDown' { declare module.exports: any; } declare module 'draft-js/lib/editOnPaste' { declare module.exports: any; } declare module 'draft-js/lib/editOnSelect' { declare module.exports: any; } declare module 'draft-js/lib/EditorBidiService' { declare module.exports: any; } declare module 'draft-js/lib/EditorChangeType' { declare module.exports: any; } declare module 'draft-js/lib/EditorState' { declare module.exports: any; } declare module 'draft-js/lib/EditorStateCreationConfig' { declare module.exports: any; } declare module 'draft-js/lib/encodeEntityRanges' { declare module.exports: any; } declare module 'draft-js/lib/encodeInlineStyleRanges' { declare module.exports: any; } declare module 'draft-js/lib/EntityMap' { declare module.exports: any; } declare module 'draft-js/lib/EntityRange' { declare module.exports: any; } declare module 'draft-js/lib/expandRangeToStartOfLine' { declare module.exports: any; } declare module 'draft-js/lib/findAncestorOffsetKey' { declare module.exports: any; } declare module 'draft-js/lib/findRangesImmutable' { declare module.exports: any; } declare module 'draft-js/lib/generateRandomKey' { declare module.exports: any; } declare module 'draft-js/lib/getCharacterRemovalRange' { declare module.exports: any; } declare module 'draft-js/lib/getContentStateFragment' { declare module.exports: any; } declare module 'draft-js/lib/getDefaultKeyBinding' { declare module.exports: any; } declare module 'draft-js/lib/getDraftEditorSelection' { declare module.exports: any; } declare module 'draft-js/lib/getDraftEditorSelectionWithNodes' { declare module.exports: any; } declare module 'draft-js/lib/getEntityKeyForSelection' { declare module.exports: any; } declare module 'draft-js/lib/getFragmentFromSelection' { declare module.exports: any; } declare module 'draft-js/lib/getRangeBoundingClientRect' { declare module.exports: any; } declare module 'draft-js/lib/getRangeClientRects' { declare module.exports: any; } declare module 'draft-js/lib/getRangesForDraftEntity' { declare module.exports: any; } declare module 'draft-js/lib/getSafeBodyFromHTML' { declare module.exports: any; } declare module 'draft-js/lib/getSampleStateForTesting' { declare module.exports: any; } declare module 'draft-js/lib/getSelectionOffsetKeyForNode' { declare module.exports: any; } declare module 'draft-js/lib/getTextAfterNearestEntity' { declare module.exports: any; } declare module 'draft-js/lib/getTextContentFromFiles' { declare module.exports: any; } declare module 'draft-js/lib/getUpdatedSelectionState' { declare module.exports: any; } declare module 'draft-js/lib/getVisibleSelectionRect' { declare module.exports: any; } declare module 'draft-js/lib/InlineStyleRange' { declare module.exports: any; } declare module 'draft-js/lib/insertFragmentIntoContentState' { declare module.exports: any; } declare module 'draft-js/lib/insertIntoList' { declare module.exports: any; } declare module 'draft-js/lib/insertTextIntoContentState' { declare module.exports: any; } declare module 'draft-js/lib/isEventHandled' { declare module.exports: any; } declare module 'draft-js/lib/isSelectionAtLeafStart' { declare module.exports: any; } declare module 'draft-js/lib/isSoftNewlineEvent' { declare module.exports: any; } declare module 'draft-js/lib/KeyBindingUtil' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandBackspaceToStartOfLine' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandBackspaceWord' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandDeleteWord' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandInsertNewline' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandMoveSelectionToEndOfBlock' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandMoveSelectionToStartOfBlock' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandPlainBackspace' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandPlainDelete' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandTransposeCharacters' { declare module.exports: any; } declare module 'draft-js/lib/keyCommandUndo' { declare module.exports: any; } declare module 'draft-js/lib/modifyBlockForContentState' { declare module.exports: any; } declare module 'draft-js/lib/moveBlockInContentState' { declare module.exports: any; } declare module 'draft-js/lib/moveSelectionBackward' { declare module.exports: any; } declare module 'draft-js/lib/moveSelectionForward' { declare module.exports: any; } declare module 'draft-js/lib/RawDraftContentBlock' { declare module.exports: any; } declare module 'draft-js/lib/RawDraftContentState' { declare module.exports: any; } declare module 'draft-js/lib/RawDraftEntity' { declare module.exports: any; } declare module 'draft-js/lib/removeEntitiesAtEdges' { declare module.exports: any; } declare module 'draft-js/lib/removeRangeFromContentState' { declare module.exports: any; } declare module 'draft-js/lib/removeTextWithStrategy' { declare module.exports: any; } declare module 'draft-js/lib/RichTextEditorUtil' { declare module.exports: any; } declare module 'draft-js/lib/SampleDraftInlineStyle' { declare module.exports: any; } declare module 'draft-js/lib/sanitizeDraftText' { declare module.exports: any; } declare module 'draft-js/lib/SecondaryClipboard' { declare module.exports: any; } declare module 'draft-js/lib/SelectionState' { declare module.exports: any; } declare module 'draft-js/lib/setDraftEditorSelection' { declare module.exports: any; } declare module 'draft-js/lib/splitBlockInContentState' { declare module.exports: any; } declare module 'draft-js/lib/splitTextIntoTextBlocks' { declare module.exports: any; } declare module 'draft-js/lib/updateEntityDataInContentState' { declare module.exports: any; } // Filename aliases declare module 'draft-js/dist/Draft.js' { declare module.exports: $Exports<'draft-js/dist/Draft'>; } declare module 'draft-js/dist/Draft.min.js' { declare module.exports: $Exports<'draft-js/dist/Draft.min'>; } declare module 'draft-js/lib/addEntityToContentState.js' { declare module.exports: $Exports<'draft-js/lib/addEntityToContentState'>; } declare module 'draft-js/lib/addEntityToEntityMap.js' { declare module.exports: $Exports<'draft-js/lib/addEntityToEntityMap'>; } declare module 'draft-js/lib/adjustBlockDepthForContentState.js' { declare module.exports: $Exports<'draft-js/lib/adjustBlockDepthForContentState'>; } declare module 'draft-js/lib/applyEntityToContentBlock.js' { declare module.exports: $Exports<'draft-js/lib/applyEntityToContentBlock'>; } declare module 'draft-js/lib/applyEntityToContentState.js' { declare module.exports: $Exports<'draft-js/lib/applyEntityToContentState'>; } declare module 'draft-js/lib/AtomicBlockUtils.js' { declare module.exports: $Exports<'draft-js/lib/AtomicBlockUtils'>; } declare module 'draft-js/lib/BlockMap.js' { declare module.exports: $Exports<'draft-js/lib/BlockMap'>; } declare module 'draft-js/lib/BlockMapBuilder.js' { declare module.exports: $Exports<'draft-js/lib/BlockMapBuilder'>; } declare module 'draft-js/lib/BlockTree.js' { declare module.exports: $Exports<'draft-js/lib/BlockTree'>; } declare module 'draft-js/lib/CharacterMetadata.js' { declare module.exports: $Exports<'draft-js/lib/CharacterMetadata'>; } declare module 'draft-js/lib/ComposedEntityMutability.js' { declare module.exports: $Exports<'draft-js/lib/ComposedEntityMutability'>; } declare module 'draft-js/lib/ComposedEntityType.js' { declare module.exports: $Exports<'draft-js/lib/ComposedEntityType'>; } declare module 'draft-js/lib/CompositeDraftDecorator.js' { declare module.exports: $Exports<'draft-js/lib/CompositeDraftDecorator'>; } declare module 'draft-js/lib/ContentBlock.js' { declare module.exports: $Exports<'draft-js/lib/ContentBlock'>; } declare module 'draft-js/lib/ContentState.js' { declare module.exports: $Exports<'draft-js/lib/ContentState'>; } declare module 'draft-js/lib/ContentStateInlineStyle.js' { declare module.exports: $Exports<'draft-js/lib/ContentStateInlineStyle'>; } declare module 'draft-js/lib/convertFromDraftStateToRaw.js' { declare module.exports: $Exports<'draft-js/lib/convertFromDraftStateToRaw'>; } declare module 'draft-js/lib/convertFromHTMLToContentBlocks.js' { declare module.exports: $Exports<'draft-js/lib/convertFromHTMLToContentBlocks'>; } declare module 'draft-js/lib/convertFromRawToDraftState.js' { declare module.exports: $Exports<'draft-js/lib/convertFromRawToDraftState'>; } declare module 'draft-js/lib/createCharacterList.js' { declare module.exports: $Exports<'draft-js/lib/createCharacterList'>; } declare module 'draft-js/lib/createEntityInContentState.js' { declare module.exports: $Exports<'draft-js/lib/createEntityInContentState'>; } declare module 'draft-js/lib/decodeEntityRanges.js' { declare module.exports: $Exports<'draft-js/lib/decodeEntityRanges'>; } declare module 'draft-js/lib/decodeInlineStyleRanges.js' { declare module.exports: $Exports<'draft-js/lib/decodeInlineStyleRanges'>; } declare module 'draft-js/lib/DefaultDraftBlockRenderMap.js' { declare module.exports: $Exports<'draft-js/lib/DefaultDraftBlockRenderMap'>; } declare module 'draft-js/lib/DefaultDraftInlineStyle.js' { declare module.exports: $Exports<'draft-js/lib/DefaultDraftInlineStyle'>; } declare module 'draft-js/lib/DOMDerivedSelection.js' { declare module.exports: $Exports<'draft-js/lib/DOMDerivedSelection'>; } declare module 'draft-js/lib/Draft.js' { declare module.exports: $Exports<'draft-js/lib/Draft'>; } declare module 'draft-js/lib/DraftBlockRenderConfig.js' { declare module.exports: $Exports<'draft-js/lib/DraftBlockRenderConfig'>; } declare module 'draft-js/lib/DraftBlockRenderMap.js' { declare module.exports: $Exports<'draft-js/lib/DraftBlockRenderMap'>; } declare module 'draft-js/lib/DraftBlockType.js' { declare module.exports: $Exports<'draft-js/lib/DraftBlockType'>; } declare module 'draft-js/lib/DraftDecorator.js' { declare module.exports: $Exports<'draft-js/lib/DraftDecorator'>; } declare module 'draft-js/lib/DraftDecoratorType.js' { declare module.exports: $Exports<'draft-js/lib/DraftDecoratorType'>; } declare module 'draft-js/lib/DraftDragType.js' { declare module.exports: $Exports<'draft-js/lib/DraftDragType'>; } declare module 'draft-js/lib/DraftEditor.react.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditor.react'>; } declare module 'draft-js/lib/DraftEditorBlock.react.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorBlock.react'>; } declare module 'draft-js/lib/DraftEditorCommand.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorCommand'>; } declare module 'draft-js/lib/DraftEditorCompositionHandler.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorCompositionHandler'>; } declare module 'draft-js/lib/DraftEditorContents.react.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorContents.react'>; } declare module 'draft-js/lib/DraftEditorDragHandler.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorDragHandler'>; } declare module 'draft-js/lib/DraftEditorEditHandler.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorEditHandler'>; } declare module 'draft-js/lib/DraftEditorLeaf.react.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorLeaf.react'>; } declare module 'draft-js/lib/DraftEditorModes.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorModes'>; } declare module 'draft-js/lib/DraftEditorPlaceholder.react.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorPlaceholder.react'>; } declare module 'draft-js/lib/DraftEditorProps.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorProps'>; } declare module 'draft-js/lib/DraftEditorTextNode.react.js' { declare module.exports: $Exports<'draft-js/lib/DraftEditorTextNode.react'>; } declare module 'draft-js/lib/DraftEntity.js' { declare module.exports: $Exports<'draft-js/lib/DraftEntity'>; } declare module 'draft-js/lib/DraftEntityInstance.js' { declare module.exports: $Exports<'draft-js/lib/DraftEntityInstance'>; } declare module 'draft-js/lib/DraftEntityMutability.js' { declare module.exports: $Exports<'draft-js/lib/DraftEntityMutability'>; } declare module 'draft-js/lib/DraftEntitySegments.js' { declare module.exports: $Exports<'draft-js/lib/DraftEntitySegments'>; } declare module 'draft-js/lib/DraftEntityType.js' { declare module.exports: $Exports<'draft-js/lib/DraftEntityType'>; } declare module 'draft-js/lib/DraftFeatureFlags-core.js' { declare module.exports: $Exports<'draft-js/lib/DraftFeatureFlags-core'>; } declare module 'draft-js/lib/DraftFeatureFlags.js' { declare module.exports: $Exports<'draft-js/lib/DraftFeatureFlags'>; } declare module 'draft-js/lib/DraftHandleValue.js' { declare module.exports: $Exports<'draft-js/lib/DraftHandleValue'>; } declare module 'draft-js/lib/DraftInlineStyle.js' { declare module.exports: $Exports<'draft-js/lib/DraftInlineStyle'>; } declare module 'draft-js/lib/DraftInsertionType.js' { declare module.exports: $Exports<'draft-js/lib/DraftInsertionType'>; } declare module 'draft-js/lib/DraftJsDebugLogging.js' { declare module.exports: $Exports<'draft-js/lib/DraftJsDebugLogging'>; } declare module 'draft-js/lib/DraftModifier.js' { declare module.exports: $Exports<'draft-js/lib/DraftModifier'>; } declare module 'draft-js/lib/DraftOffsetKey.js' { declare module.exports: $Exports<'draft-js/lib/DraftOffsetKey'>; } declare module 'draft-js/lib/DraftOffsetKeyPath.js' { declare module.exports: $Exports<'draft-js/lib/DraftOffsetKeyPath'>; } declare module 'draft-js/lib/DraftPasteProcessor.js' { declare module.exports: $Exports<'draft-js/lib/DraftPasteProcessor'>; } declare module 'draft-js/lib/DraftRange.js' { declare module.exports: $Exports<'draft-js/lib/DraftRange'>; } declare module 'draft-js/lib/DraftRemovableWord.js' { declare module.exports: $Exports<'draft-js/lib/DraftRemovableWord'>; } declare module 'draft-js/lib/DraftRemovalDirection.js' { declare module.exports: $Exports<'draft-js/lib/DraftRemovalDirection'>; } declare module 'draft-js/lib/DraftScrollPosition.js' { declare module.exports: $Exports<'draft-js/lib/DraftScrollPosition'>; } declare module 'draft-js/lib/DraftStringKey.js' { declare module.exports: $Exports<'draft-js/lib/DraftStringKey'>; } declare module 'draft-js/lib/DraftTextAlignment.js' { declare module.exports: $Exports<'draft-js/lib/DraftTextAlignment'>; } declare module 'draft-js/lib/editOnBeforeInput.js' { declare module.exports: $Exports<'draft-js/lib/editOnBeforeInput'>; } declare module 'draft-js/lib/editOnBlur.js' { declare module.exports: $Exports<'draft-js/lib/editOnBlur'>; } declare module 'draft-js/lib/editOnCompositionStart.js' { declare module.exports: $Exports<'draft-js/lib/editOnCompositionStart'>; } declare module 'draft-js/lib/editOnCopy.js' { declare module.exports: $Exports<'draft-js/lib/editOnCopy'>; } declare module 'draft-js/lib/editOnCut.js' { declare module.exports: $Exports<'draft-js/lib/editOnCut'>; } declare module 'draft-js/lib/editOnDragOver.js' { declare module.exports: $Exports<'draft-js/lib/editOnDragOver'>; } declare module 'draft-js/lib/editOnDragStart.js' { declare module.exports: $Exports<'draft-js/lib/editOnDragStart'>; } declare module 'draft-js/lib/editOnFocus.js' { declare module.exports: $Exports<'draft-js/lib/editOnFocus'>; } declare module 'draft-js/lib/editOnInput.js' { declare module.exports: $Exports<'draft-js/lib/editOnInput'>; } declare module 'draft-js/lib/editOnKeyDown.js' { declare module.exports: $Exports<'draft-js/lib/editOnKeyDown'>; } declare module 'draft-js/lib/editOnPaste.js' { declare module.exports: $Exports<'draft-js/lib/editOnPaste'>; } declare module 'draft-js/lib/editOnSelect.js' { declare module.exports: $Exports<'draft-js/lib/editOnSelect'>; } declare module 'draft-js/lib/EditorBidiService.js' { declare module.exports: $Exports<'draft-js/lib/EditorBidiService'>; } declare module 'draft-js/lib/EditorChangeType.js' { declare module.exports: $Exports<'draft-js/lib/EditorChangeType'>; } declare module 'draft-js/lib/EditorState.js' { declare module.exports: $Exports<'draft-js/lib/EditorState'>; } declare module 'draft-js/lib/EditorStateCreationConfig.js' { declare module.exports: $Exports<'draft-js/lib/EditorStateCreationConfig'>; } declare module 'draft-js/lib/encodeEntityRanges.js' { declare module.exports: $Exports<'draft-js/lib/encodeEntityRanges'>; } declare module 'draft-js/lib/encodeInlineStyleRanges.js' { declare module.exports: $Exports<'draft-js/lib/encodeInlineStyleRanges'>; } declare module 'draft-js/lib/EntityMap.js' { declare module.exports: $Exports<'draft-js/lib/EntityMap'>; } declare module 'draft-js/lib/EntityRange.js' { declare module.exports: $Exports<'draft-js/lib/EntityRange'>; } declare module 'draft-js/lib/expandRangeToStartOfLine.js' { declare module.exports: $Exports<'draft-js/lib/expandRangeToStartOfLine'>; } declare module 'draft-js/lib/findAncestorOffsetKey.js' { declare module.exports: $Exports<'draft-js/lib/findAncestorOffsetKey'>; } declare module 'draft-js/lib/findRangesImmutable.js' { declare module.exports: $Exports<'draft-js/lib/findRangesImmutable'>; } declare module 'draft-js/lib/generateRandomKey.js' { declare module.exports: $Exports<'draft-js/lib/generateRandomKey'>; } declare module 'draft-js/lib/getCharacterRemovalRange.js' { declare module.exports: $Exports<'draft-js/lib/getCharacterRemovalRange'>; } declare module 'draft-js/lib/getContentStateFragment.js' { declare module.exports: $Exports<'draft-js/lib/getContentStateFragment'>; } declare module 'draft-js/lib/getDefaultKeyBinding.js' { declare module.exports: $Exports<'draft-js/lib/getDefaultKeyBinding'>; } declare module 'draft-js/lib/getDraftEditorSelection.js' { declare module.exports: $Exports<'draft-js/lib/getDraftEditorSelection'>; } declare module 'draft-js/lib/getDraftEditorSelectionWithNodes.js' { declare module.exports: $Exports<'draft-js/lib/getDraftEditorSelectionWithNodes'>; } declare module 'draft-js/lib/getEntityKeyForSelection.js' { declare module.exports: $Exports<'draft-js/lib/getEntityKeyForSelection'>; } declare module 'draft-js/lib/getFragmentFromSelection.js' { declare module.exports: $Exports<'draft-js/lib/getFragmentFromSelection'>; } declare module 'draft-js/lib/getRangeBoundingClientRect.js' { declare module.exports: $Exports<'draft-js/lib/getRangeBoundingClientRect'>; } declare module 'draft-js/lib/getRangeClientRects.js' { declare module.exports: $Exports<'draft-js/lib/getRangeClientRects'>; } declare module 'draft-js/lib/getRangesForDraftEntity.js' { declare module.exports: $Exports<'draft-js/lib/getRangesForDraftEntity'>; } declare module 'draft-js/lib/getSafeBodyFromHTML.js' { declare module.exports: $Exports<'draft-js/lib/getSafeBodyFromHTML'>; } declare module 'draft-js/lib/getSampleStateForTesting.js' { declare module.exports: $Exports<'draft-js/lib/getSampleStateForTesting'>; } declare module 'draft-js/lib/getSelectionOffsetKeyForNode.js' { declare module.exports: $Exports<'draft-js/lib/getSelectionOffsetKeyForNode'>; } declare module 'draft-js/lib/getTextAfterNearestEntity.js' { declare module.exports: $Exports<'draft-js/lib/getTextAfterNearestEntity'>; } declare module 'draft-js/lib/getTextContentFromFiles.js' { declare module.exports: $Exports<'draft-js/lib/getTextContentFromFiles'>; } declare module 'draft-js/lib/getUpdatedSelectionState.js' { declare module.exports: $Exports<'draft-js/lib/getUpdatedSelectionState'>; } declare module 'draft-js/lib/getVisibleSelectionRect.js' { declare module.exports: $Exports<'draft-js/lib/getVisibleSelectionRect'>; } declare module 'draft-js/lib/InlineStyleRange.js' { declare module.exports: $Exports<'draft-js/lib/InlineStyleRange'>; } declare module 'draft-js/lib/insertFragmentIntoContentState.js' { declare module.exports: $Exports<'draft-js/lib/insertFragmentIntoContentState'>; } declare module 'draft-js/lib/insertIntoList.js' { declare module.exports: $Exports<'draft-js/lib/insertIntoList'>; } declare module 'draft-js/lib/insertTextIntoContentState.js' { declare module.exports: $Exports<'draft-js/lib/insertTextIntoContentState'>; } declare module 'draft-js/lib/isEventHandled.js' { declare module.exports: $Exports<'draft-js/lib/isEventHandled'>; } declare module 'draft-js/lib/isSelectionAtLeafStart.js' { declare module.exports: $Exports<'draft-js/lib/isSelectionAtLeafStart'>; } declare module 'draft-js/lib/isSoftNewlineEvent.js' { declare module.exports: $Exports<'draft-js/lib/isSoftNewlineEvent'>; } declare module 'draft-js/lib/KeyBindingUtil.js' { declare module.exports: $Exports<'draft-js/lib/KeyBindingUtil'>; } declare module 'draft-js/lib/keyCommandBackspaceToStartOfLine.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandBackspaceToStartOfLine'>; } declare module 'draft-js/lib/keyCommandBackspaceWord.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandBackspaceWord'>; } declare module 'draft-js/lib/keyCommandDeleteWord.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandDeleteWord'>; } declare module 'draft-js/lib/keyCommandInsertNewline.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandInsertNewline'>; } declare module 'draft-js/lib/keyCommandMoveSelectionToEndOfBlock.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandMoveSelectionToEndOfBlock'>; } declare module 'draft-js/lib/keyCommandMoveSelectionToStartOfBlock.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandMoveSelectionToStartOfBlock'>; } declare module 'draft-js/lib/keyCommandPlainBackspace.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandPlainBackspace'>; } declare module 'draft-js/lib/keyCommandPlainDelete.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandPlainDelete'>; } declare module 'draft-js/lib/keyCommandTransposeCharacters.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandTransposeCharacters'>; } declare module 'draft-js/lib/keyCommandUndo.js' { declare module.exports: $Exports<'draft-js/lib/keyCommandUndo'>; } declare module 'draft-js/lib/modifyBlockForContentState.js' { declare module.exports: $Exports<'draft-js/lib/modifyBlockForContentState'>; } declare module 'draft-js/lib/moveBlockInContentState.js' { declare module.exports: $Exports<'draft-js/lib/moveBlockInContentState'>; } declare module 'draft-js/lib/moveSelectionBackward.js' { declare module.exports: $Exports<'draft-js/lib/moveSelectionBackward'>; } declare module 'draft-js/lib/moveSelectionForward.js' { declare module.exports: $Exports<'draft-js/lib/moveSelectionForward'>; } declare module 'draft-js/lib/RawDraftContentBlock.js' { declare module.exports: $Exports<'draft-js/lib/RawDraftContentBlock'>; } declare module 'draft-js/lib/RawDraftContentState.js' { declare module.exports: $Exports<'draft-js/lib/RawDraftContentState'>; } declare module 'draft-js/lib/RawDraftEntity.js' { declare module.exports: $Exports<'draft-js/lib/RawDraftEntity'>; } declare module 'draft-js/lib/removeEntitiesAtEdges.js' { declare module.exports: $Exports<'draft-js/lib/removeEntitiesAtEdges'>; } declare module 'draft-js/lib/removeRangeFromContentState.js' { declare module.exports: $Exports<'draft-js/lib/removeRangeFromContentState'>; } declare module 'draft-js/lib/removeTextWithStrategy.js' { declare module.exports: $Exports<'draft-js/lib/removeTextWithStrategy'>; } declare module 'draft-js/lib/RichTextEditorUtil.js' { declare module.exports: $Exports<'draft-js/lib/RichTextEditorUtil'>; } declare module 'draft-js/lib/SampleDraftInlineStyle.js' { declare module.exports: $Exports<'draft-js/lib/SampleDraftInlineStyle'>; } declare module 'draft-js/lib/sanitizeDraftText.js' { declare module.exports: $Exports<'draft-js/lib/sanitizeDraftText'>; } declare module 'draft-js/lib/SecondaryClipboard.js' { declare module.exports: $Exports<'draft-js/lib/SecondaryClipboard'>; } declare module 'draft-js/lib/SelectionState.js' { declare module.exports: $Exports<'draft-js/lib/SelectionState'>; } declare module 'draft-js/lib/setDraftEditorSelection.js' { declare module.exports: $Exports<'draft-js/lib/setDraftEditorSelection'>; } declare module 'draft-js/lib/splitBlockInContentState.js' { declare module.exports: $Exports<'draft-js/lib/splitBlockInContentState'>; } declare module 'draft-js/lib/splitTextIntoTextBlocks.js' { declare module.exports: $Exports<'draft-js/lib/splitTextIntoTextBlocks'>; } declare module 'draft-js/lib/updateEntityDataInContentState.js' { declare module.exports: $Exports<'draft-js/lib/updateEntityDataInContentState'>; } ================================================ FILE: flow-typed/npm/draftjs-to-markdown_vx.x.x.js ================================================ // flow-typed signature: 80b6c75a3455344e47ed91d5c4a5970c // flow-typed version: <>/draftjs-to-markdown_v^0.4.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'draftjs-to-markdown' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'draftjs-to-markdown' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'draftjs-to-markdown/lib/draftjs-to-markdown' { declare module.exports: any; } // Filename aliases declare module 'draftjs-to-markdown/lib/draftjs-to-markdown.js' { declare module.exports: $Exports<'draftjs-to-markdown/lib/draftjs-to-markdown'>; } ================================================ FILE: flow-typed/npm/electron-context-menu_vx.x.x.js ================================================ // flow-typed signature: fa2daa44307abd285e881b992fa9d76c // flow-typed version: <>/electron-context-menu_v0.9.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'electron-context-menu' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'electron-context-menu' { declare module.exports: any; } ================================================ FILE: flow-typed/npm/electron-is-dev_vx.x.x.js ================================================ // flow-typed signature: 56cb87472f7011e6a22325af9a351724 // flow-typed version: <>/electron-is-dev_v1.0.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'electron-is-dev' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'electron-is-dev' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'electron-is-dev/index' { declare module.exports: $Exports<'electron-is-dev'>; } declare module 'electron-is-dev/index.js' { declare module.exports: $Exports<'electron-is-dev'>; } ================================================ FILE: flow-typed/npm/electron-updater_vx.x.x.js ================================================ // flow-typed signature: be94c12fa70b80b91f6bef7efa92a8fe // flow-typed version: <>/electron-updater_v4.0.5/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'electron-updater' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'electron-updater' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'electron-updater/out/AppAdapter' { declare module.exports: any; } declare module 'electron-updater/out/AppImageUpdater' { declare module.exports: any; } declare module 'electron-updater/out/AppUpdater' { declare module.exports: any; } declare module 'electron-updater/out/BaseUpdater' { declare module.exports: any; } declare module 'electron-updater/out/differentialDownloader/DataSplitter' { declare module.exports: any; } declare module 'electron-updater/out/differentialDownloader/DifferentialDownloader' { declare module.exports: any; } declare module 'electron-updater/out/differentialDownloader/downloadPlanBuilder' { declare module.exports: any; } declare module 'electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader' { declare module.exports: any; } declare module 'electron-updater/out/differentialDownloader/GenericDifferentialDownloader' { declare module.exports: any; } declare module 'electron-updater/out/differentialDownloader/multipleRangeDownloader' { declare module.exports: any; } declare module 'electron-updater/out/DownloadedUpdateHelper' { declare module.exports: any; } declare module 'electron-updater/out/ElectronAppAdapter' { declare module.exports: any; } declare module 'electron-updater/out/electronHttpExecutor' { declare module.exports: any; } declare module 'electron-updater/out/MacUpdater' { declare module.exports: any; } declare module 'electron-updater/out/main' { declare module.exports: any; } declare module 'electron-updater/out/NsisUpdater' { declare module.exports: any; } declare module 'electron-updater/out/providerFactory' { declare module.exports: any; } declare module 'electron-updater/out/providers/BintrayProvider' { declare module.exports: any; } declare module 'electron-updater/out/providers/GenericProvider' { declare module.exports: any; } declare module 'electron-updater/out/providers/GitHubProvider' { declare module.exports: any; } declare module 'electron-updater/out/providers/PrivateGitHubProvider' { declare module.exports: any; } declare module 'electron-updater/out/providers/Provider' { declare module.exports: any; } declare module 'electron-updater/out/windowsExecutableCodeSignatureVerifier' { declare module.exports: any; } // Filename aliases declare module 'electron-updater/out/AppAdapter.js' { declare module.exports: $Exports<'electron-updater/out/AppAdapter'>; } declare module 'electron-updater/out/AppImageUpdater.js' { declare module.exports: $Exports<'electron-updater/out/AppImageUpdater'>; } declare module 'electron-updater/out/AppUpdater.js' { declare module.exports: $Exports<'electron-updater/out/AppUpdater'>; } declare module 'electron-updater/out/BaseUpdater.js' { declare module.exports: $Exports<'electron-updater/out/BaseUpdater'>; } declare module 'electron-updater/out/differentialDownloader/DataSplitter.js' { declare module.exports: $Exports<'electron-updater/out/differentialDownloader/DataSplitter'>; } declare module 'electron-updater/out/differentialDownloader/DifferentialDownloader.js' { declare module.exports: $Exports<'electron-updater/out/differentialDownloader/DifferentialDownloader'>; } declare module 'electron-updater/out/differentialDownloader/downloadPlanBuilder.js' { declare module.exports: $Exports<'electron-updater/out/differentialDownloader/downloadPlanBuilder'>; } declare module 'electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader.js' { declare module.exports: $Exports<'electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader'>; } declare module 'electron-updater/out/differentialDownloader/GenericDifferentialDownloader.js' { declare module.exports: $Exports<'electron-updater/out/differentialDownloader/GenericDifferentialDownloader'>; } declare module 'electron-updater/out/differentialDownloader/multipleRangeDownloader.js' { declare module.exports: $Exports<'electron-updater/out/differentialDownloader/multipleRangeDownloader'>; } declare module 'electron-updater/out/DownloadedUpdateHelper.js' { declare module.exports: $Exports<'electron-updater/out/DownloadedUpdateHelper'>; } declare module 'electron-updater/out/ElectronAppAdapter.js' { declare module.exports: $Exports<'electron-updater/out/ElectronAppAdapter'>; } declare module 'electron-updater/out/electronHttpExecutor.js' { declare module.exports: $Exports<'electron-updater/out/electronHttpExecutor'>; } declare module 'electron-updater/out/MacUpdater.js' { declare module.exports: $Exports<'electron-updater/out/MacUpdater'>; } declare module 'electron-updater/out/main.js' { declare module.exports: $Exports<'electron-updater/out/main'>; } declare module 'electron-updater/out/NsisUpdater.js' { declare module.exports: $Exports<'electron-updater/out/NsisUpdater'>; } declare module 'electron-updater/out/providerFactory.js' { declare module.exports: $Exports<'electron-updater/out/providerFactory'>; } declare module 'electron-updater/out/providers/BintrayProvider.js' { declare module.exports: $Exports<'electron-updater/out/providers/BintrayProvider'>; } declare module 'electron-updater/out/providers/GenericProvider.js' { declare module.exports: $Exports<'electron-updater/out/providers/GenericProvider'>; } declare module 'electron-updater/out/providers/GitHubProvider.js' { declare module.exports: $Exports<'electron-updater/out/providers/GitHubProvider'>; } declare module 'electron-updater/out/providers/PrivateGitHubProvider.js' { declare module.exports: $Exports<'electron-updater/out/providers/PrivateGitHubProvider'>; } declare module 'electron-updater/out/providers/Provider.js' { declare module.exports: $Exports<'electron-updater/out/providers/Provider'>; } declare module 'electron-updater/out/windowsExecutableCodeSignatureVerifier.js' { declare module.exports: $Exports<'electron-updater/out/windowsExecutableCodeSignatureVerifier'>; } ================================================ FILE: flow-typed/npm/electron-window-state_vx.x.x.js ================================================ // flow-typed signature: 77130022186123cfc81d76787330354e // flow-typed version: <>/electron-window-state_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'electron-window-state' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'electron-window-state' { declare module.exports: any; } ================================================ FILE: flow-typed/npm/electron_vx.x.x.js ================================================ // flow-typed signature: 8dd143dc1ccb8d078e45dd9625583512 // flow-typed version: <>/electron_v3.0.10/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'electron' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'electron' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'electron/cli' { declare module.exports: any; } declare module 'electron/install' { declare module.exports: any; } // Filename aliases declare module 'electron/cli.js' { declare module.exports: $Exports<'electron/cli'>; } declare module 'electron/index' { declare module.exports: $Exports<'electron'>; } declare module 'electron/index.js' { declare module.exports: $Exports<'electron'>; } declare module 'electron/install.js' { declare module.exports: $Exports<'electron/install'>; } ================================================ FILE: flow-typed/npm/emoji-regex_vx.x.x.js ================================================ // flow-typed signature: 2146505d7dc1ce34df62b193aa483a99 // flow-typed version: <>/emoji-regex_v^6.1.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'emoji-regex' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'emoji-regex' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'emoji-regex/es2015/index' { declare module.exports: any; } declare module 'emoji-regex/es2015/text' { declare module.exports: any; } declare module 'emoji-regex/text' { declare module.exports: any; } // Filename aliases declare module 'emoji-regex/es2015/index.js' { declare module.exports: $Exports<'emoji-regex/es2015/index'>; } declare module 'emoji-regex/es2015/text.js' { declare module.exports: $Exports<'emoji-regex/es2015/text'>; } declare module 'emoji-regex/index' { declare module.exports: $Exports<'emoji-regex'>; } declare module 'emoji-regex/index.js' { declare module.exports: $Exports<'emoji-regex'>; } declare module 'emoji-regex/text.js' { declare module.exports: $Exports<'emoji-regex/text'>; } ================================================ FILE: flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js ================================================ // flow-typed signature: c3cb37e9b55ed2805f019e8055f34df6 // flow-typed version: <>/eslint-plugin-flowtype_v^2.39.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'eslint-plugin-flowtype' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'eslint-plugin-flowtype' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'eslint-plugin-flowtype/bin/readmeAssertions' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/index' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/defineFlowType' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/requireVariableType' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/semi' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/sortKeys' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/useFlowType' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/rules/validSyntax' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/getParameterName' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/index' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFile' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/quoteName' { declare module.exports: any; } declare module 'eslint-plugin-flowtype/dist/utilities/spacingFixers' { declare module.exports: any; } // Filename aliases declare module 'eslint-plugin-flowtype/bin/readmeAssertions.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/bin/readmeAssertions'>; } declare module 'eslint-plugin-flowtype/dist/index.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/index'>; } declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/booleanStyle'>; } declare module 'eslint-plugin-flowtype/dist/rules/defineFlowType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/defineFlowType'>; } declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/delimiterDangle'>; } declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/genericSpacing'>; } declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noDupeKeys'>; } declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments'>; } declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noMutableArray'>; } declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes'>; } declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation'>; } declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noUnusedExpressions'>; } declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/noWeakTypes'>; } declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter'>; } declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireParameterType'>; } declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireReturnType'>; } declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation'>; } declare module 'eslint-plugin-flowtype/dist/rules/requireVariableType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/requireVariableType'>; } declare module 'eslint-plugin-flowtype/dist/rules/semi.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/semi'>; } declare module 'eslint-plugin-flowtype/dist/rules/sortKeys.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/sortKeys'>; } declare module 'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon'>; } declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket'>; } declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter'>; } declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/typeIdMatch'>; } declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing'>; } declare module 'eslint-plugin-flowtype/dist/rules/useFlowType.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/useFlowType'>; } declare module 'eslint-plugin-flowtype/dist/rules/validSyntax.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/validSyntax'>; } declare module 'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation'>; } declare module 'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch'>; } declare module 'eslint-plugin-flowtype/dist/utilities/getParameterName.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/getParameterName'>; } declare module 'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens'>; } declare module 'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens'>; } declare module 'eslint-plugin-flowtype/dist/utilities/index.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/index'>; } declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFile.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/isFlowFile'>; } declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation'>; } declare module 'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes'>; } declare module 'eslint-plugin-flowtype/dist/utilities/quoteName.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/quoteName'>; } declare module 'eslint-plugin-flowtype/dist/utilities/spacingFixers.js' { declare module.exports: $Exports<'eslint-plugin-flowtype/dist/utilities/spacingFixers'>; } ================================================ FILE: flow-typed/npm/eslint-plugin-jest_vx.x.x.js ================================================ // flow-typed signature: eebb83b37b65acefcb2a1285cdcd8f40 // flow-typed version: <>/eslint-plugin-jest_v^21.6.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'eslint-plugin-jest' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'eslint-plugin-jest' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'eslint-plugin-jest/processors/__tests__/snapshot-processor.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/processors/snapshot-processor' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/no_focused_tests.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/no_identical_title.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/no_large_snapshots.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/no_skipped_tests.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_expect_assertions.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_to_be_null.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_to_be_undefined.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_to_have_length.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/__tests__/valid_expect.test' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/no_disabled_tests' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/no_focused_tests' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/no_identical_title' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/no_large_snapshots' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/prefer_expect_assertions' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/prefer_to_be_null' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/prefer_to_be_undefined' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/prefer_to_have_length' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/util' { declare module.exports: any; } declare module 'eslint-plugin-jest/rules/valid_expect' { declare module.exports: any; } // Filename aliases declare module 'eslint-plugin-jest/index' { declare module.exports: $Exports<'eslint-plugin-jest'>; } declare module 'eslint-plugin-jest/index.js' { declare module.exports: $Exports<'eslint-plugin-jest'>; } declare module 'eslint-plugin-jest/processors/__tests__/snapshot-processor.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/processors/__tests__/snapshot-processor.test'>; } declare module 'eslint-plugin-jest/processors/snapshot-processor.js' { declare module.exports: $Exports<'eslint-plugin-jest/processors/snapshot-processor'>; } declare module 'eslint-plugin-jest/rules/__tests__/no_focused_tests.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/no_focused_tests.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/no_identical_title.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/no_identical_title.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/no_large_snapshots.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/no_large_snapshots.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/no_skipped_tests.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/no_skipped_tests.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_expect_assertions.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/prefer_expect_assertions.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_to_be_null.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/prefer_to_be_null.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_to_be_undefined.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/prefer_to_be_undefined.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/prefer_to_have_length.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/prefer_to_have_length.test'>; } declare module 'eslint-plugin-jest/rules/__tests__/valid_expect.test.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/__tests__/valid_expect.test'>; } declare module 'eslint-plugin-jest/rules/no_disabled_tests.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/no_disabled_tests'>; } declare module 'eslint-plugin-jest/rules/no_focused_tests.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/no_focused_tests'>; } declare module 'eslint-plugin-jest/rules/no_identical_title.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/no_identical_title'>; } declare module 'eslint-plugin-jest/rules/no_large_snapshots.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/no_large_snapshots'>; } declare module 'eslint-plugin-jest/rules/prefer_expect_assertions.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/prefer_expect_assertions'>; } declare module 'eslint-plugin-jest/rules/prefer_to_be_null.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/prefer_to_be_null'>; } declare module 'eslint-plugin-jest/rules/prefer_to_be_undefined.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/prefer_to_be_undefined'>; } declare module 'eslint-plugin-jest/rules/prefer_to_have_length.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/prefer_to_have_length'>; } declare module 'eslint-plugin-jest/rules/util.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/util'>; } declare module 'eslint-plugin-jest/rules/valid_expect.js' { declare module.exports: $Exports<'eslint-plugin-jest/rules/valid_expect'>; } ================================================ FILE: flow-typed/npm/eslint-plugin-promise_vx.x.x.js ================================================ // flow-typed signature: 3dad6a146176994cea77200d1f68399b // flow-typed version: <>/eslint-plugin-promise_v^3.6.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'eslint-plugin-promise' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'eslint-plugin-promise' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'eslint-plugin-promise/rules/always-return' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/avoid-new' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/catch-or-return' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/lib/has-promise-callback' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/lib/is-callback' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/lib/is-inside-callback' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/lib/is-inside-promise' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/lib/is-named-callback' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/lib/is-promise' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/no-callback-in-promise' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/no-native' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/no-nesting' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/no-promise-in-callback' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/no-return-in-finally' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/no-return-wrap' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/param-names' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/prefer-await-to-callbacks' { declare module.exports: any; } declare module 'eslint-plugin-promise/rules/prefer-await-to-then' { declare module.exports: any; } // Filename aliases declare module 'eslint-plugin-promise/index' { declare module.exports: $Exports<'eslint-plugin-promise'>; } declare module 'eslint-plugin-promise/index.js' { declare module.exports: $Exports<'eslint-plugin-promise'>; } declare module 'eslint-plugin-promise/rules/always-return.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/always-return'>; } declare module 'eslint-plugin-promise/rules/avoid-new.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/avoid-new'>; } declare module 'eslint-plugin-promise/rules/catch-or-return.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/catch-or-return'>; } declare module 'eslint-plugin-promise/rules/lib/has-promise-callback.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/lib/has-promise-callback'>; } declare module 'eslint-plugin-promise/rules/lib/is-callback.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/lib/is-callback'>; } declare module 'eslint-plugin-promise/rules/lib/is-inside-callback.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/lib/is-inside-callback'>; } declare module 'eslint-plugin-promise/rules/lib/is-inside-promise.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/lib/is-inside-promise'>; } declare module 'eslint-plugin-promise/rules/lib/is-named-callback.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/lib/is-named-callback'>; } declare module 'eslint-plugin-promise/rules/lib/is-promise.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/lib/is-promise'>; } declare module 'eslint-plugin-promise/rules/no-callback-in-promise.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/no-callback-in-promise'>; } declare module 'eslint-plugin-promise/rules/no-native.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/no-native'>; } declare module 'eslint-plugin-promise/rules/no-nesting.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/no-nesting'>; } declare module 'eslint-plugin-promise/rules/no-promise-in-callback.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/no-promise-in-callback'>; } declare module 'eslint-plugin-promise/rules/no-return-in-finally.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/no-return-in-finally'>; } declare module 'eslint-plugin-promise/rules/no-return-wrap.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/no-return-wrap'>; } declare module 'eslint-plugin-promise/rules/param-names.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/param-names'>; } declare module 'eslint-plugin-promise/rules/prefer-await-to-callbacks.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/prefer-await-to-callbacks'>; } declare module 'eslint-plugin-promise/rules/prefer-await-to-then.js' { declare module.exports: $Exports<'eslint-plugin-promise/rules/prefer-await-to-then'>; } ================================================ FILE: flow-typed/npm/eslint-plugin-react_vx.x.x.js ================================================ // flow-typed signature: 3ccbf28017415bcdadf41280ba832f48 // flow-typed version: <>/eslint-plugin-react_v^7.4.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'eslint-plugin-react' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'eslint-plugin-react' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/button-has-type' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/destructuring-assignment' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/display-name' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/forbid-component-props' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/forbid-elements' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/forbid-foreign-prop-types' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/forbid-prop-types' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-equals-spacing' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-filename-extension' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-first-prop-new-line' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-handler-names' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-indent-props' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-indent' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-key' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-no-bind' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-no-duplicate-props' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-no-literals' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-no-undef' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-sort-props' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-space-before-closing' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-tag-spacing' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-uses-react' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-array-index-key' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-children-prop' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-danger-with-children' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-danger' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-deprecated' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-did-mount-set-state' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-did-update-set-state' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-direct-mutation-state' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-find-dom-node' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-is-mounted' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-multi-comp' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-redundant-should-component-update' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-render-return-value' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-set-state' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-string-refs' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-typos' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-unknown-property' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-unused-state' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/prefer-es6-class' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/prefer-stateless-function' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/prop-types' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/react-in-jsx-scope' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/require-default-props' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/require-optimization' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/require-render-return' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/self-closing-comp' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/sort-comp' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/sort-prop-types' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/style-prop-object' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/annotations' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/ast' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/Components' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/pragma' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/props' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/variable' { declare module.exports: any; } declare module 'eslint-plugin-react/lib/util/version' { declare module.exports: any; } // Filename aliases declare module 'eslint-plugin-react/index' { declare module.exports: $Exports<'eslint-plugin-react'>; } declare module 'eslint-plugin-react/index.js' { declare module.exports: $Exports<'eslint-plugin-react'>; } declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/boolean-prop-naming'>; } declare module 'eslint-plugin-react/lib/rules/button-has-type.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/button-has-type'>; } declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/default-props-match-prop-types'>; } declare module 'eslint-plugin-react/lib/rules/destructuring-assignment.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/destructuring-assignment'>; } declare module 'eslint-plugin-react/lib/rules/display-name.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/display-name'>; } declare module 'eslint-plugin-react/lib/rules/forbid-component-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-component-props'>; } declare module 'eslint-plugin-react/lib/rules/forbid-elements.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-elements'>; } declare module 'eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-foreign-prop-types'>; } declare module 'eslint-plugin-react/lib/rules/forbid-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-prop-types'>; } declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-boolean-value'>; } declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-bracket-location'>; } declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-tag-location'>; } declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-brace-presence'>; } declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-spacing'>; } declare module 'eslint-plugin-react/lib/rules/jsx-equals-spacing.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-equals-spacing'>; } declare module 'eslint-plugin-react/lib/rules/jsx-filename-extension.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-filename-extension'>; } declare module 'eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-first-prop-new-line'>; } declare module 'eslint-plugin-react/lib/rules/jsx-handler-names.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-handler-names'>; } declare module 'eslint-plugin-react/lib/rules/jsx-indent-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-indent-props'>; } declare module 'eslint-plugin-react/lib/rules/jsx-indent.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-indent'>; } declare module 'eslint-plugin-react/lib/rules/jsx-key.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-key'>; } declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-max-props-per-line'>; } declare module 'eslint-plugin-react/lib/rules/jsx-no-bind.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-bind'>; } declare module 'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes'>; } declare module 'eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-duplicate-props'>; } declare module 'eslint-plugin-react/lib/rules/jsx-no-literals.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-literals'>; } declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-target-blank'>; } declare module 'eslint-plugin-react/lib/rules/jsx-no-undef.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-undef'>; } declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-one-expression-per-line'>; } declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-pascal-case'>; } declare module 'eslint-plugin-react/lib/rules/jsx-sort-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-sort-props'>; } declare module 'eslint-plugin-react/lib/rules/jsx-space-before-closing.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-space-before-closing'>; } declare module 'eslint-plugin-react/lib/rules/jsx-tag-spacing.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-tag-spacing'>; } declare module 'eslint-plugin-react/lib/rules/jsx-uses-react.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-uses-react'>; } declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-uses-vars'>; } declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-wrap-multilines'>; } declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-access-state-in-setstate'>; } declare module 'eslint-plugin-react/lib/rules/no-array-index-key.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-array-index-key'>; } declare module 'eslint-plugin-react/lib/rules/no-children-prop.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-children-prop'>; } declare module 'eslint-plugin-react/lib/rules/no-danger-with-children.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-danger-with-children'>; } declare module 'eslint-plugin-react/lib/rules/no-danger.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-danger'>; } declare module 'eslint-plugin-react/lib/rules/no-deprecated.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-deprecated'>; } declare module 'eslint-plugin-react/lib/rules/no-did-mount-set-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-did-mount-set-state'>; } declare module 'eslint-plugin-react/lib/rules/no-did-update-set-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-did-update-set-state'>; } declare module 'eslint-plugin-react/lib/rules/no-direct-mutation-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-direct-mutation-state'>; } declare module 'eslint-plugin-react/lib/rules/no-find-dom-node.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-find-dom-node'>; } declare module 'eslint-plugin-react/lib/rules/no-is-mounted.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-is-mounted'>; } declare module 'eslint-plugin-react/lib/rules/no-multi-comp.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-multi-comp'>; } declare module 'eslint-plugin-react/lib/rules/no-redundant-should-component-update.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-redundant-should-component-update'>; } declare module 'eslint-plugin-react/lib/rules/no-render-return-value.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-render-return-value'>; } declare module 'eslint-plugin-react/lib/rules/no-set-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-set-state'>; } declare module 'eslint-plugin-react/lib/rules/no-string-refs.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-string-refs'>; } declare module 'eslint-plugin-react/lib/rules/no-typos.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-typos'>; } declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unescaped-entities'>; } declare module 'eslint-plugin-react/lib/rules/no-unknown-property.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unknown-property'>; } declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-prop-types'>; } declare module 'eslint-plugin-react/lib/rules/no-unused-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-state'>; } declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-will-update-set-state'>; } declare module 'eslint-plugin-react/lib/rules/prefer-es6-class.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prefer-es6-class'>; } declare module 'eslint-plugin-react/lib/rules/prefer-stateless-function.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prefer-stateless-function'>; } declare module 'eslint-plugin-react/lib/rules/prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prop-types'>; } declare module 'eslint-plugin-react/lib/rules/react-in-jsx-scope.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/react-in-jsx-scope'>; } declare module 'eslint-plugin-react/lib/rules/require-default-props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-default-props'>; } declare module 'eslint-plugin-react/lib/rules/require-optimization.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-optimization'>; } declare module 'eslint-plugin-react/lib/rules/require-render-return.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-render-return'>; } declare module 'eslint-plugin-react/lib/rules/self-closing-comp.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/self-closing-comp'>; } declare module 'eslint-plugin-react/lib/rules/sort-comp.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/sort-comp'>; } declare module 'eslint-plugin-react/lib/rules/sort-prop-types.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/sort-prop-types'>; } declare module 'eslint-plugin-react/lib/rules/style-prop-object.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/style-prop-object'>; } declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/rules/void-dom-elements-no-children'>; } declare module 'eslint-plugin-react/lib/util/annotations.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/annotations'>; } declare module 'eslint-plugin-react/lib/util/ast.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/ast'>; } declare module 'eslint-plugin-react/lib/util/Components.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/Components'>; } declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket'>; } declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/makeNoMethodSetStateRule'>; } declare module 'eslint-plugin-react/lib/util/pragma.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/pragma'>; } declare module 'eslint-plugin-react/lib/util/props.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/props'>; } declare module 'eslint-plugin-react/lib/util/variable.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/variable'>; } declare module 'eslint-plugin-react/lib/util/version.js' { declare module.exports: $Exports<'eslint-plugin-react/lib/util/version'>; } ================================================ FILE: flow-typed/npm/eslint_vx.x.x.js ================================================ // flow-typed signature: 06fb0448e5d92893c2832e03e36de63d // flow-typed version: <>/eslint_v^4.15.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'eslint' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'eslint' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'eslint/bin/eslint' { declare module.exports: any; } declare module 'eslint/conf/config-schema' { declare module.exports: any; } declare module 'eslint/conf/default-cli-options' { declare module.exports: any; } declare module 'eslint/conf/default-config-options' { declare module.exports: any; } declare module 'eslint/conf/environments' { declare module.exports: any; } declare module 'eslint/conf/eslint-all' { declare module.exports: any; } declare module 'eslint/conf/eslint-recommended' { declare module.exports: any; } declare module 'eslint/lib/api' { declare module.exports: any; } declare module 'eslint/lib/ast-utils' { declare module.exports: any; } declare module 'eslint/lib/cli-engine' { declare module.exports: any; } declare module 'eslint/lib/cli' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/code-path-analyzer' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/code-path-segment' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/code-path-state' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/code-path' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/debug-helpers' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/fork-context' { declare module.exports: any; } declare module 'eslint/lib/code-path-analysis/id-generator' { declare module.exports: any; } declare module 'eslint/lib/config' { declare module.exports: any; } declare module 'eslint/lib/config/autoconfig' { declare module.exports: any; } declare module 'eslint/lib/config/config-cache' { declare module.exports: any; } declare module 'eslint/lib/config/config-file' { declare module.exports: any; } declare module 'eslint/lib/config/config-initializer' { declare module.exports: any; } declare module 'eslint/lib/config/config-ops' { declare module.exports: any; } declare module 'eslint/lib/config/config-rule' { declare module.exports: any; } declare module 'eslint/lib/config/config-validator' { declare module.exports: any; } declare module 'eslint/lib/config/environments' { declare module.exports: any; } declare module 'eslint/lib/config/plugins' { declare module.exports: any; } declare module 'eslint/lib/file-finder' { declare module.exports: any; } declare module 'eslint/lib/formatters/checkstyle' { declare module.exports: any; } declare module 'eslint/lib/formatters/codeframe' { declare module.exports: any; } declare module 'eslint/lib/formatters/compact' { declare module.exports: any; } declare module 'eslint/lib/formatters/html' { declare module.exports: any; } declare module 'eslint/lib/formatters/jslint-xml' { declare module.exports: any; } declare module 'eslint/lib/formatters/json' { declare module.exports: any; } declare module 'eslint/lib/formatters/junit' { declare module.exports: any; } declare module 'eslint/lib/formatters/stylish' { declare module.exports: any; } declare module 'eslint/lib/formatters/table' { declare module.exports: any; } declare module 'eslint/lib/formatters/tap' { declare module.exports: any; } declare module 'eslint/lib/formatters/unix' { declare module.exports: any; } declare module 'eslint/lib/formatters/visualstudio' { declare module.exports: any; } declare module 'eslint/lib/ignored-paths' { declare module.exports: any; } declare module 'eslint/lib/linter' { declare module.exports: any; } declare module 'eslint/lib/load-rules' { declare module.exports: any; } declare module 'eslint/lib/logging' { declare module.exports: any; } declare module 'eslint/lib/options' { declare module.exports: any; } declare module 'eslint/lib/report-translator' { declare module.exports: any; } declare module 'eslint/lib/rules' { declare module.exports: any; } declare module 'eslint/lib/rules/accessor-pairs' { declare module.exports: any; } declare module 'eslint/lib/rules/array-bracket-newline' { declare module.exports: any; } declare module 'eslint/lib/rules/array-bracket-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/array-callback-return' { declare module.exports: any; } declare module 'eslint/lib/rules/array-element-newline' { declare module.exports: any; } declare module 'eslint/lib/rules/arrow-body-style' { declare module.exports: any; } declare module 'eslint/lib/rules/arrow-parens' { declare module.exports: any; } declare module 'eslint/lib/rules/arrow-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/block-scoped-var' { declare module.exports: any; } declare module 'eslint/lib/rules/block-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/brace-style' { declare module.exports: any; } declare module 'eslint/lib/rules/callback-return' { declare module.exports: any; } declare module 'eslint/lib/rules/camelcase' { declare module.exports: any; } declare module 'eslint/lib/rules/capitalized-comments' { declare module.exports: any; } declare module 'eslint/lib/rules/class-methods-use-this' { declare module.exports: any; } declare module 'eslint/lib/rules/comma-dangle' { declare module.exports: any; } declare module 'eslint/lib/rules/comma-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/comma-style' { declare module.exports: any; } declare module 'eslint/lib/rules/complexity' { declare module.exports: any; } declare module 'eslint/lib/rules/computed-property-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/consistent-return' { declare module.exports: any; } declare module 'eslint/lib/rules/consistent-this' { declare module.exports: any; } declare module 'eslint/lib/rules/constructor-super' { declare module.exports: any; } declare module 'eslint/lib/rules/curly' { declare module.exports: any; } declare module 'eslint/lib/rules/default-case' { declare module.exports: any; } declare module 'eslint/lib/rules/dot-location' { declare module.exports: any; } declare module 'eslint/lib/rules/dot-notation' { declare module.exports: any; } declare module 'eslint/lib/rules/eol-last' { declare module.exports: any; } declare module 'eslint/lib/rules/eqeqeq' { declare module.exports: any; } declare module 'eslint/lib/rules/for-direction' { declare module.exports: any; } declare module 'eslint/lib/rules/func-call-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/func-name-matching' { declare module.exports: any; } declare module 'eslint/lib/rules/func-names' { declare module.exports: any; } declare module 'eslint/lib/rules/func-style' { declare module.exports: any; } declare module 'eslint/lib/rules/function-paren-newline' { declare module.exports: any; } declare module 'eslint/lib/rules/generator-star-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/getter-return' { declare module.exports: any; } declare module 'eslint/lib/rules/global-require' { declare module.exports: any; } declare module 'eslint/lib/rules/guard-for-in' { declare module.exports: any; } declare module 'eslint/lib/rules/handle-callback-err' { declare module.exports: any; } declare module 'eslint/lib/rules/id-blacklist' { declare module.exports: any; } declare module 'eslint/lib/rules/id-length' { declare module.exports: any; } declare module 'eslint/lib/rules/id-match' { declare module.exports: any; } declare module 'eslint/lib/rules/implicit-arrow-linebreak' { declare module.exports: any; } declare module 'eslint/lib/rules/indent-legacy' { declare module.exports: any; } declare module 'eslint/lib/rules/indent' { declare module.exports: any; } declare module 'eslint/lib/rules/init-declarations' { declare module.exports: any; } declare module 'eslint/lib/rules/jsx-quotes' { declare module.exports: any; } declare module 'eslint/lib/rules/key-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/keyword-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/line-comment-position' { declare module.exports: any; } declare module 'eslint/lib/rules/linebreak-style' { declare module.exports: any; } declare module 'eslint/lib/rules/lines-around-comment' { declare module.exports: any; } declare module 'eslint/lib/rules/lines-around-directive' { declare module.exports: any; } declare module 'eslint/lib/rules/lines-between-class-members' { declare module.exports: any; } declare module 'eslint/lib/rules/max-depth' { declare module.exports: any; } declare module 'eslint/lib/rules/max-len' { declare module.exports: any; } declare module 'eslint/lib/rules/max-lines' { declare module.exports: any; } declare module 'eslint/lib/rules/max-nested-callbacks' { declare module.exports: any; } declare module 'eslint/lib/rules/max-params' { declare module.exports: any; } declare module 'eslint/lib/rules/max-statements-per-line' { declare module.exports: any; } declare module 'eslint/lib/rules/max-statements' { declare module.exports: any; } declare module 'eslint/lib/rules/multiline-comment-style' { declare module.exports: any; } declare module 'eslint/lib/rules/multiline-ternary' { declare module.exports: any; } declare module 'eslint/lib/rules/new-cap' { declare module.exports: any; } declare module 'eslint/lib/rules/new-parens' { declare module.exports: any; } declare module 'eslint/lib/rules/newline-after-var' { declare module.exports: any; } declare module 'eslint/lib/rules/newline-before-return' { declare module.exports: any; } declare module 'eslint/lib/rules/newline-per-chained-call' { declare module.exports: any; } declare module 'eslint/lib/rules/no-alert' { declare module.exports: any; } declare module 'eslint/lib/rules/no-array-constructor' { declare module.exports: any; } declare module 'eslint/lib/rules/no-await-in-loop' { declare module.exports: any; } declare module 'eslint/lib/rules/no-bitwise' { declare module.exports: any; } declare module 'eslint/lib/rules/no-buffer-constructor' { declare module.exports: any; } declare module 'eslint/lib/rules/no-caller' { declare module.exports: any; } declare module 'eslint/lib/rules/no-case-declarations' { declare module.exports: any; } declare module 'eslint/lib/rules/no-catch-shadow' { declare module.exports: any; } declare module 'eslint/lib/rules/no-class-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-compare-neg-zero' { declare module.exports: any; } declare module 'eslint/lib/rules/no-cond-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-confusing-arrow' { declare module.exports: any; } declare module 'eslint/lib/rules/no-console' { declare module.exports: any; } declare module 'eslint/lib/rules/no-const-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-constant-condition' { declare module.exports: any; } declare module 'eslint/lib/rules/no-continue' { declare module.exports: any; } declare module 'eslint/lib/rules/no-control-regex' { declare module.exports: any; } declare module 'eslint/lib/rules/no-debugger' { declare module.exports: any; } declare module 'eslint/lib/rules/no-delete-var' { declare module.exports: any; } declare module 'eslint/lib/rules/no-div-regex' { declare module.exports: any; } declare module 'eslint/lib/rules/no-dupe-args' { declare module.exports: any; } declare module 'eslint/lib/rules/no-dupe-class-members' { declare module.exports: any; } declare module 'eslint/lib/rules/no-dupe-keys' { declare module.exports: any; } declare module 'eslint/lib/rules/no-duplicate-case' { declare module.exports: any; } declare module 'eslint/lib/rules/no-duplicate-imports' { declare module.exports: any; } declare module 'eslint/lib/rules/no-else-return' { declare module.exports: any; } declare module 'eslint/lib/rules/no-empty-character-class' { declare module.exports: any; } declare module 'eslint/lib/rules/no-empty-function' { declare module.exports: any; } declare module 'eslint/lib/rules/no-empty-pattern' { declare module.exports: any; } declare module 'eslint/lib/rules/no-empty' { declare module.exports: any; } declare module 'eslint/lib/rules/no-eq-null' { declare module.exports: any; } declare module 'eslint/lib/rules/no-eval' { declare module.exports: any; } declare module 'eslint/lib/rules/no-ex-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-extend-native' { declare module.exports: any; } declare module 'eslint/lib/rules/no-extra-bind' { declare module.exports: any; } declare module 'eslint/lib/rules/no-extra-boolean-cast' { declare module.exports: any; } declare module 'eslint/lib/rules/no-extra-label' { declare module.exports: any; } declare module 'eslint/lib/rules/no-extra-parens' { declare module.exports: any; } declare module 'eslint/lib/rules/no-extra-semi' { declare module.exports: any; } declare module 'eslint/lib/rules/no-fallthrough' { declare module.exports: any; } declare module 'eslint/lib/rules/no-floating-decimal' { declare module.exports: any; } declare module 'eslint/lib/rules/no-func-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-global-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-implicit-coercion' { declare module.exports: any; } declare module 'eslint/lib/rules/no-implicit-globals' { declare module.exports: any; } declare module 'eslint/lib/rules/no-implied-eval' { declare module.exports: any; } declare module 'eslint/lib/rules/no-inline-comments' { declare module.exports: any; } declare module 'eslint/lib/rules/no-inner-declarations' { declare module.exports: any; } declare module 'eslint/lib/rules/no-invalid-regexp' { declare module.exports: any; } declare module 'eslint/lib/rules/no-invalid-this' { declare module.exports: any; } declare module 'eslint/lib/rules/no-irregular-whitespace' { declare module.exports: any; } declare module 'eslint/lib/rules/no-iterator' { declare module.exports: any; } declare module 'eslint/lib/rules/no-label-var' { declare module.exports: any; } declare module 'eslint/lib/rules/no-labels' { declare module.exports: any; } declare module 'eslint/lib/rules/no-lone-blocks' { declare module.exports: any; } declare module 'eslint/lib/rules/no-lonely-if' { declare module.exports: any; } declare module 'eslint/lib/rules/no-loop-func' { declare module.exports: any; } declare module 'eslint/lib/rules/no-magic-numbers' { declare module.exports: any; } declare module 'eslint/lib/rules/no-mixed-operators' { declare module.exports: any; } declare module 'eslint/lib/rules/no-mixed-requires' { declare module.exports: any; } declare module 'eslint/lib/rules/no-mixed-spaces-and-tabs' { declare module.exports: any; } declare module 'eslint/lib/rules/no-multi-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-multi-spaces' { declare module.exports: any; } declare module 'eslint/lib/rules/no-multi-str' { declare module.exports: any; } declare module 'eslint/lib/rules/no-multiple-empty-lines' { declare module.exports: any; } declare module 'eslint/lib/rules/no-native-reassign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-negated-condition' { declare module.exports: any; } declare module 'eslint/lib/rules/no-negated-in-lhs' { declare module.exports: any; } declare module 'eslint/lib/rules/no-nested-ternary' { declare module.exports: any; } declare module 'eslint/lib/rules/no-new-func' { declare module.exports: any; } declare module 'eslint/lib/rules/no-new-object' { declare module.exports: any; } declare module 'eslint/lib/rules/no-new-require' { declare module.exports: any; } declare module 'eslint/lib/rules/no-new-symbol' { declare module.exports: any; } declare module 'eslint/lib/rules/no-new-wrappers' { declare module.exports: any; } declare module 'eslint/lib/rules/no-new' { declare module.exports: any; } declare module 'eslint/lib/rules/no-obj-calls' { declare module.exports: any; } declare module 'eslint/lib/rules/no-octal-escape' { declare module.exports: any; } declare module 'eslint/lib/rules/no-octal' { declare module.exports: any; } declare module 'eslint/lib/rules/no-param-reassign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-path-concat' { declare module.exports: any; } declare module 'eslint/lib/rules/no-plusplus' { declare module.exports: any; } declare module 'eslint/lib/rules/no-process-env' { declare module.exports: any; } declare module 'eslint/lib/rules/no-process-exit' { declare module.exports: any; } declare module 'eslint/lib/rules/no-proto' { declare module.exports: any; } declare module 'eslint/lib/rules/no-prototype-builtins' { declare module.exports: any; } declare module 'eslint/lib/rules/no-redeclare' { declare module.exports: any; } declare module 'eslint/lib/rules/no-regex-spaces' { declare module.exports: any; } declare module 'eslint/lib/rules/no-restricted-globals' { declare module.exports: any; } declare module 'eslint/lib/rules/no-restricted-imports' { declare module.exports: any; } declare module 'eslint/lib/rules/no-restricted-modules' { declare module.exports: any; } declare module 'eslint/lib/rules/no-restricted-properties' { declare module.exports: any; } declare module 'eslint/lib/rules/no-restricted-syntax' { declare module.exports: any; } declare module 'eslint/lib/rules/no-return-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-return-await' { declare module.exports: any; } declare module 'eslint/lib/rules/no-script-url' { declare module.exports: any; } declare module 'eslint/lib/rules/no-self-assign' { declare module.exports: any; } declare module 'eslint/lib/rules/no-self-compare' { declare module.exports: any; } declare module 'eslint/lib/rules/no-sequences' { declare module.exports: any; } declare module 'eslint/lib/rules/no-shadow-restricted-names' { declare module.exports: any; } declare module 'eslint/lib/rules/no-shadow' { declare module.exports: any; } declare module 'eslint/lib/rules/no-spaced-func' { declare module.exports: any; } declare module 'eslint/lib/rules/no-sparse-arrays' { declare module.exports: any; } declare module 'eslint/lib/rules/no-sync' { declare module.exports: any; } declare module 'eslint/lib/rules/no-tabs' { declare module.exports: any; } declare module 'eslint/lib/rules/no-template-curly-in-string' { declare module.exports: any; } declare module 'eslint/lib/rules/no-ternary' { declare module.exports: any; } declare module 'eslint/lib/rules/no-this-before-super' { declare module.exports: any; } declare module 'eslint/lib/rules/no-throw-literal' { declare module.exports: any; } declare module 'eslint/lib/rules/no-trailing-spaces' { declare module.exports: any; } declare module 'eslint/lib/rules/no-undef-init' { declare module.exports: any; } declare module 'eslint/lib/rules/no-undef' { declare module.exports: any; } declare module 'eslint/lib/rules/no-undefined' { declare module.exports: any; } declare module 'eslint/lib/rules/no-underscore-dangle' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unexpected-multiline' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unmodified-loop-condition' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unneeded-ternary' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unreachable' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unsafe-finally' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unsafe-negation' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unused-expressions' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unused-labels' { declare module.exports: any; } declare module 'eslint/lib/rules/no-unused-vars' { declare module.exports: any; } declare module 'eslint/lib/rules/no-use-before-define' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-call' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-computed-key' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-concat' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-constructor' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-escape' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-rename' { declare module.exports: any; } declare module 'eslint/lib/rules/no-useless-return' { declare module.exports: any; } declare module 'eslint/lib/rules/no-var' { declare module.exports: any; } declare module 'eslint/lib/rules/no-void' { declare module.exports: any; } declare module 'eslint/lib/rules/no-warning-comments' { declare module.exports: any; } declare module 'eslint/lib/rules/no-whitespace-before-property' { declare module.exports: any; } declare module 'eslint/lib/rules/no-with' { declare module.exports: any; } declare module 'eslint/lib/rules/nonblock-statement-body-position' { declare module.exports: any; } declare module 'eslint/lib/rules/object-curly-newline' { declare module.exports: any; } declare module 'eslint/lib/rules/object-curly-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/object-property-newline' { declare module.exports: any; } declare module 'eslint/lib/rules/object-shorthand' { declare module.exports: any; } declare module 'eslint/lib/rules/one-var-declaration-per-line' { declare module.exports: any; } declare module 'eslint/lib/rules/one-var' { declare module.exports: any; } declare module 'eslint/lib/rules/operator-assignment' { declare module.exports: any; } declare module 'eslint/lib/rules/operator-linebreak' { declare module.exports: any; } declare module 'eslint/lib/rules/padded-blocks' { declare module.exports: any; } declare module 'eslint/lib/rules/padding-line-between-statements' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-arrow-callback' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-const' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-destructuring' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-numeric-literals' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-promise-reject-errors' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-reflect' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-rest-params' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-spread' { declare module.exports: any; } declare module 'eslint/lib/rules/prefer-template' { declare module.exports: any; } declare module 'eslint/lib/rules/quote-props' { declare module.exports: any; } declare module 'eslint/lib/rules/quotes' { declare module.exports: any; } declare module 'eslint/lib/rules/radix' { declare module.exports: any; } declare module 'eslint/lib/rules/require-await' { declare module.exports: any; } declare module 'eslint/lib/rules/require-jsdoc' { declare module.exports: any; } declare module 'eslint/lib/rules/require-yield' { declare module.exports: any; } declare module 'eslint/lib/rules/rest-spread-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/semi-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/semi-style' { declare module.exports: any; } declare module 'eslint/lib/rules/semi' { declare module.exports: any; } declare module 'eslint/lib/rules/sort-imports' { declare module.exports: any; } declare module 'eslint/lib/rules/sort-keys' { declare module.exports: any; } declare module 'eslint/lib/rules/sort-vars' { declare module.exports: any; } declare module 'eslint/lib/rules/space-before-blocks' { declare module.exports: any; } declare module 'eslint/lib/rules/space-before-function-paren' { declare module.exports: any; } declare module 'eslint/lib/rules/space-in-parens' { declare module.exports: any; } declare module 'eslint/lib/rules/space-infix-ops' { declare module.exports: any; } declare module 'eslint/lib/rules/space-unary-ops' { declare module.exports: any; } declare module 'eslint/lib/rules/spaced-comment' { declare module.exports: any; } declare module 'eslint/lib/rules/strict' { declare module.exports: any; } declare module 'eslint/lib/rules/switch-colon-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/symbol-description' { declare module.exports: any; } declare module 'eslint/lib/rules/template-curly-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/template-tag-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/unicode-bom' { declare module.exports: any; } declare module 'eslint/lib/rules/use-isnan' { declare module.exports: any; } declare module 'eslint/lib/rules/valid-jsdoc' { declare module.exports: any; } declare module 'eslint/lib/rules/valid-typeof' { declare module.exports: any; } declare module 'eslint/lib/rules/vars-on-top' { declare module.exports: any; } declare module 'eslint/lib/rules/wrap-iife' { declare module.exports: any; } declare module 'eslint/lib/rules/wrap-regex' { declare module.exports: any; } declare module 'eslint/lib/rules/yield-star-spacing' { declare module.exports: any; } declare module 'eslint/lib/rules/yoda' { declare module.exports: any; } declare module 'eslint/lib/testers/rule-tester' { declare module.exports: any; } declare module 'eslint/lib/timing' { declare module.exports: any; } declare module 'eslint/lib/token-store/backward-token-comment-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/backward-token-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/cursors' { declare module.exports: any; } declare module 'eslint/lib/token-store/decorative-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/filter-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/forward-token-comment-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/forward-token-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/index' { declare module.exports: any; } declare module 'eslint/lib/token-store/limit-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/padded-token-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/skip-cursor' { declare module.exports: any; } declare module 'eslint/lib/token-store/utils' { declare module.exports: any; } declare module 'eslint/lib/util/ajv' { declare module.exports: any; } declare module 'eslint/lib/util/apply-disable-directives' { declare module.exports: any; } declare module 'eslint/lib/util/fix-tracker' { declare module.exports: any; } declare module 'eslint/lib/util/glob-util' { declare module.exports: any; } declare module 'eslint/lib/util/glob' { declare module.exports: any; } declare module 'eslint/lib/util/hash' { declare module.exports: any; } declare module 'eslint/lib/util/interpolate' { declare module.exports: any; } declare module 'eslint/lib/util/keywords' { declare module.exports: any; } declare module 'eslint/lib/util/module-resolver' { declare module.exports: any; } declare module 'eslint/lib/util/naming' { declare module.exports: any; } declare module 'eslint/lib/util/node-event-generator' { declare module.exports: any; } declare module 'eslint/lib/util/npm-util' { declare module.exports: any; } declare module 'eslint/lib/util/path-util' { declare module.exports: any; } declare module 'eslint/lib/util/patterns/letters' { declare module.exports: any; } declare module 'eslint/lib/util/rule-fixer' { declare module.exports: any; } declare module 'eslint/lib/util/safe-emitter' { declare module.exports: any; } declare module 'eslint/lib/util/source-code-fixer' { declare module.exports: any; } declare module 'eslint/lib/util/source-code-util' { declare module.exports: any; } declare module 'eslint/lib/util/source-code' { declare module.exports: any; } declare module 'eslint/lib/util/traverser' { declare module.exports: any; } declare module 'eslint/lib/util/xml-escape' { declare module.exports: any; } // Filename aliases declare module 'eslint/bin/eslint.js' { declare module.exports: $Exports<'eslint/bin/eslint'>; } declare module 'eslint/conf/config-schema.js' { declare module.exports: $Exports<'eslint/conf/config-schema'>; } declare module 'eslint/conf/default-cli-options.js' { declare module.exports: $Exports<'eslint/conf/default-cli-options'>; } declare module 'eslint/conf/default-config-options.js' { declare module.exports: $Exports<'eslint/conf/default-config-options'>; } declare module 'eslint/conf/environments.js' { declare module.exports: $Exports<'eslint/conf/environments'>; } declare module 'eslint/conf/eslint-all.js' { declare module.exports: $Exports<'eslint/conf/eslint-all'>; } declare module 'eslint/conf/eslint-recommended.js' { declare module.exports: $Exports<'eslint/conf/eslint-recommended'>; } declare module 'eslint/lib/api.js' { declare module.exports: $Exports<'eslint/lib/api'>; } declare module 'eslint/lib/ast-utils.js' { declare module.exports: $Exports<'eslint/lib/ast-utils'>; } declare module 'eslint/lib/cli-engine.js' { declare module.exports: $Exports<'eslint/lib/cli-engine'>; } declare module 'eslint/lib/cli.js' { declare module.exports: $Exports<'eslint/lib/cli'>; } declare module 'eslint/lib/code-path-analysis/code-path-analyzer.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path-analyzer'>; } declare module 'eslint/lib/code-path-analysis/code-path-segment.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path-segment'>; } declare module 'eslint/lib/code-path-analysis/code-path-state.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path-state'>; } declare module 'eslint/lib/code-path-analysis/code-path.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/code-path'>; } declare module 'eslint/lib/code-path-analysis/debug-helpers.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/debug-helpers'>; } declare module 'eslint/lib/code-path-analysis/fork-context.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/fork-context'>; } declare module 'eslint/lib/code-path-analysis/id-generator.js' { declare module.exports: $Exports<'eslint/lib/code-path-analysis/id-generator'>; } declare module 'eslint/lib/config.js' { declare module.exports: $Exports<'eslint/lib/config'>; } declare module 'eslint/lib/config/autoconfig.js' { declare module.exports: $Exports<'eslint/lib/config/autoconfig'>; } declare module 'eslint/lib/config/config-cache.js' { declare module.exports: $Exports<'eslint/lib/config/config-cache'>; } declare module 'eslint/lib/config/config-file.js' { declare module.exports: $Exports<'eslint/lib/config/config-file'>; } declare module 'eslint/lib/config/config-initializer.js' { declare module.exports: $Exports<'eslint/lib/config/config-initializer'>; } declare module 'eslint/lib/config/config-ops.js' { declare module.exports: $Exports<'eslint/lib/config/config-ops'>; } declare module 'eslint/lib/config/config-rule.js' { declare module.exports: $Exports<'eslint/lib/config/config-rule'>; } declare module 'eslint/lib/config/config-validator.js' { declare module.exports: $Exports<'eslint/lib/config/config-validator'>; } declare module 'eslint/lib/config/environments.js' { declare module.exports: $Exports<'eslint/lib/config/environments'>; } declare module 'eslint/lib/config/plugins.js' { declare module.exports: $Exports<'eslint/lib/config/plugins'>; } declare module 'eslint/lib/file-finder.js' { declare module.exports: $Exports<'eslint/lib/file-finder'>; } declare module 'eslint/lib/formatters/checkstyle.js' { declare module.exports: $Exports<'eslint/lib/formatters/checkstyle'>; } declare module 'eslint/lib/formatters/codeframe.js' { declare module.exports: $Exports<'eslint/lib/formatters/codeframe'>; } declare module 'eslint/lib/formatters/compact.js' { declare module.exports: $Exports<'eslint/lib/formatters/compact'>; } declare module 'eslint/lib/formatters/html.js' { declare module.exports: $Exports<'eslint/lib/formatters/html'>; } declare module 'eslint/lib/formatters/jslint-xml.js' { declare module.exports: $Exports<'eslint/lib/formatters/jslint-xml'>; } declare module 'eslint/lib/formatters/json.js' { declare module.exports: $Exports<'eslint/lib/formatters/json'>; } declare module 'eslint/lib/formatters/junit.js' { declare module.exports: $Exports<'eslint/lib/formatters/junit'>; } declare module 'eslint/lib/formatters/stylish.js' { declare module.exports: $Exports<'eslint/lib/formatters/stylish'>; } declare module 'eslint/lib/formatters/table.js' { declare module.exports: $Exports<'eslint/lib/formatters/table'>; } declare module 'eslint/lib/formatters/tap.js' { declare module.exports: $Exports<'eslint/lib/formatters/tap'>; } declare module 'eslint/lib/formatters/unix.js' { declare module.exports: $Exports<'eslint/lib/formatters/unix'>; } declare module 'eslint/lib/formatters/visualstudio.js' { declare module.exports: $Exports<'eslint/lib/formatters/visualstudio'>; } declare module 'eslint/lib/ignored-paths.js' { declare module.exports: $Exports<'eslint/lib/ignored-paths'>; } declare module 'eslint/lib/linter.js' { declare module.exports: $Exports<'eslint/lib/linter'>; } declare module 'eslint/lib/load-rules.js' { declare module.exports: $Exports<'eslint/lib/load-rules'>; } declare module 'eslint/lib/logging.js' { declare module.exports: $Exports<'eslint/lib/logging'>; } declare module 'eslint/lib/options.js' { declare module.exports: $Exports<'eslint/lib/options'>; } declare module 'eslint/lib/report-translator.js' { declare module.exports: $Exports<'eslint/lib/report-translator'>; } declare module 'eslint/lib/rules.js' { declare module.exports: $Exports<'eslint/lib/rules'>; } declare module 'eslint/lib/rules/accessor-pairs.js' { declare module.exports: $Exports<'eslint/lib/rules/accessor-pairs'>; } declare module 'eslint/lib/rules/array-bracket-newline.js' { declare module.exports: $Exports<'eslint/lib/rules/array-bracket-newline'>; } declare module 'eslint/lib/rules/array-bracket-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/array-bracket-spacing'>; } declare module 'eslint/lib/rules/array-callback-return.js' { declare module.exports: $Exports<'eslint/lib/rules/array-callback-return'>; } declare module 'eslint/lib/rules/array-element-newline.js' { declare module.exports: $Exports<'eslint/lib/rules/array-element-newline'>; } declare module 'eslint/lib/rules/arrow-body-style.js' { declare module.exports: $Exports<'eslint/lib/rules/arrow-body-style'>; } declare module 'eslint/lib/rules/arrow-parens.js' { declare module.exports: $Exports<'eslint/lib/rules/arrow-parens'>; } declare module 'eslint/lib/rules/arrow-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/arrow-spacing'>; } declare module 'eslint/lib/rules/block-scoped-var.js' { declare module.exports: $Exports<'eslint/lib/rules/block-scoped-var'>; } declare module 'eslint/lib/rules/block-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/block-spacing'>; } declare module 'eslint/lib/rules/brace-style.js' { declare module.exports: $Exports<'eslint/lib/rules/brace-style'>; } declare module 'eslint/lib/rules/callback-return.js' { declare module.exports: $Exports<'eslint/lib/rules/callback-return'>; } declare module 'eslint/lib/rules/camelcase.js' { declare module.exports: $Exports<'eslint/lib/rules/camelcase'>; } declare module 'eslint/lib/rules/capitalized-comments.js' { declare module.exports: $Exports<'eslint/lib/rules/capitalized-comments'>; } declare module 'eslint/lib/rules/class-methods-use-this.js' { declare module.exports: $Exports<'eslint/lib/rules/class-methods-use-this'>; } declare module 'eslint/lib/rules/comma-dangle.js' { declare module.exports: $Exports<'eslint/lib/rules/comma-dangle'>; } declare module 'eslint/lib/rules/comma-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/comma-spacing'>; } declare module 'eslint/lib/rules/comma-style.js' { declare module.exports: $Exports<'eslint/lib/rules/comma-style'>; } declare module 'eslint/lib/rules/complexity.js' { declare module.exports: $Exports<'eslint/lib/rules/complexity'>; } declare module 'eslint/lib/rules/computed-property-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/computed-property-spacing'>; } declare module 'eslint/lib/rules/consistent-return.js' { declare module.exports: $Exports<'eslint/lib/rules/consistent-return'>; } declare module 'eslint/lib/rules/consistent-this.js' { declare module.exports: $Exports<'eslint/lib/rules/consistent-this'>; } declare module 'eslint/lib/rules/constructor-super.js' { declare module.exports: $Exports<'eslint/lib/rules/constructor-super'>; } declare module 'eslint/lib/rules/curly.js' { declare module.exports: $Exports<'eslint/lib/rules/curly'>; } declare module 'eslint/lib/rules/default-case.js' { declare module.exports: $Exports<'eslint/lib/rules/default-case'>; } declare module 'eslint/lib/rules/dot-location.js' { declare module.exports: $Exports<'eslint/lib/rules/dot-location'>; } declare module 'eslint/lib/rules/dot-notation.js' { declare module.exports: $Exports<'eslint/lib/rules/dot-notation'>; } declare module 'eslint/lib/rules/eol-last.js' { declare module.exports: $Exports<'eslint/lib/rules/eol-last'>; } declare module 'eslint/lib/rules/eqeqeq.js' { declare module.exports: $Exports<'eslint/lib/rules/eqeqeq'>; } declare module 'eslint/lib/rules/for-direction.js' { declare module.exports: $Exports<'eslint/lib/rules/for-direction'>; } declare module 'eslint/lib/rules/func-call-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/func-call-spacing'>; } declare module 'eslint/lib/rules/func-name-matching.js' { declare module.exports: $Exports<'eslint/lib/rules/func-name-matching'>; } declare module 'eslint/lib/rules/func-names.js' { declare module.exports: $Exports<'eslint/lib/rules/func-names'>; } declare module 'eslint/lib/rules/func-style.js' { declare module.exports: $Exports<'eslint/lib/rules/func-style'>; } declare module 'eslint/lib/rules/function-paren-newline.js' { declare module.exports: $Exports<'eslint/lib/rules/function-paren-newline'>; } declare module 'eslint/lib/rules/generator-star-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/generator-star-spacing'>; } declare module 'eslint/lib/rules/getter-return.js' { declare module.exports: $Exports<'eslint/lib/rules/getter-return'>; } declare module 'eslint/lib/rules/global-require.js' { declare module.exports: $Exports<'eslint/lib/rules/global-require'>; } declare module 'eslint/lib/rules/guard-for-in.js' { declare module.exports: $Exports<'eslint/lib/rules/guard-for-in'>; } declare module 'eslint/lib/rules/handle-callback-err.js' { declare module.exports: $Exports<'eslint/lib/rules/handle-callback-err'>; } declare module 'eslint/lib/rules/id-blacklist.js' { declare module.exports: $Exports<'eslint/lib/rules/id-blacklist'>; } declare module 'eslint/lib/rules/id-length.js' { declare module.exports: $Exports<'eslint/lib/rules/id-length'>; } declare module 'eslint/lib/rules/id-match.js' { declare module.exports: $Exports<'eslint/lib/rules/id-match'>; } declare module 'eslint/lib/rules/implicit-arrow-linebreak.js' { declare module.exports: $Exports<'eslint/lib/rules/implicit-arrow-linebreak'>; } declare module 'eslint/lib/rules/indent-legacy.js' { declare module.exports: $Exports<'eslint/lib/rules/indent-legacy'>; } declare module 'eslint/lib/rules/indent.js' { declare module.exports: $Exports<'eslint/lib/rules/indent'>; } declare module 'eslint/lib/rules/init-declarations.js' { declare module.exports: $Exports<'eslint/lib/rules/init-declarations'>; } declare module 'eslint/lib/rules/jsx-quotes.js' { declare module.exports: $Exports<'eslint/lib/rules/jsx-quotes'>; } declare module 'eslint/lib/rules/key-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/key-spacing'>; } declare module 'eslint/lib/rules/keyword-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/keyword-spacing'>; } declare module 'eslint/lib/rules/line-comment-position.js' { declare module.exports: $Exports<'eslint/lib/rules/line-comment-position'>; } declare module 'eslint/lib/rules/linebreak-style.js' { declare module.exports: $Exports<'eslint/lib/rules/linebreak-style'>; } declare module 'eslint/lib/rules/lines-around-comment.js' { declare module.exports: $Exports<'eslint/lib/rules/lines-around-comment'>; } declare module 'eslint/lib/rules/lines-around-directive.js' { declare module.exports: $Exports<'eslint/lib/rules/lines-around-directive'>; } declare module 'eslint/lib/rules/lines-between-class-members.js' { declare module.exports: $Exports<'eslint/lib/rules/lines-between-class-members'>; } declare module 'eslint/lib/rules/max-depth.js' { declare module.exports: $Exports<'eslint/lib/rules/max-depth'>; } declare module 'eslint/lib/rules/max-len.js' { declare module.exports: $Exports<'eslint/lib/rules/max-len'>; } declare module 'eslint/lib/rules/max-lines.js' { declare module.exports: $Exports<'eslint/lib/rules/max-lines'>; } declare module 'eslint/lib/rules/max-nested-callbacks.js' { declare module.exports: $Exports<'eslint/lib/rules/max-nested-callbacks'>; } declare module 'eslint/lib/rules/max-params.js' { declare module.exports: $Exports<'eslint/lib/rules/max-params'>; } declare module 'eslint/lib/rules/max-statements-per-line.js' { declare module.exports: $Exports<'eslint/lib/rules/max-statements-per-line'>; } declare module 'eslint/lib/rules/max-statements.js' { declare module.exports: $Exports<'eslint/lib/rules/max-statements'>; } declare module 'eslint/lib/rules/multiline-comment-style.js' { declare module.exports: $Exports<'eslint/lib/rules/multiline-comment-style'>; } declare module 'eslint/lib/rules/multiline-ternary.js' { declare module.exports: $Exports<'eslint/lib/rules/multiline-ternary'>; } declare module 'eslint/lib/rules/new-cap.js' { declare module.exports: $Exports<'eslint/lib/rules/new-cap'>; } declare module 'eslint/lib/rules/new-parens.js' { declare module.exports: $Exports<'eslint/lib/rules/new-parens'>; } declare module 'eslint/lib/rules/newline-after-var.js' { declare module.exports: $Exports<'eslint/lib/rules/newline-after-var'>; } declare module 'eslint/lib/rules/newline-before-return.js' { declare module.exports: $Exports<'eslint/lib/rules/newline-before-return'>; } declare module 'eslint/lib/rules/newline-per-chained-call.js' { declare module.exports: $Exports<'eslint/lib/rules/newline-per-chained-call'>; } declare module 'eslint/lib/rules/no-alert.js' { declare module.exports: $Exports<'eslint/lib/rules/no-alert'>; } declare module 'eslint/lib/rules/no-array-constructor.js' { declare module.exports: $Exports<'eslint/lib/rules/no-array-constructor'>; } declare module 'eslint/lib/rules/no-await-in-loop.js' { declare module.exports: $Exports<'eslint/lib/rules/no-await-in-loop'>; } declare module 'eslint/lib/rules/no-bitwise.js' { declare module.exports: $Exports<'eslint/lib/rules/no-bitwise'>; } declare module 'eslint/lib/rules/no-buffer-constructor.js' { declare module.exports: $Exports<'eslint/lib/rules/no-buffer-constructor'>; } declare module 'eslint/lib/rules/no-caller.js' { declare module.exports: $Exports<'eslint/lib/rules/no-caller'>; } declare module 'eslint/lib/rules/no-case-declarations.js' { declare module.exports: $Exports<'eslint/lib/rules/no-case-declarations'>; } declare module 'eslint/lib/rules/no-catch-shadow.js' { declare module.exports: $Exports<'eslint/lib/rules/no-catch-shadow'>; } declare module 'eslint/lib/rules/no-class-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-class-assign'>; } declare module 'eslint/lib/rules/no-compare-neg-zero.js' { declare module.exports: $Exports<'eslint/lib/rules/no-compare-neg-zero'>; } declare module 'eslint/lib/rules/no-cond-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-cond-assign'>; } declare module 'eslint/lib/rules/no-confusing-arrow.js' { declare module.exports: $Exports<'eslint/lib/rules/no-confusing-arrow'>; } declare module 'eslint/lib/rules/no-console.js' { declare module.exports: $Exports<'eslint/lib/rules/no-console'>; } declare module 'eslint/lib/rules/no-const-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-const-assign'>; } declare module 'eslint/lib/rules/no-constant-condition.js' { declare module.exports: $Exports<'eslint/lib/rules/no-constant-condition'>; } declare module 'eslint/lib/rules/no-continue.js' { declare module.exports: $Exports<'eslint/lib/rules/no-continue'>; } declare module 'eslint/lib/rules/no-control-regex.js' { declare module.exports: $Exports<'eslint/lib/rules/no-control-regex'>; } declare module 'eslint/lib/rules/no-debugger.js' { declare module.exports: $Exports<'eslint/lib/rules/no-debugger'>; } declare module 'eslint/lib/rules/no-delete-var.js' { declare module.exports: $Exports<'eslint/lib/rules/no-delete-var'>; } declare module 'eslint/lib/rules/no-div-regex.js' { declare module.exports: $Exports<'eslint/lib/rules/no-div-regex'>; } declare module 'eslint/lib/rules/no-dupe-args.js' { declare module.exports: $Exports<'eslint/lib/rules/no-dupe-args'>; } declare module 'eslint/lib/rules/no-dupe-class-members.js' { declare module.exports: $Exports<'eslint/lib/rules/no-dupe-class-members'>; } declare module 'eslint/lib/rules/no-dupe-keys.js' { declare module.exports: $Exports<'eslint/lib/rules/no-dupe-keys'>; } declare module 'eslint/lib/rules/no-duplicate-case.js' { declare module.exports: $Exports<'eslint/lib/rules/no-duplicate-case'>; } declare module 'eslint/lib/rules/no-duplicate-imports.js' { declare module.exports: $Exports<'eslint/lib/rules/no-duplicate-imports'>; } declare module 'eslint/lib/rules/no-else-return.js' { declare module.exports: $Exports<'eslint/lib/rules/no-else-return'>; } declare module 'eslint/lib/rules/no-empty-character-class.js' { declare module.exports: $Exports<'eslint/lib/rules/no-empty-character-class'>; } declare module 'eslint/lib/rules/no-empty-function.js' { declare module.exports: $Exports<'eslint/lib/rules/no-empty-function'>; } declare module 'eslint/lib/rules/no-empty-pattern.js' { declare module.exports: $Exports<'eslint/lib/rules/no-empty-pattern'>; } declare module 'eslint/lib/rules/no-empty.js' { declare module.exports: $Exports<'eslint/lib/rules/no-empty'>; } declare module 'eslint/lib/rules/no-eq-null.js' { declare module.exports: $Exports<'eslint/lib/rules/no-eq-null'>; } declare module 'eslint/lib/rules/no-eval.js' { declare module.exports: $Exports<'eslint/lib/rules/no-eval'>; } declare module 'eslint/lib/rules/no-ex-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-ex-assign'>; } declare module 'eslint/lib/rules/no-extend-native.js' { declare module.exports: $Exports<'eslint/lib/rules/no-extend-native'>; } declare module 'eslint/lib/rules/no-extra-bind.js' { declare module.exports: $Exports<'eslint/lib/rules/no-extra-bind'>; } declare module 'eslint/lib/rules/no-extra-boolean-cast.js' { declare module.exports: $Exports<'eslint/lib/rules/no-extra-boolean-cast'>; } declare module 'eslint/lib/rules/no-extra-label.js' { declare module.exports: $Exports<'eslint/lib/rules/no-extra-label'>; } declare module 'eslint/lib/rules/no-extra-parens.js' { declare module.exports: $Exports<'eslint/lib/rules/no-extra-parens'>; } declare module 'eslint/lib/rules/no-extra-semi.js' { declare module.exports: $Exports<'eslint/lib/rules/no-extra-semi'>; } declare module 'eslint/lib/rules/no-fallthrough.js' { declare module.exports: $Exports<'eslint/lib/rules/no-fallthrough'>; } declare module 'eslint/lib/rules/no-floating-decimal.js' { declare module.exports: $Exports<'eslint/lib/rules/no-floating-decimal'>; } declare module 'eslint/lib/rules/no-func-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-func-assign'>; } declare module 'eslint/lib/rules/no-global-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-global-assign'>; } declare module 'eslint/lib/rules/no-implicit-coercion.js' { declare module.exports: $Exports<'eslint/lib/rules/no-implicit-coercion'>; } declare module 'eslint/lib/rules/no-implicit-globals.js' { declare module.exports: $Exports<'eslint/lib/rules/no-implicit-globals'>; } declare module 'eslint/lib/rules/no-implied-eval.js' { declare module.exports: $Exports<'eslint/lib/rules/no-implied-eval'>; } declare module 'eslint/lib/rules/no-inline-comments.js' { declare module.exports: $Exports<'eslint/lib/rules/no-inline-comments'>; } declare module 'eslint/lib/rules/no-inner-declarations.js' { declare module.exports: $Exports<'eslint/lib/rules/no-inner-declarations'>; } declare module 'eslint/lib/rules/no-invalid-regexp.js' { declare module.exports: $Exports<'eslint/lib/rules/no-invalid-regexp'>; } declare module 'eslint/lib/rules/no-invalid-this.js' { declare module.exports: $Exports<'eslint/lib/rules/no-invalid-this'>; } declare module 'eslint/lib/rules/no-irregular-whitespace.js' { declare module.exports: $Exports<'eslint/lib/rules/no-irregular-whitespace'>; } declare module 'eslint/lib/rules/no-iterator.js' { declare module.exports: $Exports<'eslint/lib/rules/no-iterator'>; } declare module 'eslint/lib/rules/no-label-var.js' { declare module.exports: $Exports<'eslint/lib/rules/no-label-var'>; } declare module 'eslint/lib/rules/no-labels.js' { declare module.exports: $Exports<'eslint/lib/rules/no-labels'>; } declare module 'eslint/lib/rules/no-lone-blocks.js' { declare module.exports: $Exports<'eslint/lib/rules/no-lone-blocks'>; } declare module 'eslint/lib/rules/no-lonely-if.js' { declare module.exports: $Exports<'eslint/lib/rules/no-lonely-if'>; } declare module 'eslint/lib/rules/no-loop-func.js' { declare module.exports: $Exports<'eslint/lib/rules/no-loop-func'>; } declare module 'eslint/lib/rules/no-magic-numbers.js' { declare module.exports: $Exports<'eslint/lib/rules/no-magic-numbers'>; } declare module 'eslint/lib/rules/no-mixed-operators.js' { declare module.exports: $Exports<'eslint/lib/rules/no-mixed-operators'>; } declare module 'eslint/lib/rules/no-mixed-requires.js' { declare module.exports: $Exports<'eslint/lib/rules/no-mixed-requires'>; } declare module 'eslint/lib/rules/no-mixed-spaces-and-tabs.js' { declare module.exports: $Exports<'eslint/lib/rules/no-mixed-spaces-and-tabs'>; } declare module 'eslint/lib/rules/no-multi-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-multi-assign'>; } declare module 'eslint/lib/rules/no-multi-spaces.js' { declare module.exports: $Exports<'eslint/lib/rules/no-multi-spaces'>; } declare module 'eslint/lib/rules/no-multi-str.js' { declare module.exports: $Exports<'eslint/lib/rules/no-multi-str'>; } declare module 'eslint/lib/rules/no-multiple-empty-lines.js' { declare module.exports: $Exports<'eslint/lib/rules/no-multiple-empty-lines'>; } declare module 'eslint/lib/rules/no-native-reassign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-native-reassign'>; } declare module 'eslint/lib/rules/no-negated-condition.js' { declare module.exports: $Exports<'eslint/lib/rules/no-negated-condition'>; } declare module 'eslint/lib/rules/no-negated-in-lhs.js' { declare module.exports: $Exports<'eslint/lib/rules/no-negated-in-lhs'>; } declare module 'eslint/lib/rules/no-nested-ternary.js' { declare module.exports: $Exports<'eslint/lib/rules/no-nested-ternary'>; } declare module 'eslint/lib/rules/no-new-func.js' { declare module.exports: $Exports<'eslint/lib/rules/no-new-func'>; } declare module 'eslint/lib/rules/no-new-object.js' { declare module.exports: $Exports<'eslint/lib/rules/no-new-object'>; } declare module 'eslint/lib/rules/no-new-require.js' { declare module.exports: $Exports<'eslint/lib/rules/no-new-require'>; } declare module 'eslint/lib/rules/no-new-symbol.js' { declare module.exports: $Exports<'eslint/lib/rules/no-new-symbol'>; } declare module 'eslint/lib/rules/no-new-wrappers.js' { declare module.exports: $Exports<'eslint/lib/rules/no-new-wrappers'>; } declare module 'eslint/lib/rules/no-new.js' { declare module.exports: $Exports<'eslint/lib/rules/no-new'>; } declare module 'eslint/lib/rules/no-obj-calls.js' { declare module.exports: $Exports<'eslint/lib/rules/no-obj-calls'>; } declare module 'eslint/lib/rules/no-octal-escape.js' { declare module.exports: $Exports<'eslint/lib/rules/no-octal-escape'>; } declare module 'eslint/lib/rules/no-octal.js' { declare module.exports: $Exports<'eslint/lib/rules/no-octal'>; } declare module 'eslint/lib/rules/no-param-reassign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-param-reassign'>; } declare module 'eslint/lib/rules/no-path-concat.js' { declare module.exports: $Exports<'eslint/lib/rules/no-path-concat'>; } declare module 'eslint/lib/rules/no-plusplus.js' { declare module.exports: $Exports<'eslint/lib/rules/no-plusplus'>; } declare module 'eslint/lib/rules/no-process-env.js' { declare module.exports: $Exports<'eslint/lib/rules/no-process-env'>; } declare module 'eslint/lib/rules/no-process-exit.js' { declare module.exports: $Exports<'eslint/lib/rules/no-process-exit'>; } declare module 'eslint/lib/rules/no-proto.js' { declare module.exports: $Exports<'eslint/lib/rules/no-proto'>; } declare module 'eslint/lib/rules/no-prototype-builtins.js' { declare module.exports: $Exports<'eslint/lib/rules/no-prototype-builtins'>; } declare module 'eslint/lib/rules/no-redeclare.js' { declare module.exports: $Exports<'eslint/lib/rules/no-redeclare'>; } declare module 'eslint/lib/rules/no-regex-spaces.js' { declare module.exports: $Exports<'eslint/lib/rules/no-regex-spaces'>; } declare module 'eslint/lib/rules/no-restricted-globals.js' { declare module.exports: $Exports<'eslint/lib/rules/no-restricted-globals'>; } declare module 'eslint/lib/rules/no-restricted-imports.js' { declare module.exports: $Exports<'eslint/lib/rules/no-restricted-imports'>; } declare module 'eslint/lib/rules/no-restricted-modules.js' { declare module.exports: $Exports<'eslint/lib/rules/no-restricted-modules'>; } declare module 'eslint/lib/rules/no-restricted-properties.js' { declare module.exports: $Exports<'eslint/lib/rules/no-restricted-properties'>; } declare module 'eslint/lib/rules/no-restricted-syntax.js' { declare module.exports: $Exports<'eslint/lib/rules/no-restricted-syntax'>; } declare module 'eslint/lib/rules/no-return-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-return-assign'>; } declare module 'eslint/lib/rules/no-return-await.js' { declare module.exports: $Exports<'eslint/lib/rules/no-return-await'>; } declare module 'eslint/lib/rules/no-script-url.js' { declare module.exports: $Exports<'eslint/lib/rules/no-script-url'>; } declare module 'eslint/lib/rules/no-self-assign.js' { declare module.exports: $Exports<'eslint/lib/rules/no-self-assign'>; } declare module 'eslint/lib/rules/no-self-compare.js' { declare module.exports: $Exports<'eslint/lib/rules/no-self-compare'>; } declare module 'eslint/lib/rules/no-sequences.js' { declare module.exports: $Exports<'eslint/lib/rules/no-sequences'>; } declare module 'eslint/lib/rules/no-shadow-restricted-names.js' { declare module.exports: $Exports<'eslint/lib/rules/no-shadow-restricted-names'>; } declare module 'eslint/lib/rules/no-shadow.js' { declare module.exports: $Exports<'eslint/lib/rules/no-shadow'>; } declare module 'eslint/lib/rules/no-spaced-func.js' { declare module.exports: $Exports<'eslint/lib/rules/no-spaced-func'>; } declare module 'eslint/lib/rules/no-sparse-arrays.js' { declare module.exports: $Exports<'eslint/lib/rules/no-sparse-arrays'>; } declare module 'eslint/lib/rules/no-sync.js' { declare module.exports: $Exports<'eslint/lib/rules/no-sync'>; } declare module 'eslint/lib/rules/no-tabs.js' { declare module.exports: $Exports<'eslint/lib/rules/no-tabs'>; } declare module 'eslint/lib/rules/no-template-curly-in-string.js' { declare module.exports: $Exports<'eslint/lib/rules/no-template-curly-in-string'>; } declare module 'eslint/lib/rules/no-ternary.js' { declare module.exports: $Exports<'eslint/lib/rules/no-ternary'>; } declare module 'eslint/lib/rules/no-this-before-super.js' { declare module.exports: $Exports<'eslint/lib/rules/no-this-before-super'>; } declare module 'eslint/lib/rules/no-throw-literal.js' { declare module.exports: $Exports<'eslint/lib/rules/no-throw-literal'>; } declare module 'eslint/lib/rules/no-trailing-spaces.js' { declare module.exports: $Exports<'eslint/lib/rules/no-trailing-spaces'>; } declare module 'eslint/lib/rules/no-undef-init.js' { declare module.exports: $Exports<'eslint/lib/rules/no-undef-init'>; } declare module 'eslint/lib/rules/no-undef.js' { declare module.exports: $Exports<'eslint/lib/rules/no-undef'>; } declare module 'eslint/lib/rules/no-undefined.js' { declare module.exports: $Exports<'eslint/lib/rules/no-undefined'>; } declare module 'eslint/lib/rules/no-underscore-dangle.js' { declare module.exports: $Exports<'eslint/lib/rules/no-underscore-dangle'>; } declare module 'eslint/lib/rules/no-unexpected-multiline.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unexpected-multiline'>; } declare module 'eslint/lib/rules/no-unmodified-loop-condition.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unmodified-loop-condition'>; } declare module 'eslint/lib/rules/no-unneeded-ternary.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unneeded-ternary'>; } declare module 'eslint/lib/rules/no-unreachable.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unreachable'>; } declare module 'eslint/lib/rules/no-unsafe-finally.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unsafe-finally'>; } declare module 'eslint/lib/rules/no-unsafe-negation.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unsafe-negation'>; } declare module 'eslint/lib/rules/no-unused-expressions.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unused-expressions'>; } declare module 'eslint/lib/rules/no-unused-labels.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unused-labels'>; } declare module 'eslint/lib/rules/no-unused-vars.js' { declare module.exports: $Exports<'eslint/lib/rules/no-unused-vars'>; } declare module 'eslint/lib/rules/no-use-before-define.js' { declare module.exports: $Exports<'eslint/lib/rules/no-use-before-define'>; } declare module 'eslint/lib/rules/no-useless-call.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-call'>; } declare module 'eslint/lib/rules/no-useless-computed-key.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-computed-key'>; } declare module 'eslint/lib/rules/no-useless-concat.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-concat'>; } declare module 'eslint/lib/rules/no-useless-constructor.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-constructor'>; } declare module 'eslint/lib/rules/no-useless-escape.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-escape'>; } declare module 'eslint/lib/rules/no-useless-rename.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-rename'>; } declare module 'eslint/lib/rules/no-useless-return.js' { declare module.exports: $Exports<'eslint/lib/rules/no-useless-return'>; } declare module 'eslint/lib/rules/no-var.js' { declare module.exports: $Exports<'eslint/lib/rules/no-var'>; } declare module 'eslint/lib/rules/no-void.js' { declare module.exports: $Exports<'eslint/lib/rules/no-void'>; } declare module 'eslint/lib/rules/no-warning-comments.js' { declare module.exports: $Exports<'eslint/lib/rules/no-warning-comments'>; } declare module 'eslint/lib/rules/no-whitespace-before-property.js' { declare module.exports: $Exports<'eslint/lib/rules/no-whitespace-before-property'>; } declare module 'eslint/lib/rules/no-with.js' { declare module.exports: $Exports<'eslint/lib/rules/no-with'>; } declare module 'eslint/lib/rules/nonblock-statement-body-position.js' { declare module.exports: $Exports<'eslint/lib/rules/nonblock-statement-body-position'>; } declare module 'eslint/lib/rules/object-curly-newline.js' { declare module.exports: $Exports<'eslint/lib/rules/object-curly-newline'>; } declare module 'eslint/lib/rules/object-curly-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/object-curly-spacing'>; } declare module 'eslint/lib/rules/object-property-newline.js' { declare module.exports: $Exports<'eslint/lib/rules/object-property-newline'>; } declare module 'eslint/lib/rules/object-shorthand.js' { declare module.exports: $Exports<'eslint/lib/rules/object-shorthand'>; } declare module 'eslint/lib/rules/one-var-declaration-per-line.js' { declare module.exports: $Exports<'eslint/lib/rules/one-var-declaration-per-line'>; } declare module 'eslint/lib/rules/one-var.js' { declare module.exports: $Exports<'eslint/lib/rules/one-var'>; } declare module 'eslint/lib/rules/operator-assignment.js' { declare module.exports: $Exports<'eslint/lib/rules/operator-assignment'>; } declare module 'eslint/lib/rules/operator-linebreak.js' { declare module.exports: $Exports<'eslint/lib/rules/operator-linebreak'>; } declare module 'eslint/lib/rules/padded-blocks.js' { declare module.exports: $Exports<'eslint/lib/rules/padded-blocks'>; } declare module 'eslint/lib/rules/padding-line-between-statements.js' { declare module.exports: $Exports<'eslint/lib/rules/padding-line-between-statements'>; } declare module 'eslint/lib/rules/prefer-arrow-callback.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-arrow-callback'>; } declare module 'eslint/lib/rules/prefer-const.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-const'>; } declare module 'eslint/lib/rules/prefer-destructuring.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-destructuring'>; } declare module 'eslint/lib/rules/prefer-numeric-literals.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-numeric-literals'>; } declare module 'eslint/lib/rules/prefer-promise-reject-errors.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-promise-reject-errors'>; } declare module 'eslint/lib/rules/prefer-reflect.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-reflect'>; } declare module 'eslint/lib/rules/prefer-rest-params.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-rest-params'>; } declare module 'eslint/lib/rules/prefer-spread.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-spread'>; } declare module 'eslint/lib/rules/prefer-template.js' { declare module.exports: $Exports<'eslint/lib/rules/prefer-template'>; } declare module 'eslint/lib/rules/quote-props.js' { declare module.exports: $Exports<'eslint/lib/rules/quote-props'>; } declare module 'eslint/lib/rules/quotes.js' { declare module.exports: $Exports<'eslint/lib/rules/quotes'>; } declare module 'eslint/lib/rules/radix.js' { declare module.exports: $Exports<'eslint/lib/rules/radix'>; } declare module 'eslint/lib/rules/require-await.js' { declare module.exports: $Exports<'eslint/lib/rules/require-await'>; } declare module 'eslint/lib/rules/require-jsdoc.js' { declare module.exports: $Exports<'eslint/lib/rules/require-jsdoc'>; } declare module 'eslint/lib/rules/require-yield.js' { declare module.exports: $Exports<'eslint/lib/rules/require-yield'>; } declare module 'eslint/lib/rules/rest-spread-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/rest-spread-spacing'>; } declare module 'eslint/lib/rules/semi-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/semi-spacing'>; } declare module 'eslint/lib/rules/semi-style.js' { declare module.exports: $Exports<'eslint/lib/rules/semi-style'>; } declare module 'eslint/lib/rules/semi.js' { declare module.exports: $Exports<'eslint/lib/rules/semi'>; } declare module 'eslint/lib/rules/sort-imports.js' { declare module.exports: $Exports<'eslint/lib/rules/sort-imports'>; } declare module 'eslint/lib/rules/sort-keys.js' { declare module.exports: $Exports<'eslint/lib/rules/sort-keys'>; } declare module 'eslint/lib/rules/sort-vars.js' { declare module.exports: $Exports<'eslint/lib/rules/sort-vars'>; } declare module 'eslint/lib/rules/space-before-blocks.js' { declare module.exports: $Exports<'eslint/lib/rules/space-before-blocks'>; } declare module 'eslint/lib/rules/space-before-function-paren.js' { declare module.exports: $Exports<'eslint/lib/rules/space-before-function-paren'>; } declare module 'eslint/lib/rules/space-in-parens.js' { declare module.exports: $Exports<'eslint/lib/rules/space-in-parens'>; } declare module 'eslint/lib/rules/space-infix-ops.js' { declare module.exports: $Exports<'eslint/lib/rules/space-infix-ops'>; } declare module 'eslint/lib/rules/space-unary-ops.js' { declare module.exports: $Exports<'eslint/lib/rules/space-unary-ops'>; } declare module 'eslint/lib/rules/spaced-comment.js' { declare module.exports: $Exports<'eslint/lib/rules/spaced-comment'>; } declare module 'eslint/lib/rules/strict.js' { declare module.exports: $Exports<'eslint/lib/rules/strict'>; } declare module 'eslint/lib/rules/switch-colon-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/switch-colon-spacing'>; } declare module 'eslint/lib/rules/symbol-description.js' { declare module.exports: $Exports<'eslint/lib/rules/symbol-description'>; } declare module 'eslint/lib/rules/template-curly-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/template-curly-spacing'>; } declare module 'eslint/lib/rules/template-tag-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/template-tag-spacing'>; } declare module 'eslint/lib/rules/unicode-bom.js' { declare module.exports: $Exports<'eslint/lib/rules/unicode-bom'>; } declare module 'eslint/lib/rules/use-isnan.js' { declare module.exports: $Exports<'eslint/lib/rules/use-isnan'>; } declare module 'eslint/lib/rules/valid-jsdoc.js' { declare module.exports: $Exports<'eslint/lib/rules/valid-jsdoc'>; } declare module 'eslint/lib/rules/valid-typeof.js' { declare module.exports: $Exports<'eslint/lib/rules/valid-typeof'>; } declare module 'eslint/lib/rules/vars-on-top.js' { declare module.exports: $Exports<'eslint/lib/rules/vars-on-top'>; } declare module 'eslint/lib/rules/wrap-iife.js' { declare module.exports: $Exports<'eslint/lib/rules/wrap-iife'>; } declare module 'eslint/lib/rules/wrap-regex.js' { declare module.exports: $Exports<'eslint/lib/rules/wrap-regex'>; } declare module 'eslint/lib/rules/yield-star-spacing.js' { declare module.exports: $Exports<'eslint/lib/rules/yield-star-spacing'>; } declare module 'eslint/lib/rules/yoda.js' { declare module.exports: $Exports<'eslint/lib/rules/yoda'>; } declare module 'eslint/lib/testers/rule-tester.js' { declare module.exports: $Exports<'eslint/lib/testers/rule-tester'>; } declare module 'eslint/lib/timing.js' { declare module.exports: $Exports<'eslint/lib/timing'>; } declare module 'eslint/lib/token-store/backward-token-comment-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/backward-token-comment-cursor'>; } declare module 'eslint/lib/token-store/backward-token-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/backward-token-cursor'>; } declare module 'eslint/lib/token-store/cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/cursor'>; } declare module 'eslint/lib/token-store/cursors.js' { declare module.exports: $Exports<'eslint/lib/token-store/cursors'>; } declare module 'eslint/lib/token-store/decorative-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/decorative-cursor'>; } declare module 'eslint/lib/token-store/filter-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/filter-cursor'>; } declare module 'eslint/lib/token-store/forward-token-comment-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/forward-token-comment-cursor'>; } declare module 'eslint/lib/token-store/forward-token-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/forward-token-cursor'>; } declare module 'eslint/lib/token-store/index.js' { declare module.exports: $Exports<'eslint/lib/token-store/index'>; } declare module 'eslint/lib/token-store/limit-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/limit-cursor'>; } declare module 'eslint/lib/token-store/padded-token-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/padded-token-cursor'>; } declare module 'eslint/lib/token-store/skip-cursor.js' { declare module.exports: $Exports<'eslint/lib/token-store/skip-cursor'>; } declare module 'eslint/lib/token-store/utils.js' { declare module.exports: $Exports<'eslint/lib/token-store/utils'>; } declare module 'eslint/lib/util/ajv.js' { declare module.exports: $Exports<'eslint/lib/util/ajv'>; } declare module 'eslint/lib/util/apply-disable-directives.js' { declare module.exports: $Exports<'eslint/lib/util/apply-disable-directives'>; } declare module 'eslint/lib/util/fix-tracker.js' { declare module.exports: $Exports<'eslint/lib/util/fix-tracker'>; } declare module 'eslint/lib/util/glob-util.js' { declare module.exports: $Exports<'eslint/lib/util/glob-util'>; } declare module 'eslint/lib/util/glob.js' { declare module.exports: $Exports<'eslint/lib/util/glob'>; } declare module 'eslint/lib/util/hash.js' { declare module.exports: $Exports<'eslint/lib/util/hash'>; } declare module 'eslint/lib/util/interpolate.js' { declare module.exports: $Exports<'eslint/lib/util/interpolate'>; } declare module 'eslint/lib/util/keywords.js' { declare module.exports: $Exports<'eslint/lib/util/keywords'>; } declare module 'eslint/lib/util/module-resolver.js' { declare module.exports: $Exports<'eslint/lib/util/module-resolver'>; } declare module 'eslint/lib/util/naming.js' { declare module.exports: $Exports<'eslint/lib/util/naming'>; } declare module 'eslint/lib/util/node-event-generator.js' { declare module.exports: $Exports<'eslint/lib/util/node-event-generator'>; } declare module 'eslint/lib/util/npm-util.js' { declare module.exports: $Exports<'eslint/lib/util/npm-util'>; } declare module 'eslint/lib/util/path-util.js' { declare module.exports: $Exports<'eslint/lib/util/path-util'>; } declare module 'eslint/lib/util/patterns/letters.js' { declare module.exports: $Exports<'eslint/lib/util/patterns/letters'>; } declare module 'eslint/lib/util/rule-fixer.js' { declare module.exports: $Exports<'eslint/lib/util/rule-fixer'>; } declare module 'eslint/lib/util/safe-emitter.js' { declare module.exports: $Exports<'eslint/lib/util/safe-emitter'>; } declare module 'eslint/lib/util/source-code-fixer.js' { declare module.exports: $Exports<'eslint/lib/util/source-code-fixer'>; } declare module 'eslint/lib/util/source-code-util.js' { declare module.exports: $Exports<'eslint/lib/util/source-code-util'>; } declare module 'eslint/lib/util/source-code.js' { declare module.exports: $Exports<'eslint/lib/util/source-code'>; } declare module 'eslint/lib/util/traverser.js' { declare module.exports: $Exports<'eslint/lib/util/traverser'>; } declare module 'eslint/lib/util/xml-escape.js' { declare module.exports: $Exports<'eslint/lib/util/xml-escape'>; } ================================================ FILE: flow-typed/npm/expo-server-sdk_vx.x.x.js ================================================ // flow-typed signature: 3f270976cb128c991faff0ddfc6f6aa3 // flow-typed version: <>/expo-server-sdk_v2.3.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'expo-server-sdk' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'expo-server-sdk' { declare module.exports: any; } ================================================ FILE: flow-typed/npm/expo_vx.x.x.js ================================================ // flow-typed signature: 0ab3677c8ee0ecd2c38c9d3b9a511bf2 // flow-typed version: <>/expo_v25.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'expo' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'expo' { declare module.exports: any; } ================================================ FILE: flow-typed/npm/express-enforces-ssl_vx.x.x.js ================================================ // flow-typed signature: e36181803629e2d4387bbfd37640c8e6 // flow-typed version: <>/express-enforces-ssl_v1.1.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'express-enforces-ssl' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'express-enforces-ssl' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'express-enforces-ssl/index' { declare module.exports: $Exports<'express-enforces-ssl'>; } declare module 'express-enforces-ssl/index.js' { declare module.exports: $Exports<'express-enforces-ssl'>; } ================================================ FILE: flow-typed/npm/express-hot-shots_vx.x.x.js ================================================ // flow-typed signature: 1cdaa5e3b96efaeacdd3cbc4b45b40d3 // flow-typed version: <>/express-hot-shots_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'express-hot-shots' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'express-hot-shots' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'express-hot-shots/Gruntfile' { declare module.exports: any; } declare module 'express-hot-shots/lib/express-hot-shots' { declare module.exports: any; } declare module 'express-hot-shots/test/express-hot-shots' { declare module.exports: any; } declare module 'express-hot-shots/test/utils' { declare module.exports: any; } // Filename aliases declare module 'express-hot-shots/Gruntfile.js' { declare module.exports: $Exports<'express-hot-shots/Gruntfile'>; } declare module 'express-hot-shots/lib/express-hot-shots.js' { declare module.exports: $Exports<'express-hot-shots/lib/express-hot-shots'>; } declare module 'express-hot-shots/test/express-hot-shots.js' { declare module.exports: $Exports<'express-hot-shots/test/express-hot-shots'>; } declare module 'express-hot-shots/test/utils.js' { declare module.exports: $Exports<'express-hot-shots/test/utils'>; } ================================================ FILE: flow-typed/npm/express-session_vx.x.x.js ================================================ // flow-typed signature: d8aa1a3f1477f62d348c0919d3e44c4c // flow-typed version: <>/express-session_v^1.15.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'express-session' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'express-session' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'express-session/session/cookie' { declare module.exports: any; } declare module 'express-session/session/memory' { declare module.exports: any; } declare module 'express-session/session/session' { declare module.exports: any; } declare module 'express-session/session/store' { declare module.exports: any; } // Filename aliases declare module 'express-session/index' { declare module.exports: $Exports<'express-session'>; } declare module 'express-session/index.js' { declare module.exports: $Exports<'express-session'>; } declare module 'express-session/session/cookie.js' { declare module.exports: $Exports<'express-session/session/cookie'>; } declare module 'express-session/session/memory.js' { declare module.exports: $Exports<'express-session/session/memory'>; } declare module 'express-session/session/session.js' { declare module.exports: $Exports<'express-session/session/session'>; } declare module 'express-session/session/store.js' { declare module.exports: $Exports<'express-session/session/store'>; } ================================================ FILE: flow-typed/npm/express_v4.x.x.js ================================================ // flow-typed signature: 730b5b5f47f89c6e5871c0d9e9cd72d9 // flow-typed version: 8d3bb346ba/express_v4.x.x/flow_>=v0.32.x import type { Server } from 'http'; import type { Socket } from 'net'; declare type express$RouterOptions = { caseSensitive?: boolean, mergeParams?: boolean, strict?: boolean, }; declare class express$RequestResponseBase { app: express$Application, get(field: string): string | void, } declare type express$RequestParams = { [param: string]: string, }; declare class express$Request extends http$IncomingMessage { baseUrl: string, body: any, cookies: { [cookie: string]: string }, connection: Socket, fresh: boolean, hostname: string, ip: string, ips: Array, method: string, originalUrl: string, params: express$RequestParams, path: string, protocol: 'https' | 'http', query: { [name: string]: string | Array }, route: string, secure: boolean, signedCookies: { [signedCookie: string]: string }, stale: boolean, subdomains: Array, xhr: boolean, accepts(types: string): string | false, accepts(types: Array): string | false, acceptsCharsets(...charsets: Array): string | false, acceptsEncodings(...encoding: Array): string | false, acceptsLanguages(...lang: Array): string | false, header(field: string): string | void, is(type: string): boolean, param(name: string, defaultValue?: string): string | void, } declare type express$CookieOptions = { domain?: string, encode?: (value: string) => string, expires?: Date, httpOnly?: boolean, maxAge?: number, path?: string, secure?: boolean, signed?: boolean, }; declare type express$RenderCallback = ( err: Error | null, html?: string ) => mixed; declare type express$SendFileOptions = { maxAge?: number, root?: string, lastModified?: boolean, headers?: { [name: string]: string }, dotfiles?: 'allow' | 'deny' | 'ignore', }; declare class express$Response extends http$ServerResponse { headersSent: boolean, locals: { [name: string]: mixed }, append(field: string, value?: string): this, attachment(filename?: string): this, cookie(name: string, value: string, options?: express$CookieOptions): this, clearCookie(name: string, options?: express$CookieOptions): this, download( path: string, filename?: string, callback?: (err?: ?Error) => void ): this, format(typesObject: { [type: string]: Function }): this, json(body?: mixed): this, jsonp(body?: mixed): this, links(links: { [name: string]: string }): this, location(path: string): this, redirect(url: string, ...args: Array): this, redirect(status: number, url: string, ...args: Array): this, render( view: string, locals?: { [name: string]: mixed }, callback?: express$RenderCallback ): this, send(body?: mixed): this, sendFile( path: string, options?: express$SendFileOptions, callback?: (err?: ?Error) => mixed ): this, sendStatus(statusCode: number): this, header(field: string, value?: string): this, header(headers: { [name: string]: string }): this, set(field: string, value?: string | string[]): this, set(headers: { [name: string]: string }): this, status(statusCode: number): this, type(type: string): this, vary(field: string): this, req: express$Request, } declare type express$NextFunction = (err?: ?Error | 'route') => mixed; declare type express$Middleware = | (( req: $Subtype, res: express$Response, next: express$NextFunction ) => mixed) | (( error: ?Error, req: $Subtype, res: express$Response, next: express$NextFunction ) => mixed); declare interface express$RouteMethodType { (middleware: express$Middleware): T, (...middleware: Array): T, ( path: string | RegExp | string[], ...middleware: Array ): T, } declare class express$Route { all: express$RouteMethodType, get: express$RouteMethodType, post: express$RouteMethodType, put: express$RouteMethodType, head: express$RouteMethodType, delete: express$RouteMethodType, options: express$RouteMethodType, trace: express$RouteMethodType, copy: express$RouteMethodType, lock: express$RouteMethodType, mkcol: express$RouteMethodType, move: express$RouteMethodType, purge: express$RouteMethodType, propfind: express$RouteMethodType, proppatch: express$RouteMethodType, unlock: express$RouteMethodType, report: express$RouteMethodType, mkactivity: express$RouteMethodType, checkout: express$RouteMethodType, merge: express$RouteMethodType, // @TODO Missing 'm-search' but get flow illegal name error. notify: express$RouteMethodType, subscribe: express$RouteMethodType, unsubscribe: express$RouteMethodType, patch: express$RouteMethodType, search: express$RouteMethodType, connect: express$RouteMethodType, } declare class express$Router extends express$Route { constructor(options?: express$RouterOptions): void, route(path: string): express$Route, static (options?: express$RouterOptions): express$Router, use(middleware: express$Middleware): this, use(...middleware: Array): this, use( path: string | RegExp | string[], ...middleware: Array ): this, use(path: string, router: express$Router): this, handle( req: http$IncomingMessage, res: http$ServerResponse, next: express$NextFunction ): void, // Can't use regular callable signature syntax due to https://github.com/facebook/flow/issues/3084 $call: ( req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction ) => void, } declare class express$Application extends express$Router { constructor(): void, locals: { [name: string]: mixed }, mountpath: string, listen( port: number, hostname?: string, backlog?: number, callback?: (err?: ?Error) => mixed ): Server, listen( port: number, hostname?: string, callback?: (err?: ?Error) => mixed ): Server, listen(port: number, callback?: (err?: ?Error) => mixed): Server, listen(path: string, callback?: (err?: ?Error) => mixed): Server, listen(handle: Object, callback?: (err?: ?Error) => mixed): Server, disable(name: string): void, disabled(name: string): boolean, enable(name: string): express$Application, enabled(name: string): boolean, engine(name: string, callback: Function): void, /** * Mixed will not be taken as a value option. Issue around using the GET http method name and the get for settings. */ // get(name: string): mixed; set(name: string, value: mixed): mixed, render( name: string, optionsOrFunction: { [name: string]: mixed }, callback: express$RenderCallback ): void, handle( req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction ): void, } declare module 'express' { declare export type RouterOptions = express$RouterOptions; declare export type CookieOptions = express$CookieOptions; declare export type Middleware = express$Middleware; declare export type NextFunction = express$NextFunction; declare export type RequestParams = express$RequestParams; declare export type $Response = express$Response; declare export type $Request = express$Request; declare export type $Application = express$Application; declare module.exports: { (): express$Application, // If you try to call like a function, it will use this signature static: (root: string, options?: Object) => express$Middleware, // `static` property on the function Router: typeof express$Router, // `Router` property on the function }; } ================================================ FILE: flow-typed/npm/faker_vx.x.x.js ================================================ // flow-typed signature: cfa901aa04a97e9872865b4c29a8ad88 // flow-typed version: <>/faker_v^4.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'faker' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'faker' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'faker/lib/address' { declare module.exports: any; } declare module 'faker/lib/commerce' { declare module.exports: any; } declare module 'faker/lib/company' { declare module.exports: any; } declare module 'faker/lib/database' { declare module.exports: any; } declare module 'faker/lib/date' { declare module.exports: any; } declare module 'faker/lib/fake' { declare module.exports: any; } declare module 'faker/lib/finance' { declare module.exports: any; } declare module 'faker/lib/hacker' { declare module.exports: any; } declare module 'faker/lib/helpers' { declare module.exports: any; } declare module 'faker/lib/iban' { declare module.exports: any; } declare module 'faker/lib/image' { declare module.exports: any; } declare module 'faker/lib/index' { declare module.exports: any; } declare module 'faker/lib/internet' { declare module.exports: any; } declare module 'faker/lib/locales' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/az/address/street_title' { declare module.exports: any; } declare module 'faker/lib/locales/az/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/az/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/az/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/az/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/az/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/az/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/az/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/az/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/az/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/az/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/az/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/az/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/az/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/street' { declare module.exports: any; } declare module 'faker/lib/locales/cz/address/time_zone' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/cz/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/cz/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/cz/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/cz/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/cz/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/cz/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/cz/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/cz/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/cz/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/cz/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/company/legal_form' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/name/nobility_title_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/de_AT/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/address/country_code' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/de_CH/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/de/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/de/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/de/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/company/legal_form' { declare module.exports: any; } declare module 'faker/lib/locales/de/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/de/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/de/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/de/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/de/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/de/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/de/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/de/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/de/name/nobility_title_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/de/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/de/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/de/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/address/county' { declare module.exports: any; } declare module 'faker/lib/locales/el/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/el/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/app/author' { declare module.exports: any; } declare module 'faker/lib/locales/el/app/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/app/name' { declare module.exports: any; } declare module 'faker/lib/locales/el/app/version' { declare module.exports: any; } declare module 'faker/lib/locales/el/business/credit_card_expiry_dates' { declare module.exports: any; } declare module 'faker/lib/locales/el/business/credit_card_numbers' { declare module.exports: any; } declare module 'faker/lib/locales/el/business/credit_card_types' { declare module.exports: any; } declare module 'faker/lib/locales/el/business/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/el/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/el/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/el/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/bs_adjective' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/el/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/el/credit_card/american_express' { declare module.exports: any; } declare module 'faker/lib/locales/el/credit_card/discover' { declare module.exports: any; } declare module 'faker/lib/locales/el/credit_card/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/credit_card/maestro' { declare module.exports: any; } declare module 'faker/lib/locales/el/credit_card/mastercard' { declare module.exports: any; } declare module 'faker/lib/locales/el/credit_card/visa' { declare module.exports: any; } declare module 'faker/lib/locales/el/finance/account_type' { declare module.exports: any; } declare module 'faker/lib/locales/el/finance/currency' { declare module.exports: any; } declare module 'faker/lib/locales/el/finance/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/finance/transaction_type' { declare module.exports: any; } declare module 'faker/lib/locales/el/hacker/abbreviation' { declare module.exports: any; } declare module 'faker/lib/locales/el/hacker/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/el/hacker/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/hacker/noun' { declare module.exports: any; } declare module 'faker/lib/locales/el/hacker/verb' { declare module.exports: any; } declare module 'faker/lib/locales/el/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/internet/avatar_uri' { declare module.exports: any; } declare module 'faker/lib/locales/el/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/el/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/el/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/el/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/el/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/el/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/el/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/el/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/el/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/el/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/el/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/team/creature' { declare module.exports: any; } declare module 'faker/lib/locales/el/team/index' { declare module.exports: any; } declare module 'faker/lib/locales/el/team/name' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/region' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/name/ocker_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_au_ocker/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_AU/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_BORK/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_BORK/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_BORK/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_CA/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/address/county' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/address/uk_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_GB/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/address/county' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_IE/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en_IND/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/address/postcode_by_state' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/phone_number/area_code' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/phone_number/exchange_code' { declare module.exports: any; } declare module 'faker/lib/locales/en_US/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/country_code' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/county' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/postcode_by_state' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en/address/time_zone' { declare module.exports: any; } declare module 'faker/lib/locales/en/app/author' { declare module.exports: any; } declare module 'faker/lib/locales/en/app/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/app/name' { declare module.exports: any; } declare module 'faker/lib/locales/en/app/version' { declare module.exports: any; } declare module 'faker/lib/locales/en/business/credit_card_expiry_dates' { declare module.exports: any; } declare module 'faker/lib/locales/en/business/credit_card_numbers' { declare module.exports: any; } declare module 'faker/lib/locales/en/business/credit_card_types' { declare module.exports: any; } declare module 'faker/lib/locales/en/business/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/en/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/en/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/bs_adjective' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/en/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/american_express' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/diners_club' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/discover' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/jcb' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/laser' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/maestro' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/mastercard' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/solo' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/switch' { declare module.exports: any; } declare module 'faker/lib/locales/en/credit_card/visa' { declare module.exports: any; } declare module 'faker/lib/locales/en/database/collation' { declare module.exports: any; } declare module 'faker/lib/locales/en/database/column' { declare module.exports: any; } declare module 'faker/lib/locales/en/database/engine' { declare module.exports: any; } declare module 'faker/lib/locales/en/database/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/database/type' { declare module.exports: any; } declare module 'faker/lib/locales/en/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/en/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/en/finance/account_type' { declare module.exports: any; } declare module 'faker/lib/locales/en/finance/currency' { declare module.exports: any; } declare module 'faker/lib/locales/en/finance/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/finance/transaction_type' { declare module.exports: any; } declare module 'faker/lib/locales/en/hacker/abbreviation' { declare module.exports: any; } declare module 'faker/lib/locales/en/hacker/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/en/hacker/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/hacker/ingverb' { declare module.exports: any; } declare module 'faker/lib/locales/en/hacker/noun' { declare module.exports: any; } declare module 'faker/lib/locales/en/hacker/verb' { declare module.exports: any; } declare module 'faker/lib/locales/en/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/internet/avatar_uri' { declare module.exports: any; } declare module 'faker/lib/locales/en/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en/internet/example_email' { declare module.exports: any; } declare module 'faker/lib/locales/en/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/en/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/en/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/en/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/en/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/en/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/system/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/system/mimeTypes' { declare module.exports: any; } declare module 'faker/lib/locales/en/team/creature' { declare module.exports: any; } declare module 'faker/lib/locales/en/team/index' { declare module.exports: any; } declare module 'faker/lib/locales/en/team/name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/street' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/address/time_zone' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/bs_adjective' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/team/creature' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/team/index' { declare module.exports: any; } declare module 'faker/lib/locales/es_MX/team/name' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/province' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es/address/time_zone' { declare module.exports: any; } declare module 'faker/lib/locales/es/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/es/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/es/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/es/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/es/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/es/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/es/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/es/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es/index' { declare module.exports: any; } declare module 'faker/lib/locales/es/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/es/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/es/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/es/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/es/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/fa/index' { declare module.exports: any; } declare module 'faker/lib/locales/fa/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/fa/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/fa/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/fa/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/fr_CA/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/street_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/fr/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/bs_adjective' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/fr/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/fr/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/fr/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/fr/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/fr/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/fr/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/fr/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/fr/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/fr/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/fr/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/fr/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/fr/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/fr/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/address/street_title' { declare module.exports: any; } declare module 'faker/lib/locales/ge/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/ge/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/ge/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/ge/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/ge/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/ge/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/ge/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/ge/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ge/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/ge/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/ge/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/address/street_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/female_title' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/male_title' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/id_ID/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/it/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/bs_adjective' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/it/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/it/index' { declare module.exports: any; } declare module 'faker/lib/locales/it/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/it/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/it/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/it/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/it/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/it/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/it/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/it/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/it/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/it/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/it/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/ja/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/ja/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/ja/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/ja/index' { declare module.exports: any; } declare module 'faker/lib/locales/ja/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/ja/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/ja/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/ja/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/ja/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/ja/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/ko/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ko/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/ko/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ko/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ko/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ko/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/ko/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/ko/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/ko/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/ko/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/ko/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/ko/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/ko/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/lv/address/street_title' { declare module.exports: any; } declare module 'faker/lib/locales/lv/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/lv/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/lv/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/lv/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/lv/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/lv/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/lv/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/lv/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/lv/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/lv/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/lv/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/lv/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/lv/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/lv/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/city_root' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/common_street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/street_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/index' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/feminine_name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/masculine_name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/nb_NO/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/nep/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/nep/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/nep/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/nep/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/nep/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/nep/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/nep/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nep/index' { declare module.exports: any; } declare module 'faker/lib/locales/nep/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nep/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/nep/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/nep/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/nep/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/nep/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/nep/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/nep/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/nl/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/nl/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/nl/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/nl/name/tussenvoegsel' { declare module.exports: any; } declare module 'faker/lib/locales/nl/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/nl/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/pl/address/street_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/pl/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/pl/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/adjetive' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/bs_adjective' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/pl/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pl/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pl/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/pl/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/pl/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/pl/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/pl/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/pl/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/pl/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/pl/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/pl/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/pl/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/pl/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/pt_BR/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ru/address/street_title' { declare module.exports: any; } declare module 'faker/lib/locales/ru/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/ru/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/ru/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ru/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ru/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/ru/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/ru/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ru/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/ru/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/female_middle_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/male_middle_name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/ru/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/ru/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/ru/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/street' { declare module.exports: any; } declare module 'faker/lib/locales/sk/address/time_zone' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/adjective' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/bs_noun' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/bs_verb' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/descriptor' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/noun' { declare module.exports: any; } declare module 'faker/lib/locales/sk/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sk/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sk/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/sk/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/lorem/supplemental' { declare module.exports: any; } declare module 'faker/lib/locales/sk/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sk/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/sk/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/sk/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/common_street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/street_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/sv/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/cell_phone/common_cell_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/sv/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/commerce/color' { declare module.exports: any; } declare module 'faker/lib/locales/sv/commerce/department' { declare module.exports: any; } declare module 'faker/lib/locales/sv/commerce/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/commerce/product_name' { declare module.exports: any; } declare module 'faker/lib/locales/sv/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/sv/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/date/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/date/month' { declare module.exports: any; } declare module 'faker/lib/locales/sv/date/weekday' { declare module.exports: any; } declare module 'faker/lib/locales/sv/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/first_name_men' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/first_name_women' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/sv/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/sv/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/sv/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/team/index' { declare module.exports: any; } declare module 'faker/lib/locales/sv/team/name' { declare module.exports: any; } declare module 'faker/lib/locales/sv/team/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/tr/address/street_root' { declare module.exports: any; } declare module 'faker/lib/locales/tr/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/tr/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/tr/index' { declare module.exports: any; } declare module 'faker/lib/locales/tr/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/tr/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/tr/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/tr/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/tr/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/tr/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/tr/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/tr/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/tr/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/tr/phone_number/area_code' { declare module.exports: any; } declare module 'faker/lib/locales/tr/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/tr/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/city_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/country' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/secondary_address' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/street_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/address/street_title' { declare module.exports: any; } declare module 'faker/lib/locales/uk/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/uk/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/company/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/index' { declare module.exports: any; } declare module 'faker/lib/locales/uk/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/internet/free_email' { declare module.exports: any; } declare module 'faker/lib/locales/uk/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/female_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/female_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/female_middle_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/male_first_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/male_last_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/male_middle_name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/suffix' { declare module.exports: any; } declare module 'faker/lib/locales/uk/name/title' { declare module.exports: any; } declare module 'faker/lib/locales/uk/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/uk/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/address/city_root' { declare module.exports: any; } declare module 'faker/lib/locales/vi/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/vi/address/county' { declare module.exports: any; } declare module 'faker/lib/locales/vi/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/vi/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/cell_phone/formats' { declare module.exports: any; } declare module 'faker/lib/locales/vi/cell_phone/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/company/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/company/name' { declare module.exports: any; } declare module 'faker/lib/locales/vi/company/prefix' { declare module.exports: any; } declare module 'faker/lib/locales/vi/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/internet/domain_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/vi/internet/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/lorem/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/lorem/words' { declare module.exports: any; } declare module 'faker/lib/locales/vi/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/vi/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/vi/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/vi/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/vi/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/vi/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/zh_CN/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/building_number' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/city_prefix' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/city_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/city' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/default_country' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/postcode' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/state_abbr' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/state' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/street_address' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/street_name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/address/street_suffix' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/name/first_name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/name/index' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/name/last_name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/name/name' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/phone_number/formats' { declare module.exports: any; } declare module 'faker/lib/locales/zh_TW/phone_number/index' { declare module.exports: any; } declare module 'faker/lib/lorem' { declare module.exports: any; } declare module 'faker/lib/name' { declare module.exports: any; } declare module 'faker/lib/phone_number' { declare module.exports: any; } declare module 'faker/lib/random' { declare module.exports: any; } declare module 'faker/lib/system' { declare module.exports: any; } declare module 'faker/locale/az' { declare module.exports: any; } declare module 'faker/locale/cz' { declare module.exports: any; } declare module 'faker/locale/de_AT' { declare module.exports: any; } declare module 'faker/locale/de_CH' { declare module.exports: any; } declare module 'faker/locale/de' { declare module.exports: any; } declare module 'faker/locale/en_au_ocker' { declare module.exports: any; } declare module 'faker/locale/en_AU' { declare module.exports: any; } declare module 'faker/locale/en_BORK' { declare module.exports: any; } declare module 'faker/locale/en_CA' { declare module.exports: any; } declare module 'faker/locale/en_GB' { declare module.exports: any; } declare module 'faker/locale/en_IE' { declare module.exports: any; } declare module 'faker/locale/en_IND' { declare module.exports: any; } declare module 'faker/locale/en_US' { declare module.exports: any; } declare module 'faker/locale/en' { declare module.exports: any; } declare module 'faker/locale/es_MX' { declare module.exports: any; } declare module 'faker/locale/es' { declare module.exports: any; } declare module 'faker/locale/fa' { declare module.exports: any; } declare module 'faker/locale/fr_CA' { declare module.exports: any; } declare module 'faker/locale/fr' { declare module.exports: any; } declare module 'faker/locale/ge' { declare module.exports: any; } declare module 'faker/locale/id_ID' { declare module.exports: any; } declare module 'faker/locale/it' { declare module.exports: any; } declare module 'faker/locale/ja' { declare module.exports: any; } declare module 'faker/locale/ko' { declare module.exports: any; } declare module 'faker/locale/nb_NO' { declare module.exports: any; } declare module 'faker/locale/nep' { declare module.exports: any; } declare module 'faker/locale/nl' { declare module.exports: any; } declare module 'faker/locale/pl' { declare module.exports: any; } declare module 'faker/locale/pt_BR' { declare module.exports: any; } declare module 'faker/locale/ru' { declare module.exports: any; } declare module 'faker/locale/sk' { declare module.exports: any; } declare module 'faker/locale/sv' { declare module.exports: any; } declare module 'faker/locale/tr' { declare module.exports: any; } declare module 'faker/locale/uk' { declare module.exports: any; } declare module 'faker/locale/vi' { declare module.exports: any; } declare module 'faker/locale/zh_CN' { declare module.exports: any; } declare module 'faker/locale/zh_TW' { declare module.exports: any; } declare module 'faker/package' { declare module.exports: any; } declare module 'faker/vendor/mersenne' { declare module.exports: any; } declare module 'faker/vendor/user-agent' { declare module.exports: any; } // Filename aliases declare module 'faker/index' { declare module.exports: $Exports<'faker'>; } declare module 'faker/index.js' { declare module.exports: $Exports<'faker'>; } declare module 'faker/lib/address.js' { declare module.exports: $Exports<'faker/lib/address'>; } declare module 'faker/lib/commerce.js' { declare module.exports: $Exports<'faker/lib/commerce'>; } declare module 'faker/lib/company.js' { declare module.exports: $Exports<'faker/lib/company'>; } declare module 'faker/lib/database.js' { declare module.exports: $Exports<'faker/lib/database'>; } declare module 'faker/lib/date.js' { declare module.exports: $Exports<'faker/lib/date'>; } declare module 'faker/lib/fake.js' { declare module.exports: $Exports<'faker/lib/fake'>; } declare module 'faker/lib/finance.js' { declare module.exports: $Exports<'faker/lib/finance'>; } declare module 'faker/lib/hacker.js' { declare module.exports: $Exports<'faker/lib/hacker'>; } declare module 'faker/lib/helpers.js' { declare module.exports: $Exports<'faker/lib/helpers'>; } declare module 'faker/lib/iban.js' { declare module.exports: $Exports<'faker/lib/iban'>; } declare module 'faker/lib/image.js' { declare module.exports: $Exports<'faker/lib/image'>; } declare module 'faker/lib/index.js' { declare module.exports: $Exports<'faker/lib/index'>; } declare module 'faker/lib/internet.js' { declare module.exports: $Exports<'faker/lib/internet'>; } declare module 'faker/lib/locales.js' { declare module.exports: $Exports<'faker/lib/locales'>; } declare module 'faker/lib/locales/az/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/building_number'>; } declare module 'faker/lib/locales/az/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/city_name'>; } declare module 'faker/lib/locales/az/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/city'>; } declare module 'faker/lib/locales/az/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/country'>; } declare module 'faker/lib/locales/az/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/default_country'>; } declare module 'faker/lib/locales/az/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/index'>; } declare module 'faker/lib/locales/az/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/postcode'>; } declare module 'faker/lib/locales/az/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/secondary_address'>; } declare module 'faker/lib/locales/az/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/state'>; } declare module 'faker/lib/locales/az/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/street_address'>; } declare module 'faker/lib/locales/az/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/street_name'>; } declare module 'faker/lib/locales/az/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/street_suffix'>; } declare module 'faker/lib/locales/az/address/street_title.js' { declare module.exports: $Exports<'faker/lib/locales/az/address/street_title'>; } declare module 'faker/lib/locales/az/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/az/commerce/color'>; } declare module 'faker/lib/locales/az/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/az/commerce/department'>; } declare module 'faker/lib/locales/az/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/commerce/index'>; } declare module 'faker/lib/locales/az/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/commerce/product_name'>; } declare module 'faker/lib/locales/az/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/company/index'>; } declare module 'faker/lib/locales/az/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/az/company/name'>; } declare module 'faker/lib/locales/az/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/az/company/prefix'>; } declare module 'faker/lib/locales/az/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/az/company/suffix'>; } declare module 'faker/lib/locales/az/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/date/index'>; } declare module 'faker/lib/locales/az/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/az/date/month'>; } declare module 'faker/lib/locales/az/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/az/date/weekday'>; } declare module 'faker/lib/locales/az/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/index'>; } declare module 'faker/lib/locales/az/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/az/internet/domain_suffix'>; } declare module 'faker/lib/locales/az/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/az/internet/free_email'>; } declare module 'faker/lib/locales/az/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/internet/index'>; } declare module 'faker/lib/locales/az/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/female_first_name'>; } declare module 'faker/lib/locales/az/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/female_last_name'>; } declare module 'faker/lib/locales/az/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/index'>; } declare module 'faker/lib/locales/az/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/male_first_name'>; } declare module 'faker/lib/locales/az/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/male_last_name'>; } declare module 'faker/lib/locales/az/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/name'>; } declare module 'faker/lib/locales/az/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/prefix'>; } declare module 'faker/lib/locales/az/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/az/name/suffix'>; } declare module 'faker/lib/locales/az/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/az/phone_number/formats'>; } declare module 'faker/lib/locales/az/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/az/phone_number/index'>; } declare module 'faker/lib/locales/cz/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/building_number'>; } declare module 'faker/lib/locales/cz/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/city_name'>; } declare module 'faker/lib/locales/cz/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/city'>; } declare module 'faker/lib/locales/cz/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/country'>; } declare module 'faker/lib/locales/cz/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/default_country'>; } declare module 'faker/lib/locales/cz/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/index'>; } declare module 'faker/lib/locales/cz/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/postcode'>; } declare module 'faker/lib/locales/cz/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/secondary_address'>; } declare module 'faker/lib/locales/cz/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/state_abbr'>; } declare module 'faker/lib/locales/cz/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/state'>; } declare module 'faker/lib/locales/cz/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/street_address'>; } declare module 'faker/lib/locales/cz/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/street_name'>; } declare module 'faker/lib/locales/cz/address/street.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/street'>; } declare module 'faker/lib/locales/cz/address/time_zone.js' { declare module.exports: $Exports<'faker/lib/locales/cz/address/time_zone'>; } declare module 'faker/lib/locales/cz/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/adjective'>; } declare module 'faker/lib/locales/cz/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/bs_noun'>; } declare module 'faker/lib/locales/cz/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/bs_verb'>; } declare module 'faker/lib/locales/cz/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/descriptor'>; } declare module 'faker/lib/locales/cz/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/index'>; } declare module 'faker/lib/locales/cz/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/name'>; } declare module 'faker/lib/locales/cz/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/noun'>; } declare module 'faker/lib/locales/cz/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/cz/company/suffix'>; } declare module 'faker/lib/locales/cz/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/date/index'>; } declare module 'faker/lib/locales/cz/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/cz/date/month'>; } declare module 'faker/lib/locales/cz/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/cz/date/weekday'>; } declare module 'faker/lib/locales/cz/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/index'>; } declare module 'faker/lib/locales/cz/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/cz/internet/domain_suffix'>; } declare module 'faker/lib/locales/cz/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/cz/internet/free_email'>; } declare module 'faker/lib/locales/cz/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/internet/index'>; } declare module 'faker/lib/locales/cz/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/lorem/index'>; } declare module 'faker/lib/locales/cz/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/cz/lorem/supplemental'>; } declare module 'faker/lib/locales/cz/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/cz/lorem/words'>; } declare module 'faker/lib/locales/cz/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/female_first_name'>; } declare module 'faker/lib/locales/cz/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/female_last_name'>; } declare module 'faker/lib/locales/cz/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/index'>; } declare module 'faker/lib/locales/cz/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/male_first_name'>; } declare module 'faker/lib/locales/cz/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/male_last_name'>; } declare module 'faker/lib/locales/cz/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/name'>; } declare module 'faker/lib/locales/cz/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/prefix'>; } declare module 'faker/lib/locales/cz/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/suffix'>; } declare module 'faker/lib/locales/cz/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/cz/name/title'>; } declare module 'faker/lib/locales/cz/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/cz/phone_number/formats'>; } declare module 'faker/lib/locales/cz/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/cz/phone_number/index'>; } declare module 'faker/lib/locales/de_AT/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/building_number'>; } declare module 'faker/lib/locales/de_AT/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/city_name'>; } declare module 'faker/lib/locales/de_AT/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/city'>; } declare module 'faker/lib/locales/de_AT/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/country'>; } declare module 'faker/lib/locales/de_AT/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/default_country'>; } declare module 'faker/lib/locales/de_AT/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/index'>; } declare module 'faker/lib/locales/de_AT/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/postcode'>; } declare module 'faker/lib/locales/de_AT/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/secondary_address'>; } declare module 'faker/lib/locales/de_AT/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/state_abbr'>; } declare module 'faker/lib/locales/de_AT/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/state'>; } declare module 'faker/lib/locales/de_AT/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/street_address'>; } declare module 'faker/lib/locales/de_AT/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/street_name'>; } declare module 'faker/lib/locales/de_AT/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/address/street_root'>; } declare module 'faker/lib/locales/de_AT/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/cell_phone/formats'>; } declare module 'faker/lib/locales/de_AT/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/cell_phone/index'>; } declare module 'faker/lib/locales/de_AT/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/company/index'>; } declare module 'faker/lib/locales/de_AT/company/legal_form.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/company/legal_form'>; } declare module 'faker/lib/locales/de_AT/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/company/name'>; } declare module 'faker/lib/locales/de_AT/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/company/suffix'>; } declare module 'faker/lib/locales/de_AT/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/index'>; } declare module 'faker/lib/locales/de_AT/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/internet/domain_suffix'>; } declare module 'faker/lib/locales/de_AT/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/internet/free_email'>; } declare module 'faker/lib/locales/de_AT/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/internet/index'>; } declare module 'faker/lib/locales/de_AT/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/name/first_name'>; } declare module 'faker/lib/locales/de_AT/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/name/index'>; } declare module 'faker/lib/locales/de_AT/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/name/last_name'>; } declare module 'faker/lib/locales/de_AT/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/name/name'>; } declare module 'faker/lib/locales/de_AT/name/nobility_title_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/name/nobility_title_prefix'>; } declare module 'faker/lib/locales/de_AT/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/name/prefix'>; } declare module 'faker/lib/locales/de_AT/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/phone_number/formats'>; } declare module 'faker/lib/locales/de_AT/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_AT/phone_number/index'>; } declare module 'faker/lib/locales/de_CH/address/country_code.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/address/country_code'>; } declare module 'faker/lib/locales/de_CH/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/address/default_country'>; } declare module 'faker/lib/locales/de_CH/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/address/index'>; } declare module 'faker/lib/locales/de_CH/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/address/postcode'>; } declare module 'faker/lib/locales/de_CH/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/company/index'>; } declare module 'faker/lib/locales/de_CH/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/company/name'>; } declare module 'faker/lib/locales/de_CH/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/company/suffix'>; } declare module 'faker/lib/locales/de_CH/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/index'>; } declare module 'faker/lib/locales/de_CH/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/internet/domain_suffix'>; } declare module 'faker/lib/locales/de_CH/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/internet/index'>; } declare module 'faker/lib/locales/de_CH/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/name/first_name'>; } declare module 'faker/lib/locales/de_CH/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/name/index'>; } declare module 'faker/lib/locales/de_CH/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/name/last_name'>; } declare module 'faker/lib/locales/de_CH/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/name/name'>; } declare module 'faker/lib/locales/de_CH/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/name/prefix'>; } declare module 'faker/lib/locales/de_CH/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/phone_number/formats'>; } declare module 'faker/lib/locales/de_CH/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/de_CH/phone_number/index'>; } declare module 'faker/lib/locales/de/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/building_number'>; } declare module 'faker/lib/locales/de/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/city_prefix'>; } declare module 'faker/lib/locales/de/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/city_suffix'>; } declare module 'faker/lib/locales/de/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/city'>; } declare module 'faker/lib/locales/de/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/country'>; } declare module 'faker/lib/locales/de/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/default_country'>; } declare module 'faker/lib/locales/de/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/index'>; } declare module 'faker/lib/locales/de/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/postcode'>; } declare module 'faker/lib/locales/de/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/secondary_address'>; } declare module 'faker/lib/locales/de/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/state_abbr'>; } declare module 'faker/lib/locales/de/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/state'>; } declare module 'faker/lib/locales/de/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/street_address'>; } declare module 'faker/lib/locales/de/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/street_name'>; } declare module 'faker/lib/locales/de/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/de/address/street_root'>; } declare module 'faker/lib/locales/de/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/de/cell_phone/formats'>; } declare module 'faker/lib/locales/de/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/cell_phone/index'>; } declare module 'faker/lib/locales/de/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/company/index'>; } declare module 'faker/lib/locales/de/company/legal_form.js' { declare module.exports: $Exports<'faker/lib/locales/de/company/legal_form'>; } declare module 'faker/lib/locales/de/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/de/company/name'>; } declare module 'faker/lib/locales/de/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de/company/suffix'>; } declare module 'faker/lib/locales/de/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/index'>; } declare module 'faker/lib/locales/de/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/de/internet/domain_suffix'>; } declare module 'faker/lib/locales/de/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/de/internet/free_email'>; } declare module 'faker/lib/locales/de/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/internet/index'>; } declare module 'faker/lib/locales/de/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/lorem/index'>; } declare module 'faker/lib/locales/de/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/de/lorem/words'>; } declare module 'faker/lib/locales/de/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/de/name/first_name'>; } declare module 'faker/lib/locales/de/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/name/index'>; } declare module 'faker/lib/locales/de/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/de/name/last_name'>; } declare module 'faker/lib/locales/de/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/de/name/name'>; } declare module 'faker/lib/locales/de/name/nobility_title_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/de/name/nobility_title_prefix'>; } declare module 'faker/lib/locales/de/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/de/name/prefix'>; } declare module 'faker/lib/locales/de/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/de/phone_number/formats'>; } declare module 'faker/lib/locales/de/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/de/phone_number/index'>; } declare module 'faker/lib/locales/el/address/county.js' { declare module.exports: $Exports<'faker/lib/locales/el/address/county'>; } declare module 'faker/lib/locales/el/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/el/address/default_country'>; } declare module 'faker/lib/locales/el/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/address/index'>; } declare module 'faker/lib/locales/el/app/author.js' { declare module.exports: $Exports<'faker/lib/locales/el/app/author'>; } declare module 'faker/lib/locales/el/app/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/app/index'>; } declare module 'faker/lib/locales/el/app/name.js' { declare module.exports: $Exports<'faker/lib/locales/el/app/name'>; } declare module 'faker/lib/locales/el/app/version.js' { declare module.exports: $Exports<'faker/lib/locales/el/app/version'>; } declare module 'faker/lib/locales/el/business/credit_card_expiry_dates.js' { declare module.exports: $Exports<'faker/lib/locales/el/business/credit_card_expiry_dates'>; } declare module 'faker/lib/locales/el/business/credit_card_numbers.js' { declare module.exports: $Exports<'faker/lib/locales/el/business/credit_card_numbers'>; } declare module 'faker/lib/locales/el/business/credit_card_types.js' { declare module.exports: $Exports<'faker/lib/locales/el/business/credit_card_types'>; } declare module 'faker/lib/locales/el/business/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/business/index'>; } declare module 'faker/lib/locales/el/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/el/cell_phone/formats'>; } declare module 'faker/lib/locales/el/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/cell_phone/index'>; } declare module 'faker/lib/locales/el/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/el/commerce/color'>; } declare module 'faker/lib/locales/el/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/el/commerce/department'>; } declare module 'faker/lib/locales/el/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/commerce/index'>; } declare module 'faker/lib/locales/el/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/el/commerce/product_name'>; } declare module 'faker/lib/locales/el/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/adjective'>; } declare module 'faker/lib/locales/el/company/bs_adjective.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/bs_adjective'>; } declare module 'faker/lib/locales/el/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/bs_noun'>; } declare module 'faker/lib/locales/el/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/bs_verb'>; } declare module 'faker/lib/locales/el/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/descriptor'>; } declare module 'faker/lib/locales/el/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/index'>; } declare module 'faker/lib/locales/el/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/name'>; } declare module 'faker/lib/locales/el/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/noun'>; } declare module 'faker/lib/locales/el/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/el/company/suffix'>; } declare module 'faker/lib/locales/el/credit_card/american_express.js' { declare module.exports: $Exports<'faker/lib/locales/el/credit_card/american_express'>; } declare module 'faker/lib/locales/el/credit_card/discover.js' { declare module.exports: $Exports<'faker/lib/locales/el/credit_card/discover'>; } declare module 'faker/lib/locales/el/credit_card/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/credit_card/index'>; } declare module 'faker/lib/locales/el/credit_card/maestro.js' { declare module.exports: $Exports<'faker/lib/locales/el/credit_card/maestro'>; } declare module 'faker/lib/locales/el/credit_card/mastercard.js' { declare module.exports: $Exports<'faker/lib/locales/el/credit_card/mastercard'>; } declare module 'faker/lib/locales/el/credit_card/visa.js' { declare module.exports: $Exports<'faker/lib/locales/el/credit_card/visa'>; } declare module 'faker/lib/locales/el/finance/account_type.js' { declare module.exports: $Exports<'faker/lib/locales/el/finance/account_type'>; } declare module 'faker/lib/locales/el/finance/currency.js' { declare module.exports: $Exports<'faker/lib/locales/el/finance/currency'>; } declare module 'faker/lib/locales/el/finance/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/finance/index'>; } declare module 'faker/lib/locales/el/finance/transaction_type.js' { declare module.exports: $Exports<'faker/lib/locales/el/finance/transaction_type'>; } declare module 'faker/lib/locales/el/hacker/abbreviation.js' { declare module.exports: $Exports<'faker/lib/locales/el/hacker/abbreviation'>; } declare module 'faker/lib/locales/el/hacker/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/el/hacker/adjective'>; } declare module 'faker/lib/locales/el/hacker/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/hacker/index'>; } declare module 'faker/lib/locales/el/hacker/noun.js' { declare module.exports: $Exports<'faker/lib/locales/el/hacker/noun'>; } declare module 'faker/lib/locales/el/hacker/verb.js' { declare module.exports: $Exports<'faker/lib/locales/el/hacker/verb'>; } declare module 'faker/lib/locales/el/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/index'>; } declare module 'faker/lib/locales/el/internet/avatar_uri.js' { declare module.exports: $Exports<'faker/lib/locales/el/internet/avatar_uri'>; } declare module 'faker/lib/locales/el/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/el/internet/domain_suffix'>; } declare module 'faker/lib/locales/el/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/el/internet/free_email'>; } declare module 'faker/lib/locales/el/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/internet/index'>; } declare module 'faker/lib/locales/el/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/lorem/index'>; } declare module 'faker/lib/locales/el/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/el/lorem/supplemental'>; } declare module 'faker/lib/locales/el/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/el/lorem/words'>; } declare module 'faker/lib/locales/el/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/el/name/first_name'>; } declare module 'faker/lib/locales/el/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/name/index'>; } declare module 'faker/lib/locales/el/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/el/name/last_name'>; } declare module 'faker/lib/locales/el/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/el/name/name'>; } declare module 'faker/lib/locales/el/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/el/name/prefix'>; } declare module 'faker/lib/locales/el/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/el/name/title'>; } declare module 'faker/lib/locales/el/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/el/phone_number/formats'>; } declare module 'faker/lib/locales/el/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/phone_number/index'>; } declare module 'faker/lib/locales/el/team/creature.js' { declare module.exports: $Exports<'faker/lib/locales/el/team/creature'>; } declare module 'faker/lib/locales/el/team/index.js' { declare module.exports: $Exports<'faker/lib/locales/el/team/index'>; } declare module 'faker/lib/locales/el/team/name.js' { declare module.exports: $Exports<'faker/lib/locales/el/team/name'>; } declare module 'faker/lib/locales/en_au_ocker/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/building_number'>; } declare module 'faker/lib/locales/en_au_ocker/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/city_prefix'>; } declare module 'faker/lib/locales/en_au_ocker/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/city'>; } declare module 'faker/lib/locales/en_au_ocker/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/default_country'>; } declare module 'faker/lib/locales/en_au_ocker/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/index'>; } declare module 'faker/lib/locales/en_au_ocker/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/postcode'>; } declare module 'faker/lib/locales/en_au_ocker/address/region.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/region'>; } declare module 'faker/lib/locales/en_au_ocker/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/state_abbr'>; } declare module 'faker/lib/locales/en_au_ocker/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/state'>; } declare module 'faker/lib/locales/en_au_ocker/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/street_name'>; } declare module 'faker/lib/locales/en_au_ocker/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/street_root'>; } declare module 'faker/lib/locales/en_au_ocker/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/address/street_suffix'>; } declare module 'faker/lib/locales/en_au_ocker/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/company/index'>; } declare module 'faker/lib/locales/en_au_ocker/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/company/suffix'>; } declare module 'faker/lib/locales/en_au_ocker/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/index'>; } declare module 'faker/lib/locales/en_au_ocker/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_au_ocker/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/internet/index'>; } declare module 'faker/lib/locales/en_au_ocker/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/name/first_name'>; } declare module 'faker/lib/locales/en_au_ocker/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/name/index'>; } declare module 'faker/lib/locales/en_au_ocker/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/name/last_name'>; } declare module 'faker/lib/locales/en_au_ocker/name/ocker_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/name/ocker_first_name'>; } declare module 'faker/lib/locales/en_au_ocker/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/phone_number/formats'>; } declare module 'faker/lib/locales/en_au_ocker/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_au_ocker/phone_number/index'>; } declare module 'faker/lib/locales/en_AU/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/building_number'>; } declare module 'faker/lib/locales/en_AU/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/default_country'>; } declare module 'faker/lib/locales/en_AU/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/index'>; } declare module 'faker/lib/locales/en_AU/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/postcode'>; } declare module 'faker/lib/locales/en_AU/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/state_abbr'>; } declare module 'faker/lib/locales/en_AU/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/state'>; } declare module 'faker/lib/locales/en_AU/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/address/street_suffix'>; } declare module 'faker/lib/locales/en_AU/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/company/index'>; } declare module 'faker/lib/locales/en_AU/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/company/suffix'>; } declare module 'faker/lib/locales/en_AU/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/index'>; } declare module 'faker/lib/locales/en_AU/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_AU/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/internet/index'>; } declare module 'faker/lib/locales/en_AU/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/name/first_name'>; } declare module 'faker/lib/locales/en_AU/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/name/index'>; } declare module 'faker/lib/locales/en_AU/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/name/last_name'>; } declare module 'faker/lib/locales/en_AU/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/phone_number/formats'>; } declare module 'faker/lib/locales/en_AU/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_AU/phone_number/index'>; } declare module 'faker/lib/locales/en_BORK/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_BORK/index'>; } declare module 'faker/lib/locales/en_BORK/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_BORK/lorem/index'>; } declare module 'faker/lib/locales/en_BORK/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/en_BORK/lorem/words'>; } declare module 'faker/lib/locales/en_CA/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/address/default_country'>; } declare module 'faker/lib/locales/en_CA/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/address/index'>; } declare module 'faker/lib/locales/en_CA/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/address/postcode'>; } declare module 'faker/lib/locales/en_CA/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/address/state_abbr'>; } declare module 'faker/lib/locales/en_CA/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/address/state'>; } declare module 'faker/lib/locales/en_CA/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/index'>; } declare module 'faker/lib/locales/en_CA/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_CA/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/internet/free_email'>; } declare module 'faker/lib/locales/en_CA/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/internet/index'>; } declare module 'faker/lib/locales/en_CA/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/phone_number/formats'>; } declare module 'faker/lib/locales/en_CA/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_CA/phone_number/index'>; } declare module 'faker/lib/locales/en_GB/address/county.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/address/county'>; } declare module 'faker/lib/locales/en_GB/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/address/default_country'>; } declare module 'faker/lib/locales/en_GB/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/address/index'>; } declare module 'faker/lib/locales/en_GB/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/address/postcode'>; } declare module 'faker/lib/locales/en_GB/address/uk_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/address/uk_country'>; } declare module 'faker/lib/locales/en_GB/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/cell_phone/formats'>; } declare module 'faker/lib/locales/en_GB/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/cell_phone/index'>; } declare module 'faker/lib/locales/en_GB/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/index'>; } declare module 'faker/lib/locales/en_GB/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_GB/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/internet/index'>; } declare module 'faker/lib/locales/en_GB/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/phone_number/formats'>; } declare module 'faker/lib/locales/en_GB/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_GB/phone_number/index'>; } declare module 'faker/lib/locales/en_IE/address/county.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/address/county'>; } declare module 'faker/lib/locales/en_IE/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/address/default_country'>; } declare module 'faker/lib/locales/en_IE/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/address/index'>; } declare module 'faker/lib/locales/en_IE/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/cell_phone/formats'>; } declare module 'faker/lib/locales/en_IE/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/cell_phone/index'>; } declare module 'faker/lib/locales/en_IE/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/index'>; } declare module 'faker/lib/locales/en_IE/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_IE/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/internet/index'>; } declare module 'faker/lib/locales/en_IE/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/phone_number/formats'>; } declare module 'faker/lib/locales/en_IE/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IE/phone_number/index'>; } declare module 'faker/lib/locales/en_IND/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/address/default_country'>; } declare module 'faker/lib/locales/en_IND/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/address/index'>; } declare module 'faker/lib/locales/en_IND/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/address/postcode'>; } declare module 'faker/lib/locales/en_IND/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/address/state_abbr'>; } declare module 'faker/lib/locales/en_IND/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/address/state'>; } declare module 'faker/lib/locales/en_IND/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/company/index'>; } declare module 'faker/lib/locales/en_IND/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/company/suffix'>; } declare module 'faker/lib/locales/en_IND/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/index'>; } declare module 'faker/lib/locales/en_IND/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_IND/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/internet/free_email'>; } declare module 'faker/lib/locales/en_IND/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/internet/index'>; } declare module 'faker/lib/locales/en_IND/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/name/first_name'>; } declare module 'faker/lib/locales/en_IND/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/name/index'>; } declare module 'faker/lib/locales/en_IND/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/name/last_name'>; } declare module 'faker/lib/locales/en_IND/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/phone_number/formats'>; } declare module 'faker/lib/locales/en_IND/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_IND/phone_number/index'>; } declare module 'faker/lib/locales/en_US/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/address/default_country'>; } declare module 'faker/lib/locales/en_US/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/address/index'>; } declare module 'faker/lib/locales/en_US/address/postcode_by_state.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/address/postcode_by_state'>; } declare module 'faker/lib/locales/en_US/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/index'>; } declare module 'faker/lib/locales/en_US/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/internet/domain_suffix'>; } declare module 'faker/lib/locales/en_US/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/internet/index'>; } declare module 'faker/lib/locales/en_US/phone_number/area_code.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/phone_number/area_code'>; } declare module 'faker/lib/locales/en_US/phone_number/exchange_code.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/phone_number/exchange_code'>; } declare module 'faker/lib/locales/en_US/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en_US/phone_number/index'>; } declare module 'faker/lib/locales/en/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/building_number'>; } declare module 'faker/lib/locales/en/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/city_prefix'>; } declare module 'faker/lib/locales/en/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/city_suffix'>; } declare module 'faker/lib/locales/en/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/city'>; } declare module 'faker/lib/locales/en/address/country_code.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/country_code'>; } declare module 'faker/lib/locales/en/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/country'>; } declare module 'faker/lib/locales/en/address/county.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/county'>; } declare module 'faker/lib/locales/en/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/default_country'>; } declare module 'faker/lib/locales/en/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/index'>; } declare module 'faker/lib/locales/en/address/postcode_by_state.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/postcode_by_state'>; } declare module 'faker/lib/locales/en/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/postcode'>; } declare module 'faker/lib/locales/en/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/secondary_address'>; } declare module 'faker/lib/locales/en/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/state_abbr'>; } declare module 'faker/lib/locales/en/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/state'>; } declare module 'faker/lib/locales/en/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/street_address'>; } declare module 'faker/lib/locales/en/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/street_name'>; } declare module 'faker/lib/locales/en/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/street_suffix'>; } declare module 'faker/lib/locales/en/address/time_zone.js' { declare module.exports: $Exports<'faker/lib/locales/en/address/time_zone'>; } declare module 'faker/lib/locales/en/app/author.js' { declare module.exports: $Exports<'faker/lib/locales/en/app/author'>; } declare module 'faker/lib/locales/en/app/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/app/index'>; } declare module 'faker/lib/locales/en/app/name.js' { declare module.exports: $Exports<'faker/lib/locales/en/app/name'>; } declare module 'faker/lib/locales/en/app/version.js' { declare module.exports: $Exports<'faker/lib/locales/en/app/version'>; } declare module 'faker/lib/locales/en/business/credit_card_expiry_dates.js' { declare module.exports: $Exports<'faker/lib/locales/en/business/credit_card_expiry_dates'>; } declare module 'faker/lib/locales/en/business/credit_card_numbers.js' { declare module.exports: $Exports<'faker/lib/locales/en/business/credit_card_numbers'>; } declare module 'faker/lib/locales/en/business/credit_card_types.js' { declare module.exports: $Exports<'faker/lib/locales/en/business/credit_card_types'>; } declare module 'faker/lib/locales/en/business/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/business/index'>; } declare module 'faker/lib/locales/en/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en/cell_phone/formats'>; } declare module 'faker/lib/locales/en/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/cell_phone/index'>; } declare module 'faker/lib/locales/en/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/en/commerce/color'>; } declare module 'faker/lib/locales/en/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/en/commerce/department'>; } declare module 'faker/lib/locales/en/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/commerce/index'>; } declare module 'faker/lib/locales/en/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/en/commerce/product_name'>; } declare module 'faker/lib/locales/en/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/adjective'>; } declare module 'faker/lib/locales/en/company/bs_adjective.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/bs_adjective'>; } declare module 'faker/lib/locales/en/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/bs_noun'>; } declare module 'faker/lib/locales/en/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/bs_verb'>; } declare module 'faker/lib/locales/en/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/descriptor'>; } declare module 'faker/lib/locales/en/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/index'>; } declare module 'faker/lib/locales/en/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/name'>; } declare module 'faker/lib/locales/en/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/noun'>; } declare module 'faker/lib/locales/en/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en/company/suffix'>; } declare module 'faker/lib/locales/en/credit_card/american_express.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/american_express'>; } declare module 'faker/lib/locales/en/credit_card/diners_club.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/diners_club'>; } declare module 'faker/lib/locales/en/credit_card/discover.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/discover'>; } declare module 'faker/lib/locales/en/credit_card/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/index'>; } declare module 'faker/lib/locales/en/credit_card/jcb.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/jcb'>; } declare module 'faker/lib/locales/en/credit_card/laser.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/laser'>; } declare module 'faker/lib/locales/en/credit_card/maestro.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/maestro'>; } declare module 'faker/lib/locales/en/credit_card/mastercard.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/mastercard'>; } declare module 'faker/lib/locales/en/credit_card/solo.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/solo'>; } declare module 'faker/lib/locales/en/credit_card/switch.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/switch'>; } declare module 'faker/lib/locales/en/credit_card/visa.js' { declare module.exports: $Exports<'faker/lib/locales/en/credit_card/visa'>; } declare module 'faker/lib/locales/en/database/collation.js' { declare module.exports: $Exports<'faker/lib/locales/en/database/collation'>; } declare module 'faker/lib/locales/en/database/column.js' { declare module.exports: $Exports<'faker/lib/locales/en/database/column'>; } declare module 'faker/lib/locales/en/database/engine.js' { declare module.exports: $Exports<'faker/lib/locales/en/database/engine'>; } declare module 'faker/lib/locales/en/database/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/database/index'>; } declare module 'faker/lib/locales/en/database/type.js' { declare module.exports: $Exports<'faker/lib/locales/en/database/type'>; } declare module 'faker/lib/locales/en/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/date/index'>; } declare module 'faker/lib/locales/en/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/en/date/month'>; } declare module 'faker/lib/locales/en/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/en/date/weekday'>; } declare module 'faker/lib/locales/en/finance/account_type.js' { declare module.exports: $Exports<'faker/lib/locales/en/finance/account_type'>; } declare module 'faker/lib/locales/en/finance/currency.js' { declare module.exports: $Exports<'faker/lib/locales/en/finance/currency'>; } declare module 'faker/lib/locales/en/finance/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/finance/index'>; } declare module 'faker/lib/locales/en/finance/transaction_type.js' { declare module.exports: $Exports<'faker/lib/locales/en/finance/transaction_type'>; } declare module 'faker/lib/locales/en/hacker/abbreviation.js' { declare module.exports: $Exports<'faker/lib/locales/en/hacker/abbreviation'>; } declare module 'faker/lib/locales/en/hacker/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/en/hacker/adjective'>; } declare module 'faker/lib/locales/en/hacker/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/hacker/index'>; } declare module 'faker/lib/locales/en/hacker/ingverb.js' { declare module.exports: $Exports<'faker/lib/locales/en/hacker/ingverb'>; } declare module 'faker/lib/locales/en/hacker/noun.js' { declare module.exports: $Exports<'faker/lib/locales/en/hacker/noun'>; } declare module 'faker/lib/locales/en/hacker/verb.js' { declare module.exports: $Exports<'faker/lib/locales/en/hacker/verb'>; } declare module 'faker/lib/locales/en/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/index'>; } declare module 'faker/lib/locales/en/internet/avatar_uri.js' { declare module.exports: $Exports<'faker/lib/locales/en/internet/avatar_uri'>; } declare module 'faker/lib/locales/en/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en/internet/domain_suffix'>; } declare module 'faker/lib/locales/en/internet/example_email.js' { declare module.exports: $Exports<'faker/lib/locales/en/internet/example_email'>; } declare module 'faker/lib/locales/en/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/en/internet/free_email'>; } declare module 'faker/lib/locales/en/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/internet/index'>; } declare module 'faker/lib/locales/en/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/lorem/index'>; } declare module 'faker/lib/locales/en/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/en/lorem/supplemental'>; } declare module 'faker/lib/locales/en/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/en/lorem/words'>; } declare module 'faker/lib/locales/en/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/first_name'>; } declare module 'faker/lib/locales/en/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/index'>; } declare module 'faker/lib/locales/en/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/last_name'>; } declare module 'faker/lib/locales/en/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/name'>; } declare module 'faker/lib/locales/en/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/prefix'>; } declare module 'faker/lib/locales/en/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/suffix'>; } declare module 'faker/lib/locales/en/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/en/name/title'>; } declare module 'faker/lib/locales/en/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/en/phone_number/formats'>; } declare module 'faker/lib/locales/en/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/phone_number/index'>; } declare module 'faker/lib/locales/en/system/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/system/index'>; } declare module 'faker/lib/locales/en/system/mimeTypes.js' { declare module.exports: $Exports<'faker/lib/locales/en/system/mimeTypes'>; } declare module 'faker/lib/locales/en/team/creature.js' { declare module.exports: $Exports<'faker/lib/locales/en/team/creature'>; } declare module 'faker/lib/locales/en/team/index.js' { declare module.exports: $Exports<'faker/lib/locales/en/team/index'>; } declare module 'faker/lib/locales/en/team/name.js' { declare module.exports: $Exports<'faker/lib/locales/en/team/name'>; } declare module 'faker/lib/locales/es_MX/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/building_number'>; } declare module 'faker/lib/locales/es_MX/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/city_prefix'>; } declare module 'faker/lib/locales/es_MX/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/city_suffix'>; } declare module 'faker/lib/locales/es_MX/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/city'>; } declare module 'faker/lib/locales/es_MX/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/country'>; } declare module 'faker/lib/locales/es_MX/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/default_country'>; } declare module 'faker/lib/locales/es_MX/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/index'>; } declare module 'faker/lib/locales/es_MX/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/postcode'>; } declare module 'faker/lib/locales/es_MX/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/secondary_address'>; } declare module 'faker/lib/locales/es_MX/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/state_abbr'>; } declare module 'faker/lib/locales/es_MX/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/state'>; } declare module 'faker/lib/locales/es_MX/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/street_address'>; } declare module 'faker/lib/locales/es_MX/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/street_name'>; } declare module 'faker/lib/locales/es_MX/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/street_suffix'>; } declare module 'faker/lib/locales/es_MX/address/street.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/street'>; } declare module 'faker/lib/locales/es_MX/address/time_zone.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/address/time_zone'>; } declare module 'faker/lib/locales/es_MX/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/cell_phone/formats'>; } declare module 'faker/lib/locales/es_MX/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/cell_phone/index'>; } declare module 'faker/lib/locales/es_MX/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/commerce/color'>; } declare module 'faker/lib/locales/es_MX/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/commerce/department'>; } declare module 'faker/lib/locales/es_MX/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/commerce/index'>; } declare module 'faker/lib/locales/es_MX/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/commerce/product_name'>; } declare module 'faker/lib/locales/es_MX/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/adjective'>; } declare module 'faker/lib/locales/es_MX/company/bs_adjective.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/bs_adjective'>; } declare module 'faker/lib/locales/es_MX/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/bs_noun'>; } declare module 'faker/lib/locales/es_MX/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/bs_verb'>; } declare module 'faker/lib/locales/es_MX/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/descriptor'>; } declare module 'faker/lib/locales/es_MX/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/index'>; } declare module 'faker/lib/locales/es_MX/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/name'>; } declare module 'faker/lib/locales/es_MX/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/noun'>; } declare module 'faker/lib/locales/es_MX/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/company/suffix'>; } declare module 'faker/lib/locales/es_MX/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/index'>; } declare module 'faker/lib/locales/es_MX/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/internet/domain_suffix'>; } declare module 'faker/lib/locales/es_MX/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/internet/free_email'>; } declare module 'faker/lib/locales/es_MX/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/internet/index'>; } declare module 'faker/lib/locales/es_MX/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/lorem/index'>; } declare module 'faker/lib/locales/es_MX/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/lorem/supplemental'>; } declare module 'faker/lib/locales/es_MX/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/lorem/words'>; } declare module 'faker/lib/locales/es_MX/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/first_name'>; } declare module 'faker/lib/locales/es_MX/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/index'>; } declare module 'faker/lib/locales/es_MX/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/last_name'>; } declare module 'faker/lib/locales/es_MX/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/name'>; } declare module 'faker/lib/locales/es_MX/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/prefix'>; } declare module 'faker/lib/locales/es_MX/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/suffix'>; } declare module 'faker/lib/locales/es_MX/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/name/title'>; } declare module 'faker/lib/locales/es_MX/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/phone_number/formats'>; } declare module 'faker/lib/locales/es_MX/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/phone_number/index'>; } declare module 'faker/lib/locales/es_MX/team/creature.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/team/creature'>; } declare module 'faker/lib/locales/es_MX/team/index.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/team/index'>; } declare module 'faker/lib/locales/es_MX/team/name.js' { declare module.exports: $Exports<'faker/lib/locales/es_MX/team/name'>; } declare module 'faker/lib/locales/es/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/building_number'>; } declare module 'faker/lib/locales/es/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/city_prefix'>; } declare module 'faker/lib/locales/es/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/city'>; } declare module 'faker/lib/locales/es/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/country'>; } declare module 'faker/lib/locales/es/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/default_country'>; } declare module 'faker/lib/locales/es/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/index'>; } declare module 'faker/lib/locales/es/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/postcode'>; } declare module 'faker/lib/locales/es/address/province.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/province'>; } declare module 'faker/lib/locales/es/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/secondary_address'>; } declare module 'faker/lib/locales/es/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/state_abbr'>; } declare module 'faker/lib/locales/es/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/state'>; } declare module 'faker/lib/locales/es/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/street_address'>; } declare module 'faker/lib/locales/es/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/street_name'>; } declare module 'faker/lib/locales/es/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/street_suffix'>; } declare module 'faker/lib/locales/es/address/time_zone.js' { declare module.exports: $Exports<'faker/lib/locales/es/address/time_zone'>; } declare module 'faker/lib/locales/es/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/es/cell_phone/formats'>; } declare module 'faker/lib/locales/es/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/cell_phone/index'>; } declare module 'faker/lib/locales/es/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/es/company/adjective'>; } declare module 'faker/lib/locales/es/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/es/company/descriptor'>; } declare module 'faker/lib/locales/es/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/company/index'>; } declare module 'faker/lib/locales/es/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/es/company/name'>; } declare module 'faker/lib/locales/es/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/es/company/noun'>; } declare module 'faker/lib/locales/es/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es/company/suffix'>; } declare module 'faker/lib/locales/es/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/index'>; } declare module 'faker/lib/locales/es/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es/internet/domain_suffix'>; } declare module 'faker/lib/locales/es/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/es/internet/free_email'>; } declare module 'faker/lib/locales/es/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/internet/index'>; } declare module 'faker/lib/locales/es/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/first_name'>; } declare module 'faker/lib/locales/es/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/index'>; } declare module 'faker/lib/locales/es/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/last_name'>; } declare module 'faker/lib/locales/es/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/name'>; } declare module 'faker/lib/locales/es/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/prefix'>; } declare module 'faker/lib/locales/es/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/suffix'>; } declare module 'faker/lib/locales/es/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/es/name/title'>; } declare module 'faker/lib/locales/es/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/es/phone_number/formats'>; } declare module 'faker/lib/locales/es/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/es/phone_number/index'>; } declare module 'faker/lib/locales/fa/index.js' { declare module.exports: $Exports<'faker/lib/locales/fa/index'>; } declare module 'faker/lib/locales/fa/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/fa/name/first_name'>; } declare module 'faker/lib/locales/fa/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/fa/name/index'>; } declare module 'faker/lib/locales/fa/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/fa/name/last_name'>; } declare module 'faker/lib/locales/fa/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/fa/name/prefix'>; } declare module 'faker/lib/locales/fr_CA/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/address/default_country'>; } declare module 'faker/lib/locales/fr_CA/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/address/index'>; } declare module 'faker/lib/locales/fr_CA/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/address/postcode'>; } declare module 'faker/lib/locales/fr_CA/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/address/state_abbr'>; } declare module 'faker/lib/locales/fr_CA/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/address/state'>; } declare module 'faker/lib/locales/fr_CA/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/index'>; } declare module 'faker/lib/locales/fr_CA/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/internet/domain_suffix'>; } declare module 'faker/lib/locales/fr_CA/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/internet/free_email'>; } declare module 'faker/lib/locales/fr_CA/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/internet/index'>; } declare module 'faker/lib/locales/fr_CA/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/phone_number/formats'>; } declare module 'faker/lib/locales/fr_CA/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr_CA/phone_number/index'>; } declare module 'faker/lib/locales/fr/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/building_number'>; } declare module 'faker/lib/locales/fr/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/city_name'>; } declare module 'faker/lib/locales/fr/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/city'>; } declare module 'faker/lib/locales/fr/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/default_country'>; } declare module 'faker/lib/locales/fr/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/index'>; } declare module 'faker/lib/locales/fr/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/postcode'>; } declare module 'faker/lib/locales/fr/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/secondary_address'>; } declare module 'faker/lib/locales/fr/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/state'>; } declare module 'faker/lib/locales/fr/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/street_address'>; } declare module 'faker/lib/locales/fr/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/street_name'>; } declare module 'faker/lib/locales/fr/address/street_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/street_prefix'>; } declare module 'faker/lib/locales/fr/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/fr/address/street_suffix'>; } declare module 'faker/lib/locales/fr/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/adjective'>; } declare module 'faker/lib/locales/fr/company/bs_adjective.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/bs_adjective'>; } declare module 'faker/lib/locales/fr/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/bs_noun'>; } declare module 'faker/lib/locales/fr/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/bs_verb'>; } declare module 'faker/lib/locales/fr/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/descriptor'>; } declare module 'faker/lib/locales/fr/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/index'>; } declare module 'faker/lib/locales/fr/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/name'>; } declare module 'faker/lib/locales/fr/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/noun'>; } declare module 'faker/lib/locales/fr/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/fr/company/suffix'>; } declare module 'faker/lib/locales/fr/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/index'>; } declare module 'faker/lib/locales/fr/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/fr/internet/domain_suffix'>; } declare module 'faker/lib/locales/fr/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/fr/internet/free_email'>; } declare module 'faker/lib/locales/fr/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/internet/index'>; } declare module 'faker/lib/locales/fr/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/lorem/index'>; } declare module 'faker/lib/locales/fr/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/fr/lorem/supplemental'>; } declare module 'faker/lib/locales/fr/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/fr/lorem/words'>; } declare module 'faker/lib/locales/fr/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/fr/name/first_name'>; } declare module 'faker/lib/locales/fr/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/name/index'>; } declare module 'faker/lib/locales/fr/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/fr/name/last_name'>; } declare module 'faker/lib/locales/fr/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/fr/name/name'>; } declare module 'faker/lib/locales/fr/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/fr/name/prefix'>; } declare module 'faker/lib/locales/fr/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/fr/name/title'>; } declare module 'faker/lib/locales/fr/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/fr/phone_number/formats'>; } declare module 'faker/lib/locales/fr/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/fr/phone_number/index'>; } declare module 'faker/lib/locales/ge/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/building_number'>; } declare module 'faker/lib/locales/ge/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/city_name'>; } declare module 'faker/lib/locales/ge/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/city_prefix'>; } declare module 'faker/lib/locales/ge/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/city_suffix'>; } declare module 'faker/lib/locales/ge/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/city'>; } declare module 'faker/lib/locales/ge/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/country'>; } declare module 'faker/lib/locales/ge/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/default_country'>; } declare module 'faker/lib/locales/ge/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/index'>; } declare module 'faker/lib/locales/ge/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/postcode'>; } declare module 'faker/lib/locales/ge/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/secondary_address'>; } declare module 'faker/lib/locales/ge/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/street_address'>; } declare module 'faker/lib/locales/ge/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/street_name'>; } declare module 'faker/lib/locales/ge/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/street_suffix'>; } declare module 'faker/lib/locales/ge/address/street_title.js' { declare module.exports: $Exports<'faker/lib/locales/ge/address/street_title'>; } declare module 'faker/lib/locales/ge/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/ge/cell_phone/formats'>; } declare module 'faker/lib/locales/ge/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/cell_phone/index'>; } declare module 'faker/lib/locales/ge/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/company/index'>; } declare module 'faker/lib/locales/ge/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/ge/company/name'>; } declare module 'faker/lib/locales/ge/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/company/prefix'>; } declare module 'faker/lib/locales/ge/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/company/suffix'>; } declare module 'faker/lib/locales/ge/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/index'>; } declare module 'faker/lib/locales/ge/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/internet/domain_suffix'>; } declare module 'faker/lib/locales/ge/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/ge/internet/free_email'>; } declare module 'faker/lib/locales/ge/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/internet/index'>; } declare module 'faker/lib/locales/ge/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/ge/name/first_name'>; } declare module 'faker/lib/locales/ge/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/name/index'>; } declare module 'faker/lib/locales/ge/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/ge/name/last_name'>; } declare module 'faker/lib/locales/ge/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/ge/name/name'>; } declare module 'faker/lib/locales/ge/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ge/name/prefix'>; } declare module 'faker/lib/locales/ge/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/ge/name/title'>; } declare module 'faker/lib/locales/ge/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/ge/phone_number/formats'>; } declare module 'faker/lib/locales/ge/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/ge/phone_number/index'>; } declare module 'faker/lib/locales/id_ID/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/building_number'>; } declare module 'faker/lib/locales/id_ID/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/city_name'>; } declare module 'faker/lib/locales/id_ID/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/city'>; } declare module 'faker/lib/locales/id_ID/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/default_country'>; } declare module 'faker/lib/locales/id_ID/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/index'>; } declare module 'faker/lib/locales/id_ID/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/postcode'>; } declare module 'faker/lib/locales/id_ID/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/state'>; } declare module 'faker/lib/locales/id_ID/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/street_address'>; } declare module 'faker/lib/locales/id_ID/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/street_name'>; } declare module 'faker/lib/locales/id_ID/address/street_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/address/street_prefix'>; } declare module 'faker/lib/locales/id_ID/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/company/index'>; } declare module 'faker/lib/locales/id_ID/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/company/name'>; } declare module 'faker/lib/locales/id_ID/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/company/prefix'>; } declare module 'faker/lib/locales/id_ID/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/company/suffix'>; } declare module 'faker/lib/locales/id_ID/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/date/index'>; } declare module 'faker/lib/locales/id_ID/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/date/month'>; } declare module 'faker/lib/locales/id_ID/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/date/weekday'>; } declare module 'faker/lib/locales/id_ID/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/index'>; } declare module 'faker/lib/locales/id_ID/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/internet/domain_suffix'>; } declare module 'faker/lib/locales/id_ID/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/internet/free_email'>; } declare module 'faker/lib/locales/id_ID/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/internet/index'>; } declare module 'faker/lib/locales/id_ID/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/female_first_name'>; } declare module 'faker/lib/locales/id_ID/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/female_last_name'>; } declare module 'faker/lib/locales/id_ID/name/female_title.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/female_title'>; } declare module 'faker/lib/locales/id_ID/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/index'>; } declare module 'faker/lib/locales/id_ID/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/male_first_name'>; } declare module 'faker/lib/locales/id_ID/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/male_last_name'>; } declare module 'faker/lib/locales/id_ID/name/male_title.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/male_title'>; } declare module 'faker/lib/locales/id_ID/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/name'>; } declare module 'faker/lib/locales/id_ID/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/prefix'>; } declare module 'faker/lib/locales/id_ID/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/name/suffix'>; } declare module 'faker/lib/locales/id_ID/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/phone_number/formats'>; } declare module 'faker/lib/locales/id_ID/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/id_ID/phone_number/index'>; } declare module 'faker/lib/locales/it/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/building_number'>; } declare module 'faker/lib/locales/it/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/city_prefix'>; } declare module 'faker/lib/locales/it/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/city_suffix'>; } declare module 'faker/lib/locales/it/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/city'>; } declare module 'faker/lib/locales/it/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/country'>; } declare module 'faker/lib/locales/it/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/default_country'>; } declare module 'faker/lib/locales/it/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/index'>; } declare module 'faker/lib/locales/it/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/postcode'>; } declare module 'faker/lib/locales/it/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/secondary_address'>; } declare module 'faker/lib/locales/it/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/state_abbr'>; } declare module 'faker/lib/locales/it/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/state'>; } declare module 'faker/lib/locales/it/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/street_address'>; } declare module 'faker/lib/locales/it/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/street_name'>; } declare module 'faker/lib/locales/it/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/it/address/street_suffix'>; } declare module 'faker/lib/locales/it/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/adjective'>; } declare module 'faker/lib/locales/it/company/bs_adjective.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/bs_adjective'>; } declare module 'faker/lib/locales/it/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/bs_noun'>; } declare module 'faker/lib/locales/it/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/bs_verb'>; } declare module 'faker/lib/locales/it/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/descriptor'>; } declare module 'faker/lib/locales/it/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/index'>; } declare module 'faker/lib/locales/it/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/name'>; } declare module 'faker/lib/locales/it/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/noun'>; } declare module 'faker/lib/locales/it/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/it/company/suffix'>; } declare module 'faker/lib/locales/it/index.js' { declare module.exports: $Exports<'faker/lib/locales/it/index'>; } declare module 'faker/lib/locales/it/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/it/internet/domain_suffix'>; } declare module 'faker/lib/locales/it/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/it/internet/free_email'>; } declare module 'faker/lib/locales/it/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/it/internet/index'>; } declare module 'faker/lib/locales/it/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/it/name/first_name'>; } declare module 'faker/lib/locales/it/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/it/name/index'>; } declare module 'faker/lib/locales/it/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/it/name/last_name'>; } declare module 'faker/lib/locales/it/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/it/name/name'>; } declare module 'faker/lib/locales/it/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/it/name/prefix'>; } declare module 'faker/lib/locales/it/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/it/name/suffix'>; } declare module 'faker/lib/locales/it/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/it/phone_number/formats'>; } declare module 'faker/lib/locales/it/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/it/phone_number/index'>; } declare module 'faker/lib/locales/ja/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/city_prefix'>; } declare module 'faker/lib/locales/ja/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/city_suffix'>; } declare module 'faker/lib/locales/ja/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/city'>; } declare module 'faker/lib/locales/ja/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/index'>; } declare module 'faker/lib/locales/ja/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/postcode'>; } declare module 'faker/lib/locales/ja/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/state_abbr'>; } declare module 'faker/lib/locales/ja/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/state'>; } declare module 'faker/lib/locales/ja/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/ja/address/street_name'>; } declare module 'faker/lib/locales/ja/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/ja/cell_phone/formats'>; } declare module 'faker/lib/locales/ja/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/ja/cell_phone/index'>; } declare module 'faker/lib/locales/ja/index.js' { declare module.exports: $Exports<'faker/lib/locales/ja/index'>; } declare module 'faker/lib/locales/ja/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/ja/name/first_name'>; } declare module 'faker/lib/locales/ja/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/ja/name/index'>; } declare module 'faker/lib/locales/ja/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/ja/name/last_name'>; } declare module 'faker/lib/locales/ja/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/ja/name/name'>; } declare module 'faker/lib/locales/ja/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/ja/phone_number/formats'>; } declare module 'faker/lib/locales/ja/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/ja/phone_number/index'>; } declare module 'faker/lib/locales/ko/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/city_name'>; } declare module 'faker/lib/locales/ko/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/city_suffix'>; } declare module 'faker/lib/locales/ko/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/city'>; } declare module 'faker/lib/locales/ko/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/index'>; } declare module 'faker/lib/locales/ko/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/postcode'>; } declare module 'faker/lib/locales/ko/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/state_abbr'>; } declare module 'faker/lib/locales/ko/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/state'>; } declare module 'faker/lib/locales/ko/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/street_name'>; } declare module 'faker/lib/locales/ko/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/street_root'>; } declare module 'faker/lib/locales/ko/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ko/address/street_suffix'>; } declare module 'faker/lib/locales/ko/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/company/index'>; } declare module 'faker/lib/locales/ko/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/ko/company/name'>; } declare module 'faker/lib/locales/ko/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ko/company/prefix'>; } declare module 'faker/lib/locales/ko/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ko/company/suffix'>; } declare module 'faker/lib/locales/ko/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/index'>; } declare module 'faker/lib/locales/ko/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ko/internet/domain_suffix'>; } declare module 'faker/lib/locales/ko/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/ko/internet/free_email'>; } declare module 'faker/lib/locales/ko/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/internet/index'>; } declare module 'faker/lib/locales/ko/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/lorem/index'>; } declare module 'faker/lib/locales/ko/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/ko/lorem/words'>; } declare module 'faker/lib/locales/ko/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/ko/name/first_name'>; } declare module 'faker/lib/locales/ko/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/name/index'>; } declare module 'faker/lib/locales/ko/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/ko/name/last_name'>; } declare module 'faker/lib/locales/ko/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/ko/name/name'>; } declare module 'faker/lib/locales/ko/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/ko/phone_number/formats'>; } declare module 'faker/lib/locales/ko/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/ko/phone_number/index'>; } declare module 'faker/lib/locales/lv/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/building_number'>; } declare module 'faker/lib/locales/lv/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/city_name'>; } declare module 'faker/lib/locales/lv/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/city'>; } declare module 'faker/lib/locales/lv/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/country'>; } declare module 'faker/lib/locales/lv/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/default_country'>; } declare module 'faker/lib/locales/lv/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/index'>; } declare module 'faker/lib/locales/lv/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/postcode'>; } declare module 'faker/lib/locales/lv/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/secondary_address'>; } declare module 'faker/lib/locales/lv/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/state'>; } declare module 'faker/lib/locales/lv/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/street_address'>; } declare module 'faker/lib/locales/lv/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/street_name'>; } declare module 'faker/lib/locales/lv/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/street_suffix'>; } declare module 'faker/lib/locales/lv/address/street_title.js' { declare module.exports: $Exports<'faker/lib/locales/lv/address/street_title'>; } declare module 'faker/lib/locales/lv/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/lv/cell_phone/formats'>; } declare module 'faker/lib/locales/lv/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/cell_phone/index'>; } declare module 'faker/lib/locales/lv/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/lv/commerce/color'>; } declare module 'faker/lib/locales/lv/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/lv/commerce/department'>; } declare module 'faker/lib/locales/lv/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/commerce/index'>; } declare module 'faker/lib/locales/lv/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/commerce/product_name'>; } declare module 'faker/lib/locales/lv/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/company/index'>; } declare module 'faker/lib/locales/lv/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/company/name'>; } declare module 'faker/lib/locales/lv/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/lv/company/prefix'>; } declare module 'faker/lib/locales/lv/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/lv/company/suffix'>; } declare module 'faker/lib/locales/lv/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/date/index'>; } declare module 'faker/lib/locales/lv/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/lv/date/month'>; } declare module 'faker/lib/locales/lv/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/lv/date/weekday'>; } declare module 'faker/lib/locales/lv/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/index'>; } declare module 'faker/lib/locales/lv/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/lv/internet/domain_suffix'>; } declare module 'faker/lib/locales/lv/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/lv/internet/free_email'>; } declare module 'faker/lib/locales/lv/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/internet/index'>; } declare module 'faker/lib/locales/lv/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/lorem/index'>; } declare module 'faker/lib/locales/lv/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/lv/lorem/supplemental'>; } declare module 'faker/lib/locales/lv/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/lv/lorem/words'>; } declare module 'faker/lib/locales/lv/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/female_first_name'>; } declare module 'faker/lib/locales/lv/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/female_last_name'>; } declare module 'faker/lib/locales/lv/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/index'>; } declare module 'faker/lib/locales/lv/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/male_first_name'>; } declare module 'faker/lib/locales/lv/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/male_last_name'>; } declare module 'faker/lib/locales/lv/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/name'>; } declare module 'faker/lib/locales/lv/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/prefix'>; } declare module 'faker/lib/locales/lv/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/suffix'>; } declare module 'faker/lib/locales/lv/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/lv/name/title'>; } declare module 'faker/lib/locales/lv/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/lv/phone_number/formats'>; } declare module 'faker/lib/locales/lv/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/lv/phone_number/index'>; } declare module 'faker/lib/locales/nb_NO/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/building_number'>; } declare module 'faker/lib/locales/nb_NO/address/city_root.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/city_root'>; } declare module 'faker/lib/locales/nb_NO/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/city_suffix'>; } declare module 'faker/lib/locales/nb_NO/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/city'>; } declare module 'faker/lib/locales/nb_NO/address/common_street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/common_street_suffix'>; } declare module 'faker/lib/locales/nb_NO/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/default_country'>; } declare module 'faker/lib/locales/nb_NO/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/index'>; } declare module 'faker/lib/locales/nb_NO/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/postcode'>; } declare module 'faker/lib/locales/nb_NO/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/secondary_address'>; } declare module 'faker/lib/locales/nb_NO/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/state'>; } declare module 'faker/lib/locales/nb_NO/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/street_address'>; } declare module 'faker/lib/locales/nb_NO/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/street_name'>; } declare module 'faker/lib/locales/nb_NO/address/street_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/street_prefix'>; } declare module 'faker/lib/locales/nb_NO/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/street_root'>; } declare module 'faker/lib/locales/nb_NO/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/address/street_suffix'>; } declare module 'faker/lib/locales/nb_NO/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/company/index'>; } declare module 'faker/lib/locales/nb_NO/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/company/name'>; } declare module 'faker/lib/locales/nb_NO/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/company/suffix'>; } declare module 'faker/lib/locales/nb_NO/index.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/index'>; } declare module 'faker/lib/locales/nb_NO/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/internet/domain_suffix'>; } declare module 'faker/lib/locales/nb_NO/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/internet/index'>; } declare module 'faker/lib/locales/nb_NO/name/feminine_name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/feminine_name'>; } declare module 'faker/lib/locales/nb_NO/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/first_name'>; } declare module 'faker/lib/locales/nb_NO/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/index'>; } declare module 'faker/lib/locales/nb_NO/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/last_name'>; } declare module 'faker/lib/locales/nb_NO/name/masculine_name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/masculine_name'>; } declare module 'faker/lib/locales/nb_NO/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/name'>; } declare module 'faker/lib/locales/nb_NO/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/prefix'>; } declare module 'faker/lib/locales/nb_NO/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/name/suffix'>; } declare module 'faker/lib/locales/nb_NO/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/phone_number/formats'>; } declare module 'faker/lib/locales/nb_NO/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/nb_NO/phone_number/index'>; } declare module 'faker/lib/locales/nep/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/nep/address/city'>; } declare module 'faker/lib/locales/nep/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/nep/address/default_country'>; } declare module 'faker/lib/locales/nep/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/nep/address/index'>; } declare module 'faker/lib/locales/nep/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/nep/address/postcode'>; } declare module 'faker/lib/locales/nep/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/nep/address/state'>; } declare module 'faker/lib/locales/nep/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/nep/company/index'>; } declare module 'faker/lib/locales/nep/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nep/company/suffix'>; } declare module 'faker/lib/locales/nep/index.js' { declare module.exports: $Exports<'faker/lib/locales/nep/index'>; } declare module 'faker/lib/locales/nep/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nep/internet/domain_suffix'>; } declare module 'faker/lib/locales/nep/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/nep/internet/free_email'>; } declare module 'faker/lib/locales/nep/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/nep/internet/index'>; } declare module 'faker/lib/locales/nep/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/nep/name/first_name'>; } declare module 'faker/lib/locales/nep/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/nep/name/index'>; } declare module 'faker/lib/locales/nep/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/nep/name/last_name'>; } declare module 'faker/lib/locales/nep/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/nep/phone_number/formats'>; } declare module 'faker/lib/locales/nep/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/nep/phone_number/index'>; } declare module 'faker/lib/locales/nl/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/building_number'>; } declare module 'faker/lib/locales/nl/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/city_prefix'>; } declare module 'faker/lib/locales/nl/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/city_suffix'>; } declare module 'faker/lib/locales/nl/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/city'>; } declare module 'faker/lib/locales/nl/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/country'>; } declare module 'faker/lib/locales/nl/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/default_country'>; } declare module 'faker/lib/locales/nl/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/index'>; } declare module 'faker/lib/locales/nl/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/postcode'>; } declare module 'faker/lib/locales/nl/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/secondary_address'>; } declare module 'faker/lib/locales/nl/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/state'>; } declare module 'faker/lib/locales/nl/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/street_address'>; } declare module 'faker/lib/locales/nl/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/street_name'>; } declare module 'faker/lib/locales/nl/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/address/street_suffix'>; } declare module 'faker/lib/locales/nl/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/company/index'>; } declare module 'faker/lib/locales/nl/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/company/suffix'>; } declare module 'faker/lib/locales/nl/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/index'>; } declare module 'faker/lib/locales/nl/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/internet/domain_suffix'>; } declare module 'faker/lib/locales/nl/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/nl/internet/free_email'>; } declare module 'faker/lib/locales/nl/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/internet/index'>; } declare module 'faker/lib/locales/nl/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/lorem/index'>; } declare module 'faker/lib/locales/nl/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/nl/lorem/supplemental'>; } declare module 'faker/lib/locales/nl/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/nl/lorem/words'>; } declare module 'faker/lib/locales/nl/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/first_name'>; } declare module 'faker/lib/locales/nl/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/index'>; } declare module 'faker/lib/locales/nl/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/last_name'>; } declare module 'faker/lib/locales/nl/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/name'>; } declare module 'faker/lib/locales/nl/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/prefix'>; } declare module 'faker/lib/locales/nl/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/suffix'>; } declare module 'faker/lib/locales/nl/name/tussenvoegsel.js' { declare module.exports: $Exports<'faker/lib/locales/nl/name/tussenvoegsel'>; } declare module 'faker/lib/locales/nl/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/nl/phone_number/formats'>; } declare module 'faker/lib/locales/nl/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/nl/phone_number/index'>; } declare module 'faker/lib/locales/pl/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/building_number'>; } declare module 'faker/lib/locales/pl/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/city_name'>; } declare module 'faker/lib/locales/pl/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/city'>; } declare module 'faker/lib/locales/pl/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/country'>; } declare module 'faker/lib/locales/pl/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/default_country'>; } declare module 'faker/lib/locales/pl/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/index'>; } declare module 'faker/lib/locales/pl/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/postcode'>; } declare module 'faker/lib/locales/pl/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/secondary_address'>; } declare module 'faker/lib/locales/pl/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/state_abbr'>; } declare module 'faker/lib/locales/pl/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/state'>; } declare module 'faker/lib/locales/pl/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/street_address'>; } declare module 'faker/lib/locales/pl/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/street_name'>; } declare module 'faker/lib/locales/pl/address/street_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/pl/address/street_prefix'>; } declare module 'faker/lib/locales/pl/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/pl/cell_phone/formats'>; } declare module 'faker/lib/locales/pl/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/cell_phone/index'>; } declare module 'faker/lib/locales/pl/company/adjetive.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/adjetive'>; } declare module 'faker/lib/locales/pl/company/bs_adjective.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/bs_adjective'>; } declare module 'faker/lib/locales/pl/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/bs_noun'>; } declare module 'faker/lib/locales/pl/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/bs_verb'>; } declare module 'faker/lib/locales/pl/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/descriptor'>; } declare module 'faker/lib/locales/pl/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/index'>; } declare module 'faker/lib/locales/pl/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/name'>; } declare module 'faker/lib/locales/pl/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/noun'>; } declare module 'faker/lib/locales/pl/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pl/company/suffix'>; } declare module 'faker/lib/locales/pl/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/index'>; } declare module 'faker/lib/locales/pl/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pl/internet/domain_suffix'>; } declare module 'faker/lib/locales/pl/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/pl/internet/free_email'>; } declare module 'faker/lib/locales/pl/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/internet/index'>; } declare module 'faker/lib/locales/pl/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/lorem/index'>; } declare module 'faker/lib/locales/pl/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/pl/lorem/supplemental'>; } declare module 'faker/lib/locales/pl/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/pl/lorem/words'>; } declare module 'faker/lib/locales/pl/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/pl/name/first_name'>; } declare module 'faker/lib/locales/pl/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/name/index'>; } declare module 'faker/lib/locales/pl/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/pl/name/last_name'>; } declare module 'faker/lib/locales/pl/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/pl/name/name'>; } declare module 'faker/lib/locales/pl/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/pl/name/prefix'>; } declare module 'faker/lib/locales/pl/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/pl/name/title'>; } declare module 'faker/lib/locales/pl/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/pl/phone_number/formats'>; } declare module 'faker/lib/locales/pl/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/pl/phone_number/index'>; } declare module 'faker/lib/locales/pt_BR/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/building_number'>; } declare module 'faker/lib/locales/pt_BR/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/city_prefix'>; } declare module 'faker/lib/locales/pt_BR/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/city_suffix'>; } declare module 'faker/lib/locales/pt_BR/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/country'>; } declare module 'faker/lib/locales/pt_BR/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/default_country'>; } declare module 'faker/lib/locales/pt_BR/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/index'>; } declare module 'faker/lib/locales/pt_BR/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/postcode'>; } declare module 'faker/lib/locales/pt_BR/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/secondary_address'>; } declare module 'faker/lib/locales/pt_BR/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/state_abbr'>; } declare module 'faker/lib/locales/pt_BR/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/state'>; } declare module 'faker/lib/locales/pt_BR/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/address/street_suffix'>; } declare module 'faker/lib/locales/pt_BR/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/company/index'>; } declare module 'faker/lib/locales/pt_BR/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/company/name'>; } declare module 'faker/lib/locales/pt_BR/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/company/suffix'>; } declare module 'faker/lib/locales/pt_BR/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/index'>; } declare module 'faker/lib/locales/pt_BR/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/internet/domain_suffix'>; } declare module 'faker/lib/locales/pt_BR/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/internet/free_email'>; } declare module 'faker/lib/locales/pt_BR/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/internet/index'>; } declare module 'faker/lib/locales/pt_BR/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/lorem/index'>; } declare module 'faker/lib/locales/pt_BR/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/lorem/words'>; } declare module 'faker/lib/locales/pt_BR/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/name/first_name'>; } declare module 'faker/lib/locales/pt_BR/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/name/index'>; } declare module 'faker/lib/locales/pt_BR/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/name/last_name'>; } declare module 'faker/lib/locales/pt_BR/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/name/prefix'>; } declare module 'faker/lib/locales/pt_BR/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/name/suffix'>; } declare module 'faker/lib/locales/pt_BR/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/phone_number/formats'>; } declare module 'faker/lib/locales/pt_BR/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/pt_BR/phone_number/index'>; } declare module 'faker/lib/locales/ru/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/building_number'>; } declare module 'faker/lib/locales/ru/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/city_name'>; } declare module 'faker/lib/locales/ru/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/city'>; } declare module 'faker/lib/locales/ru/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/country'>; } declare module 'faker/lib/locales/ru/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/default_country'>; } declare module 'faker/lib/locales/ru/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/index'>; } declare module 'faker/lib/locales/ru/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/postcode'>; } declare module 'faker/lib/locales/ru/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/secondary_address'>; } declare module 'faker/lib/locales/ru/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/state'>; } declare module 'faker/lib/locales/ru/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/street_address'>; } declare module 'faker/lib/locales/ru/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/street_name'>; } declare module 'faker/lib/locales/ru/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/street_suffix'>; } declare module 'faker/lib/locales/ru/address/street_title.js' { declare module.exports: $Exports<'faker/lib/locales/ru/address/street_title'>; } declare module 'faker/lib/locales/ru/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/ru/commerce/color'>; } declare module 'faker/lib/locales/ru/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/ru/commerce/department'>; } declare module 'faker/lib/locales/ru/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/commerce/index'>; } declare module 'faker/lib/locales/ru/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/commerce/product_name'>; } declare module 'faker/lib/locales/ru/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/company/index'>; } declare module 'faker/lib/locales/ru/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/company/name'>; } declare module 'faker/lib/locales/ru/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ru/company/prefix'>; } declare module 'faker/lib/locales/ru/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ru/company/suffix'>; } declare module 'faker/lib/locales/ru/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/date/index'>; } declare module 'faker/lib/locales/ru/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/ru/date/month'>; } declare module 'faker/lib/locales/ru/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/ru/date/weekday'>; } declare module 'faker/lib/locales/ru/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/index'>; } declare module 'faker/lib/locales/ru/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ru/internet/domain_suffix'>; } declare module 'faker/lib/locales/ru/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/ru/internet/free_email'>; } declare module 'faker/lib/locales/ru/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/internet/index'>; } declare module 'faker/lib/locales/ru/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/female_first_name'>; } declare module 'faker/lib/locales/ru/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/female_last_name'>; } declare module 'faker/lib/locales/ru/name/female_middle_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/female_middle_name'>; } declare module 'faker/lib/locales/ru/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/index'>; } declare module 'faker/lib/locales/ru/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/male_first_name'>; } declare module 'faker/lib/locales/ru/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/male_last_name'>; } declare module 'faker/lib/locales/ru/name/male_middle_name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/male_middle_name'>; } declare module 'faker/lib/locales/ru/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/name'>; } declare module 'faker/lib/locales/ru/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/prefix'>; } declare module 'faker/lib/locales/ru/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/ru/name/suffix'>; } declare module 'faker/lib/locales/ru/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/ru/phone_number/formats'>; } declare module 'faker/lib/locales/ru/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/ru/phone_number/index'>; } declare module 'faker/lib/locales/sk/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/building_number'>; } declare module 'faker/lib/locales/sk/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/city_name'>; } declare module 'faker/lib/locales/sk/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/city_prefix'>; } declare module 'faker/lib/locales/sk/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/city_suffix'>; } declare module 'faker/lib/locales/sk/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/city'>; } declare module 'faker/lib/locales/sk/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/country'>; } declare module 'faker/lib/locales/sk/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/default_country'>; } declare module 'faker/lib/locales/sk/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/index'>; } declare module 'faker/lib/locales/sk/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/postcode'>; } declare module 'faker/lib/locales/sk/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/secondary_address'>; } declare module 'faker/lib/locales/sk/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/state_abbr'>; } declare module 'faker/lib/locales/sk/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/state'>; } declare module 'faker/lib/locales/sk/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/street_address'>; } declare module 'faker/lib/locales/sk/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/street_name'>; } declare module 'faker/lib/locales/sk/address/street.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/street'>; } declare module 'faker/lib/locales/sk/address/time_zone.js' { declare module.exports: $Exports<'faker/lib/locales/sk/address/time_zone'>; } declare module 'faker/lib/locales/sk/company/adjective.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/adjective'>; } declare module 'faker/lib/locales/sk/company/bs_noun.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/bs_noun'>; } declare module 'faker/lib/locales/sk/company/bs_verb.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/bs_verb'>; } declare module 'faker/lib/locales/sk/company/descriptor.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/descriptor'>; } declare module 'faker/lib/locales/sk/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/index'>; } declare module 'faker/lib/locales/sk/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/name'>; } declare module 'faker/lib/locales/sk/company/noun.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/noun'>; } declare module 'faker/lib/locales/sk/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sk/company/suffix'>; } declare module 'faker/lib/locales/sk/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/index'>; } declare module 'faker/lib/locales/sk/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sk/internet/domain_suffix'>; } declare module 'faker/lib/locales/sk/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/sk/internet/free_email'>; } declare module 'faker/lib/locales/sk/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/internet/index'>; } declare module 'faker/lib/locales/sk/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/lorem/index'>; } declare module 'faker/lib/locales/sk/lorem/supplemental.js' { declare module.exports: $Exports<'faker/lib/locales/sk/lorem/supplemental'>; } declare module 'faker/lib/locales/sk/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/sk/lorem/words'>; } declare module 'faker/lib/locales/sk/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/female_first_name'>; } declare module 'faker/lib/locales/sk/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/female_last_name'>; } declare module 'faker/lib/locales/sk/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/index'>; } declare module 'faker/lib/locales/sk/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/male_first_name'>; } declare module 'faker/lib/locales/sk/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/male_last_name'>; } declare module 'faker/lib/locales/sk/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/name'>; } declare module 'faker/lib/locales/sk/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/prefix'>; } declare module 'faker/lib/locales/sk/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/suffix'>; } declare module 'faker/lib/locales/sk/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/sk/name/title'>; } declare module 'faker/lib/locales/sk/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/sk/phone_number/formats'>; } declare module 'faker/lib/locales/sk/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/sk/phone_number/index'>; } declare module 'faker/lib/locales/sv/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/building_number'>; } declare module 'faker/lib/locales/sv/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/city_prefix'>; } declare module 'faker/lib/locales/sv/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/city_suffix'>; } declare module 'faker/lib/locales/sv/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/city'>; } declare module 'faker/lib/locales/sv/address/common_street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/common_street_suffix'>; } declare module 'faker/lib/locales/sv/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/country'>; } declare module 'faker/lib/locales/sv/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/default_country'>; } declare module 'faker/lib/locales/sv/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/index'>; } declare module 'faker/lib/locales/sv/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/postcode'>; } declare module 'faker/lib/locales/sv/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/secondary_address'>; } declare module 'faker/lib/locales/sv/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/state'>; } declare module 'faker/lib/locales/sv/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/street_address'>; } declare module 'faker/lib/locales/sv/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/street_name'>; } declare module 'faker/lib/locales/sv/address/street_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/street_prefix'>; } declare module 'faker/lib/locales/sv/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/street_root'>; } declare module 'faker/lib/locales/sv/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/address/street_suffix'>; } declare module 'faker/lib/locales/sv/cell_phone/common_cell_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/cell_phone/common_cell_prefix'>; } declare module 'faker/lib/locales/sv/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/sv/cell_phone/formats'>; } declare module 'faker/lib/locales/sv/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/cell_phone/index'>; } declare module 'faker/lib/locales/sv/commerce/color.js' { declare module.exports: $Exports<'faker/lib/locales/sv/commerce/color'>; } declare module 'faker/lib/locales/sv/commerce/department.js' { declare module.exports: $Exports<'faker/lib/locales/sv/commerce/department'>; } declare module 'faker/lib/locales/sv/commerce/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/commerce/index'>; } declare module 'faker/lib/locales/sv/commerce/product_name.js' { declare module.exports: $Exports<'faker/lib/locales/sv/commerce/product_name'>; } declare module 'faker/lib/locales/sv/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/company/index'>; } declare module 'faker/lib/locales/sv/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/sv/company/name'>; } declare module 'faker/lib/locales/sv/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/company/suffix'>; } declare module 'faker/lib/locales/sv/date/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/date/index'>; } declare module 'faker/lib/locales/sv/date/month.js' { declare module.exports: $Exports<'faker/lib/locales/sv/date/month'>; } declare module 'faker/lib/locales/sv/date/weekday.js' { declare module.exports: $Exports<'faker/lib/locales/sv/date/weekday'>; } declare module 'faker/lib/locales/sv/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/index'>; } declare module 'faker/lib/locales/sv/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/internet/domain_suffix'>; } declare module 'faker/lib/locales/sv/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/internet/index'>; } declare module 'faker/lib/locales/sv/name/first_name_men.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/first_name_men'>; } declare module 'faker/lib/locales/sv/name/first_name_women.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/first_name_women'>; } declare module 'faker/lib/locales/sv/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/index'>; } declare module 'faker/lib/locales/sv/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/last_name'>; } declare module 'faker/lib/locales/sv/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/name'>; } declare module 'faker/lib/locales/sv/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/prefix'>; } declare module 'faker/lib/locales/sv/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/sv/name/title'>; } declare module 'faker/lib/locales/sv/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/sv/phone_number/formats'>; } declare module 'faker/lib/locales/sv/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/phone_number/index'>; } declare module 'faker/lib/locales/sv/team/index.js' { declare module.exports: $Exports<'faker/lib/locales/sv/team/index'>; } declare module 'faker/lib/locales/sv/team/name.js' { declare module.exports: $Exports<'faker/lib/locales/sv/team/name'>; } declare module 'faker/lib/locales/sv/team/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/sv/team/suffix'>; } declare module 'faker/lib/locales/tr/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/building_number'>; } declare module 'faker/lib/locales/tr/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/city'>; } declare module 'faker/lib/locales/tr/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/country'>; } declare module 'faker/lib/locales/tr/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/default_country'>; } declare module 'faker/lib/locales/tr/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/index'>; } declare module 'faker/lib/locales/tr/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/postcode'>; } declare module 'faker/lib/locales/tr/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/street_address'>; } declare module 'faker/lib/locales/tr/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/street_name'>; } declare module 'faker/lib/locales/tr/address/street_root.js' { declare module.exports: $Exports<'faker/lib/locales/tr/address/street_root'>; } declare module 'faker/lib/locales/tr/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/tr/cell_phone/formats'>; } declare module 'faker/lib/locales/tr/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/cell_phone/index'>; } declare module 'faker/lib/locales/tr/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/index'>; } declare module 'faker/lib/locales/tr/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/tr/internet/domain_suffix'>; } declare module 'faker/lib/locales/tr/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/internet/index'>; } declare module 'faker/lib/locales/tr/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/lorem/index'>; } declare module 'faker/lib/locales/tr/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/tr/lorem/words'>; } declare module 'faker/lib/locales/tr/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/tr/name/first_name'>; } declare module 'faker/lib/locales/tr/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/name/index'>; } declare module 'faker/lib/locales/tr/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/tr/name/last_name'>; } declare module 'faker/lib/locales/tr/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/tr/name/name'>; } declare module 'faker/lib/locales/tr/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/tr/name/prefix'>; } declare module 'faker/lib/locales/tr/phone_number/area_code.js' { declare module.exports: $Exports<'faker/lib/locales/tr/phone_number/area_code'>; } declare module 'faker/lib/locales/tr/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/tr/phone_number/formats'>; } declare module 'faker/lib/locales/tr/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/tr/phone_number/index'>; } declare module 'faker/lib/locales/uk/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/building_number'>; } declare module 'faker/lib/locales/uk/address/city_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/city_name'>; } declare module 'faker/lib/locales/uk/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/city_prefix'>; } declare module 'faker/lib/locales/uk/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/city_suffix'>; } declare module 'faker/lib/locales/uk/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/city'>; } declare module 'faker/lib/locales/uk/address/country.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/country'>; } declare module 'faker/lib/locales/uk/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/default_country'>; } declare module 'faker/lib/locales/uk/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/index'>; } declare module 'faker/lib/locales/uk/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/postcode'>; } declare module 'faker/lib/locales/uk/address/secondary_address.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/secondary_address'>; } declare module 'faker/lib/locales/uk/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/state'>; } declare module 'faker/lib/locales/uk/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/street_address'>; } declare module 'faker/lib/locales/uk/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/street_name'>; } declare module 'faker/lib/locales/uk/address/street_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/street_prefix'>; } declare module 'faker/lib/locales/uk/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/street_suffix'>; } declare module 'faker/lib/locales/uk/address/street_title.js' { declare module.exports: $Exports<'faker/lib/locales/uk/address/street_title'>; } declare module 'faker/lib/locales/uk/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/uk/company/index'>; } declare module 'faker/lib/locales/uk/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/company/name'>; } declare module 'faker/lib/locales/uk/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/company/prefix'>; } declare module 'faker/lib/locales/uk/company/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/company/suffix'>; } declare module 'faker/lib/locales/uk/index.js' { declare module.exports: $Exports<'faker/lib/locales/uk/index'>; } declare module 'faker/lib/locales/uk/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/internet/domain_suffix'>; } declare module 'faker/lib/locales/uk/internet/free_email.js' { declare module.exports: $Exports<'faker/lib/locales/uk/internet/free_email'>; } declare module 'faker/lib/locales/uk/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/uk/internet/index'>; } declare module 'faker/lib/locales/uk/name/female_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/female_first_name'>; } declare module 'faker/lib/locales/uk/name/female_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/female_last_name'>; } declare module 'faker/lib/locales/uk/name/female_middle_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/female_middle_name'>; } declare module 'faker/lib/locales/uk/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/index'>; } declare module 'faker/lib/locales/uk/name/male_first_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/male_first_name'>; } declare module 'faker/lib/locales/uk/name/male_last_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/male_last_name'>; } declare module 'faker/lib/locales/uk/name/male_middle_name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/male_middle_name'>; } declare module 'faker/lib/locales/uk/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/name'>; } declare module 'faker/lib/locales/uk/name/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/prefix'>; } declare module 'faker/lib/locales/uk/name/suffix.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/suffix'>; } declare module 'faker/lib/locales/uk/name/title.js' { declare module.exports: $Exports<'faker/lib/locales/uk/name/title'>; } declare module 'faker/lib/locales/uk/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/uk/phone_number/formats'>; } declare module 'faker/lib/locales/uk/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/uk/phone_number/index'>; } declare module 'faker/lib/locales/vi/address/city_root.js' { declare module.exports: $Exports<'faker/lib/locales/vi/address/city_root'>; } declare module 'faker/lib/locales/vi/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/vi/address/city'>; } declare module 'faker/lib/locales/vi/address/county.js' { declare module.exports: $Exports<'faker/lib/locales/vi/address/county'>; } declare module 'faker/lib/locales/vi/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/vi/address/default_country'>; } declare module 'faker/lib/locales/vi/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/address/index'>; } declare module 'faker/lib/locales/vi/cell_phone/formats.js' { declare module.exports: $Exports<'faker/lib/locales/vi/cell_phone/formats'>; } declare module 'faker/lib/locales/vi/cell_phone/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/cell_phone/index'>; } declare module 'faker/lib/locales/vi/company/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/company/index'>; } declare module 'faker/lib/locales/vi/company/name.js' { declare module.exports: $Exports<'faker/lib/locales/vi/company/name'>; } declare module 'faker/lib/locales/vi/company/prefix.js' { declare module.exports: $Exports<'faker/lib/locales/vi/company/prefix'>; } declare module 'faker/lib/locales/vi/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/index'>; } declare module 'faker/lib/locales/vi/internet/domain_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/vi/internet/domain_suffix'>; } declare module 'faker/lib/locales/vi/internet/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/internet/index'>; } declare module 'faker/lib/locales/vi/lorem/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/lorem/index'>; } declare module 'faker/lib/locales/vi/lorem/words.js' { declare module.exports: $Exports<'faker/lib/locales/vi/lorem/words'>; } declare module 'faker/lib/locales/vi/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/vi/name/first_name'>; } declare module 'faker/lib/locales/vi/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/name/index'>; } declare module 'faker/lib/locales/vi/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/vi/name/last_name'>; } declare module 'faker/lib/locales/vi/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/vi/name/name'>; } declare module 'faker/lib/locales/vi/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/vi/phone_number/formats'>; } declare module 'faker/lib/locales/vi/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/vi/phone_number/index'>; } declare module 'faker/lib/locales/zh_CN/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/building_number'>; } declare module 'faker/lib/locales/zh_CN/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/city_prefix'>; } declare module 'faker/lib/locales/zh_CN/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/city_suffix'>; } declare module 'faker/lib/locales/zh_CN/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/city'>; } declare module 'faker/lib/locales/zh_CN/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/default_country'>; } declare module 'faker/lib/locales/zh_CN/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/index'>; } declare module 'faker/lib/locales/zh_CN/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/postcode'>; } declare module 'faker/lib/locales/zh_CN/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/state_abbr'>; } declare module 'faker/lib/locales/zh_CN/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/state'>; } declare module 'faker/lib/locales/zh_CN/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/street_address'>; } declare module 'faker/lib/locales/zh_CN/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/street_name'>; } declare module 'faker/lib/locales/zh_CN/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/address/street_suffix'>; } declare module 'faker/lib/locales/zh_CN/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/index'>; } declare module 'faker/lib/locales/zh_CN/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/name/first_name'>; } declare module 'faker/lib/locales/zh_CN/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/name/index'>; } declare module 'faker/lib/locales/zh_CN/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/name/last_name'>; } declare module 'faker/lib/locales/zh_CN/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/name/name'>; } declare module 'faker/lib/locales/zh_CN/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/phone_number/formats'>; } declare module 'faker/lib/locales/zh_CN/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_CN/phone_number/index'>; } declare module 'faker/lib/locales/zh_TW/address/building_number.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/building_number'>; } declare module 'faker/lib/locales/zh_TW/address/city_prefix.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/city_prefix'>; } declare module 'faker/lib/locales/zh_TW/address/city_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/city_suffix'>; } declare module 'faker/lib/locales/zh_TW/address/city.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/city'>; } declare module 'faker/lib/locales/zh_TW/address/default_country.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/default_country'>; } declare module 'faker/lib/locales/zh_TW/address/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/index'>; } declare module 'faker/lib/locales/zh_TW/address/postcode.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/postcode'>; } declare module 'faker/lib/locales/zh_TW/address/state_abbr.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/state_abbr'>; } declare module 'faker/lib/locales/zh_TW/address/state.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/state'>; } declare module 'faker/lib/locales/zh_TW/address/street_address.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/street_address'>; } declare module 'faker/lib/locales/zh_TW/address/street_name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/street_name'>; } declare module 'faker/lib/locales/zh_TW/address/street_suffix.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/address/street_suffix'>; } declare module 'faker/lib/locales/zh_TW/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/index'>; } declare module 'faker/lib/locales/zh_TW/name/first_name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/name/first_name'>; } declare module 'faker/lib/locales/zh_TW/name/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/name/index'>; } declare module 'faker/lib/locales/zh_TW/name/last_name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/name/last_name'>; } declare module 'faker/lib/locales/zh_TW/name/name.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/name/name'>; } declare module 'faker/lib/locales/zh_TW/phone_number/formats.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/phone_number/formats'>; } declare module 'faker/lib/locales/zh_TW/phone_number/index.js' { declare module.exports: $Exports<'faker/lib/locales/zh_TW/phone_number/index'>; } declare module 'faker/lib/lorem.js' { declare module.exports: $Exports<'faker/lib/lorem'>; } declare module 'faker/lib/name.js' { declare module.exports: $Exports<'faker/lib/name'>; } declare module 'faker/lib/phone_number.js' { declare module.exports: $Exports<'faker/lib/phone_number'>; } declare module 'faker/lib/random.js' { declare module.exports: $Exports<'faker/lib/random'>; } declare module 'faker/lib/system.js' { declare module.exports: $Exports<'faker/lib/system'>; } declare module 'faker/locale/az.js' { declare module.exports: $Exports<'faker/locale/az'>; } declare module 'faker/locale/cz.js' { declare module.exports: $Exports<'faker/locale/cz'>; } declare module 'faker/locale/de_AT.js' { declare module.exports: $Exports<'faker/locale/de_AT'>; } declare module 'faker/locale/de_CH.js' { declare module.exports: $Exports<'faker/locale/de_CH'>; } declare module 'faker/locale/de.js' { declare module.exports: $Exports<'faker/locale/de'>; } declare module 'faker/locale/en_au_ocker.js' { declare module.exports: $Exports<'faker/locale/en_au_ocker'>; } declare module 'faker/locale/en_AU.js' { declare module.exports: $Exports<'faker/locale/en_AU'>; } declare module 'faker/locale/en_BORK.js' { declare module.exports: $Exports<'faker/locale/en_BORK'>; } declare module 'faker/locale/en_CA.js' { declare module.exports: $Exports<'faker/locale/en_CA'>; } declare module 'faker/locale/en_GB.js' { declare module.exports: $Exports<'faker/locale/en_GB'>; } declare module 'faker/locale/en_IE.js' { declare module.exports: $Exports<'faker/locale/en_IE'>; } declare module 'faker/locale/en_IND.js' { declare module.exports: $Exports<'faker/locale/en_IND'>; } declare module 'faker/locale/en_US.js' { declare module.exports: $Exports<'faker/locale/en_US'>; } declare module 'faker/locale/en.js' { declare module.exports: $Exports<'faker/locale/en'>; } declare module 'faker/locale/es_MX.js' { declare module.exports: $Exports<'faker/locale/es_MX'>; } declare module 'faker/locale/es.js' { declare module.exports: $Exports<'faker/locale/es'>; } declare module 'faker/locale/fa.js' { declare module.exports: $Exports<'faker/locale/fa'>; } declare module 'faker/locale/fr_CA.js' { declare module.exports: $Exports<'faker/locale/fr_CA'>; } declare module 'faker/locale/fr.js' { declare module.exports: $Exports<'faker/locale/fr'>; } declare module 'faker/locale/ge.js' { declare module.exports: $Exports<'faker/locale/ge'>; } declare module 'faker/locale/id_ID.js' { declare module.exports: $Exports<'faker/locale/id_ID'>; } declare module 'faker/locale/it.js' { declare module.exports: $Exports<'faker/locale/it'>; } declare module 'faker/locale/ja.js' { declare module.exports: $Exports<'faker/locale/ja'>; } declare module 'faker/locale/ko.js' { declare module.exports: $Exports<'faker/locale/ko'>; } declare module 'faker/locale/nb_NO.js' { declare module.exports: $Exports<'faker/locale/nb_NO'>; } declare module 'faker/locale/nep.js' { declare module.exports: $Exports<'faker/locale/nep'>; } declare module 'faker/locale/nl.js' { declare module.exports: $Exports<'faker/locale/nl'>; } declare module 'faker/locale/pl.js' { declare module.exports: $Exports<'faker/locale/pl'>; } declare module 'faker/locale/pt_BR.js' { declare module.exports: $Exports<'faker/locale/pt_BR'>; } declare module 'faker/locale/ru.js' { declare module.exports: $Exports<'faker/locale/ru'>; } declare module 'faker/locale/sk.js' { declare module.exports: $Exports<'faker/locale/sk'>; } declare module 'faker/locale/sv.js' { declare module.exports: $Exports<'faker/locale/sv'>; } declare module 'faker/locale/tr.js' { declare module.exports: $Exports<'faker/locale/tr'>; } declare module 'faker/locale/uk.js' { declare module.exports: $Exports<'faker/locale/uk'>; } declare module 'faker/locale/vi.js' { declare module.exports: $Exports<'faker/locale/vi'>; } declare module 'faker/locale/zh_CN.js' { declare module.exports: $Exports<'faker/locale/zh_CN'>; } declare module 'faker/locale/zh_TW.js' { declare module.exports: $Exports<'faker/locale/zh_TW'>; } declare module 'faker/package.js' { declare module.exports: $Exports<'faker/package'>; } declare module 'faker/vendor/mersenne.js' { declare module.exports: $Exports<'faker/vendor/mersenne'>; } declare module 'faker/vendor/user-agent.js' { declare module.exports: $Exports<'faker/vendor/user-agent'>; } ================================================ FILE: flow-typed/npm/find-with-regex_vx.x.x.js ================================================ // flow-typed signature: ea9375fa3f0b4460bb925b8d38939da9 // flow-typed version: <>/find-with-regex_v^1.0.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'find-with-regex' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'find-with-regex' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'find-with-regex/lib/index' { declare module.exports: any; } // Filename aliases declare module 'find-with-regex/lib/index.js' { declare module.exports: $Exports<'find-with-regex/lib/index'>; } ================================================ FILE: flow-typed/npm/flow-bin_v0.x.x.js ================================================ // flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583 // flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x declare module 'flow-bin' { declare module.exports: string; } ================================================ FILE: flow-typed/npm/flow-typed_vx.x.x.js ================================================ // flow-typed signature: 877ccd9f736270ac4812cb3a5319a621 // flow-typed version: <>/flow-typed_v^2.1.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'flow-typed' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'flow-typed' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'flow-typed/dist/cli' { declare module.exports: any; } declare module 'flow-typed/dist/commands/create-stub' { declare module.exports: any; } declare module 'flow-typed/dist/commands/install' { declare module.exports: any; } declare module 'flow-typed/dist/commands/runTests' { declare module.exports: any; } declare module 'flow-typed/dist/commands/search' { declare module.exports: any; } declare module 'flow-typed/dist/commands/update-cache' { declare module.exports: any; } declare module 'flow-typed/dist/commands/update' { declare module.exports: any; } declare module 'flow-typed/dist/commands/validateDefs' { declare module.exports: any; } declare module 'flow-typed/dist/commands/version' { declare module.exports: any; } declare module 'flow-typed/dist/lib/cacheRepoUtils' { declare module.exports: any; } declare module 'flow-typed/dist/lib/codeSign' { declare module.exports: any; } declare module 'flow-typed/dist/lib/fileUtils' { declare module.exports: any; } declare module 'flow-typed/dist/lib/flowProjectUtils' { declare module.exports: any; } declare module 'flow-typed/dist/lib/flowVersion' { declare module.exports: any; } declare module 'flow-typed/dist/lib/git' { declare module.exports: any; } declare module 'flow-typed/dist/lib/github' { declare module.exports: any; } declare module 'flow-typed/dist/lib/isInFlowTypedRepo' { declare module.exports: any; } declare module 'flow-typed/dist/lib/libDefs' { declare module.exports: any; } declare module 'flow-typed/dist/lib/node' { declare module.exports: any; } declare module 'flow-typed/dist/lib/npm/npmLibDefs' { declare module.exports: any; } declare module 'flow-typed/dist/lib/npm/npmProjectUtils' { declare module.exports: any; } declare module 'flow-typed/dist/lib/semver' { declare module.exports: any; } declare module 'flow-typed/dist/lib/stubUtils' { declare module.exports: any; } declare module 'flow-typed/dist/lib/validationErrors' { declare module.exports: any; } // Filename aliases declare module 'flow-typed/dist/cli.js' { declare module.exports: $Exports<'flow-typed/dist/cli'>; } declare module 'flow-typed/dist/commands/create-stub.js' { declare module.exports: $Exports<'flow-typed/dist/commands/create-stub'>; } declare module 'flow-typed/dist/commands/install.js' { declare module.exports: $Exports<'flow-typed/dist/commands/install'>; } declare module 'flow-typed/dist/commands/runTests.js' { declare module.exports: $Exports<'flow-typed/dist/commands/runTests'>; } declare module 'flow-typed/dist/commands/search.js' { declare module.exports: $Exports<'flow-typed/dist/commands/search'>; } declare module 'flow-typed/dist/commands/update-cache.js' { declare module.exports: $Exports<'flow-typed/dist/commands/update-cache'>; } declare module 'flow-typed/dist/commands/update.js' { declare module.exports: $Exports<'flow-typed/dist/commands/update'>; } declare module 'flow-typed/dist/commands/validateDefs.js' { declare module.exports: $Exports<'flow-typed/dist/commands/validateDefs'>; } declare module 'flow-typed/dist/commands/version.js' { declare module.exports: $Exports<'flow-typed/dist/commands/version'>; } declare module 'flow-typed/dist/lib/cacheRepoUtils.js' { declare module.exports: $Exports<'flow-typed/dist/lib/cacheRepoUtils'>; } declare module 'flow-typed/dist/lib/codeSign.js' { declare module.exports: $Exports<'flow-typed/dist/lib/codeSign'>; } declare module 'flow-typed/dist/lib/fileUtils.js' { declare module.exports: $Exports<'flow-typed/dist/lib/fileUtils'>; } declare module 'flow-typed/dist/lib/flowProjectUtils.js' { declare module.exports: $Exports<'flow-typed/dist/lib/flowProjectUtils'>; } declare module 'flow-typed/dist/lib/flowVersion.js' { declare module.exports: $Exports<'flow-typed/dist/lib/flowVersion'>; } declare module 'flow-typed/dist/lib/git.js' { declare module.exports: $Exports<'flow-typed/dist/lib/git'>; } declare module 'flow-typed/dist/lib/github.js' { declare module.exports: $Exports<'flow-typed/dist/lib/github'>; } declare module 'flow-typed/dist/lib/isInFlowTypedRepo.js' { declare module.exports: $Exports<'flow-typed/dist/lib/isInFlowTypedRepo'>; } declare module 'flow-typed/dist/lib/libDefs.js' { declare module.exports: $Exports<'flow-typed/dist/lib/libDefs'>; } declare module 'flow-typed/dist/lib/node.js' { declare module.exports: $Exports<'flow-typed/dist/lib/node'>; } declare module 'flow-typed/dist/lib/npm/npmLibDefs.js' { declare module.exports: $Exports<'flow-typed/dist/lib/npm/npmLibDefs'>; } declare module 'flow-typed/dist/lib/npm/npmProjectUtils.js' { declare module.exports: $Exports<'flow-typed/dist/lib/npm/npmProjectUtils'>; } declare module 'flow-typed/dist/lib/semver.js' { declare module.exports: $Exports<'flow-typed/dist/lib/semver'>; } declare module 'flow-typed/dist/lib/stubUtils.js' { declare module.exports: $Exports<'flow-typed/dist/lib/stubUtils'>; } declare module 'flow-typed/dist/lib/validationErrors.js' { declare module.exports: $Exports<'flow-typed/dist/lib/validationErrors'>; } ================================================ FILE: flow-typed/npm/graphql-cost-analysis_vx.x.x.js ================================================ // flow-typed signature: 6f34cd04ffc6c219f3ffa1bbc8b006a0 // flow-typed version: <>/graphql-cost-analysis_v0.1.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-cost-analysis' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-cost-analysis' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-cost-analysis/dist/costAnalysis' { declare module.exports: any; } declare module 'graphql-cost-analysis/dist/index' { declare module.exports: any; } // Filename aliases declare module 'graphql-cost-analysis/dist/costAnalysis.js' { declare module.exports: $Exports<'graphql-cost-analysis/dist/costAnalysis'>; } declare module 'graphql-cost-analysis/dist/index.js' { declare module.exports: $Exports<'graphql-cost-analysis/dist/index'>; } ================================================ FILE: flow-typed/npm/graphql-date_vx.x.x.js ================================================ // flow-typed signature: 1c72c3b4cfd91eb48e0ad98292d2747f // flow-typed version: <>/graphql-date_v^1.0.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-date' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-date' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-date/test/graphql-date.test' { declare module.exports: any; } declare module 'graphql-date/test/legacy.test' { declare module.exports: any; } // Filename aliases declare module 'graphql-date/index' { declare module.exports: $Exports<'graphql-date'>; } declare module 'graphql-date/index.js' { declare module.exports: $Exports<'graphql-date'>; } declare module 'graphql-date/test/graphql-date.test.js' { declare module.exports: $Exports<'graphql-date/test/graphql-date.test'>; } declare module 'graphql-date/test/legacy.test.js' { declare module.exports: $Exports<'graphql-date/test/legacy.test'>; } ================================================ FILE: flow-typed/npm/graphql-depth-limit_vx.x.x.js ================================================ // flow-typed signature: 5c212600a16cd77c524a6fdb88265c97 // flow-typed version: <>/graphql-depth-limit_v1.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-depth-limit' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-depth-limit' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'graphql-depth-limit/index' { declare module.exports: $Exports<'graphql-depth-limit'>; } declare module 'graphql-depth-limit/index.js' { declare module.exports: $Exports<'graphql-depth-limit'>; } ================================================ FILE: flow-typed/npm/graphql-log_vx.x.x.js ================================================ // flow-typed signature: 7900a943a169970aa21d013eacbd331d // flow-typed version: <>/graphql-log_v0.1.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-log' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-log' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-log/dist/index' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-cli_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-core_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-eslint_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-polyfill_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-preset-env_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-preset-es2015_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-preset-flow_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/babel-preset-stage-2_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/deep-for-each_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/eslint_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/eslint-plugin-babel_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/flow-bin_v0.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/husky_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/is-function_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/jest_v19.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/lint-staged_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/prettier_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/flow-typed/npm/rimraf_vx.x.x' { declare module.exports: any; } declare module 'graphql-log/src/index' { declare module.exports: any; } declare module 'graphql-log/src/test/index.test' { declare module.exports: any; } // Filename aliases declare module 'graphql-log/dist/index.js' { declare module.exports: $Exports<'graphql-log/dist/index'>; } declare module 'graphql-log/flow-typed/npm/babel-cli_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-cli_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-core_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-core_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-eslint_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-eslint_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-polyfill_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-polyfill_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-preset-env_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-preset-env_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-preset-es2015_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-preset-es2015_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-preset-flow_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-preset-flow_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/babel-preset-stage-2_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/babel-preset-stage-2_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/deep-for-each_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/deep-for-each_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/eslint_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/eslint_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/eslint-plugin-babel_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/eslint-plugin-babel_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/flow-bin_v0.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/flow-bin_v0.x.x'>; } declare module 'graphql-log/flow-typed/npm/husky_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/husky_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/is-function_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/is-function_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/jest_v19.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/jest_v19.x.x'>; } declare module 'graphql-log/flow-typed/npm/lint-staged_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/lint-staged_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/prettier_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/prettier_vx.x.x'>; } declare module 'graphql-log/flow-typed/npm/rimraf_vx.x.x.js' { declare module.exports: $Exports<'graphql-log/flow-typed/npm/rimraf_vx.x.x'>; } declare module 'graphql-log/src/index.js' { declare module.exports: $Exports<'graphql-log/src/index'>; } declare module 'graphql-log/src/test/index.test.js' { declare module.exports: $Exports<'graphql-log/src/test/index.test'>; } ================================================ FILE: flow-typed/npm/graphql-redis-subscriptions_vx.x.x.js ================================================ // flow-typed signature: fd16369878a28a2d09c30a654556daaa // flow-typed version: <>/graphql-redis-subscriptions_v^1.3.1/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'graphql-redis-subscriptions' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-redis-subscriptions' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-redis-subscriptions/dist/index' { declare module.exports: any; } declare module 'graphql-redis-subscriptions/dist/pubsub-async-iterator' { declare module.exports: any; } declare module 'graphql-redis-subscriptions/dist/redis-pubsub' { declare module.exports: any; } declare module 'graphql-redis-subscriptions/dist/test/benchmark' { declare module.exports: any; } declare module 'graphql-redis-subscriptions/dist/test/integration-tests' { declare module.exports: any; } declare module 'graphql-redis-subscriptions/dist/test/tests' { declare module.exports: any; } declare module 'graphql-redis-subscriptions/dist/with-filter' { declare module.exports: any; } // Filename aliases declare module 'graphql-redis-subscriptions/dist/index.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/index'>; } declare module 'graphql-redis-subscriptions/dist/pubsub-async-iterator.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/pubsub-async-iterator'>; } declare module 'graphql-redis-subscriptions/dist/redis-pubsub.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/redis-pubsub'>; } declare module 'graphql-redis-subscriptions/dist/test/benchmark.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/test/benchmark'>; } declare module 'graphql-redis-subscriptions/dist/test/integration-tests.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/test/integration-tests'>; } declare module 'graphql-redis-subscriptions/dist/test/tests.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/test/tests'>; } declare module 'graphql-redis-subscriptions/dist/with-filter.js' { declare module.exports: $Exports<'graphql-redis-subscriptions/dist/with-filter'>; } ================================================ FILE: flow-typed/npm/graphql-server-express_vx.x.x.js ================================================ // flow-typed signature: 4966d6a53f25b78ad61e1baabada4370 // flow-typed version: <>/graphql-server-express_v1.3.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-server-express' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-server-express' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-server-express/dist/index' { declare module.exports: any; } // Filename aliases declare module 'graphql-server-express/dist/index.js' { declare module.exports: $Exports<'graphql-server-express/dist/index'>; } ================================================ FILE: flow-typed/npm/graphql-subscriptions_vx.x.x.js ================================================ // flow-typed signature: 0e96f5c40170f0a767935cd15c8cb65b // flow-typed version: <>/graphql-subscriptions_v0.5.6/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-subscriptions' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-subscriptions' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-subscriptions/dist/event-emitter-to-async-iterator' { declare module.exports: any; } declare module 'graphql-subscriptions/dist/index' { declare module.exports: any; } declare module 'graphql-subscriptions/dist/pubsub-engine' { declare module.exports: any; } declare module 'graphql-subscriptions/dist/pubsub' { declare module.exports: any; } declare module 'graphql-subscriptions/dist/subscriptions-manager' { declare module.exports: any; } declare module 'graphql-subscriptions/dist/validation' { declare module.exports: any; } declare module 'graphql-subscriptions/dist/with-filter' { declare module.exports: any; } // Filename aliases declare module 'graphql-subscriptions/dist/event-emitter-to-async-iterator.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/event-emitter-to-async-iterator'>; } declare module 'graphql-subscriptions/dist/index.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/index'>; } declare module 'graphql-subscriptions/dist/pubsub-engine.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/pubsub-engine'>; } declare module 'graphql-subscriptions/dist/pubsub.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/pubsub'>; } declare module 'graphql-subscriptions/dist/subscriptions-manager.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/subscriptions-manager'>; } declare module 'graphql-subscriptions/dist/validation.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/validation'>; } declare module 'graphql-subscriptions/dist/with-filter.js' { declare module.exports: $Exports<'graphql-subscriptions/dist/with-filter'>; } ================================================ FILE: flow-typed/npm/graphql-tag_vx.x.x.js ================================================ // flow-typed signature: 0a3303fe3521a89f0794428c58ea2147 // flow-typed version: <>/graphql-tag_v2.6.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-tag' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-tag' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-tag/lib/graphql-tag.umd' { declare module.exports: any; } declare module 'graphql-tag/loader' { declare module.exports: any; } declare module 'graphql-tag/src/index' { declare module.exports: any; } // Filename aliases declare module 'graphql-tag/lib/graphql-tag.umd.js' { declare module.exports: $Exports<'graphql-tag/lib/graphql-tag.umd'>; } declare module 'graphql-tag/loader.js' { declare module.exports: $Exports<'graphql-tag/loader'>; } declare module 'graphql-tag/src/index.js' { declare module.exports: $Exports<'graphql-tag/src/index'>; } ================================================ FILE: flow-typed/npm/graphql-tools_vx.x.x.js ================================================ // flow-typed signature: e8f91a42baf321253f225b362b1b3d06 // flow-typed version: <>/graphql-tools_v1.2.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'graphql-tools' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql-tools' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql-tools/dist/autopublish' { declare module.exports: any; } declare module 'graphql-tools/dist/index' { declare module.exports: any; } declare module 'graphql-tools/dist/Interfaces' { declare module.exports: any; } declare module 'graphql-tools/dist/Logger' { declare module.exports: any; } declare module 'graphql-tools/dist/mock' { declare module.exports: any; } declare module 'graphql-tools/dist/schemaGenerator' { declare module.exports: any; } // Filename aliases declare module 'graphql-tools/dist/autopublish.js' { declare module.exports: $Exports<'graphql-tools/dist/autopublish'>; } declare module 'graphql-tools/dist/index.js' { declare module.exports: $Exports<'graphql-tools/dist/index'>; } declare module 'graphql-tools/dist/Interfaces.js' { declare module.exports: $Exports<'graphql-tools/dist/Interfaces'>; } declare module 'graphql-tools/dist/Logger.js' { declare module.exports: $Exports<'graphql-tools/dist/Logger'>; } declare module 'graphql-tools/dist/mock.js' { declare module.exports: $Exports<'graphql-tools/dist/mock'>; } declare module 'graphql-tools/dist/schemaGenerator.js' { declare module.exports: $Exports<'graphql-tools/dist/schemaGenerator'>; } ================================================ FILE: flow-typed/npm/graphql_vx.x.x.js ================================================ // flow-typed signature: 6a9a54e28cf27a72dac12624b4202f2d // flow-typed version: <>/graphql_v0.10.5/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'graphql' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'graphql' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'graphql/error/formatError' { declare module.exports: any; } declare module 'graphql/error/GraphQLError' { declare module.exports: any; } declare module 'graphql/error/index' { declare module.exports: any; } declare module 'graphql/error/locatedError' { declare module.exports: any; } declare module 'graphql/error/syntaxError' { declare module.exports: any; } declare module 'graphql/execution/execute' { declare module.exports: any; } declare module 'graphql/execution/index' { declare module.exports: any; } declare module 'graphql/execution/values' { declare module.exports: any; } declare module 'graphql/graphql' { declare module.exports: any; } declare module 'graphql/jsutils/dedent' { declare module.exports: any; } declare module 'graphql/jsutils/find' { declare module.exports: any; } declare module 'graphql/jsutils/invariant' { declare module.exports: any; } declare module 'graphql/jsutils/isInvalid' { declare module.exports: any; } declare module 'graphql/jsutils/isNullish' { declare module.exports: any; } declare module 'graphql/jsutils/keyMap' { declare module.exports: any; } declare module 'graphql/jsutils/keyValMap' { declare module.exports: any; } declare module 'graphql/jsutils/quotedOrList' { declare module.exports: any; } declare module 'graphql/jsutils/suggestionList' { declare module.exports: any; } declare module 'graphql/language/ast' { declare module.exports: any; } declare module 'graphql/language/index' { declare module.exports: any; } declare module 'graphql/language/kinds' { declare module.exports: any; } declare module 'graphql/language/lexer' { declare module.exports: any; } declare module 'graphql/language/location' { declare module.exports: any; } declare module 'graphql/language/parser' { declare module.exports: any; } declare module 'graphql/language/printer' { declare module.exports: any; } declare module 'graphql/language/source' { declare module.exports: any; } declare module 'graphql/language/visitor' { declare module.exports: any; } declare module 'graphql/subscription/index' { declare module.exports: any; } declare module 'graphql/subscription/mapAsyncIterator' { declare module.exports: any; } declare module 'graphql/subscription/subscribe' { declare module.exports: any; } declare module 'graphql/type/definition' { declare module.exports: any; } declare module 'graphql/type/directives' { declare module.exports: any; } declare module 'graphql/type/index' { declare module.exports: any; } declare module 'graphql/type/introspection' { declare module.exports: any; } declare module 'graphql/type/scalars' { declare module.exports: any; } declare module 'graphql/type/schema' { declare module.exports: any; } declare module 'graphql/utilities/assertValidName' { declare module.exports: any; } declare module 'graphql/utilities/astFromValue' { declare module.exports: any; } declare module 'graphql/utilities/buildASTSchema' { declare module.exports: any; } declare module 'graphql/utilities/buildClientSchema' { declare module.exports: any; } declare module 'graphql/utilities/concatAST' { declare module.exports: any; } declare module 'graphql/utilities/extendSchema' { declare module.exports: any; } declare module 'graphql/utilities/findBreakingChanges' { declare module.exports: any; } declare module 'graphql/utilities/findDeprecatedUsages' { declare module.exports: any; } declare module 'graphql/utilities/getOperationAST' { declare module.exports: any; } declare module 'graphql/utilities/index' { declare module.exports: any; } declare module 'graphql/utilities/introspectionQuery' { declare module.exports: any; } declare module 'graphql/utilities/isValidJSValue' { declare module.exports: any; } declare module 'graphql/utilities/isValidLiteralValue' { declare module.exports: any; } declare module 'graphql/utilities/schemaPrinter' { declare module.exports: any; } declare module 'graphql/utilities/separateOperations' { declare module.exports: any; } declare module 'graphql/utilities/typeComparators' { declare module.exports: any; } declare module 'graphql/utilities/typeFromAST' { declare module.exports: any; } declare module 'graphql/utilities/TypeInfo' { declare module.exports: any; } declare module 'graphql/utilities/valueFromAST' { declare module.exports: any; } declare module 'graphql/validation/index' { declare module.exports: any; } declare module 'graphql/validation/rules/ArgumentsOfCorrectType' { declare module.exports: any; } declare module 'graphql/validation/rules/DefaultValuesOfCorrectType' { declare module.exports: any; } declare module 'graphql/validation/rules/FieldsOnCorrectType' { declare module.exports: any; } declare module 'graphql/validation/rules/FragmentsOnCompositeTypes' { declare module.exports: any; } declare module 'graphql/validation/rules/KnownArgumentNames' { declare module.exports: any; } declare module 'graphql/validation/rules/KnownDirectives' { declare module.exports: any; } declare module 'graphql/validation/rules/KnownFragmentNames' { declare module.exports: any; } declare module 'graphql/validation/rules/KnownTypeNames' { declare module.exports: any; } declare module 'graphql/validation/rules/LoneAnonymousOperation' { declare module.exports: any; } declare module 'graphql/validation/rules/NoFragmentCycles' { declare module.exports: any; } declare module 'graphql/validation/rules/NoUndefinedVariables' { declare module.exports: any; } declare module 'graphql/validation/rules/NoUnusedFragments' { declare module.exports: any; } declare module 'graphql/validation/rules/NoUnusedVariables' { declare module.exports: any; } declare module 'graphql/validation/rules/OverlappingFieldsCanBeMerged' { declare module.exports: any; } declare module 'graphql/validation/rules/PossibleFragmentSpreads' { declare module.exports: any; } declare module 'graphql/validation/rules/ProvidedNonNullArguments' { declare module.exports: any; } declare module 'graphql/validation/rules/ScalarLeafs' { declare module.exports: any; } declare module 'graphql/validation/rules/SingleFieldSubscriptions' { declare module.exports: any; } declare module 'graphql/validation/rules/UniqueArgumentNames' { declare module.exports: any; } declare module 'graphql/validation/rules/UniqueDirectivesPerLocation' { declare module.exports: any; } declare module 'graphql/validation/rules/UniqueFragmentNames' { declare module.exports: any; } declare module 'graphql/validation/rules/UniqueInputFieldNames' { declare module.exports: any; } declare module 'graphql/validation/rules/UniqueOperationNames' { declare module.exports: any; } declare module 'graphql/validation/rules/UniqueVariableNames' { declare module.exports: any; } declare module 'graphql/validation/rules/VariablesAreInputTypes' { declare module.exports: any; } declare module 'graphql/validation/rules/VariablesInAllowedPosition' { declare module.exports: any; } declare module 'graphql/validation/specifiedRules' { declare module.exports: any; } declare module 'graphql/validation/validate' { declare module.exports: any; } // Filename aliases declare module 'graphql/error/formatError.js' { declare module.exports: $Exports<'graphql/error/formatError'>; } declare module 'graphql/error/GraphQLError.js' { declare module.exports: $Exports<'graphql/error/GraphQLError'>; } declare module 'graphql/error/index.js' { declare module.exports: $Exports<'graphql/error/index'>; } declare module 'graphql/error/locatedError.js' { declare module.exports: $Exports<'graphql/error/locatedError'>; } declare module 'graphql/error/syntaxError.js' { declare module.exports: $Exports<'graphql/error/syntaxError'>; } declare module 'graphql/execution/execute.js' { declare module.exports: $Exports<'graphql/execution/execute'>; } declare module 'graphql/execution/index.js' { declare module.exports: $Exports<'graphql/execution/index'>; } declare module 'graphql/execution/values.js' { declare module.exports: $Exports<'graphql/execution/values'>; } declare module 'graphql/graphql.js' { declare module.exports: $Exports<'graphql/graphql'>; } declare module 'graphql/index' { declare module.exports: $Exports<'graphql'>; } declare module 'graphql/index.js' { declare module.exports: $Exports<'graphql'>; } declare module 'graphql/jsutils/dedent.js' { declare module.exports: $Exports<'graphql/jsutils/dedent'>; } declare module 'graphql/jsutils/find.js' { declare module.exports: $Exports<'graphql/jsutils/find'>; } declare module 'graphql/jsutils/invariant.js' { declare module.exports: $Exports<'graphql/jsutils/invariant'>; } declare module 'graphql/jsutils/isInvalid.js' { declare module.exports: $Exports<'graphql/jsutils/isInvalid'>; } declare module 'graphql/jsutils/isNullish.js' { declare module.exports: $Exports<'graphql/jsutils/isNullish'>; } declare module 'graphql/jsutils/keyMap.js' { declare module.exports: $Exports<'graphql/jsutils/keyMap'>; } declare module 'graphql/jsutils/keyValMap.js' { declare module.exports: $Exports<'graphql/jsutils/keyValMap'>; } declare module 'graphql/jsutils/quotedOrList.js' { declare module.exports: $Exports<'graphql/jsutils/quotedOrList'>; } declare module 'graphql/jsutils/suggestionList.js' { declare module.exports: $Exports<'graphql/jsutils/suggestionList'>; } declare module 'graphql/language/ast.js' { declare module.exports: $Exports<'graphql/language/ast'>; } declare module 'graphql/language/index.js' { declare module.exports: $Exports<'graphql/language/index'>; } declare module 'graphql/language/kinds.js' { declare module.exports: $Exports<'graphql/language/kinds'>; } declare module 'graphql/language/lexer.js' { declare module.exports: $Exports<'graphql/language/lexer'>; } declare module 'graphql/language/location.js' { declare module.exports: $Exports<'graphql/language/location'>; } declare module 'graphql/language/parser.js' { declare module.exports: $Exports<'graphql/language/parser'>; } declare module 'graphql/language/printer.js' { declare module.exports: $Exports<'graphql/language/printer'>; } declare module 'graphql/language/source.js' { declare module.exports: $Exports<'graphql/language/source'>; } declare module 'graphql/language/visitor.js' { declare module.exports: $Exports<'graphql/language/visitor'>; } declare module 'graphql/subscription/index.js' { declare module.exports: $Exports<'graphql/subscription/index'>; } declare module 'graphql/subscription/mapAsyncIterator.js' { declare module.exports: $Exports<'graphql/subscription/mapAsyncIterator'>; } declare module 'graphql/subscription/subscribe.js' { declare module.exports: $Exports<'graphql/subscription/subscribe'>; } declare module 'graphql/type/definition.js' { declare module.exports: $Exports<'graphql/type/definition'>; } declare module 'graphql/type/directives.js' { declare module.exports: $Exports<'graphql/type/directives'>; } declare module 'graphql/type/index.js' { declare module.exports: $Exports<'graphql/type/index'>; } declare module 'graphql/type/introspection.js' { declare module.exports: $Exports<'graphql/type/introspection'>; } declare module 'graphql/type/scalars.js' { declare module.exports: $Exports<'graphql/type/scalars'>; } declare module 'graphql/type/schema.js' { declare module.exports: $Exports<'graphql/type/schema'>; } declare module 'graphql/utilities/assertValidName.js' { declare module.exports: $Exports<'graphql/utilities/assertValidName'>; } declare module 'graphql/utilities/astFromValue.js' { declare module.exports: $Exports<'graphql/utilities/astFromValue'>; } declare module 'graphql/utilities/buildASTSchema.js' { declare module.exports: $Exports<'graphql/utilities/buildASTSchema'>; } declare module 'graphql/utilities/buildClientSchema.js' { declare module.exports: $Exports<'graphql/utilities/buildClientSchema'>; } declare module 'graphql/utilities/concatAST.js' { declare module.exports: $Exports<'graphql/utilities/concatAST'>; } declare module 'graphql/utilities/extendSchema.js' { declare module.exports: $Exports<'graphql/utilities/extendSchema'>; } declare module 'graphql/utilities/findBreakingChanges.js' { declare module.exports: $Exports<'graphql/utilities/findBreakingChanges'>; } declare module 'graphql/utilities/findDeprecatedUsages.js' { declare module.exports: $Exports<'graphql/utilities/findDeprecatedUsages'>; } declare module 'graphql/utilities/getOperationAST.js' { declare module.exports: $Exports<'graphql/utilities/getOperationAST'>; } declare module 'graphql/utilities/index.js' { declare module.exports: $Exports<'graphql/utilities/index'>; } declare module 'graphql/utilities/introspectionQuery.js' { declare module.exports: $Exports<'graphql/utilities/introspectionQuery'>; } declare module 'graphql/utilities/isValidJSValue.js' { declare module.exports: $Exports<'graphql/utilities/isValidJSValue'>; } declare module 'graphql/utilities/isValidLiteralValue.js' { declare module.exports: $Exports<'graphql/utilities/isValidLiteralValue'>; } declare module 'graphql/utilities/schemaPrinter.js' { declare module.exports: $Exports<'graphql/utilities/schemaPrinter'>; } declare module 'graphql/utilities/separateOperations.js' { declare module.exports: $Exports<'graphql/utilities/separateOperations'>; } declare module 'graphql/utilities/typeComparators.js' { declare module.exports: $Exports<'graphql/utilities/typeComparators'>; } declare module 'graphql/utilities/typeFromAST.js' { declare module.exports: $Exports<'graphql/utilities/typeFromAST'>; } declare module 'graphql/utilities/TypeInfo.js' { declare module.exports: $Exports<'graphql/utilities/TypeInfo'>; } declare module 'graphql/utilities/valueFromAST.js' { declare module.exports: $Exports<'graphql/utilities/valueFromAST'>; } declare module 'graphql/validation/index.js' { declare module.exports: $Exports<'graphql/validation/index'>; } declare module 'graphql/validation/rules/ArgumentsOfCorrectType.js' { declare module.exports: $Exports<'graphql/validation/rules/ArgumentsOfCorrectType'>; } declare module 'graphql/validation/rules/DefaultValuesOfCorrectType.js' { declare module.exports: $Exports<'graphql/validation/rules/DefaultValuesOfCorrectType'>; } declare module 'graphql/validation/rules/FieldsOnCorrectType.js' { declare module.exports: $Exports<'graphql/validation/rules/FieldsOnCorrectType'>; } declare module 'graphql/validation/rules/FragmentsOnCompositeTypes.js' { declare module.exports: $Exports<'graphql/validation/rules/FragmentsOnCompositeTypes'>; } declare module 'graphql/validation/rules/KnownArgumentNames.js' { declare module.exports: $Exports<'graphql/validation/rules/KnownArgumentNames'>; } declare module 'graphql/validation/rules/KnownDirectives.js' { declare module.exports: $Exports<'graphql/validation/rules/KnownDirectives'>; } declare module 'graphql/validation/rules/KnownFragmentNames.js' { declare module.exports: $Exports<'graphql/validation/rules/KnownFragmentNames'>; } declare module 'graphql/validation/rules/KnownTypeNames.js' { declare module.exports: $Exports<'graphql/validation/rules/KnownTypeNames'>; } declare module 'graphql/validation/rules/LoneAnonymousOperation.js' { declare module.exports: $Exports<'graphql/validation/rules/LoneAnonymousOperation'>; } declare module 'graphql/validation/rules/NoFragmentCycles.js' { declare module.exports: $Exports<'graphql/validation/rules/NoFragmentCycles'>; } declare module 'graphql/validation/rules/NoUndefinedVariables.js' { declare module.exports: $Exports<'graphql/validation/rules/NoUndefinedVariables'>; } declare module 'graphql/validation/rules/NoUnusedFragments.js' { declare module.exports: $Exports<'graphql/validation/rules/NoUnusedFragments'>; } declare module 'graphql/validation/rules/NoUnusedVariables.js' { declare module.exports: $Exports<'graphql/validation/rules/NoUnusedVariables'>; } declare module 'graphql/validation/rules/OverlappingFieldsCanBeMerged.js' { declare module.exports: $Exports<'graphql/validation/rules/OverlappingFieldsCanBeMerged'>; } declare module 'graphql/validation/rules/PossibleFragmentSpreads.js' { declare module.exports: $Exports<'graphql/validation/rules/PossibleFragmentSpreads'>; } declare module 'graphql/validation/rules/ProvidedNonNullArguments.js' { declare module.exports: $Exports<'graphql/validation/rules/ProvidedNonNullArguments'>; } declare module 'graphql/validation/rules/ScalarLeafs.js' { declare module.exports: $Exports<'graphql/validation/rules/ScalarLeafs'>; } declare module 'graphql/validation/rules/SingleFieldSubscriptions.js' { declare module.exports: $Exports<'graphql/validation/rules/SingleFieldSubscriptions'>; } declare module 'graphql/validation/rules/UniqueArgumentNames.js' { declare module.exports: $Exports<'graphql/validation/rules/UniqueArgumentNames'>; } declare module 'graphql/validation/rules/UniqueDirectivesPerLocation.js' { declare module.exports: $Exports<'graphql/validation/rules/UniqueDirectivesPerLocation'>; } declare module 'graphql/validation/rules/UniqueFragmentNames.js' { declare module.exports: $Exports<'graphql/validation/rules/UniqueFragmentNames'>; } declare module 'graphql/validation/rules/UniqueInputFieldNames.js' { declare module.exports: $Exports<'graphql/validation/rules/UniqueInputFieldNames'>; } declare module 'graphql/validation/rules/UniqueOperationNames.js' { declare module.exports: $Exports<'graphql/validation/rules/UniqueOperationNames'>; } declare module 'graphql/validation/rules/UniqueVariableNames.js' { declare module.exports: $Exports<'graphql/validation/rules/UniqueVariableNames'>; } declare module 'graphql/validation/rules/VariablesAreInputTypes.js' { declare module.exports: $Exports<'graphql/validation/rules/VariablesAreInputTypes'>; } declare module 'graphql/validation/rules/VariablesInAllowedPosition.js' { declare module.exports: $Exports<'graphql/validation/rules/VariablesInAllowedPosition'>; } declare module 'graphql/validation/specifiedRules.js' { declare module.exports: $Exports<'graphql/validation/specifiedRules'>; } declare module 'graphql/validation/validate.js' { declare module.exports: $Exports<'graphql/validation/validate'>; } ================================================ FILE: flow-typed/npm/helmet_vx.x.x.js ================================================ // flow-typed signature: 19d40d2c859c3e988d6ee67e3677f306 // flow-typed version: <>/helmet_v3.14.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'helmet' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'helmet' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'helmet/index' { declare module.exports: $Exports<'helmet'>; } declare module 'helmet/index.js' { declare module.exports: $Exports<'helmet'>; } ================================================ FILE: flow-typed/npm/highlight.js_vx.x.x.js ================================================ // flow-typed signature: 36c532a87674cc47f69d6017b230bd24 // flow-typed version: <>/highlight.js_v^9.10.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'highlight.js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'highlight.js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'highlight.js/lib/highlight' { declare module.exports: any; } declare module 'highlight.js/lib/index' { declare module.exports: any; } declare module 'highlight.js/lib/languages/1c' { declare module.exports: any; } declare module 'highlight.js/lib/languages/abnf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/accesslog' { declare module.exports: any; } declare module 'highlight.js/lib/languages/actionscript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ada' { declare module.exports: any; } declare module 'highlight.js/lib/languages/apache' { declare module.exports: any; } declare module 'highlight.js/lib/languages/applescript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/arduino' { declare module.exports: any; } declare module 'highlight.js/lib/languages/armasm' { declare module.exports: any; } declare module 'highlight.js/lib/languages/asciidoc' { declare module.exports: any; } declare module 'highlight.js/lib/languages/aspectj' { declare module.exports: any; } declare module 'highlight.js/lib/languages/autohotkey' { declare module.exports: any; } declare module 'highlight.js/lib/languages/autoit' { declare module.exports: any; } declare module 'highlight.js/lib/languages/avrasm' { declare module.exports: any; } declare module 'highlight.js/lib/languages/awk' { declare module.exports: any; } declare module 'highlight.js/lib/languages/axapta' { declare module.exports: any; } declare module 'highlight.js/lib/languages/bash' { declare module.exports: any; } declare module 'highlight.js/lib/languages/basic' { declare module.exports: any; } declare module 'highlight.js/lib/languages/bnf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/brainfuck' { declare module.exports: any; } declare module 'highlight.js/lib/languages/cal' { declare module.exports: any; } declare module 'highlight.js/lib/languages/capnproto' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ceylon' { declare module.exports: any; } declare module 'highlight.js/lib/languages/clean' { declare module.exports: any; } declare module 'highlight.js/lib/languages/clojure-repl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/clojure' { declare module.exports: any; } declare module 'highlight.js/lib/languages/cmake' { declare module.exports: any; } declare module 'highlight.js/lib/languages/coffeescript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/coq' { declare module.exports: any; } declare module 'highlight.js/lib/languages/cos' { declare module.exports: any; } declare module 'highlight.js/lib/languages/cpp' { declare module.exports: any; } declare module 'highlight.js/lib/languages/crmsh' { declare module.exports: any; } declare module 'highlight.js/lib/languages/crystal' { declare module.exports: any; } declare module 'highlight.js/lib/languages/cs' { declare module.exports: any; } declare module 'highlight.js/lib/languages/csp' { declare module.exports: any; } declare module 'highlight.js/lib/languages/css' { declare module.exports: any; } declare module 'highlight.js/lib/languages/d' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dart' { declare module.exports: any; } declare module 'highlight.js/lib/languages/delphi' { declare module.exports: any; } declare module 'highlight.js/lib/languages/diff' { declare module.exports: any; } declare module 'highlight.js/lib/languages/django' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dns' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dockerfile' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dos' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dsconfig' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dts' { declare module.exports: any; } declare module 'highlight.js/lib/languages/dust' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ebnf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/elixir' { declare module.exports: any; } declare module 'highlight.js/lib/languages/elm' { declare module.exports: any; } declare module 'highlight.js/lib/languages/erb' { declare module.exports: any; } declare module 'highlight.js/lib/languages/erlang-repl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/erlang' { declare module.exports: any; } declare module 'highlight.js/lib/languages/excel' { declare module.exports: any; } declare module 'highlight.js/lib/languages/fix' { declare module.exports: any; } declare module 'highlight.js/lib/languages/flix' { declare module.exports: any; } declare module 'highlight.js/lib/languages/fortran' { declare module.exports: any; } declare module 'highlight.js/lib/languages/fsharp' { declare module.exports: any; } declare module 'highlight.js/lib/languages/gams' { declare module.exports: any; } declare module 'highlight.js/lib/languages/gauss' { declare module.exports: any; } declare module 'highlight.js/lib/languages/gcode' { declare module.exports: any; } declare module 'highlight.js/lib/languages/gherkin' { declare module.exports: any; } declare module 'highlight.js/lib/languages/glsl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/go' { declare module.exports: any; } declare module 'highlight.js/lib/languages/golo' { declare module.exports: any; } declare module 'highlight.js/lib/languages/gradle' { declare module.exports: any; } declare module 'highlight.js/lib/languages/groovy' { declare module.exports: any; } declare module 'highlight.js/lib/languages/haml' { declare module.exports: any; } declare module 'highlight.js/lib/languages/handlebars' { declare module.exports: any; } declare module 'highlight.js/lib/languages/haskell' { declare module.exports: any; } declare module 'highlight.js/lib/languages/haxe' { declare module.exports: any; } declare module 'highlight.js/lib/languages/hsp' { declare module.exports: any; } declare module 'highlight.js/lib/languages/htmlbars' { declare module.exports: any; } declare module 'highlight.js/lib/languages/http' { declare module.exports: any; } declare module 'highlight.js/lib/languages/hy' { declare module.exports: any; } declare module 'highlight.js/lib/languages/inform7' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ini' { declare module.exports: any; } declare module 'highlight.js/lib/languages/irpf90' { declare module.exports: any; } declare module 'highlight.js/lib/languages/java' { declare module.exports: any; } declare module 'highlight.js/lib/languages/javascript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/jboss-cli' { declare module.exports: any; } declare module 'highlight.js/lib/languages/json' { declare module.exports: any; } declare module 'highlight.js/lib/languages/julia-repl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/julia' { declare module.exports: any; } declare module 'highlight.js/lib/languages/kotlin' { declare module.exports: any; } declare module 'highlight.js/lib/languages/lasso' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ldif' { declare module.exports: any; } declare module 'highlight.js/lib/languages/leaf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/less' { declare module.exports: any; } declare module 'highlight.js/lib/languages/lisp' { declare module.exports: any; } declare module 'highlight.js/lib/languages/livecodeserver' { declare module.exports: any; } declare module 'highlight.js/lib/languages/livescript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/llvm' { declare module.exports: any; } declare module 'highlight.js/lib/languages/lsl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/lua' { declare module.exports: any; } declare module 'highlight.js/lib/languages/makefile' { declare module.exports: any; } declare module 'highlight.js/lib/languages/markdown' { declare module.exports: any; } declare module 'highlight.js/lib/languages/mathematica' { declare module.exports: any; } declare module 'highlight.js/lib/languages/matlab' { declare module.exports: any; } declare module 'highlight.js/lib/languages/maxima' { declare module.exports: any; } declare module 'highlight.js/lib/languages/mel' { declare module.exports: any; } declare module 'highlight.js/lib/languages/mercury' { declare module.exports: any; } declare module 'highlight.js/lib/languages/mipsasm' { declare module.exports: any; } declare module 'highlight.js/lib/languages/mizar' { declare module.exports: any; } declare module 'highlight.js/lib/languages/mojolicious' { declare module.exports: any; } declare module 'highlight.js/lib/languages/monkey' { declare module.exports: any; } declare module 'highlight.js/lib/languages/moonscript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/n1ql' { declare module.exports: any; } declare module 'highlight.js/lib/languages/nginx' { declare module.exports: any; } declare module 'highlight.js/lib/languages/nimrod' { declare module.exports: any; } declare module 'highlight.js/lib/languages/nix' { declare module.exports: any; } declare module 'highlight.js/lib/languages/nsis' { declare module.exports: any; } declare module 'highlight.js/lib/languages/objectivec' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ocaml' { declare module.exports: any; } declare module 'highlight.js/lib/languages/openscad' { declare module.exports: any; } declare module 'highlight.js/lib/languages/oxygene' { declare module.exports: any; } declare module 'highlight.js/lib/languages/parser3' { declare module.exports: any; } declare module 'highlight.js/lib/languages/perl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/pf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/php' { declare module.exports: any; } declare module 'highlight.js/lib/languages/pony' { declare module.exports: any; } declare module 'highlight.js/lib/languages/powershell' { declare module.exports: any; } declare module 'highlight.js/lib/languages/processing' { declare module.exports: any; } declare module 'highlight.js/lib/languages/profile' { declare module.exports: any; } declare module 'highlight.js/lib/languages/prolog' { declare module.exports: any; } declare module 'highlight.js/lib/languages/protobuf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/puppet' { declare module.exports: any; } declare module 'highlight.js/lib/languages/purebasic' { declare module.exports: any; } declare module 'highlight.js/lib/languages/python' { declare module.exports: any; } declare module 'highlight.js/lib/languages/q' { declare module.exports: any; } declare module 'highlight.js/lib/languages/qml' { declare module.exports: any; } declare module 'highlight.js/lib/languages/r' { declare module.exports: any; } declare module 'highlight.js/lib/languages/rib' { declare module.exports: any; } declare module 'highlight.js/lib/languages/roboconf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/routeros' { declare module.exports: any; } declare module 'highlight.js/lib/languages/rsl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ruby' { declare module.exports: any; } declare module 'highlight.js/lib/languages/ruleslanguage' { declare module.exports: any; } declare module 'highlight.js/lib/languages/rust' { declare module.exports: any; } declare module 'highlight.js/lib/languages/scala' { declare module.exports: any; } declare module 'highlight.js/lib/languages/scheme' { declare module.exports: any; } declare module 'highlight.js/lib/languages/scilab' { declare module.exports: any; } declare module 'highlight.js/lib/languages/scss' { declare module.exports: any; } declare module 'highlight.js/lib/languages/shell' { declare module.exports: any; } declare module 'highlight.js/lib/languages/smali' { declare module.exports: any; } declare module 'highlight.js/lib/languages/smalltalk' { declare module.exports: any; } declare module 'highlight.js/lib/languages/sml' { declare module.exports: any; } declare module 'highlight.js/lib/languages/sqf' { declare module.exports: any; } declare module 'highlight.js/lib/languages/sql' { declare module.exports: any; } declare module 'highlight.js/lib/languages/stan' { declare module.exports: any; } declare module 'highlight.js/lib/languages/stata' { declare module.exports: any; } declare module 'highlight.js/lib/languages/step21' { declare module.exports: any; } declare module 'highlight.js/lib/languages/stylus' { declare module.exports: any; } declare module 'highlight.js/lib/languages/subunit' { declare module.exports: any; } declare module 'highlight.js/lib/languages/swift' { declare module.exports: any; } declare module 'highlight.js/lib/languages/taggerscript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/tap' { declare module.exports: any; } declare module 'highlight.js/lib/languages/tcl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/tex' { declare module.exports: any; } declare module 'highlight.js/lib/languages/thrift' { declare module.exports: any; } declare module 'highlight.js/lib/languages/tp' { declare module.exports: any; } declare module 'highlight.js/lib/languages/twig' { declare module.exports: any; } declare module 'highlight.js/lib/languages/typescript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/vala' { declare module.exports: any; } declare module 'highlight.js/lib/languages/vbnet' { declare module.exports: any; } declare module 'highlight.js/lib/languages/vbscript-html' { declare module.exports: any; } declare module 'highlight.js/lib/languages/vbscript' { declare module.exports: any; } declare module 'highlight.js/lib/languages/verilog' { declare module.exports: any; } declare module 'highlight.js/lib/languages/vhdl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/vim' { declare module.exports: any; } declare module 'highlight.js/lib/languages/x86asm' { declare module.exports: any; } declare module 'highlight.js/lib/languages/xl' { declare module.exports: any; } declare module 'highlight.js/lib/languages/xml' { declare module.exports: any; } declare module 'highlight.js/lib/languages/xquery' { declare module.exports: any; } declare module 'highlight.js/lib/languages/yaml' { declare module.exports: any; } declare module 'highlight.js/lib/languages/zephir' { declare module.exports: any; } // Filename aliases declare module 'highlight.js/lib/highlight.js' { declare module.exports: $Exports<'highlight.js/lib/highlight'>; } declare module 'highlight.js/lib/index.js' { declare module.exports: $Exports<'highlight.js/lib/index'>; } declare module 'highlight.js/lib/languages/1c.js' { declare module.exports: $Exports<'highlight.js/lib/languages/1c'>; } declare module 'highlight.js/lib/languages/abnf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/abnf'>; } declare module 'highlight.js/lib/languages/accesslog.js' { declare module.exports: $Exports<'highlight.js/lib/languages/accesslog'>; } declare module 'highlight.js/lib/languages/actionscript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/actionscript'>; } declare module 'highlight.js/lib/languages/ada.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ada'>; } declare module 'highlight.js/lib/languages/apache.js' { declare module.exports: $Exports<'highlight.js/lib/languages/apache'>; } declare module 'highlight.js/lib/languages/applescript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/applescript'>; } declare module 'highlight.js/lib/languages/arduino.js' { declare module.exports: $Exports<'highlight.js/lib/languages/arduino'>; } declare module 'highlight.js/lib/languages/armasm.js' { declare module.exports: $Exports<'highlight.js/lib/languages/armasm'>; } declare module 'highlight.js/lib/languages/asciidoc.js' { declare module.exports: $Exports<'highlight.js/lib/languages/asciidoc'>; } declare module 'highlight.js/lib/languages/aspectj.js' { declare module.exports: $Exports<'highlight.js/lib/languages/aspectj'>; } declare module 'highlight.js/lib/languages/autohotkey.js' { declare module.exports: $Exports<'highlight.js/lib/languages/autohotkey'>; } declare module 'highlight.js/lib/languages/autoit.js' { declare module.exports: $Exports<'highlight.js/lib/languages/autoit'>; } declare module 'highlight.js/lib/languages/avrasm.js' { declare module.exports: $Exports<'highlight.js/lib/languages/avrasm'>; } declare module 'highlight.js/lib/languages/awk.js' { declare module.exports: $Exports<'highlight.js/lib/languages/awk'>; } declare module 'highlight.js/lib/languages/axapta.js' { declare module.exports: $Exports<'highlight.js/lib/languages/axapta'>; } declare module 'highlight.js/lib/languages/bash.js' { declare module.exports: $Exports<'highlight.js/lib/languages/bash'>; } declare module 'highlight.js/lib/languages/basic.js' { declare module.exports: $Exports<'highlight.js/lib/languages/basic'>; } declare module 'highlight.js/lib/languages/bnf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/bnf'>; } declare module 'highlight.js/lib/languages/brainfuck.js' { declare module.exports: $Exports<'highlight.js/lib/languages/brainfuck'>; } declare module 'highlight.js/lib/languages/cal.js' { declare module.exports: $Exports<'highlight.js/lib/languages/cal'>; } declare module 'highlight.js/lib/languages/capnproto.js' { declare module.exports: $Exports<'highlight.js/lib/languages/capnproto'>; } declare module 'highlight.js/lib/languages/ceylon.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ceylon'>; } declare module 'highlight.js/lib/languages/clean.js' { declare module.exports: $Exports<'highlight.js/lib/languages/clean'>; } declare module 'highlight.js/lib/languages/clojure-repl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/clojure-repl'>; } declare module 'highlight.js/lib/languages/clojure.js' { declare module.exports: $Exports<'highlight.js/lib/languages/clojure'>; } declare module 'highlight.js/lib/languages/cmake.js' { declare module.exports: $Exports<'highlight.js/lib/languages/cmake'>; } declare module 'highlight.js/lib/languages/coffeescript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/coffeescript'>; } declare module 'highlight.js/lib/languages/coq.js' { declare module.exports: $Exports<'highlight.js/lib/languages/coq'>; } declare module 'highlight.js/lib/languages/cos.js' { declare module.exports: $Exports<'highlight.js/lib/languages/cos'>; } declare module 'highlight.js/lib/languages/cpp.js' { declare module.exports: $Exports<'highlight.js/lib/languages/cpp'>; } declare module 'highlight.js/lib/languages/crmsh.js' { declare module.exports: $Exports<'highlight.js/lib/languages/crmsh'>; } declare module 'highlight.js/lib/languages/crystal.js' { declare module.exports: $Exports<'highlight.js/lib/languages/crystal'>; } declare module 'highlight.js/lib/languages/cs.js' { declare module.exports: $Exports<'highlight.js/lib/languages/cs'>; } declare module 'highlight.js/lib/languages/csp.js' { declare module.exports: $Exports<'highlight.js/lib/languages/csp'>; } declare module 'highlight.js/lib/languages/css.js' { declare module.exports: $Exports<'highlight.js/lib/languages/css'>; } declare module 'highlight.js/lib/languages/d.js' { declare module.exports: $Exports<'highlight.js/lib/languages/d'>; } declare module 'highlight.js/lib/languages/dart.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dart'>; } declare module 'highlight.js/lib/languages/delphi.js' { declare module.exports: $Exports<'highlight.js/lib/languages/delphi'>; } declare module 'highlight.js/lib/languages/diff.js' { declare module.exports: $Exports<'highlight.js/lib/languages/diff'>; } declare module 'highlight.js/lib/languages/django.js' { declare module.exports: $Exports<'highlight.js/lib/languages/django'>; } declare module 'highlight.js/lib/languages/dns.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dns'>; } declare module 'highlight.js/lib/languages/dockerfile.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dockerfile'>; } declare module 'highlight.js/lib/languages/dos.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dos'>; } declare module 'highlight.js/lib/languages/dsconfig.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dsconfig'>; } declare module 'highlight.js/lib/languages/dts.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dts'>; } declare module 'highlight.js/lib/languages/dust.js' { declare module.exports: $Exports<'highlight.js/lib/languages/dust'>; } declare module 'highlight.js/lib/languages/ebnf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ebnf'>; } declare module 'highlight.js/lib/languages/elixir.js' { declare module.exports: $Exports<'highlight.js/lib/languages/elixir'>; } declare module 'highlight.js/lib/languages/elm.js' { declare module.exports: $Exports<'highlight.js/lib/languages/elm'>; } declare module 'highlight.js/lib/languages/erb.js' { declare module.exports: $Exports<'highlight.js/lib/languages/erb'>; } declare module 'highlight.js/lib/languages/erlang-repl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/erlang-repl'>; } declare module 'highlight.js/lib/languages/erlang.js' { declare module.exports: $Exports<'highlight.js/lib/languages/erlang'>; } declare module 'highlight.js/lib/languages/excel.js' { declare module.exports: $Exports<'highlight.js/lib/languages/excel'>; } declare module 'highlight.js/lib/languages/fix.js' { declare module.exports: $Exports<'highlight.js/lib/languages/fix'>; } declare module 'highlight.js/lib/languages/flix.js' { declare module.exports: $Exports<'highlight.js/lib/languages/flix'>; } declare module 'highlight.js/lib/languages/fortran.js' { declare module.exports: $Exports<'highlight.js/lib/languages/fortran'>; } declare module 'highlight.js/lib/languages/fsharp.js' { declare module.exports: $Exports<'highlight.js/lib/languages/fsharp'>; } declare module 'highlight.js/lib/languages/gams.js' { declare module.exports: $Exports<'highlight.js/lib/languages/gams'>; } declare module 'highlight.js/lib/languages/gauss.js' { declare module.exports: $Exports<'highlight.js/lib/languages/gauss'>; } declare module 'highlight.js/lib/languages/gcode.js' { declare module.exports: $Exports<'highlight.js/lib/languages/gcode'>; } declare module 'highlight.js/lib/languages/gherkin.js' { declare module.exports: $Exports<'highlight.js/lib/languages/gherkin'>; } declare module 'highlight.js/lib/languages/glsl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/glsl'>; } declare module 'highlight.js/lib/languages/go.js' { declare module.exports: $Exports<'highlight.js/lib/languages/go'>; } declare module 'highlight.js/lib/languages/golo.js' { declare module.exports: $Exports<'highlight.js/lib/languages/golo'>; } declare module 'highlight.js/lib/languages/gradle.js' { declare module.exports: $Exports<'highlight.js/lib/languages/gradle'>; } declare module 'highlight.js/lib/languages/groovy.js' { declare module.exports: $Exports<'highlight.js/lib/languages/groovy'>; } declare module 'highlight.js/lib/languages/haml.js' { declare module.exports: $Exports<'highlight.js/lib/languages/haml'>; } declare module 'highlight.js/lib/languages/handlebars.js' { declare module.exports: $Exports<'highlight.js/lib/languages/handlebars'>; } declare module 'highlight.js/lib/languages/haskell.js' { declare module.exports: $Exports<'highlight.js/lib/languages/haskell'>; } declare module 'highlight.js/lib/languages/haxe.js' { declare module.exports: $Exports<'highlight.js/lib/languages/haxe'>; } declare module 'highlight.js/lib/languages/hsp.js' { declare module.exports: $Exports<'highlight.js/lib/languages/hsp'>; } declare module 'highlight.js/lib/languages/htmlbars.js' { declare module.exports: $Exports<'highlight.js/lib/languages/htmlbars'>; } declare module 'highlight.js/lib/languages/http.js' { declare module.exports: $Exports<'highlight.js/lib/languages/http'>; } declare module 'highlight.js/lib/languages/hy.js' { declare module.exports: $Exports<'highlight.js/lib/languages/hy'>; } declare module 'highlight.js/lib/languages/inform7.js' { declare module.exports: $Exports<'highlight.js/lib/languages/inform7'>; } declare module 'highlight.js/lib/languages/ini.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ini'>; } declare module 'highlight.js/lib/languages/irpf90.js' { declare module.exports: $Exports<'highlight.js/lib/languages/irpf90'>; } declare module 'highlight.js/lib/languages/java.js' { declare module.exports: $Exports<'highlight.js/lib/languages/java'>; } declare module 'highlight.js/lib/languages/javascript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/javascript'>; } declare module 'highlight.js/lib/languages/jboss-cli.js' { declare module.exports: $Exports<'highlight.js/lib/languages/jboss-cli'>; } declare module 'highlight.js/lib/languages/json.js' { declare module.exports: $Exports<'highlight.js/lib/languages/json'>; } declare module 'highlight.js/lib/languages/julia-repl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/julia-repl'>; } declare module 'highlight.js/lib/languages/julia.js' { declare module.exports: $Exports<'highlight.js/lib/languages/julia'>; } declare module 'highlight.js/lib/languages/kotlin.js' { declare module.exports: $Exports<'highlight.js/lib/languages/kotlin'>; } declare module 'highlight.js/lib/languages/lasso.js' { declare module.exports: $Exports<'highlight.js/lib/languages/lasso'>; } declare module 'highlight.js/lib/languages/ldif.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ldif'>; } declare module 'highlight.js/lib/languages/leaf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/leaf'>; } declare module 'highlight.js/lib/languages/less.js' { declare module.exports: $Exports<'highlight.js/lib/languages/less'>; } declare module 'highlight.js/lib/languages/lisp.js' { declare module.exports: $Exports<'highlight.js/lib/languages/lisp'>; } declare module 'highlight.js/lib/languages/livecodeserver.js' { declare module.exports: $Exports<'highlight.js/lib/languages/livecodeserver'>; } declare module 'highlight.js/lib/languages/livescript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/livescript'>; } declare module 'highlight.js/lib/languages/llvm.js' { declare module.exports: $Exports<'highlight.js/lib/languages/llvm'>; } declare module 'highlight.js/lib/languages/lsl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/lsl'>; } declare module 'highlight.js/lib/languages/lua.js' { declare module.exports: $Exports<'highlight.js/lib/languages/lua'>; } declare module 'highlight.js/lib/languages/makefile.js' { declare module.exports: $Exports<'highlight.js/lib/languages/makefile'>; } declare module 'highlight.js/lib/languages/markdown.js' { declare module.exports: $Exports<'highlight.js/lib/languages/markdown'>; } declare module 'highlight.js/lib/languages/mathematica.js' { declare module.exports: $Exports<'highlight.js/lib/languages/mathematica'>; } declare module 'highlight.js/lib/languages/matlab.js' { declare module.exports: $Exports<'highlight.js/lib/languages/matlab'>; } declare module 'highlight.js/lib/languages/maxima.js' { declare module.exports: $Exports<'highlight.js/lib/languages/maxima'>; } declare module 'highlight.js/lib/languages/mel.js' { declare module.exports: $Exports<'highlight.js/lib/languages/mel'>; } declare module 'highlight.js/lib/languages/mercury.js' { declare module.exports: $Exports<'highlight.js/lib/languages/mercury'>; } declare module 'highlight.js/lib/languages/mipsasm.js' { declare module.exports: $Exports<'highlight.js/lib/languages/mipsasm'>; } declare module 'highlight.js/lib/languages/mizar.js' { declare module.exports: $Exports<'highlight.js/lib/languages/mizar'>; } declare module 'highlight.js/lib/languages/mojolicious.js' { declare module.exports: $Exports<'highlight.js/lib/languages/mojolicious'>; } declare module 'highlight.js/lib/languages/monkey.js' { declare module.exports: $Exports<'highlight.js/lib/languages/monkey'>; } declare module 'highlight.js/lib/languages/moonscript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/moonscript'>; } declare module 'highlight.js/lib/languages/n1ql.js' { declare module.exports: $Exports<'highlight.js/lib/languages/n1ql'>; } declare module 'highlight.js/lib/languages/nginx.js' { declare module.exports: $Exports<'highlight.js/lib/languages/nginx'>; } declare module 'highlight.js/lib/languages/nimrod.js' { declare module.exports: $Exports<'highlight.js/lib/languages/nimrod'>; } declare module 'highlight.js/lib/languages/nix.js' { declare module.exports: $Exports<'highlight.js/lib/languages/nix'>; } declare module 'highlight.js/lib/languages/nsis.js' { declare module.exports: $Exports<'highlight.js/lib/languages/nsis'>; } declare module 'highlight.js/lib/languages/objectivec.js' { declare module.exports: $Exports<'highlight.js/lib/languages/objectivec'>; } declare module 'highlight.js/lib/languages/ocaml.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ocaml'>; } declare module 'highlight.js/lib/languages/openscad.js' { declare module.exports: $Exports<'highlight.js/lib/languages/openscad'>; } declare module 'highlight.js/lib/languages/oxygene.js' { declare module.exports: $Exports<'highlight.js/lib/languages/oxygene'>; } declare module 'highlight.js/lib/languages/parser3.js' { declare module.exports: $Exports<'highlight.js/lib/languages/parser3'>; } declare module 'highlight.js/lib/languages/perl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/perl'>; } declare module 'highlight.js/lib/languages/pf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/pf'>; } declare module 'highlight.js/lib/languages/php.js' { declare module.exports: $Exports<'highlight.js/lib/languages/php'>; } declare module 'highlight.js/lib/languages/pony.js' { declare module.exports: $Exports<'highlight.js/lib/languages/pony'>; } declare module 'highlight.js/lib/languages/powershell.js' { declare module.exports: $Exports<'highlight.js/lib/languages/powershell'>; } declare module 'highlight.js/lib/languages/processing.js' { declare module.exports: $Exports<'highlight.js/lib/languages/processing'>; } declare module 'highlight.js/lib/languages/profile.js' { declare module.exports: $Exports<'highlight.js/lib/languages/profile'>; } declare module 'highlight.js/lib/languages/prolog.js' { declare module.exports: $Exports<'highlight.js/lib/languages/prolog'>; } declare module 'highlight.js/lib/languages/protobuf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/protobuf'>; } declare module 'highlight.js/lib/languages/puppet.js' { declare module.exports: $Exports<'highlight.js/lib/languages/puppet'>; } declare module 'highlight.js/lib/languages/purebasic.js' { declare module.exports: $Exports<'highlight.js/lib/languages/purebasic'>; } declare module 'highlight.js/lib/languages/python.js' { declare module.exports: $Exports<'highlight.js/lib/languages/python'>; } declare module 'highlight.js/lib/languages/q.js' { declare module.exports: $Exports<'highlight.js/lib/languages/q'>; } declare module 'highlight.js/lib/languages/qml.js' { declare module.exports: $Exports<'highlight.js/lib/languages/qml'>; } declare module 'highlight.js/lib/languages/r.js' { declare module.exports: $Exports<'highlight.js/lib/languages/r'>; } declare module 'highlight.js/lib/languages/rib.js' { declare module.exports: $Exports<'highlight.js/lib/languages/rib'>; } declare module 'highlight.js/lib/languages/roboconf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/roboconf'>; } declare module 'highlight.js/lib/languages/routeros.js' { declare module.exports: $Exports<'highlight.js/lib/languages/routeros'>; } declare module 'highlight.js/lib/languages/rsl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/rsl'>; } declare module 'highlight.js/lib/languages/ruby.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ruby'>; } declare module 'highlight.js/lib/languages/ruleslanguage.js' { declare module.exports: $Exports<'highlight.js/lib/languages/ruleslanguage'>; } declare module 'highlight.js/lib/languages/rust.js' { declare module.exports: $Exports<'highlight.js/lib/languages/rust'>; } declare module 'highlight.js/lib/languages/scala.js' { declare module.exports: $Exports<'highlight.js/lib/languages/scala'>; } declare module 'highlight.js/lib/languages/scheme.js' { declare module.exports: $Exports<'highlight.js/lib/languages/scheme'>; } declare module 'highlight.js/lib/languages/scilab.js' { declare module.exports: $Exports<'highlight.js/lib/languages/scilab'>; } declare module 'highlight.js/lib/languages/scss.js' { declare module.exports: $Exports<'highlight.js/lib/languages/scss'>; } declare module 'highlight.js/lib/languages/shell.js' { declare module.exports: $Exports<'highlight.js/lib/languages/shell'>; } declare module 'highlight.js/lib/languages/smali.js' { declare module.exports: $Exports<'highlight.js/lib/languages/smali'>; } declare module 'highlight.js/lib/languages/smalltalk.js' { declare module.exports: $Exports<'highlight.js/lib/languages/smalltalk'>; } declare module 'highlight.js/lib/languages/sml.js' { declare module.exports: $Exports<'highlight.js/lib/languages/sml'>; } declare module 'highlight.js/lib/languages/sqf.js' { declare module.exports: $Exports<'highlight.js/lib/languages/sqf'>; } declare module 'highlight.js/lib/languages/sql.js' { declare module.exports: $Exports<'highlight.js/lib/languages/sql'>; } declare module 'highlight.js/lib/languages/stan.js' { declare module.exports: $Exports<'highlight.js/lib/languages/stan'>; } declare module 'highlight.js/lib/languages/stata.js' { declare module.exports: $Exports<'highlight.js/lib/languages/stata'>; } declare module 'highlight.js/lib/languages/step21.js' { declare module.exports: $Exports<'highlight.js/lib/languages/step21'>; } declare module 'highlight.js/lib/languages/stylus.js' { declare module.exports: $Exports<'highlight.js/lib/languages/stylus'>; } declare module 'highlight.js/lib/languages/subunit.js' { declare module.exports: $Exports<'highlight.js/lib/languages/subunit'>; } declare module 'highlight.js/lib/languages/swift.js' { declare module.exports: $Exports<'highlight.js/lib/languages/swift'>; } declare module 'highlight.js/lib/languages/taggerscript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/taggerscript'>; } declare module 'highlight.js/lib/languages/tap.js' { declare module.exports: $Exports<'highlight.js/lib/languages/tap'>; } declare module 'highlight.js/lib/languages/tcl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/tcl'>; } declare module 'highlight.js/lib/languages/tex.js' { declare module.exports: $Exports<'highlight.js/lib/languages/tex'>; } declare module 'highlight.js/lib/languages/thrift.js' { declare module.exports: $Exports<'highlight.js/lib/languages/thrift'>; } declare module 'highlight.js/lib/languages/tp.js' { declare module.exports: $Exports<'highlight.js/lib/languages/tp'>; } declare module 'highlight.js/lib/languages/twig.js' { declare module.exports: $Exports<'highlight.js/lib/languages/twig'>; } declare module 'highlight.js/lib/languages/typescript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/typescript'>; } declare module 'highlight.js/lib/languages/vala.js' { declare module.exports: $Exports<'highlight.js/lib/languages/vala'>; } declare module 'highlight.js/lib/languages/vbnet.js' { declare module.exports: $Exports<'highlight.js/lib/languages/vbnet'>; } declare module 'highlight.js/lib/languages/vbscript-html.js' { declare module.exports: $Exports<'highlight.js/lib/languages/vbscript-html'>; } declare module 'highlight.js/lib/languages/vbscript.js' { declare module.exports: $Exports<'highlight.js/lib/languages/vbscript'>; } declare module 'highlight.js/lib/languages/verilog.js' { declare module.exports: $Exports<'highlight.js/lib/languages/verilog'>; } declare module 'highlight.js/lib/languages/vhdl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/vhdl'>; } declare module 'highlight.js/lib/languages/vim.js' { declare module.exports: $Exports<'highlight.js/lib/languages/vim'>; } declare module 'highlight.js/lib/languages/x86asm.js' { declare module.exports: $Exports<'highlight.js/lib/languages/x86asm'>; } declare module 'highlight.js/lib/languages/xl.js' { declare module.exports: $Exports<'highlight.js/lib/languages/xl'>; } declare module 'highlight.js/lib/languages/xml.js' { declare module.exports: $Exports<'highlight.js/lib/languages/xml'>; } declare module 'highlight.js/lib/languages/xquery.js' { declare module.exports: $Exports<'highlight.js/lib/languages/xquery'>; } declare module 'highlight.js/lib/languages/yaml.js' { declare module.exports: $Exports<'highlight.js/lib/languages/yaml'>; } declare module 'highlight.js/lib/languages/zephir.js' { declare module.exports: $Exports<'highlight.js/lib/languages/zephir'>; } ================================================ FILE: flow-typed/npm/history_vx.x.x.js ================================================ // flow-typed signature: d4a044f216b4ec7ee8273ce1fb5995bb // flow-typed version: <>/history_v^4.6.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'history' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'history' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'history/createBrowserHistory' { declare module.exports: any; } declare module 'history/createHashHistory' { declare module.exports: any; } declare module 'history/createMemoryHistory' { declare module.exports: any; } declare module 'history/createTransitionManager' { declare module.exports: any; } declare module 'history/DOMUtils' { declare module.exports: any; } declare module 'history/es/createBrowserHistory' { declare module.exports: any; } declare module 'history/es/createHashHistory' { declare module.exports: any; } declare module 'history/es/createMemoryHistory' { declare module.exports: any; } declare module 'history/es/createTransitionManager' { declare module.exports: any; } declare module 'history/es/DOMUtils' { declare module.exports: any; } declare module 'history/es/index' { declare module.exports: any; } declare module 'history/es/LocationUtils' { declare module.exports: any; } declare module 'history/es/PathUtils' { declare module.exports: any; } declare module 'history/LocationUtils' { declare module.exports: any; } declare module 'history/PathUtils' { declare module.exports: any; } declare module 'history/umd/history' { declare module.exports: any; } declare module 'history/umd/history.min' { declare module.exports: any; } // Filename aliases declare module 'history/createBrowserHistory.js' { declare module.exports: $Exports<'history/createBrowserHistory'>; } declare module 'history/createHashHistory.js' { declare module.exports: $Exports<'history/createHashHistory'>; } declare module 'history/createMemoryHistory.js' { declare module.exports: $Exports<'history/createMemoryHistory'>; } declare module 'history/createTransitionManager.js' { declare module.exports: $Exports<'history/createTransitionManager'>; } declare module 'history/DOMUtils.js' { declare module.exports: $Exports<'history/DOMUtils'>; } declare module 'history/es/createBrowserHistory.js' { declare module.exports: $Exports<'history/es/createBrowserHistory'>; } declare module 'history/es/createHashHistory.js' { declare module.exports: $Exports<'history/es/createHashHistory'>; } declare module 'history/es/createMemoryHistory.js' { declare module.exports: $Exports<'history/es/createMemoryHistory'>; } declare module 'history/es/createTransitionManager.js' { declare module.exports: $Exports<'history/es/createTransitionManager'>; } declare module 'history/es/DOMUtils.js' { declare module.exports: $Exports<'history/es/DOMUtils'>; } declare module 'history/es/index.js' { declare module.exports: $Exports<'history/es/index'>; } declare module 'history/es/LocationUtils.js' { declare module.exports: $Exports<'history/es/LocationUtils'>; } declare module 'history/es/PathUtils.js' { declare module.exports: $Exports<'history/es/PathUtils'>; } declare module 'history/index' { declare module.exports: $Exports<'history'>; } declare module 'history/index.js' { declare module.exports: $Exports<'history'>; } declare module 'history/LocationUtils.js' { declare module.exports: $Exports<'history/LocationUtils'>; } declare module 'history/PathUtils.js' { declare module.exports: $Exports<'history/PathUtils'>; } declare module 'history/umd/history.js' { declare module.exports: $Exports<'history/umd/history'>; } declare module 'history/umd/history.min.js' { declare module.exports: $Exports<'history/umd/history.min'>; } ================================================ FILE: flow-typed/npm/hoist-non-react-statics_vx.x.x.js ================================================ // flow-typed signature: 5c4c1cf0c9d4b4c777a07f0967c78ef8 // flow-typed version: <>/hoist-non-react-statics_v^2.3.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'hoist-non-react-statics' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'hoist-non-react-statics' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'hoist-non-react-statics/index' { declare module.exports: $Exports<'hoist-non-react-statics'>; } declare module 'hoist-non-react-statics/index.js' { declare module.exports: $Exports<'hoist-non-react-statics'>; } ================================================ FILE: flow-typed/npm/host-validation_vx.x.x.js ================================================ // flow-typed signature: fc353630324340213e1109c7c5d291c2 // flow-typed version: <>/host-validation_v1.1.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'host-validation' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'host-validation' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'host-validation/example' { declare module.exports: any; } declare module 'host-validation/test' { declare module.exports: any; } // Filename aliases declare module 'host-validation/example.js' { declare module.exports: $Exports<'host-validation/example'>; } declare module 'host-validation/index' { declare module.exports: $Exports<'host-validation'>; } declare module 'host-validation/index.js' { declare module.exports: $Exports<'host-validation'>; } declare module 'host-validation/test.js' { declare module.exports: $Exports<'host-validation/test'>; } ================================================ FILE: flow-typed/npm/hot-shots_vx.x.x.js ================================================ // flow-typed signature: ddf4dd814629ae123ef685c9db868bef // flow-typed version: <>/hot-shots_v5.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'hot-shots' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'hot-shots' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'hot-shots/lib/helpers' { declare module.exports: any; } declare module 'hot-shots/lib/statsd' { declare module.exports: any; } declare module 'hot-shots/lib/statsFunctions' { declare module.exports: any; } // Filename aliases declare module 'hot-shots/index' { declare module.exports: $Exports<'hot-shots'>; } declare module 'hot-shots/index.js' { declare module.exports: $Exports<'hot-shots'>; } declare module 'hot-shots/lib/helpers.js' { declare module.exports: $Exports<'hot-shots/lib/helpers'>; } declare module 'hot-shots/lib/statsd.js' { declare module.exports: $Exports<'hot-shots/lib/statsd'>; } declare module 'hot-shots/lib/statsFunctions.js' { declare module.exports: $Exports<'hot-shots/lib/statsFunctions'>; } ================================================ FILE: flow-typed/npm/hpp_vx.x.x.js ================================================ // flow-typed signature: df2e71f248afaf87aae6d3100e3eefc6 // flow-typed version: <>/hpp_v0.2.2/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'hpp' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'hpp' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'hpp/lib/index' { declare module.exports: any; } // Filename aliases declare module 'hpp/lib/index.js' { declare module.exports: $Exports<'hpp/lib/index'>; } ================================================ FILE: flow-typed/npm/hsts_vx.x.x.js ================================================ // flow-typed signature: 9df3b65568692b49a7bd33daa52cb704 // flow-typed version: <>/hsts_v2.1.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'hsts' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'hsts' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'hsts/index' { declare module.exports: $Exports<'hsts'>; } declare module 'hsts/index.js' { declare module.exports: $Exports<'hsts'>; } ================================================ FILE: flow-typed/npm/http-proxy-middleware_vx.x.x.js ================================================ // flow-typed signature: 67cf2d3ff15b95f034d672d221a52ebc // flow-typed version: <>/http-proxy-middleware_v1.0.4/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'http-proxy-middleware' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'http-proxy-middleware' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'http-proxy-middleware/dist/config-factory' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/context-matcher' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/errors' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/handlers' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/http-proxy-middleware' { declare module.exports: any; } declare module 'http-proxy-middleware/dist' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/logger' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/path-rewriter' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/router' { declare module.exports: any; } declare module 'http-proxy-middleware/dist/types' { declare module.exports: any; } // Filename aliases declare module 'http-proxy-middleware/dist/config-factory.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/config-factory'>; } declare module 'http-proxy-middleware/dist/context-matcher.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/context-matcher'>; } declare module 'http-proxy-middleware/dist/errors.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/errors'>; } declare module 'http-proxy-middleware/dist/handlers.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/handlers'>; } declare module 'http-proxy-middleware/dist/http-proxy-middleware.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/http-proxy-middleware'>; } declare module 'http-proxy-middleware/dist/index' { declare module.exports: $Exports<'http-proxy-middleware/dist'>; } declare module 'http-proxy-middleware/dist/index.js' { declare module.exports: $Exports<'http-proxy-middleware/dist'>; } declare module 'http-proxy-middleware/dist/logger.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/logger'>; } declare module 'http-proxy-middleware/dist/path-rewriter.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/path-rewriter'>; } declare module 'http-proxy-middleware/dist/router.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/router'>; } declare module 'http-proxy-middleware/dist/types.js' { declare module.exports: $Exports<'http-proxy-middleware/dist/types'>; } ================================================ FILE: flow-typed/npm/idx_v2.x.x.js ================================================ // flow-typed signature: aeb1419f64937fdd64367e23af4f80d0 // flow-typed version: 75f67f047c/idx_v2.x.x/flow_>=v0.33.x // From: https://github.com/facebookincubator/idx/blob/master/packages/idx/src/idx.js.flow declare module idx { declare module.exports: $Facebookism$Idx; } ================================================ FILE: flow-typed/npm/imgix-core-js_vx.x.x.js ================================================ // flow-typed signature: 30170b0155da4a81783cd5dac0f8d4b1 // flow-typed version: <>/imgix-core-js_v^1.0.6/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'imgix-core-js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'imgix-core-js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'imgix-core-js/assert_version' { declare module.exports: any; } declare module 'imgix-core-js/dist/imgix-core-js' { declare module.exports: any; } declare module 'imgix-core-js/dist/imgix-core-js.min' { declare module.exports: any; } declare module 'imgix-core-js/test/test-client' { declare module.exports: any; } // Filename aliases declare module 'imgix-core-js/assert_version.js' { declare module.exports: $Exports<'imgix-core-js/assert_version'>; } declare module 'imgix-core-js/dist/imgix-core-js.js' { declare module.exports: $Exports<'imgix-core-js/dist/imgix-core-js'>; } declare module 'imgix-core-js/dist/imgix-core-js.min.js' { declare module.exports: $Exports<'imgix-core-js/dist/imgix-core-js.min'>; } declare module 'imgix-core-js/test/test-client.js' { declare module.exports: $Exports<'imgix-core-js/test/test-client'>; } ================================================ FILE: flow-typed/npm/immutability-helper_vx.x.x.js ================================================ // flow-typed signature: 5bcf872a6cd3fbaad22e951b72e1e0ff // flow-typed version: <>/immutability-helper_v^2.2.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'immutability-helper' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'immutability-helper' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'immutability-helper/test' { declare module.exports: any; } // Filename aliases declare module 'immutability-helper/index' { declare module.exports: $Exports<'immutability-helper'>; } declare module 'immutability-helper/index.js' { declare module.exports: $Exports<'immutability-helper'>; } declare module 'immutability-helper/test.js' { declare module.exports: $Exports<'immutability-helper/test'>; } ================================================ FILE: flow-typed/npm/ioredis_vx.x.x.js ================================================ // flow-typed signature: 212434ef140f4ad1df5b2591c14eae35 // flow-typed version: <>/ioredis_v4.2.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'ioredis' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'ioredis' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'ioredis/built/cluster/ClusterOptions' { declare module.exports: any; } declare module 'ioredis/built/cluster/ClusterSubscriber' { declare module.exports: any; } declare module 'ioredis/built/cluster/ConnectionPool' { declare module.exports: any; } declare module 'ioredis/built/cluster/DelayQueue' { declare module.exports: any; } declare module 'ioredis/built/cluster/index' { declare module.exports: any; } declare module 'ioredis/built/cluster/util' { declare module.exports: any; } declare module 'ioredis/built/command' { declare module.exports: any; } declare module 'ioredis/built/commander' { declare module.exports: any; } declare module 'ioredis/built/connectors/AbstractConnector' { declare module.exports: any; } declare module 'ioredis/built/connectors/index' { declare module.exports: any; } declare module 'ioredis/built/connectors/SentinelConnector/index' { declare module.exports: any; } declare module 'ioredis/built/connectors/SentinelConnector/SentinelIterator' { declare module.exports: any; } declare module 'ioredis/built/connectors/SentinelConnector/types' { declare module.exports: any; } declare module 'ioredis/built/connectors/StandaloneConnector' { declare module.exports: any; } declare module 'ioredis/built/errors/ClusterAllFailedError' { declare module.exports: any; } declare module 'ioredis/built/errors/index' { declare module.exports: any; } declare module 'ioredis/built/errors/MaxRetriesPerRequestError' { declare module.exports: any; } declare module 'ioredis/built/index' { declare module.exports: any; } declare module 'ioredis/built/pipeline' { declare module.exports: any; } declare module 'ioredis/built/promiseContainer' { declare module.exports: any; } declare module 'ioredis/built/redis' { declare module.exports: any; } declare module 'ioredis/built/redis/event_handler' { declare module.exports: any; } declare module 'ioredis/built/redis/parser' { declare module.exports: any; } declare module 'ioredis/built/ScanStream' { declare module.exports: any; } declare module 'ioredis/built/script' { declare module.exports: any; } declare module 'ioredis/built/SubscriptionSet' { declare module.exports: any; } declare module 'ioredis/built/transaction' { declare module.exports: any; } declare module 'ioredis/built/types' { declare module.exports: any; } declare module 'ioredis/built/utils/debug' { declare module.exports: any; } declare module 'ioredis/built/utils/index' { declare module.exports: any; } declare module 'ioredis/built/utils/lodash' { declare module.exports: any; } // Filename aliases declare module 'ioredis/built/cluster/ClusterOptions.js' { declare module.exports: $Exports<'ioredis/built/cluster/ClusterOptions'>; } declare module 'ioredis/built/cluster/ClusterSubscriber.js' { declare module.exports: $Exports<'ioredis/built/cluster/ClusterSubscriber'>; } declare module 'ioredis/built/cluster/ConnectionPool.js' { declare module.exports: $Exports<'ioredis/built/cluster/ConnectionPool'>; } declare module 'ioredis/built/cluster/DelayQueue.js' { declare module.exports: $Exports<'ioredis/built/cluster/DelayQueue'>; } declare module 'ioredis/built/cluster/index.js' { declare module.exports: $Exports<'ioredis/built/cluster/index'>; } declare module 'ioredis/built/cluster/util.js' { declare module.exports: $Exports<'ioredis/built/cluster/util'>; } declare module 'ioredis/built/command.js' { declare module.exports: $Exports<'ioredis/built/command'>; } declare module 'ioredis/built/commander.js' { declare module.exports: $Exports<'ioredis/built/commander'>; } declare module 'ioredis/built/connectors/AbstractConnector.js' { declare module.exports: $Exports<'ioredis/built/connectors/AbstractConnector'>; } declare module 'ioredis/built/connectors/index.js' { declare module.exports: $Exports<'ioredis/built/connectors/index'>; } declare module 'ioredis/built/connectors/SentinelConnector/index.js' { declare module.exports: $Exports<'ioredis/built/connectors/SentinelConnector/index'>; } declare module 'ioredis/built/connectors/SentinelConnector/SentinelIterator.js' { declare module.exports: $Exports<'ioredis/built/connectors/SentinelConnector/SentinelIterator'>; } declare module 'ioredis/built/connectors/SentinelConnector/types.js' { declare module.exports: $Exports<'ioredis/built/connectors/SentinelConnector/types'>; } declare module 'ioredis/built/connectors/StandaloneConnector.js' { declare module.exports: $Exports<'ioredis/built/connectors/StandaloneConnector'>; } declare module 'ioredis/built/errors/ClusterAllFailedError.js' { declare module.exports: $Exports<'ioredis/built/errors/ClusterAllFailedError'>; } declare module 'ioredis/built/errors/index.js' { declare module.exports: $Exports<'ioredis/built/errors/index'>; } declare module 'ioredis/built/errors/MaxRetriesPerRequestError.js' { declare module.exports: $Exports<'ioredis/built/errors/MaxRetriesPerRequestError'>; } declare module 'ioredis/built/index.js' { declare module.exports: $Exports<'ioredis/built/index'>; } declare module 'ioredis/built/pipeline.js' { declare module.exports: $Exports<'ioredis/built/pipeline'>; } declare module 'ioredis/built/promiseContainer.js' { declare module.exports: $Exports<'ioredis/built/promiseContainer'>; } declare module 'ioredis/built/redis.js' { declare module.exports: $Exports<'ioredis/built/redis'>; } declare module 'ioredis/built/redis/event_handler.js' { declare module.exports: $Exports<'ioredis/built/redis/event_handler'>; } declare module 'ioredis/built/redis/parser.js' { declare module.exports: $Exports<'ioredis/built/redis/parser'>; } declare module 'ioredis/built/ScanStream.js' { declare module.exports: $Exports<'ioredis/built/ScanStream'>; } declare module 'ioredis/built/script.js' { declare module.exports: $Exports<'ioredis/built/script'>; } declare module 'ioredis/built/SubscriptionSet.js' { declare module.exports: $Exports<'ioredis/built/SubscriptionSet'>; } declare module 'ioredis/built/transaction.js' { declare module.exports: $Exports<'ioredis/built/transaction'>; } declare module 'ioredis/built/types.js' { declare module.exports: $Exports<'ioredis/built/types'>; } declare module 'ioredis/built/utils/debug.js' { declare module.exports: $Exports<'ioredis/built/utils/debug'>; } declare module 'ioredis/built/utils/index.js' { declare module.exports: $Exports<'ioredis/built/utils/index'>; } declare module 'ioredis/built/utils/lodash.js' { declare module.exports: $Exports<'ioredis/built/utils/lodash'>; } ================================================ FILE: flow-typed/npm/is-html_vx.x.x.js ================================================ // flow-typed signature: 9fa009c72365bb6aac18eebef2857f11 // flow-typed version: <>/is-html_v^1.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'is-html' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'is-html' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'is-html/index' { declare module.exports: $Exports<'is-html'>; } declare module 'is-html/index.js' { declare module.exports: $Exports<'is-html'>; } ================================================ FILE: flow-typed/npm/isomorphic-fetch_v2.x.x.js ================================================ // flow-typed signature: 47370d221401bec823c43c3598266e26 // flow-typed version: ec28077c25/isomorphic-fetch_v2.x.x/flow_>=v0.25.x declare module 'isomorphic-fetch' { declare module.exports: (input: string | Request | URL, init?: RequestOptions) => Promise; } ================================================ FILE: flow-typed/npm/iterall_vx.x.x.js ================================================ // flow-typed signature: d6997ee6fbc8acc419d3044fe689ae91 // flow-typed version: <>/iterall_v1.2.2/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'iterall' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'iterall' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'iterall/index' { declare module.exports: $Exports<'iterall'>; } declare module 'iterall/index.js' { declare module.exports: $Exports<'iterall'>; } ================================================ FILE: flow-typed/npm/jest_v22.x.x.js ================================================ // flow-typed signature: 6e1fc0a644aa956f79029fec0709e597 // flow-typed version: 07ebad4796/jest_v22.x.x/flow_>=v0.39.x type JestMockFn, TReturn> = { (...args: TArguments): TReturn, /** * An object for introspecting mock calls */ mock: { /** * An array that represents all calls that have been made into this mock * function. Each call is represented by an array of arguments that were * passed during the call. */ calls: Array, /** * An array that contains all the object instances that have been * instantiated from this mock function. */ instances: Array }, /** * Resets all information stored in the mockFn.mock.calls and * mockFn.mock.instances arrays. Often this is useful when you want to clean * up a mock's usage data between two assertions. */ mockClear(): void, /** * Resets all information stored in the mock. This is useful when you want to * completely restore a mock back to its initial state. */ mockReset(): void, /** * Removes the mock and restores the initial implementation. This is useful * when you want to mock functions in certain test cases and restore the * original implementation in others. Beware that mockFn.mockRestore only * works when mock was created with jest.spyOn. Thus you have to take care of * restoration yourself when manually assigning jest.fn(). */ mockRestore(): void, /** * Accepts a function that should be used as the implementation of the mock. * The mock itself will still record all calls that go into and instances * that come from itself -- the only difference is that the implementation * will also be executed when the mock is called. */ mockImplementation( fn: (...args: TArguments) => TReturn ): JestMockFn, /** * Accepts a function that will be used as an implementation of the mock for * one call to the mocked function. Can be chained so that multiple function * calls produce different results. */ mockImplementationOnce( fn: (...args: TArguments) => TReturn ): JestMockFn, /** * Just a simple sugar function for returning `this` */ mockReturnThis(): void, /** * Deprecated: use jest.fn(() => value) instead */ mockReturnValue(value: TReturn): JestMockFn, /** * Sugar for only returning a value once inside your mock */ mockReturnValueOnce(value: TReturn): JestMockFn }; type JestAsymmetricEqualityType = { /** * A custom Jasmine equality tester */ asymmetricMatch(value: mixed): boolean }; type JestCallsType = { allArgs(): mixed, all(): mixed, any(): boolean, count(): number, first(): mixed, mostRecent(): mixed, reset(): void }; type JestClockType = { install(): void, mockDate(date: Date): void, tick(milliseconds?: number): void, uninstall(): void }; type JestMatcherResult = { message?: string | (() => string), pass: boolean }; type JestMatcher = (actual: any, expected: any) => JestMatcherResult; type JestPromiseType = { /** * Use rejects to unwrap the reason of a rejected promise so any other * matcher can be chained. If the promise is fulfilled the assertion fails. */ rejects: JestExpectType, /** * Use resolves to unwrap the value of a fulfilled promise so any other * matcher can be chained. If the promise is rejected the assertion fails. */ resolves: JestExpectType }; /** * Plugin: jest-enzyme */ type EnzymeMatchersType = { toBeChecked(): void, toBeDisabled(): void, toBeEmpty(): void, toBePresent(): void, toContainReact(element: React$Element): void, toHaveClassName(className: string): void, toHaveHTML(html: string): void, toHaveProp(propKey: string, propValue?: any): void, toHaveRef(refName: string): void, toHaveState(stateKey: string, stateValue?: any): void, toHaveStyle(styleKey: string, styleValue?: any): void, toHaveTagName(tagName: string): void, toHaveText(text: string): void, toIncludeText(text: string): void, toHaveValue(value: any): void, toMatchElement(element: React$Element): void, toMatchSelector(selector: string): void }; type JestExpectType = { not: JestExpectType & EnzymeMatchersType, /** * If you have a mock function, you can use .lastCalledWith to test what * arguments it was last called with. */ lastCalledWith(...args: Array): void, /** * toBe just checks that a value is what you expect. It uses === to check * strict equality. */ toBe(value: any): void, /** * Use .toHaveBeenCalled to ensure that a mock function got called. */ toBeCalled(): void, /** * Use .toBeCalledWith to ensure that a mock function was called with * specific arguments. */ toBeCalledWith(...args: Array): void, /** * Using exact equality with floating point numbers is a bad idea. Rounding * means that intuitive things fail. */ toBeCloseTo(num: number, delta: any): void, /** * Use .toBeDefined to check that a variable is not undefined. */ toBeDefined(): void, /** * Use .toBeFalsy when you don't care what a value is, you just want to * ensure a value is false in a boolean context. */ toBeFalsy(): void, /** * To compare floating point numbers, you can use toBeGreaterThan. */ toBeGreaterThan(number: number): void, /** * To compare floating point numbers, you can use toBeGreaterThanOrEqual. */ toBeGreaterThanOrEqual(number: number): void, /** * To compare floating point numbers, you can use toBeLessThan. */ toBeLessThan(number: number): void, /** * To compare floating point numbers, you can use toBeLessThanOrEqual. */ toBeLessThanOrEqual(number: number): void, /** * Use .toBeInstanceOf(Class) to check that an object is an instance of a * class. */ toBeInstanceOf(cls: Class<*>): void, /** * .toBeNull() is the same as .toBe(null) but the error messages are a bit * nicer. */ toBeNull(): void, /** * Use .toBeTruthy when you don't care what a value is, you just want to * ensure a value is true in a boolean context. */ toBeTruthy(): void, /** * Use .toBeUndefined to check that a variable is undefined. */ toBeUndefined(): void, /** * Use .toContain when you want to check that an item is in a list. For * testing the items in the list, this uses ===, a strict equality check. */ toContain(item: any): void, /** * Use .toContainEqual when you want to check that an item is in a list. For * testing the items in the list, this matcher recursively checks the * equality of all fields, rather than checking for object identity. */ toContainEqual(item: any): void, /** * Use .toEqual when you want to check that two objects have the same value. * This matcher recursively checks the equality of all fields, rather than * checking for object identity. */ toEqual(value: any): void, /** * Use .toHaveBeenCalled to ensure that a mock function got called. */ toHaveBeenCalled(): void, /** * Use .toHaveBeenCalledTimes to ensure that a mock function got called exact * number of times. */ toHaveBeenCalledTimes(number: number): void, /** * Use .toHaveBeenCalledWith to ensure that a mock function was called with * specific arguments. */ toHaveBeenCalledWith(...args: Array): void, /** * Use .toHaveBeenLastCalledWith to ensure that a mock function was last called * with specific arguments. */ toHaveBeenLastCalledWith(...args: Array): void, /** * Check that an object has a .length property and it is set to a certain * numeric value. */ toHaveLength(number: number): void, /** * */ toHaveProperty(propPath: string, value?: any): void, /** * Use .toMatch to check that a string matches a regular expression or string. */ toMatch(regexpOrString: RegExp | string): void, /** * Use .toMatchObject to check that a javascript object matches a subset of the properties of an object. */ toMatchObject(object: Object | Array): void, /** * This ensures that a React component matches the most recent snapshot. */ toMatchSnapshot(name?: string): void, /** * Use .toThrow to test that a function throws when it is called. * If you want to test that a specific error gets thrown, you can provide an * argument to toThrow. The argument can be a string for the error message, * a class for the error, or a regex that should match the error. * * Alias: .toThrowError */ toThrow(message?: string | Error | Class | RegExp): void, toThrowError(message?: string | Error | Class | RegExp): void, /** * Use .toThrowErrorMatchingSnapshot to test that a function throws a error * matching the most recent snapshot when it is called. */ toThrowErrorMatchingSnapshot(): void }; type JestObjectType = { /** * Disables automatic mocking in the module loader. * * After this method is called, all `require()`s will return the real * versions of each module (rather than a mocked version). */ disableAutomock(): JestObjectType, /** * An un-hoisted version of disableAutomock */ autoMockOff(): JestObjectType, /** * Enables automatic mocking in the module loader. */ enableAutomock(): JestObjectType, /** * An un-hoisted version of enableAutomock */ autoMockOn(): JestObjectType, /** * Clears the mock.calls and mock.instances properties of all mocks. * Equivalent to calling .mockClear() on every mocked function. */ clearAllMocks(): JestObjectType, /** * Resets the state of all mocks. Equivalent to calling .mockReset() on every * mocked function. */ resetAllMocks(): JestObjectType, /** * Restores all mocks back to their original value. */ restoreAllMocks(): JestObjectType, /** * Removes any pending timers from the timer system. */ clearAllTimers(): void, /** * The same as `mock` but not moved to the top of the expectation by * babel-jest. */ doMock(moduleName: string, moduleFactory?: any): JestObjectType, /** * The same as `unmock` but not moved to the top of the expectation by * babel-jest. */ dontMock(moduleName: string): JestObjectType, /** * Returns a new, unused mock function. Optionally takes a mock * implementation. */ fn, TReturn>( implementation?: (...args: TArguments) => TReturn ): JestMockFn, /** * Determines if the given function is a mocked function. */ isMockFunction(fn: Function): boolean, /** * Given the name of a module, use the automatic mocking system to generate a * mocked version of the module for you. */ genMockFromModule(moduleName: string): any, /** * Mocks a module with an auto-mocked version when it is being required. * * The second argument can be used to specify an explicit module factory that * is being run instead of using Jest's automocking feature. * * The third argument can be used to create virtual mocks -- mocks of modules * that don't exist anywhere in the system. */ mock( moduleName: string, moduleFactory?: any, options?: Object ): JestObjectType, /** * Returns the actual module instead of a mock, bypassing all checks on * whether the module should receive a mock implementation or not. */ requireActual(moduleName: string): any, /** * Returns a mock module instead of the actual module, bypassing all checks * on whether the module should be required normally or not. */ requireMock(moduleName: string): any, /** * Resets the module registry - the cache of all required modules. This is * useful to isolate modules where local state might conflict between tests. */ resetModules(): JestObjectType, /** * Exhausts the micro-task queue (usually interfaced in node via * process.nextTick). */ runAllTicks(): void, /** * Exhausts the macro-task queue (i.e., all tasks queued by setTimeout(), * setInterval(), and setImmediate()). */ runAllTimers(): void, /** * Exhausts all tasks queued by setImmediate(). */ runAllImmediates(): void, /** * Executes only the macro task queue (i.e. all tasks queued by setTimeout() * or setInterval() and setImmediate()). */ runTimersToTime(msToRun: number): void, /** * Executes only the macro-tasks that are currently pending (i.e., only the * tasks that have been queued by setTimeout() or setInterval() up to this * point) */ runOnlyPendingTimers(): void, /** * Explicitly supplies the mock object that the module system should return * for the specified module. Note: It is recommended to use jest.mock() * instead. */ setMock(moduleName: string, moduleExports: any): JestObjectType, /** * Indicates that the module system should never return a mocked version of * the specified module from require() (e.g. that it should always return the * real module). */ unmock(moduleName: string): JestObjectType, /** * Instructs Jest to use fake versions of the standard timer functions * (setTimeout, setInterval, clearTimeout, clearInterval, nextTick, * setImmediate and clearImmediate). */ useFakeTimers(): JestObjectType, /** * Instructs Jest to use the real versions of the standard timer functions. */ useRealTimers(): JestObjectType, /** * Creates a mock function similar to jest.fn but also tracks calls to * object[methodName]. */ spyOn(object: Object, methodName: string): JestMockFn, /** * Set the default timeout interval for tests and before/after hooks in milliseconds. * Note: The default timeout interval is 5 seconds if this method is not called. */ setTimeout(timeout: number): JestObjectType }; type JestSpyType = { calls: JestCallsType }; /** Runs this function after every test inside this context */ declare function afterEach( fn: (done: () => void) => ?Promise, timeout?: number ): void; /** Runs this function before every test inside this context */ declare function beforeEach( fn: (done: () => void) => ?Promise, timeout?: number ): void; /** Runs this function after all tests have finished inside this context */ declare function afterAll( fn: (done: () => void) => ?Promise, timeout?: number ): void; /** Runs this function before any tests have started inside this context */ declare function beforeAll( fn: (done: () => void) => ?Promise, timeout?: number ): void; /** A context for grouping tests together */ declare var describe: { /** * Creates a block that groups together several related tests in one "test suite" */ (name: string, fn: () => void): void, /** * Only run this describe block */ only(name: string, fn: () => void): void, /** * Skip running this describe block */ skip(name: string, fn: () => void): void }; /** An individual test unit */ declare var it: { /** * An individual test unit * * @param {string} Name of Test * @param {Function} Test * @param {number} Timeout for the test, in milliseconds. */ ( name: string, fn?: (done: () => void) => ?Promise, timeout?: number ): void, /** * Only run this test * * @param {string} Name of Test * @param {Function} Test * @param {number} Timeout for the test, in milliseconds. */ only( name: string, fn?: (done: () => void) => ?Promise, timeout?: number ): void, /** * Skip running this test * * @param {string} Name of Test * @param {Function} Test * @param {number} Timeout for the test, in milliseconds. */ skip( name: string, fn?: (done: () => void) => ?Promise, timeout?: number ): void, /** * Run the test concurrently * * @param {string} Name of Test * @param {Function} Test * @param {number} Timeout for the test, in milliseconds. */ concurrent( name: string, fn?: (done: () => void) => ?Promise, timeout?: number ): void }; declare function fit( name: string, fn: (done: () => void) => ?Promise, timeout?: number ): void; /** An individual test unit */ declare var test: typeof it; /** A disabled group of tests */ declare var xdescribe: typeof describe; /** A focused group of tests */ declare var fdescribe: typeof describe; /** A disabled individual test */ declare var xit: typeof it; /** A disabled individual test */ declare var xtest: typeof it; /** The expect function is used every time you want to test a value */ declare var expect: { /** The object that you want to make assertions against */ (value: any): JestExpectType & JestPromiseType & EnzymeMatchersType, /** Add additional Jasmine matchers to Jest's roster */ extend(matchers: { [name: string]: JestMatcher }): void, /** Add a module that formats application-specific data structures. */ addSnapshotSerializer(serializer: (input: Object) => string): void, assertions(expectedAssertions: number): void, hasAssertions(): void, any(value: mixed): JestAsymmetricEqualityType, anything(): void, arrayContaining(value: Array): void, objectContaining(value: Object): void, /** Matches any received string that contains the exact expected string. */ stringContaining(value: string): void, stringMatching(value: string | RegExp): void }; // TODO handle return type // http://jasmine.github.io/2.4/introduction.html#section-Spies declare function spyOn(value: mixed, method: string): Object; /** Holds all functions related to manipulating test runner */ declare var jest: JestObjectType; /** * The global Jasmine object, this is generally not exposed as the public API, * using features inside here could break in later versions of Jest. */ declare var jasmine: { DEFAULT_TIMEOUT_INTERVAL: number, any(value: mixed): JestAsymmetricEqualityType, anything(): void, arrayContaining(value: Array): void, clock(): JestClockType, createSpy(name: string): JestSpyType, createSpyObj( baseName: string, methodNames: Array ): { [methodName: string]: JestSpyType }, objectContaining(value: Object): void, stringMatching(value: string): void }; ================================================ FILE: flow-typed/npm/json-stringify-pretty-compact_vx.x.x.js ================================================ // flow-typed signature: 6bb459b7c579c9cdb27e1b2e6771b0af // flow-typed version: <>/json-stringify-pretty-compact_v^1.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'json-stringify-pretty-compact' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'json-stringify-pretty-compact' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'json-stringify-pretty-compact/index' { declare module.exports: $Exports<'json-stringify-pretty-compact'>; } declare module 'json-stringify-pretty-compact/index.js' { declare module.exports: $Exports<'json-stringify-pretty-compact'>; } ================================================ FILE: flow-typed/npm/jsonwebtoken_vx.x.x.js ================================================ // flow-typed signature: 58501c42740100306b22f9ad57d32267 // flow-typed version: <>/jsonwebtoken_v^8.0.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'jsonwebtoken' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'jsonwebtoken' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'jsonwebtoken/decode' { declare module.exports: any; } declare module 'jsonwebtoken/lib/JsonWebTokenError' { declare module.exports: any; } declare module 'jsonwebtoken/lib/NotBeforeError' { declare module.exports: any; } declare module 'jsonwebtoken/lib/timespan' { declare module.exports: any; } declare module 'jsonwebtoken/lib/TokenExpiredError' { declare module.exports: any; } declare module 'jsonwebtoken/sign' { declare module.exports: any; } declare module 'jsonwebtoken/verify' { declare module.exports: any; } // Filename aliases declare module 'jsonwebtoken/decode.js' { declare module.exports: $Exports<'jsonwebtoken/decode'>; } declare module 'jsonwebtoken/index' { declare module.exports: $Exports<'jsonwebtoken'>; } declare module 'jsonwebtoken/index.js' { declare module.exports: $Exports<'jsonwebtoken'>; } declare module 'jsonwebtoken/lib/JsonWebTokenError.js' { declare module.exports: $Exports<'jsonwebtoken/lib/JsonWebTokenError'>; } declare module 'jsonwebtoken/lib/NotBeforeError.js' { declare module.exports: $Exports<'jsonwebtoken/lib/NotBeforeError'>; } declare module 'jsonwebtoken/lib/timespan.js' { declare module.exports: $Exports<'jsonwebtoken/lib/timespan'>; } declare module 'jsonwebtoken/lib/TokenExpiredError.js' { declare module.exports: $Exports<'jsonwebtoken/lib/TokenExpiredError'>; } declare module 'jsonwebtoken/sign.js' { declare module.exports: $Exports<'jsonwebtoken/sign'>; } declare module 'jsonwebtoken/verify.js' { declare module.exports: $Exports<'jsonwebtoken/verify'>; } ================================================ FILE: flow-typed/npm/keygrip_vx.x.x.js ================================================ // flow-typed signature: 950357983b984ecbd77d615994c93962 // flow-typed version: <>/keygrip_v1.0.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'keygrip' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'keygrip' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'keygrip/test' { declare module.exports: any; } // Filename aliases declare module 'keygrip/index' { declare module.exports: $Exports<'keygrip'>; } declare module 'keygrip/index.js' { declare module.exports: $Exports<'keygrip'>; } declare module 'keygrip/test.js' { declare module.exports: $Exports<'keygrip/test'>; } ================================================ FILE: flow-typed/npm/linkify-it_vx.x.x.js ================================================ // flow-typed signature: c00367c8e8cae96d8caaf1de85b67e5b // flow-typed version: <>/linkify-it_v^2.0.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'linkify-it' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'linkify-it' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'linkify-it/lib/re' { declare module.exports: any; } // Filename aliases declare module 'linkify-it/index' { declare module.exports: $Exports<'linkify-it'>; } declare module 'linkify-it/index.js' { declare module.exports: $Exports<'linkify-it'>; } declare module 'linkify-it/lib/re.js' { declare module.exports: $Exports<'linkify-it/lib/re'>; } ================================================ FILE: flow-typed/npm/lint-staged_vx.x.x.js ================================================ // flow-typed signature: cf697eb540694ed31d4434db1de58c47 // flow-typed version: <>/lint-staged_v^3.3.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'lint-staged' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'lint-staged' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'lint-staged/src/calcChunkSize' { declare module.exports: any; } declare module 'lint-staged/src/findBin' { declare module.exports: any; } declare module 'lint-staged/src/generateTasks' { declare module.exports: any; } declare module 'lint-staged/src/index' { declare module.exports: any; } declare module 'lint-staged/src/readConfigOption' { declare module.exports: any; } declare module 'lint-staged/src/runScript' { declare module.exports: any; } declare module 'lint-staged/test/__mocks__/execa' { declare module.exports: any; } declare module 'lint-staged/test/__mocks__/npm-which' { declare module.exports: any; } declare module 'lint-staged/test/calcChunkSize.spec' { declare module.exports: any; } declare module 'lint-staged/test/findBin.spec' { declare module.exports: any; } declare module 'lint-staged/test/generateTasks.spec' { declare module.exports: any; } declare module 'lint-staged/test/readConfigOption.spec' { declare module.exports: any; } declare module 'lint-staged/test/runScript-mock-findBin.spec' { declare module.exports: any; } declare module 'lint-staged/test/runScript-mock-pMap.spec' { declare module.exports: any; } declare module 'lint-staged/test/runScript.spec' { declare module.exports: any; } declare module 'lint-staged/wallaby' { declare module.exports: any; } // Filename aliases declare module 'lint-staged/index' { declare module.exports: $Exports<'lint-staged'>; } declare module 'lint-staged/index.js' { declare module.exports: $Exports<'lint-staged'>; } declare module 'lint-staged/src/calcChunkSize.js' { declare module.exports: $Exports<'lint-staged/src/calcChunkSize'>; } declare module 'lint-staged/src/findBin.js' { declare module.exports: $Exports<'lint-staged/src/findBin'>; } declare module 'lint-staged/src/generateTasks.js' { declare module.exports: $Exports<'lint-staged/src/generateTasks'>; } declare module 'lint-staged/src/index.js' { declare module.exports: $Exports<'lint-staged/src/index'>; } declare module 'lint-staged/src/readConfigOption.js' { declare module.exports: $Exports<'lint-staged/src/readConfigOption'>; } declare module 'lint-staged/src/runScript.js' { declare module.exports: $Exports<'lint-staged/src/runScript'>; } declare module 'lint-staged/test/__mocks__/execa.js' { declare module.exports: $Exports<'lint-staged/test/__mocks__/execa'>; } declare module 'lint-staged/test/__mocks__/npm-which.js' { declare module.exports: $Exports<'lint-staged/test/__mocks__/npm-which'>; } declare module 'lint-staged/test/calcChunkSize.spec.js' { declare module.exports: $Exports<'lint-staged/test/calcChunkSize.spec'>; } declare module 'lint-staged/test/findBin.spec.js' { declare module.exports: $Exports<'lint-staged/test/findBin.spec'>; } declare module 'lint-staged/test/generateTasks.spec.js' { declare module.exports: $Exports<'lint-staged/test/generateTasks.spec'>; } declare module 'lint-staged/test/readConfigOption.spec.js' { declare module.exports: $Exports<'lint-staged/test/readConfigOption.spec'>; } declare module 'lint-staged/test/runScript-mock-findBin.spec.js' { declare module.exports: $Exports<'lint-staged/test/runScript-mock-findBin.spec'>; } declare module 'lint-staged/test/runScript-mock-pMap.spec.js' { declare module.exports: $Exports<'lint-staged/test/runScript-mock-pMap.spec'>; } declare module 'lint-staged/test/runScript.spec.js' { declare module.exports: $Exports<'lint-staged/test/runScript.spec'>; } declare module 'lint-staged/wallaby.js' { declare module.exports: $Exports<'lint-staged/wallaby'>; } ================================================ FILE: flow-typed/npm/localstorage-memory_vx.x.x.js ================================================ // flow-typed signature: 43d782f1119e4b4366b7e20d8ade28a1 // flow-typed version: <>/localstorage-memory_v^1.0.2/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'localstorage-memory' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'localstorage-memory' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'localstorage-memory/bin/test-browser' { declare module.exports: any; } declare module 'localstorage-memory/lib/localstorage-memory' { declare module.exports: any; } declare module 'localstorage-memory/tests/node.setup' { declare module.exports: any; } declare module 'localstorage-memory/tests/test.localstorage-memory' { declare module.exports: any; } declare module 'localstorage-memory/tests/webrunner' { declare module.exports: any; } // Filename aliases declare module 'localstorage-memory/bin/test-browser.js' { declare module.exports: $Exports<'localstorage-memory/bin/test-browser'>; } declare module 'localstorage-memory/lib/localstorage-memory.js' { declare module.exports: $Exports<'localstorage-memory/lib/localstorage-memory'>; } declare module 'localstorage-memory/tests/node.setup.js' { declare module.exports: $Exports<'localstorage-memory/tests/node.setup'>; } declare module 'localstorage-memory/tests/test.localstorage-memory.js' { declare module.exports: $Exports<'localstorage-memory/tests/test.localstorage-memory'>; } declare module 'localstorage-memory/tests/webrunner.js' { declare module.exports: $Exports<'localstorage-memory/tests/webrunner'>; } ================================================ FILE: flow-typed/npm/lodash.intersection_vx.x.x.js ================================================ // flow-typed signature: caa308b5bf27a5bd6e389df34770a27f // flow-typed version: <>/lodash.intersection_v^4.4.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'lodash.intersection' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'lodash.intersection' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'lodash.intersection/index' { declare module.exports: $Exports<'lodash.intersection'>; } declare module 'lodash.intersection/index.js' { declare module.exports: $Exports<'lodash.intersection'>; } ================================================ FILE: flow-typed/npm/lodash_v4.x.x.js ================================================ // flow-typed signature: 2d6372509af898546ea7b44735f2557d // flow-typed version: 8c150a1c24/lodash_v4.x.x/flow_>=v0.63.x declare module "lodash" { declare type __CurriedFunction1 = (...r: [AA]) => R; declare type CurriedFunction1 = __CurriedFunction1; declare type __CurriedFunction2 = (( ...r: [AA] ) => CurriedFunction1) & ((...r: [AA, BB]) => R); declare type CurriedFunction2 = __CurriedFunction2; declare type __CurriedFunction3 = (( ...r: [AA] ) => CurriedFunction2) & ((...r: [AA, BB]) => CurriedFunction1) & ((...r: [AA, BB, CC]) => R); declare type CurriedFunction3 = __CurriedFunction3< A, B, C, R, *, *, * >; declare type __CurriedFunction4< A, B, C, D, R, AA: A, BB: B, CC: C, DD: D > = ((...r: [AA]) => CurriedFunction3) & ((...r: [AA, BB]) => CurriedFunction2) & ((...r: [AA, BB, CC]) => CurriedFunction1) & ((...r: [AA, BB, CC, DD]) => R); declare type CurriedFunction4 = __CurriedFunction4< A, B, C, D, R, *, *, *, * >; declare type __CurriedFunction5< A, B, C, D, E, R, AA: A, BB: B, CC: C, DD: D, EE: E > = ((...r: [AA]) => CurriedFunction4) & ((...r: [AA, BB]) => CurriedFunction3) & ((...r: [AA, BB, CC]) => CurriedFunction2) & ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & ((...r: [AA, BB, CC, DD, EE]) => R); declare type CurriedFunction5 = __CurriedFunction5< A, B, C, D, E, R, *, *, *, *, * >; declare type __CurriedFunction6< A, B, C, D, E, F, R, AA: A, BB: B, CC: C, DD: D, EE: E, FF: F > = ((...r: [AA]) => CurriedFunction5) & ((...r: [AA, BB]) => CurriedFunction4) & ((...r: [AA, BB, CC]) => CurriedFunction3) & ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & ((...r: [AA, BB, CC, DD, EE, FF]) => R); declare type CurriedFunction6 = __CurriedFunction6< A, B, C, D, E, F, R, *, *, *, *, *, * >; declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & (((...r: [A, B]) => R) => CurriedFunction2) & (((...r: [A, B, C]) => R) => CurriedFunction3) & (( (...r: [A, B, C, D]) => R ) => CurriedFunction4) & (( (...r: [A, B, C, D, E]) => R ) => CurriedFunction5) & (( (...r: [A, B, C, D, E, F]) => R ) => CurriedFunction6); declare type UnaryFn = (a: A) => R; declare type TemplateSettings = { escape?: RegExp, evaluate?: RegExp, imports?: Object, interpolate?: RegExp, variable?: string }; declare type TruncateOptions = { length?: number, omission?: string, separator?: RegExp | string }; declare type DebounceOptions = { leading?: boolean, maxWait?: number, trailing?: boolean }; declare type ThrottleOptions = { leading?: boolean, trailing?: boolean }; declare type NestedArray = Array>; declare type matchesIterateeShorthand = Object; declare type matchesPropertyIterateeShorthand = [string, any]; declare type propertyIterateeShorthand = string; declare type OPredicate = | ((value: A, key: string, object: O) => any) | matchesIterateeShorthand | matchesPropertyIterateeShorthand | propertyIterateeShorthand; declare type OIterateeWithResult = | Object | string | ((value: V, key: string, object: O) => R); declare type OIteratee = OIterateeWithResult; declare type OFlatMapIteratee = OIterateeWithResult>; declare type Predicate = | ((value: T, index: number, array: Array) => any) | matchesIterateeShorthand | matchesPropertyIterateeShorthand | propertyIterateeShorthand; declare type _ValueOnlyIteratee = (value: T) => mixed; declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; declare type _Iteratee = ( item: T, index: number, array: ?Array ) => mixed; declare type Iteratee = _Iteratee | Object | string; declare type FlatMapIteratee = | ((item: T, index: number, array: ?$ReadOnlyArray) => Array) | Object | string; declare type Comparator = (item: T, item2: T) => boolean; declare type MapIterator = | ((item: T, index: number, array: Array) => U) | propertyIterateeShorthand; declare type ReadOnlyMapIterator = | ((item: T, index: number, array: $ReadOnlyArray) => U) | propertyIterateeShorthand; declare type OMapIterator = | ((item: T, key: string, object: O) => U) | propertyIterateeShorthand; declare class Lodash { // Array chunk(array?: ?Array, size?: ?number): Array>; compact(array?: ?Array): Array; concat(base?: ?Array, ...elements: Array): Array; difference(array?: ?$ReadOnlyArray, values?: ?$ReadOnlyArray): Array; differenceBy( array?: ?$ReadOnlyArray, values?: ?$ReadOnlyArray, iteratee?: ?ValueOnlyIteratee ): T[]; differenceWith(array?: ?$ReadOnlyArray, values?: ?$ReadOnlyArray, comparator?: ?Comparator): T[]; drop(array?: ?Array, n?: ?number): Array; dropRight(array?: ?Array, n?: ?number): Array; dropRightWhile(array?: ?Array, predicate?: ?Predicate): Array; dropWhile(array?: ?Array, predicate?: ?Predicate): Array; fill( array?: ?Array, value?: ?U, start?: ?number, end?: ?number ): Array; findIndex( array: $ReadOnlyArray, predicate?: ?Predicate, fromIndex?: ?number ): number; findIndex( array: void | null, predicate?: ?Predicate, fromIndex?: ?number ): -1; findLastIndex( array: $ReadOnlyArray, predicate?: ?Predicate, fromIndex?: ?number ): number; findLastIndex( array: void | null, predicate?: ?Predicate, fromIndex?: ?number ): -1; // alias of _.head first(array: ?Array): T; flatten(array?: ?Array | X>): Array; flattenDeep(array?: ?any[]): Array; flattenDepth(array?: ?any[], depth?: ?number): any[]; fromPairs(pairs?: ?Array<[A, B]>): { [key: A]: B }; head(array: ?Array): T; indexOf(array: Array, value: T, fromIndex?: number): number; indexOf(array: void | null, value?: ?T, fromIndex?: ?number): -1; initial(array: ?Array): Array; intersection(...arrays?: Array>): Array; //Workaround until (...parameter: T, parameter2: U) works intersectionBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; intersectionBy( a1?: ?Array, a2?: ?Array, iteratee?: ?ValueOnlyIteratee ): Array; intersectionBy( a1?: ?Array, a2?: ?Array, a3?: ?Array, iteratee?: ?ValueOnlyIteratee ): Array; intersectionBy( a1?: ?Array, a2?: ?Array, a3?: ?Array, a4?: ?Array, iteratee?: ?ValueOnlyIteratee ): Array; //Workaround until (...parameter: T, parameter2: U) works intersectionWith(a1?: ?Array, comparator?: ?Comparator): Array; intersectionWith( a1?: ?Array, a2?: ?Array, comparator?: ?Comparator ): Array; intersectionWith( a1?: ?Array, a2?: ?Array, a3?: ?Array, comparator?: ?Comparator ): Array; intersectionWith( a1?: ?Array, a2?: ?Array, a3?: ?Array, a4?: ?Array, comparator?: ?Comparator ): Array; join(array: Array, separator?: ?string): string; join(array: void | null, separator?: ?string): ''; last(array: ?Array): T; lastIndexOf(array: Array, value?: ?T, fromIndex?: ?number): number; lastIndexOf(array: void | null, value?: ?T, fromIndex?: ?number): -1; nth(array: T[], n?: ?number): T; nth(array: void | null, n?: ?number): void; pull(array: Array, ...values?: Array): Array; pull(array: T, ...values?: Array): T; pullAll(array: Array, values?: ?Array): Array; pullAll(array: T, values?: ?Array): T; pullAllBy( array: Array, values?: ?Array, iteratee?: ?ValueOnlyIteratee ): Array; pullAllBy( array: T, values?: ?Array, iteratee?: ?ValueOnlyIteratee ): T; pullAllWith(array: T[], values?: ?T[], comparator?: ?Function): T[]; pullAllWith(array: T, values?: ?Array, comparator?: ?Function): T; pullAt(array?: ?Array, ...indexed?: Array): Array; pullAt(array?: ?Array, indexed?: ?Array): Array; remove(array?: ?Array, predicate?: ?Predicate): Array; reverse(array: Array): Array; reverse(array: T): T; slice(array?: ?Array, start?: ?number, end?: ?number): Array; sortedIndex(array: Array, value: T): number; sortedIndex(array: void | null, value: ?T): 0; sortedIndexBy( array: Array, value?: ?T, iteratee?: ?ValueOnlyIteratee ): number; sortedIndexBy( array: void | null, value?: ?T, iteratee?: ?ValueOnlyIteratee ): 0; sortedIndexOf(array: Array, value: T): number; sortedIndexOf(array: void | null, value?: ?T): -1; sortedLastIndex(array: Array, value: T): number; sortedLastIndex(array: void | null, value?: ?T): 0; sortedLastIndexBy( array: Array, value: T, iteratee?: ValueOnlyIteratee ): number; sortedLastIndexBy( array: void | null, value?: ?T, iteratee?: ?ValueOnlyIteratee ): 0; sortedLastIndexOf(array: Array, value: T): number; sortedLastIndexOf(array: void | null, value?: ?T): -1; sortedUniq(array?: ?Array): Array; sortedUniqBy(array?: ?Array, iteratee?: ?(value: T) => mixed): Array; tail(array?: ?Array): Array; take(array?: ?Array, n?: ?number): Array; takeRight(array?: ?Array, n?: ?number): Array; takeRightWhile(array?: ?Array, predicate?: ?Predicate): Array; takeWhile(array?: ?Array, predicate?: ?Predicate): Array; union(...arrays?: Array>): Array; //Workaround until (...parameter: T, parameter2: U) works unionBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; unionBy( a1?: ?Array, a2: Array, iteratee?: ValueOnlyIteratee ): Array; unionBy( a1: Array, a2: Array, a3: Array, iteratee?: ValueOnlyIteratee ): Array; unionBy( a1: Array, a2: Array, a3: Array, a4: Array, iteratee?: ValueOnlyIteratee ): Array; //Workaround until (...parameter: T, parameter2: U) works unionWith(a1?: ?Array, comparator?: ?Comparator): Array; unionWith( a1: Array, a2: Array, comparator?: Comparator ): Array; unionWith( a1: Array, a2: Array, a3: Array, comparator?: Comparator ): Array; unionWith( a1: Array, a2: Array, a3: Array, a4: Array, comparator?: Comparator ): Array; uniq(array?: ?Array): Array; uniqBy(array?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; uniqWith(array?: ?Array, comparator?: ?Comparator): Array; unzip(array?: ?Array): Array; unzipWith(array: ?Array, iteratee?: ?Iteratee): Array; without(array?: ?Array, ...values?: Array): Array; xor(...array: Array>): Array; //Workaround until (...parameter: T, parameter2: U) works xorBy(a1?: ?Array, iteratee?: ?ValueOnlyIteratee): Array; xorBy( a1: Array, a2: Array, iteratee?: ValueOnlyIteratee ): Array; xorBy( a1: Array, a2: Array, a3: Array, iteratee?: ValueOnlyIteratee ): Array; xorBy( a1: Array, a2: Array, a3: Array, a4: Array, iteratee?: ValueOnlyIteratee ): Array; //Workaround until (...parameter: T, parameter2: U) works xorWith(a1?: ?Array, comparator?: ?Comparator): Array; xorWith( a1: Array, a2: Array, comparator?: Comparator ): Array; xorWith( a1: Array, a2: Array, a3: Array, comparator?: Comparator ): Array; xorWith( a1: Array, a2: Array, a3: Array, a4: Array, comparator?: Comparator ): Array; zip(a1?: ?A[], a2?: ?B[]): Array<[A, B]>; zip(a1: A[], a2: B[], a3: C[]): Array<[A, B, C]>; zip(a1: A[], a2: B[], a3: C[], a4: D[]): Array<[A, B, C, D]>; zip( a1: A[], a2: B[], a3: C[], a4: D[], a5: E[] ): Array<[A, B, C, D, E]>; zipObject(props: Array, values?: ?Array): { [key: K]: V }; zipObject(props: void | null, values?: ?Array): {}; zipObjectDeep(props: any[], values?: ?any): Object; zipObjectDeep(props: void | null, values?: ?any): {}; zipWith(a1?: ?Array): Array<[A]>; zipWith(a1: Array, iteratee: (A) => T): Array; zipWith(a1: Array, a2: Array): Array<[A, B]>; zipWith( a1: Array, a2: Array, iteratee: (A, B) => T ): Array; zipWith( a1: Array, a2: Array, a3: Array ): Array<[A, B, C]>; zipWith( a1: Array, a2: Array, a3: Array, iteratee: (A, B, C) => T ): Array; zipWith( a1: Array, a2: Array, a3: Array, a4: Array ): Array<[A, B, C, D]>; zipWith( a1: Array, a2: Array, a3: Array, a4: Array, iteratee: (A, B, C, D) => T ): Array; // Collection countBy(array: Array, iteratee?: ?ValueOnlyIteratee): Object; countBy(array: void | null, iteratee?: ?ValueOnlyIteratee): {}; countBy(object: T, iteratee?: ?ValueOnlyIteratee): Object; // alias of _.forEach each(array: Array, iteratee?: ?Iteratee): Array; each(array: T, iteratee?: ?Iteratee): T; each(object: T, iteratee?: ?OIteratee): T; // alias of _.forEachRight eachRight(array: Array, iteratee?: ?Iteratee): Array; eachRight(array: T, iteratee?: ?Iteratee): T; eachRight(object: T, iteratee?: OIteratee): T; every(array?: ?Array, iteratee?: ?Iteratee): boolean; every(object: T, iteratee?: OIteratee): boolean; filter(array?: ?Array, predicate?: ?Predicate): Array; filter( object: T, predicate?: OPredicate ): Array; find( array: $ReadOnlyArray, predicate?: ?Predicate, fromIndex?: ?number ): T | void; find( array: void | null, predicate?: ?Predicate, fromIndex?: ?number ): void; find( object: T, predicate?: OPredicate, fromIndex?: number ): V; findLast( array: ?$ReadOnlyArray, predicate?: ?Predicate, fromIndex?: ?number ): T | void; findLast( object: T, predicate?: ?OPredicate ): V; flatMap( array?: ?$ReadOnlyArray, iteratee?: ?FlatMapIteratee ): Array; flatMap( object: T, iteratee?: OFlatMapIteratee ): Array; flatMapDeep( array?: ?$ReadOnlyArray, iteratee?: ?FlatMapIteratee ): Array; flatMapDeep( object: T, iteratee?: ?OFlatMapIteratee ): Array; flatMapDepth( array?: ?Array, iteratee?: ?FlatMapIteratee, depth?: ?number ): Array; flatMapDepth( object: T, iteratee?: OFlatMapIteratee, depth?: number ): Array; forEach(array: Array, iteratee?: ?Iteratee): Array; forEach(array: T, iteratee?: ?Iteratee): T; forEach(object: T, iteratee?: ?OIteratee): T; forEachRight(array: Array, iteratee?: ?Iteratee): Array; forEachRight(array: T, iteratee?: ?Iteratee): T; forEachRight(object: T, iteratee?: ?OIteratee): T; groupBy( array: $ReadOnlyArray, iteratee?: ?ValueOnlyIteratee ): { [key: V]: Array }; groupBy( array: void | null, iteratee?: ?ValueOnlyIteratee ): {}; groupBy( object: T, iteratee?: ValueOnlyIteratee ): { [key: V]: Array }; includes(array: Array, value: T, fromIndex?: ?number): boolean; includes(array: void | null, value?: ?T, fromIndex?: ?number): false; includes(object: T, value: any, fromIndex?: number): boolean; includes(str: string, value: string, fromIndex?: number): boolean; invokeMap( array?: ?Array, path?: ?((value: T) => Array | string) | Array | string, ...args?: Array ): Array; invokeMap( object: T, path: ((value: any) => Array | string) | Array | string, ...args?: Array ): Array; keyBy( array: $ReadOnlyArray, iteratee?: ?ValueOnlyIteratee ): { [key: V]: ?T }; keyBy( array: void | null, iteratee?: ?ValueOnlyIteratee<*> ): {}; keyBy( object: T, iteratee?: ?ValueOnlyIteratee ): { [key: V]: ?A }; map(array?: ?Array, iteratee?: ?MapIterator): Array; map( array: ?$ReadOnlyArray, iteratee?: ReadOnlyMapIterator ): Array, map( object: ?T, iteratee?: OMapIterator ): Array; map( str: ?string, iteratee?: (char: string, index: number, str: string) => any ): string; orderBy( array: $ReadOnlyArray, iteratees?: ?$ReadOnlyArray> | ?string, orders?: ?$ReadOnlyArray<"asc" | "desc"> | ?string ): Array; orderBy( array: null | void, iteratees?: ?$ReadOnlyArray> | ?string, orders?: ?$ReadOnlyArray<"asc" | "desc"> | ?string ): Array; orderBy( object: T, iteratees?: $ReadOnlyArray> | string, orders?: $ReadOnlyArray<"asc" | "desc"> | string ): Array; partition( array?: ?Array, predicate?: ?Predicate ): [Array, Array]; partition( object: T, predicate?: OPredicate ): [Array, Array]; reduce( array: Array, iteratee?: ( accumulator: U, value: T, index: number, array: ?Array ) => U, accumulator?: U ): U; reduce( array: void | null, iteratee?: ?( accumulator: U, value: T, index: number, array: ?Array ) => U, accumulator?: ?U ): void | null; reduce( object: T, iteratee?: (accumulator: U, value: any, key: string, object: T) => U, accumulator?: U ): U; reduceRight( array: void | null, iteratee?: ?( accumulator: U, value: T, index: number, array: ?Array ) => U, accumulator?: ?U ): void | null; reduceRight( array: Array, iteratee?: ?( accumulator: U, value: T, index: number, array: ?Array ) => U, accumulator?: ?U ): U; reduceRight( object: T, iteratee?: ?(accumulator: U, value: any, key: string, object: T) => U, accumulator?: ?U ): U; reject(array: ?Array, predicate?: Predicate): Array; reject( object?: ?T, predicate?: ?OPredicate ): Array; sample(array: ?Array): T; sample(object: T): V; sampleSize(array?: ?Array, n?: ?number): Array; sampleSize(object: T, n?: number): Array; shuffle(array: ?Array): Array; shuffle(object: T): Array; size(collection: Array | Object | string): number; some(array: ?Array, predicate?: Predicate): boolean; some(array: void | null, predicate?: ?Predicate): false; some( object?: ?T, predicate?: OPredicate ): boolean; sortBy( array: ?$ReadOnlyArray, ...iteratees?: $ReadOnlyArray> ): Array; sortBy( array: ?$ReadOnlyArray, iteratees?: $ReadOnlyArray> ): Array; sortBy( object: T, ...iteratees?: Array> ): Array; sortBy( object: T, iteratees?: $ReadOnlyArray> ): Array; // Date now(): number; // Function after(n: number, fn: Function): Function; ary(func: Function, n?: number): Function; before(n: number, fn: Function): Function; bind(func: Function, thisArg: any, ...partials: Array): Function; bindKey(obj?: ?Object, key?: ?string, ...partials?: Array): Function; curry: Curry; curry(func: Function, arity?: number): Function; curryRight(func: Function, arity?: number): Function; debounce(func: F, wait?: number, options?: DebounceOptions): F; defer(func: Function, ...args?: Array): TimeoutID; delay(func: Function, wait: number, ...args?: Array): TimeoutID; flip(func: Function): Function; memoize(func: F, resolver?: Function): F; negate(predicate: Function): Function; once(func: Function): Function; overArgs(func?: ?Function, ...transforms?: Array): Function; overArgs(func?: ?Function, transforms?: ?Array): Function; partial(func: Function, ...partials: any[]): Function; partialRight(func: Function, ...partials: Array): Function; partialRight(func: Function, partials: Array): Function; rearg(func: Function, ...indexes: Array): Function; rearg(func: Function, indexes: Array): Function; rest(func: Function, start?: number): Function; spread(func: Function): Function; throttle( func: Function, wait?: number, options?: ThrottleOptions ): Function; unary(func: Function): Function; wrap(value?: any, wrapper?: ?Function): Function; // Lang castArray(value: *): any[]; clone(value: T): T; cloneDeep(value: T): T; cloneDeepWith( value: T, customizer?: ?(value: T, key: number | string, object: T, stack: any) => U ): U; cloneWith( value: T, customizer?: ?(value: T, key: number | string, object: T, stack: any) => U ): U; conformsTo( source: T, predicates: T & { [key: string]: (x: any) => boolean } ): boolean; eq(value: any, other: any): boolean; gt(value: any, other: any): boolean; gte(value: any, other: any): boolean; isArguments(value: void | null): false; isArguments(value: any): boolean; isArray(value: Array): true; isArray(value: any): false; isArrayBuffer(value: ArrayBuffer): true; isArrayBuffer(value: any): false; isArrayLike(value: Array | string | {length: number}): true; isArrayLike(value: any): false; isArrayLikeObject(value: {length: number} | Array): true; isArrayLikeObject(value: any): false; isBoolean(value: boolean): true; isBoolean(value: any): false; isBuffer(value: void | null): false; isBuffer(value: any): boolean; isDate(value: Date): true; isDate(value: any): false; isElement(value: Element): true; isElement(value: any): false; isEmpty(value: void | null | '' | {} | [] | number | boolean): true; isEmpty(value: any): boolean; isEqual(value: any, other: any): boolean; isEqualWith( value?: ?T, other?: ?U, customizer?: ?( objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any ) => boolean | void ): boolean; isError(value: Error): true; isError(value: any): false; isFinite(value: number): boolean; isFinite(value: any): false; isFunction(value: Function): true; isFunction(value: any): false; isInteger(value: number): boolean; isInteger(value: any): false; isLength(value: void | null): false; isLength(value: any): boolean; isMap(value: Map): true; isMap(value: any): false; isMatch(object?: ?Object, source?: ?Object): boolean; isMatchWith( object?: ?T, source?: ?U, customizer?: ?( objValue: any, srcValue: any, key: number | string, object: T, source: U ) => boolean | void ): boolean; isNaN(value: Function | string | void | null | Object): false; isNaN(value: number): boolean; isNative(value: number | string | void | null | Object): false; isNative(value: any): boolean; isNil(value: void | null): true; isNil(value: any): false; isNull(value: null): true; isNull(value: any): false; isNumber(value: number): true; isNumber(value: any): false; isObject(value: Object): true; isObject(value: any): false; isObjectLike(value: void | null): false; isObjectLike(value: any): boolean; isPlainObject(value: Object): true; isPlainObject(value: any): false; isRegExp(value: RegExp): true; isRegExp(value: any): false; isSafeInteger(value: number): boolean; isSafeInteger(value: any): false; isSet(value: Set): true; isSet(value: any): false; isString(value: string): true; isString( value: number | boolean | Function | void | null | Object | Array ): false; isSymbol(value: Symbol): true; isSymbol(value: any): false; isTypedArray(value: $TypedArray): true; isTypedArray(value: any): false; isUndefined(value: void): true; isUndefined(value: any): false; isWeakMap(value: WeakMap): true; isWeakMap(value: any): false; isWeakSet(value: WeakSet): true; isWeakSet(value: any): false; lt(value: any, other: any): boolean; lte(value: any, other: any): boolean; toArray(value: any): Array; toFinite(value: void | null): 0; toFinite(value: any): number; toInteger(value: void | null): 0; toInteger(value: any): number; toLength(value: void | null): 0; toLength(value: any): number; toNumber(value: void | null): 0; toNumber(value: any): number; toPlainObject(value: any): Object; toSafeInteger(value: void | null): 0; toSafeInteger(value: any): number; toString(value: void | null): ''; toString(value: any): string; // Math add(augend: number, addend: number): number; ceil(number: number, precision?: number): number; divide(dividend: number, divisor: number): number; floor(number: number, precision?: number): number; max(array: ?Array): T; maxBy(array: ?Array, iteratee?: Iteratee): T; mean(array: Array<*>): number; meanBy(array: Array, iteratee?: Iteratee): number; min(array: ?Array): T; minBy(array: ?Array, iteratee?: Iteratee): T; multiply(multiplier: number, multiplicand: number): number; round(number: number, precision?: number): number; subtract(minuend: number, subtrahend: number): number; sum(array: Array<*>): number; sumBy(array: Array, iteratee?: Iteratee): number; // number clamp(number?: number, lower?: ?number, upper?: ?number): number; clamp(number: ?number, lower?: ?number, upper?: ?number): 0; inRange(number: number, start?: number, end: number): boolean; random(lower?: number, upper?: number, floating?: boolean): number; // Object assign(object?: ?Object, ...sources?: Array): Object; assignIn(): {}; assignIn(a: A, b: B): A & B; assignIn(a: A, b: B, c: C): A & B & C; assignIn(a: A, b: B, c: C, d: D): A & B & C & D; assignIn(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; assignInWith(): {}; assignInWith( object: T, s1: A, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): Object; assignInWith( object: T, s1: A, s2: B, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void ): Object; assignInWith( object: T, s1: A, s2: B, s3: C, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C ) => any | void ): Object; assignInWith( object: T, s1: A, s2: B, s3: C, s4: D, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C | D ) => any | void ): Object; assignWith(): {}; assignWith( object: T, s1: A, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): Object; assignWith( object: T, s1: A, s2: B, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void ): Object; assignWith( object: T, s1: A, s2: B, s3: C, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C ) => any | void ): Object; assignWith( object: T, s1: A, s2: B, s3: C, s4: D, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C | D ) => any | void ): Object; at(object?: ?Object, ...paths: Array): Array; at(object?: ?Object, paths: Array): Array; create(prototype: T, properties: Object): $Supertype; create(prototype: any, properties: void | null): {}; defaults(object?: ?Object, ...sources?: Array): Object; defaultsDeep(object?: ?Object, ...sources?: Array): Object; // alias for _.toPairs entries(object?: ?Object): Array<[string, any]>; // alias for _.toPairsIn entriesIn(object?: ?Object): Array<[string, any]>; // alias for _.assignIn extend(a?: ?A, b?: ?B): A & B; extend(a: A, b: B, c: C): A & B & C; extend(a: A, b: B, c: C, d: D): A & B & C & D; extend(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; // alias for _.assignInWith extendWith( object?: ?T, s1?: ?A, customizer?: ?( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): Object; extendWith( object: T, s1: A, s2: B, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void ): Object; extendWith( object: T, s1: A, s2: B, s3: C, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C ) => any | void ): Object; extendWith( object: T, s1: A, s2: B, s3: C, s4: D, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C | D ) => any | void ): Object; findKey( object: T, predicate?: ?OPredicate ): string | void; findKey( object: void | null, predicate?: ?OPredicate ): void; findLastKey( object: T, predicate?: ?OPredicate ): string | void; findLastKey( object: void | null, predicate?: ?OPredicate ): void; forIn(object: Object, iteratee?: ?OIteratee<*>): Object; forIn(object: void | null, iteratee?: ?OIteratee<*>): null; forInRight(object: Object, iteratee?: ?OIteratee<*>): Object; forInRight(object: void | null, iteratee?: ?OIteratee<*>): null; forOwn(object: Object, iteratee?: ?OIteratee<*>): Object; forOwn(object: void | null, iteratee?: ?OIteratee<*>): null; forOwnRight(object: Object, iteratee?: ?OIteratee<*>): Object; forOwnRight(object: void | null, iteratee?: ?OIteratee<*>): null; functions(object?: ?Object): Array; functionsIn(object?: ?Object): Array; get( object?: ?Object | ?Array, path?: ?Array | string, defaultValue?: any ): any; has(object: Object, path: Array | string): boolean; has(object: Object, path: void | null): false; has(object: void | null, path?: ?Array | ?string): false; hasIn(object: Object, path: Array | string): boolean; hasIn(object: Object, path: void | null): false; hasIn(object: void | null, path?: ?Array | ?string): false; invert(object: Object, multiVal?: ?boolean): Object; invert(object: void | null, multiVal?: ?boolean): {}; invertBy(object: Object, iteratee?: ?Function): Object; invertBy(object: void | null, iteratee?: ?Function): {}; invoke( object?: ?Object, path?: ?Array | string, ...args?: Array ): any; keys(object?: ?{ [key: K]: any }): Array; keys(object?: ?Object): Array; keysIn(object?: ?Object): Array; mapKeys(object: Object, iteratee?: ?OIteratee<*>): Object; mapKeys(object: void | null, iteratee?: ?OIteratee<*>): {}; mapValues(object: Object, iteratee?: ?OIteratee<*>): Object; mapValues(object: void | null, iteratee?: ?OIteratee<*>): {}; merge(object?: ?Object, ...sources?: Array): Object; mergeWith(): {}; mergeWith( object: T, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): Object; mergeWith( object: T, s1: A, s2: B, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void ): Object; mergeWith( object: T, s1: A, s2: B, s3: C, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C ) => any | void ): Object; mergeWith( object: T, s1: A, s2: B, s3: C, s4: D, customizer?: ( objValue: any, srcValue: any, key: string, object: T, source: A | B | C | D ) => any | void ): Object; omit(object?: ?Object, ...props: Array): Object; omit(object?: ?Object, props: Array): Object; omitBy( object: T, predicate?: ?OPredicate ): Object; omitBy( object: T, predicate?: ?OPredicate ): {}; pick(object?: ?Object, ...props: Array): Object; pick(object?: ?Object, props: Array): Object; pickBy( object: T, predicate?: ?OPredicate ): Object; pickBy( object: T, predicate?: ?OPredicate ): {}; result( object?: ?Object, path?: ?Array | string, defaultValue?: any ): any; set(object: Object, path?: ?Array | string, value: any): Object; set( object: T, path?: ?Array | string, value?: ?any): T; setWith( object: T, path?: ?Array | string, value: any, customizer?: (nsValue: any, key: string, nsObject: T) => any ): Object; setWith( object: T, path?: ?Array | string, value?: ?any, customizer?: ?(nsValue: any, key: string, nsObject: T) => any ): T; toPairs(object?: ?Object | Array<*>): Array<[string, any]>; toPairsIn(object?: ?Object): Array<[string, any]>; transform( collection: Object | $ReadOnlyArray, iteratee?: ?OIteratee<*>, accumulator?: any ): any; transform( collection: void | null, iteratee?: ?OIteratee<*>, accumulator?: ?any ): {}; unset(object: Object, path?: ?Array | ?string): boolean; unset(object: void | null, path?: ?Array | ?string): true; update(object: Object, path: string[] | string, updater: Function): Object; update( object: T, path?: ?string[] | ?string, updater?: ?Function): T; updateWith( object: Object, path?: ?string[] | ?string, updater?: ?Function, customizer?: ?Function ): Object; updateWith( object: T, path?: ?string[] | ?string, updater?: ?Function, customizer?: ?Function ): T; values(object?: ?Object): Array; valuesIn(object?: ?Object): Array; // Seq // harder to read, but this is _() (value: any): any; chain(value: T): any; tap(value: T, interceptor: (value: T) => any): T; thru(value: T1, interceptor: (value: T1) => T2): T2; // TODO: _.prototype.* // String camelCase(string: string): string; camelCase(string: void | null): ''; capitalize(string: string): string; capitalize(string: void | null): ''; deburr(string: string): string; deburr(string: void | null): ''; endsWith(string: string, target?: string, position?: ?number): boolean; endsWith(string: void | null, target?: ?string, position?: ?number): false; escape(string: string): string; escape(string: void | null): ''; escapeRegExp(string: string): string; escapeRegExp(string: void | null): ''; kebabCase(string: string): string; kebabCase(string: void | null): ''; lowerCase(string: string): string; lowerCase(string: void | null): ''; lowerFirst(string: string): string; lowerFirst(string: void | null): ''; pad(string?: ?string, length?: ?number, chars?: ?string): string; padEnd(string?: ?string, length?: ?number, chars?: ?string): string; padStart(string?: ?string, length?: ?number, chars?: ?string): string; parseInt(string: string, radix?: ?number): number; repeat(string: string, n?: ?number): string; repeat(string: void | null, n?: ?number): ''; replace( string: string, pattern: RegExp | string, replacement: ((string: string) => string) | string ): string; replace( string: void | null, pattern?: ?RegExp | ?string, replacement: ?((string: string) => string) | ?string ): ''; snakeCase(string: string): string; snakeCase(string: void | null): ''; split( string?: ?string, separator?: ?RegExp | ?string, limit?: ?number ): Array; startCase(string: string): string; startCase(string: void | null): ''; startsWith(string: string, target?: string, position?: number): boolean; startsWith(string: void | null, target?: ?string, position?: ?number): false; template(string?: ?string, options?: ?TemplateSettings): Function; toLower(string: string): string; toLower(string: void | null): ''; toUpper(string: string): string; toUpper(string: void | null): ''; trim(string: string, chars?: string): string; trim(string: void | null, chars?: ?string): ''; trimEnd(string: string, chars?: ?string): string; trimEnd(string: void | null, chars?: ?string): ''; trimStart(string: string, chars?: ?string): string; trimStart(string: void | null, chars?: ?string): ''; truncate(string: string, options?: TruncateOptions): string; truncate(string: void | null, options?: ?TruncateOptions): ''; unescape(string: string): string; unescape(string: void | null): ''; upperCase(string: string): string; upperCase(string: void | null): ''; upperFirst(string: string): string; upperFirst(string: void | null): ''; words(string?: ?string, pattern?: ?RegExp | ?string): Array; // Util attempt(func: Function, ...args: Array): any; bindAll(object: Object, methodNames?: ?Array): Object; bindAll(object: T, methodNames?: ?Array): T; bindAll(object: Object, ...methodNames: Array): Object; cond(pairs?: ?NestedArray): Function; conforms(source?: ?Object): Function; constant(value: T): () => T; defaultTo( value: T1, defaultValue: T2 ): T1; // NaN is a number instead of its own type, otherwise it would behave like null/void defaultTo(value: T1, defaultValue: T2): T1 | T2; defaultTo(value: T1, defaultValue: T2): T2; flow: ($ComposeReverse & (funcs: Array) => Function); flowRight: ($Compose & (funcs: Array) => Function); identity(value: T): T; iteratee(func?: any): Function; matches(source?: ?Object): Function; matchesProperty(path?: ?Array | string, srcValue: any): Function; method(path?: ?Array | string, ...args?: Array): Function; methodOf(object?: ?Object, ...args?: Array): Function; mixin( object?: T, source: Object, options?: { chain: boolean } ): T; noConflict(): Lodash; noop(...args: Array): void; nthArg(n?: ?number): Function; over(...iteratees: Array): Function; over(iteratees: Array): Function; overEvery(...predicates: Array): Function; overEvery(predicates: Array): Function; overSome(...predicates: Array): Function; overSome(predicates: Array): Function; property(path?: ?Array | string): Function; propertyOf(object?: ?Object): Function; range(start: number, end: number, step?: number): Array; range(end: number, step?: number): Array; rangeRight(start?: ?number, end?: ?number, step?: ?number): Array; rangeRight(end?: ?number, step?: ?number): Array; runInContext(context?: ?Object): Function; stubArray(): Array<*>; stubFalse(): false; stubObject(): {}; stubString(): ""; stubTrue(): true; times(n?: ?number, ...rest?: Array): Array; times(n: number, iteratee: (i: number) => T): Array; toPath(value: any): Array; uniqueId(prefix?: ?string): string; // Properties VERSION: string; templateSettings: TemplateSettings; } declare module.exports: Lodash; } declare module "lodash/fp" { declare type __CurriedFunction1 = (...r: [AA]) => R; declare type CurriedFunction1 = __CurriedFunction1; declare type __CurriedFunction2 = (( ...r: [AA] ) => CurriedFunction1) & ((...r: [AA, BB]) => R); declare type CurriedFunction2 = __CurriedFunction2; declare type __CurriedFunction3 = (( ...r: [AA] ) => CurriedFunction2) & ((...r: [AA, BB]) => CurriedFunction1) & ((...r: [AA, BB, CC]) => R); declare type CurriedFunction3 = __CurriedFunction3< A, B, C, R, *, *, * >; declare type __CurriedFunction4< A, B, C, D, R, AA: A, BB: B, CC: C, DD: D > = ((...r: [AA]) => CurriedFunction3) & ((...r: [AA, BB]) => CurriedFunction2) & ((...r: [AA, BB, CC]) => CurriedFunction1) & ((...r: [AA, BB, CC, DD]) => R); declare type CurriedFunction4 = __CurriedFunction4< A, B, C, D, R, *, *, *, * >; declare type __CurriedFunction5< A, B, C, D, E, R, AA: A, BB: B, CC: C, DD: D, EE: E > = ((...r: [AA]) => CurriedFunction4) & ((...r: [AA, BB]) => CurriedFunction3) & ((...r: [AA, BB, CC]) => CurriedFunction2) & ((...r: [AA, BB, CC, DD]) => CurriedFunction1) & ((...r: [AA, BB, CC, DD, EE]) => R); declare type CurriedFunction5 = __CurriedFunction5< A, B, C, D, E, R, *, *, *, *, * >; declare type __CurriedFunction6< A, B, C, D, E, F, R, AA: A, BB: B, CC: C, DD: D, EE: E, FF: F > = ((...r: [AA]) => CurriedFunction5) & ((...r: [AA, BB]) => CurriedFunction4) & ((...r: [AA, BB, CC]) => CurriedFunction3) & ((...r: [AA, BB, CC, DD]) => CurriedFunction2) & ((...r: [AA, BB, CC, DD, EE]) => CurriedFunction1) & ((...r: [AA, BB, CC, DD, EE, FF]) => R); declare type CurriedFunction6 = __CurriedFunction6< A, B, C, D, E, F, R, *, *, *, *, *, * >; declare type Curry = (((...r: [A]) => R) => CurriedFunction1) & (((...r: [A, B]) => R) => CurriedFunction2) & (((...r: [A, B, C]) => R) => CurriedFunction3) & (( (...r: [A, B, C, D]) => R ) => CurriedFunction4) & (( (...r: [A, B, C, D, E]) => R ) => CurriedFunction5) & (( (...r: [A, B, C, D, E, F]) => R ) => CurriedFunction6); declare type UnaryFn = (a: A) => R; declare type TemplateSettings = { escape?: RegExp, evaluate?: RegExp, imports?: Object, interpolate?: RegExp, variable?: string }; declare type TruncateOptions = { length?: number, omission?: string, separator?: RegExp | string }; declare type DebounceOptions = { leading?: boolean, maxWait?: number, trailing?: boolean }; declare type ThrottleOptions = { leading?: boolean, trailing?: boolean }; declare type NestedArray = Array>; declare type matchesIterateeShorthand = Object; declare type matchesPropertyIterateeShorthand = [string, any]; declare type propertyIterateeShorthand = string; declare type OPredicate = | ((value: A) => any) | matchesIterateeShorthand | matchesPropertyIterateeShorthand | propertyIterateeShorthand; declare type OIterateeWithResult = Object | string | ((value: V) => R); declare type OIteratee = OIterateeWithResult; declare type OFlatMapIteratee = OIterateeWithResult>; declare type Predicate = | ((value: T) => any) | matchesIterateeShorthand | matchesPropertyIterateeShorthand | propertyIterateeShorthand; declare type _ValueOnlyIteratee = (value: T) => mixed; declare type ValueOnlyIteratee = _ValueOnlyIteratee | string; declare type _Iteratee = (item: T) => mixed; declare type Iteratee = _Iteratee | Object | string; declare type FlatMapIteratee = | ((item: T) => Array) | Object | string; declare type Comparator = (item: T, item2: T) => boolean; declare type MapIterator = ((item: T) => U) | propertyIterateeShorthand; declare type OMapIterator = | ((item: T) => U) | propertyIterateeShorthand; declare class Lodash { // Array chunk(size: number): (array: Array) => Array>; chunk(size: number, array: Array): Array>; compact(array: Array): Array; concat | T, B: Array | U>( base: A ): (elements: B) => Array; concat | T, B: Array | U>( base: A, elements: B ): Array; difference(values: $ReadOnlyArray): (array: $ReadOnlyArray) => T[]; difference(values: $ReadOnlyArray, array: $ReadOnlyArray): T[]; differenceBy( iteratee: ValueOnlyIteratee ): ((values: $ReadOnlyArray) => (array: $ReadOnlyArray) => T[]) & ((values: $ReadOnlyArray, array: $ReadOnlyArray) => T[]); differenceBy( iteratee: ValueOnlyIteratee, values: $ReadOnlyArray ): (array: $ReadOnlyArray) => T[]; differenceBy( iteratee: ValueOnlyIteratee, values: $ReadOnlyArray, array: $ReadOnlyArray ): T[]; differenceWith( values: $ReadOnlyArray ): ((comparator: Comparator) => (array: $ReadOnlyArray) => T[]) & ((comparator: Comparator, array: $ReadOnlyArray) => T[]); differenceWith( values: $ReadOnlyArray, comparator: Comparator ): (array: $ReadOnlyArray) => T[]; differenceWith(values: $ReadOnlyArray, comparator: Comparator, array: $ReadOnlyArray): T[]; drop(n: number): (array: Array) => Array; drop(n: number, array: Array): Array; dropLast(n: number): (array: Array) => Array; dropLast(n: number, array: Array): Array; dropRight(n: number): (array: Array) => Array; dropRight(n: number, array: Array): Array; dropRightWhile(predicate: Predicate): (array: Array) => Array; dropRightWhile(predicate: Predicate, array: Array): Array; dropWhile(predicate: Predicate): (array: Array) => Array; dropWhile(predicate: Predicate, array: Array): Array; dropLastWhile(predicate: Predicate): (array: Array) => Array; dropLastWhile(predicate: Predicate, array: Array): Array; fill( start: number ): (( end: number ) => ((value: U) => (array: Array) => Array) & ((value: U, array: Array) => Array)) & ((end: number, value: U) => (array: Array) => Array) & ((end: number, value: U, array: Array) => Array); fill( start: number, end: number ): ((value: U) => (array: Array) => Array) & ((value: U, array: Array) => Array); fill( start: number, end: number, value: U ): (array: Array) => Array; fill( start: number, end: number, value: U, array: Array ): Array; findIndex(predicate: Predicate): (array: $ReadOnlyArray) => number; findIndex(predicate: Predicate, array: $ReadOnlyArray): number; findIndexFrom( predicate: Predicate ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & ((fromIndex: number, array: $ReadOnlyArray) => number); findIndexFrom( predicate: Predicate, fromIndex: number ): (array: $ReadOnlyArray) => number; findIndexFrom( predicate: Predicate, fromIndex: number, array: $ReadOnlyArray ): number; findLastIndex( predicate: Predicate ): (array: $ReadOnlyArray) => number; findLastIndex(predicate: Predicate, array: $ReadOnlyArray): number; findLastIndexFrom( predicate: Predicate ): ((fromIndex: number) => (array: $ReadOnlyArray) => number) & ((fromIndex: number, array: $ReadOnlyArray) => number); findLastIndexFrom( predicate: Predicate, fromIndex: number ): (array: $ReadOnlyArray) => number; findLastIndexFrom( predicate: Predicate, fromIndex: number, array: $ReadOnlyArray ): number; // alias of _.head first(array: Array): T; flatten(array: Array | X>): Array; unnest(array: Array | X>): Array; flattenDeep(array: any[]): Array; flattenDepth(depth: number): (array: any[]) => any[]; flattenDepth(depth: number, array: any[]): any[]; fromPairs(pairs: Array<[A, B]>): { [key: A]: B }; head(array: Array): T; indexOf(value: T): (array: Array) => number; indexOf(value: T, array: Array): number; indexOfFrom( value: T ): ((fromIndex: number) => (array: Array) => number) & ((fromIndex: number, array: Array) => number); indexOfFrom(value: T, fromIndex: number): (array: Array) => number; indexOfFrom(value: T, fromIndex: number, array: Array): number; initial(array: Array): Array; init(array: Array): Array; intersection(a1: Array): (a2: Array) => Array; intersection(a1: Array, a2: Array): Array; intersectionBy( iteratee: ValueOnlyIteratee ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); intersectionBy( iteratee: ValueOnlyIteratee, a1: Array ): (a2: Array) => Array; intersectionBy( iteratee: ValueOnlyIteratee, a1: Array, a2: Array ): Array; intersectionWith( comparator: Comparator ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); intersectionWith( comparator: Comparator, a1: Array ): (a2: Array) => Array; intersectionWith( comparator: Comparator, a1: Array, a2: Array ): Array; join(separator: string): (array: Array) => string; join(separator: string, array: Array): string; last(array: Array): T; lastIndexOf(value: T): (array: Array) => number; lastIndexOf(value: T, array: Array): number; lastIndexOfFrom( value: T ): ((fromIndex: number) => (array: Array) => number) & ((fromIndex: number, array: Array) => number); lastIndexOfFrom( value: T, fromIndex: number ): (array: Array) => number; lastIndexOfFrom(value: T, fromIndex: number, array: Array): number; nth(n: number): (array: T[]) => T; nth(n: number, array: T[]): T; pull(value: T): (array: Array) => Array; pull(value: T, array: Array): Array; pullAll(values: Array): (array: Array) => Array; pullAll(values: Array, array: Array): Array; pullAllBy( iteratee: ValueOnlyIteratee ): ((values: Array) => (array: Array) => Array) & ((values: Array, array: Array) => Array); pullAllBy( iteratee: ValueOnlyIteratee, values: Array ): (array: Array) => Array; pullAllBy( iteratee: ValueOnlyIteratee, values: Array, array: Array ): Array; pullAllWith( comparator: Function ): ((values: T[]) => (array: T[]) => T[]) & ((values: T[], array: T[]) => T[]); pullAllWith(comparator: Function, values: T[]): (array: T[]) => T[]; pullAllWith(comparator: Function, values: T[], array: T[]): T[]; pullAt(indexed: Array): (array: Array) => Array; pullAt(indexed: Array, array: Array): Array; remove(predicate: Predicate): (array: Array) => Array; remove(predicate: Predicate, array: Array): Array; reverse(array: Array): Array; slice( start: number ): ((end: number) => (array: Array) => Array) & ((end: number, array: Array) => Array); slice(start: number, end: number): (array: Array) => Array; slice(start: number, end: number, array: Array): Array; sortedIndex(value: T): (array: Array) => number; sortedIndex(value: T, array: Array): number; sortedIndexBy( iteratee: ValueOnlyIteratee ): ((value: T) => (array: Array) => number) & ((value: T, array: Array) => number); sortedIndexBy( iteratee: ValueOnlyIteratee, value: T ): (array: Array) => number; sortedIndexBy( iteratee: ValueOnlyIteratee, value: T, array: Array ): number; sortedIndexOf(value: T): (array: Array) => number; sortedIndexOf(value: T, array: Array): number; sortedLastIndex(value: T): (array: Array) => number; sortedLastIndex(value: T, array: Array): number; sortedLastIndexBy( iteratee: ValueOnlyIteratee ): ((value: T) => (array: Array) => number) & ((value: T, array: Array) => number); sortedLastIndexBy( iteratee: ValueOnlyIteratee, value: T ): (array: Array) => number; sortedLastIndexBy( iteratee: ValueOnlyIteratee, value: T, array: Array ): number; sortedLastIndexOf(value: T): (array: Array) => number; sortedLastIndexOf(value: T, array: Array): number; sortedUniq(array: Array): Array; sortedUniqBy( iteratee: (value: T) => mixed ): (array: Array) => Array; sortedUniqBy(iteratee: (value: T) => mixed, array: Array): Array; tail(array: Array): Array; take(n: number): (array: Array) => Array; take(n: number, array: Array): Array; takeRight(n: number): (array: Array) => Array; takeRight(n: number, array: Array): Array; takeLast(n: number): (array: Array) => Array; takeLast(n: number, array: Array): Array; takeRightWhile(predicate: Predicate): (array: Array) => Array; takeRightWhile(predicate: Predicate, array: Array): Array; takeLastWhile(predicate: Predicate): (array: Array) => Array; takeLastWhile(predicate: Predicate, array: Array): Array; takeWhile(predicate: Predicate): (array: Array) => Array; takeWhile(predicate: Predicate, array: Array): Array; union(a1: Array): (a2: Array) => Array; union(a1: Array, a2: Array): Array; unionBy( iteratee: ValueOnlyIteratee ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); unionBy( iteratee: ValueOnlyIteratee, a1: Array ): (a2: Array) => Array; unionBy( iteratee: ValueOnlyIteratee, a1: Array, a2: Array ): Array; unionWith( comparator: Comparator ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); unionWith( comparator: Comparator, a1: Array ): (a2: Array) => Array; unionWith( comparator: Comparator, a1: Array, a2: Array ): Array; uniq(array: Array): Array; uniqBy(iteratee: ValueOnlyIteratee): (array: Array) => Array; uniqBy(iteratee: ValueOnlyIteratee, array: Array): Array; uniqWith(comparator: Comparator): (array: Array) => Array; uniqWith(comparator: Comparator, array: Array): Array; unzip(array: Array): Array; unzipWith(iteratee: Iteratee): (array: Array) => Array; unzipWith(iteratee: Iteratee, array: Array): Array; without(values: Array): (array: Array) => Array; without(values: Array, array: Array): Array; xor(a1: Array): (a2: Array) => Array; xor(a1: Array, a2: Array): Array; symmetricDifference(a1: Array): (a2: Array) => Array; symmetricDifference(a1: Array, a2: Array): Array; xorBy( iteratee: ValueOnlyIteratee ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); xorBy( iteratee: ValueOnlyIteratee, a1: Array ): (a2: Array) => Array; xorBy( iteratee: ValueOnlyIteratee, a1: Array, a2: Array ): Array; symmetricDifferenceBy( iteratee: ValueOnlyIteratee ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); symmetricDifferenceBy( iteratee: ValueOnlyIteratee, a1: Array ): (a2: Array) => Array; symmetricDifferenceBy( iteratee: ValueOnlyIteratee, a1: Array, a2: Array ): Array; xorWith( comparator: Comparator ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); xorWith( comparator: Comparator, a1: Array ): (a2: Array) => Array; xorWith(comparator: Comparator, a1: Array, a2: Array): Array; symmetricDifferenceWith( comparator: Comparator ): ((a1: Array) => (a2: Array) => Array) & ((a1: Array, a2: Array) => Array); symmetricDifferenceWith( comparator: Comparator, a1: Array ): (a2: Array) => Array; symmetricDifferenceWith( comparator: Comparator, a1: Array, a2: Array ): Array; zip(a1: A[]): (a2: B[]) => Array<[A, B]>; zip(a1: A[], a2: B[]): Array<[A, B]>; zipAll(arrays: Array>): Array; zipObject(props?: Array): (values?: Array) => { [key: K]: V }; zipObject(props?: Array, values?: Array): { [key: K]: V }; zipObj(props: Array): (values: Array) => Object; zipObj(props: Array, values: Array): Object; zipObjectDeep(props: any[]): (values: any) => Object; zipObjectDeep(props: any[], values: any): Object; zipWith( iteratee: Iteratee ): ((a1: NestedArray) => (a2: NestedArray) => Array) & ((a1: NestedArray, a2: NestedArray) => Array); zipWith( iteratee: Iteratee, a1: NestedArray ): (a2: NestedArray) => Array; zipWith( iteratee: Iteratee, a1: NestedArray, a2: NestedArray ): Array; // Collection countBy( iteratee: ValueOnlyIteratee ): (collection: Array | { [id: any]: T }) => { [string]: number }; countBy( iteratee: ValueOnlyIteratee, collection: Array | { [id: any]: T } ): { [string]: number }; // alias of _.forEach each( iteratee: Iteratee | OIteratee ): (collection: Array | { [id: any]: T }) => Array; each( iteratee: Iteratee | OIteratee, collection: Array | { [id: any]: T } ): Array; // alias of _.forEachRight eachRight( iteratee: Iteratee | OIteratee ): (collection: Array | { [id: any]: T }) => Array; eachRight( iteratee: Iteratee | OIteratee, collection: Array | { [id: any]: T } ): Array; every( iteratee: Iteratee | OIteratee ): (collection: Array | { [id: any]: T }) => boolean; every( iteratee: Iteratee | OIteratee, collection: Array | { [id: any]: T } ): boolean; all( iteratee: Iteratee | OIteratee ): (collection: Array | { [id: any]: T }) => boolean; all( iteratee: Iteratee | OIteratee, collection: Array | { [id: any]: T } ): boolean; filter( predicate: Predicate | OPredicate ): (collection: Array | { [id: any]: T }) => Array; filter( predicate: Predicate | OPredicate, collection: Array | { [id: any]: T } ): Array; find( predicate: Predicate | OPredicate ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; find( predicate: Predicate | OPredicate, collection: $ReadOnlyArray | { [id: any]: T } ): T | void; findFrom( predicate: Predicate | OPredicate ): (( fromIndex: number ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & (( fromIndex: number, collection: $ReadOnlyArray | { [id: any]: T } ) => T | void); findFrom( predicate: Predicate | OPredicate, fromIndex: number ): (collection: Array | { [id: any]: T }) => T | void; findFrom( predicate: Predicate | OPredicate, fromIndex: number, collection: $ReadOnlyArray | { [id: any]: T } ): T | void; findLast( predicate: Predicate | OPredicate ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; findLast( predicate: Predicate | OPredicate, collection: $ReadOnlyArray | { [id: any]: T } ): T | void; findLastFrom( predicate: Predicate | OPredicate ): (( fromIndex: number ) => (collection: $ReadOnlyArray | { [id: any]: T }) => T | void) & (( fromIndex: number, collection: $ReadOnlyArray | { [id: any]: T } ) => T | void); findLastFrom( predicate: Predicate | OPredicate, fromIndex: number ): (collection: $ReadOnlyArray | { [id: any]: T }) => T | void; findLastFrom( predicate: Predicate | OPredicate, fromIndex: number, collection: $ReadOnlyArray | { [id: any]: T } ): T | void; flatMap( iteratee: FlatMapIteratee | OFlatMapIteratee ): (collection: Array | { [id: any]: T }) => Array; flatMap( iteratee: FlatMapIteratee | OFlatMapIteratee, collection: Array | { [id: any]: T } ): Array; flatMapDeep( iteratee: FlatMapIteratee | OFlatMapIteratee ): (collection: Array | { [id: any]: T }) => Array; flatMapDeep( iteratee: FlatMapIteratee | OFlatMapIteratee, collection: Array | { [id: any]: T } ): Array; flatMapDepth( iteratee: FlatMapIteratee | OFlatMapIteratee ): (( depth: number ) => (collection: Array | { [id: any]: T }) => Array) & ((depth: number, collection: Array | { [id: any]: T }) => Array); flatMapDepth( iteratee: FlatMapIteratee | OFlatMapIteratee, depth: number ): (collection: Array | { [id: any]: T }) => Array; flatMapDepth( iteratee: FlatMapIteratee | OFlatMapIteratee, depth: number, collection: Array | { [id: any]: T } ): Array; forEach( iteratee: Iteratee | OIteratee ): (collection: Array | { [id: any]: T }) => Array; forEach( iteratee: Iteratee | OIteratee, collection: Array | { [id: any]: T } ): Array; forEachRight( iteratee: Iteratee | OIteratee ): (collection: Array | { [id: any]: T }) => Array; forEachRight( iteratee: Iteratee | OIteratee, collection: Array | { [id: any]: T } ): Array; groupBy( iteratee: ValueOnlyIteratee ): ( collection: $ReadOnlyArray | { [id: any]: T } ) => { [key: V]: Array }; groupBy( iteratee: ValueOnlyIteratee, collection: $ReadOnlyArray | { [id: any]: T } ): { [key: V]: Array }; includes(value: T): (collection: Array | { [id: any]: T }) => boolean; includes(value: T, collection: Array | { [id: any]: T }): boolean; includes(value: string): (str: string) => boolean; includes(value: string, str: string): boolean; contains(value: string): (str: string) => boolean; contains(value: string, str: string): boolean; contains(value: T): (collection: Array | { [id: any]: T }) => boolean; contains(value: T, collection: Array | { [id: any]: T }): boolean; includesFrom( value: string ): ((fromIndex: number) => (str: string) => boolean) & ((fromIndex: number, str: string) => boolean); includesFrom(value: string, fromIndex: number): (str: string) => boolean; includesFrom(value: string, fromIndex: number, str: string): boolean; includesFrom( value: T ): ((fromIndex: number) => (collection: Array) => boolean) & ((fromIndex: number, collection: Array) => boolean); includesFrom( value: T, fromIndex: number ): (collection: Array) => boolean; includesFrom(value: T, fromIndex: number, collection: Array): boolean; invokeMap( path: ((value: T) => Array | string) | Array | string ): (collection: Array | { [id: any]: T }) => Array; invokeMap( path: ((value: T) => Array | string) | Array | string, collection: Array | { [id: any]: T } ): Array; invokeArgsMap( path: ((value: T) => Array | string) | Array | string ): (( collection: Array | { [id: any]: T } ) => (args: Array) => Array) & (( collection: Array | { [id: any]: T }, args: Array ) => Array); invokeArgsMap( path: ((value: T) => Array | string) | Array | string, collection: Array | { [id: any]: T } ): (args: Array) => Array; invokeArgsMap( path: ((value: T) => Array | string) | Array | string, collection: Array | { [id: any]: T }, args: Array ): Array; keyBy( iteratee: ValueOnlyIteratee ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [key: V]: T }; keyBy( iteratee: ValueOnlyIteratee, collection: $ReadOnlyArray | { [id: any]: T } ): { [key: V]: T }; indexBy( iteratee: ValueOnlyIteratee ): (collection: $ReadOnlyArray | { [id: any]: T }) => { [key: V]: T }; indexBy( iteratee: ValueOnlyIteratee, collection: $ReadOnlyArray | { [id: any]: T } ): { [key: V]: T }; map( iteratee: MapIterator | OMapIterator ): (collection: Array | { [id: any]: T }) => Array; map( iteratee: MapIterator | OMapIterator, collection: Array | { [id: any]: T } ): Array; map(iteratee: (char: string) => any): (str: string) => string; map(iteratee: (char: string) => any, str: string): string; pluck( iteratee: MapIterator | OMapIterator ): (collection: Array | { [id: any]: T }) => Array; pluck( iteratee: MapIterator | OMapIterator, collection: Array | { [id: any]: T } ): Array; pluck(iteratee: (char: string) => any): (str: string) => string; pluck(iteratee: (char: string) => any, str: string): string; orderBy( iteratees: $ReadOnlyArray | OIteratee<*>> | string ): (( orders: $ReadOnlyArray<"asc" | "desc"> | string ) => (collection: $ReadOnlyArray | { [id: any]: T }) => Array) & (( orders: $ReadOnlyArray<"asc" | "desc"> | string, collection: $ReadOnlyArray | { [id: any]: T } ) => Array); orderBy( iteratees: $ReadOnlyArray | OIteratee<*>> | string, orders: $ReadOnlyArray<"asc" | "desc"> | string ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; orderBy( iteratees: $ReadOnlyArray | OIteratee<*>> | string, orders: $ReadOnlyArray<"asc" | "desc"> | string, collection: $ReadOnlyArray | { [id: any]: T } ): Array; partition( predicate: Predicate | OPredicate ): (collection: Array | { [id: any]: T }) => [Array, Array]; partition( predicate: Predicate | OPredicate, collection: Array | { [id: any]: T } ): [Array, Array]; reduce( iteratee: (accumulator: U, value: T) => U ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & ((accumulator: U, collection: Array | { [id: any]: T }) => U); reduce( iteratee: (accumulator: U, value: T) => U, accumulator: U ): (collection: Array | { [id: any]: T }) => U; reduce( iteratee: (accumulator: U, value: T) => U, accumulator: U, collection: Array | { [id: any]: T } ): U; reduceRight( iteratee: (value: T, accumulator: U) => U ): ((accumulator: U) => (collection: Array | { [id: any]: T }) => U) & ((accumulator: U, collection: Array | { [id: any]: T }) => U); reduceRight( iteratee: (value: T, accumulator: U) => U, accumulator: U ): (collection: Array | { [id: any]: T }) => U; reduceRight( iteratee: (value: T, accumulator: U) => U, accumulator: U, collection: Array | { [id: any]: T } ): U; reject( predicate: Predicate | OPredicate ): (collection: Array | { [id: any]: T }) => Array; reject( predicate: Predicate | OPredicate, collection: Array | { [id: any]: T } ): Array; sample(collection: Array | { [id: any]: T }): T; sampleSize( n: number ): (collection: Array | { [id: any]: T }) => Array; sampleSize(n: number, collection: Array | { [id: any]: T }): Array; shuffle(collection: Array | { [id: any]: T }): Array; size(collection: Array | Object | string): number; some( predicate: Predicate | OPredicate ): (collection: Array | { [id: any]: T }) => boolean; some( predicate: Predicate | OPredicate, collection: Array | { [id: any]: T } ): boolean; any( predicate: Predicate | OPredicate ): (collection: Array | { [id: any]: T }) => boolean; any( predicate: Predicate | OPredicate, collection: Array | { [id: any]: T } ): boolean; sortBy( iteratees: | $ReadOnlyArray | OIteratee> | Iteratee | OIteratee ): (collection: $ReadOnlyArray | { [id: any]: T }) => Array; sortBy( iteratees: | $ReadOnlyArray | OIteratee> | Iteratee | OIteratee, collection: $ReadOnlyArray | { [id: any]: T }, ): Array; // Date now(): number; // Function after(fn: Function): (n: number) => Function; after(fn: Function, n: number): Function; ary(func: Function): Function; nAry(n: number): (func: Function) => Function; nAry(n: number, func: Function): Function; before(fn: Function): (n: number) => Function; before(fn: Function, n: number): Function; bind(func: Function): (thisArg: any) => Function; bind(func: Function, thisArg: any): Function; bindKey(obj: Object): (key: string) => Function; bindKey(obj: Object, key: string): Function; curry: Curry; curryN(arity: number): (func: Function) => Function; curryN(arity: number, func: Function): Function; curryRight(func: Function): Function; curryRightN(arity: number): (func: Function) => Function; curryRightN(arity: number, func: Function): Function; debounce(wait: number): (func: F) => F; debounce(wait: number, func: F): F; defer(func: Function): TimeoutID; delay(wait: number): (func: Function) => TimeoutID; delay(wait: number, func: Function): TimeoutID; flip(func: Function): Function; memoize(func: F): F; negate(predicate: Function): Function; complement(predicate: Function): Function; once(func: Function): Function; overArgs(func: Function): (transforms: Array) => Function; overArgs(func: Function, transforms: Array): Function; useWith(func: Function): (transforms: Array) => Function; useWith(func: Function, transforms: Array): Function; partial(func: Function): (partials: any[]) => Function; partial(func: Function, partials: any[]): Function; partialRight(func: Function): (partials: Array) => Function; partialRight(func: Function, partials: Array): Function; rearg(indexes: Array): (func: Function) => Function; rearg(indexes: Array, func: Function): Function; rest(func: Function): Function; unapply(func: Function): Function; restFrom(start: number): (func: Function) => Function; restFrom(start: number, func: Function): Function; spread(func: Function): Function; apply(func: Function): Function; spreadFrom(start: number): (func: Function) => Function; spreadFrom(start: number, func: Function): Function; throttle(wait: number): (func: Function) => Function; throttle(wait: number, func: Function): Function; unary(func: Function): Function; wrap(wrapper: Function): (value: any) => Function; wrap(wrapper: Function, value: any): Function; // Lang castArray(value: *): any[]; clone(value: T): T; cloneDeep(value: T): T; cloneDeepWith( customizer: (value: T, key: number | string, object: T, stack: any) => U ): (value: T) => U; cloneDeepWith( customizer: (value: T, key: number | string, object: T, stack: any) => U, value: T ): U; cloneWith( customizer: (value: T, key: number | string, object: T, stack: any) => U ): (value: T) => U; cloneWith( customizer: (value: T, key: number | string, object: T, stack: any) => U, value: T ): U; conformsTo( predicates: T & { [key: string]: (x: any) => boolean } ): (source: T) => boolean; conformsTo( predicates: T & { [key: string]: (x: any) => boolean }, source: T ): boolean; where( predicates: T & { [key: string]: (x: any) => boolean } ): (source: T) => boolean; where( predicates: T & { [key: string]: (x: any) => boolean }, source: T ): boolean; conforms( predicates: T & { [key: string]: (x: any) => boolean } ): (source: T) => boolean; conforms( predicates: T & { [key: string]: (x: any) => boolean }, source: T ): boolean; eq(value: any): (other: any) => boolean; eq(value: any, other: any): boolean; identical(value: any): (other: any) => boolean; identical(value: any, other: any): boolean; gt(value: any): (other: any) => boolean; gt(value: any, other: any): boolean; gte(value: any): (other: any) => boolean; gte(value: any, other: any): boolean; isArguments(value: any): boolean; isArray(value: any): boolean; isArrayBuffer(value: any): boolean; isArrayLike(value: any): boolean; isArrayLikeObject(value: any): boolean; isBoolean(value: any): boolean; isBuffer(value: any): boolean; isDate(value: any): boolean; isElement(value: any): boolean; isEmpty(value: any): boolean; isEqual(value: any): (other: any) => boolean; isEqual(value: any, other: any): boolean; equals(value: any): (other: any) => boolean; equals(value: any, other: any): boolean; isEqualWith( customizer: ( objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any ) => boolean | void ): ((value: T) => (other: U) => boolean) & ((value: T, other: U) => boolean); isEqualWith( customizer: ( objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any ) => boolean | void, value: T ): (other: U) => boolean; isEqualWith( customizer: ( objValue: any, otherValue: any, key: number | string, object: T, other: U, stack: any ) => boolean | void, value: T, other: U ): boolean; isError(value: any): boolean; isFinite(value: any): boolean; isFunction(value: Function): true; isFunction(value: number | string | void | null | Object): false; isInteger(value: any): boolean; isLength(value: any): boolean; isMap(value: any): boolean; isMatch(source: Object): (object: Object) => boolean; isMatch(source: Object, object: Object): boolean; whereEq(source: Object): (object: Object) => boolean; whereEq(source: Object, object: Object): boolean; isMatchWith( customizer: ( objValue: any, srcValue: any, key: number | string, object: T, source: U ) => boolean | void ): ((source: U) => (object: T) => boolean) & ((source: U, object: T) => boolean); isMatchWith( customizer: ( objValue: any, srcValue: any, key: number | string, object: T, source: U ) => boolean | void, source: U ): (object: T) => boolean; isMatchWith( customizer: ( objValue: any, srcValue: any, key: number | string, object: T, source: U ) => boolean | void, source: U, object: T ): boolean; isNaN(value: any): boolean; isNative(value: any): boolean; isNil(value: any): boolean; isNull(value: any): boolean; isNumber(value: any): boolean; isObject(value: any): boolean; isObjectLike(value: any): boolean; isPlainObject(value: any): boolean; isRegExp(value: any): boolean; isSafeInteger(value: any): boolean; isSet(value: any): boolean; isString(value: string): true; isString( value: number | boolean | Function | void | null | Object | Array ): false; isSymbol(value: any): boolean; isTypedArray(value: any): boolean; isUndefined(value: any): boolean; isWeakMap(value: any): boolean; isWeakSet(value: any): boolean; lt(value: any): (other: any) => boolean; lt(value: any, other: any): boolean; lte(value: any): (other: any) => boolean; lte(value: any, other: any): boolean; toArray(value: any): Array; toFinite(value: any): number; toInteger(value: any): number; toLength(value: any): number; toNumber(value: any): number; toPlainObject(value: any): Object; toSafeInteger(value: any): number; toString(value: any): string; // Math add(augend: number): (addend: number) => number; add(augend: number, addend: number): number; ceil(number: number): number; divide(dividend: number): (divisor: number) => number; divide(dividend: number, divisor: number): number; floor(number: number): number; max(array: Array): T; maxBy(iteratee: Iteratee): (array: Array) => T; maxBy(iteratee: Iteratee, array: Array): T; mean(array: Array<*>): number; meanBy(iteratee: Iteratee): (array: Array) => number; meanBy(iteratee: Iteratee, array: Array): number; min(array: Array): T; minBy(iteratee: Iteratee): (array: Array) => T; minBy(iteratee: Iteratee, array: Array): T; multiply(multiplier: number): (multiplicand: number) => number; multiply(multiplier: number, multiplicand: number): number; round(number: number): number; subtract(minuend: number): (subtrahend: number) => number; subtract(minuend: number, subtrahend: number): number; sum(array: Array<*>): number; sumBy(iteratee: Iteratee): (array: Array) => number; sumBy(iteratee: Iteratee, array: Array): number; // number clamp( lower: number ): ((upper: number) => (number: number) => number) & ((upper: number, number: number) => number); clamp(lower: number, upper: number): (number: number) => number; clamp(lower: number, upper: number, number: number): number; inRange( start: number ): ((end: number) => (number: number) => boolean) & ((end: number, number: number) => boolean); inRange(start: number, end: number): (number: number) => boolean; inRange(start: number, end: number, number: number): boolean; random(lower: number): (upper: number) => number; random(lower: number, upper: number): number; // Object assign(object: Object): (source: Object) => Object; assign(object: Object, source: Object): Object; assignAll(objects: Array): Object; assignInAll(objects: Array): Object; extendAll(objects: Array): Object; assignIn(a: A): (b: B) => A & B; assignIn(a: A, b: B): A & B; assignInWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); assignInWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void, object: T ): (s1: A) => Object; assignInWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void, object: T, s1: A ): Object; assignWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); assignWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void, object: T ): (s1: A) => Object; assignWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void, object: T, s1: A ): Object; assignInAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void ): (objects: Array) => Object; assignInAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void, objects: Array ): Object; extendAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void ): (objects: Array) => Object; extendAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void, objects: Array ): Object; assignAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void ): (objects: Array) => Object; assignAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void, objects: Array ): Object; at(paths: Array): (object: Object) => Array; at(paths: Array, object: Object): Array; props(paths: Array): (object: Object) => Array; props(paths: Array, object: Object): Array; paths(paths: Array): (object: Object) => Array; paths(paths: Array, object: Object): Array; create(prototype: T): $Supertype; defaults(source: Object): (object: Object) => Object; defaults(source: Object, object: Object): Object; defaultsAll(objects: Array): Object; defaultsDeep(source: Object): (object: Object) => Object; defaultsDeep(source: Object, object: Object): Object; defaultsDeepAll(objects: Array): Object; // alias for _.toPairs entries(object: Object): Array<[string, any]>; // alias for _.toPairsIn entriesIn(object: Object): Array<[string, any]>; // alias for _.assignIn extend(a: A): (b: B) => A & B; extend(a: A, b: B): A & B; // alias for _.assignInWith extendWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); extendWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void, object: T ): (s1: A) => Object; extendWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A ) => any | void, object: T, s1: A ): Object; findKey( predicate: OPredicate ): (object: T) => string | void; findKey( predicate: OPredicate, object: T ): string | void; findLastKey( predicate: OPredicate ): (object: T) => string | void; findLastKey( predicate: OPredicate, object: T ): string | void; forIn(iteratee: OIteratee<*>): (object: Object) => Object; forIn(iteratee: OIteratee<*>, object: Object): Object; forInRight(iteratee: OIteratee<*>): (object: Object) => Object; forInRight(iteratee: OIteratee<*>, object: Object): Object; forOwn(iteratee: OIteratee<*>): (object: Object) => Object; forOwn(iteratee: OIteratee<*>, object: Object): Object; forOwnRight(iteratee: OIteratee<*>): (object: Object) => Object; forOwnRight(iteratee: OIteratee<*>, object: Object): Object; functions(object: Object): Array; functionsIn(object: Object): Array; get(path: Array | string): (object: Object | Array) => any; get(path: Array | string, object: Object | Array): any; prop(path: Array | string): (object: Object | Array) => any; prop(path: Array | string, object: Object | Array): any; path(path: Array | string): (object: Object | Array) => any; path(path: Array | string, object: Object | Array): any; getOr( defaultValue: any ): (( path: Array | string ) => (object: Object | Array) => any) & ((path: Array | string, object: Object | Array) => any); getOr( defaultValue: any, path: Array | string ): (object: Object | Array) => any; getOr( defaultValue: any, path: Array | string, object: Object | Array ): any; propOr( defaultValue: any ): (( path: Array | string ) => (object: Object | Array) => any) & ((path: Array | string, object: Object | Array) => any); propOr( defaultValue: any, path: Array | string ): (object: Object | Array) => any; propOr( defaultValue: any, path: Array | string, object: Object | Array ): any; pathOr( defaultValue: any ): (( path: Array | string ) => (object: Object | Array) => any) & ((path: Array | string, object: Object | Array) => any); pathOr( defaultValue: any, path: Array | string ): (object: Object | Array) => any; pathOr( defaultValue: any, path: Array | string, object: Object | Array ): any; has(path: Array | string): (object: Object) => boolean; has(path: Array | string, object: Object): boolean; hasIn(path: Array | string): (object: Object) => boolean; hasIn(path: Array | string, object: Object): boolean; invert(object: Object): Object; invertObj(object: Object): Object; invertBy(iteratee: Function): (object: Object) => Object; invertBy(iteratee: Function, object: Object): Object; invoke(path: Array | string): (object: Object) => any; invoke(path: Array | string, object: Object): any; invokeArgs( path: Array | string ): ((object: Object) => (args: Array) => any) & ((object: Object, args: Array) => any); invokeArgs( path: Array | string, object: Object ): (args: Array) => any; invokeArgs( path: Array | string, object: Object, args: Array ): any; keys(object: { [key: K]: any }): Array; keys(object: Object): Array; keysIn(object: Object): Array; mapKeys(iteratee: OIteratee<*>): (object: Object) => Object; mapKeys(iteratee: OIteratee<*>, object: Object): Object; mapValues(iteratee: OIteratee<*>): (object: Object) => Object; mapValues(iteratee: OIteratee<*>, object: Object): Object; merge(object: Object): (source: Object) => Object; merge(object: Object, source: Object): Object; mergeAll(objects: Array): Object; mergeWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void ): ((object: T) => (s1: A) => Object) & ((object: T, s1: A) => Object); mergeWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void, object: T ): (s1: A) => Object; mergeWith( customizer: ( objValue: any, srcValue: any, key: string, object: T, source: A | B ) => any | void, object: T, s1: A ): Object; mergeAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void ): (objects: Array) => Object; mergeAllWith( customizer: ( objValue: any, srcValue: any, key: string, object: Object, source: Object ) => any | void, objects: Array ): Object; omit(props: Array): (object: Object) => Object; omit(props: Array, object: Object): Object; omitAll(props: Array): (object: Object) => Object; omitAll(props: Array, object: Object): Object; omitBy( predicate: OPredicate ): (object: T) => Object; omitBy(predicate: OPredicate, object: T): Object; pick(props: Array): (object: Object) => Object; pick(props: Array, object: Object): Object; pickAll(props: Array): (object: Object) => Object; pickAll(props: Array, object: Object): Object; pickBy( predicate: OPredicate ): (object: T) => Object; pickBy(predicate: OPredicate, object: T): Object; result(path: Array | string): (object: Object) => any; result(path: Array | string, object: Object): any; set( path: Array | string ): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object); set(path: Array | string, value: any): (object: Object) => Object; set(path: Array | string, value: any, object: Object): Object; assoc( path: Array | string ): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object); assoc(path: Array | string, value: any): (object: Object) => Object; assoc(path: Array | string, value: any, object: Object): Object; assocPath( path: Array | string ): ((value: any) => (object: Object) => Object) & ((value: any, object: Object) => Object); assocPath( path: Array | string, value: any ): (object: Object) => Object; assocPath(path: Array | string, value: any, object: Object): Object; setWith( customizer: (nsValue: any, key: string, nsObject: T) => any ): (( path: Array | string ) => ((value: any) => (object: T) => Object) & ((value: any, object: T) => Object)) & ((path: Array | string, value: any) => (object: T) => Object) & ((path: Array | string, value: any, object: T) => Object); setWith( customizer: (nsValue: any, key: string, nsObject: T) => any, path: Array | string ): ((value: any) => (object: T) => Object) & ((value: any, object: T) => Object); setWith( customizer: (nsValue: any, key: string, nsObject: T) => any, path: Array | string, value: any ): (object: T) => Object; setWith( customizer: (nsValue: any, key: string, nsObject: T) => any, path: Array | string, value: any, object: T ): Object; toPairs(object: Object | Array<*>): Array<[string, any]>; toPairsIn(object: Object): Array<[string, any]>; transform( iteratee: OIteratee<*> ): (( accumulator: any ) => (collection: Object | $ReadOnlyArray) => any) & ((accumulator: any, collection: Object | $ReadOnlyArray) => any); transform( iteratee: OIteratee<*>, accumulator: any ): (collection: Object | $ReadOnlyArray) => any; transform( iteratee: OIteratee<*>, accumulator: any, collection: Object | $ReadOnlyArray ): any; unset(path: Array | string): (object: Object) => boolean; unset(path: Array | string, object: Object): boolean; dissoc(path: Array | string): (object: Object) => boolean; dissoc(path: Array | string, object: Object): boolean; dissocPath(path: Array | string): (object: Object) => boolean; dissocPath(path: Array | string, object: Object): boolean; update( path: string[] | string ): ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object); update( path: string[] | string, updater: Function ): (object: Object) => Object; update(path: string[] | string, updater: Function, object: Object): Object; updateWith( customizer: Function ): (( path: string[] | string ) => ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object)) & (( path: string[] | string, updater: Function ) => (object: Object) => Object) & ((path: string[] | string, updater: Function, object: Object) => Object); updateWith( customizer: Function, path: string[] | string ): ((updater: Function) => (object: Object) => Object) & ((updater: Function, object: Object) => Object); updateWith( customizer: Function, path: string[] | string, updater: Function ): (object: Object) => Object; updateWith( customizer: Function, path: string[] | string, updater: Function, object: Object ): Object; values(object: Object): Array; valuesIn(object: Object): Array; tap(interceptor: (value: T) => any): (value: T) => T; tap(interceptor: (value: T) => any, value: T): T; thru(interceptor: (value: T1) => T2): (value: T1) => T2; thru(interceptor: (value: T1) => T2, value: T1): T2; // String camelCase(string: string): string; capitalize(string: string): string; deburr(string: string): string; endsWith(target: string): (string: string) => boolean; endsWith(target: string, string: string): boolean; escape(string: string): string; escapeRegExp(string: string): string; kebabCase(string: string): string; lowerCase(string: string): string; lowerFirst(string: string): string; pad(length: number): (string: string) => string; pad(length: number, string: string): string; padChars( chars: string ): ((length: number) => (string: string) => string) & ((length: number, string: string) => string); padChars(chars: string, length: number): (string: string) => string; padChars(chars: string, length: number, string: string): string; padEnd(length: number): (string: string) => string; padEnd(length: number, string: string): string; padCharsEnd( chars: string ): ((length: number) => (string: string) => string) & ((length: number, string: string) => string); padCharsEnd(chars: string, length: number): (string: string) => string; padCharsEnd(chars: string, length: number, string: string): string; padStart(length: number): (string: string) => string; padStart(length: number, string: string): string; padCharsStart( chars: string ): ((length: number) => (string: string) => string) & ((length: number, string: string) => string); padCharsStart(chars: string, length: number): (string: string) => string; padCharsStart(chars: string, length: number, string: string): string; parseInt(radix: number): (string: string) => number; parseInt(radix: number, string: string): number; repeat(n: number): (string: string) => string; repeat(n: number, string: string): string; replace( pattern: RegExp | string ): (( replacement: ((string: string) => string) | string ) => (string: string) => string) & (( replacement: ((string: string) => string) | string, string: string ) => string); replace( pattern: RegExp | string, replacement: ((string: string) => string) | string ): (string: string) => string; replace( pattern: RegExp | string, replacement: ((string: string) => string) | string, string: string ): string; snakeCase(string: string): string; split(separator: RegExp | string): (string: string) => Array; split(separator: RegExp | string, string: string): Array; startCase(string: string): string; startsWith(target: string): (string: string) => boolean; startsWith(target: string, string: string): boolean; template(string: string): Function; toLower(string: string): string; toUpper(string: string): string; trim(string: string): string; trimChars(chars: string): (string: string) => string; trimChars(chars: string, string: string): string; trimEnd(string: string): string; trimCharsEnd(chars: string): (string: string) => string; trimCharsEnd(chars: string, string: string): string; trimStart(string: string): string; trimCharsStart(chars: string): (string: string) => string; trimCharsStart(chars: string, string: string): string; truncate(options: TruncateOptions): (string: string) => string; truncate(options: TruncateOptions, string: string): string; unescape(string: string): string; upperCase(string: string): string; upperFirst(string: string): string; words(string: string): Array; // Util attempt(func: Function): any; bindAll(methodNames: Array): (object: Object) => Object; bindAll(methodNames: Array, object: Object): Object; cond(pairs: NestedArray): Function; constant(value: T): () => T; always(value: T): () => T; defaultTo( defaultValue: T2 ): (value: T1) => T1; defaultTo( defaultValue: T2, value: T1 ): T1; // NaN is a number instead of its own type, otherwise it would behave like null/void defaultTo(defaultValue: T2): (value: T1) => T1 | T2; defaultTo(defaultValue: T2, value: T1): T1 | T2; defaultTo(defaultValue: T2): (value: T1) => T2; defaultTo(defaultValue: T2, value: T1): T2; flow: ($ComposeReverse & (funcs: Array) => Function); pipe: ($ComposeReverse & (funcs: Array) => Function); flowRight: ($Compose & (funcs: Array) => Function); compose: ($Compose & (funcs: Array) => Function); compose(funcs: Array): Function; identity(value: T): T; iteratee(func: any): Function; matches(source: Object): (object: Object) => boolean; matches(source: Object, object: Object): boolean; matchesProperty(path: Array | string): (srcValue: any) => Function; matchesProperty(path: Array | string, srcValue: any): Function; propEq(path: Array | string): (srcValue: any) => Function; propEq(path: Array | string, srcValue: any): Function; pathEq(path: Array | string): (srcValue: any) => Function; pathEq(path: Array | string, srcValue: any): Function; method(path: Array | string): Function; methodOf(object: Object): Function; mixin( object: T ): ((source: Object) => (options: { chain: boolean }) => T) & ((source: Object, options: { chain: boolean }) => T); mixin( object: T, source: Object ): (options: { chain: boolean }) => T; mixin( object: T, source: Object, options: { chain: boolean } ): T; noConflict(): Lodash; noop(...args: Array): void; nthArg(n: number): Function; over(iteratees: Array): Function; juxt(iteratees: Array): Function; overEvery(predicates: Array): Function; allPass(predicates: Array): Function; overSome(predicates: Array): Function; anyPass(predicates: Array): Function; property( path: Array | string ): (object: Object | Array) => any; property(path: Array | string, object: Object | Array): any; propertyOf(object: Object): (path: Array | string) => Function; propertyOf(object: Object, path: Array | string): Function; range(start: number): (end: number) => Array; range(start: number, end: number): Array; rangeStep( step: number ): ((start: number) => (end: number) => Array) & ((start: number, end: number) => Array); rangeStep(step: number, start: number): (end: number) => Array; rangeStep(step: number, start: number, end: number): Array; rangeRight(start: number): (end: number) => Array; rangeRight(start: number, end: number): Array; rangeStepRight( step: number ): ((start: number) => (end: number) => Array) & ((start: number, end: number) => Array); rangeStepRight(step: number, start: number): (end: number) => Array; rangeStepRight(step: number, start: number, end: number): Array; runInContext(context: Object): Function; stubArray(): Array<*>; stubFalse(): false; F(): false; stubObject(): {}; stubString(): ""; stubTrue(): true; T(): true; times(iteratee: (i: number) => T): (n: number) => Array; times(iteratee: (i: number) => T, n: number): Array; toPath(value: any): Array; uniqueId(prefix: string): string; __: any; placeholder: any; convert(options: { cap?: boolean, curry?: boolean, fixed?: boolean, immutable?: boolean, rearg?: boolean }): void; // Properties VERSION: string; templateSettings: TemplateSettings; } declare module.exports: Lodash; } declare module "lodash/chunk" { declare module.exports: $PropertyType<$Exports<"lodash">, "chunk">; } declare module "lodash/compact" { declare module.exports: $PropertyType<$Exports<"lodash">, "compact">; } declare module "lodash/concat" { declare module.exports: $PropertyType<$Exports<"lodash">, "concat">; } declare module "lodash/difference" { declare module.exports: $PropertyType<$Exports<"lodash">, "difference">; } declare module "lodash/differenceBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "differenceBy">; } declare module "lodash/differenceWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "differenceWith">; } declare module "lodash/drop" { declare module.exports: $PropertyType<$Exports<"lodash">, "drop">; } declare module "lodash/dropRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "dropRight">; } declare module "lodash/dropRightWhile" { declare module.exports: $PropertyType<$Exports<"lodash">, "dropRightWhile">; } declare module "lodash/dropWhile" { declare module.exports: $PropertyType<$Exports<"lodash">, "dropWhile">; } declare module "lodash/fill" { declare module.exports: $PropertyType<$Exports<"lodash">, "fill">; } declare module "lodash/findIndex" { declare module.exports: $PropertyType<$Exports<"lodash">, "findIndex">; } declare module "lodash/findLastIndex" { declare module.exports: $PropertyType<$Exports<"lodash">, "findLastIndex">; } declare module "lodash/first" { declare module.exports: $PropertyType<$Exports<"lodash">, "first">; } declare module "lodash/flatten" { declare module.exports: $PropertyType<$Exports<"lodash">, "flatten">; } declare module "lodash/flattenDeep" { declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDeep">; } declare module "lodash/flattenDepth" { declare module.exports: $PropertyType<$Exports<"lodash">, "flattenDepth">; } declare module "lodash/fromPairs" { declare module.exports: $PropertyType<$Exports<"lodash">, "fromPairs">; } declare module "lodash/head" { declare module.exports: $PropertyType<$Exports<"lodash">, "head">; } declare module "lodash/indexOf" { declare module.exports: $PropertyType<$Exports<"lodash">, "indexOf">; } declare module "lodash/initial" { declare module.exports: $PropertyType<$Exports<"lodash">, "initial">; } declare module "lodash/intersection" { declare module.exports: $PropertyType<$Exports<"lodash">, "intersection">; } declare module "lodash/intersectionBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionBy">; } declare module "lodash/intersectionWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "intersectionWith">; } declare module "lodash/join" { declare module.exports: $PropertyType<$Exports<"lodash">, "join">; } declare module "lodash/last" { declare module.exports: $PropertyType<$Exports<"lodash">, "last">; } declare module "lodash/lastIndexOf" { declare module.exports: $PropertyType<$Exports<"lodash">, "lastIndexOf">; } declare module "lodash/nth" { declare module.exports: $PropertyType<$Exports<"lodash">, "nth">; } declare module "lodash/pull" { declare module.exports: $PropertyType<$Exports<"lodash">, "pull">; } declare module "lodash/pullAll" { declare module.exports: $PropertyType<$Exports<"lodash">, "pullAll">; } declare module "lodash/pullAllBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllBy">; } declare module "lodash/pullAllWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "pullAllWith">; } declare module "lodash/pullAt" { declare module.exports: $PropertyType<$Exports<"lodash">, "pullAt">; } declare module "lodash/remove" { declare module.exports: $PropertyType<$Exports<"lodash">, "remove">; } declare module "lodash/reverse" { declare module.exports: $PropertyType<$Exports<"lodash">, "reverse">; } declare module "lodash/slice" { declare module.exports: $PropertyType<$Exports<"lodash">, "slice">; } declare module "lodash/sortedIndex" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndex">; } declare module "lodash/sortedIndexBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexBy">; } declare module "lodash/sortedIndexOf" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortedIndexOf">; } declare module "lodash/sortedLastIndex" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortedLastIndex">; } declare module "lodash/sortedLastIndexBy" { declare module.exports: $PropertyType< $Exports<"lodash">, "sortedLastIndexBy" >; } declare module "lodash/sortedLastIndexOf" { declare module.exports: $PropertyType< $Exports<"lodash">, "sortedLastIndexOf" >; } declare module "lodash/sortedUniq" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniq">; } declare module "lodash/sortedUniqBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortedUniqBy">; } declare module "lodash/tail" { declare module.exports: $PropertyType<$Exports<"lodash">, "tail">; } declare module "lodash/take" { declare module.exports: $PropertyType<$Exports<"lodash">, "take">; } declare module "lodash/takeRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "takeRight">; } declare module "lodash/takeRightWhile" { declare module.exports: $PropertyType<$Exports<"lodash">, "takeRightWhile">; } declare module "lodash/takeWhile" { declare module.exports: $PropertyType<$Exports<"lodash">, "takeWhile">; } declare module "lodash/union" { declare module.exports: $PropertyType<$Exports<"lodash">, "union">; } declare module "lodash/unionBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "unionBy">; } declare module "lodash/unionWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "unionWith">; } declare module "lodash/uniq" { declare module.exports: $PropertyType<$Exports<"lodash">, "uniq">; } declare module "lodash/uniqBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "uniqBy">; } declare module "lodash/uniqWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "uniqWith">; } declare module "lodash/unzip" { declare module.exports: $PropertyType<$Exports<"lodash">, "unzip">; } declare module "lodash/unzipWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "unzipWith">; } declare module "lodash/without" { declare module.exports: $PropertyType<$Exports<"lodash">, "without">; } declare module "lodash/xor" { declare module.exports: $PropertyType<$Exports<"lodash">, "xor">; } declare module "lodash/xorBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "xorBy">; } declare module "lodash/xorWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "xorWith">; } declare module "lodash/zip" { declare module.exports: $PropertyType<$Exports<"lodash">, "zip">; } declare module "lodash/zipObject" { declare module.exports: $PropertyType<$Exports<"lodash">, "zipObject">; } declare module "lodash/zipObjectDeep" { declare module.exports: $PropertyType<$Exports<"lodash">, "zipObjectDeep">; } declare module "lodash/zipWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "zipWith">; } declare module "lodash/countBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "countBy">; } declare module "lodash/each" { declare module.exports: $PropertyType<$Exports<"lodash">, "each">; } declare module "lodash/eachRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "eachRight">; } declare module "lodash/every" { declare module.exports: $PropertyType<$Exports<"lodash">, "every">; } declare module "lodash/filter" { declare module.exports: $PropertyType<$Exports<"lodash">, "filter">; } declare module "lodash/find" { declare module.exports: $PropertyType<$Exports<"lodash">, "find">; } declare module "lodash/findLast" { declare module.exports: $PropertyType<$Exports<"lodash">, "findLast">; } declare module "lodash/flatMap" { declare module.exports: $PropertyType<$Exports<"lodash">, "flatMap">; } declare module "lodash/flatMapDeep" { declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDeep">; } declare module "lodash/flatMapDepth" { declare module.exports: $PropertyType<$Exports<"lodash">, "flatMapDepth">; } declare module "lodash/forEach" { declare module.exports: $PropertyType<$Exports<"lodash">, "forEach">; } declare module "lodash/forEachRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "forEachRight">; } declare module "lodash/groupBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "groupBy">; } declare module "lodash/includes" { declare module.exports: $PropertyType<$Exports<"lodash">, "includes">; } declare module "lodash/invokeMap" { declare module.exports: $PropertyType<$Exports<"lodash">, "invokeMap">; } declare module "lodash/keyBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "keyBy">; } declare module "lodash/map" { declare module.exports: $PropertyType<$Exports<"lodash">, "map">; } declare module "lodash/orderBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "orderBy">; } declare module "lodash/partition" { declare module.exports: $PropertyType<$Exports<"lodash">, "partition">; } declare module "lodash/reduce" { declare module.exports: $PropertyType<$Exports<"lodash">, "reduce">; } declare module "lodash/reduceRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "reduceRight">; } declare module "lodash/reject" { declare module.exports: $PropertyType<$Exports<"lodash">, "reject">; } declare module "lodash/sample" { declare module.exports: $PropertyType<$Exports<"lodash">, "sample">; } declare module "lodash/sampleSize" { declare module.exports: $PropertyType<$Exports<"lodash">, "sampleSize">; } declare module "lodash/shuffle" { declare module.exports: $PropertyType<$Exports<"lodash">, "shuffle">; } declare module "lodash/size" { declare module.exports: $PropertyType<$Exports<"lodash">, "size">; } declare module "lodash/some" { declare module.exports: $PropertyType<$Exports<"lodash">, "some">; } declare module "lodash/sortBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "sortBy">; } declare module "lodash/now" { declare module.exports: $PropertyType<$Exports<"lodash">, "now">; } declare module "lodash/after" { declare module.exports: $PropertyType<$Exports<"lodash">, "after">; } declare module "lodash/ary" { declare module.exports: $PropertyType<$Exports<"lodash">, "ary">; } declare module "lodash/before" { declare module.exports: $PropertyType<$Exports<"lodash">, "before">; } declare module "lodash/bind" { declare module.exports: $PropertyType<$Exports<"lodash">, "bind">; } declare module "lodash/bindKey" { declare module.exports: $PropertyType<$Exports<"lodash">, "bindKey">; } declare module "lodash/curry" { declare module.exports: $PropertyType<$Exports<"lodash">, "curry">; } declare module "lodash/curryRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "curryRight">; } declare module "lodash/debounce" { declare module.exports: $PropertyType<$Exports<"lodash">, "debounce">; } declare module "lodash/defer" { declare module.exports: $PropertyType<$Exports<"lodash">, "defer">; } declare module "lodash/delay" { declare module.exports: $PropertyType<$Exports<"lodash">, "delay">; } declare module "lodash/flip" { declare module.exports: $PropertyType<$Exports<"lodash">, "flip">; } declare module "lodash/memoize" { declare module.exports: $PropertyType<$Exports<"lodash">, "memoize">; } declare module "lodash/negate" { declare module.exports: $PropertyType<$Exports<"lodash">, "negate">; } declare module "lodash/once" { declare module.exports: $PropertyType<$Exports<"lodash">, "once">; } declare module "lodash/overArgs" { declare module.exports: $PropertyType<$Exports<"lodash">, "overArgs">; } declare module "lodash/partial" { declare module.exports: $PropertyType<$Exports<"lodash">, "partial">; } declare module "lodash/partialRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "partialRight">; } declare module "lodash/rearg" { declare module.exports: $PropertyType<$Exports<"lodash">, "rearg">; } declare module "lodash/rest" { declare module.exports: $PropertyType<$Exports<"lodash">, "rest">; } declare module "lodash/spread" { declare module.exports: $PropertyType<$Exports<"lodash">, "spread">; } declare module "lodash/throttle" { declare module.exports: $PropertyType<$Exports<"lodash">, "throttle">; } declare module "lodash/unary" { declare module.exports: $PropertyType<$Exports<"lodash">, "unary">; } declare module "lodash/wrap" { declare module.exports: $PropertyType<$Exports<"lodash">, "wrap">; } declare module "lodash/castArray" { declare module.exports: $PropertyType<$Exports<"lodash">, "castArray">; } declare module "lodash/clone" { declare module.exports: $PropertyType<$Exports<"lodash">, "clone">; } declare module "lodash/cloneDeep" { declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeep">; } declare module "lodash/cloneDeepWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "cloneDeepWith">; } declare module "lodash/cloneWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "cloneWith">; } declare module "lodash/conformsTo" { declare module.exports: $PropertyType<$Exports<"lodash">, "conformsTo">; } declare module "lodash/eq" { declare module.exports: $PropertyType<$Exports<"lodash">, "eq">; } declare module "lodash/gt" { declare module.exports: $PropertyType<$Exports<"lodash">, "gt">; } declare module "lodash/gte" { declare module.exports: $PropertyType<$Exports<"lodash">, "gte">; } declare module "lodash/isArguments" { declare module.exports: $PropertyType<$Exports<"lodash">, "isArguments">; } declare module "lodash/isArray" { declare module.exports: $PropertyType<$Exports<"lodash">, "isArray">; } declare module "lodash/isArrayBuffer" { declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayBuffer">; } declare module "lodash/isArrayLike" { declare module.exports: $PropertyType<$Exports<"lodash">, "isArrayLike">; } declare module "lodash/isArrayLikeObject" { declare module.exports: $PropertyType< $Exports<"lodash">, "isArrayLikeObject" >; } declare module "lodash/isBoolean" { declare module.exports: $PropertyType<$Exports<"lodash">, "isBoolean">; } declare module "lodash/isBuffer" { declare module.exports: $PropertyType<$Exports<"lodash">, "isBuffer">; } declare module "lodash/isDate" { declare module.exports: $PropertyType<$Exports<"lodash">, "isDate">; } declare module "lodash/isElement" { declare module.exports: $PropertyType<$Exports<"lodash">, "isElement">; } declare module "lodash/isEmpty" { declare module.exports: $PropertyType<$Exports<"lodash">, "isEmpty">; } declare module "lodash/isEqual" { declare module.exports: $PropertyType<$Exports<"lodash">, "isEqual">; } declare module "lodash/isEqualWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "isEqualWith">; } declare module "lodash/isError" { declare module.exports: $PropertyType<$Exports<"lodash">, "isError">; } declare module "lodash/isFinite" { declare module.exports: $PropertyType<$Exports<"lodash">, "isFinite">; } declare module "lodash/isFunction" { declare module.exports: $PropertyType<$Exports<"lodash">, "isFunction">; } declare module "lodash/isInteger" { declare module.exports: $PropertyType<$Exports<"lodash">, "isInteger">; } declare module "lodash/isLength" { declare module.exports: $PropertyType<$Exports<"lodash">, "isLength">; } declare module "lodash/isMap" { declare module.exports: $PropertyType<$Exports<"lodash">, "isMap">; } declare module "lodash/isMatch" { declare module.exports: $PropertyType<$Exports<"lodash">, "isMatch">; } declare module "lodash/isMatchWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "isMatchWith">; } declare module "lodash/isNaN" { declare module.exports: $PropertyType<$Exports<"lodash">, "isNaN">; } declare module "lodash/isNative" { declare module.exports: $PropertyType<$Exports<"lodash">, "isNative">; } declare module "lodash/isNil" { declare module.exports: $PropertyType<$Exports<"lodash">, "isNil">; } declare module "lodash/isNull" { declare module.exports: $PropertyType<$Exports<"lodash">, "isNull">; } declare module "lodash/isNumber" { declare module.exports: $PropertyType<$Exports<"lodash">, "isNumber">; } declare module "lodash/isObject" { declare module.exports: $PropertyType<$Exports<"lodash">, "isObject">; } declare module "lodash/isObjectLike" { declare module.exports: $PropertyType<$Exports<"lodash">, "isObjectLike">; } declare module "lodash/isPlainObject" { declare module.exports: $PropertyType<$Exports<"lodash">, "isPlainObject">; } declare module "lodash/isRegExp" { declare module.exports: $PropertyType<$Exports<"lodash">, "isRegExp">; } declare module "lodash/isSafeInteger" { declare module.exports: $PropertyType<$Exports<"lodash">, "isSafeInteger">; } declare module "lodash/isSet" { declare module.exports: $PropertyType<$Exports<"lodash">, "isSet">; } declare module "lodash/isString" { declare module.exports: $PropertyType<$Exports<"lodash">, "isString">; } declare module "lodash/isSymbol" { declare module.exports: $PropertyType<$Exports<"lodash">, "isSymbol">; } declare module "lodash/isTypedArray" { declare module.exports: $PropertyType<$Exports<"lodash">, "isTypedArray">; } declare module "lodash/isUndefined" { declare module.exports: $PropertyType<$Exports<"lodash">, "isUndefined">; } declare module "lodash/isWeakMap" { declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakMap">; } declare module "lodash/isWeakSet" { declare module.exports: $PropertyType<$Exports<"lodash">, "isWeakSet">; } declare module "lodash/lt" { declare module.exports: $PropertyType<$Exports<"lodash">, "lt">; } declare module "lodash/lte" { declare module.exports: $PropertyType<$Exports<"lodash">, "lte">; } declare module "lodash/toArray" { declare module.exports: $PropertyType<$Exports<"lodash">, "toArray">; } declare module "lodash/toFinite" { declare module.exports: $PropertyType<$Exports<"lodash">, "toFinite">; } declare module "lodash/toInteger" { declare module.exports: $PropertyType<$Exports<"lodash">, "toInteger">; } declare module "lodash/toLength" { declare module.exports: $PropertyType<$Exports<"lodash">, "toLength">; } declare module "lodash/toNumber" { declare module.exports: $PropertyType<$Exports<"lodash">, "toNumber">; } declare module "lodash/toPlainObject" { declare module.exports: $PropertyType<$Exports<"lodash">, "toPlainObject">; } declare module "lodash/toSafeInteger" { declare module.exports: $PropertyType<$Exports<"lodash">, "toSafeInteger">; } declare module "lodash/toString" { declare module.exports: $PropertyType<$Exports<"lodash">, "toString">; } declare module "lodash/add" { declare module.exports: $PropertyType<$Exports<"lodash">, "add">; } declare module "lodash/ceil" { declare module.exports: $PropertyType<$Exports<"lodash">, "ceil">; } declare module "lodash/divide" { declare module.exports: $PropertyType<$Exports<"lodash">, "divide">; } declare module "lodash/floor" { declare module.exports: $PropertyType<$Exports<"lodash">, "floor">; } declare module "lodash/max" { declare module.exports: $PropertyType<$Exports<"lodash">, "max">; } declare module "lodash/maxBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "maxBy">; } declare module "lodash/mean" { declare module.exports: $PropertyType<$Exports<"lodash">, "mean">; } declare module "lodash/meanBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "meanBy">; } declare module "lodash/min" { declare module.exports: $PropertyType<$Exports<"lodash">, "min">; } declare module "lodash/minBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "minBy">; } declare module "lodash/multiply" { declare module.exports: $PropertyType<$Exports<"lodash">, "multiply">; } declare module "lodash/round" { declare module.exports: $PropertyType<$Exports<"lodash">, "round">; } declare module "lodash/subtract" { declare module.exports: $PropertyType<$Exports<"lodash">, "subtract">; } declare module "lodash/sum" { declare module.exports: $PropertyType<$Exports<"lodash">, "sum">; } declare module "lodash/sumBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "sumBy">; } declare module "lodash/clamp" { declare module.exports: $PropertyType<$Exports<"lodash">, "clamp">; } declare module "lodash/inRange" { declare module.exports: $PropertyType<$Exports<"lodash">, "inRange">; } declare module "lodash/random" { declare module.exports: $PropertyType<$Exports<"lodash">, "random">; } declare module "lodash/assign" { declare module.exports: $PropertyType<$Exports<"lodash">, "assign">; } declare module "lodash/assignIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "assignIn">; } declare module "lodash/assignInWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "assignInWith">; } declare module "lodash/assignWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "assignWith">; } declare module "lodash/at" { declare module.exports: $PropertyType<$Exports<"lodash">, "at">; } declare module "lodash/create" { declare module.exports: $PropertyType<$Exports<"lodash">, "create">; } declare module "lodash/defaults" { declare module.exports: $PropertyType<$Exports<"lodash">, "defaults">; } declare module "lodash/defaultsDeep" { declare module.exports: $PropertyType<$Exports<"lodash">, "defaultsDeep">; } declare module "lodash/entries" { declare module.exports: $PropertyType<$Exports<"lodash">, "entries">; } declare module "lodash/entriesIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "entriesIn">; } declare module "lodash/extend" { declare module.exports: $PropertyType<$Exports<"lodash">, "extend">; } declare module "lodash/extendWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "extendWith">; } declare module "lodash/findKey" { declare module.exports: $PropertyType<$Exports<"lodash">, "findKey">; } declare module "lodash/findLastKey" { declare module.exports: $PropertyType<$Exports<"lodash">, "findLastKey">; } declare module "lodash/forIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "forIn">; } declare module "lodash/forInRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "forInRight">; } declare module "lodash/forOwn" { declare module.exports: $PropertyType<$Exports<"lodash">, "forOwn">; } declare module "lodash/forOwnRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "forOwnRight">; } declare module "lodash/functions" { declare module.exports: $PropertyType<$Exports<"lodash">, "functions">; } declare module "lodash/functionsIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "functionsIn">; } declare module "lodash/get" { declare module.exports: $PropertyType<$Exports<"lodash">, "get">; } declare module "lodash/has" { declare module.exports: $PropertyType<$Exports<"lodash">, "has">; } declare module "lodash/hasIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "hasIn">; } declare module "lodash/invert" { declare module.exports: $PropertyType<$Exports<"lodash">, "invert">; } declare module "lodash/invertBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "invertBy">; } declare module "lodash/invoke" { declare module.exports: $PropertyType<$Exports<"lodash">, "invoke">; } declare module "lodash/keys" { declare module.exports: $PropertyType<$Exports<"lodash">, "keys">; } declare module "lodash/keysIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "keysIn">; } declare module "lodash/mapKeys" { declare module.exports: $PropertyType<$Exports<"lodash">, "mapKeys">; } declare module "lodash/mapValues" { declare module.exports: $PropertyType<$Exports<"lodash">, "mapValues">; } declare module "lodash/merge" { declare module.exports: $PropertyType<$Exports<"lodash">, "merge">; } declare module "lodash/mergeWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "mergeWith">; } declare module "lodash/omit" { declare module.exports: $PropertyType<$Exports<"lodash">, "omit">; } declare module "lodash/omitBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "omitBy">; } declare module "lodash/pick" { declare module.exports: $PropertyType<$Exports<"lodash">, "pick">; } declare module "lodash/pickBy" { declare module.exports: $PropertyType<$Exports<"lodash">, "pickBy">; } declare module "lodash/result" { declare module.exports: $PropertyType<$Exports<"lodash">, "result">; } declare module "lodash/set" { declare module.exports: $PropertyType<$Exports<"lodash">, "set">; } declare module "lodash/setWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "setWith">; } declare module "lodash/toPairs" { declare module.exports: $PropertyType<$Exports<"lodash">, "toPairs">; } declare module "lodash/toPairsIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "toPairsIn">; } declare module "lodash/transform" { declare module.exports: $PropertyType<$Exports<"lodash">, "transform">; } declare module "lodash/unset" { declare module.exports: $PropertyType<$Exports<"lodash">, "unset">; } declare module "lodash/update" { declare module.exports: $PropertyType<$Exports<"lodash">, "update">; } declare module "lodash/updateWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "updateWith">; } declare module "lodash/values" { declare module.exports: $PropertyType<$Exports<"lodash">, "values">; } declare module "lodash/valuesIn" { declare module.exports: $PropertyType<$Exports<"lodash">, "valuesIn">; } declare module "lodash/chain" { declare module.exports: $PropertyType<$Exports<"lodash">, "chain">; } declare module "lodash/tap" { declare module.exports: $PropertyType<$Exports<"lodash">, "tap">; } declare module "lodash/thru" { declare module.exports: $PropertyType<$Exports<"lodash">, "thru">; } declare module "lodash/camelCase" { declare module.exports: $PropertyType<$Exports<"lodash">, "camelCase">; } declare module "lodash/capitalize" { declare module.exports: $PropertyType<$Exports<"lodash">, "capitalize">; } declare module "lodash/deburr" { declare module.exports: $PropertyType<$Exports<"lodash">, "deburr">; } declare module "lodash/endsWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "endsWith">; } declare module "lodash/escape" { declare module.exports: $PropertyType<$Exports<"lodash">, "escape">; } declare module "lodash/escapeRegExp" { declare module.exports: $PropertyType<$Exports<"lodash">, "escapeRegExp">; } declare module "lodash/kebabCase" { declare module.exports: $PropertyType<$Exports<"lodash">, "kebabCase">; } declare module "lodash/lowerCase" { declare module.exports: $PropertyType<$Exports<"lodash">, "lowerCase">; } declare module "lodash/lowerFirst" { declare module.exports: $PropertyType<$Exports<"lodash">, "lowerFirst">; } declare module "lodash/pad" { declare module.exports: $PropertyType<$Exports<"lodash">, "pad">; } declare module "lodash/padEnd" { declare module.exports: $PropertyType<$Exports<"lodash">, "padEnd">; } declare module "lodash/padStart" { declare module.exports: $PropertyType<$Exports<"lodash">, "padStart">; } declare module "lodash/parseInt" { declare module.exports: $PropertyType<$Exports<"lodash">, "parseInt">; } declare module "lodash/repeat" { declare module.exports: $PropertyType<$Exports<"lodash">, "repeat">; } declare module "lodash/replace" { declare module.exports: $PropertyType<$Exports<"lodash">, "replace">; } declare module "lodash/snakeCase" { declare module.exports: $PropertyType<$Exports<"lodash">, "snakeCase">; } declare module "lodash/split" { declare module.exports: $PropertyType<$Exports<"lodash">, "split">; } declare module "lodash/startCase" { declare module.exports: $PropertyType<$Exports<"lodash">, "startCase">; } declare module "lodash/startsWith" { declare module.exports: $PropertyType<$Exports<"lodash">, "startsWith">; } declare module "lodash/template" { declare module.exports: $PropertyType<$Exports<"lodash">, "template">; } declare module "lodash/toLower" { declare module.exports: $PropertyType<$Exports<"lodash">, "toLower">; } declare module "lodash/toUpper" { declare module.exports: $PropertyType<$Exports<"lodash">, "toUpper">; } declare module "lodash/trim" { declare module.exports: $PropertyType<$Exports<"lodash">, "trim">; } declare module "lodash/trimEnd" { declare module.exports: $PropertyType<$Exports<"lodash">, "trimEnd">; } declare module "lodash/trimStart" { declare module.exports: $PropertyType<$Exports<"lodash">, "trimStart">; } declare module "lodash/truncate" { declare module.exports: $PropertyType<$Exports<"lodash">, "truncate">; } declare module "lodash/unescape" { declare module.exports: $PropertyType<$Exports<"lodash">, "unescape">; } declare module "lodash/upperCase" { declare module.exports: $PropertyType<$Exports<"lodash">, "upperCase">; } declare module "lodash/upperFirst" { declare module.exports: $PropertyType<$Exports<"lodash">, "upperFirst">; } declare module "lodash/words" { declare module.exports: $PropertyType<$Exports<"lodash">, "words">; } declare module "lodash/attempt" { declare module.exports: $PropertyType<$Exports<"lodash">, "attempt">; } declare module "lodash/bindAll" { declare module.exports: $PropertyType<$Exports<"lodash">, "bindAll">; } declare module "lodash/cond" { declare module.exports: $PropertyType<$Exports<"lodash">, "cond">; } declare module "lodash/conforms" { declare module.exports: $PropertyType<$Exports<"lodash">, "conforms">; } declare module "lodash/constant" { declare module.exports: $PropertyType<$Exports<"lodash">, "constant">; } declare module "lodash/defaultTo" { declare module.exports: $PropertyType<$Exports<"lodash">, "defaultTo">; } declare module "lodash/flow" { declare module.exports: $PropertyType<$Exports<"lodash">, "flow">; } declare module "lodash/flowRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "flowRight">; } declare module "lodash/identity" { declare module.exports: $PropertyType<$Exports<"lodash">, "identity">; } declare module "lodash/iteratee" { declare module.exports: $PropertyType<$Exports<"lodash">, "iteratee">; } declare module "lodash/matches" { declare module.exports: $PropertyType<$Exports<"lodash">, "matches">; } declare module "lodash/matchesProperty" { declare module.exports: $PropertyType<$Exports<"lodash">, "matchesProperty">; } declare module "lodash/method" { declare module.exports: $PropertyType<$Exports<"lodash">, "method">; } declare module "lodash/methodOf" { declare module.exports: $PropertyType<$Exports<"lodash">, "methodOf">; } declare module "lodash/mixin" { declare module.exports: $PropertyType<$Exports<"lodash">, "mixin">; } declare module "lodash/noConflict" { declare module.exports: $PropertyType<$Exports<"lodash">, "noConflict">; } declare module "lodash/noop" { declare module.exports: $PropertyType<$Exports<"lodash">, "noop">; } declare module "lodash/nthArg" { declare module.exports: $PropertyType<$Exports<"lodash">, "nthArg">; } declare module "lodash/over" { declare module.exports: $PropertyType<$Exports<"lodash">, "over">; } declare module "lodash/overEvery" { declare module.exports: $PropertyType<$Exports<"lodash">, "overEvery">; } declare module "lodash/overSome" { declare module.exports: $PropertyType<$Exports<"lodash">, "overSome">; } declare module "lodash/property" { declare module.exports: $PropertyType<$Exports<"lodash">, "property">; } declare module "lodash/propertyOf" { declare module.exports: $PropertyType<$Exports<"lodash">, "propertyOf">; } declare module "lodash/range" { declare module.exports: $PropertyType<$Exports<"lodash">, "range">; } declare module "lodash/rangeRight" { declare module.exports: $PropertyType<$Exports<"lodash">, "rangeRight">; } declare module "lodash/runInContext" { declare module.exports: $PropertyType<$Exports<"lodash">, "runInContext">; } declare module "lodash/stubArray" { declare module.exports: $PropertyType<$Exports<"lodash">, "stubArray">; } declare module "lodash/stubFalse" { declare module.exports: $PropertyType<$Exports<"lodash">, "stubFalse">; } declare module "lodash/stubObject" { declare module.exports: $PropertyType<$Exports<"lodash">, "stubObject">; } declare module "lodash/stubString" { declare module.exports: $PropertyType<$Exports<"lodash">, "stubString">; } declare module "lodash/stubTrue" { declare module.exports: $PropertyType<$Exports<"lodash">, "stubTrue">; } declare module "lodash/times" { declare module.exports: $PropertyType<$Exports<"lodash">, "times">; } declare module "lodash/toPath" { declare module.exports: $PropertyType<$Exports<"lodash">, "toPath">; } declare module "lodash/uniqueId" { declare module.exports: $PropertyType<$Exports<"lodash">, "uniqueId">; } declare module "lodash/fp/chunk" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "chunk">; } declare module "lodash/fp/compact" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "compact">; } declare module "lodash/fp/concat" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "concat">; } declare module "lodash/fp/difference" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "difference">; } declare module "lodash/fp/differenceBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "differenceBy">; } declare module "lodash/fp/differenceWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "differenceWith">; } declare module "lodash/fp/drop" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "drop">; } declare module "lodash/fp/dropLast" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropLast">; } declare module "lodash/fp/dropRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropRight">; } declare module "lodash/fp/dropRightWhile" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropRightWhile">; } declare module "lodash/fp/dropWhile" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropWhile">; } declare module "lodash/fp/dropLastWhile" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dropLastWhile">; } declare module "lodash/fp/fill" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "fill">; } declare module "lodash/fp/findIndex" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findIndex">; } declare module "lodash/fp/findIndexFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findIndexFrom">; } declare module "lodash/fp/findLastIndex" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastIndex">; } declare module "lodash/fp/findLastIndexFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastIndexFrom">; } declare module "lodash/fp/first" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "first">; } declare module "lodash/fp/flatten" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatten">; } declare module "lodash/fp/unnest" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unnest">; } declare module "lodash/fp/flattenDeep" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flattenDeep">; } declare module "lodash/fp/flattenDepth" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flattenDepth">; } declare module "lodash/fp/fromPairs" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "fromPairs">; } declare module "lodash/fp/head" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "head">; } declare module "lodash/fp/indexOf" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "indexOf">; } declare module "lodash/fp/indexOfFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "indexOfFrom">; } declare module "lodash/fp/initial" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "initial">; } declare module "lodash/fp/init" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "init">; } declare module "lodash/fp/intersection" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "intersection">; } declare module "lodash/fp/intersectionBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "intersectionBy">; } declare module "lodash/fp/intersectionWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "intersectionWith">; } declare module "lodash/fp/join" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "join">; } declare module "lodash/fp/last" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "last">; } declare module "lodash/fp/lastIndexOf" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lastIndexOf">; } declare module "lodash/fp/lastIndexOfFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lastIndexOfFrom">; } declare module "lodash/fp/nth" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "nth">; } declare module "lodash/fp/pull" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pull">; } declare module "lodash/fp/pullAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAll">; } declare module "lodash/fp/pullAllBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAllBy">; } declare module "lodash/fp/pullAllWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAllWith">; } declare module "lodash/fp/pullAt" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pullAt">; } declare module "lodash/fp/remove" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "remove">; } declare module "lodash/fp/reverse" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reverse">; } declare module "lodash/fp/slice" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "slice">; } declare module "lodash/fp/sortedIndex" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedIndex">; } declare module "lodash/fp/sortedIndexBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedIndexBy">; } declare module "lodash/fp/sortedIndexOf" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedIndexOf">; } declare module "lodash/fp/sortedLastIndex" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedLastIndex">; } declare module "lodash/fp/sortedLastIndexBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedLastIndexBy">; } declare module "lodash/fp/sortedLastIndexOf" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedLastIndexOf">; } declare module "lodash/fp/sortedUniq" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedUniq">; } declare module "lodash/fp/sortedUniqBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortedUniqBy">; } declare module "lodash/fp/tail" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "tail">; } declare module "lodash/fp/take" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "take">; } declare module "lodash/fp/takeRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeRight">; } declare module "lodash/fp/takeLast" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeLast">; } declare module "lodash/fp/takeRightWhile" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeRightWhile">; } declare module "lodash/fp/takeLastWhile" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeLastWhile">; } declare module "lodash/fp/takeWhile" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "takeWhile">; } declare module "lodash/fp/union" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "union">; } declare module "lodash/fp/unionBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unionBy">; } declare module "lodash/fp/unionWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unionWith">; } declare module "lodash/fp/uniq" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniq">; } declare module "lodash/fp/uniqBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniqBy">; } declare module "lodash/fp/uniqWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniqWith">; } declare module "lodash/fp/unzip" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unzip">; } declare module "lodash/fp/unzipWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unzipWith">; } declare module "lodash/fp/without" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "without">; } declare module "lodash/fp/xor" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "xor">; } declare module "lodash/fp/symmetricDifference" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "symmetricDifference">; } declare module "lodash/fp/xorBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "xorBy">; } declare module "lodash/fp/symmetricDifferenceBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "symmetricDifferenceBy">; } declare module "lodash/fp/xorWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "xorWith">; } declare module "lodash/fp/symmetricDifferenceWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "symmetricDifferenceWith">; } declare module "lodash/fp/zip" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zip">; } declare module "lodash/fp/zipAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipAll">; } declare module "lodash/fp/zipObject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipObject">; } declare module "lodash/fp/zipObj" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipObj">; } declare module "lodash/fp/zipObjectDeep" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipObjectDeep">; } declare module "lodash/fp/zipWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "zipWith">; } declare module "lodash/fp/countBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "countBy">; } declare module "lodash/fp/each" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "each">; } declare module "lodash/fp/eachRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "eachRight">; } declare module "lodash/fp/every" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "every">; } declare module "lodash/fp/all" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "all">; } declare module "lodash/fp/filter" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "filter">; } declare module "lodash/fp/find" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "find">; } declare module "lodash/fp/findFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findFrom">; } declare module "lodash/fp/findLast" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLast">; } declare module "lodash/fp/findLastFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastFrom">; } declare module "lodash/fp/flatMap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatMap">; } declare module "lodash/fp/flatMapDeep" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatMapDeep">; } declare module "lodash/fp/flatMapDepth" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flatMapDepth">; } declare module "lodash/fp/forEach" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forEach">; } declare module "lodash/fp/forEachRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forEachRight">; } declare module "lodash/fp/groupBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "groupBy">; } declare module "lodash/fp/includes" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "includes">; } declare module "lodash/fp/contains" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "contains">; } declare module "lodash/fp/includesFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "includesFrom">; } declare module "lodash/fp/invokeMap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invokeMap">; } declare module "lodash/fp/invokeArgsMap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invokeArgsMap">; } declare module "lodash/fp/keyBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "keyBy">; } declare module "lodash/fp/indexBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "indexBy">; } declare module "lodash/fp/map" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "map">; } declare module "lodash/fp/pluck" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pluck">; } declare module "lodash/fp/orderBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "orderBy">; } declare module "lodash/fp/partition" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "partition">; } declare module "lodash/fp/reduce" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reduce">; } declare module "lodash/fp/reduceRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reduceRight">; } declare module "lodash/fp/reject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "reject">; } declare module "lodash/fp/sample" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sample">; } declare module "lodash/fp/sampleSize" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sampleSize">; } declare module "lodash/fp/shuffle" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "shuffle">; } declare module "lodash/fp/size" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "size">; } declare module "lodash/fp/some" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "some">; } declare module "lodash/fp/any" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "any">; } declare module "lodash/fp/sortBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sortBy">; } declare module "lodash/fp/now" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "now">; } declare module "lodash/fp/after" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "after">; } declare module "lodash/fp/ary" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "ary">; } declare module "lodash/fp/nAry" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "nAry">; } declare module "lodash/fp/before" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "before">; } declare module "lodash/fp/bind" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "bind">; } declare module "lodash/fp/bindKey" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "bindKey">; } declare module "lodash/fp/curry" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curry">; } declare module "lodash/fp/curryN" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curryN">; } declare module "lodash/fp/curryRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curryRight">; } declare module "lodash/fp/curryRightN" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "curryRightN">; } declare module "lodash/fp/debounce" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "debounce">; } declare module "lodash/fp/defer" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defer">; } declare module "lodash/fp/delay" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "delay">; } declare module "lodash/fp/flip" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flip">; } declare module "lodash/fp/memoize" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "memoize">; } declare module "lodash/fp/negate" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "negate">; } declare module "lodash/fp/complement" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "complement">; } declare module "lodash/fp/once" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "once">; } declare module "lodash/fp/overArgs" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "overArgs">; } declare module "lodash/fp/useWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "useWith">; } declare module "lodash/fp/partial" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "partial">; } declare module "lodash/fp/partialRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "partialRight">; } declare module "lodash/fp/rearg" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rearg">; } declare module "lodash/fp/rest" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rest">; } declare module "lodash/fp/unapply" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unapply">; } declare module "lodash/fp/restFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "restFrom">; } declare module "lodash/fp/spread" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "spread">; } declare module "lodash/fp/apply" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "apply">; } declare module "lodash/fp/spreadFrom" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "spreadFrom">; } declare module "lodash/fp/throttle" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "throttle">; } declare module "lodash/fp/unary" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unary">; } declare module "lodash/fp/wrap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "wrap">; } declare module "lodash/fp/castArray" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "castArray">; } declare module "lodash/fp/clone" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "clone">; } declare module "lodash/fp/cloneDeep" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cloneDeep">; } declare module "lodash/fp/cloneDeepWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cloneDeepWith">; } declare module "lodash/fp/cloneWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cloneWith">; } declare module "lodash/fp/conformsTo" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "conformsTo">; } declare module "lodash/fp/where" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "where">; } declare module "lodash/fp/conforms" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "conforms">; } declare module "lodash/fp/eq" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "eq">; } declare module "lodash/fp/identical" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "identical">; } declare module "lodash/fp/gt" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "gt">; } declare module "lodash/fp/gte" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "gte">; } declare module "lodash/fp/isArguments" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArguments">; } declare module "lodash/fp/isArray" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArray">; } declare module "lodash/fp/isArrayBuffer" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArrayBuffer">; } declare module "lodash/fp/isArrayLike" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArrayLike">; } declare module "lodash/fp/isArrayLikeObject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isArrayLikeObject">; } declare module "lodash/fp/isBoolean" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isBoolean">; } declare module "lodash/fp/isBuffer" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isBuffer">; } declare module "lodash/fp/isDate" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isDate">; } declare module "lodash/fp/isElement" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isElement">; } declare module "lodash/fp/isEmpty" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isEmpty">; } declare module "lodash/fp/isEqual" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isEqual">; } declare module "lodash/fp/equals" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "equals">; } declare module "lodash/fp/isEqualWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isEqualWith">; } declare module "lodash/fp/isError" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isError">; } declare module "lodash/fp/isFinite" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isFinite">; } declare module "lodash/fp/isFunction" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isFunction">; } declare module "lodash/fp/isInteger" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isInteger">; } declare module "lodash/fp/isLength" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isLength">; } declare module "lodash/fp/isMap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isMap">; } declare module "lodash/fp/isMatch" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isMatch">; } declare module "lodash/fp/whereEq" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "whereEq">; } declare module "lodash/fp/isMatchWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isMatchWith">; } declare module "lodash/fp/isNaN" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNaN">; } declare module "lodash/fp/isNative" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNative">; } declare module "lodash/fp/isNil" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNil">; } declare module "lodash/fp/isNull" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNull">; } declare module "lodash/fp/isNumber" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isNumber">; } declare module "lodash/fp/isObject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isObject">; } declare module "lodash/fp/isObjectLike" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isObjectLike">; } declare module "lodash/fp/isPlainObject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isPlainObject">; } declare module "lodash/fp/isRegExp" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isRegExp">; } declare module "lodash/fp/isSafeInteger" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isSafeInteger">; } declare module "lodash/fp/isSet" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isSet">; } declare module "lodash/fp/isString" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isString">; } declare module "lodash/fp/isSymbol" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isSymbol">; } declare module "lodash/fp/isTypedArray" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isTypedArray">; } declare module "lodash/fp/isUndefined" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isUndefined">; } declare module "lodash/fp/isWeakMap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isWeakMap">; } declare module "lodash/fp/isWeakSet" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "isWeakSet">; } declare module "lodash/fp/lt" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lt">; } declare module "lodash/fp/lte" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lte">; } declare module "lodash/fp/toArray" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toArray">; } declare module "lodash/fp/toFinite" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toFinite">; } declare module "lodash/fp/toInteger" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toInteger">; } declare module "lodash/fp/toLength" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toLength">; } declare module "lodash/fp/toNumber" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toNumber">; } declare module "lodash/fp/toPlainObject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPlainObject">; } declare module "lodash/fp/toSafeInteger" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toSafeInteger">; } declare module "lodash/fp/toString" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toString">; } declare module "lodash/fp/add" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "add">; } declare module "lodash/fp/ceil" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "ceil">; } declare module "lodash/fp/divide" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "divide">; } declare module "lodash/fp/floor" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "floor">; } declare module "lodash/fp/max" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "max">; } declare module "lodash/fp/maxBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "maxBy">; } declare module "lodash/fp/mean" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mean">; } declare module "lodash/fp/meanBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "meanBy">; } declare module "lodash/fp/min" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "min">; } declare module "lodash/fp/minBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "minBy">; } declare module "lodash/fp/multiply" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "multiply">; } declare module "lodash/fp/round" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "round">; } declare module "lodash/fp/subtract" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "subtract">; } declare module "lodash/fp/sum" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sum">; } declare module "lodash/fp/sumBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "sumBy">; } declare module "lodash/fp/clamp" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "clamp">; } declare module "lodash/fp/inRange" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "inRange">; } declare module "lodash/fp/random" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "random">; } declare module "lodash/fp/assign" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assign">; } declare module "lodash/fp/assignAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignAll">; } declare module "lodash/fp/assignInAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignInAll">; } declare module "lodash/fp/extendAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extendAll">; } declare module "lodash/fp/assignIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignIn">; } declare module "lodash/fp/assignInWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignInWith">; } declare module "lodash/fp/assignWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignWith">; } declare module "lodash/fp/assignInAllWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignInAllWith">; } declare module "lodash/fp/extendAllWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extendAllWith">; } declare module "lodash/fp/assignAllWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assignAllWith">; } declare module "lodash/fp/at" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "at">; } declare module "lodash/fp/props" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "props">; } declare module "lodash/fp/paths" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "paths">; } declare module "lodash/fp/create" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "create">; } declare module "lodash/fp/defaults" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaults">; } declare module "lodash/fp/defaultsAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultsAll">; } declare module "lodash/fp/defaultsDeep" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultsDeep">; } declare module "lodash/fp/defaultsDeepAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultsDeepAll">; } declare module "lodash/fp/entries" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "entries">; } declare module "lodash/fp/entriesIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "entriesIn">; } declare module "lodash/fp/extend" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extend">; } declare module "lodash/fp/extendWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "extendWith">; } declare module "lodash/fp/findKey" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findKey">; } declare module "lodash/fp/findLastKey" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "findLastKey">; } declare module "lodash/fp/forIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forIn">; } declare module "lodash/fp/forInRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forInRight">; } declare module "lodash/fp/forOwn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forOwn">; } declare module "lodash/fp/forOwnRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "forOwnRight">; } declare module "lodash/fp/functions" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "functions">; } declare module "lodash/fp/functionsIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "functionsIn">; } declare module "lodash/fp/get" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "get">; } declare module "lodash/fp/prop" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "prop">; } declare module "lodash/fp/path" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "path">; } declare module "lodash/fp/getOr" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "getOr">; } declare module "lodash/fp/propOr" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "propOr">; } declare module "lodash/fp/pathOr" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pathOr">; } declare module "lodash/fp/has" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "has">; } declare module "lodash/fp/hasIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "hasIn">; } declare module "lodash/fp/invert" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invert">; } declare module "lodash/fp/invertObj" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invertObj">; } declare module "lodash/fp/invertBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invertBy">; } declare module "lodash/fp/invoke" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invoke">; } declare module "lodash/fp/invokeArgs" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "invokeArgs">; } declare module "lodash/fp/keys" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "keys">; } declare module "lodash/fp/keysIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "keysIn">; } declare module "lodash/fp/mapKeys" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mapKeys">; } declare module "lodash/fp/mapValues" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mapValues">; } declare module "lodash/fp/merge" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "merge">; } declare module "lodash/fp/mergeAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mergeAll">; } declare module "lodash/fp/mergeWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mergeWith">; } declare module "lodash/fp/mergeAllWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mergeAllWith">; } declare module "lodash/fp/omit" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "omit">; } declare module "lodash/fp/omitAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "omitAll">; } declare module "lodash/fp/omitBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "omitBy">; } declare module "lodash/fp/pick" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pick">; } declare module "lodash/fp/pickAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pickAll">; } declare module "lodash/fp/pickBy" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pickBy">; } declare module "lodash/fp/result" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "result">; } declare module "lodash/fp/set" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "set">; } declare module "lodash/fp/assoc" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assoc">; } declare module "lodash/fp/assocPath" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "assocPath">; } declare module "lodash/fp/setWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "setWith">; } declare module "lodash/fp/toPairs" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPairs">; } declare module "lodash/fp/toPairsIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPairsIn">; } declare module "lodash/fp/transform" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "transform">; } declare module "lodash/fp/unset" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unset">; } declare module "lodash/fp/dissoc" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dissoc">; } declare module "lodash/fp/dissocPath" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "dissocPath">; } declare module "lodash/fp/update" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "update">; } declare module "lodash/fp/updateWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "updateWith">; } declare module "lodash/fp/values" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "values">; } declare module "lodash/fp/valuesIn" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "valuesIn">; } declare module "lodash/fp/tap" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "tap">; } declare module "lodash/fp/thru" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "thru">; } declare module "lodash/fp/camelCase" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "camelCase">; } declare module "lodash/fp/capitalize" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "capitalize">; } declare module "lodash/fp/deburr" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "deburr">; } declare module "lodash/fp/endsWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "endsWith">; } declare module "lodash/fp/escape" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "escape">; } declare module "lodash/fp/escapeRegExp" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "escapeRegExp">; } declare module "lodash/fp/kebabCase" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "kebabCase">; } declare module "lodash/fp/lowerCase" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lowerCase">; } declare module "lodash/fp/lowerFirst" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "lowerFirst">; } declare module "lodash/fp/pad" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pad">; } declare module "lodash/fp/padChars" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padChars">; } declare module "lodash/fp/padEnd" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padEnd">; } declare module "lodash/fp/padCharsEnd" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padCharsEnd">; } declare module "lodash/fp/padStart" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padStart">; } declare module "lodash/fp/padCharsStart" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "padCharsStart">; } declare module "lodash/fp/parseInt" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "parseInt">; } declare module "lodash/fp/repeat" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "repeat">; } declare module "lodash/fp/replace" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "replace">; } declare module "lodash/fp/snakeCase" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "snakeCase">; } declare module "lodash/fp/split" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "split">; } declare module "lodash/fp/startCase" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "startCase">; } declare module "lodash/fp/startsWith" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "startsWith">; } declare module "lodash/fp/template" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "template">; } declare module "lodash/fp/toLower" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toLower">; } declare module "lodash/fp/toUpper" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toUpper">; } declare module "lodash/fp/trim" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trim">; } declare module "lodash/fp/trimChars" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimChars">; } declare module "lodash/fp/trimEnd" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimEnd">; } declare module "lodash/fp/trimCharsEnd" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimCharsEnd">; } declare module "lodash/fp/trimStart" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimStart">; } declare module "lodash/fp/trimCharsStart" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "trimCharsStart">; } declare module "lodash/fp/truncate" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "truncate">; } declare module "lodash/fp/unescape" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "unescape">; } declare module "lodash/fp/upperCase" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "upperCase">; } declare module "lodash/fp/upperFirst" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "upperFirst">; } declare module "lodash/fp/words" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "words">; } declare module "lodash/fp/attempt" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "attempt">; } declare module "lodash/fp/bindAll" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "bindAll">; } declare module "lodash/fp/cond" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "cond">; } declare module "lodash/fp/constant" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "constant">; } declare module "lodash/fp/always" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "always">; } declare module "lodash/fp/defaultTo" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "defaultTo">; } declare module "lodash/fp/flow" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flow">; } declare module "lodash/fp/pipe" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pipe">; } declare module "lodash/fp/flowRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "flowRight">; } declare module "lodash/fp/compose" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "compose">; } declare module "lodash/fp/identity" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "identity">; } declare module "lodash/fp/iteratee" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "iteratee">; } declare module "lodash/fp/matches" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "matches">; } declare module "lodash/fp/matchesProperty" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "matchesProperty">; } declare module "lodash/fp/propEq" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "propEq">; } declare module "lodash/fp/pathEq" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "pathEq">; } declare module "lodash/fp/method" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "method">; } declare module "lodash/fp/methodOf" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "methodOf">; } declare module "lodash/fp/mixin" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "mixin">; } declare module "lodash/fp/noConflict" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "noConflict">; } declare module "lodash/fp/noop" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "noop">; } declare module "lodash/fp/nthArg" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "nthArg">; } declare module "lodash/fp/over" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "over">; } declare module "lodash/fp/juxt" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "juxt">; } declare module "lodash/fp/overEvery" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "overEvery">; } declare module "lodash/fp/allPass" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "allPass">; } declare module "lodash/fp/overSome" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "overSome">; } declare module "lodash/fp/anyPass" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "anyPass">; } declare module "lodash/fp/property" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "property">; } declare module "lodash/fp/propertyOf" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "propertyOf">; } declare module "lodash/fp/range" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "range">; } declare module "lodash/fp/rangeStep" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rangeStep">; } declare module "lodash/fp/rangeRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rangeRight">; } declare module "lodash/fp/rangeStepRight" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "rangeStepRight">; } declare module "lodash/fp/runInContext" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "runInContext">; } declare module "lodash/fp/stubArray" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubArray">; } declare module "lodash/fp/stubFalse" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubFalse">; } declare module "lodash/fp/F" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "F">; } declare module "lodash/fp/stubObject" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubObject">; } declare module "lodash/fp/stubString" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubString">; } declare module "lodash/fp/stubTrue" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "stubTrue">; } declare module "lodash/fp/T" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "T">; } declare module "lodash/fp/times" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "times">; } declare module "lodash/fp/toPath" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "toPath">; } declare module "lodash/fp/uniqueId" { declare module.exports: $PropertyType<$Exports<"lodash/fp">, "uniqueId">; } ================================================ FILE: flow-typed/npm/longjohn_vx.x.x.js ================================================ // flow-typed signature: 35b888bb7c2c2fe5967e16b304ff9012 // flow-typed version: <>/longjohn_v^0.2.12/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'longjohn' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'longjohn' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'longjohn/dist/longjohn' { declare module.exports: any; } // Filename aliases declare module 'longjohn/dist/longjohn.js' { declare module.exports: $Exports<'longjohn/dist/longjohn'>; } ================================================ FILE: flow-typed/npm/markdown-draft-js_vx.x.x.js ================================================ // flow-typed signature: 72b2dfcb381160ae074fc97df0df8724 // flow-typed version: <>/markdown-draft-js_v0.6.3/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'markdown-draft-js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'markdown-draft-js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'markdown-draft-js/karma.conf' { declare module.exports: any; } declare module 'markdown-draft-js/lib/draft-to-markdown' { declare module.exports: any; } declare module 'markdown-draft-js/lib/index' { declare module.exports: any; } declare module 'markdown-draft-js/lib/markdown-to-draft' { declare module.exports: any; } declare module 'markdown-draft-js/src/draft-to-markdown' { declare module.exports: any; } declare module 'markdown-draft-js/src/index' { declare module.exports: any; } declare module 'markdown-draft-js/src/markdown-to-draft' { declare module.exports: any; } declare module 'markdown-draft-js/test/draft-to-markdown.spec' { declare module.exports: any; } declare module 'markdown-draft-js/test/idempotency.spec' { declare module.exports: any; } declare module 'markdown-draft-js/test/markdown-to-draft.spec' { declare module.exports: any; } // Filename aliases declare module 'markdown-draft-js/karma.conf.js' { declare module.exports: $Exports<'markdown-draft-js/karma.conf'>; } declare module 'markdown-draft-js/lib/draft-to-markdown.js' { declare module.exports: $Exports<'markdown-draft-js/lib/draft-to-markdown'>; } declare module 'markdown-draft-js/lib/index.js' { declare module.exports: $Exports<'markdown-draft-js/lib/index'>; } declare module 'markdown-draft-js/lib/markdown-to-draft.js' { declare module.exports: $Exports<'markdown-draft-js/lib/markdown-to-draft'>; } declare module 'markdown-draft-js/src/draft-to-markdown.js' { declare module.exports: $Exports<'markdown-draft-js/src/draft-to-markdown'>; } declare module 'markdown-draft-js/src/index.js' { declare module.exports: $Exports<'markdown-draft-js/src/index'>; } declare module 'markdown-draft-js/src/markdown-to-draft.js' { declare module.exports: $Exports<'markdown-draft-js/src/markdown-to-draft'>; } declare module 'markdown-draft-js/test/draft-to-markdown.spec.js' { declare module.exports: $Exports<'markdown-draft-js/test/draft-to-markdown.spec'>; } declare module 'markdown-draft-js/test/idempotency.spec.js' { declare module.exports: $Exports<'markdown-draft-js/test/idempotency.spec'>; } declare module 'markdown-draft-js/test/markdown-to-draft.spec.js' { declare module.exports: $Exports<'markdown-draft-js/test/markdown-to-draft.spec'>; } ================================================ FILE: flow-typed/npm/micromatch_vx.x.x.js ================================================ // flow-typed signature: 5f0d83fac77fd2dbc1ff5d6653927b45 // flow-typed version: <>/micromatch_v^3.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'micromatch' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'micromatch' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'micromatch/lib/cache' { declare module.exports: any; } declare module 'micromatch/lib/compilers' { declare module.exports: any; } declare module 'micromatch/lib/parsers' { declare module.exports: any; } declare module 'micromatch/lib/utils' { declare module.exports: any; } // Filename aliases declare module 'micromatch/index' { declare module.exports: $Exports<'micromatch'>; } declare module 'micromatch/index.js' { declare module.exports: $Exports<'micromatch'>; } declare module 'micromatch/lib/cache.js' { declare module.exports: $Exports<'micromatch/lib/cache'>; } declare module 'micromatch/lib/compilers.js' { declare module.exports: $Exports<'micromatch/lib/compilers'>; } declare module 'micromatch/lib/parsers.js' { declare module.exports: $Exports<'micromatch/lib/parsers'>; } declare module 'micromatch/lib/utils.js' { declare module.exports: $Exports<'micromatch/lib/utils'>; } ================================================ FILE: flow-typed/npm/moment_v2.3.x.js ================================================ // flow-typed signature: 3409270fb7c9e22d114cc0f4ac1dbf36 // flow-typed version: 148333be22/moment_v2.3.x/flow_>=v0.34.x type moment$MomentOptions = { y?: number | string, year?: number | string, years?: number | string, M?: number | string, month?: number | string, months?: number | string, d?: number | string, day?: number | string, days?: number | string, date?: number | string, h?: number | string, hour?: number | string, hours?: number | string, m?: number | string, minute?: number | string, minutes?: number | string, s?: number | string, second?: number | string, seconds?: number | string, ms?: number | string, millisecond?: number | string, milliseconds?: number | string, }; type moment$MomentObject = { years: number, months: number, date: number, hours: number, minutes: number, seconds: number, milliseconds: number, }; type moment$MomentCreationData = { input: string, format: string, locale: Object, isUTC: boolean, strict: boolean, }; type moment$CalendarFormat = string | ((moment: moment$Moment) => string); type moment$CalendarFormats = { sameDay?: moment$CalendarFormat, nextDay?: moment$CalendarFormat, nextWeek?: moment$CalendarFormat, lastDay?: moment$CalendarFormat, lastWeek?: moment$CalendarFormat, sameElse?: moment$CalendarFormat, }; declare class moment$LocaleData { months(moment: moment$Moment): string, monthsShort(moment: moment$Moment): string, monthsParse(month: string): number, weekdays(moment: moment$Moment): string, weekdaysShort(moment: moment$Moment): string, weekdaysMin(moment: moment$Moment): string, weekdaysParse(weekDay: string): number, longDateFormat(dateFormat: string): string, isPM(date: string): boolean, meridiem(hours: number, minutes: number, isLower: boolean): string, calendar( key: | 'sameDay' | 'nextDay' | 'lastDay' | 'nextWeek' | 'prevWeek' | 'sameElse', moment: moment$Moment ): string, relativeTime( number: number, withoutSuffix: boolean, key: 's' | 'm' | 'mm' | 'h' | 'hh' | 'd' | 'dd' | 'M' | 'MM' | 'y' | 'yy', isFuture: boolean ): string, pastFuture(diff: any, relTime: string): string, ordinal(number: number): string, preparse(str: string): any, postformat(str: string): any, week(moment: moment$Moment): string, invalidDate(): string, firstDayOfWeek(): number, firstDayOfYear(): number, } declare class moment$MomentDuration { humanize(suffix?: boolean): string, milliseconds(): number, asMilliseconds(): number, seconds(): number, asSeconds(): number, minutes(): number, asMinutes(): number, hours(): number, asHours(): number, days(): number, asDays(): number, months(): number, asMonths(): number, years(): number, asYears(): number, add(value: number | moment$MomentDuration | Object, unit?: string): this, subtract(value: number | moment$MomentDuration | Object, unit?: string): this, as(unit: string): number, get(unit: string): number, toJSON(): string, toISOString(): string, isValid(): boolean, } declare class moment$Moment { static ISO_8601: string, static ( string?: string, format?: string | Array, locale?: string, strict?: boolean ): moment$Moment, static ( initDate: ?Object | number | Date | Array | moment$Moment | string ): moment$Moment, static unix(seconds: number): moment$Moment, static utc(): moment$Moment, static utc(number: number | Array): moment$Moment, static utc( str: string, str2?: string | Array, str3?: string ): moment$Moment, static utc(moment: moment$Moment): moment$Moment, static utc(date: Date): moment$Moment, static parseZone(): moment$Moment, static parseZone(rawDate: string): moment$Moment, static parseZone( rawDate: string, format: string | Array ): moment$Moment, static parseZone( rawDate: string, format: string, strict: boolean ): moment$Moment, static parseZone( rawDate: string, format: string, locale: string, strict: boolean ): moment$Moment, isValid(): boolean, invalidAt(): 0 | 1 | 2 | 3 | 4 | 5 | 6, creationData(): moment$MomentCreationData, millisecond(number: number): this, milliseconds(number: number): this, millisecond(): number, milliseconds(): number, second(number: number): this, seconds(number: number): this, second(): number, seconds(): number, minute(number: number): this, minutes(number: number): this, minute(): number, minutes(): number, hour(number: number): this, hours(number: number): this, hour(): number, hours(): number, date(number: number): this, dates(number: number): this, date(): number, dates(): number, day(day: number | string): this, days(day: number | string): this, day(): number, days(): number, weekday(number: number): this, weekday(): number, isoWeekday(number: number): this, isoWeekday(): number, dayOfYear(number: number): this, dayOfYear(): number, week(number: number): this, weeks(number: number): this, week(): number, weeks(): number, isoWeek(number: number): this, isoWeeks(number: number): this, isoWeek(): number, isoWeeks(): number, month(number: number): this, months(number: number): this, month(): number, months(): number, quarter(number: number): this, quarter(): number, year(number: number): this, years(number: number): this, year(): number, years(): number, weekYear(number: number): this, weekYear(): number, isoWeekYear(number: number): this, isoWeekYear(): number, weeksInYear(): number, isoWeeksInYear(): number, get(string: string): number, set(unit: string, value: number): this, set(options: { [unit: string]: number }): this, static max(...dates: Array): moment$Moment, static max(dates: Array): moment$Moment, static min(...dates: Array): moment$Moment, static min(dates: Array): moment$Moment, add( value: number | moment$MomentDuration | moment$Moment | Object, unit?: string ): this, subtract( value: number | moment$MomentDuration | moment$Moment | string | Object, unit?: string ): this, startOf(unit: string): this, endOf(unit: string): this, local(): this, utc(): this, utcOffset(offset: number | string): this, utcOffset(): number, format(format?: string): string, fromNow(removeSuffix?: boolean): string, from( value: moment$Moment | string | number | Date | Array, removePrefix?: boolean ): string, toNow(removePrefix?: boolean): string, to( value: moment$Moment | string | number | Date | Array, removePrefix?: boolean ): string, calendar(refTime?: any, formats?: moment$CalendarFormats): string, diff( date: moment$Moment | string | number | Date | Array, format?: string, floating?: boolean ): number, valueOf(): number, unix(): number, daysInMonth(): number, toDate(): Date, toArray(): Array, toJSON(): string, toISOString(): string, toObject(): moment$MomentObject, isBefore( date?: moment$Moment | string | number | Date | Array, units?: ?string ): boolean, isSame( date?: moment$Moment | string | number | Date | Array, units?: ?string ): boolean, isAfter( date?: moment$Moment | string | number | Date | Array, units?: ?string ): boolean, isSameOrBefore( date?: moment$Moment | string | number | Date | Array, units?: ?string ): boolean, isSameOrAfter( date?: moment$Moment | string | number | Date | Array, units?: ?string ): boolean, isBetween( date: moment$Moment | string | number | Date | Array ): boolean, isDST(): boolean, isDSTShifted(): boolean, isLeapYear(): boolean, clone(): moment$Moment, static isMoment(obj: any): boolean, static isDate(obj: any): boolean, static locale(locale: string, localeData?: Object): string, static updateLocale(locale: string, localeData?: ?Object): void, static locale(locales: Array): string, locale(locale: string, customization?: Object | null): moment$Moment, locale(): string, static months(): Array, static monthsShort(): Array, static weekdays(): Array, static weekdaysShort(): Array, static weekdaysMin(): Array, static months(): string, static monthsShort(): string, static weekdays(): string, static weekdaysShort(): string, static weekdaysMin(): string, static localeData(key?: string): moment$LocaleData, static duration( value: number | Object | string, unit?: string ): moment$MomentDuration, static isDuration(obj: any): boolean, static normalizeUnits(unit: string): string, static invalid(object: any): moment$Moment, } declare module 'moment' { declare module.exports: Class; } ================================================ FILE: flow-typed/npm/ms_vx.x.x.js ================================================ // flow-typed signature: 920f2fd7d370e63b28ba6b9002a0ad7c // flow-typed version: <>/ms_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'ms' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'ms' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'ms/index' { declare module.exports: $Exports<'ms'>; } declare module 'ms/index.js' { declare module.exports: $Exports<'ms'>; } ================================================ FILE: flow-typed/npm/newrelic_vx.x.x.js ================================================ // flow-typed signature: 1c7a19e90794bb3549c2bee6b3bac1cd // flow-typed version: <>/newrelic_v^2.2.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'newrelic' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'newrelic' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'newrelic/api' { declare module.exports: any; } declare module 'newrelic/bin/ca-gen' { declare module.exports: any; } declare module 'newrelic/bin/test-naming-rules' { declare module.exports: any; } declare module 'newrelic/lib/agent' { declare module.exports: any; } declare module 'newrelic/lib/collector/api' { declare module.exports: any; } declare module 'newrelic/lib/collector/facts' { declare module.exports: any; } declare module 'newrelic/lib/collector/http-agents' { declare module.exports: any; } declare module 'newrelic/lib/collector/parse-response' { declare module.exports: any; } declare module 'newrelic/lib/collector/remote-method' { declare module.exports: any; } declare module 'newrelic/lib/collector/ssl/certificates' { declare module.exports: any; } declare module 'newrelic/lib/config.default' { declare module.exports: any; } declare module 'newrelic/lib/config' { declare module.exports: any; } declare module 'newrelic/lib/db/parse-sql' { declare module.exports: any; } declare module 'newrelic/lib/db/parsed-statement' { declare module.exports: any; } declare module 'newrelic/lib/db/query-parsers/sql' { declare module.exports: any; } declare module 'newrelic/lib/db/statement-matcher' { declare module.exports: any; } declare module 'newrelic/lib/db/tracer' { declare module.exports: any; } declare module 'newrelic/lib/db/utils' { declare module.exports: any; } declare module 'newrelic/lib/environment' { declare module.exports: any; } declare module 'newrelic/lib/errors/aggregator' { declare module.exports: any; } declare module 'newrelic/lib/errors/index' { declare module.exports: any; } declare module 'newrelic/lib/feature_flags' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/amqplib' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/bluebird' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/cassandra-driver' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/connect' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/async_hooks' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/child_process' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/crypto' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/dns' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/domain' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/fs' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/globals' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/http' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/inspector' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/net' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/timers' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/core/zlib' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/director' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/express' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/generic-pool' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/hapi' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/ioredis' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/memcached' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/mongodb' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/mysql' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/node-cassandra-cql' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/oracle' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/pg' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/promise' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/q' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/redis' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/restify' { declare module.exports: any; } declare module 'newrelic/lib/instrumentation/when' { declare module.exports: any; } declare module 'newrelic/lib/instrumentations' { declare module.exports: any; } declare module 'newrelic/lib/logger' { declare module.exports: any; } declare module 'newrelic/lib/metrics/index' { declare module.exports: any; } declare module 'newrelic/lib/metrics/mapper' { declare module.exports: any; } declare module 'newrelic/lib/metrics/names' { declare module.exports: any; } declare module 'newrelic/lib/metrics/normalizer' { declare module.exports: any; } declare module 'newrelic/lib/metrics/normalizer/rule' { declare module.exports: any; } declare module 'newrelic/lib/metrics/normalizer/tx_segment' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/cassandra' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/custom' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/express' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/generic' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/http_external' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/http' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/memcached' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/message-transaction' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/other' { declare module.exports: any; } declare module 'newrelic/lib/metrics/recorders/redis' { declare module.exports: any; } declare module 'newrelic/lib/parse-proc-cpuinfo' { declare module.exports: any; } declare module 'newrelic/lib/parse-proc-meminfo' { declare module.exports: any; } declare module 'newrelic/lib/reservoir' { declare module.exports: any; } declare module 'newrelic/lib/sampler' { declare module.exports: any; } declare module 'newrelic/lib/shim/constants' { declare module.exports: any; } declare module 'newrelic/lib/shim/datastore-shim' { declare module.exports: any; } declare module 'newrelic/lib/shim/index' { declare module.exports: any; } declare module 'newrelic/lib/shim/message-shim' { declare module.exports: any; } declare module 'newrelic/lib/shim/shim' { declare module.exports: any; } declare module 'newrelic/lib/shim/transaction-shim' { declare module.exports: any; } declare module 'newrelic/lib/shim/webframework-shim' { declare module.exports: any; } declare module 'newrelic/lib/shimmer' { declare module.exports: any; } declare module 'newrelic/lib/stats/apdex' { declare module.exports: any; } declare module 'newrelic/lib/stats/index' { declare module.exports: any; } declare module 'newrelic/lib/system-info' { declare module.exports: any; } declare module 'newrelic/lib/timer' { declare module.exports: any; } declare module 'newrelic/lib/transaction/handle' { declare module.exports: any; } declare module 'newrelic/lib/transaction/index' { declare module.exports: any; } declare module 'newrelic/lib/transaction/name-state' { declare module.exports: any; } declare module 'newrelic/lib/transaction/trace/aggregator' { declare module.exports: any; } declare module 'newrelic/lib/transaction/trace/index' { declare module.exports: any; } declare module 'newrelic/lib/transaction/trace/segment' { declare module.exports: any; } declare module 'newrelic/lib/transaction/tracer/index' { declare module.exports: any; } declare module 'newrelic/lib/transaction/tracer/instrumentation/outbound' { declare module.exports: any; } declare module 'newrelic/lib/uninstrumented' { declare module.exports: any; } declare module 'newrelic/lib/util/arity' { declare module.exports: any; } declare module 'newrelic/lib/util/arrays' { declare module.exports: any; } declare module 'newrelic/lib/util/cat' { declare module.exports: any; } declare module 'newrelic/lib/util/codec' { declare module.exports: any; } declare module 'newrelic/lib/util/copy' { declare module.exports: any; } declare module 'newrelic/lib/util/deep-equal' { declare module.exports: any; } declare module 'newrelic/lib/util/flatten' { declare module.exports: any; } declare module 'newrelic/lib/util/hashes' { declare module.exports: any; } declare module 'newrelic/lib/util/label-parser' { declare module.exports: any; } declare module 'newrelic/lib/util/logger' { declare module.exports: any; } declare module 'newrelic/lib/util/properties' { declare module.exports: any; } declare module 'newrelic/lib/util/safe-json' { declare module.exports: any; } declare module 'newrelic/lib/util/sql/obfuscate' { declare module.exports: any; } declare module 'newrelic/lib/util/stream-sink' { declare module.exports: any; } declare module 'newrelic/lib/util/sum-children' { declare module.exports: any; } declare module 'newrelic/lib/util/urltils' { declare module.exports: any; } declare module 'newrelic/lib/utilization/aws-info' { declare module.exports: any; } declare module 'newrelic/lib/utilization/azure-info' { declare module.exports: any; } declare module 'newrelic/lib/utilization/common' { declare module.exports: any; } declare module 'newrelic/lib/utilization/docker-info' { declare module.exports: any; } declare module 'newrelic/lib/utilization/gcp-info' { declare module.exports: any; } declare module 'newrelic/lib/utilization/index' { declare module.exports: any; } declare module 'newrelic/lib/utilization/pcf-info' { declare module.exports: any; } declare module 'newrelic/newrelic' { declare module.exports: any; } declare module 'newrelic/stub_api' { declare module.exports: any; } // Filename aliases declare module 'newrelic/api.js' { declare module.exports: $Exports<'newrelic/api'>; } declare module 'newrelic/bin/ca-gen.js' { declare module.exports: $Exports<'newrelic/bin/ca-gen'>; } declare module 'newrelic/bin/test-naming-rules.js' { declare module.exports: $Exports<'newrelic/bin/test-naming-rules'>; } declare module 'newrelic/index' { declare module.exports: $Exports<'newrelic'>; } declare module 'newrelic/index.js' { declare module.exports: $Exports<'newrelic'>; } declare module 'newrelic/lib/agent.js' { declare module.exports: $Exports<'newrelic/lib/agent'>; } declare module 'newrelic/lib/collector/api.js' { declare module.exports: $Exports<'newrelic/lib/collector/api'>; } declare module 'newrelic/lib/collector/facts.js' { declare module.exports: $Exports<'newrelic/lib/collector/facts'>; } declare module 'newrelic/lib/collector/http-agents.js' { declare module.exports: $Exports<'newrelic/lib/collector/http-agents'>; } declare module 'newrelic/lib/collector/parse-response.js' { declare module.exports: $Exports<'newrelic/lib/collector/parse-response'>; } declare module 'newrelic/lib/collector/remote-method.js' { declare module.exports: $Exports<'newrelic/lib/collector/remote-method'>; } declare module 'newrelic/lib/collector/ssl/certificates.js' { declare module.exports: $Exports<'newrelic/lib/collector/ssl/certificates'>; } declare module 'newrelic/lib/config.default.js' { declare module.exports: $Exports<'newrelic/lib/config.default'>; } declare module 'newrelic/lib/config.js' { declare module.exports: $Exports<'newrelic/lib/config'>; } declare module 'newrelic/lib/db/parse-sql.js' { declare module.exports: $Exports<'newrelic/lib/db/parse-sql'>; } declare module 'newrelic/lib/db/parsed-statement.js' { declare module.exports: $Exports<'newrelic/lib/db/parsed-statement'>; } declare module 'newrelic/lib/db/query-parsers/sql.js' { declare module.exports: $Exports<'newrelic/lib/db/query-parsers/sql'>; } declare module 'newrelic/lib/db/statement-matcher.js' { declare module.exports: $Exports<'newrelic/lib/db/statement-matcher'>; } declare module 'newrelic/lib/db/tracer.js' { declare module.exports: $Exports<'newrelic/lib/db/tracer'>; } declare module 'newrelic/lib/db/utils.js' { declare module.exports: $Exports<'newrelic/lib/db/utils'>; } declare module 'newrelic/lib/environment.js' { declare module.exports: $Exports<'newrelic/lib/environment'>; } declare module 'newrelic/lib/errors/aggregator.js' { declare module.exports: $Exports<'newrelic/lib/errors/aggregator'>; } declare module 'newrelic/lib/errors/index.js' { declare module.exports: $Exports<'newrelic/lib/errors/index'>; } declare module 'newrelic/lib/feature_flags.js' { declare module.exports: $Exports<'newrelic/lib/feature_flags'>; } declare module 'newrelic/lib/instrumentation/amqplib.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/amqplib'>; } declare module 'newrelic/lib/instrumentation/bluebird.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/bluebird'>; } declare module 'newrelic/lib/instrumentation/cassandra-driver.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/cassandra-driver'>; } declare module 'newrelic/lib/instrumentation/connect.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/connect'>; } declare module 'newrelic/lib/instrumentation/core/async_hooks.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/async_hooks'>; } declare module 'newrelic/lib/instrumentation/core/child_process.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/child_process'>; } declare module 'newrelic/lib/instrumentation/core/crypto.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/crypto'>; } declare module 'newrelic/lib/instrumentation/core/dns.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/dns'>; } declare module 'newrelic/lib/instrumentation/core/domain.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/domain'>; } declare module 'newrelic/lib/instrumentation/core/fs.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/fs'>; } declare module 'newrelic/lib/instrumentation/core/globals.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/globals'>; } declare module 'newrelic/lib/instrumentation/core/http.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/http'>; } declare module 'newrelic/lib/instrumentation/core/inspector.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/inspector'>; } declare module 'newrelic/lib/instrumentation/core/net.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/net'>; } declare module 'newrelic/lib/instrumentation/core/timers.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/timers'>; } declare module 'newrelic/lib/instrumentation/core/zlib.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/core/zlib'>; } declare module 'newrelic/lib/instrumentation/director.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/director'>; } declare module 'newrelic/lib/instrumentation/express.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/express'>; } declare module 'newrelic/lib/instrumentation/generic-pool.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/generic-pool'>; } declare module 'newrelic/lib/instrumentation/hapi.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/hapi'>; } declare module 'newrelic/lib/instrumentation/ioredis.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/ioredis'>; } declare module 'newrelic/lib/instrumentation/memcached.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/memcached'>; } declare module 'newrelic/lib/instrumentation/mongodb.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/mongodb'>; } declare module 'newrelic/lib/instrumentation/mysql.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/mysql'>; } declare module 'newrelic/lib/instrumentation/node-cassandra-cql.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/node-cassandra-cql'>; } declare module 'newrelic/lib/instrumentation/oracle.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/oracle'>; } declare module 'newrelic/lib/instrumentation/pg.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/pg'>; } declare module 'newrelic/lib/instrumentation/promise.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/promise'>; } declare module 'newrelic/lib/instrumentation/q.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/q'>; } declare module 'newrelic/lib/instrumentation/redis.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/redis'>; } declare module 'newrelic/lib/instrumentation/restify.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/restify'>; } declare module 'newrelic/lib/instrumentation/when.js' { declare module.exports: $Exports<'newrelic/lib/instrumentation/when'>; } declare module 'newrelic/lib/instrumentations.js' { declare module.exports: $Exports<'newrelic/lib/instrumentations'>; } declare module 'newrelic/lib/logger.js' { declare module.exports: $Exports<'newrelic/lib/logger'>; } declare module 'newrelic/lib/metrics/index.js' { declare module.exports: $Exports<'newrelic/lib/metrics/index'>; } declare module 'newrelic/lib/metrics/mapper.js' { declare module.exports: $Exports<'newrelic/lib/metrics/mapper'>; } declare module 'newrelic/lib/metrics/names.js' { declare module.exports: $Exports<'newrelic/lib/metrics/names'>; } declare module 'newrelic/lib/metrics/normalizer.js' { declare module.exports: $Exports<'newrelic/lib/metrics/normalizer'>; } declare module 'newrelic/lib/metrics/normalizer/rule.js' { declare module.exports: $Exports<'newrelic/lib/metrics/normalizer/rule'>; } declare module 'newrelic/lib/metrics/normalizer/tx_segment.js' { declare module.exports: $Exports<'newrelic/lib/metrics/normalizer/tx_segment'>; } declare module 'newrelic/lib/metrics/recorders/cassandra.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/cassandra'>; } declare module 'newrelic/lib/metrics/recorders/custom.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/custom'>; } declare module 'newrelic/lib/metrics/recorders/express.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/express'>; } declare module 'newrelic/lib/metrics/recorders/generic.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/generic'>; } declare module 'newrelic/lib/metrics/recorders/http_external.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/http_external'>; } declare module 'newrelic/lib/metrics/recorders/http.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/http'>; } declare module 'newrelic/lib/metrics/recorders/memcached.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/memcached'>; } declare module 'newrelic/lib/metrics/recorders/message-transaction.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/message-transaction'>; } declare module 'newrelic/lib/metrics/recorders/other.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/other'>; } declare module 'newrelic/lib/metrics/recorders/redis.js' { declare module.exports: $Exports<'newrelic/lib/metrics/recorders/redis'>; } declare module 'newrelic/lib/parse-proc-cpuinfo.js' { declare module.exports: $Exports<'newrelic/lib/parse-proc-cpuinfo'>; } declare module 'newrelic/lib/parse-proc-meminfo.js' { declare module.exports: $Exports<'newrelic/lib/parse-proc-meminfo'>; } declare module 'newrelic/lib/reservoir.js' { declare module.exports: $Exports<'newrelic/lib/reservoir'>; } declare module 'newrelic/lib/sampler.js' { declare module.exports: $Exports<'newrelic/lib/sampler'>; } declare module 'newrelic/lib/shim/constants.js' { declare module.exports: $Exports<'newrelic/lib/shim/constants'>; } declare module 'newrelic/lib/shim/datastore-shim.js' { declare module.exports: $Exports<'newrelic/lib/shim/datastore-shim'>; } declare module 'newrelic/lib/shim/index.js' { declare module.exports: $Exports<'newrelic/lib/shim/index'>; } declare module 'newrelic/lib/shim/message-shim.js' { declare module.exports: $Exports<'newrelic/lib/shim/message-shim'>; } declare module 'newrelic/lib/shim/shim.js' { declare module.exports: $Exports<'newrelic/lib/shim/shim'>; } declare module 'newrelic/lib/shim/transaction-shim.js' { declare module.exports: $Exports<'newrelic/lib/shim/transaction-shim'>; } declare module 'newrelic/lib/shim/webframework-shim.js' { declare module.exports: $Exports<'newrelic/lib/shim/webframework-shim'>; } declare module 'newrelic/lib/shimmer.js' { declare module.exports: $Exports<'newrelic/lib/shimmer'>; } declare module 'newrelic/lib/stats/apdex.js' { declare module.exports: $Exports<'newrelic/lib/stats/apdex'>; } declare module 'newrelic/lib/stats/index.js' { declare module.exports: $Exports<'newrelic/lib/stats/index'>; } declare module 'newrelic/lib/system-info.js' { declare module.exports: $Exports<'newrelic/lib/system-info'>; } declare module 'newrelic/lib/timer.js' { declare module.exports: $Exports<'newrelic/lib/timer'>; } declare module 'newrelic/lib/transaction/handle.js' { declare module.exports: $Exports<'newrelic/lib/transaction/handle'>; } declare module 'newrelic/lib/transaction/index.js' { declare module.exports: $Exports<'newrelic/lib/transaction/index'>; } declare module 'newrelic/lib/transaction/name-state.js' { declare module.exports: $Exports<'newrelic/lib/transaction/name-state'>; } declare module 'newrelic/lib/transaction/trace/aggregator.js' { declare module.exports: $Exports<'newrelic/lib/transaction/trace/aggregator'>; } declare module 'newrelic/lib/transaction/trace/index.js' { declare module.exports: $Exports<'newrelic/lib/transaction/trace/index'>; } declare module 'newrelic/lib/transaction/trace/segment.js' { declare module.exports: $Exports<'newrelic/lib/transaction/trace/segment'>; } declare module 'newrelic/lib/transaction/tracer/index.js' { declare module.exports: $Exports<'newrelic/lib/transaction/tracer/index'>; } declare module 'newrelic/lib/transaction/tracer/instrumentation/outbound.js' { declare module.exports: $Exports<'newrelic/lib/transaction/tracer/instrumentation/outbound'>; } declare module 'newrelic/lib/uninstrumented.js' { declare module.exports: $Exports<'newrelic/lib/uninstrumented'>; } declare module 'newrelic/lib/util/arity.js' { declare module.exports: $Exports<'newrelic/lib/util/arity'>; } declare module 'newrelic/lib/util/arrays.js' { declare module.exports: $Exports<'newrelic/lib/util/arrays'>; } declare module 'newrelic/lib/util/cat.js' { declare module.exports: $Exports<'newrelic/lib/util/cat'>; } declare module 'newrelic/lib/util/codec.js' { declare module.exports: $Exports<'newrelic/lib/util/codec'>; } declare module 'newrelic/lib/util/copy.js' { declare module.exports: $Exports<'newrelic/lib/util/copy'>; } declare module 'newrelic/lib/util/deep-equal.js' { declare module.exports: $Exports<'newrelic/lib/util/deep-equal'>; } declare module 'newrelic/lib/util/flatten.js' { declare module.exports: $Exports<'newrelic/lib/util/flatten'>; } declare module 'newrelic/lib/util/hashes.js' { declare module.exports: $Exports<'newrelic/lib/util/hashes'>; } declare module 'newrelic/lib/util/label-parser.js' { declare module.exports: $Exports<'newrelic/lib/util/label-parser'>; } declare module 'newrelic/lib/util/logger.js' { declare module.exports: $Exports<'newrelic/lib/util/logger'>; } declare module 'newrelic/lib/util/properties.js' { declare module.exports: $Exports<'newrelic/lib/util/properties'>; } declare module 'newrelic/lib/util/safe-json.js' { declare module.exports: $Exports<'newrelic/lib/util/safe-json'>; } declare module 'newrelic/lib/util/sql/obfuscate.js' { declare module.exports: $Exports<'newrelic/lib/util/sql/obfuscate'>; } declare module 'newrelic/lib/util/stream-sink.js' { declare module.exports: $Exports<'newrelic/lib/util/stream-sink'>; } declare module 'newrelic/lib/util/sum-children.js' { declare module.exports: $Exports<'newrelic/lib/util/sum-children'>; } declare module 'newrelic/lib/util/urltils.js' { declare module.exports: $Exports<'newrelic/lib/util/urltils'>; } declare module 'newrelic/lib/utilization/aws-info.js' { declare module.exports: $Exports<'newrelic/lib/utilization/aws-info'>; } declare module 'newrelic/lib/utilization/azure-info.js' { declare module.exports: $Exports<'newrelic/lib/utilization/azure-info'>; } declare module 'newrelic/lib/utilization/common.js' { declare module.exports: $Exports<'newrelic/lib/utilization/common'>; } declare module 'newrelic/lib/utilization/docker-info.js' { declare module.exports: $Exports<'newrelic/lib/utilization/docker-info'>; } declare module 'newrelic/lib/utilization/gcp-info.js' { declare module.exports: $Exports<'newrelic/lib/utilization/gcp-info'>; } declare module 'newrelic/lib/utilization/index.js' { declare module.exports: $Exports<'newrelic/lib/utilization/index'>; } declare module 'newrelic/lib/utilization/pcf-info.js' { declare module.exports: $Exports<'newrelic/lib/utilization/pcf-info'>; } declare module 'newrelic/newrelic.js' { declare module.exports: $Exports<'newrelic/newrelic'>; } declare module 'newrelic/stub_api.js' { declare module.exports: $Exports<'newrelic/stub_api'>; } ================================================ FILE: flow-typed/npm/node-env-file_vx.x.x.js ================================================ // flow-typed signature: dfc08be5112272c9584a649f4163aaeb // flow-typed version: <>/node-env-file_v^0.1.8/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'node-env-file' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'node-env-file' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'node-env-file/examples/basic' { declare module.exports: any; } declare module 'node-env-file/lib/index' { declare module.exports: any; } declare module 'node-env-file/test/helper' { declare module.exports: any; } declare module 'node-env-file/test/index' { declare module.exports: any; } // Filename aliases declare module 'node-env-file/examples/basic.js' { declare module.exports: $Exports<'node-env-file/examples/basic'>; } declare module 'node-env-file/index' { declare module.exports: $Exports<'node-env-file'>; } declare module 'node-env-file/index.js' { declare module.exports: $Exports<'node-env-file'>; } declare module 'node-env-file/lib/index.js' { declare module.exports: $Exports<'node-env-file/lib/index'>; } declare module 'node-env-file/test/helper.js' { declare module.exports: $Exports<'node-env-file/test/helper'>; } declare module 'node-env-file/test/index.js' { declare module.exports: $Exports<'node-env-file/test/index'>; } ================================================ FILE: flow-typed/npm/node-fetch_vx.x.x.js ================================================ // flow-typed signature: 8c543d40e1c1312ee9722e9dafa0ca28 // flow-typed version: <>/node-fetch_v2.5.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'node-fetch' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'node-fetch' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'node-fetch/browser' { declare module.exports: any; } declare module 'node-fetch/lib/index.es' { declare module.exports: any; } declare module 'node-fetch/lib/index' { declare module.exports: any; } // Filename aliases declare module 'node-fetch/browser.js' { declare module.exports: $Exports<'node-fetch/browser'>; } declare module 'node-fetch/lib/index.es.js' { declare module.exports: $Exports<'node-fetch/lib/index.es'>; } declare module 'node-fetch/lib/index.js' { declare module.exports: $Exports<'node-fetch/lib/index'>; } ================================================ FILE: flow-typed/npm/node-localstorage_vx.x.x.js ================================================ // flow-typed signature: c8e26c4880c280db6dead72f936f154b // flow-typed version: <>/node-localstorage_v^1.3.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'node-localstorage' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'node-localstorage' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'node-localstorage/LocalStorage' { declare module.exports: any; } // Filename aliases declare module 'node-localstorage/LocalStorage.js' { declare module.exports: $Exports<'node-localstorage/LocalStorage'>; } ================================================ FILE: flow-typed/npm/nodemon_vx.x.x.js ================================================ // flow-typed signature: 8f3ee3770fb1bee2a9ac9cba57a3eee4 // flow-typed version: <>/nodemon_v^1.11.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'nodemon' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'nodemon' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'nodemon/bin/nodemon' { declare module.exports: any; } declare module 'nodemon/lib/cli/index' { declare module.exports: any; } declare module 'nodemon/lib/cli/parse' { declare module.exports: any; } declare module 'nodemon/lib/config/command' { declare module.exports: any; } declare module 'nodemon/lib/config/defaults' { declare module.exports: any; } declare module 'nodemon/lib/config/exec' { declare module.exports: any; } declare module 'nodemon/lib/config/index' { declare module.exports: any; } declare module 'nodemon/lib/config/load' { declare module.exports: any; } declare module 'nodemon/lib/help/index' { declare module.exports: any; } declare module 'nodemon/lib/index' { declare module.exports: any; } declare module 'nodemon/lib/monitor/index' { declare module.exports: any; } declare module 'nodemon/lib/monitor/match' { declare module.exports: any; } declare module 'nodemon/lib/monitor/run' { declare module.exports: any; } declare module 'nodemon/lib/monitor/watch' { declare module.exports: any; } declare module 'nodemon/lib/nodemon' { declare module.exports: any; } declare module 'nodemon/lib/rules/add' { declare module.exports: any; } declare module 'nodemon/lib/rules/index' { declare module.exports: any; } declare module 'nodemon/lib/rules/parse' { declare module.exports: any; } declare module 'nodemon/lib/spawn' { declare module.exports: any; } declare module 'nodemon/lib/utils/bus' { declare module.exports: any; } declare module 'nodemon/lib/utils/clone' { declare module.exports: any; } declare module 'nodemon/lib/utils/colour' { declare module.exports: any; } declare module 'nodemon/lib/utils/index' { declare module.exports: any; } declare module 'nodemon/lib/utils/log' { declare module.exports: any; } declare module 'nodemon/lib/utils/merge' { declare module.exports: any; } declare module 'nodemon/lib/version' { declare module.exports: any; } declare module 'nodemon/web/index' { declare module.exports: any; } // Filename aliases declare module 'nodemon/bin/nodemon.js' { declare module.exports: $Exports<'nodemon/bin/nodemon'>; } declare module 'nodemon/lib/cli/index.js' { declare module.exports: $Exports<'nodemon/lib/cli/index'>; } declare module 'nodemon/lib/cli/parse.js' { declare module.exports: $Exports<'nodemon/lib/cli/parse'>; } declare module 'nodemon/lib/config/command.js' { declare module.exports: $Exports<'nodemon/lib/config/command'>; } declare module 'nodemon/lib/config/defaults.js' { declare module.exports: $Exports<'nodemon/lib/config/defaults'>; } declare module 'nodemon/lib/config/exec.js' { declare module.exports: $Exports<'nodemon/lib/config/exec'>; } declare module 'nodemon/lib/config/index.js' { declare module.exports: $Exports<'nodemon/lib/config/index'>; } declare module 'nodemon/lib/config/load.js' { declare module.exports: $Exports<'nodemon/lib/config/load'>; } declare module 'nodemon/lib/help/index.js' { declare module.exports: $Exports<'nodemon/lib/help/index'>; } declare module 'nodemon/lib/index.js' { declare module.exports: $Exports<'nodemon/lib/index'>; } declare module 'nodemon/lib/monitor/index.js' { declare module.exports: $Exports<'nodemon/lib/monitor/index'>; } declare module 'nodemon/lib/monitor/match.js' { declare module.exports: $Exports<'nodemon/lib/monitor/match'>; } declare module 'nodemon/lib/monitor/run.js' { declare module.exports: $Exports<'nodemon/lib/monitor/run'>; } declare module 'nodemon/lib/monitor/watch.js' { declare module.exports: $Exports<'nodemon/lib/monitor/watch'>; } declare module 'nodemon/lib/nodemon.js' { declare module.exports: $Exports<'nodemon/lib/nodemon'>; } declare module 'nodemon/lib/rules/add.js' { declare module.exports: $Exports<'nodemon/lib/rules/add'>; } declare module 'nodemon/lib/rules/index.js' { declare module.exports: $Exports<'nodemon/lib/rules/index'>; } declare module 'nodemon/lib/rules/parse.js' { declare module.exports: $Exports<'nodemon/lib/rules/parse'>; } declare module 'nodemon/lib/spawn.js' { declare module.exports: $Exports<'nodemon/lib/spawn'>; } declare module 'nodemon/lib/utils/bus.js' { declare module.exports: $Exports<'nodemon/lib/utils/bus'>; } declare module 'nodemon/lib/utils/clone.js' { declare module.exports: $Exports<'nodemon/lib/utils/clone'>; } declare module 'nodemon/lib/utils/colour.js' { declare module.exports: $Exports<'nodemon/lib/utils/colour'>; } declare module 'nodemon/lib/utils/index.js' { declare module.exports: $Exports<'nodemon/lib/utils/index'>; } declare module 'nodemon/lib/utils/log.js' { declare module.exports: $Exports<'nodemon/lib/utils/log'>; } declare module 'nodemon/lib/utils/merge.js' { declare module.exports: $Exports<'nodemon/lib/utils/merge'>; } declare module 'nodemon/lib/version.js' { declare module.exports: $Exports<'nodemon/lib/version'>; } declare module 'nodemon/web/index.js' { declare module.exports: $Exports<'nodemon/web/index'>; } ================================================ FILE: flow-typed/npm/now-env_vx.x.x.js ================================================ // flow-typed signature: d5245c9e405c61c1286f26f51dfed66f // flow-typed version: <>/now-env_v^3.0.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'now-env' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'now-env' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'now-env/lib/apply-env' { declare module.exports: any; } declare module 'now-env/lib/get-value' { declare module.exports: any; } declare module 'now-env/lib/load-now-json' { declare module.exports: any; } declare module 'now-env/lib/load-pkg-json' { declare module.exports: any; } declare module 'now-env/lib/load-required' { declare module.exports: any; } declare module 'now-env/lib/load-secrets' { declare module.exports: any; } // Filename aliases declare module 'now-env/index' { declare module.exports: $Exports<'now-env'>; } declare module 'now-env/index.js' { declare module.exports: $Exports<'now-env'>; } declare module 'now-env/lib/apply-env.js' { declare module.exports: $Exports<'now-env/lib/apply-env'>; } declare module 'now-env/lib/get-value.js' { declare module.exports: $Exports<'now-env/lib/get-value'>; } declare module 'now-env/lib/load-now-json.js' { declare module.exports: $Exports<'now-env/lib/load-now-json'>; } declare module 'now-env/lib/load-pkg-json.js' { declare module.exports: $Exports<'now-env/lib/load-pkg-json'>; } declare module 'now-env/lib/load-required.js' { declare module.exports: $Exports<'now-env/lib/load-required'>; } declare module 'now-env/lib/load-secrets.js' { declare module.exports: $Exports<'now-env/lib/load-secrets'>; } ================================================ FILE: flow-typed/npm/offline-plugin_vx.x.x.js ================================================ // flow-typed signature: bdb9f3ca85cda6553a28a4491f6d9c9e // flow-typed version: <>/offline-plugin_v^4.8.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'offline-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'offline-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'offline-plugin/lib/app-cache' { declare module.exports: any; } declare module 'offline-plugin/lib/default-options' { declare module.exports: any; } declare module 'offline-plugin/lib/index' { declare module.exports: any; } declare module 'offline-plugin/lib/loaders/fonts-css' { declare module.exports: any; } declare module 'offline-plugin/lib/loaders/index' { declare module.exports: any; } declare module 'offline-plugin/lib/misc/async-waituntil' { declare module.exports: any; } declare module 'offline-plugin/lib/misc/runtime-loader' { declare module.exports: any; } declare module 'offline-plugin/lib/misc/sw-loader' { declare module.exports: any; } declare module 'offline-plugin/lib/misc/sw-polyfill' { declare module.exports: any; } declare module 'offline-plugin/lib/misc/sw-template' { declare module.exports: any; } declare module 'offline-plugin/lib/misc/utils' { declare module.exports: any; } declare module 'offline-plugin/lib/service-worker' { declare module.exports: any; } declare module 'offline-plugin/runtime' { declare module.exports: any; } declare module 'offline-plugin/tpls/empty-entry' { declare module.exports: any; } declare module 'offline-plugin/tpls/runtime-template' { declare module.exports: any; } // Filename aliases declare module 'offline-plugin/lib/app-cache.js' { declare module.exports: $Exports<'offline-plugin/lib/app-cache'>; } declare module 'offline-plugin/lib/default-options.js' { declare module.exports: $Exports<'offline-plugin/lib/default-options'>; } declare module 'offline-plugin/lib/index.js' { declare module.exports: $Exports<'offline-plugin/lib/index'>; } declare module 'offline-plugin/lib/loaders/fonts-css.js' { declare module.exports: $Exports<'offline-plugin/lib/loaders/fonts-css'>; } declare module 'offline-plugin/lib/loaders/index.js' { declare module.exports: $Exports<'offline-plugin/lib/loaders/index'>; } declare module 'offline-plugin/lib/misc/async-waituntil.js' { declare module.exports: $Exports<'offline-plugin/lib/misc/async-waituntil'>; } declare module 'offline-plugin/lib/misc/runtime-loader.js' { declare module.exports: $Exports<'offline-plugin/lib/misc/runtime-loader'>; } declare module 'offline-plugin/lib/misc/sw-loader.js' { declare module.exports: $Exports<'offline-plugin/lib/misc/sw-loader'>; } declare module 'offline-plugin/lib/misc/sw-polyfill.js' { declare module.exports: $Exports<'offline-plugin/lib/misc/sw-polyfill'>; } declare module 'offline-plugin/lib/misc/sw-template.js' { declare module.exports: $Exports<'offline-plugin/lib/misc/sw-template'>; } declare module 'offline-plugin/lib/misc/utils.js' { declare module.exports: $Exports<'offline-plugin/lib/misc/utils'>; } declare module 'offline-plugin/lib/service-worker.js' { declare module.exports: $Exports<'offline-plugin/lib/service-worker'>; } declare module 'offline-plugin/runtime.js' { declare module.exports: $Exports<'offline-plugin/runtime'>; } declare module 'offline-plugin/tpls/empty-entry.js' { declare module.exports: $Exports<'offline-plugin/tpls/empty-entry'>; } declare module 'offline-plugin/tpls/runtime-template.js' { declare module.exports: $Exports<'offline-plugin/tpls/runtime-template'>; } ================================================ FILE: flow-typed/npm/optics-agent_vx.x.x.js ================================================ // flow-typed signature: 004e07cb00ee3e946e888bb054a3dc92 // flow-typed version: <>/optics-agent_v^1.1.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'optics-agent' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'optics-agent' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'optics-agent/dist/Agent' { declare module.exports: any; } declare module 'optics-agent/dist/DefaultAgent' { declare module.exports: any; } declare module 'optics-agent/dist/index' { declare module.exports: any; } declare module 'optics-agent/dist/Instrument' { declare module.exports: any; } declare module 'optics-agent/dist/Normalize' { declare module.exports: any; } declare module 'optics-agent/dist/normalizedPrinter' { declare module.exports: any; } declare module 'optics-agent/dist/Proto' { declare module.exports: any; } declare module 'optics-agent/dist/Report' { declare module.exports: any; } declare module 'optics-agent/dist/separateOperations' { declare module.exports: any; } // Filename aliases declare module 'optics-agent/dist/Agent.js' { declare module.exports: $Exports<'optics-agent/dist/Agent'>; } declare module 'optics-agent/dist/DefaultAgent.js' { declare module.exports: $Exports<'optics-agent/dist/DefaultAgent'>; } declare module 'optics-agent/dist/index.js' { declare module.exports: $Exports<'optics-agent/dist/index'>; } declare module 'optics-agent/dist/Instrument.js' { declare module.exports: $Exports<'optics-agent/dist/Instrument'>; } declare module 'optics-agent/dist/Normalize.js' { declare module.exports: $Exports<'optics-agent/dist/Normalize'>; } declare module 'optics-agent/dist/normalizedPrinter.js' { declare module.exports: $Exports<'optics-agent/dist/normalizedPrinter'>; } declare module 'optics-agent/dist/Proto.js' { declare module.exports: $Exports<'optics-agent/dist/Proto'>; } declare module 'optics-agent/dist/Report.js' { declare module.exports: $Exports<'optics-agent/dist/Report'>; } declare module 'optics-agent/dist/separateOperations.js' { declare module.exports: $Exports<'optics-agent/dist/separateOperations'>; } ================================================ FILE: flow-typed/npm/passport-facebook_vx.x.x.js ================================================ // flow-typed signature: facdb316618cf5d649c28fc8e9546388 // flow-typed version: <>/passport-facebook_v^2.1.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'passport-facebook' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'passport-facebook' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'passport-facebook/lib/errors/facebookauthorizationerror' { declare module.exports: any; } declare module 'passport-facebook/lib/errors/facebookgraphapierror' { declare module.exports: any; } declare module 'passport-facebook/lib/errors/facebooktokenerror' { declare module.exports: any; } declare module 'passport-facebook/lib/index' { declare module.exports: any; } declare module 'passport-facebook/lib/profile' { declare module.exports: any; } declare module 'passport-facebook/lib/strategy' { declare module.exports: any; } // Filename aliases declare module 'passport-facebook/lib/errors/facebookauthorizationerror.js' { declare module.exports: $Exports<'passport-facebook/lib/errors/facebookauthorizationerror'>; } declare module 'passport-facebook/lib/errors/facebookgraphapierror.js' { declare module.exports: $Exports<'passport-facebook/lib/errors/facebookgraphapierror'>; } declare module 'passport-facebook/lib/errors/facebooktokenerror.js' { declare module.exports: $Exports<'passport-facebook/lib/errors/facebooktokenerror'>; } declare module 'passport-facebook/lib/index.js' { declare module.exports: $Exports<'passport-facebook/lib/index'>; } declare module 'passport-facebook/lib/profile.js' { declare module.exports: $Exports<'passport-facebook/lib/profile'>; } declare module 'passport-facebook/lib/strategy.js' { declare module.exports: $Exports<'passport-facebook/lib/strategy'>; } ================================================ FILE: flow-typed/npm/passport-github2_vx.x.x.js ================================================ // flow-typed signature: f9045e098bc233689452b66cabf99bf2 // flow-typed version: <>/passport-github2_v^0.1.10/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'passport-github2' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'passport-github2' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'passport-github2/lib/index' { declare module.exports: any; } declare module 'passport-github2/lib/profile' { declare module.exports: any; } declare module 'passport-github2/lib/strategy' { declare module.exports: any; } // Filename aliases declare module 'passport-github2/lib/index.js' { declare module.exports: $Exports<'passport-github2/lib/index'>; } declare module 'passport-github2/lib/profile.js' { declare module.exports: $Exports<'passport-github2/lib/profile'>; } declare module 'passport-github2/lib/strategy.js' { declare module.exports: $Exports<'passport-github2/lib/strategy'>; } ================================================ FILE: flow-typed/npm/passport-google-oauth2_vx.x.x.js ================================================ // flow-typed signature: 1d873bc01fad5960de2e86f896018c21 // flow-typed version: <>/passport-google-oauth2_v^0.1.6/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'passport-google-oauth2' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'passport-google-oauth2' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'passport-google-oauth2/example/app' { declare module.exports: any; } declare module 'passport-google-oauth2/lib/oauth2' { declare module.exports: any; } // Filename aliases declare module 'passport-google-oauth2/example/app.js' { declare module.exports: $Exports<'passport-google-oauth2/example/app'>; } declare module 'passport-google-oauth2/lib/oauth2.js' { declare module.exports: $Exports<'passport-google-oauth2/lib/oauth2'>; } ================================================ FILE: flow-typed/npm/passport-twitter_vx.x.x.js ================================================ // flow-typed signature: bb32213050c47d2fba9e8852de4040eb // flow-typed version: <>/passport-twitter_v^1.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'passport-twitter' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'passport-twitter' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'passport-twitter/lib/errors/apierror' { declare module.exports: any; } declare module 'passport-twitter/lib/index' { declare module.exports: any; } declare module 'passport-twitter/lib/profile' { declare module.exports: any; } declare module 'passport-twitter/lib/strategy' { declare module.exports: any; } // Filename aliases declare module 'passport-twitter/lib/errors/apierror.js' { declare module.exports: $Exports<'passport-twitter/lib/errors/apierror'>; } declare module 'passport-twitter/lib/index.js' { declare module.exports: $Exports<'passport-twitter/lib/index'>; } declare module 'passport-twitter/lib/profile.js' { declare module.exports: $Exports<'passport-twitter/lib/profile'>; } declare module 'passport-twitter/lib/strategy.js' { declare module.exports: $Exports<'passport-twitter/lib/strategy'>; } ================================================ FILE: flow-typed/npm/passport_vx.x.x.js ================================================ // flow-typed signature: 46c61ea309a223b177a743618ee18370 // flow-typed version: <>/passport_v^0.3.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'passport' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'passport' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'passport/lib/authenticator' { declare module.exports: any; } declare module 'passport/lib/errors/authenticationerror' { declare module.exports: any; } declare module 'passport/lib/framework/connect' { declare module.exports: any; } declare module 'passport/lib/http/request' { declare module.exports: any; } declare module 'passport/lib/index' { declare module.exports: any; } declare module 'passport/lib/middleware/authenticate' { declare module.exports: any; } declare module 'passport/lib/middleware/initialize' { declare module.exports: any; } declare module 'passport/lib/strategies/session' { declare module.exports: any; } // Filename aliases declare module 'passport/lib/authenticator.js' { declare module.exports: $Exports<'passport/lib/authenticator'>; } declare module 'passport/lib/errors/authenticationerror.js' { declare module.exports: $Exports<'passport/lib/errors/authenticationerror'>; } declare module 'passport/lib/framework/connect.js' { declare module.exports: $Exports<'passport/lib/framework/connect'>; } declare module 'passport/lib/http/request.js' { declare module.exports: $Exports<'passport/lib/http/request'>; } declare module 'passport/lib/index.js' { declare module.exports: $Exports<'passport/lib/index'>; } declare module 'passport/lib/middleware/authenticate.js' { declare module.exports: $Exports<'passport/lib/middleware/authenticate'>; } declare module 'passport/lib/middleware/initialize.js' { declare module.exports: $Exports<'passport/lib/middleware/initialize'>; } declare module 'passport/lib/strategies/session.js' { declare module.exports: $Exports<'passport/lib/strategies/session'>; } ================================================ FILE: flow-typed/npm/postmark_vx.x.x.js ================================================ // flow-typed signature: 90325d4fc34bbec0d4643204d570d555 // flow-typed version: <>/postmark_v^1.4.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'postmark' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'postmark' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'postmark/docs/scripts/bootstrap-dropdown' { declare module.exports: any; } declare module 'postmark/docs/scripts/bootstrap-tab' { declare module.exports: any; } declare module 'postmark/docs/scripts/docstrap.lib' { declare module.exports: any; } declare module 'postmark/docs/scripts/prettify/jquery.min' { declare module.exports: any; } declare module 'postmark/docs/scripts/prettify/lang-css' { declare module.exports: any; } declare module 'postmark/docs/scripts/prettify/prettify' { declare module.exports: any; } declare module 'postmark/docs/scripts/sunlight' { declare module.exports: any; } declare module 'postmark/docs/scripts/toc' { declare module.exports: any; } declare module 'postmark/docs/scripts/URI' { declare module.exports: any; } declare module 'postmark/lib/postmark/AdminClient' { declare module.exports: any; } declare module 'postmark/lib/postmark/Client' { declare module.exports: any; } declare module 'postmark/lib/postmark/clientDefaults' { declare module.exports: any; } declare module 'postmark/lib/postmark/documentationTypeDefs' { declare module.exports: any; } declare module 'postmark/lib/postmark/index' { declare module.exports: any; } declare module 'postmark/tests/fixture_adminClientDomainManagement' { declare module.exports: any; } declare module 'postmark/tests/fixture_adminClientServerManagement' { declare module.exports: any; } declare module 'postmark/tests/fixture_adminClientSignatureManagement' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientBounceProcessing' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientClickStatistics' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientMessageProcessing' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientMessageStatistics' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientOpenHandling' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientServerHandling' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientTemplateHandling' { declare module.exports: any; } declare module 'postmark/tests/fixture_clientTriggerProcessing' { declare module.exports: any; } declare module 'postmark/tests/fixture_generalClientTests' { declare module.exports: any; } declare module 'postmark/tests/fixture_postmarkClientSending' { declare module.exports: any; } declare module 'postmark/tests/test_helpers' { declare module.exports: any; } // Filename aliases declare module 'postmark/docs/scripts/bootstrap-dropdown.js' { declare module.exports: $Exports<'postmark/docs/scripts/bootstrap-dropdown'>; } declare module 'postmark/docs/scripts/bootstrap-tab.js' { declare module.exports: $Exports<'postmark/docs/scripts/bootstrap-tab'>; } declare module 'postmark/docs/scripts/docstrap.lib.js' { declare module.exports: $Exports<'postmark/docs/scripts/docstrap.lib'>; } declare module 'postmark/docs/scripts/prettify/jquery.min.js' { declare module.exports: $Exports<'postmark/docs/scripts/prettify/jquery.min'>; } declare module 'postmark/docs/scripts/prettify/lang-css.js' { declare module.exports: $Exports<'postmark/docs/scripts/prettify/lang-css'>; } declare module 'postmark/docs/scripts/prettify/prettify.js' { declare module.exports: $Exports<'postmark/docs/scripts/prettify/prettify'>; } declare module 'postmark/docs/scripts/sunlight.js' { declare module.exports: $Exports<'postmark/docs/scripts/sunlight'>; } declare module 'postmark/docs/scripts/toc.js' { declare module.exports: $Exports<'postmark/docs/scripts/toc'>; } declare module 'postmark/docs/scripts/URI.js' { declare module.exports: $Exports<'postmark/docs/scripts/URI'>; } declare module 'postmark/lib/postmark/AdminClient.js' { declare module.exports: $Exports<'postmark/lib/postmark/AdminClient'>; } declare module 'postmark/lib/postmark/Client.js' { declare module.exports: $Exports<'postmark/lib/postmark/Client'>; } declare module 'postmark/lib/postmark/clientDefaults.js' { declare module.exports: $Exports<'postmark/lib/postmark/clientDefaults'>; } declare module 'postmark/lib/postmark/documentationTypeDefs.js' { declare module.exports: $Exports<'postmark/lib/postmark/documentationTypeDefs'>; } declare module 'postmark/lib/postmark/index.js' { declare module.exports: $Exports<'postmark/lib/postmark/index'>; } declare module 'postmark/tests/fixture_adminClientDomainManagement.js' { declare module.exports: $Exports<'postmark/tests/fixture_adminClientDomainManagement'>; } declare module 'postmark/tests/fixture_adminClientServerManagement.js' { declare module.exports: $Exports<'postmark/tests/fixture_adminClientServerManagement'>; } declare module 'postmark/tests/fixture_adminClientSignatureManagement.js' { declare module.exports: $Exports<'postmark/tests/fixture_adminClientSignatureManagement'>; } declare module 'postmark/tests/fixture_clientBounceProcessing.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientBounceProcessing'>; } declare module 'postmark/tests/fixture_clientClickStatistics.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientClickStatistics'>; } declare module 'postmark/tests/fixture_clientMessageProcessing.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientMessageProcessing'>; } declare module 'postmark/tests/fixture_clientMessageStatistics.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientMessageStatistics'>; } declare module 'postmark/tests/fixture_clientOpenHandling.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientOpenHandling'>; } declare module 'postmark/tests/fixture_clientServerHandling.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientServerHandling'>; } declare module 'postmark/tests/fixture_clientTemplateHandling.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientTemplateHandling'>; } declare module 'postmark/tests/fixture_clientTriggerProcessing.js' { declare module.exports: $Exports<'postmark/tests/fixture_clientTriggerProcessing'>; } declare module 'postmark/tests/fixture_generalClientTests.js' { declare module.exports: $Exports<'postmark/tests/fixture_generalClientTests'>; } declare module 'postmark/tests/fixture_postmarkClientSending.js' { declare module.exports: $Exports<'postmark/tests/fixture_postmarkClientSending'>; } declare module 'postmark/tests/test_helpers.js' { declare module.exports: $Exports<'postmark/tests/test_helpers'>; } ================================================ FILE: flow-typed/npm/pre-commit_vx.x.x.js ================================================ // flow-typed signature: b6350a3d1de18cf6c53b1574188d4a7c // flow-typed version: <>/pre-commit_v^1.2.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'pre-commit' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'pre-commit' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'pre-commit/install' { declare module.exports: any; } declare module 'pre-commit/test' { declare module.exports: any; } declare module 'pre-commit/uninstall' { declare module.exports: any; } // Filename aliases declare module 'pre-commit/index' { declare module.exports: $Exports<'pre-commit'>; } declare module 'pre-commit/index.js' { declare module.exports: $Exports<'pre-commit'>; } declare module 'pre-commit/install.js' { declare module.exports: $Exports<'pre-commit/install'>; } declare module 'pre-commit/test.js' { declare module.exports: $Exports<'pre-commit/test'>; } declare module 'pre-commit/uninstall.js' { declare module.exports: $Exports<'pre-commit/uninstall'>; } ================================================ FILE: flow-typed/npm/prettier_vx.x.x.js ================================================ // flow-typed signature: 473fe27fad2867e94b13c46f743c5945 // flow-typed version: <>/prettier_v^1.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'prettier' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'prettier' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'prettier/bin-prettier' { declare module.exports: any; } declare module 'prettier/parser-babylon' { declare module.exports: any; } declare module 'prettier/parser-flow' { declare module.exports: any; } declare module 'prettier/parser-glimmer' { declare module.exports: any; } declare module 'prettier/parser-graphql' { declare module.exports: any; } declare module 'prettier/parser-markdown' { declare module.exports: any; } declare module 'prettier/parser-parse5' { declare module.exports: any; } declare module 'prettier/parser-postcss' { declare module.exports: any; } declare module 'prettier/parser-typescript' { declare module.exports: any; } declare module 'prettier/parser-vue' { declare module.exports: any; } declare module 'prettier/third-party' { declare module.exports: any; } // Filename aliases declare module 'prettier/bin-prettier.js' { declare module.exports: $Exports<'prettier/bin-prettier'>; } declare module 'prettier/index' { declare module.exports: $Exports<'prettier'>; } declare module 'prettier/index.js' { declare module.exports: $Exports<'prettier'>; } declare module 'prettier/parser-babylon.js' { declare module.exports: $Exports<'prettier/parser-babylon'>; } declare module 'prettier/parser-flow.js' { declare module.exports: $Exports<'prettier/parser-flow'>; } declare module 'prettier/parser-glimmer.js' { declare module.exports: $Exports<'prettier/parser-glimmer'>; } declare module 'prettier/parser-graphql.js' { declare module.exports: $Exports<'prettier/parser-graphql'>; } declare module 'prettier/parser-markdown.js' { declare module.exports: $Exports<'prettier/parser-markdown'>; } declare module 'prettier/parser-parse5.js' { declare module.exports: $Exports<'prettier/parser-parse5'>; } declare module 'prettier/parser-postcss.js' { declare module.exports: $Exports<'prettier/parser-postcss'>; } declare module 'prettier/parser-typescript.js' { declare module.exports: $Exports<'prettier/parser-typescript'>; } declare module 'prettier/parser-vue.js' { declare module.exports: $Exports<'prettier/parser-vue'>; } declare module 'prettier/third-party.js' { declare module.exports: $Exports<'prettier/third-party'>; } ================================================ FILE: flow-typed/npm/prism-react-renderer_vx.x.x.js ================================================ // flow-typed signature: 3987fe684d034fe6822d30ca25b56da6 // flow-typed version: <>/prism-react-renderer_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'prism-react-renderer' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'prism-react-renderer' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'prism-react-renderer/es/components/Highlight' { declare module.exports: any; } declare module 'prism-react-renderer/es/defaultProps' { declare module.exports: any; } declare module 'prism-react-renderer/es/index' { declare module.exports: any; } declare module 'prism-react-renderer/es/types' { declare module.exports: any; } declare module 'prism-react-renderer/es/utils/normalizeTokens' { declare module.exports: any; } declare module 'prism-react-renderer/es/utils/themeToDict' { declare module.exports: any; } declare module 'prism-react-renderer/es/vendor/prism/includeLangs' { declare module.exports: any; } declare module 'prism-react-renderer/es/vendor/prism/index' { declare module.exports: any; } declare module 'prism-react-renderer/es/vendor/prism/prism-core' { declare module.exports: any; } declare module 'prism-react-renderer/lib/components/Highlight' { declare module.exports: any; } declare module 'prism-react-renderer/lib/defaultProps' { declare module.exports: any; } declare module 'prism-react-renderer/lib/index' { declare module.exports: any; } declare module 'prism-react-renderer/lib/types' { declare module.exports: any; } declare module 'prism-react-renderer/lib/utils/normalizeTokens' { declare module.exports: any; } declare module 'prism-react-renderer/lib/utils/themeToDict' { declare module.exports: any; } declare module 'prism-react-renderer/lib/vendor/prism/includeLangs' { declare module.exports: any; } declare module 'prism-react-renderer/lib/vendor/prism/index' { declare module.exports: any; } declare module 'prism-react-renderer/lib/vendor/prism/prism-core' { declare module.exports: any; } declare module 'prism-react-renderer/themes/dracula' { declare module.exports: any; } declare module 'prism-react-renderer/themes/duotoneDark' { declare module.exports: any; } declare module 'prism-react-renderer/themes/duotoneLight' { declare module.exports: any; } declare module 'prism-react-renderer/themes/nightOwl' { declare module.exports: any; } declare module 'prism-react-renderer/themes/oceanicNext' { declare module.exports: any; } declare module 'prism-react-renderer/themes/shadesOfPurple' { declare module.exports: any; } declare module 'prism-react-renderer/themes/ultramin' { declare module.exports: any; } declare module 'prism-react-renderer/themes/vsDark' { declare module.exports: any; } declare module 'prism-react-renderer/themes/vsDarkPlus' { declare module.exports: any; } // Filename aliases declare module 'prism-react-renderer/es/components/Highlight.js' { declare module.exports: $Exports<'prism-react-renderer/es/components/Highlight'>; } declare module 'prism-react-renderer/es/defaultProps.js' { declare module.exports: $Exports<'prism-react-renderer/es/defaultProps'>; } declare module 'prism-react-renderer/es/index.js' { declare module.exports: $Exports<'prism-react-renderer/es/index'>; } declare module 'prism-react-renderer/es/types.js' { declare module.exports: $Exports<'prism-react-renderer/es/types'>; } declare module 'prism-react-renderer/es/utils/normalizeTokens.js' { declare module.exports: $Exports<'prism-react-renderer/es/utils/normalizeTokens'>; } declare module 'prism-react-renderer/es/utils/themeToDict.js' { declare module.exports: $Exports<'prism-react-renderer/es/utils/themeToDict'>; } declare module 'prism-react-renderer/es/vendor/prism/includeLangs.js' { declare module.exports: $Exports<'prism-react-renderer/es/vendor/prism/includeLangs'>; } declare module 'prism-react-renderer/es/vendor/prism/index.js' { declare module.exports: $Exports<'prism-react-renderer/es/vendor/prism/index'>; } declare module 'prism-react-renderer/es/vendor/prism/prism-core.js' { declare module.exports: $Exports<'prism-react-renderer/es/vendor/prism/prism-core'>; } declare module 'prism-react-renderer/lib/components/Highlight.js' { declare module.exports: $Exports<'prism-react-renderer/lib/components/Highlight'>; } declare module 'prism-react-renderer/lib/defaultProps.js' { declare module.exports: $Exports<'prism-react-renderer/lib/defaultProps'>; } declare module 'prism-react-renderer/lib/index.js' { declare module.exports: $Exports<'prism-react-renderer/lib/index'>; } declare module 'prism-react-renderer/lib/types.js' { declare module.exports: $Exports<'prism-react-renderer/lib/types'>; } declare module 'prism-react-renderer/lib/utils/normalizeTokens.js' { declare module.exports: $Exports<'prism-react-renderer/lib/utils/normalizeTokens'>; } declare module 'prism-react-renderer/lib/utils/themeToDict.js' { declare module.exports: $Exports<'prism-react-renderer/lib/utils/themeToDict'>; } declare module 'prism-react-renderer/lib/vendor/prism/includeLangs.js' { declare module.exports: $Exports<'prism-react-renderer/lib/vendor/prism/includeLangs'>; } declare module 'prism-react-renderer/lib/vendor/prism/index.js' { declare module.exports: $Exports<'prism-react-renderer/lib/vendor/prism/index'>; } declare module 'prism-react-renderer/lib/vendor/prism/prism-core.js' { declare module.exports: $Exports<'prism-react-renderer/lib/vendor/prism/prism-core'>; } declare module 'prism-react-renderer/themes/dracula.js' { declare module.exports: $Exports<'prism-react-renderer/themes/dracula'>; } declare module 'prism-react-renderer/themes/duotoneDark.js' { declare module.exports: $Exports<'prism-react-renderer/themes/duotoneDark'>; } declare module 'prism-react-renderer/themes/duotoneLight.js' { declare module.exports: $Exports<'prism-react-renderer/themes/duotoneLight'>; } declare module 'prism-react-renderer/themes/nightOwl.js' { declare module.exports: $Exports<'prism-react-renderer/themes/nightOwl'>; } declare module 'prism-react-renderer/themes/oceanicNext.js' { declare module.exports: $Exports<'prism-react-renderer/themes/oceanicNext'>; } declare module 'prism-react-renderer/themes/shadesOfPurple.js' { declare module.exports: $Exports<'prism-react-renderer/themes/shadesOfPurple'>; } declare module 'prism-react-renderer/themes/ultramin.js' { declare module.exports: $Exports<'prism-react-renderer/themes/ultramin'>; } declare module 'prism-react-renderer/themes/vsDark.js' { declare module.exports: $Exports<'prism-react-renderer/themes/vsDark'>; } declare module 'prism-react-renderer/themes/vsDarkPlus.js' { declare module.exports: $Exports<'prism-react-renderer/themes/vsDarkPlus'>; } ================================================ FILE: flow-typed/npm/prismjs_vx.x.x.js ================================================ // flow-typed signature: 1854eaa5800e7e55189897b137fe7841 // flow-typed version: <>/prismjs_v^1.8.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'prismjs' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'prismjs' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'prismjs/components' { declare module.exports: any; } declare module 'prismjs/components/prism-abap' { declare module.exports: any; } declare module 'prismjs/components/prism-abap.min' { declare module.exports: any; } declare module 'prismjs/components/prism-actionscript' { declare module.exports: any; } declare module 'prismjs/components/prism-actionscript.min' { declare module.exports: any; } declare module 'prismjs/components/prism-ada' { declare module.exports: any; } declare module 'prismjs/components/prism-ada.min' { declare module.exports: any; } declare module 'prismjs/components/prism-apacheconf' { declare module.exports: any; } declare module 'prismjs/components/prism-apacheconf.min' { declare module.exports: any; } declare module 'prismjs/components/prism-apl' { declare module.exports: any; } declare module 'prismjs/components/prism-apl.min' { declare module.exports: any; } declare module 'prismjs/components/prism-applescript' { declare module.exports: any; } declare module 'prismjs/components/prism-applescript.min' { declare module.exports: any; } declare module 'prismjs/components/prism-arduino' { declare module.exports: any; } declare module 'prismjs/components/prism-arduino.min' { declare module.exports: any; } declare module 'prismjs/components/prism-asciidoc' { declare module.exports: any; } declare module 'prismjs/components/prism-asciidoc.min' { declare module.exports: any; } declare module 'prismjs/components/prism-aspnet' { declare module.exports: any; } declare module 'prismjs/components/prism-aspnet.min' { declare module.exports: any; } declare module 'prismjs/components/prism-autohotkey' { declare module.exports: any; } declare module 'prismjs/components/prism-autohotkey.min' { declare module.exports: any; } declare module 'prismjs/components/prism-autoit' { declare module.exports: any; } declare module 'prismjs/components/prism-autoit.min' { declare module.exports: any; } declare module 'prismjs/components/prism-bash' { declare module.exports: any; } declare module 'prismjs/components/prism-bash.min' { declare module.exports: any; } declare module 'prismjs/components/prism-basic' { declare module.exports: any; } declare module 'prismjs/components/prism-basic.min' { declare module.exports: any; } declare module 'prismjs/components/prism-batch' { declare module.exports: any; } declare module 'prismjs/components/prism-batch.min' { declare module.exports: any; } declare module 'prismjs/components/prism-bison' { declare module.exports: any; } declare module 'prismjs/components/prism-bison.min' { declare module.exports: any; } declare module 'prismjs/components/prism-brainfuck' { declare module.exports: any; } declare module 'prismjs/components/prism-brainfuck.min' { declare module.exports: any; } declare module 'prismjs/components/prism-bro' { declare module.exports: any; } declare module 'prismjs/components/prism-bro.min' { declare module.exports: any; } declare module 'prismjs/components/prism-c' { declare module.exports: any; } declare module 'prismjs/components/prism-c.min' { declare module.exports: any; } declare module 'prismjs/components/prism-clike' { declare module.exports: any; } declare module 'prismjs/components/prism-clike.min' { declare module.exports: any; } declare module 'prismjs/components/prism-coffeescript' { declare module.exports: any; } declare module 'prismjs/components/prism-coffeescript.min' { declare module.exports: any; } declare module 'prismjs/components/prism-core' { declare module.exports: any; } declare module 'prismjs/components/prism-core.min' { declare module.exports: any; } declare module 'prismjs/components/prism-cpp' { declare module.exports: any; } declare module 'prismjs/components/prism-cpp.min' { declare module.exports: any; } declare module 'prismjs/components/prism-crystal' { declare module.exports: any; } declare module 'prismjs/components/prism-crystal.min' { declare module.exports: any; } declare module 'prismjs/components/prism-csharp' { declare module.exports: any; } declare module 'prismjs/components/prism-csharp.min' { declare module.exports: any; } declare module 'prismjs/components/prism-css-extras' { declare module.exports: any; } declare module 'prismjs/components/prism-css-extras.min' { declare module.exports: any; } declare module 'prismjs/components/prism-css' { declare module.exports: any; } declare module 'prismjs/components/prism-css.min' { declare module.exports: any; } declare module 'prismjs/components/prism-d' { declare module.exports: any; } declare module 'prismjs/components/prism-d.min' { declare module.exports: any; } declare module 'prismjs/components/prism-dart' { declare module.exports: any; } declare module 'prismjs/components/prism-dart.min' { declare module.exports: any; } declare module 'prismjs/components/prism-diff' { declare module.exports: any; } declare module 'prismjs/components/prism-diff.min' { declare module.exports: any; } declare module 'prismjs/components/prism-django' { declare module.exports: any; } declare module 'prismjs/components/prism-django.min' { declare module.exports: any; } declare module 'prismjs/components/prism-docker' { declare module.exports: any; } declare module 'prismjs/components/prism-docker.min' { declare module.exports: any; } declare module 'prismjs/components/prism-eiffel' { declare module.exports: any; } declare module 'prismjs/components/prism-eiffel.min' { declare module.exports: any; } declare module 'prismjs/components/prism-elixir' { declare module.exports: any; } declare module 'prismjs/components/prism-elixir.min' { declare module.exports: any; } declare module 'prismjs/components/prism-erlang' { declare module.exports: any; } declare module 'prismjs/components/prism-erlang.min' { declare module.exports: any; } declare module 'prismjs/components/prism-flow' { declare module.exports: any; } declare module 'prismjs/components/prism-flow.min' { declare module.exports: any; } declare module 'prismjs/components/prism-fortran' { declare module.exports: any; } declare module 'prismjs/components/prism-fortran.min' { declare module.exports: any; } declare module 'prismjs/components/prism-fsharp' { declare module.exports: any; } declare module 'prismjs/components/prism-fsharp.min' { declare module.exports: any; } declare module 'prismjs/components/prism-gherkin' { declare module.exports: any; } declare module 'prismjs/components/prism-gherkin.min' { declare module.exports: any; } declare module 'prismjs/components/prism-git' { declare module.exports: any; } declare module 'prismjs/components/prism-git.min' { declare module.exports: any; } declare module 'prismjs/components/prism-glsl' { declare module.exports: any; } declare module 'prismjs/components/prism-glsl.min' { declare module.exports: any; } declare module 'prismjs/components/prism-go' { declare module.exports: any; } declare module 'prismjs/components/prism-go.min' { declare module.exports: any; } declare module 'prismjs/components/prism-graphql' { declare module.exports: any; } declare module 'prismjs/components/prism-graphql.min' { declare module.exports: any; } declare module 'prismjs/components/prism-groovy' { declare module.exports: any; } declare module 'prismjs/components/prism-groovy.min' { declare module.exports: any; } declare module 'prismjs/components/prism-haml' { declare module.exports: any; } declare module 'prismjs/components/prism-haml.min' { declare module.exports: any; } declare module 'prismjs/components/prism-handlebars' { declare module.exports: any; } declare module 'prismjs/components/prism-handlebars.min' { declare module.exports: any; } declare module 'prismjs/components/prism-haskell' { declare module.exports: any; } declare module 'prismjs/components/prism-haskell.min' { declare module.exports: any; } declare module 'prismjs/components/prism-haxe' { declare module.exports: any; } declare module 'prismjs/components/prism-haxe.min' { declare module.exports: any; } declare module 'prismjs/components/prism-http' { declare module.exports: any; } declare module 'prismjs/components/prism-http.min' { declare module.exports: any; } declare module 'prismjs/components/prism-icon' { declare module.exports: any; } declare module 'prismjs/components/prism-icon.min' { declare module.exports: any; } declare module 'prismjs/components/prism-inform7' { declare module.exports: any; } declare module 'prismjs/components/prism-inform7.min' { declare module.exports: any; } declare module 'prismjs/components/prism-ini' { declare module.exports: any; } declare module 'prismjs/components/prism-ini.min' { declare module.exports: any; } declare module 'prismjs/components/prism-j' { declare module.exports: any; } declare module 'prismjs/components/prism-j.min' { declare module.exports: any; } declare module 'prismjs/components/prism-java' { declare module.exports: any; } declare module 'prismjs/components/prism-java.min' { declare module.exports: any; } declare module 'prismjs/components/prism-javascript' { declare module.exports: any; } declare module 'prismjs/components/prism-javascript.min' { declare module.exports: any; } declare module 'prismjs/components/prism-jolie' { declare module.exports: any; } declare module 'prismjs/components/prism-jolie.min' { declare module.exports: any; } declare module 'prismjs/components/prism-json' { declare module.exports: any; } declare module 'prismjs/components/prism-json.min' { declare module.exports: any; } declare module 'prismjs/components/prism-jsx' { declare module.exports: any; } declare module 'prismjs/components/prism-jsx.min' { declare module.exports: any; } declare module 'prismjs/components/prism-julia' { declare module.exports: any; } declare module 'prismjs/components/prism-julia.min' { declare module.exports: any; } declare module 'prismjs/components/prism-keyman' { declare module.exports: any; } declare module 'prismjs/components/prism-keyman.min' { declare module.exports: any; } declare module 'prismjs/components/prism-kotlin' { declare module.exports: any; } declare module 'prismjs/components/prism-kotlin.min' { declare module.exports: any; } declare module 'prismjs/components/prism-latex' { declare module.exports: any; } declare module 'prismjs/components/prism-latex.min' { declare module.exports: any; } declare module 'prismjs/components/prism-less' { declare module.exports: any; } declare module 'prismjs/components/prism-less.min' { declare module.exports: any; } declare module 'prismjs/components/prism-livescript' { declare module.exports: any; } declare module 'prismjs/components/prism-livescript.min' { declare module.exports: any; } declare module 'prismjs/components/prism-lolcode' { declare module.exports: any; } declare module 'prismjs/components/prism-lolcode.min' { declare module.exports: any; } declare module 'prismjs/components/prism-lua' { declare module.exports: any; } declare module 'prismjs/components/prism-lua.min' { declare module.exports: any; } declare module 'prismjs/components/prism-makefile' { declare module.exports: any; } declare module 'prismjs/components/prism-makefile.min' { declare module.exports: any; } declare module 'prismjs/components/prism-markdown' { declare module.exports: any; } declare module 'prismjs/components/prism-markdown.min' { declare module.exports: any; } declare module 'prismjs/components/prism-markup' { declare module.exports: any; } declare module 'prismjs/components/prism-markup.min' { declare module.exports: any; } declare module 'prismjs/components/prism-matlab' { declare module.exports: any; } declare module 'prismjs/components/prism-matlab.min' { declare module.exports: any; } declare module 'prismjs/components/prism-mel' { declare module.exports: any; } declare module 'prismjs/components/prism-mel.min' { declare module.exports: any; } declare module 'prismjs/components/prism-mizar' { declare module.exports: any; } declare module 'prismjs/components/prism-mizar.min' { declare module.exports: any; } declare module 'prismjs/components/prism-monkey' { declare module.exports: any; } declare module 'prismjs/components/prism-monkey.min' { declare module.exports: any; } declare module 'prismjs/components/prism-n4js' { declare module.exports: any; } declare module 'prismjs/components/prism-n4js.min' { declare module.exports: any; } declare module 'prismjs/components/prism-nasm' { declare module.exports: any; } declare module 'prismjs/components/prism-nasm.min' { declare module.exports: any; } declare module 'prismjs/components/prism-nginx' { declare module.exports: any; } declare module 'prismjs/components/prism-nginx.min' { declare module.exports: any; } declare module 'prismjs/components/prism-nim' { declare module.exports: any; } declare module 'prismjs/components/prism-nim.min' { declare module.exports: any; } declare module 'prismjs/components/prism-nix' { declare module.exports: any; } declare module 'prismjs/components/prism-nix.min' { declare module.exports: any; } declare module 'prismjs/components/prism-nsis' { declare module.exports: any; } declare module 'prismjs/components/prism-nsis.min' { declare module.exports: any; } declare module 'prismjs/components/prism-objectivec' { declare module.exports: any; } declare module 'prismjs/components/prism-objectivec.min' { declare module.exports: any; } declare module 'prismjs/components/prism-ocaml' { declare module.exports: any; } declare module 'prismjs/components/prism-ocaml.min' { declare module.exports: any; } declare module 'prismjs/components/prism-opencl' { declare module.exports: any; } declare module 'prismjs/components/prism-opencl.min' { declare module.exports: any; } declare module 'prismjs/components/prism-oz' { declare module.exports: any; } declare module 'prismjs/components/prism-oz.min' { declare module.exports: any; } declare module 'prismjs/components/prism-parigp' { declare module.exports: any; } declare module 'prismjs/components/prism-parigp.min' { declare module.exports: any; } declare module 'prismjs/components/prism-parser' { declare module.exports: any; } declare module 'prismjs/components/prism-parser.min' { declare module.exports: any; } declare module 'prismjs/components/prism-pascal' { declare module.exports: any; } declare module 'prismjs/components/prism-pascal.min' { declare module.exports: any; } declare module 'prismjs/components/prism-perl' { declare module.exports: any; } declare module 'prismjs/components/prism-perl.min' { declare module.exports: any; } declare module 'prismjs/components/prism-php-extras' { declare module.exports: any; } declare module 'prismjs/components/prism-php-extras.min' { declare module.exports: any; } declare module 'prismjs/components/prism-php' { declare module.exports: any; } declare module 'prismjs/components/prism-php.min' { declare module.exports: any; } declare module 'prismjs/components/prism-powershell' { declare module.exports: any; } declare module 'prismjs/components/prism-powershell.min' { declare module.exports: any; } declare module 'prismjs/components/prism-processing' { declare module.exports: any; } declare module 'prismjs/components/prism-processing.min' { declare module.exports: any; } declare module 'prismjs/components/prism-prolog' { declare module.exports: any; } declare module 'prismjs/components/prism-prolog.min' { declare module.exports: any; } declare module 'prismjs/components/prism-properties' { declare module.exports: any; } declare module 'prismjs/components/prism-properties.min' { declare module.exports: any; } declare module 'prismjs/components/prism-protobuf' { declare module.exports: any; } declare module 'prismjs/components/prism-protobuf.min' { declare module.exports: any; } declare module 'prismjs/components/prism-pug' { declare module.exports: any; } declare module 'prismjs/components/prism-pug.min' { declare module.exports: any; } declare module 'prismjs/components/prism-puppet' { declare module.exports: any; } declare module 'prismjs/components/prism-puppet.min' { declare module.exports: any; } declare module 'prismjs/components/prism-pure' { declare module.exports: any; } declare module 'prismjs/components/prism-pure.min' { declare module.exports: any; } declare module 'prismjs/components/prism-python' { declare module.exports: any; } declare module 'prismjs/components/prism-python.min' { declare module.exports: any; } declare module 'prismjs/components/prism-q' { declare module.exports: any; } declare module 'prismjs/components/prism-q.min' { declare module.exports: any; } declare module 'prismjs/components/prism-qore' { declare module.exports: any; } declare module 'prismjs/components/prism-qore.min' { declare module.exports: any; } declare module 'prismjs/components/prism-r' { declare module.exports: any; } declare module 'prismjs/components/prism-r.min' { declare module.exports: any; } declare module 'prismjs/components/prism-reason' { declare module.exports: any; } declare module 'prismjs/components/prism-reason.min' { declare module.exports: any; } declare module 'prismjs/components/prism-renpy' { declare module.exports: any; } declare module 'prismjs/components/prism-renpy.min' { declare module.exports: any; } declare module 'prismjs/components/prism-rest' { declare module.exports: any; } declare module 'prismjs/components/prism-rest.min' { declare module.exports: any; } declare module 'prismjs/components/prism-rip' { declare module.exports: any; } declare module 'prismjs/components/prism-rip.min' { declare module.exports: any; } declare module 'prismjs/components/prism-roboconf' { declare module.exports: any; } declare module 'prismjs/components/prism-roboconf.min' { declare module.exports: any; } declare module 'prismjs/components/prism-ruby' { declare module.exports: any; } declare module 'prismjs/components/prism-ruby.min' { declare module.exports: any; } declare module 'prismjs/components/prism-rust' { declare module.exports: any; } declare module 'prismjs/components/prism-rust.min' { declare module.exports: any; } declare module 'prismjs/components/prism-sas' { declare module.exports: any; } declare module 'prismjs/components/prism-sas.min' { declare module.exports: any; } declare module 'prismjs/components/prism-sass' { declare module.exports: any; } declare module 'prismjs/components/prism-sass.min' { declare module.exports: any; } declare module 'prismjs/components/prism-scala' { declare module.exports: any; } declare module 'prismjs/components/prism-scala.min' { declare module.exports: any; } declare module 'prismjs/components/prism-scheme' { declare module.exports: any; } declare module 'prismjs/components/prism-scheme.min' { declare module.exports: any; } declare module 'prismjs/components/prism-scss' { declare module.exports: any; } declare module 'prismjs/components/prism-scss.min' { declare module.exports: any; } declare module 'prismjs/components/prism-smalltalk' { declare module.exports: any; } declare module 'prismjs/components/prism-smalltalk.min' { declare module.exports: any; } declare module 'prismjs/components/prism-smarty' { declare module.exports: any; } declare module 'prismjs/components/prism-smarty.min' { declare module.exports: any; } declare module 'prismjs/components/prism-sql' { declare module.exports: any; } declare module 'prismjs/components/prism-sql.min' { declare module.exports: any; } declare module 'prismjs/components/prism-stylus' { declare module.exports: any; } declare module 'prismjs/components/prism-stylus.min' { declare module.exports: any; } declare module 'prismjs/components/prism-swift' { declare module.exports: any; } declare module 'prismjs/components/prism-swift.min' { declare module.exports: any; } declare module 'prismjs/components/prism-tcl' { declare module.exports: any; } declare module 'prismjs/components/prism-tcl.min' { declare module.exports: any; } declare module 'prismjs/components/prism-textile' { declare module.exports: any; } declare module 'prismjs/components/prism-textile.min' { declare module.exports: any; } declare module 'prismjs/components/prism-twig' { declare module.exports: any; } declare module 'prismjs/components/prism-twig.min' { declare module.exports: any; } declare module 'prismjs/components/prism-typescript' { declare module.exports: any; } declare module 'prismjs/components/prism-typescript.min' { declare module.exports: any; } declare module 'prismjs/components/prism-vbnet' { declare module.exports: any; } declare module 'prismjs/components/prism-vbnet.min' { declare module.exports: any; } declare module 'prismjs/components/prism-verilog' { declare module.exports: any; } declare module 'prismjs/components/prism-verilog.min' { declare module.exports: any; } declare module 'prismjs/components/prism-vhdl' { declare module.exports: any; } declare module 'prismjs/components/prism-vhdl.min' { declare module.exports: any; } declare module 'prismjs/components/prism-vim' { declare module.exports: any; } declare module 'prismjs/components/prism-vim.min' { declare module.exports: any; } declare module 'prismjs/components/prism-wiki' { declare module.exports: any; } declare module 'prismjs/components/prism-wiki.min' { declare module.exports: any; } declare module 'prismjs/components/prism-xojo' { declare module.exports: any; } declare module 'prismjs/components/prism-xojo.min' { declare module.exports: any; } declare module 'prismjs/components/prism-yaml' { declare module.exports: any; } declare module 'prismjs/components/prism-yaml.min' { declare module.exports: any; } declare module 'prismjs/examples' { declare module.exports: any; } declare module 'prismjs/gulpfile' { declare module.exports: any; } declare module 'prismjs/plugins/autolinker/prism-autolinker' { declare module.exports: any; } declare module 'prismjs/plugins/autolinker/prism-autolinker.min' { declare module.exports: any; } declare module 'prismjs/plugins/autoloader/prism-autoloader' { declare module.exports: any; } declare module 'prismjs/plugins/autoloader/prism-autoloader.min' { declare module.exports: any; } declare module 'prismjs/plugins/command-line/prism-command-line' { declare module.exports: any; } declare module 'prismjs/plugins/command-line/prism-command-line.min' { declare module.exports: any; } declare module 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard' { declare module.exports: any; } declare module 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.min' { declare module.exports: any; } declare module 'prismjs/plugins/custom-class/prism-custom-class' { declare module.exports: any; } declare module 'prismjs/plugins/custom-class/prism-custom-class.min' { declare module.exports: any; } declare module 'prismjs/plugins/data-uri-highlight/prism-data-uri-highlight' { declare module.exports: any; } declare module 'prismjs/plugins/data-uri-highlight/prism-data-uri-highlight.min' { declare module.exports: any; } declare module 'prismjs/plugins/file-highlight/prism-file-highlight' { declare module.exports: any; } declare module 'prismjs/plugins/file-highlight/prism-file-highlight.min' { declare module.exports: any; } declare module 'prismjs/plugins/highlight-keywords/prism-highlight-keywords' { declare module.exports: any; } declare module 'prismjs/plugins/highlight-keywords/prism-highlight-keywords.min' { declare module.exports: any; } declare module 'prismjs/plugins/jsonp-highlight/prism-jsonp-highlight' { declare module.exports: any; } declare module 'prismjs/plugins/jsonp-highlight/prism-jsonp-highlight.min' { declare module.exports: any; } declare module 'prismjs/plugins/keep-markup/prism-keep-markup' { declare module.exports: any; } declare module 'prismjs/plugins/keep-markup/prism-keep-markup.min' { declare module.exports: any; } declare module 'prismjs/plugins/line-highlight/prism-line-highlight' { declare module.exports: any; } declare module 'prismjs/plugins/line-highlight/prism-line-highlight.min' { declare module.exports: any; } declare module 'prismjs/plugins/line-numbers/prism-line-numbers' { declare module.exports: any; } declare module 'prismjs/plugins/line-numbers/prism-line-numbers.min' { declare module.exports: any; } declare module 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace' { declare module.exports: any; } declare module 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.min' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-angle/prism-previewer-angle' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-angle/prism-previewer-angle.min' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-base/prism-previewer-base' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-base/prism-previewer-base.min' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-color/prism-previewer-color' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-color/prism-previewer-color.min' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-easing/prism-previewer-easing' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-easing/prism-previewer-easing.min' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-gradient/prism-previewer-gradient' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-gradient/prism-previewer-gradient.min' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-time/prism-previewer-time' { declare module.exports: any; } declare module 'prismjs/plugins/previewer-time/prism-previewer-time.min' { declare module.exports: any; } declare module 'prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed' { declare module.exports: any; } declare module 'prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed.min' { declare module.exports: any; } declare module 'prismjs/plugins/show-invisibles/prism-show-invisibles' { declare module.exports: any; } declare module 'prismjs/plugins/show-invisibles/prism-show-invisibles.min' { declare module.exports: any; } declare module 'prismjs/plugins/show-language/prism-show-language' { declare module.exports: any; } declare module 'prismjs/plugins/show-language/prism-show-language.min' { declare module.exports: any; } declare module 'prismjs/plugins/toolbar/prism-toolbar' { declare module.exports: any; } declare module 'prismjs/plugins/toolbar/prism-toolbar.min' { declare module.exports: any; } declare module 'prismjs/plugins/unescaped-markup/prism-unescaped-markup' { declare module.exports: any; } declare module 'prismjs/plugins/unescaped-markup/prism-unescaped-markup.min' { declare module.exports: any; } declare module 'prismjs/plugins/wpd/prism-wpd' { declare module.exports: any; } declare module 'prismjs/plugins/wpd/prism-wpd.min' { declare module.exports: any; } declare module 'prismjs/prism' { declare module.exports: any; } declare module 'prismjs/tests/helper/components' { declare module.exports: any; } declare module 'prismjs/tests/helper/prism-loader' { declare module.exports: any; } declare module 'prismjs/tests/helper/test-case' { declare module.exports: any; } declare module 'prismjs/tests/helper/test-discovery' { declare module.exports: any; } declare module 'prismjs/tests/helper/token-stream-transformer' { declare module.exports: any; } declare module 'prismjs/tests/languages/asciidoc/entity_feature' { declare module.exports: any; } declare module 'prismjs/tests/languages/groovy/issue1049' { declare module.exports: any; } declare module 'prismjs/tests/languages/groovy/string-interpolation_feature' { declare module.exports: any; } declare module 'prismjs/tests/languages/handlebars/handlebars_in_markup_feature' { declare module.exports: any; } declare module 'prismjs/tests/languages/markup/entity_feature' { declare module.exports: any; } declare module 'prismjs/tests/languages/markup+php/php_in_markup_feature' { declare module.exports: any; } declare module 'prismjs/tests/languages/smarty/smarty_in_markup_feature' { declare module.exports: any; } declare module 'prismjs/tests/run-child' { declare module.exports: any; } declare module 'prismjs/tests/run' { declare module.exports: any; } declare module 'prismjs/tests/testrunner-tests' { declare module.exports: any; } declare module 'prismjs/vendor/FileSaver.min' { declare module.exports: any; } declare module 'prismjs/vendor/jszip.min' { declare module.exports: any; } declare module 'prismjs/vendor/promise' { declare module.exports: any; } // Filename aliases declare module 'prismjs/components.js' { declare module.exports: $Exports<'prismjs/components'>; } declare module 'prismjs/components/prism-abap.js' { declare module.exports: $Exports<'prismjs/components/prism-abap'>; } declare module 'prismjs/components/prism-abap.min.js' { declare module.exports: $Exports<'prismjs/components/prism-abap.min'>; } declare module 'prismjs/components/prism-actionscript.js' { declare module.exports: $Exports<'prismjs/components/prism-actionscript'>; } declare module 'prismjs/components/prism-actionscript.min.js' { declare module.exports: $Exports<'prismjs/components/prism-actionscript.min'>; } declare module 'prismjs/components/prism-ada.js' { declare module.exports: $Exports<'prismjs/components/prism-ada'>; } declare module 'prismjs/components/prism-ada.min.js' { declare module.exports: $Exports<'prismjs/components/prism-ada.min'>; } declare module 'prismjs/components/prism-apacheconf.js' { declare module.exports: $Exports<'prismjs/components/prism-apacheconf'>; } declare module 'prismjs/components/prism-apacheconf.min.js' { declare module.exports: $Exports<'prismjs/components/prism-apacheconf.min'>; } declare module 'prismjs/components/prism-apl.js' { declare module.exports: $Exports<'prismjs/components/prism-apl'>; } declare module 'prismjs/components/prism-apl.min.js' { declare module.exports: $Exports<'prismjs/components/prism-apl.min'>; } declare module 'prismjs/components/prism-applescript.js' { declare module.exports: $Exports<'prismjs/components/prism-applescript'>; } declare module 'prismjs/components/prism-applescript.min.js' { declare module.exports: $Exports<'prismjs/components/prism-applescript.min'>; } declare module 'prismjs/components/prism-arduino.js' { declare module.exports: $Exports<'prismjs/components/prism-arduino'>; } declare module 'prismjs/components/prism-arduino.min.js' { declare module.exports: $Exports<'prismjs/components/prism-arduino.min'>; } declare module 'prismjs/components/prism-asciidoc.js' { declare module.exports: $Exports<'prismjs/components/prism-asciidoc'>; } declare module 'prismjs/components/prism-asciidoc.min.js' { declare module.exports: $Exports<'prismjs/components/prism-asciidoc.min'>; } declare module 'prismjs/components/prism-aspnet.js' { declare module.exports: $Exports<'prismjs/components/prism-aspnet'>; } declare module 'prismjs/components/prism-aspnet.min.js' { declare module.exports: $Exports<'prismjs/components/prism-aspnet.min'>; } declare module 'prismjs/components/prism-autohotkey.js' { declare module.exports: $Exports<'prismjs/components/prism-autohotkey'>; } declare module 'prismjs/components/prism-autohotkey.min.js' { declare module.exports: $Exports<'prismjs/components/prism-autohotkey.min'>; } declare module 'prismjs/components/prism-autoit.js' { declare module.exports: $Exports<'prismjs/components/prism-autoit'>; } declare module 'prismjs/components/prism-autoit.min.js' { declare module.exports: $Exports<'prismjs/components/prism-autoit.min'>; } declare module 'prismjs/components/prism-bash.js' { declare module.exports: $Exports<'prismjs/components/prism-bash'>; } declare module 'prismjs/components/prism-bash.min.js' { declare module.exports: $Exports<'prismjs/components/prism-bash.min'>; } declare module 'prismjs/components/prism-basic.js' { declare module.exports: $Exports<'prismjs/components/prism-basic'>; } declare module 'prismjs/components/prism-basic.min.js' { declare module.exports: $Exports<'prismjs/components/prism-basic.min'>; } declare module 'prismjs/components/prism-batch.js' { declare module.exports: $Exports<'prismjs/components/prism-batch'>; } declare module 'prismjs/components/prism-batch.min.js' { declare module.exports: $Exports<'prismjs/components/prism-batch.min'>; } declare module 'prismjs/components/prism-bison.js' { declare module.exports: $Exports<'prismjs/components/prism-bison'>; } declare module 'prismjs/components/prism-bison.min.js' { declare module.exports: $Exports<'prismjs/components/prism-bison.min'>; } declare module 'prismjs/components/prism-brainfuck.js' { declare module.exports: $Exports<'prismjs/components/prism-brainfuck'>; } declare module 'prismjs/components/prism-brainfuck.min.js' { declare module.exports: $Exports<'prismjs/components/prism-brainfuck.min'>; } declare module 'prismjs/components/prism-bro.js' { declare module.exports: $Exports<'prismjs/components/prism-bro'>; } declare module 'prismjs/components/prism-bro.min.js' { declare module.exports: $Exports<'prismjs/components/prism-bro.min'>; } declare module 'prismjs/components/prism-c.js' { declare module.exports: $Exports<'prismjs/components/prism-c'>; } declare module 'prismjs/components/prism-c.min.js' { declare module.exports: $Exports<'prismjs/components/prism-c.min'>; } declare module 'prismjs/components/prism-clike.js' { declare module.exports: $Exports<'prismjs/components/prism-clike'>; } declare module 'prismjs/components/prism-clike.min.js' { declare module.exports: $Exports<'prismjs/components/prism-clike.min'>; } declare module 'prismjs/components/prism-coffeescript.js' { declare module.exports: $Exports<'prismjs/components/prism-coffeescript'>; } declare module 'prismjs/components/prism-coffeescript.min.js' { declare module.exports: $Exports<'prismjs/components/prism-coffeescript.min'>; } declare module 'prismjs/components/prism-core.js' { declare module.exports: $Exports<'prismjs/components/prism-core'>; } declare module 'prismjs/components/prism-core.min.js' { declare module.exports: $Exports<'prismjs/components/prism-core.min'>; } declare module 'prismjs/components/prism-cpp.js' { declare module.exports: $Exports<'prismjs/components/prism-cpp'>; } declare module 'prismjs/components/prism-cpp.min.js' { declare module.exports: $Exports<'prismjs/components/prism-cpp.min'>; } declare module 'prismjs/components/prism-crystal.js' { declare module.exports: $Exports<'prismjs/components/prism-crystal'>; } declare module 'prismjs/components/prism-crystal.min.js' { declare module.exports: $Exports<'prismjs/components/prism-crystal.min'>; } declare module 'prismjs/components/prism-csharp.js' { declare module.exports: $Exports<'prismjs/components/prism-csharp'>; } declare module 'prismjs/components/prism-csharp.min.js' { declare module.exports: $Exports<'prismjs/components/prism-csharp.min'>; } declare module 'prismjs/components/prism-css-extras.js' { declare module.exports: $Exports<'prismjs/components/prism-css-extras'>; } declare module 'prismjs/components/prism-css-extras.min.js' { declare module.exports: $Exports<'prismjs/components/prism-css-extras.min'>; } declare module 'prismjs/components/prism-css.js' { declare module.exports: $Exports<'prismjs/components/prism-css'>; } declare module 'prismjs/components/prism-css.min.js' { declare module.exports: $Exports<'prismjs/components/prism-css.min'>; } declare module 'prismjs/components/prism-d.js' { declare module.exports: $Exports<'prismjs/components/prism-d'>; } declare module 'prismjs/components/prism-d.min.js' { declare module.exports: $Exports<'prismjs/components/prism-d.min'>; } declare module 'prismjs/components/prism-dart.js' { declare module.exports: $Exports<'prismjs/components/prism-dart'>; } declare module 'prismjs/components/prism-dart.min.js' { declare module.exports: $Exports<'prismjs/components/prism-dart.min'>; } declare module 'prismjs/components/prism-diff.js' { declare module.exports: $Exports<'prismjs/components/prism-diff'>; } declare module 'prismjs/components/prism-diff.min.js' { declare module.exports: $Exports<'prismjs/components/prism-diff.min'>; } declare module 'prismjs/components/prism-django.js' { declare module.exports: $Exports<'prismjs/components/prism-django'>; } declare module 'prismjs/components/prism-django.min.js' { declare module.exports: $Exports<'prismjs/components/prism-django.min'>; } declare module 'prismjs/components/prism-docker.js' { declare module.exports: $Exports<'prismjs/components/prism-docker'>; } declare module 'prismjs/components/prism-docker.min.js' { declare module.exports: $Exports<'prismjs/components/prism-docker.min'>; } declare module 'prismjs/components/prism-eiffel.js' { declare module.exports: $Exports<'prismjs/components/prism-eiffel'>; } declare module 'prismjs/components/prism-eiffel.min.js' { declare module.exports: $Exports<'prismjs/components/prism-eiffel.min'>; } declare module 'prismjs/components/prism-elixir.js' { declare module.exports: $Exports<'prismjs/components/prism-elixir'>; } declare module 'prismjs/components/prism-elixir.min.js' { declare module.exports: $Exports<'prismjs/components/prism-elixir.min'>; } declare module 'prismjs/components/prism-erlang.js' { declare module.exports: $Exports<'prismjs/components/prism-erlang'>; } declare module 'prismjs/components/prism-erlang.min.js' { declare module.exports: $Exports<'prismjs/components/prism-erlang.min'>; } declare module 'prismjs/components/prism-flow.js' { declare module.exports: $Exports<'prismjs/components/prism-flow'>; } declare module 'prismjs/components/prism-flow.min.js' { declare module.exports: $Exports<'prismjs/components/prism-flow.min'>; } declare module 'prismjs/components/prism-fortran.js' { declare module.exports: $Exports<'prismjs/components/prism-fortran'>; } declare module 'prismjs/components/prism-fortran.min.js' { declare module.exports: $Exports<'prismjs/components/prism-fortran.min'>; } declare module 'prismjs/components/prism-fsharp.js' { declare module.exports: $Exports<'prismjs/components/prism-fsharp'>; } declare module 'prismjs/components/prism-fsharp.min.js' { declare module.exports: $Exports<'prismjs/components/prism-fsharp.min'>; } declare module 'prismjs/components/prism-gherkin.js' { declare module.exports: $Exports<'prismjs/components/prism-gherkin'>; } declare module 'prismjs/components/prism-gherkin.min.js' { declare module.exports: $Exports<'prismjs/components/prism-gherkin.min'>; } declare module 'prismjs/components/prism-git.js' { declare module.exports: $Exports<'prismjs/components/prism-git'>; } declare module 'prismjs/components/prism-git.min.js' { declare module.exports: $Exports<'prismjs/components/prism-git.min'>; } declare module 'prismjs/components/prism-glsl.js' { declare module.exports: $Exports<'prismjs/components/prism-glsl'>; } declare module 'prismjs/components/prism-glsl.min.js' { declare module.exports: $Exports<'prismjs/components/prism-glsl.min'>; } declare module 'prismjs/components/prism-go.js' { declare module.exports: $Exports<'prismjs/components/prism-go'>; } declare module 'prismjs/components/prism-go.min.js' { declare module.exports: $Exports<'prismjs/components/prism-go.min'>; } declare module 'prismjs/components/prism-graphql.js' { declare module.exports: $Exports<'prismjs/components/prism-graphql'>; } declare module 'prismjs/components/prism-graphql.min.js' { declare module.exports: $Exports<'prismjs/components/prism-graphql.min'>; } declare module 'prismjs/components/prism-groovy.js' { declare module.exports: $Exports<'prismjs/components/prism-groovy'>; } declare module 'prismjs/components/prism-groovy.min.js' { declare module.exports: $Exports<'prismjs/components/prism-groovy.min'>; } declare module 'prismjs/components/prism-haml.js' { declare module.exports: $Exports<'prismjs/components/prism-haml'>; } declare module 'prismjs/components/prism-haml.min.js' { declare module.exports: $Exports<'prismjs/components/prism-haml.min'>; } declare module 'prismjs/components/prism-handlebars.js' { declare module.exports: $Exports<'prismjs/components/prism-handlebars'>; } declare module 'prismjs/components/prism-handlebars.min.js' { declare module.exports: $Exports<'prismjs/components/prism-handlebars.min'>; } declare module 'prismjs/components/prism-haskell.js' { declare module.exports: $Exports<'prismjs/components/prism-haskell'>; } declare module 'prismjs/components/prism-haskell.min.js' { declare module.exports: $Exports<'prismjs/components/prism-haskell.min'>; } declare module 'prismjs/components/prism-haxe.js' { declare module.exports: $Exports<'prismjs/components/prism-haxe'>; } declare module 'prismjs/components/prism-haxe.min.js' { declare module.exports: $Exports<'prismjs/components/prism-haxe.min'>; } declare module 'prismjs/components/prism-http.js' { declare module.exports: $Exports<'prismjs/components/prism-http'>; } declare module 'prismjs/components/prism-http.min.js' { declare module.exports: $Exports<'prismjs/components/prism-http.min'>; } declare module 'prismjs/components/prism-icon.js' { declare module.exports: $Exports<'prismjs/components/prism-icon'>; } declare module 'prismjs/components/prism-icon.min.js' { declare module.exports: $Exports<'prismjs/components/prism-icon.min'>; } declare module 'prismjs/components/prism-inform7.js' { declare module.exports: $Exports<'prismjs/components/prism-inform7'>; } declare module 'prismjs/components/prism-inform7.min.js' { declare module.exports: $Exports<'prismjs/components/prism-inform7.min'>; } declare module 'prismjs/components/prism-ini.js' { declare module.exports: $Exports<'prismjs/components/prism-ini'>; } declare module 'prismjs/components/prism-ini.min.js' { declare module.exports: $Exports<'prismjs/components/prism-ini.min'>; } declare module 'prismjs/components/prism-j.js' { declare module.exports: $Exports<'prismjs/components/prism-j'>; } declare module 'prismjs/components/prism-j.min.js' { declare module.exports: $Exports<'prismjs/components/prism-j.min'>; } declare module 'prismjs/components/prism-java.js' { declare module.exports: $Exports<'prismjs/components/prism-java'>; } declare module 'prismjs/components/prism-java.min.js' { declare module.exports: $Exports<'prismjs/components/prism-java.min'>; } declare module 'prismjs/components/prism-javascript.js' { declare module.exports: $Exports<'prismjs/components/prism-javascript'>; } declare module 'prismjs/components/prism-javascript.min.js' { declare module.exports: $Exports<'prismjs/components/prism-javascript.min'>; } declare module 'prismjs/components/prism-jolie.js' { declare module.exports: $Exports<'prismjs/components/prism-jolie'>; } declare module 'prismjs/components/prism-jolie.min.js' { declare module.exports: $Exports<'prismjs/components/prism-jolie.min'>; } declare module 'prismjs/components/prism-json.js' { declare module.exports: $Exports<'prismjs/components/prism-json'>; } declare module 'prismjs/components/prism-json.min.js' { declare module.exports: $Exports<'prismjs/components/prism-json.min'>; } declare module 'prismjs/components/prism-jsx.js' { declare module.exports: $Exports<'prismjs/components/prism-jsx'>; } declare module 'prismjs/components/prism-jsx.min.js' { declare module.exports: $Exports<'prismjs/components/prism-jsx.min'>; } declare module 'prismjs/components/prism-julia.js' { declare module.exports: $Exports<'prismjs/components/prism-julia'>; } declare module 'prismjs/components/prism-julia.min.js' { declare module.exports: $Exports<'prismjs/components/prism-julia.min'>; } declare module 'prismjs/components/prism-keyman.js' { declare module.exports: $Exports<'prismjs/components/prism-keyman'>; } declare module 'prismjs/components/prism-keyman.min.js' { declare module.exports: $Exports<'prismjs/components/prism-keyman.min'>; } declare module 'prismjs/components/prism-kotlin.js' { declare module.exports: $Exports<'prismjs/components/prism-kotlin'>; } declare module 'prismjs/components/prism-kotlin.min.js' { declare module.exports: $Exports<'prismjs/components/prism-kotlin.min'>; } declare module 'prismjs/components/prism-latex.js' { declare module.exports: $Exports<'prismjs/components/prism-latex'>; } declare module 'prismjs/components/prism-latex.min.js' { declare module.exports: $Exports<'prismjs/components/prism-latex.min'>; } declare module 'prismjs/components/prism-less.js' { declare module.exports: $Exports<'prismjs/components/prism-less'>; } declare module 'prismjs/components/prism-less.min.js' { declare module.exports: $Exports<'prismjs/components/prism-less.min'>; } declare module 'prismjs/components/prism-livescript.js' { declare module.exports: $Exports<'prismjs/components/prism-livescript'>; } declare module 'prismjs/components/prism-livescript.min.js' { declare module.exports: $Exports<'prismjs/components/prism-livescript.min'>; } declare module 'prismjs/components/prism-lolcode.js' { declare module.exports: $Exports<'prismjs/components/prism-lolcode'>; } declare module 'prismjs/components/prism-lolcode.min.js' { declare module.exports: $Exports<'prismjs/components/prism-lolcode.min'>; } declare module 'prismjs/components/prism-lua.js' { declare module.exports: $Exports<'prismjs/components/prism-lua'>; } declare module 'prismjs/components/prism-lua.min.js' { declare module.exports: $Exports<'prismjs/components/prism-lua.min'>; } declare module 'prismjs/components/prism-makefile.js' { declare module.exports: $Exports<'prismjs/components/prism-makefile'>; } declare module 'prismjs/components/prism-makefile.min.js' { declare module.exports: $Exports<'prismjs/components/prism-makefile.min'>; } declare module 'prismjs/components/prism-markdown.js' { declare module.exports: $Exports<'prismjs/components/prism-markdown'>; } declare module 'prismjs/components/prism-markdown.min.js' { declare module.exports: $Exports<'prismjs/components/prism-markdown.min'>; } declare module 'prismjs/components/prism-markup.js' { declare module.exports: $Exports<'prismjs/components/prism-markup'>; } declare module 'prismjs/components/prism-markup.min.js' { declare module.exports: $Exports<'prismjs/components/prism-markup.min'>; } declare module 'prismjs/components/prism-matlab.js' { declare module.exports: $Exports<'prismjs/components/prism-matlab'>; } declare module 'prismjs/components/prism-matlab.min.js' { declare module.exports: $Exports<'prismjs/components/prism-matlab.min'>; } declare module 'prismjs/components/prism-mel.js' { declare module.exports: $Exports<'prismjs/components/prism-mel'>; } declare module 'prismjs/components/prism-mel.min.js' { declare module.exports: $Exports<'prismjs/components/prism-mel.min'>; } declare module 'prismjs/components/prism-mizar.js' { declare module.exports: $Exports<'prismjs/components/prism-mizar'>; } declare module 'prismjs/components/prism-mizar.min.js' { declare module.exports: $Exports<'prismjs/components/prism-mizar.min'>; } declare module 'prismjs/components/prism-monkey.js' { declare module.exports: $Exports<'prismjs/components/prism-monkey'>; } declare module 'prismjs/components/prism-monkey.min.js' { declare module.exports: $Exports<'prismjs/components/prism-monkey.min'>; } declare module 'prismjs/components/prism-n4js.js' { declare module.exports: $Exports<'prismjs/components/prism-n4js'>; } declare module 'prismjs/components/prism-n4js.min.js' { declare module.exports: $Exports<'prismjs/components/prism-n4js.min'>; } declare module 'prismjs/components/prism-nasm.js' { declare module.exports: $Exports<'prismjs/components/prism-nasm'>; } declare module 'prismjs/components/prism-nasm.min.js' { declare module.exports: $Exports<'prismjs/components/prism-nasm.min'>; } declare module 'prismjs/components/prism-nginx.js' { declare module.exports: $Exports<'prismjs/components/prism-nginx'>; } declare module 'prismjs/components/prism-nginx.min.js' { declare module.exports: $Exports<'prismjs/components/prism-nginx.min'>; } declare module 'prismjs/components/prism-nim.js' { declare module.exports: $Exports<'prismjs/components/prism-nim'>; } declare module 'prismjs/components/prism-nim.min.js' { declare module.exports: $Exports<'prismjs/components/prism-nim.min'>; } declare module 'prismjs/components/prism-nix.js' { declare module.exports: $Exports<'prismjs/components/prism-nix'>; } declare module 'prismjs/components/prism-nix.min.js' { declare module.exports: $Exports<'prismjs/components/prism-nix.min'>; } declare module 'prismjs/components/prism-nsis.js' { declare module.exports: $Exports<'prismjs/components/prism-nsis'>; } declare module 'prismjs/components/prism-nsis.min.js' { declare module.exports: $Exports<'prismjs/components/prism-nsis.min'>; } declare module 'prismjs/components/prism-objectivec.js' { declare module.exports: $Exports<'prismjs/components/prism-objectivec'>; } declare module 'prismjs/components/prism-objectivec.min.js' { declare module.exports: $Exports<'prismjs/components/prism-objectivec.min'>; } declare module 'prismjs/components/prism-ocaml.js' { declare module.exports: $Exports<'prismjs/components/prism-ocaml'>; } declare module 'prismjs/components/prism-ocaml.min.js' { declare module.exports: $Exports<'prismjs/components/prism-ocaml.min'>; } declare module 'prismjs/components/prism-opencl.js' { declare module.exports: $Exports<'prismjs/components/prism-opencl'>; } declare module 'prismjs/components/prism-opencl.min.js' { declare module.exports: $Exports<'prismjs/components/prism-opencl.min'>; } declare module 'prismjs/components/prism-oz.js' { declare module.exports: $Exports<'prismjs/components/prism-oz'>; } declare module 'prismjs/components/prism-oz.min.js' { declare module.exports: $Exports<'prismjs/components/prism-oz.min'>; } declare module 'prismjs/components/prism-parigp.js' { declare module.exports: $Exports<'prismjs/components/prism-parigp'>; } declare module 'prismjs/components/prism-parigp.min.js' { declare module.exports: $Exports<'prismjs/components/prism-parigp.min'>; } declare module 'prismjs/components/prism-parser.js' { declare module.exports: $Exports<'prismjs/components/prism-parser'>; } declare module 'prismjs/components/prism-parser.min.js' { declare module.exports: $Exports<'prismjs/components/prism-parser.min'>; } declare module 'prismjs/components/prism-pascal.js' { declare module.exports: $Exports<'prismjs/components/prism-pascal'>; } declare module 'prismjs/components/prism-pascal.min.js' { declare module.exports: $Exports<'prismjs/components/prism-pascal.min'>; } declare module 'prismjs/components/prism-perl.js' { declare module.exports: $Exports<'prismjs/components/prism-perl'>; } declare module 'prismjs/components/prism-perl.min.js' { declare module.exports: $Exports<'prismjs/components/prism-perl.min'>; } declare module 'prismjs/components/prism-php-extras.js' { declare module.exports: $Exports<'prismjs/components/prism-php-extras'>; } declare module 'prismjs/components/prism-php-extras.min.js' { declare module.exports: $Exports<'prismjs/components/prism-php-extras.min'>; } declare module 'prismjs/components/prism-php.js' { declare module.exports: $Exports<'prismjs/components/prism-php'>; } declare module 'prismjs/components/prism-php.min.js' { declare module.exports: $Exports<'prismjs/components/prism-php.min'>; } declare module 'prismjs/components/prism-powershell.js' { declare module.exports: $Exports<'prismjs/components/prism-powershell'>; } declare module 'prismjs/components/prism-powershell.min.js' { declare module.exports: $Exports<'prismjs/components/prism-powershell.min'>; } declare module 'prismjs/components/prism-processing.js' { declare module.exports: $Exports<'prismjs/components/prism-processing'>; } declare module 'prismjs/components/prism-processing.min.js' { declare module.exports: $Exports<'prismjs/components/prism-processing.min'>; } declare module 'prismjs/components/prism-prolog.js' { declare module.exports: $Exports<'prismjs/components/prism-prolog'>; } declare module 'prismjs/components/prism-prolog.min.js' { declare module.exports: $Exports<'prismjs/components/prism-prolog.min'>; } declare module 'prismjs/components/prism-properties.js' { declare module.exports: $Exports<'prismjs/components/prism-properties'>; } declare module 'prismjs/components/prism-properties.min.js' { declare module.exports: $Exports<'prismjs/components/prism-properties.min'>; } declare module 'prismjs/components/prism-protobuf.js' { declare module.exports: $Exports<'prismjs/components/prism-protobuf'>; } declare module 'prismjs/components/prism-protobuf.min.js' { declare module.exports: $Exports<'prismjs/components/prism-protobuf.min'>; } declare module 'prismjs/components/prism-pug.js' { declare module.exports: $Exports<'prismjs/components/prism-pug'>; } declare module 'prismjs/components/prism-pug.min.js' { declare module.exports: $Exports<'prismjs/components/prism-pug.min'>; } declare module 'prismjs/components/prism-puppet.js' { declare module.exports: $Exports<'prismjs/components/prism-puppet'>; } declare module 'prismjs/components/prism-puppet.min.js' { declare module.exports: $Exports<'prismjs/components/prism-puppet.min'>; } declare module 'prismjs/components/prism-pure.js' { declare module.exports: $Exports<'prismjs/components/prism-pure'>; } declare module 'prismjs/components/prism-pure.min.js' { declare module.exports: $Exports<'prismjs/components/prism-pure.min'>; } declare module 'prismjs/components/prism-python.js' { declare module.exports: $Exports<'prismjs/components/prism-python'>; } declare module 'prismjs/components/prism-python.min.js' { declare module.exports: $Exports<'prismjs/components/prism-python.min'>; } declare module 'prismjs/components/prism-q.js' { declare module.exports: $Exports<'prismjs/components/prism-q'>; } declare module 'prismjs/components/prism-q.min.js' { declare module.exports: $Exports<'prismjs/components/prism-q.min'>; } declare module 'prismjs/components/prism-qore.js' { declare module.exports: $Exports<'prismjs/components/prism-qore'>; } declare module 'prismjs/components/prism-qore.min.js' { declare module.exports: $Exports<'prismjs/components/prism-qore.min'>; } declare module 'prismjs/components/prism-r.js' { declare module.exports: $Exports<'prismjs/components/prism-r'>; } declare module 'prismjs/components/prism-r.min.js' { declare module.exports: $Exports<'prismjs/components/prism-r.min'>; } declare module 'prismjs/components/prism-reason.js' { declare module.exports: $Exports<'prismjs/components/prism-reason'>; } declare module 'prismjs/components/prism-reason.min.js' { declare module.exports: $Exports<'prismjs/components/prism-reason.min'>; } declare module 'prismjs/components/prism-renpy.js' { declare module.exports: $Exports<'prismjs/components/prism-renpy'>; } declare module 'prismjs/components/prism-renpy.min.js' { declare module.exports: $Exports<'prismjs/components/prism-renpy.min'>; } declare module 'prismjs/components/prism-rest.js' { declare module.exports: $Exports<'prismjs/components/prism-rest'>; } declare module 'prismjs/components/prism-rest.min.js' { declare module.exports: $Exports<'prismjs/components/prism-rest.min'>; } declare module 'prismjs/components/prism-rip.js' { declare module.exports: $Exports<'prismjs/components/prism-rip'>; } declare module 'prismjs/components/prism-rip.min.js' { declare module.exports: $Exports<'prismjs/components/prism-rip.min'>; } declare module 'prismjs/components/prism-roboconf.js' { declare module.exports: $Exports<'prismjs/components/prism-roboconf'>; } declare module 'prismjs/components/prism-roboconf.min.js' { declare module.exports: $Exports<'prismjs/components/prism-roboconf.min'>; } declare module 'prismjs/components/prism-ruby.js' { declare module.exports: $Exports<'prismjs/components/prism-ruby'>; } declare module 'prismjs/components/prism-ruby.min.js' { declare module.exports: $Exports<'prismjs/components/prism-ruby.min'>; } declare module 'prismjs/components/prism-rust.js' { declare module.exports: $Exports<'prismjs/components/prism-rust'>; } declare module 'prismjs/components/prism-rust.min.js' { declare module.exports: $Exports<'prismjs/components/prism-rust.min'>; } declare module 'prismjs/components/prism-sas.js' { declare module.exports: $Exports<'prismjs/components/prism-sas'>; } declare module 'prismjs/components/prism-sas.min.js' { declare module.exports: $Exports<'prismjs/components/prism-sas.min'>; } declare module 'prismjs/components/prism-sass.js' { declare module.exports: $Exports<'prismjs/components/prism-sass'>; } declare module 'prismjs/components/prism-sass.min.js' { declare module.exports: $Exports<'prismjs/components/prism-sass.min'>; } declare module 'prismjs/components/prism-scala.js' { declare module.exports: $Exports<'prismjs/components/prism-scala'>; } declare module 'prismjs/components/prism-scala.min.js' { declare module.exports: $Exports<'prismjs/components/prism-scala.min'>; } declare module 'prismjs/components/prism-scheme.js' { declare module.exports: $Exports<'prismjs/components/prism-scheme'>; } declare module 'prismjs/components/prism-scheme.min.js' { declare module.exports: $Exports<'prismjs/components/prism-scheme.min'>; } declare module 'prismjs/components/prism-scss.js' { declare module.exports: $Exports<'prismjs/components/prism-scss'>; } declare module 'prismjs/components/prism-scss.min.js' { declare module.exports: $Exports<'prismjs/components/prism-scss.min'>; } declare module 'prismjs/components/prism-smalltalk.js' { declare module.exports: $Exports<'prismjs/components/prism-smalltalk'>; } declare module 'prismjs/components/prism-smalltalk.min.js' { declare module.exports: $Exports<'prismjs/components/prism-smalltalk.min'>; } declare module 'prismjs/components/prism-smarty.js' { declare module.exports: $Exports<'prismjs/components/prism-smarty'>; } declare module 'prismjs/components/prism-smarty.min.js' { declare module.exports: $Exports<'prismjs/components/prism-smarty.min'>; } declare module 'prismjs/components/prism-sql.js' { declare module.exports: $Exports<'prismjs/components/prism-sql'>; } declare module 'prismjs/components/prism-sql.min.js' { declare module.exports: $Exports<'prismjs/components/prism-sql.min'>; } declare module 'prismjs/components/prism-stylus.js' { declare module.exports: $Exports<'prismjs/components/prism-stylus'>; } declare module 'prismjs/components/prism-stylus.min.js' { declare module.exports: $Exports<'prismjs/components/prism-stylus.min'>; } declare module 'prismjs/components/prism-swift.js' { declare module.exports: $Exports<'prismjs/components/prism-swift'>; } declare module 'prismjs/components/prism-swift.min.js' { declare module.exports: $Exports<'prismjs/components/prism-swift.min'>; } declare module 'prismjs/components/prism-tcl.js' { declare module.exports: $Exports<'prismjs/components/prism-tcl'>; } declare module 'prismjs/components/prism-tcl.min.js' { declare module.exports: $Exports<'prismjs/components/prism-tcl.min'>; } declare module 'prismjs/components/prism-textile.js' { declare module.exports: $Exports<'prismjs/components/prism-textile'>; } declare module 'prismjs/components/prism-textile.min.js' { declare module.exports: $Exports<'prismjs/components/prism-textile.min'>; } declare module 'prismjs/components/prism-twig.js' { declare module.exports: $Exports<'prismjs/components/prism-twig'>; } declare module 'prismjs/components/prism-twig.min.js' { declare module.exports: $Exports<'prismjs/components/prism-twig.min'>; } declare module 'prismjs/components/prism-typescript.js' { declare module.exports: $Exports<'prismjs/components/prism-typescript'>; } declare module 'prismjs/components/prism-typescript.min.js' { declare module.exports: $Exports<'prismjs/components/prism-typescript.min'>; } declare module 'prismjs/components/prism-vbnet.js' { declare module.exports: $Exports<'prismjs/components/prism-vbnet'>; } declare module 'prismjs/components/prism-vbnet.min.js' { declare module.exports: $Exports<'prismjs/components/prism-vbnet.min'>; } declare module 'prismjs/components/prism-verilog.js' { declare module.exports: $Exports<'prismjs/components/prism-verilog'>; } declare module 'prismjs/components/prism-verilog.min.js' { declare module.exports: $Exports<'prismjs/components/prism-verilog.min'>; } declare module 'prismjs/components/prism-vhdl.js' { declare module.exports: $Exports<'prismjs/components/prism-vhdl'>; } declare module 'prismjs/components/prism-vhdl.min.js' { declare module.exports: $Exports<'prismjs/components/prism-vhdl.min'>; } declare module 'prismjs/components/prism-vim.js' { declare module.exports: $Exports<'prismjs/components/prism-vim'>; } declare module 'prismjs/components/prism-vim.min.js' { declare module.exports: $Exports<'prismjs/components/prism-vim.min'>; } declare module 'prismjs/components/prism-wiki.js' { declare module.exports: $Exports<'prismjs/components/prism-wiki'>; } declare module 'prismjs/components/prism-wiki.min.js' { declare module.exports: $Exports<'prismjs/components/prism-wiki.min'>; } declare module 'prismjs/components/prism-xojo.js' { declare module.exports: $Exports<'prismjs/components/prism-xojo'>; } declare module 'prismjs/components/prism-xojo.min.js' { declare module.exports: $Exports<'prismjs/components/prism-xojo.min'>; } declare module 'prismjs/components/prism-yaml.js' { declare module.exports: $Exports<'prismjs/components/prism-yaml'>; } declare module 'prismjs/components/prism-yaml.min.js' { declare module.exports: $Exports<'prismjs/components/prism-yaml.min'>; } declare module 'prismjs/examples.js' { declare module.exports: $Exports<'prismjs/examples'>; } declare module 'prismjs/gulpfile.js' { declare module.exports: $Exports<'prismjs/gulpfile'>; } declare module 'prismjs/plugins/autolinker/prism-autolinker.js' { declare module.exports: $Exports<'prismjs/plugins/autolinker/prism-autolinker'>; } declare module 'prismjs/plugins/autolinker/prism-autolinker.min.js' { declare module.exports: $Exports<'prismjs/plugins/autolinker/prism-autolinker.min'>; } declare module 'prismjs/plugins/autoloader/prism-autoloader.js' { declare module.exports: $Exports<'prismjs/plugins/autoloader/prism-autoloader'>; } declare module 'prismjs/plugins/autoloader/prism-autoloader.min.js' { declare module.exports: $Exports<'prismjs/plugins/autoloader/prism-autoloader.min'>; } declare module 'prismjs/plugins/command-line/prism-command-line.js' { declare module.exports: $Exports<'prismjs/plugins/command-line/prism-command-line'>; } declare module 'prismjs/plugins/command-line/prism-command-line.min.js' { declare module.exports: $Exports<'prismjs/plugins/command-line/prism-command-line.min'>; } declare module 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.js' { declare module.exports: $Exports<'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard'>; } declare module 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js' { declare module.exports: $Exports<'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.min'>; } declare module 'prismjs/plugins/custom-class/prism-custom-class.js' { declare module.exports: $Exports<'prismjs/plugins/custom-class/prism-custom-class'>; } declare module 'prismjs/plugins/custom-class/prism-custom-class.min.js' { declare module.exports: $Exports<'prismjs/plugins/custom-class/prism-custom-class.min'>; } declare module 'prismjs/plugins/data-uri-highlight/prism-data-uri-highlight.js' { declare module.exports: $Exports<'prismjs/plugins/data-uri-highlight/prism-data-uri-highlight'>; } declare module 'prismjs/plugins/data-uri-highlight/prism-data-uri-highlight.min.js' { declare module.exports: $Exports<'prismjs/plugins/data-uri-highlight/prism-data-uri-highlight.min'>; } declare module 'prismjs/plugins/file-highlight/prism-file-highlight.js' { declare module.exports: $Exports<'prismjs/plugins/file-highlight/prism-file-highlight'>; } declare module 'prismjs/plugins/file-highlight/prism-file-highlight.min.js' { declare module.exports: $Exports<'prismjs/plugins/file-highlight/prism-file-highlight.min'>; } declare module 'prismjs/plugins/highlight-keywords/prism-highlight-keywords.js' { declare module.exports: $Exports<'prismjs/plugins/highlight-keywords/prism-highlight-keywords'>; } declare module 'prismjs/plugins/highlight-keywords/prism-highlight-keywords.min.js' { declare module.exports: $Exports<'prismjs/plugins/highlight-keywords/prism-highlight-keywords.min'>; } declare module 'prismjs/plugins/jsonp-highlight/prism-jsonp-highlight.js' { declare module.exports: $Exports<'prismjs/plugins/jsonp-highlight/prism-jsonp-highlight'>; } declare module 'prismjs/plugins/jsonp-highlight/prism-jsonp-highlight.min.js' { declare module.exports: $Exports<'prismjs/plugins/jsonp-highlight/prism-jsonp-highlight.min'>; } declare module 'prismjs/plugins/keep-markup/prism-keep-markup.js' { declare module.exports: $Exports<'prismjs/plugins/keep-markup/prism-keep-markup'>; } declare module 'prismjs/plugins/keep-markup/prism-keep-markup.min.js' { declare module.exports: $Exports<'prismjs/plugins/keep-markup/prism-keep-markup.min'>; } declare module 'prismjs/plugins/line-highlight/prism-line-highlight.js' { declare module.exports: $Exports<'prismjs/plugins/line-highlight/prism-line-highlight'>; } declare module 'prismjs/plugins/line-highlight/prism-line-highlight.min.js' { declare module.exports: $Exports<'prismjs/plugins/line-highlight/prism-line-highlight.min'>; } declare module 'prismjs/plugins/line-numbers/prism-line-numbers.js' { declare module.exports: $Exports<'prismjs/plugins/line-numbers/prism-line-numbers'>; } declare module 'prismjs/plugins/line-numbers/prism-line-numbers.min.js' { declare module.exports: $Exports<'prismjs/plugins/line-numbers/prism-line-numbers.min'>; } declare module 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.js' { declare module.exports: $Exports<'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace'>; } declare module 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.min.js' { declare module.exports: $Exports<'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.min'>; } declare module 'prismjs/plugins/previewer-angle/prism-previewer-angle.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-angle/prism-previewer-angle'>; } declare module 'prismjs/plugins/previewer-angle/prism-previewer-angle.min.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-angle/prism-previewer-angle.min'>; } declare module 'prismjs/plugins/previewer-base/prism-previewer-base.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-base/prism-previewer-base'>; } declare module 'prismjs/plugins/previewer-base/prism-previewer-base.min.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-base/prism-previewer-base.min'>; } declare module 'prismjs/plugins/previewer-color/prism-previewer-color.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-color/prism-previewer-color'>; } declare module 'prismjs/plugins/previewer-color/prism-previewer-color.min.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-color/prism-previewer-color.min'>; } declare module 'prismjs/plugins/previewer-easing/prism-previewer-easing.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-easing/prism-previewer-easing'>; } declare module 'prismjs/plugins/previewer-easing/prism-previewer-easing.min.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-easing/prism-previewer-easing.min'>; } declare module 'prismjs/plugins/previewer-gradient/prism-previewer-gradient.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-gradient/prism-previewer-gradient'>; } declare module 'prismjs/plugins/previewer-gradient/prism-previewer-gradient.min.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-gradient/prism-previewer-gradient.min'>; } declare module 'prismjs/plugins/previewer-time/prism-previewer-time.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-time/prism-previewer-time'>; } declare module 'prismjs/plugins/previewer-time/prism-previewer-time.min.js' { declare module.exports: $Exports<'prismjs/plugins/previewer-time/prism-previewer-time.min'>; } declare module 'prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed.js' { declare module.exports: $Exports<'prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed'>; } declare module 'prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed.min.js' { declare module.exports: $Exports<'prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed.min'>; } declare module 'prismjs/plugins/show-invisibles/prism-show-invisibles.js' { declare module.exports: $Exports<'prismjs/plugins/show-invisibles/prism-show-invisibles'>; } declare module 'prismjs/plugins/show-invisibles/prism-show-invisibles.min.js' { declare module.exports: $Exports<'prismjs/plugins/show-invisibles/prism-show-invisibles.min'>; } declare module 'prismjs/plugins/show-language/prism-show-language.js' { declare module.exports: $Exports<'prismjs/plugins/show-language/prism-show-language'>; } declare module 'prismjs/plugins/show-language/prism-show-language.min.js' { declare module.exports: $Exports<'prismjs/plugins/show-language/prism-show-language.min'>; } declare module 'prismjs/plugins/toolbar/prism-toolbar.js' { declare module.exports: $Exports<'prismjs/plugins/toolbar/prism-toolbar'>; } declare module 'prismjs/plugins/toolbar/prism-toolbar.min.js' { declare module.exports: $Exports<'prismjs/plugins/toolbar/prism-toolbar.min'>; } declare module 'prismjs/plugins/unescaped-markup/prism-unescaped-markup.js' { declare module.exports: $Exports<'prismjs/plugins/unescaped-markup/prism-unescaped-markup'>; } declare module 'prismjs/plugins/unescaped-markup/prism-unescaped-markup.min.js' { declare module.exports: $Exports<'prismjs/plugins/unescaped-markup/prism-unescaped-markup.min'>; } declare module 'prismjs/plugins/wpd/prism-wpd.js' { declare module.exports: $Exports<'prismjs/plugins/wpd/prism-wpd'>; } declare module 'prismjs/plugins/wpd/prism-wpd.min.js' { declare module.exports: $Exports<'prismjs/plugins/wpd/prism-wpd.min'>; } declare module 'prismjs/prism.js' { declare module.exports: $Exports<'prismjs/prism'>; } declare module 'prismjs/tests/helper/components.js' { declare module.exports: $Exports<'prismjs/tests/helper/components'>; } declare module 'prismjs/tests/helper/prism-loader.js' { declare module.exports: $Exports<'prismjs/tests/helper/prism-loader'>; } declare module 'prismjs/tests/helper/test-case.js' { declare module.exports: $Exports<'prismjs/tests/helper/test-case'>; } declare module 'prismjs/tests/helper/test-discovery.js' { declare module.exports: $Exports<'prismjs/tests/helper/test-discovery'>; } declare module 'prismjs/tests/helper/token-stream-transformer.js' { declare module.exports: $Exports<'prismjs/tests/helper/token-stream-transformer'>; } declare module 'prismjs/tests/languages/asciidoc/entity_feature.js' { declare module.exports: $Exports<'prismjs/tests/languages/asciidoc/entity_feature'>; } declare module 'prismjs/tests/languages/groovy/issue1049.js' { declare module.exports: $Exports<'prismjs/tests/languages/groovy/issue1049'>; } declare module 'prismjs/tests/languages/groovy/string-interpolation_feature.js' { declare module.exports: $Exports<'prismjs/tests/languages/groovy/string-interpolation_feature'>; } declare module 'prismjs/tests/languages/handlebars/handlebars_in_markup_feature.js' { declare module.exports: $Exports<'prismjs/tests/languages/handlebars/handlebars_in_markup_feature'>; } declare module 'prismjs/tests/languages/markup/entity_feature.js' { declare module.exports: $Exports<'prismjs/tests/languages/markup/entity_feature'>; } declare module 'prismjs/tests/languages/markup+php/php_in_markup_feature.js' { declare module.exports: $Exports<'prismjs/tests/languages/markup+php/php_in_markup_feature'>; } declare module 'prismjs/tests/languages/smarty/smarty_in_markup_feature.js' { declare module.exports: $Exports<'prismjs/tests/languages/smarty/smarty_in_markup_feature'>; } declare module 'prismjs/tests/run-child.js' { declare module.exports: $Exports<'prismjs/tests/run-child'>; } declare module 'prismjs/tests/run.js' { declare module.exports: $Exports<'prismjs/tests/run'>; } declare module 'prismjs/tests/testrunner-tests.js' { declare module.exports: $Exports<'prismjs/tests/testrunner-tests'>; } declare module 'prismjs/vendor/FileSaver.min.js' { declare module.exports: $Exports<'prismjs/vendor/FileSaver.min'>; } declare module 'prismjs/vendor/jszip.min.js' { declare module.exports: $Exports<'prismjs/vendor/jszip.min'>; } declare module 'prismjs/vendor/promise.js' { declare module.exports: $Exports<'prismjs/vendor/promise'>; } ================================================ FILE: flow-typed/npm/puppeteer_vx.x.x.js ================================================ // flow-typed signature: 2b4e7a3fbe46b17a6f5a4236fec5b090 // flow-typed version: <>/puppeteer_v^0.12.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'puppeteer' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'puppeteer' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'puppeteer/DeviceDescriptors' { declare module.exports: any; } declare module 'puppeteer/examples/block-images' { declare module.exports: any; } declare module 'puppeteer/examples/custom-event' { declare module.exports: any; } declare module 'puppeteer/examples/detect-sniff' { declare module.exports: any; } declare module 'puppeteer/examples/pdf' { declare module.exports: any; } declare module 'puppeteer/examples/proxy' { declare module.exports: any; } declare module 'puppeteer/examples/screenshot-fullpage' { declare module.exports: any; } declare module 'puppeteer/examples/screenshot' { declare module.exports: any; } declare module 'puppeteer/examples/search' { declare module.exports: any; } declare module 'puppeteer/install' { declare module.exports: any; } declare module 'puppeteer/lib/Browser' { declare module.exports: any; } declare module 'puppeteer/lib/Connection' { declare module.exports: any; } declare module 'puppeteer/lib/Dialog' { declare module.exports: any; } declare module 'puppeteer/lib/ElementHandle' { declare module.exports: any; } declare module 'puppeteer/lib/EmulationManager' { declare module.exports: any; } declare module 'puppeteer/lib/ExecutionContext' { declare module.exports: any; } declare module 'puppeteer/lib/FrameManager' { declare module.exports: any; } declare module 'puppeteer/lib/helper' { declare module.exports: any; } declare module 'puppeteer/lib/Input' { declare module.exports: any; } declare module 'puppeteer/lib/Launcher' { declare module.exports: any; } declare module 'puppeteer/lib/Multimap' { declare module.exports: any; } declare module 'puppeteer/lib/NavigatorWatcher' { declare module.exports: any; } declare module 'puppeteer/lib/NetworkManager' { declare module.exports: any; } declare module 'puppeteer/lib/Page' { declare module.exports: any; } declare module 'puppeteer/lib/Puppeteer' { declare module.exports: any; } declare module 'puppeteer/lib/Tracing' { declare module.exports: any; } declare module 'puppeteer/node6/Browser' { declare module.exports: any; } declare module 'puppeteer/node6/Connection' { declare module.exports: any; } declare module 'puppeteer/node6/Dialog' { declare module.exports: any; } declare module 'puppeteer/node6/ElementHandle' { declare module.exports: any; } declare module 'puppeteer/node6/EmulationManager' { declare module.exports: any; } declare module 'puppeteer/node6/ExecutionContext' { declare module.exports: any; } declare module 'puppeteer/node6/FrameManager' { declare module.exports: any; } declare module 'puppeteer/node6/helper' { declare module.exports: any; } declare module 'puppeteer/node6/Input' { declare module.exports: any; } declare module 'puppeteer/node6/Launcher' { declare module.exports: any; } declare module 'puppeteer/node6/Multimap' { declare module.exports: any; } declare module 'puppeteer/node6/NavigatorWatcher' { declare module.exports: any; } declare module 'puppeteer/node6/NetworkManager' { declare module.exports: any; } declare module 'puppeteer/node6/Page' { declare module.exports: any; } declare module 'puppeteer/node6/Puppeteer' { declare module.exports: any; } declare module 'puppeteer/node6/Tracing' { declare module.exports: any; } declare module 'puppeteer/utils/check_availability' { declare module.exports: any; } declare module 'puppeteer/utils/ChromiumDownloader' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/check_public_api/Documentation' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/check_public_api/index' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/check_public_api/JSBuilder' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/check_public_api/MDBuilder' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/cli' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/Message' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/preprocessor/index' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/preprocessor/test' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/SourceFactory' { declare module.exports: any; } declare module 'puppeteer/utils/doclint/toc' { declare module.exports: any; } declare module 'puppeteer/utils/ESTreeWalker' { declare module.exports: any; } declare module 'puppeteer/utils/fetch_devices' { declare module.exports: any; } // Filename aliases declare module 'puppeteer/DeviceDescriptors.js' { declare module.exports: $Exports<'puppeteer/DeviceDescriptors'>; } declare module 'puppeteer/examples/block-images.js' { declare module.exports: $Exports<'puppeteer/examples/block-images'>; } declare module 'puppeteer/examples/custom-event.js' { declare module.exports: $Exports<'puppeteer/examples/custom-event'>; } declare module 'puppeteer/examples/detect-sniff.js' { declare module.exports: $Exports<'puppeteer/examples/detect-sniff'>; } declare module 'puppeteer/examples/pdf.js' { declare module.exports: $Exports<'puppeteer/examples/pdf'>; } declare module 'puppeteer/examples/proxy.js' { declare module.exports: $Exports<'puppeteer/examples/proxy'>; } declare module 'puppeteer/examples/screenshot-fullpage.js' { declare module.exports: $Exports<'puppeteer/examples/screenshot-fullpage'>; } declare module 'puppeteer/examples/screenshot.js' { declare module.exports: $Exports<'puppeteer/examples/screenshot'>; } declare module 'puppeteer/examples/search.js' { declare module.exports: $Exports<'puppeteer/examples/search'>; } declare module 'puppeteer/index' { declare module.exports: $Exports<'puppeteer'>; } declare module 'puppeteer/index.js' { declare module.exports: $Exports<'puppeteer'>; } declare module 'puppeteer/install.js' { declare module.exports: $Exports<'puppeteer/install'>; } declare module 'puppeteer/lib/Browser.js' { declare module.exports: $Exports<'puppeteer/lib/Browser'>; } declare module 'puppeteer/lib/Connection.js' { declare module.exports: $Exports<'puppeteer/lib/Connection'>; } declare module 'puppeteer/lib/Dialog.js' { declare module.exports: $Exports<'puppeteer/lib/Dialog'>; } declare module 'puppeteer/lib/ElementHandle.js' { declare module.exports: $Exports<'puppeteer/lib/ElementHandle'>; } declare module 'puppeteer/lib/EmulationManager.js' { declare module.exports: $Exports<'puppeteer/lib/EmulationManager'>; } declare module 'puppeteer/lib/ExecutionContext.js' { declare module.exports: $Exports<'puppeteer/lib/ExecutionContext'>; } declare module 'puppeteer/lib/FrameManager.js' { declare module.exports: $Exports<'puppeteer/lib/FrameManager'>; } declare module 'puppeteer/lib/helper.js' { declare module.exports: $Exports<'puppeteer/lib/helper'>; } declare module 'puppeteer/lib/Input.js' { declare module.exports: $Exports<'puppeteer/lib/Input'>; } declare module 'puppeteer/lib/Launcher.js' { declare module.exports: $Exports<'puppeteer/lib/Launcher'>; } declare module 'puppeteer/lib/Multimap.js' { declare module.exports: $Exports<'puppeteer/lib/Multimap'>; } declare module 'puppeteer/lib/NavigatorWatcher.js' { declare module.exports: $Exports<'puppeteer/lib/NavigatorWatcher'>; } declare module 'puppeteer/lib/NetworkManager.js' { declare module.exports: $Exports<'puppeteer/lib/NetworkManager'>; } declare module 'puppeteer/lib/Page.js' { declare module.exports: $Exports<'puppeteer/lib/Page'>; } declare module 'puppeteer/lib/Puppeteer.js' { declare module.exports: $Exports<'puppeteer/lib/Puppeteer'>; } declare module 'puppeteer/lib/Tracing.js' { declare module.exports: $Exports<'puppeteer/lib/Tracing'>; } declare module 'puppeteer/node6/Browser.js' { declare module.exports: $Exports<'puppeteer/node6/Browser'>; } declare module 'puppeteer/node6/Connection.js' { declare module.exports: $Exports<'puppeteer/node6/Connection'>; } declare module 'puppeteer/node6/Dialog.js' { declare module.exports: $Exports<'puppeteer/node6/Dialog'>; } declare module 'puppeteer/node6/ElementHandle.js' { declare module.exports: $Exports<'puppeteer/node6/ElementHandle'>; } declare module 'puppeteer/node6/EmulationManager.js' { declare module.exports: $Exports<'puppeteer/node6/EmulationManager'>; } declare module 'puppeteer/node6/ExecutionContext.js' { declare module.exports: $Exports<'puppeteer/node6/ExecutionContext'>; } declare module 'puppeteer/node6/FrameManager.js' { declare module.exports: $Exports<'puppeteer/node6/FrameManager'>; } declare module 'puppeteer/node6/helper.js' { declare module.exports: $Exports<'puppeteer/node6/helper'>; } declare module 'puppeteer/node6/Input.js' { declare module.exports: $Exports<'puppeteer/node6/Input'>; } declare module 'puppeteer/node6/Launcher.js' { declare module.exports: $Exports<'puppeteer/node6/Launcher'>; } declare module 'puppeteer/node6/Multimap.js' { declare module.exports: $Exports<'puppeteer/node6/Multimap'>; } declare module 'puppeteer/node6/NavigatorWatcher.js' { declare module.exports: $Exports<'puppeteer/node6/NavigatorWatcher'>; } declare module 'puppeteer/node6/NetworkManager.js' { declare module.exports: $Exports<'puppeteer/node6/NetworkManager'>; } declare module 'puppeteer/node6/Page.js' { declare module.exports: $Exports<'puppeteer/node6/Page'>; } declare module 'puppeteer/node6/Puppeteer.js' { declare module.exports: $Exports<'puppeteer/node6/Puppeteer'>; } declare module 'puppeteer/node6/Tracing.js' { declare module.exports: $Exports<'puppeteer/node6/Tracing'>; } declare module 'puppeteer/utils/check_availability.js' { declare module.exports: $Exports<'puppeteer/utils/check_availability'>; } declare module 'puppeteer/utils/ChromiumDownloader.js' { declare module.exports: $Exports<'puppeteer/utils/ChromiumDownloader'>; } declare module 'puppeteer/utils/doclint/check_public_api/Documentation.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/check_public_api/Documentation'>; } declare module 'puppeteer/utils/doclint/check_public_api/index.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/check_public_api/index'>; } declare module 'puppeteer/utils/doclint/check_public_api/JSBuilder.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/check_public_api/JSBuilder'>; } declare module 'puppeteer/utils/doclint/check_public_api/MDBuilder.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/check_public_api/MDBuilder'>; } declare module 'puppeteer/utils/doclint/cli.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/cli'>; } declare module 'puppeteer/utils/doclint/Message.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/Message'>; } declare module 'puppeteer/utils/doclint/preprocessor/index.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/preprocessor/index'>; } declare module 'puppeteer/utils/doclint/preprocessor/test.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/preprocessor/test'>; } declare module 'puppeteer/utils/doclint/SourceFactory.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/SourceFactory'>; } declare module 'puppeteer/utils/doclint/toc.js' { declare module.exports: $Exports<'puppeteer/utils/doclint/toc'>; } declare module 'puppeteer/utils/ESTreeWalker.js' { declare module.exports: $Exports<'puppeteer/utils/ESTreeWalker'>; } declare module 'puppeteer/utils/fetch_devices.js' { declare module.exports: $Exports<'puppeteer/utils/fetch_devices'>; } ================================================ FILE: flow-typed/npm/query-string_vx.x.x.js ================================================ // flow-typed signature: 4e8e8bebea560639ddc15b6087ce2baf // flow-typed version: <>/query-string_v6.1.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'query-string' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'query-string' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'query-string/index' { declare module.exports: $Exports<'query-string'>; } declare module 'query-string/index.js' { declare module.exports: $Exports<'query-string'>; } ================================================ FILE: flow-typed/npm/raf_vx.x.x.js ================================================ // flow-typed signature: 887ce984c0a5fd424aeca109bae9ea61 // flow-typed version: <>/raf_v3.4.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'raf' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'raf' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'raf/polyfill' { declare module.exports: any; } declare module 'raf/test' { declare module.exports: any; } declare module 'raf/window' { declare module.exports: any; } // Filename aliases declare module 'raf/index' { declare module.exports: $Exports<'raf'>; } declare module 'raf/index.js' { declare module.exports: $Exports<'raf'>; } declare module 'raf/polyfill.js' { declare module.exports: $Exports<'raf/polyfill'>; } declare module 'raf/test.js' { declare module.exports: $Exports<'raf/test'>; } declare module 'raf/window.js' { declare module.exports: $Exports<'raf/window'>; } ================================================ FILE: flow-typed/npm/raven-js_v3.17.x.js ================================================ // flow-typed signature: e1f97cc57b871f5647a2a5a8567b0b5b // flow-typed version: 39e54508d9/raven-js_v3.17.x/flow_>=v0.38.x type LogLevel = "critical" | "error" | "warning" | "info" | "debug"; type AutoBreadcrumbOptions = { xhr?: boolean, console?: boolean, dom?: boolean, location?: boolean }; type RavenInstrumentationOptions = { tryCatch?: boolean }; type Breadcrumb = { message?: string, category?: string, level?: LogLevel, data?: any, type?: BreadcrumbType }; type BreadcrumbType = "navigation" | "http"; type RavenOptions = { /** The log level associated with this event. Default: error */ level?: LogLevel, /** The name of the logger used by Sentry. Default: javascript */ logger?: string, /** The environment of the application you are monitoring with Sentry */ environment?: string, /** The release version of the application you are monitoring with Sentry */ release?: string, /** The name of the server or device that the client is running on */ serverName?: string, /** List of messages to be filtered out before being sent to Sentry. */ ignoreErrors?: (RegExp | string)[], /** Similar to ignoreErrors, but will ignore errors from whole urls patching a regex pattern. */ ignoreUrls?: (RegExp | string)[], /** The inverse of ignoreUrls. Only report errors from whole urls matching a regex pattern. */ whitelistUrls?: (RegExp | string)[], /** An array of regex patterns to indicate which urls are a part of your app. */ includePaths?: (RegExp | string)[], /** Additional data to be tagged onto the error. */ tags?: { [id: string]: string }, /** set to true to get the stack trace of your message */ stacktrace?: boolean, extra?: any, /** In some cases you may see issues where Sentry groups multiple events together when they should be separate entities. In other cases, Sentry simply doesn’t group events together because they’re so sporadic that they never look the same. */ fingerprint?: string[], /** A function which allows mutation of the data payload right before being sent to Sentry */ dataCallback?: (data: any) => any, /** A callback function that allows you to apply your own filters to determine if the message should be sent to Sentry. */ shouldSendCallback?: (data: any) => boolean, /** By default, Raven does not truncate messages. If you need to truncate characters for whatever reason, you may set this to limit the length. */ maxMessageLength?: number, /** By default, Raven will truncate URLs as they appear in breadcrumbs and other meta interfaces to 250 characters in order to minimize bytes over the wire. This does *not* affect URLs in stack traces. */ maxUrlLength?: number, /** Override the default HTTP data transport handler. */ transport?: (options: RavenTransportOptions) => void, /** Allow use of private/secretKey. */ allowSecretKey?: boolean, /** Enables/disables instrumentation of globals. */ instrument?: boolean | RavenInstrumentationOptions, /** Enables/disables automatic collection of breadcrumbs. */ autoBreadcrumbs?: boolean | AutoBreadcrumbOptions }; type RavenTransportOptions = { url: string, data: any, auth: { sentry_version: string, sentry_client: string, sentry_key: string }, onSuccess: () => void, onFailure: () => void }; declare module "raven-js" { declare type RavenPlugin = { (raven: Raven, ...args: any[]): Raven }; declare class Raven { /** Raven.js version. */ VERSION: string, Plugins: { [id: string]: RavenPlugin }, /* * Allow Raven to be configured as soon as it is loaded * It uses a global RavenConfig = {dsn: '...', config: {}} */ afterLoad(): void, /* * Allow multiple versions of Raven to be installed. * Strip Raven from the global context and returns the instance. */ noConflict(): this, /** Configure Raven with a DSN and extra options */ config(dsn: string, options?: RavenOptions): this, /* * Installs a global window.onerror error handler * to capture and report uncaught exceptions. * At this point, install() is required to be called due * to the way TraceKit is set up. */ install(): this, /** Adds a plugin to Raven */ addPlugin(plugin: RavenPlugin, ...pluginArgs: any[]): this, /* * Wrap code within a context so Raven can capture errors * reliably across domains that is executed immediately. */ context(func: Function, ...args: any[]): void, context(options: RavenOptions, func: Function, ...args: any[]): void, /** Wrap code within a context and returns back a new function to be executed */ wrap(func: Function): Function, wrap(options: RavenOptions, func: Function): Function, wrap(func: T): T, wrap(options: RavenOptions, func: T): T, /** Uninstalls the global error handler. */ uninstall(): this, /** Manually capture an exception and send it over to Sentry */ captureException(ex: Error, options?: RavenOptions): this, /** Manually send a message to Sentry */ captureMessage(msg: string, options?: RavenOptions): this, /** Log a breadcrumb */ captureBreadcrumb(crumb: Breadcrumb): this, /** * Clear the user context, removing the user data that would be sent to Sentry. */ setUserContext(): this, /** Set a user to be sent along with the payload. */ setUserContext(user: { id?: string, username?: string, email?: string }): this, /** Merge extra attributes to be sent along with the payload. */ setExtraContext(context: Object): this, /** Merge tags to be sent along with the payload. */ setTagsContext(tags: Object): this, /** Clear all of the context. */ clearContext(): this, /** Get a copy of the current context. This cannot be mutated.*/ getContext(): Object, /** Override the default HTTP data transport handler. */ setTransport( transportFunction: (options: RavenTransportOptions) => void ): this, /** Set environment of application */ setEnvironment(environment: string): this, /** Set release version of application */ setRelease(release: string): this, /** Get the latest raw exception that was captured by Raven.*/ lastException(): Error, /** An event id is a globally unique id for the event that was just sent. This event id can be used to find the exact event from within Sentry. */ lastEventId(): string, /** If you need to conditionally check if raven needs to be initialized or not, you can use the isSetup function. It will return true if Raven is already initialized. */ isSetup(): boolean, /** Specify a function that allows mutation of the data payload right before being sent to Sentry. */ setDataCallback(data: any, orig?: any): this, /** Specify a callback function that allows you to mutate or filter breadcrumbs when they are captured. */ setBreadcrumbCallback(data: any, orig?: any): this, /** Specify a callback function that allows you to apply your own filters to determine if the message should be sent to Sentry. */ setShouldSendCallback(data: any, orig?: any): this, /** Show Sentry user feedback dialog */ showReportDialog(options: Object): void, /** Configure Raven DSN */ setDSN(dsn: string): void } declare export default Raven } ================================================ FILE: flow-typed/npm/raven-js_vx.x.x.js ================================================ // flow-typed signature: c658f4196509d17ff3117a640671a881 // flow-typed version: <>/raven-js_v^3.14.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'raven-js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'raven-js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'raven-js/dist/plugins/angular' { declare module.exports: any; } declare module 'raven-js/dist/plugins/angular.min' { declare module.exports: any; } declare module 'raven-js/dist/plugins/console' { declare module.exports: any; } declare module 'raven-js/dist/plugins/console.min' { declare module.exports: any; } declare module 'raven-js/dist/plugins/ember' { declare module.exports: any; } declare module 'raven-js/dist/plugins/ember.min' { declare module.exports: any; } declare module 'raven-js/dist/plugins/require' { declare module.exports: any; } declare module 'raven-js/dist/plugins/require.min' { declare module.exports: any; } declare module 'raven-js/dist/plugins/vue' { declare module.exports: any; } declare module 'raven-js/dist/plugins/vue.min' { declare module.exports: any; } declare module 'raven-js/dist/raven' { declare module.exports: any; } declare module 'raven-js/dist/raven.min' { declare module.exports: any; } declare module 'raven-js/example/file.min' { declare module.exports: any; } declare module 'raven-js/example/file.sourcemap' { declare module.exports: any; } declare module 'raven-js/example/file1' { declare module.exports: any; } declare module 'raven-js/example/file2' { declare module.exports: any; } declare module 'raven-js/example/scratch' { declare module.exports: any; } declare module 'raven-js/example/stack' { declare module.exports: any; } declare module 'raven-js/Gruntfile' { declare module.exports: any; } declare module 'raven-js/plugins/angular' { declare module.exports: any; } declare module 'raven-js/plugins/console' { declare module.exports: any; } declare module 'raven-js/plugins/ember' { declare module.exports: any; } declare module 'raven-js/plugins/react-native' { declare module.exports: any; } declare module 'raven-js/plugins/require' { declare module.exports: any; } declare module 'raven-js/plugins/vue' { declare module.exports: any; } declare module 'raven-js/src/configError' { declare module.exports: any; } declare module 'raven-js/src/console' { declare module.exports: any; } declare module 'raven-js/src/raven' { declare module.exports: any; } declare module 'raven-js/src/singleton' { declare module.exports: any; } declare module 'raven-js/src/utils' { declare module.exports: any; } declare module 'raven-js/template/_copyright' { declare module.exports: any; } declare module 'raven-js/test/integration/test' { declare module.exports: any; } declare module 'raven-js/test/integration/throw-error' { declare module.exports: any; } declare module 'raven-js/test/integration/throw-object' { declare module.exports: any; } declare module 'raven-js/test/integration/throw-string' { declare module.exports: any; } declare module 'raven-js/test/plugins/angular.test' { declare module.exports: any; } declare module 'raven-js/test/plugins/console.test' { declare module.exports: any; } declare module 'raven-js/test/plugins/react-native.test' { declare module.exports: any; } declare module 'raven-js/test/plugins/vue.test' { declare module.exports: any; } declare module 'raven-js/test/raven.test' { declare module.exports: any; } declare module 'raven-js/test/utils.test' { declare module.exports: any; } declare module 'raven-js/test/vendor/fixtures/captured-errors' { declare module.exports: any; } declare module 'raven-js/test/vendor/json-stringify-safe.test' { declare module.exports: any; } declare module 'raven-js/test/vendor/tracekit-parser.test' { declare module.exports: any; } declare module 'raven-js/test/vendor/tracekit.test' { declare module.exports: any; } declare module 'raven-js/vendor/json-stringify-safe/stringify' { declare module.exports: any; } declare module 'raven-js/vendor/TraceKit/tracekit' { declare module.exports: any; } // Filename aliases declare module 'raven-js/dist/plugins/angular.js' { declare module.exports: $Exports<'raven-js/dist/plugins/angular'>; } declare module 'raven-js/dist/plugins/angular.min.js' { declare module.exports: $Exports<'raven-js/dist/plugins/angular.min'>; } declare module 'raven-js/dist/plugins/console.js' { declare module.exports: $Exports<'raven-js/dist/plugins/console'>; } declare module 'raven-js/dist/plugins/console.min.js' { declare module.exports: $Exports<'raven-js/dist/plugins/console.min'>; } declare module 'raven-js/dist/plugins/ember.js' { declare module.exports: $Exports<'raven-js/dist/plugins/ember'>; } declare module 'raven-js/dist/plugins/ember.min.js' { declare module.exports: $Exports<'raven-js/dist/plugins/ember.min'>; } declare module 'raven-js/dist/plugins/require.js' { declare module.exports: $Exports<'raven-js/dist/plugins/require'>; } declare module 'raven-js/dist/plugins/require.min.js' { declare module.exports: $Exports<'raven-js/dist/plugins/require.min'>; } declare module 'raven-js/dist/plugins/vue.js' { declare module.exports: $Exports<'raven-js/dist/plugins/vue'>; } declare module 'raven-js/dist/plugins/vue.min.js' { declare module.exports: $Exports<'raven-js/dist/plugins/vue.min'>; } declare module 'raven-js/dist/raven.js' { declare module.exports: $Exports<'raven-js/dist/raven'>; } declare module 'raven-js/dist/raven.min.js' { declare module.exports: $Exports<'raven-js/dist/raven.min'>; } declare module 'raven-js/example/file.min.js' { declare module.exports: $Exports<'raven-js/example/file.min'>; } declare module 'raven-js/example/file.sourcemap.js' { declare module.exports: $Exports<'raven-js/example/file.sourcemap'>; } declare module 'raven-js/example/file1.js' { declare module.exports: $Exports<'raven-js/example/file1'>; } declare module 'raven-js/example/file2.js' { declare module.exports: $Exports<'raven-js/example/file2'>; } declare module 'raven-js/example/scratch.js' { declare module.exports: $Exports<'raven-js/example/scratch'>; } declare module 'raven-js/example/stack.js' { declare module.exports: $Exports<'raven-js/example/stack'>; } declare module 'raven-js/Gruntfile.js' { declare module.exports: $Exports<'raven-js/Gruntfile'>; } declare module 'raven-js/plugins/angular.js' { declare module.exports: $Exports<'raven-js/plugins/angular'>; } declare module 'raven-js/plugins/console.js' { declare module.exports: $Exports<'raven-js/plugins/console'>; } declare module 'raven-js/plugins/ember.js' { declare module.exports: $Exports<'raven-js/plugins/ember'>; } declare module 'raven-js/plugins/react-native.js' { declare module.exports: $Exports<'raven-js/plugins/react-native'>; } declare module 'raven-js/plugins/require.js' { declare module.exports: $Exports<'raven-js/plugins/require'>; } declare module 'raven-js/plugins/vue.js' { declare module.exports: $Exports<'raven-js/plugins/vue'>; } declare module 'raven-js/src/configError.js' { declare module.exports: $Exports<'raven-js/src/configError'>; } declare module 'raven-js/src/console.js' { declare module.exports: $Exports<'raven-js/src/console'>; } declare module 'raven-js/src/raven.js' { declare module.exports: $Exports<'raven-js/src/raven'>; } declare module 'raven-js/src/singleton.js' { declare module.exports: $Exports<'raven-js/src/singleton'>; } declare module 'raven-js/src/utils.js' { declare module.exports: $Exports<'raven-js/src/utils'>; } declare module 'raven-js/template/_copyright.js' { declare module.exports: $Exports<'raven-js/template/_copyright'>; } declare module 'raven-js/test/integration/test.js' { declare module.exports: $Exports<'raven-js/test/integration/test'>; } declare module 'raven-js/test/integration/throw-error.js' { declare module.exports: $Exports<'raven-js/test/integration/throw-error'>; } declare module 'raven-js/test/integration/throw-object.js' { declare module.exports: $Exports<'raven-js/test/integration/throw-object'>; } declare module 'raven-js/test/integration/throw-string.js' { declare module.exports: $Exports<'raven-js/test/integration/throw-string'>; } declare module 'raven-js/test/plugins/angular.test.js' { declare module.exports: $Exports<'raven-js/test/plugins/angular.test'>; } declare module 'raven-js/test/plugins/console.test.js' { declare module.exports: $Exports<'raven-js/test/plugins/console.test'>; } declare module 'raven-js/test/plugins/react-native.test.js' { declare module.exports: $Exports<'raven-js/test/plugins/react-native.test'>; } declare module 'raven-js/test/plugins/vue.test.js' { declare module.exports: $Exports<'raven-js/test/plugins/vue.test'>; } declare module 'raven-js/test/raven.test.js' { declare module.exports: $Exports<'raven-js/test/raven.test'>; } declare module 'raven-js/test/utils.test.js' { declare module.exports: $Exports<'raven-js/test/utils.test'>; } declare module 'raven-js/test/vendor/fixtures/captured-errors.js' { declare module.exports: $Exports<'raven-js/test/vendor/fixtures/captured-errors'>; } declare module 'raven-js/test/vendor/json-stringify-safe.test.js' { declare module.exports: $Exports<'raven-js/test/vendor/json-stringify-safe.test'>; } declare module 'raven-js/test/vendor/tracekit-parser.test.js' { declare module.exports: $Exports<'raven-js/test/vendor/tracekit-parser.test'>; } declare module 'raven-js/test/vendor/tracekit.test.js' { declare module.exports: $Exports<'raven-js/test/vendor/tracekit.test'>; } declare module 'raven-js/vendor/json-stringify-safe/stringify.js' { declare module.exports: $Exports<'raven-js/vendor/json-stringify-safe/stringify'>; } declare module 'raven-js/vendor/TraceKit/tracekit.js' { declare module.exports: $Exports<'raven-js/vendor/TraceKit/tracekit'>; } ================================================ FILE: flow-typed/npm/raven_vx.x.x.js ================================================ // flow-typed signature: b0bfc7ad422a668138c6bcf1dbb6bb65 // flow-typed version: <>/raven_v^2.0.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'raven' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'raven' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'raven/lib/client' { declare module.exports: any; } declare module 'raven/lib/instrumentation/console' { declare module.exports: any; } declare module 'raven/lib/instrumentation/http' { declare module.exports: any; } declare module 'raven/lib/instrumentation/instrumentor' { declare module.exports: any; } declare module 'raven/lib/instrumentation/pg' { declare module.exports: any; } declare module 'raven/lib/parsers' { declare module.exports: any; } declare module 'raven/lib/transports' { declare module.exports: any; } declare module 'raven/lib/utils' { declare module.exports: any; } declare module 'raven/vendor/json-stringify-safe' { declare module.exports: any; } // Filename aliases declare module 'raven/index' { declare module.exports: $Exports<'raven'>; } declare module 'raven/index.js' { declare module.exports: $Exports<'raven'>; } declare module 'raven/lib/client.js' { declare module.exports: $Exports<'raven/lib/client'>; } declare module 'raven/lib/instrumentation/console.js' { declare module.exports: $Exports<'raven/lib/instrumentation/console'>; } declare module 'raven/lib/instrumentation/http.js' { declare module.exports: $Exports<'raven/lib/instrumentation/http'>; } declare module 'raven/lib/instrumentation/instrumentor.js' { declare module.exports: $Exports<'raven/lib/instrumentation/instrumentor'>; } declare module 'raven/lib/instrumentation/pg.js' { declare module.exports: $Exports<'raven/lib/instrumentation/pg'>; } declare module 'raven/lib/parsers.js' { declare module.exports: $Exports<'raven/lib/parsers'>; } declare module 'raven/lib/transports.js' { declare module.exports: $Exports<'raven/lib/transports'>; } declare module 'raven/lib/utils.js' { declare module.exports: $Exports<'raven/lib/utils'>; } declare module 'raven/vendor/json-stringify-safe.js' { declare module.exports: $Exports<'raven/vendor/json-stringify-safe'>; } ================================================ FILE: flow-typed/npm/raw-loader_vx.x.x.js ================================================ // flow-typed signature: 9be49ab1ac8bcbb144315ee3375b66ec // flow-typed version: <>/raw-loader_v^0.5.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'raw-loader' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'raw-loader' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'raw-loader/index' { declare module.exports: $Exports<'raw-loader'>; } declare module 'raw-loader/index.js' { declare module.exports: $Exports<'raw-loader'>; } ================================================ FILE: flow-typed/npm/react-apollo_vx.x.x.js ================================================ // flow-typed signature: ec9430de7a06c401c6f2ed6c6e633c47 // flow-typed version: <>/react-apollo_v1.2.0/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'react-apollo' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-apollo' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-apollo/ApolloProvider' { declare module.exports: any; } declare module 'react-apollo/browser' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/graphql-anywhere_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/hoist-non-react-statics_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/invariant_v2.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/lodash.flatten_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/lodash.isequal_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/lodash.isobject_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/lodash.pick_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/object-assign_v4.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/prop-types_v15.x.x' { declare module.exports: any; } declare module 'react-apollo/flow-typed/npm/redux_vx.x.x' { declare module.exports: any; } declare module 'react-apollo/graphql' { declare module.exports: any; } declare module 'react-apollo/parser' { declare module.exports: any; } declare module 'react-apollo/queryRecycler' { declare module.exports: any; } declare module 'react-apollo/QueryRecyclerProvider' { declare module.exports: any; } declare module 'react-apollo/react-apollo.browser.umd' { declare module.exports: any; } declare module 'react-apollo/react-apollo.umd' { declare module.exports: any; } declare module 'react-apollo/server' { declare module.exports: any; } declare module 'react-apollo/shallowEqual' { declare module.exports: any; } declare module 'react-apollo/test-utils' { declare module.exports: any; } declare module 'react-apollo/types' { declare module.exports: any; } declare module 'react-apollo/withApollo' { declare module.exports: any; } // Filename aliases declare module 'react-apollo/ApolloProvider.js' { declare module.exports: $Exports<'react-apollo/ApolloProvider'>; } declare module 'react-apollo/browser.js' { declare module.exports: $Exports<'react-apollo/browser'>; } declare module 'react-apollo/flow-typed/npm/graphql-anywhere_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/graphql-anywhere_vx.x.x'>; } declare module 'react-apollo/flow-typed/npm/hoist-non-react-statics_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/hoist-non-react-statics_vx.x.x'>; } declare module 'react-apollo/flow-typed/npm/invariant_v2.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/invariant_v2.x.x'>; } declare module 'react-apollo/flow-typed/npm/lodash.flatten_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/lodash.flatten_vx.x.x'>; } declare module 'react-apollo/flow-typed/npm/lodash.isequal_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/lodash.isequal_vx.x.x'>; } declare module 'react-apollo/flow-typed/npm/lodash.isobject_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/lodash.isobject_vx.x.x'>; } declare module 'react-apollo/flow-typed/npm/lodash.pick_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/lodash.pick_vx.x.x'>; } declare module 'react-apollo/flow-typed/npm/object-assign_v4.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/object-assign_v4.x.x'>; } declare module 'react-apollo/flow-typed/npm/prop-types_v15.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/prop-types_v15.x.x'>; } declare module 'react-apollo/flow-typed/npm/redux_vx.x.x.js' { declare module.exports: $Exports<'react-apollo/flow-typed/npm/redux_vx.x.x'>; } declare module 'react-apollo/graphql.js' { declare module.exports: $Exports<'react-apollo/graphql'>; } declare module 'react-apollo/index' { declare module.exports: $Exports<'react-apollo'>; } declare module 'react-apollo/index.js' { declare module.exports: $Exports<'react-apollo'>; } declare module 'react-apollo/parser.js' { declare module.exports: $Exports<'react-apollo/parser'>; } declare module 'react-apollo/queryRecycler.js' { declare module.exports: $Exports<'react-apollo/queryRecycler'>; } declare module 'react-apollo/QueryRecyclerProvider.js' { declare module.exports: $Exports<'react-apollo/QueryRecyclerProvider'>; } declare module 'react-apollo/react-apollo.browser.umd.js' { declare module.exports: $Exports<'react-apollo/react-apollo.browser.umd'>; } declare module 'react-apollo/react-apollo.umd.js' { declare module.exports: $Exports<'react-apollo/react-apollo.umd'>; } declare module 'react-apollo/server.js' { declare module.exports: $Exports<'react-apollo/server'>; } declare module 'react-apollo/shallowEqual.js' { declare module.exports: $Exports<'react-apollo/shallowEqual'>; } declare module 'react-apollo/test-utils.js' { declare module.exports: $Exports<'react-apollo/test-utils'>; } declare module 'react-apollo/types.js' { declare module.exports: $Exports<'react-apollo/types'>; } declare module 'react-apollo/withApollo.js' { declare module.exports: $Exports<'react-apollo/withApollo'>; } ================================================ FILE: flow-typed/npm/react-app-rewire-styled-components_vx.x.x.js ================================================ // flow-typed signature: d95d361b0d8ef020f7c639303e217a7a // flow-typed version: <>/react-app-rewire-styled-components_v^3.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-app-rewire-styled-components' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-app-rewire-styled-components' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-app-rewire-styled-components/dist/index' { declare module.exports: any; } declare module 'react-app-rewire-styled-components/src/index' { declare module.exports: any; } // Filename aliases declare module 'react-app-rewire-styled-components/dist/index.js' { declare module.exports: $Exports<'react-app-rewire-styled-components/dist/index'>; } declare module 'react-app-rewire-styled-components/src/index.js' { declare module.exports: $Exports<'react-app-rewire-styled-components/src/index'>; } ================================================ FILE: flow-typed/npm/react-app-rewired_vx.x.x.js ================================================ // flow-typed signature: 4519396f778e344a974b7ba97e7e797e // flow-typed version: <>/react-app-rewired_v^1.0.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-app-rewired' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-app-rewired' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-app-rewired/bin/index' { declare module.exports: any; } declare module 'react-app-rewired/config-overrides' { declare module.exports: any; } declare module 'react-app-rewired/scripts/build' { declare module.exports: any; } declare module 'react-app-rewired/scripts/start' { declare module.exports: any; } declare module 'react-app-rewired/scripts/test' { declare module.exports: any; } declare module 'react-app-rewired/scripts/utils/babelTransform' { declare module.exports: any; } declare module 'react-app-rewired/scripts/utils/paths' { declare module.exports: any; } declare module 'react-app-rewired/scripts/utils/rewireJestConfig' { declare module.exports: any; } // Filename aliases declare module 'react-app-rewired/bin/index.js' { declare module.exports: $Exports<'react-app-rewired/bin/index'>; } declare module 'react-app-rewired/config-overrides.js' { declare module.exports: $Exports<'react-app-rewired/config-overrides'>; } declare module 'react-app-rewired/index' { declare module.exports: $Exports<'react-app-rewired'>; } declare module 'react-app-rewired/index.js' { declare module.exports: $Exports<'react-app-rewired'>; } declare module 'react-app-rewired/scripts/build.js' { declare module.exports: $Exports<'react-app-rewired/scripts/build'>; } declare module 'react-app-rewired/scripts/start.js' { declare module.exports: $Exports<'react-app-rewired/scripts/start'>; } declare module 'react-app-rewired/scripts/test.js' { declare module.exports: $Exports<'react-app-rewired/scripts/test'>; } declare module 'react-app-rewired/scripts/utils/babelTransform.js' { declare module.exports: $Exports<'react-app-rewired/scripts/utils/babelTransform'>; } declare module 'react-app-rewired/scripts/utils/paths.js' { declare module.exports: $Exports<'react-app-rewired/scripts/utils/paths'>; } declare module 'react-app-rewired/scripts/utils/rewireJestConfig.js' { declare module.exports: $Exports<'react-app-rewired/scripts/utils/rewireJestConfig'>; } ================================================ FILE: flow-typed/npm/react-async-hook_vx.x.x.js ================================================ // flow-typed signature: 035b7348b5830524b803d87212f30009 // flow-typed version: <>/react-async-hook_v1.0.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-async-hook' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-async-hook' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-async-hook/dist/index.es' { declare module.exports: any; } declare module 'react-async-hook/dist/index' { declare module.exports: any; } // Filename aliases declare module 'react-async-hook/dist/index.es.js' { declare module.exports: $Exports<'react-async-hook/dist/index.es'>; } declare module 'react-async-hook/dist/index.js' { declare module.exports: $Exports<'react-async-hook/dist/index'>; } ================================================ FILE: flow-typed/npm/react-clipboard.js_vx.x.x.js ================================================ // flow-typed signature: f7648c13dff3115b4021ff81f1260a83 // flow-typed version: <>/react-clipboard.js_v^1.1.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-clipboard.js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-clipboard.js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-clipboard.js/dist/react-clipboard' { declare module.exports: any; } declare module 'react-clipboard.js/dist/react-clipboard.min' { declare module.exports: any; } declare module 'react-clipboard.js/webpack.config' { declare module.exports: any; } // Filename aliases declare module 'react-clipboard.js/dist/react-clipboard.js' { declare module.exports: $Exports<'react-clipboard.js/dist/react-clipboard'>; } declare module 'react-clipboard.js/dist/react-clipboard.min.js' { declare module.exports: $Exports<'react-clipboard.js/dist/react-clipboard.min'>; } declare module 'react-clipboard.js/index' { declare module.exports: $Exports<'react-clipboard.js'>; } declare module 'react-clipboard.js/index.js' { declare module.exports: $Exports<'react-clipboard.js'>; } declare module 'react-clipboard.js/webpack.config.js' { declare module.exports: $Exports<'react-clipboard.js/webpack.config'>; } ================================================ FILE: flow-typed/npm/react-dropzone_vx.x.x.js ================================================ // flow-typed signature: a5a6c5ef2495cde307215470bb3dd2b5 // flow-typed version: <>/react-dropzone_v8.0.3/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-dropzone' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-dropzone' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-dropzone/commitlint.config' { declare module.exports: any; } declare module 'react-dropzone/dist/es/index' { declare module.exports: any; } declare module 'react-dropzone/dist/es/utils/index' { declare module.exports: any; } declare module 'react-dropzone/dist/es/utils/styles' { declare module.exports: any; } declare module 'react-dropzone/dist/index' { declare module.exports: any; } declare module 'react-dropzone/rollup.config' { declare module.exports: any; } declare module 'react-dropzone/src/index' { declare module.exports: any; } declare module 'react-dropzone/src/index.spec' { declare module.exports: any; } declare module 'react-dropzone/src/utils/index' { declare module.exports: any; } declare module 'react-dropzone/src/utils/index.spec' { declare module.exports: any; } declare module 'react-dropzone/src/utils/styles' { declare module.exports: any; } declare module 'react-dropzone/styleguide.config' { declare module.exports: any; } declare module 'react-dropzone/testSetup' { declare module.exports: any; } // Filename aliases declare module 'react-dropzone/commitlint.config.js' { declare module.exports: $Exports<'react-dropzone/commitlint.config'>; } declare module 'react-dropzone/dist/es/index.js' { declare module.exports: $Exports<'react-dropzone/dist/es/index'>; } declare module 'react-dropzone/dist/es/utils/index.js' { declare module.exports: $Exports<'react-dropzone/dist/es/utils/index'>; } declare module 'react-dropzone/dist/es/utils/styles.js' { declare module.exports: $Exports<'react-dropzone/dist/es/utils/styles'>; } declare module 'react-dropzone/dist/index.js' { declare module.exports: $Exports<'react-dropzone/dist/index'>; } declare module 'react-dropzone/rollup.config.js' { declare module.exports: $Exports<'react-dropzone/rollup.config'>; } declare module 'react-dropzone/src/index.js' { declare module.exports: $Exports<'react-dropzone/src/index'>; } declare module 'react-dropzone/src/index.spec.js' { declare module.exports: $Exports<'react-dropzone/src/index.spec'>; } declare module 'react-dropzone/src/utils/index.js' { declare module.exports: $Exports<'react-dropzone/src/utils/index'>; } declare module 'react-dropzone/src/utils/index.spec.js' { declare module.exports: $Exports<'react-dropzone/src/utils/index.spec'>; } declare module 'react-dropzone/src/utils/styles.js' { declare module.exports: $Exports<'react-dropzone/src/utils/styles'>; } declare module 'react-dropzone/styleguide.config.js' { declare module.exports: $Exports<'react-dropzone/styleguide.config'>; } declare module 'react-dropzone/testSetup.js' { declare module.exports: $Exports<'react-dropzone/testSetup'>; } ================================================ FILE: flow-typed/npm/react-error-boundary_vx.x.x.js ================================================ // flow-typed signature: 4f5b1d9927fde2b4384f0560cb8f8065 // flow-typed version: <>/react-error-boundary_v1.2.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-error-boundary' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-error-boundary' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-error-boundary/dist/commonjs/ErrorBoundary' { declare module.exports: any; } declare module 'react-error-boundary/dist/commonjs/ErrorBoundaryFallbackComponent' { declare module.exports: any; } declare module 'react-error-boundary/dist/commonjs/index' { declare module.exports: any; } declare module 'react-error-boundary/dist/es/ErrorBoundary' { declare module.exports: any; } declare module 'react-error-boundary/dist/es/ErrorBoundaryFallbackComponent' { declare module.exports: any; } declare module 'react-error-boundary/dist/es/index' { declare module.exports: any; } declare module 'react-error-boundary/dist/umd/react-error-boundary' { declare module.exports: any; } // Filename aliases declare module 'react-error-boundary/dist/commonjs/ErrorBoundary.js' { declare module.exports: $Exports<'react-error-boundary/dist/commonjs/ErrorBoundary'>; } declare module 'react-error-boundary/dist/commonjs/ErrorBoundaryFallbackComponent.js' { declare module.exports: $Exports<'react-error-boundary/dist/commonjs/ErrorBoundaryFallbackComponent'>; } declare module 'react-error-boundary/dist/commonjs/index.js' { declare module.exports: $Exports<'react-error-boundary/dist/commonjs/index'>; } declare module 'react-error-boundary/dist/es/ErrorBoundary.js' { declare module.exports: $Exports<'react-error-boundary/dist/es/ErrorBoundary'>; } declare module 'react-error-boundary/dist/es/ErrorBoundaryFallbackComponent.js' { declare module.exports: $Exports<'react-error-boundary/dist/es/ErrorBoundaryFallbackComponent'>; } declare module 'react-error-boundary/dist/es/index.js' { declare module.exports: $Exports<'react-error-boundary/dist/es/index'>; } declare module 'react-error-boundary/dist/umd/react-error-boundary.js' { declare module.exports: $Exports<'react-error-boundary/dist/umd/react-error-boundary'>; } ================================================ FILE: flow-typed/npm/react-flip-move_v2.9.x.js ================================================ // flow-typed signature: 423496219cf1ec834de810346b166e03 // flow-typed version: bb2961bcf6/react-flip-move_v2.9.x/flow_>=v0.53.0 declare module "react-flip-move" { declare export type Styles = { [key: string]: string }; declare type ReactStyles = { [key: string]: string | number }; declare export type Animation = { from: Styles, to: Styles }; declare export type Presets = { elevator: Animation, fade: Animation, accordionVertical: Animation, accordionHorizontal: Animation, none: null }; declare export type AnimationProp = $Keys | boolean | Animation; declare export type ClientRect = { top: number, right: number, bottom: number, left: number, height: number, width: number }; // can't use $Shape> here, because we use it in intersection declare export type ElementShape = { +type: $PropertyType, "type">, +props: $PropertyType, "props">, +key: $PropertyType, "key">, +ref: $PropertyType, "ref"> }; declare type ChildHook = (element: ElementShape, node: ?HTMLElement) => mixed; declare export type ChildrenHook = ( elements: Array, nodes: Array ) => mixed; declare export type GetPosition = (node: HTMLElement) => ClientRect; declare export type VerticalAlignment = "top" | "bottom"; declare export type Child = void | null | boolean | React$Element<*>; // can't import from React, see https://github.com/facebook/flow/issues/4787 declare type ChildrenArray = $ReadOnlyArray> | T; declare type BaseProps = { easing: string, typeName: string, disableAllAnimations: boolean, getPosition: GetPosition, maintainContainerHeight: boolean, verticalAlignment: VerticalAlignment }; declare type PolymorphicProps = { duration: string | number, delay: string | number, staggerDurationBy: string | number, staggerDelayBy: string | number, enterAnimation: AnimationProp, leaveAnimation: AnimationProp }; declare type Hooks = { onStart?: ChildHook, onFinish?: ChildHook, onStartAll?: ChildrenHook, onFinishAll?: ChildrenHook }; declare export type DelegatedProps = { style?: ReactStyles }; declare export type FlipMoveDefaultProps = BaseProps & PolymorphicProps; declare export type CommonProps = BaseProps & Hooks & { children?: ChildrenArray }; declare export type FlipMoveProps = FlipMoveDefaultProps & CommonProps & DelegatedProps & { appearAnimation?: AnimationProp, disableAnimations?: boolean // deprecated, use disableAllAnimations instead }; declare class FlipMove extends React$Component { static defaultProps: FlipMoveDefaultProps } declare export default typeof FlipMove } ================================================ FILE: flow-typed/npm/react-helmet-async_vx.x.x.js ================================================ // flow-typed signature: f04849aadd363869c492a68fc3aafa1a // flow-typed version: <>/react-helmet-async_v^0.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-helmet-async' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-helmet-async' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-helmet-async/es/client' { declare module.exports: any; } declare module 'react-helmet-async/es/constants' { declare module.exports: any; } declare module 'react-helmet-async/es/Dispatcher' { declare module.exports: any; } declare module 'react-helmet-async/es/index' { declare module.exports: any; } declare module 'react-helmet-async/es/InstanceStore' { declare module.exports: any; } declare module 'react-helmet-async/es/Provider' { declare module.exports: any; } declare module 'react-helmet-async/es/server' { declare module.exports: any; } declare module 'react-helmet-async/es/utils' { declare module.exports: any; } declare module 'react-helmet-async/lib/client' { declare module.exports: any; } declare module 'react-helmet-async/lib/constants' { declare module.exports: any; } declare module 'react-helmet-async/lib/Dispatcher' { declare module.exports: any; } declare module 'react-helmet-async/lib/index' { declare module.exports: any; } declare module 'react-helmet-async/lib/InstanceStore' { declare module.exports: any; } declare module 'react-helmet-async/lib/Provider' { declare module.exports: any; } declare module 'react-helmet-async/lib/server' { declare module.exports: any; } declare module 'react-helmet-async/lib/utils' { declare module.exports: any; } // Filename aliases declare module 'react-helmet-async/es/client.js' { declare module.exports: $Exports<'react-helmet-async/es/client'>; } declare module 'react-helmet-async/es/constants.js' { declare module.exports: $Exports<'react-helmet-async/es/constants'>; } declare module 'react-helmet-async/es/Dispatcher.js' { declare module.exports: $Exports<'react-helmet-async/es/Dispatcher'>; } declare module 'react-helmet-async/es/index.js' { declare module.exports: $Exports<'react-helmet-async/es/index'>; } declare module 'react-helmet-async/es/InstanceStore.js' { declare module.exports: $Exports<'react-helmet-async/es/InstanceStore'>; } declare module 'react-helmet-async/es/Provider.js' { declare module.exports: $Exports<'react-helmet-async/es/Provider'>; } declare module 'react-helmet-async/es/server.js' { declare module.exports: $Exports<'react-helmet-async/es/server'>; } declare module 'react-helmet-async/es/utils.js' { declare module.exports: $Exports<'react-helmet-async/es/utils'>; } declare module 'react-helmet-async/lib/client.js' { declare module.exports: $Exports<'react-helmet-async/lib/client'>; } declare module 'react-helmet-async/lib/constants.js' { declare module.exports: $Exports<'react-helmet-async/lib/constants'>; } declare module 'react-helmet-async/lib/Dispatcher.js' { declare module.exports: $Exports<'react-helmet-async/lib/Dispatcher'>; } declare module 'react-helmet-async/lib/index.js' { declare module.exports: $Exports<'react-helmet-async/lib/index'>; } declare module 'react-helmet-async/lib/InstanceStore.js' { declare module.exports: $Exports<'react-helmet-async/lib/InstanceStore'>; } declare module 'react-helmet-async/lib/Provider.js' { declare module.exports: $Exports<'react-helmet-async/lib/Provider'>; } declare module 'react-helmet-async/lib/server.js' { declare module.exports: $Exports<'react-helmet-async/lib/server'>; } declare module 'react-helmet-async/lib/utils.js' { declare module.exports: $Exports<'react-helmet-async/lib/utils'>; } ================================================ FILE: flow-typed/npm/react-helmet_vx.x.x.js ================================================ // flow-typed signature: 184374a0896a8b43d22e543169d80eaa // flow-typed version: <>/react-helmet_v5.x/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-helmet' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-helmet' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-helmet/es/Helmet' { declare module.exports: any; } declare module 'react-helmet/es/HelmetConstants' { declare module.exports: any; } declare module 'react-helmet/es/HelmetUtils' { declare module.exports: any; } declare module 'react-helmet/lib/Helmet' { declare module.exports: any; } declare module 'react-helmet/lib/HelmetConstants' { declare module.exports: any; } declare module 'react-helmet/lib/HelmetUtils' { declare module.exports: any; } declare module 'react-helmet/test/HelmetDeclarativeTest' { declare module.exports: any; } declare module 'react-helmet/test/HelmetTest' { declare module.exports: any; } declare module 'react-helmet/test/test' { declare module.exports: any; } // Filename aliases declare module 'react-helmet/es/Helmet.js' { declare module.exports: $Exports<'react-helmet/es/Helmet'>; } declare module 'react-helmet/es/HelmetConstants.js' { declare module.exports: $Exports<'react-helmet/es/HelmetConstants'>; } declare module 'react-helmet/es/HelmetUtils.js' { declare module.exports: $Exports<'react-helmet/es/HelmetUtils'>; } declare module 'react-helmet/lib/Helmet.js' { declare module.exports: $Exports<'react-helmet/lib/Helmet'>; } declare module 'react-helmet/lib/HelmetConstants.js' { declare module.exports: $Exports<'react-helmet/lib/HelmetConstants'>; } declare module 'react-helmet/lib/HelmetUtils.js' { declare module.exports: $Exports<'react-helmet/lib/HelmetUtils'>; } declare module 'react-helmet/test/HelmetDeclarativeTest.js' { declare module.exports: $Exports<'react-helmet/test/HelmetDeclarativeTest'>; } declare module 'react-helmet/test/HelmetTest.js' { declare module.exports: $Exports<'react-helmet/test/HelmetTest'>; } declare module 'react-helmet/test/test.js' { declare module.exports: $Exports<'react-helmet/test/test'>; } ================================================ FILE: flow-typed/npm/react-hot-loader_vx.x.x.js ================================================ // flow-typed signature: e4fabee0a29fd025cb9354e1b63344aa // flow-typed version: <>/react-hot-loader_v4.3.11/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-hot-loader' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-hot-loader' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-hot-loader/babel' { declare module.exports: any; } declare module 'react-hot-loader/dist/babel.development' { declare module.exports: any; } declare module 'react-hot-loader/dist/babel.production.min' { declare module.exports: any; } declare module 'react-hot-loader/dist/react-hot-loader.development' { declare module.exports: any; } declare module 'react-hot-loader/dist/react-hot-loader.production.min' { declare module.exports: any; } declare module 'react-hot-loader/patch' { declare module.exports: any; } // Filename aliases declare module 'react-hot-loader/babel.js' { declare module.exports: $Exports<'react-hot-loader/babel'>; } declare module 'react-hot-loader/dist/babel.development.js' { declare module.exports: $Exports<'react-hot-loader/dist/babel.development'>; } declare module 'react-hot-loader/dist/babel.production.min.js' { declare module.exports: $Exports<'react-hot-loader/dist/babel.production.min'>; } declare module 'react-hot-loader/dist/react-hot-loader.development.js' { declare module.exports: $Exports<'react-hot-loader/dist/react-hot-loader.development'>; } declare module 'react-hot-loader/dist/react-hot-loader.production.min.js' { declare module.exports: $Exports<'react-hot-loader/dist/react-hot-loader.production.min'>; } declare module 'react-hot-loader/index' { declare module.exports: $Exports<'react-hot-loader'>; } declare module 'react-hot-loader/index.js' { declare module.exports: $Exports<'react-hot-loader'>; } declare module 'react-hot-loader/patch.js' { declare module.exports: $Exports<'react-hot-loader/patch'>; } ================================================ FILE: flow-typed/npm/react-image_vx.x.x.js ================================================ // flow-typed signature: 70f7fe7601a56f8bfeb1f08c45ca056a // flow-typed version: <>/react-image_v1.5.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-image' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-image' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-image/cjs/index' { declare module.exports: any; } declare module 'react-image/cjs/index.ssr-test' { declare module.exports: any; } declare module 'react-image/cjs/index.test' { declare module.exports: any; } declare module 'react-image/es/index' { declare module.exports: any; } declare module 'react-image/es/index.ssr-test' { declare module.exports: any; } declare module 'react-image/es/index.test' { declare module.exports: any; } declare module 'react-image/umd/index' { declare module.exports: any; } declare module 'react-image/umd/index.min' { declare module.exports: any; } declare module 'react-image/umd/index.test' { declare module.exports: any; } // Filename aliases declare module 'react-image/cjs/index.js' { declare module.exports: $Exports<'react-image/cjs/index'>; } declare module 'react-image/cjs/index.ssr-test.js' { declare module.exports: $Exports<'react-image/cjs/index.ssr-test'>; } declare module 'react-image/cjs/index.test.js' { declare module.exports: $Exports<'react-image/cjs/index.test'>; } declare module 'react-image/es/index.js' { declare module.exports: $Exports<'react-image/es/index'>; } declare module 'react-image/es/index.ssr-test.js' { declare module.exports: $Exports<'react-image/es/index.ssr-test'>; } declare module 'react-image/es/index.test.js' { declare module.exports: $Exports<'react-image/es/index.test'>; } declare module 'react-image/umd/index.js' { declare module.exports: $Exports<'react-image/umd/index'>; } declare module 'react-image/umd/index.min.js' { declare module.exports: $Exports<'react-image/umd/index.min'>; } declare module 'react-image/umd/index.test.js' { declare module.exports: $Exports<'react-image/umd/index.test'>; } ================================================ FILE: flow-typed/npm/react-infinite-scroller-fork-mxstbr_vx.x.x.js ================================================ // flow-typed signature: ce15133e6fc07b478594da7d33ada1a8 // flow-typed version: <>/react-infinite-scroller-fork-mxstbr_v1.2.7/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-infinite-scroller-fork-mxstbr' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-infinite-scroller-fork-mxstbr' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-infinite-scroller-fork-mxstbr/dist/InfiniteScroll' { declare module.exports: any; } // Filename aliases declare module 'react-infinite-scroller-fork-mxstbr/dist/InfiniteScroll.js' { declare module.exports: $Exports<'react-infinite-scroller-fork-mxstbr/dist/InfiniteScroll'>; } declare module 'react-infinite-scroller-fork-mxstbr/index' { declare module.exports: $Exports<'react-infinite-scroller-fork-mxstbr'>; } declare module 'react-infinite-scroller-fork-mxstbr/index.js' { declare module.exports: $Exports<'react-infinite-scroller-fork-mxstbr'>; } ================================================ FILE: flow-typed/npm/react-infinite-scroller-with-scroll-element_vx.x.x.js ================================================ // flow-typed signature: f79a676a27110a63801ef9af476e2c3d // flow-typed version: <>/react-infinite-scroller-with-scroll-element_v^1.0.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-infinite-scroller-with-scroll-element' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-infinite-scroller-with-scroll-element' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-infinite-scroller-with-scroll-element/dist/InfiniteScroll' { declare module.exports: any; } declare module 'react-infinite-scroller-with-scroll-element/docs/gulpfile' { declare module.exports: any; } declare module 'react-infinite-scroller-with-scroll-element/docs/js/script' { declare module.exports: any; } declare module 'react-infinite-scroller-with-scroll-element/docs/src/index' { declare module.exports: any; } declare module 'react-infinite-scroller-with-scroll-element/src/InfiniteScroll' { declare module.exports: any; } // Filename aliases declare module 'react-infinite-scroller-with-scroll-element/dist/InfiniteScroll.js' { declare module.exports: $Exports<'react-infinite-scroller-with-scroll-element/dist/InfiniteScroll'>; } declare module 'react-infinite-scroller-with-scroll-element/docs/gulpfile.js' { declare module.exports: $Exports<'react-infinite-scroller-with-scroll-element/docs/gulpfile'>; } declare module 'react-infinite-scroller-with-scroll-element/docs/js/script.js' { declare module.exports: $Exports<'react-infinite-scroller-with-scroll-element/docs/js/script'>; } declare module 'react-infinite-scroller-with-scroll-element/docs/src/index.js' { declare module.exports: $Exports<'react-infinite-scroller-with-scroll-element/docs/src/index'>; } declare module 'react-infinite-scroller-with-scroll-element/src/InfiniteScroll.js' { declare module.exports: $Exports<'react-infinite-scroller-with-scroll-element/src/InfiniteScroll'>; } ================================================ FILE: flow-typed/npm/react-loadable_vx.x.x.js ================================================ // flow-typed signature: aae3091f4281be4785c6f2a5f47f3628 // flow-typed version: <>/react-loadable_v5.2.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-loadable' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-loadable' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-loadable/babel' { declare module.exports: any; } declare module 'react-loadable/lib/babel' { declare module.exports: any; } declare module 'react-loadable/lib/index' { declare module.exports: any; } declare module 'react-loadable/lib/webpack' { declare module.exports: any; } declare module 'react-loadable/webpack' { declare module.exports: any; } // Filename aliases declare module 'react-loadable/babel.js' { declare module.exports: $Exports<'react-loadable/babel'>; } declare module 'react-loadable/lib/babel.js' { declare module.exports: $Exports<'react-loadable/lib/babel'>; } declare module 'react-loadable/lib/index.js' { declare module.exports: $Exports<'react-loadable/lib/index'>; } declare module 'react-loadable/lib/webpack.js' { declare module.exports: $Exports<'react-loadable/lib/webpack'>; } declare module 'react-loadable/webpack.js' { declare module.exports: $Exports<'react-loadable/webpack'>; } ================================================ FILE: flow-typed/npm/react-mentions_vx.x.x.js ================================================ // flow-typed signature: 12ab11615dc44ebfea392e40b67a020e // flow-typed version: <>/react-mentions_v2.4.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-mentions' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-mentions' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-mentions/es/Highlighter' { declare module.exports: any; } declare module 'react-mentions/es/index' { declare module.exports: any; } declare module 'react-mentions/es/LoadingIndicator' { declare module.exports: any; } declare module 'react-mentions/es/Mention' { declare module.exports: any; } declare module 'react-mentions/es/MentionsInput' { declare module.exports: any; } declare module 'react-mentions/es/Suggestion' { declare module.exports: any; } declare module 'react-mentions/es/SuggestionsOverlay' { declare module.exports: any; } declare module 'react-mentions/es/utils' { declare module.exports: any; } declare module 'react-mentions/lib/Highlighter' { declare module.exports: any; } declare module 'react-mentions/lib/index' { declare module.exports: any; } declare module 'react-mentions/lib/LoadingIndicator' { declare module.exports: any; } declare module 'react-mentions/lib/Mention' { declare module.exports: any; } declare module 'react-mentions/lib/MentionsInput' { declare module.exports: any; } declare module 'react-mentions/lib/Suggestion' { declare module.exports: any; } declare module 'react-mentions/lib/SuggestionsOverlay' { declare module.exports: any; } declare module 'react-mentions/lib/utils' { declare module.exports: any; } declare module 'react-mentions/umd/react-mentions' { declare module.exports: any; } declare module 'react-mentions/umd/react-mentions.min' { declare module.exports: any; } // Filename aliases declare module 'react-mentions/es/Highlighter.js' { declare module.exports: $Exports<'react-mentions/es/Highlighter'>; } declare module 'react-mentions/es/index.js' { declare module.exports: $Exports<'react-mentions/es/index'>; } declare module 'react-mentions/es/LoadingIndicator.js' { declare module.exports: $Exports<'react-mentions/es/LoadingIndicator'>; } declare module 'react-mentions/es/Mention.js' { declare module.exports: $Exports<'react-mentions/es/Mention'>; } declare module 'react-mentions/es/MentionsInput.js' { declare module.exports: $Exports<'react-mentions/es/MentionsInput'>; } declare module 'react-mentions/es/Suggestion.js' { declare module.exports: $Exports<'react-mentions/es/Suggestion'>; } declare module 'react-mentions/es/SuggestionsOverlay.js' { declare module.exports: $Exports<'react-mentions/es/SuggestionsOverlay'>; } declare module 'react-mentions/es/utils.js' { declare module.exports: $Exports<'react-mentions/es/utils'>; } declare module 'react-mentions/lib/Highlighter.js' { declare module.exports: $Exports<'react-mentions/lib/Highlighter'>; } declare module 'react-mentions/lib/index.js' { declare module.exports: $Exports<'react-mentions/lib/index'>; } declare module 'react-mentions/lib/LoadingIndicator.js' { declare module.exports: $Exports<'react-mentions/lib/LoadingIndicator'>; } declare module 'react-mentions/lib/Mention.js' { declare module.exports: $Exports<'react-mentions/lib/Mention'>; } declare module 'react-mentions/lib/MentionsInput.js' { declare module.exports: $Exports<'react-mentions/lib/MentionsInput'>; } declare module 'react-mentions/lib/Suggestion.js' { declare module.exports: $Exports<'react-mentions/lib/Suggestion'>; } declare module 'react-mentions/lib/SuggestionsOverlay.js' { declare module.exports: $Exports<'react-mentions/lib/SuggestionsOverlay'>; } declare module 'react-mentions/lib/utils.js' { declare module.exports: $Exports<'react-mentions/lib/utils'>; } declare module 'react-mentions/umd/react-mentions.js' { declare module.exports: $Exports<'react-mentions/umd/react-mentions'>; } declare module 'react-mentions/umd/react-mentions.min.js' { declare module.exports: $Exports<'react-mentions/umd/react-mentions.min'>; } ================================================ FILE: flow-typed/npm/react-modal_vx.x.x.js ================================================ // flow-typed signature: b1af61880ac1a8110183bbbf35167673 // flow-typed version: <>/react-modal_v^1.6.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-modal' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-modal' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-modal/_book/gitbook/gitbook-plugin-anchorjs/anchor-style' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-codepen/embed-codepen' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-edit-link/plugin' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-fontsettings/fontsettings' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-github/plugin' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-livereload/plugin' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-lunr/lunr.min' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-lunr/search-lunr' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-search/lunr.min' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-search/search-engine' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-search/search' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook-plugin-sharing/buttons' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/gitbook' { declare module.exports: any; } declare module 'react-modal/_book/gitbook/theme' { declare module.exports: any; } declare module 'react-modal/coverage/Chrome 58.0.3029 (Mac OS X 10.12.5)/lcov-report/prettify' { declare module.exports: any; } declare module 'react-modal/coverage/Chrome 58.0.3029 (Mac OS X 10.12.5)/lcov-report/sorter' { declare module.exports: any; } declare module 'react-modal/coverage/lcov-report/prettify' { declare module.exports: any; } declare module 'react-modal/coverage/lcov-report/sorter' { declare module.exports: any; } declare module 'react-modal/dist/react-modal' { declare module.exports: any; } declare module 'react-modal/dist/react-modal.min' { declare module.exports: any; } declare module 'react-modal/lib/components/Modal' { declare module.exports: any; } declare module 'react-modal/lib/components/ModalPortal' { declare module.exports: any; } declare module 'react-modal/lib/helpers/ariaAppHider' { declare module.exports: any; } declare module 'react-modal/lib/helpers/focusManager' { declare module.exports: any; } declare module 'react-modal/lib/helpers/refCount' { declare module.exports: any; } declare module 'react-modal/lib/helpers/scopeTab' { declare module.exports: any; } declare module 'react-modal/lib/helpers/tabbable' { declare module.exports: any; } declare module 'react-modal/lib/index' { declare module.exports: any; } declare module 'react-modal/webpack.config' { declare module.exports: any; } declare module 'react-modal/webpack.dist.config' { declare module.exports: any; } declare module 'react-modal/webpack.test.config' { declare module.exports: any; } // Filename aliases declare module 'react-modal/_book/gitbook/gitbook-plugin-anchorjs/anchor-style.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-anchorjs/anchor-style'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-codepen/embed-codepen.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-codepen/embed-codepen'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-edit-link/plugin.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-edit-link/plugin'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-fontsettings/fontsettings'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-github/plugin.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-github/plugin'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-livereload/plugin.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-livereload/plugin'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-lunr/lunr.min.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-lunr/lunr.min'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-lunr/search-lunr.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-lunr/search-lunr'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-search/lunr.min.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-search/lunr.min'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-search/search-engine.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-search/search-engine'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-search/search.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-search/search'>; } declare module 'react-modal/_book/gitbook/gitbook-plugin-sharing/buttons.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook-plugin-sharing/buttons'>; } declare module 'react-modal/_book/gitbook/gitbook.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/gitbook'>; } declare module 'react-modal/_book/gitbook/theme.js' { declare module.exports: $Exports<'react-modal/_book/gitbook/theme'>; } declare module 'react-modal/coverage/Chrome 58.0.3029 (Mac OS X 10.12.5)/lcov-report/prettify.js' { declare module.exports: $Exports<'react-modal/coverage/Chrome 58.0.3029 (Mac OS X 10.12.5)/lcov-report/prettify'>; } declare module 'react-modal/coverage/Chrome 58.0.3029 (Mac OS X 10.12.5)/lcov-report/sorter.js' { declare module.exports: $Exports<'react-modal/coverage/Chrome 58.0.3029 (Mac OS X 10.12.5)/lcov-report/sorter'>; } declare module 'react-modal/coverage/lcov-report/prettify.js' { declare module.exports: $Exports<'react-modal/coverage/lcov-report/prettify'>; } declare module 'react-modal/coverage/lcov-report/sorter.js' { declare module.exports: $Exports<'react-modal/coverage/lcov-report/sorter'>; } declare module 'react-modal/dist/react-modal.js' { declare module.exports: $Exports<'react-modal/dist/react-modal'>; } declare module 'react-modal/dist/react-modal.min.js' { declare module.exports: $Exports<'react-modal/dist/react-modal.min'>; } declare module 'react-modal/lib/components/Modal.js' { declare module.exports: $Exports<'react-modal/lib/components/Modal'>; } declare module 'react-modal/lib/components/ModalPortal.js' { declare module.exports: $Exports<'react-modal/lib/components/ModalPortal'>; } declare module 'react-modal/lib/helpers/ariaAppHider.js' { declare module.exports: $Exports<'react-modal/lib/helpers/ariaAppHider'>; } declare module 'react-modal/lib/helpers/focusManager.js' { declare module.exports: $Exports<'react-modal/lib/helpers/focusManager'>; } declare module 'react-modal/lib/helpers/refCount.js' { declare module.exports: $Exports<'react-modal/lib/helpers/refCount'>; } declare module 'react-modal/lib/helpers/scopeTab.js' { declare module.exports: $Exports<'react-modal/lib/helpers/scopeTab'>; } declare module 'react-modal/lib/helpers/tabbable.js' { declare module.exports: $Exports<'react-modal/lib/helpers/tabbable'>; } declare module 'react-modal/lib/index.js' { declare module.exports: $Exports<'react-modal/lib/index'>; } declare module 'react-modal/webpack.config.js' { declare module.exports: $Exports<'react-modal/webpack.config'>; } declare module 'react-modal/webpack.dist.config.js' { declare module.exports: $Exports<'react-modal/webpack.dist.config'>; } declare module 'react-modal/webpack.test.config.js' { declare module.exports: $Exports<'react-modal/webpack.test.config'>; } ================================================ FILE: flow-typed/npm/react-popper_vx.x.x.js ================================================ // flow-typed signature: 3616931cff0dd9b73bbe98046f6a84d6 // flow-typed version: <>/react-popper_v1.0.2/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-popper' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-popper' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-popper/dist/index.umd' { declare module.exports: any; } declare module 'react-popper/dist/index.umd.min' { declare module.exports: any; } declare module 'react-popper/lib/cjs/__typings__/main-test' { declare module.exports: any; } declare module 'react-popper/lib/cjs/index' { declare module.exports: any; } declare module 'react-popper/lib/cjs/Manager' { declare module.exports: any; } declare module 'react-popper/lib/cjs/Popper' { declare module.exports: any; } declare module 'react-popper/lib/cjs/Reference' { declare module.exports: any; } declare module 'react-popper/lib/cjs/utils' { declare module.exports: any; } declare module 'react-popper/lib/esm/__typings__/main-test' { declare module.exports: any; } declare module 'react-popper/lib/esm/index' { declare module.exports: any; } declare module 'react-popper/lib/esm/Manager' { declare module.exports: any; } declare module 'react-popper/lib/esm/Popper' { declare module.exports: any; } declare module 'react-popper/lib/esm/Reference' { declare module.exports: any; } declare module 'react-popper/lib/esm/utils' { declare module.exports: any; } // Filename aliases declare module 'react-popper/dist/index.umd.js' { declare module.exports: $Exports<'react-popper/dist/index.umd'>; } declare module 'react-popper/dist/index.umd.min.js' { declare module.exports: $Exports<'react-popper/dist/index.umd.min'>; } declare module 'react-popper/lib/cjs/__typings__/main-test.js' { declare module.exports: $Exports<'react-popper/lib/cjs/__typings__/main-test'>; } declare module 'react-popper/lib/cjs/index.js' { declare module.exports: $Exports<'react-popper/lib/cjs/index'>; } declare module 'react-popper/lib/cjs/Manager.js' { declare module.exports: $Exports<'react-popper/lib/cjs/Manager'>; } declare module 'react-popper/lib/cjs/Popper.js' { declare module.exports: $Exports<'react-popper/lib/cjs/Popper'>; } declare module 'react-popper/lib/cjs/Reference.js' { declare module.exports: $Exports<'react-popper/lib/cjs/Reference'>; } declare module 'react-popper/lib/cjs/utils.js' { declare module.exports: $Exports<'react-popper/lib/cjs/utils'>; } declare module 'react-popper/lib/esm/__typings__/main-test.js' { declare module.exports: $Exports<'react-popper/lib/esm/__typings__/main-test'>; } declare module 'react-popper/lib/esm/index.js' { declare module.exports: $Exports<'react-popper/lib/esm/index'>; } declare module 'react-popper/lib/esm/Manager.js' { declare module.exports: $Exports<'react-popper/lib/esm/Manager'>; } declare module 'react-popper/lib/esm/Popper.js' { declare module.exports: $Exports<'react-popper/lib/esm/Popper'>; } declare module 'react-popper/lib/esm/Reference.js' { declare module.exports: $Exports<'react-popper/lib/esm/Reference'>; } declare module 'react-popper/lib/esm/utils.js' { declare module.exports: $Exports<'react-popper/lib/esm/utils'>; } ================================================ FILE: flow-typed/npm/react-redux_v5.x.x.js ================================================ // flow-typed signature: f0d96df48e9abc14bcc1405ba2a47dde // flow-typed version: 83053e4020/react-redux_v5.x.x/flow_>=v0.53.x // flow-typed signature: 8db7b853f57c51094bf0ab8b2650fd9c // flow-typed version: ab8db5f14d/react-redux_v5.x.x/flow_>=v0.30.x import type { Dispatch, Store } from 'redux'; declare module 'react-redux' { /* S = State A = Action OP = OwnProps SP = StateProps DP = DispatchProps */ declare type MapStateToProps = ( state: S, ownProps: OP ) => ((state: S, ownProps: OP) => SP) | SP; declare type MapDispatchToProps = | ((dispatch: Dispatch, ownProps: OP) => DP) | DP; declare type MergeProps = ( stateProps: SP, dispatchProps: DP, ownProps: OP ) => P; declare type Context = { store: Store<*, *> }; declare class ConnectedComponent extends React$Component { static WrappedComponent: Class>, getWrappedInstance(): React$Component

, props: OP, state: void, } declare type ConnectedComponentClass = Class< ConnectedComponent >; declare type Connector = ( component: React$ComponentType

) => ConnectedComponentClass; declare class Provider extends React$Component<{ store: Store, children?: any, }> {} declare function createProvider( storeKey?: string, subKey?: string ): Provider<*, *>; declare type ConnectOptions = { pure?: boolean, withRef?: boolean, }; declare type Null = null | void; declare function connect( ...rest: Array // <= workaround for https://github.com/facebook/flow/issues/2360 ): Connector } & OP>>; declare function connect( mapStateToProps: Null, mapDispatchToProps: Null, mergeProps: Null, options: ConnectOptions ): Connector } & OP>>; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: Null, mergeProps: Null, options?: ConnectOptions ): Connector } & OP>>; declare function connect( mapStateToProps: Null, mapDispatchToProps: MapDispatchToProps, mergeProps: Null, options?: ConnectOptions ): Connector>; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: MapDispatchToProps, mergeProps: Null, options?: ConnectOptions ): Connector>; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: Null, mergeProps: MergeProps, options?: ConnectOptions ): Connector; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: MapDispatchToProps, mergeProps: MergeProps, options?: ConnectOptions ): Connector; } ================================================ FILE: flow-typed/npm/react-remarkable_vx.x.x.js ================================================ // flow-typed signature: 945cd904850eeca8414f8e34587bb528 // flow-typed version: <>/react-remarkable_v^1.1.1/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'react-remarkable' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-remarkable' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-remarkable/dist/index' { declare module.exports: any; } // Filename aliases declare module 'react-remarkable/dist/index.js' { declare module.exports: $Exports<'react-remarkable/dist/index'>; } ================================================ FILE: flow-typed/npm/react-router-dom_vx.x.x.js ================================================ // flow-typed signature: 5050035541282646ebfe1bc7e42e2916 // flow-typed version: <>/react-router-dom_v^4.0.0-beta.7/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-router-dom' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-router-dom' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-router-dom/BrowserRouter' { declare module.exports: any; } declare module 'react-router-dom/es/BrowserRouter' { declare module.exports: any; } declare module 'react-router-dom/es/HashRouter' { declare module.exports: any; } declare module 'react-router-dom/es/index' { declare module.exports: any; } declare module 'react-router-dom/es/Link' { declare module.exports: any; } declare module 'react-router-dom/es/matchPath' { declare module.exports: any; } declare module 'react-router-dom/es/MemoryRouter' { declare module.exports: any; } declare module 'react-router-dom/es/NavLink' { declare module.exports: any; } declare module 'react-router-dom/es/Prompt' { declare module.exports: any; } declare module 'react-router-dom/es/Redirect' { declare module.exports: any; } declare module 'react-router-dom/es/Route' { declare module.exports: any; } declare module 'react-router-dom/es/Router' { declare module.exports: any; } declare module 'react-router-dom/es/StaticRouter' { declare module.exports: any; } declare module 'react-router-dom/es/Switch' { declare module.exports: any; } declare module 'react-router-dom/es/withRouter' { declare module.exports: any; } declare module 'react-router-dom/HashRouter' { declare module.exports: any; } declare module 'react-router-dom/Link' { declare module.exports: any; } declare module 'react-router-dom/matchPath' { declare module.exports: any; } declare module 'react-router-dom/MemoryRouter' { declare module.exports: any; } declare module 'react-router-dom/NavLink' { declare module.exports: any; } declare module 'react-router-dom/Prompt' { declare module.exports: any; } declare module 'react-router-dom/Redirect' { declare module.exports: any; } declare module 'react-router-dom/Route' { declare module.exports: any; } declare module 'react-router-dom/Router' { declare module.exports: any; } declare module 'react-router-dom/StaticRouter' { declare module.exports: any; } declare module 'react-router-dom/Switch' { declare module.exports: any; } declare module 'react-router-dom/umd/react-router-dom' { declare module.exports: any; } declare module 'react-router-dom/umd/react-router-dom.min' { declare module.exports: any; } declare module 'react-router-dom/withRouter' { declare module.exports: any; } // Filename aliases declare module 'react-router-dom/BrowserRouter.js' { declare module.exports: $Exports<'react-router-dom/BrowserRouter'>; } declare module 'react-router-dom/es/BrowserRouter.js' { declare module.exports: $Exports<'react-router-dom/es/BrowserRouter'>; } declare module 'react-router-dom/es/HashRouter.js' { declare module.exports: $Exports<'react-router-dom/es/HashRouter'>; } declare module 'react-router-dom/es/index.js' { declare module.exports: $Exports<'react-router-dom/es/index'>; } declare module 'react-router-dom/es/Link.js' { declare module.exports: $Exports<'react-router-dom/es/Link'>; } declare module 'react-router-dom/es/matchPath.js' { declare module.exports: $Exports<'react-router-dom/es/matchPath'>; } declare module 'react-router-dom/es/MemoryRouter.js' { declare module.exports: $Exports<'react-router-dom/es/MemoryRouter'>; } declare module 'react-router-dom/es/NavLink.js' { declare module.exports: $Exports<'react-router-dom/es/NavLink'>; } declare module 'react-router-dom/es/Prompt.js' { declare module.exports: $Exports<'react-router-dom/es/Prompt'>; } declare module 'react-router-dom/es/Redirect.js' { declare module.exports: $Exports<'react-router-dom/es/Redirect'>; } declare module 'react-router-dom/es/Route.js' { declare module.exports: $Exports<'react-router-dom/es/Route'>; } declare module 'react-router-dom/es/Router.js' { declare module.exports: $Exports<'react-router-dom/es/Router'>; } declare module 'react-router-dom/es/StaticRouter.js' { declare module.exports: $Exports<'react-router-dom/es/StaticRouter'>; } declare module 'react-router-dom/es/Switch.js' { declare module.exports: $Exports<'react-router-dom/es/Switch'>; } declare module 'react-router-dom/es/withRouter.js' { declare module.exports: $Exports<'react-router-dom/es/withRouter'>; } declare module 'react-router-dom/HashRouter.js' { declare module.exports: $Exports<'react-router-dom/HashRouter'>; } declare module 'react-router-dom/index' { declare module.exports: $Exports<'react-router-dom'>; } declare module 'react-router-dom/index.js' { declare module.exports: $Exports<'react-router-dom'>; } declare module 'react-router-dom/Link.js' { declare module.exports: $Exports<'react-router-dom/Link'>; } declare module 'react-router-dom/matchPath.js' { declare module.exports: $Exports<'react-router-dom/matchPath'>; } declare module 'react-router-dom/MemoryRouter.js' { declare module.exports: $Exports<'react-router-dom/MemoryRouter'>; } declare module 'react-router-dom/NavLink.js' { declare module.exports: $Exports<'react-router-dom/NavLink'>; } declare module 'react-router-dom/Prompt.js' { declare module.exports: $Exports<'react-router-dom/Prompt'>; } declare module 'react-router-dom/Redirect.js' { declare module.exports: $Exports<'react-router-dom/Redirect'>; } declare module 'react-router-dom/Route.js' { declare module.exports: $Exports<'react-router-dom/Route'>; } declare module 'react-router-dom/Router.js' { declare module.exports: $Exports<'react-router-dom/Router'>; } declare module 'react-router-dom/StaticRouter.js' { declare module.exports: $Exports<'react-router-dom/StaticRouter'>; } declare module 'react-router-dom/Switch.js' { declare module.exports: $Exports<'react-router-dom/Switch'>; } declare module 'react-router-dom/umd/react-router-dom.js' { declare module.exports: $Exports<'react-router-dom/umd/react-router-dom'>; } declare module 'react-router-dom/umd/react-router-dom.min.js' { declare module.exports: $Exports<'react-router-dom/umd/react-router-dom.min'>; } declare module 'react-router-dom/withRouter.js' { declare module.exports: $Exports<'react-router-dom/withRouter'>; } ================================================ FILE: flow-typed/npm/react-router_v4.x.x.js ================================================ // flow-typed signature: 1e6728f0a649edac3689d6e2db7487a7 // flow-typed version: 01716df816/react-router_v4.x.x/flow_>=v0.53.x declare module "react-router" { // NOTE: many of these are re-exported by react-router-dom and // react-router-native, so when making changes, please be sure to update those // as well. declare export type Location = { pathname: string, search: string, hash: string, state?: any, key?: string }; declare export type LocationShape = { pathname?: string, search?: string, hash?: string, state?: any }; declare export type HistoryAction = "PUSH" | "REPLACE" | "POP"; declare export type RouterHistory = { length: number, location: Location, action: HistoryAction, listen( callback: (location: Location, action: HistoryAction) => void ): () => void, push(path: string | LocationShape, state?: any): void, replace(path: string | LocationShape, state?: any): void, go(n: number): void, goBack(): void, goForward(): void, canGo?: (n: number) => boolean, block( callback: (location: Location, action: HistoryAction) => boolean ): void, // createMemoryHistory index?: number, entries?: Array }; declare export type Match = { params: { [key: string]: ?string }, isExact: boolean, path: string, url: string }; declare export type ContextRouter = {| history: RouterHistory, location: Location, match: Match |}; declare export type GetUserConfirmation = ( message: string, callback: (confirmed: boolean) => void ) => void; declare type StaticRouterContext = { url?: string }; declare export class StaticRouter extends React$Component<{ basename?: string, location?: string | Location, context: StaticRouterContext, children?: React$Node }> {} declare export class MemoryRouter extends React$Component<{ initialEntries?: Array, initialIndex?: number, getUserConfirmation?: GetUserConfirmation, keyLength?: number, children?: React$Node }> {} declare export class Router extends React$Component<{ history: RouterHistory, children?: React$Node }> {} declare export class Prompt extends React$Component<{ message: string | ((location: Location) => string | true), when?: boolean }> {} declare export class Redirect extends React$Component<{ to: string | LocationShape, push?: boolean }> {} declare export class Route extends React$Component<{ component?: React$ComponentType<*>, render?: (router: ContextRouter) => React$Node, children?: React$ComponentType | React$Node, path?: string, exact?: boolean, strict?: boolean }> {} declare export class Switch extends React$Component<{ children?: React$Node }> {} declare export function withRouter

( Component: React$ComponentType<{| ...ContextRouter, ...P |}> ): React$ComponentType

; declare type MatchPathOptions = { path?: string, exact?: boolean, strict?: boolean, sensitive?: boolean }; declare export function matchPath( pathname: string, options?: MatchPathOptions | string ): null | Match; } ================================================ FILE: flow-typed/npm/react-router_vx.x.x.js ================================================ // flow-typed signature: 38348f99736642427eb37769cbb723f3 // flow-typed version: <>/react-router_v^4.0.0-beta.7/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-router' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-router' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-router/es/index' { declare module.exports: any; } declare module 'react-router/es/matchPath' { declare module.exports: any; } declare module 'react-router/es/MemoryRouter' { declare module.exports: any; } declare module 'react-router/es/Prompt' { declare module.exports: any; } declare module 'react-router/es/Redirect' { declare module.exports: any; } declare module 'react-router/es/Route' { declare module.exports: any; } declare module 'react-router/es/Router' { declare module.exports: any; } declare module 'react-router/es/StaticRouter' { declare module.exports: any; } declare module 'react-router/es/Switch' { declare module.exports: any; } declare module 'react-router/es/withRouter' { declare module.exports: any; } declare module 'react-router/matchPath' { declare module.exports: any; } declare module 'react-router/MemoryRouter' { declare module.exports: any; } declare module 'react-router/Prompt' { declare module.exports: any; } declare module 'react-router/Redirect' { declare module.exports: any; } declare module 'react-router/Route' { declare module.exports: any; } declare module 'react-router/Router' { declare module.exports: any; } declare module 'react-router/StaticRouter' { declare module.exports: any; } declare module 'react-router/Switch' { declare module.exports: any; } declare module 'react-router/umd/react-router' { declare module.exports: any; } declare module 'react-router/umd/react-router.min' { declare module.exports: any; } declare module 'react-router/withRouter' { declare module.exports: any; } // Filename aliases declare module 'react-router/es/index.js' { declare module.exports: $Exports<'react-router/es/index'>; } declare module 'react-router/es/matchPath.js' { declare module.exports: $Exports<'react-router/es/matchPath'>; } declare module 'react-router/es/MemoryRouter.js' { declare module.exports: $Exports<'react-router/es/MemoryRouter'>; } declare module 'react-router/es/Prompt.js' { declare module.exports: $Exports<'react-router/es/Prompt'>; } declare module 'react-router/es/Redirect.js' { declare module.exports: $Exports<'react-router/es/Redirect'>; } declare module 'react-router/es/Route.js' { declare module.exports: $Exports<'react-router/es/Route'>; } declare module 'react-router/es/Router.js' { declare module.exports: $Exports<'react-router/es/Router'>; } declare module 'react-router/es/StaticRouter.js' { declare module.exports: $Exports<'react-router/es/StaticRouter'>; } declare module 'react-router/es/Switch.js' { declare module.exports: $Exports<'react-router/es/Switch'>; } declare module 'react-router/es/withRouter.js' { declare module.exports: $Exports<'react-router/es/withRouter'>; } declare module 'react-router/index' { declare module.exports: $Exports<'react-router'>; } declare module 'react-router/index.js' { declare module.exports: $Exports<'react-router'>; } declare module 'react-router/matchPath.js' { declare module.exports: $Exports<'react-router/matchPath'>; } declare module 'react-router/MemoryRouter.js' { declare module.exports: $Exports<'react-router/MemoryRouter'>; } declare module 'react-router/Prompt.js' { declare module.exports: $Exports<'react-router/Prompt'>; } declare module 'react-router/Redirect.js' { declare module.exports: $Exports<'react-router/Redirect'>; } declare module 'react-router/Route.js' { declare module.exports: $Exports<'react-router/Route'>; } declare module 'react-router/Router.js' { declare module.exports: $Exports<'react-router/Router'>; } declare module 'react-router/StaticRouter.js' { declare module.exports: $Exports<'react-router/StaticRouter'>; } declare module 'react-router/Switch.js' { declare module.exports: $Exports<'react-router/Switch'>; } declare module 'react-router/umd/react-router.js' { declare module.exports: $Exports<'react-router/umd/react-router'>; } declare module 'react-router/umd/react-router.min.js' { declare module.exports: $Exports<'react-router/umd/react-router.min'>; } declare module 'react-router/withRouter.js' { declare module.exports: $Exports<'react-router/withRouter'>; } ================================================ FILE: flow-typed/npm/react-scripts_vx.x.x.js ================================================ // flow-typed signature: 7ba383cef791c6b51db6d4193e087a9e // flow-typed version: <>/react-scripts_v^1.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-scripts' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-scripts' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-scripts/bin/react-scripts' { declare module.exports: any; } declare module 'react-scripts/config/env' { declare module.exports: any; } declare module 'react-scripts/config/jest/babelTransform' { declare module.exports: any; } declare module 'react-scripts/config/jest/cssTransform' { declare module.exports: any; } declare module 'react-scripts/config/jest/fileTransform' { declare module.exports: any; } declare module 'react-scripts/config/paths' { declare module.exports: any; } declare module 'react-scripts/config/polyfills' { declare module.exports: any; } declare module 'react-scripts/config/webpack.config.dev' { declare module.exports: any; } declare module 'react-scripts/config/webpack.config.prod' { declare module.exports: any; } declare module 'react-scripts/config/webpackDevServer.config' { declare module.exports: any; } declare module 'react-scripts/scripts/build' { declare module.exports: any; } declare module 'react-scripts/scripts/eject' { declare module.exports: any; } declare module 'react-scripts/scripts/init' { declare module.exports: any; } declare module 'react-scripts/scripts/start' { declare module.exports: any; } declare module 'react-scripts/scripts/test' { declare module.exports: any; } declare module 'react-scripts/scripts/utils/createJestConfig' { declare module.exports: any; } declare module 'react-scripts/template/src/App' { declare module.exports: any; } declare module 'react-scripts/template/src/App.test' { declare module.exports: any; } declare module 'react-scripts/template/src/index' { declare module.exports: any; } declare module 'react-scripts/template/src/registerServiceWorker' { declare module.exports: any; } // Filename aliases declare module 'react-scripts/bin/react-scripts.js' { declare module.exports: $Exports<'react-scripts/bin/react-scripts'>; } declare module 'react-scripts/config/env.js' { declare module.exports: $Exports<'react-scripts/config/env'>; } declare module 'react-scripts/config/jest/babelTransform.js' { declare module.exports: $Exports<'react-scripts/config/jest/babelTransform'>; } declare module 'react-scripts/config/jest/cssTransform.js' { declare module.exports: $Exports<'react-scripts/config/jest/cssTransform'>; } declare module 'react-scripts/config/jest/fileTransform.js' { declare module.exports: $Exports<'react-scripts/config/jest/fileTransform'>; } declare module 'react-scripts/config/paths.js' { declare module.exports: $Exports<'react-scripts/config/paths'>; } declare module 'react-scripts/config/polyfills.js' { declare module.exports: $Exports<'react-scripts/config/polyfills'>; } declare module 'react-scripts/config/webpack.config.dev.js' { declare module.exports: $Exports<'react-scripts/config/webpack.config.dev'>; } declare module 'react-scripts/config/webpack.config.prod.js' { declare module.exports: $Exports<'react-scripts/config/webpack.config.prod'>; } declare module 'react-scripts/config/webpackDevServer.config.js' { declare module.exports: $Exports<'react-scripts/config/webpackDevServer.config'>; } declare module 'react-scripts/scripts/build.js' { declare module.exports: $Exports<'react-scripts/scripts/build'>; } declare module 'react-scripts/scripts/eject.js' { declare module.exports: $Exports<'react-scripts/scripts/eject'>; } declare module 'react-scripts/scripts/init.js' { declare module.exports: $Exports<'react-scripts/scripts/init'>; } declare module 'react-scripts/scripts/start.js' { declare module.exports: $Exports<'react-scripts/scripts/start'>; } declare module 'react-scripts/scripts/test.js' { declare module.exports: $Exports<'react-scripts/scripts/test'>; } declare module 'react-scripts/scripts/utils/createJestConfig.js' { declare module.exports: $Exports<'react-scripts/scripts/utils/createJestConfig'>; } declare module 'react-scripts/template/src/App.js' { declare module.exports: $Exports<'react-scripts/template/src/App'>; } declare module 'react-scripts/template/src/App.test.js' { declare module.exports: $Exports<'react-scripts/template/src/App.test'>; } declare module 'react-scripts/template/src/index.js' { declare module.exports: $Exports<'react-scripts/template/src/index'>; } declare module 'react-scripts/template/src/registerServiceWorker.js' { declare module.exports: $Exports<'react-scripts/template/src/registerServiceWorker'>; } ================================================ FILE: flow-typed/npm/react-stripe-checkout_vx.x.x.js ================================================ // flow-typed signature: ceddd7e823ee93c7c57568d8fea31f78 // flow-typed version: <>/react-stripe-checkout_v^2.2.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-stripe-checkout' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-stripe-checkout' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-stripe-checkout/dist/main' { declare module.exports: any; } declare module 'react-stripe-checkout/spec' { declare module.exports: any; } declare module 'react-stripe-checkout/StripeCheckout' { declare module.exports: any; } // Filename aliases declare module 'react-stripe-checkout/dist/main.js' { declare module.exports: $Exports<'react-stripe-checkout/dist/main'>; } declare module 'react-stripe-checkout/spec.js' { declare module.exports: $Exports<'react-stripe-checkout/spec'>; } declare module 'react-stripe-checkout/StripeCheckout.js' { declare module.exports: $Exports<'react-stripe-checkout/StripeCheckout'>; } ================================================ FILE: flow-typed/npm/react-stripe-elements_vx.x.x.js ================================================ // flow-typed signature: 169f41bc5af42845e6303aad8d21be43 // flow-typed version: <>/react-stripe-elements_v1.4.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-stripe-elements' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-stripe-elements' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-stripe-elements/dist/react-stripe-elements' { declare module.exports: any; } declare module 'react-stripe-elements/dist/react-stripe-elements.min' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/Element' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/Element.test' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/Elements' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/Elements.test' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/inject' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/inject.test' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/PaymentRequestButtonElement' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/PaymentRequestButtonElement.test' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/Provider' { declare module.exports: any; } declare module 'react-stripe-elements/es/components/Provider.test' { declare module.exports: any; } declare module 'react-stripe-elements/es/decls/Stripe' { declare module.exports: any; } declare module 'react-stripe-elements/es/index' { declare module.exports: any; } declare module 'react-stripe-elements/es/index.test' { declare module.exports: any; } declare module 'react-stripe-elements/es/utils/shallowEqual' { declare module.exports: any; } declare module 'react-stripe-elements/es/utils/shallowEqual.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/Element' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/Element.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/Elements' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/Elements.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/inject' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/inject.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/PaymentRequestButtonElement' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/PaymentRequestButtonElement.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/Provider' { declare module.exports: any; } declare module 'react-stripe-elements/lib/components/Provider.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/decls/Stripe' { declare module.exports: any; } declare module 'react-stripe-elements/lib/index' { declare module.exports: any; } declare module 'react-stripe-elements/lib/index.test' { declare module.exports: any; } declare module 'react-stripe-elements/lib/utils/shallowEqual' { declare module.exports: any; } declare module 'react-stripe-elements/lib/utils/shallowEqual.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/Element' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/Element.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/Elements' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/Elements.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/inject' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/inject.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/PaymentRequestButtonElement' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/PaymentRequestButtonElement.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/Provider' { declare module.exports: any; } declare module 'react-stripe-elements/src/components/Provider.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/decls/Stripe' { declare module.exports: any; } declare module 'react-stripe-elements/src/index' { declare module.exports: any; } declare module 'react-stripe-elements/src/index.test' { declare module.exports: any; } declare module 'react-stripe-elements/src/utils/shallowEqual' { declare module.exports: any; } declare module 'react-stripe-elements/src/utils/shallowEqual.test' { declare module.exports: any; } // Filename aliases declare module 'react-stripe-elements/dist/react-stripe-elements.js' { declare module.exports: $Exports<'react-stripe-elements/dist/react-stripe-elements'>; } declare module 'react-stripe-elements/dist/react-stripe-elements.min.js' { declare module.exports: $Exports<'react-stripe-elements/dist/react-stripe-elements.min'>; } declare module 'react-stripe-elements/es/components/Element.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/Element'>; } declare module 'react-stripe-elements/es/components/Element.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/Element.test'>; } declare module 'react-stripe-elements/es/components/Elements.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/Elements'>; } declare module 'react-stripe-elements/es/components/Elements.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/Elements.test'>; } declare module 'react-stripe-elements/es/components/inject.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/inject'>; } declare module 'react-stripe-elements/es/components/inject.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/inject.test'>; } declare module 'react-stripe-elements/es/components/PaymentRequestButtonElement.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/PaymentRequestButtonElement'>; } declare module 'react-stripe-elements/es/components/PaymentRequestButtonElement.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/PaymentRequestButtonElement.test'>; } declare module 'react-stripe-elements/es/components/Provider.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/Provider'>; } declare module 'react-stripe-elements/es/components/Provider.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/components/Provider.test'>; } declare module 'react-stripe-elements/es/decls/Stripe.js' { declare module.exports: $Exports<'react-stripe-elements/es/decls/Stripe'>; } declare module 'react-stripe-elements/es/index.js' { declare module.exports: $Exports<'react-stripe-elements/es/index'>; } declare module 'react-stripe-elements/es/index.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/index.test'>; } declare module 'react-stripe-elements/es/utils/shallowEqual.js' { declare module.exports: $Exports<'react-stripe-elements/es/utils/shallowEqual'>; } declare module 'react-stripe-elements/es/utils/shallowEqual.test.js' { declare module.exports: $Exports<'react-stripe-elements/es/utils/shallowEqual.test'>; } declare module 'react-stripe-elements/lib/components/Element.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/Element'>; } declare module 'react-stripe-elements/lib/components/Element.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/Element.test'>; } declare module 'react-stripe-elements/lib/components/Elements.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/Elements'>; } declare module 'react-stripe-elements/lib/components/Elements.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/Elements.test'>; } declare module 'react-stripe-elements/lib/components/inject.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/inject'>; } declare module 'react-stripe-elements/lib/components/inject.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/inject.test'>; } declare module 'react-stripe-elements/lib/components/PaymentRequestButtonElement.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/PaymentRequestButtonElement'>; } declare module 'react-stripe-elements/lib/components/PaymentRequestButtonElement.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/PaymentRequestButtonElement.test'>; } declare module 'react-stripe-elements/lib/components/Provider.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/Provider'>; } declare module 'react-stripe-elements/lib/components/Provider.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/components/Provider.test'>; } declare module 'react-stripe-elements/lib/decls/Stripe.js' { declare module.exports: $Exports<'react-stripe-elements/lib/decls/Stripe'>; } declare module 'react-stripe-elements/lib/index.js' { declare module.exports: $Exports<'react-stripe-elements/lib/index'>; } declare module 'react-stripe-elements/lib/index.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/index.test'>; } declare module 'react-stripe-elements/lib/utils/shallowEqual.js' { declare module.exports: $Exports<'react-stripe-elements/lib/utils/shallowEqual'>; } declare module 'react-stripe-elements/lib/utils/shallowEqual.test.js' { declare module.exports: $Exports<'react-stripe-elements/lib/utils/shallowEqual.test'>; } declare module 'react-stripe-elements/src/components/Element.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/Element'>; } declare module 'react-stripe-elements/src/components/Element.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/Element.test'>; } declare module 'react-stripe-elements/src/components/Elements.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/Elements'>; } declare module 'react-stripe-elements/src/components/Elements.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/Elements.test'>; } declare module 'react-stripe-elements/src/components/inject.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/inject'>; } declare module 'react-stripe-elements/src/components/inject.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/inject.test'>; } declare module 'react-stripe-elements/src/components/PaymentRequestButtonElement.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/PaymentRequestButtonElement'>; } declare module 'react-stripe-elements/src/components/PaymentRequestButtonElement.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/PaymentRequestButtonElement.test'>; } declare module 'react-stripe-elements/src/components/Provider.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/Provider'>; } declare module 'react-stripe-elements/src/components/Provider.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/components/Provider.test'>; } declare module 'react-stripe-elements/src/decls/Stripe.js' { declare module.exports: $Exports<'react-stripe-elements/src/decls/Stripe'>; } declare module 'react-stripe-elements/src/index.js' { declare module.exports: $Exports<'react-stripe-elements/src/index'>; } declare module 'react-stripe-elements/src/index.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/index.test'>; } declare module 'react-stripe-elements/src/utils/shallowEqual.js' { declare module.exports: $Exports<'react-stripe-elements/src/utils/shallowEqual'>; } declare module 'react-stripe-elements/src/utils/shallowEqual.test.js' { declare module.exports: $Exports<'react-stripe-elements/src/utils/shallowEqual.test'>; } ================================================ FILE: flow-typed/npm/react-textarea-autosize_vx.x.x.js ================================================ // flow-typed signature: cb305834ab55a493438180fa9c27fad0 // flow-typed version: <>/react-textarea-autosize_v^4.0.5/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-textarea-autosize' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-textarea-autosize' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-textarea-autosize/dist/react-textarea-autosize' { declare module.exports: any; } declare module 'react-textarea-autosize/dist/react-textarea-autosize.min' { declare module.exports: any; } declare module 'react-textarea-autosize/es/calculateNodeHeight' { declare module.exports: any; } declare module 'react-textarea-autosize/es/index' { declare module.exports: any; } declare module 'react-textarea-autosize/lib/calculateNodeHeight' { declare module.exports: any; } declare module 'react-textarea-autosize/lib/index' { declare module.exports: any; } // Filename aliases declare module 'react-textarea-autosize/dist/react-textarea-autosize.js' { declare module.exports: $Exports<'react-textarea-autosize/dist/react-textarea-autosize'>; } declare module 'react-textarea-autosize/dist/react-textarea-autosize.min.js' { declare module.exports: $Exports<'react-textarea-autosize/dist/react-textarea-autosize.min'>; } declare module 'react-textarea-autosize/es/calculateNodeHeight.js' { declare module.exports: $Exports<'react-textarea-autosize/es/calculateNodeHeight'>; } declare module 'react-textarea-autosize/es/index.js' { declare module.exports: $Exports<'react-textarea-autosize/es/index'>; } declare module 'react-textarea-autosize/lib/calculateNodeHeight.js' { declare module.exports: $Exports<'react-textarea-autosize/lib/calculateNodeHeight'>; } declare module 'react-textarea-autosize/lib/index.js' { declare module.exports: $Exports<'react-textarea-autosize/lib/index'>; } ================================================ FILE: flow-typed/npm/react-transition-group_vx.x.x.js ================================================ // flow-typed signature: 91b3b7126c21d726d16331e4ba7da1c1 // flow-typed version: <>/react-transition-group_v^2.2.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-transition-group' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-transition-group' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-transition-group/CSSTransition' { declare module.exports: any; } declare module 'react-transition-group/dist/react-transition-group' { declare module.exports: any; } declare module 'react-transition-group/dist/react-transition-group.min' { declare module.exports: any; } declare module 'react-transition-group/Transition' { declare module.exports: any; } declare module 'react-transition-group/TransitionGroup' { declare module.exports: any; } declare module 'react-transition-group/utils/ChildMapping' { declare module.exports: any; } declare module 'react-transition-group/utils/PropTypes' { declare module.exports: any; } declare module 'react-transition-group/utils/SimpleSet' { declare module.exports: any; } // Filename aliases declare module 'react-transition-group/CSSTransition.js' { declare module.exports: $Exports<'react-transition-group/CSSTransition'>; } declare module 'react-transition-group/dist/react-transition-group.js' { declare module.exports: $Exports<'react-transition-group/dist/react-transition-group'>; } declare module 'react-transition-group/dist/react-transition-group.min.js' { declare module.exports: $Exports<'react-transition-group/dist/react-transition-group.min'>; } declare module 'react-transition-group/index' { declare module.exports: $Exports<'react-transition-group'>; } declare module 'react-transition-group/index.js' { declare module.exports: $Exports<'react-transition-group'>; } declare module 'react-transition-group/Transition.js' { declare module.exports: $Exports<'react-transition-group/Transition'>; } declare module 'react-transition-group/TransitionGroup.js' { declare module.exports: $Exports<'react-transition-group/TransitionGroup'>; } declare module 'react-transition-group/utils/ChildMapping.js' { declare module.exports: $Exports<'react-transition-group/utils/ChildMapping'>; } declare module 'react-transition-group/utils/PropTypes.js' { declare module.exports: $Exports<'react-transition-group/utils/PropTypes'>; } declare module 'react-transition-group/utils/SimpleSet.js' { declare module.exports: $Exports<'react-transition-group/utils/SimpleSet'>; } ================================================ FILE: flow-typed/npm/react-trend_vx.x.x.js ================================================ // flow-typed signature: 903e41ed7728c9effa03a38e16f0b7f5 // flow-typed version: <>/react-trend_v^1.2.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'react-trend' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-trend' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-trend/es/components/Trend/index' { declare module.exports: any; } declare module 'react-trend/es/components/Trend/Trend.helpers' { declare module.exports: any; } declare module 'react-trend/es/components/Trend/Trend' { declare module.exports: any; } declare module 'react-trend/es/helpers/DOM.helpers' { declare module.exports: any; } declare module 'react-trend/es/helpers/math.helpers' { declare module.exports: any; } declare module 'react-trend/es/helpers/misc.helpers' { declare module.exports: any; } declare module 'react-trend/es/index' { declare module.exports: any; } declare module 'react-trend/es/utils/index' { declare module.exports: any; } declare module 'react-trend/lib/components/Trend/index' { declare module.exports: any; } declare module 'react-trend/lib/components/Trend/Trend.helpers' { declare module.exports: any; } declare module 'react-trend/lib/components/Trend/Trend' { declare module.exports: any; } declare module 'react-trend/lib/helpers/DOM.helpers' { declare module.exports: any; } declare module 'react-trend/lib/helpers/math.helpers' { declare module.exports: any; } declare module 'react-trend/lib/helpers/misc.helpers' { declare module.exports: any; } declare module 'react-trend/lib/index' { declare module.exports: any; } declare module 'react-trend/lib/utils/index' { declare module.exports: any; } declare module 'react-trend/umd/react-trend' { declare module.exports: any; } declare module 'react-trend/umd/react-trend.min' { declare module.exports: any; } // Filename aliases declare module 'react-trend/es/components/Trend/index.js' { declare module.exports: $Exports<'react-trend/es/components/Trend/index'>; } declare module 'react-trend/es/components/Trend/Trend.helpers.js' { declare module.exports: $Exports<'react-trend/es/components/Trend/Trend.helpers'>; } declare module 'react-trend/es/components/Trend/Trend.js' { declare module.exports: $Exports<'react-trend/es/components/Trend/Trend'>; } declare module 'react-trend/es/helpers/DOM.helpers.js' { declare module.exports: $Exports<'react-trend/es/helpers/DOM.helpers'>; } declare module 'react-trend/es/helpers/math.helpers.js' { declare module.exports: $Exports<'react-trend/es/helpers/math.helpers'>; } declare module 'react-trend/es/helpers/misc.helpers.js' { declare module.exports: $Exports<'react-trend/es/helpers/misc.helpers'>; } declare module 'react-trend/es/index.js' { declare module.exports: $Exports<'react-trend/es/index'>; } declare module 'react-trend/es/utils/index.js' { declare module.exports: $Exports<'react-trend/es/utils/index'>; } declare module 'react-trend/lib/components/Trend/index.js' { declare module.exports: $Exports<'react-trend/lib/components/Trend/index'>; } declare module 'react-trend/lib/components/Trend/Trend.helpers.js' { declare module.exports: $Exports<'react-trend/lib/components/Trend/Trend.helpers'>; } declare module 'react-trend/lib/components/Trend/Trend.js' { declare module.exports: $Exports<'react-trend/lib/components/Trend/Trend'>; } declare module 'react-trend/lib/helpers/DOM.helpers.js' { declare module.exports: $Exports<'react-trend/lib/helpers/DOM.helpers'>; } declare module 'react-trend/lib/helpers/math.helpers.js' { declare module.exports: $Exports<'react-trend/lib/helpers/math.helpers'>; } declare module 'react-trend/lib/helpers/misc.helpers.js' { declare module.exports: $Exports<'react-trend/lib/helpers/misc.helpers'>; } declare module 'react-trend/lib/index.js' { declare module.exports: $Exports<'react-trend/lib/index'>; } declare module 'react-trend/lib/utils/index.js' { declare module.exports: $Exports<'react-trend/lib/utils/index'>; } declare module 'react-trend/umd/react-trend.js' { declare module.exports: $Exports<'react-trend/umd/react-trend'>; } declare module 'react-trend/umd/react-trend.min.js' { declare module.exports: $Exports<'react-trend/umd/react-trend.min'>; } ================================================ FILE: flow-typed/npm/react-visibility-sensor_vx.x.x.js ================================================ // flow-typed signature: dfcf03dc1a3f237551ec04c69d552049 // flow-typed version: <>/react-visibility-sensor_v5.0.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'react-visibility-sensor' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'react-visibility-sensor' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'react-visibility-sensor/dist/visibility-sensor' { declare module.exports: any; } declare module 'react-visibility-sensor/dist/visibility-sensor.min' { declare module.exports: any; } declare module 'react-visibility-sensor/example-umd/main' { declare module.exports: any; } declare module 'react-visibility-sensor/example/dist/bundle' { declare module.exports: any; } declare module 'react-visibility-sensor/example/main' { declare module.exports: any; } declare module 'react-visibility-sensor/gulpfile' { declare module.exports: any; } declare module 'react-visibility-sensor/karma.conf' { declare module.exports: any; } declare module 'react-visibility-sensor/lib/is-visible-with-offset' { declare module.exports: any; } declare module 'react-visibility-sensor/testconf' { declare module.exports: any; } declare module 'react-visibility-sensor/tests/bundle' { declare module.exports: any; } declare module 'react-visibility-sensor/tests/visibility-sensor-spec' { declare module.exports: any; } declare module 'react-visibility-sensor/visibility-sensor' { declare module.exports: any; } declare module 'react-visibility-sensor/webpack.config' { declare module.exports: any; } // Filename aliases declare module 'react-visibility-sensor/dist/visibility-sensor.js' { declare module.exports: $Exports<'react-visibility-sensor/dist/visibility-sensor'>; } declare module 'react-visibility-sensor/dist/visibility-sensor.min.js' { declare module.exports: $Exports<'react-visibility-sensor/dist/visibility-sensor.min'>; } declare module 'react-visibility-sensor/example-umd/main.js' { declare module.exports: $Exports<'react-visibility-sensor/example-umd/main'>; } declare module 'react-visibility-sensor/example/dist/bundle.js' { declare module.exports: $Exports<'react-visibility-sensor/example/dist/bundle'>; } declare module 'react-visibility-sensor/example/main.js' { declare module.exports: $Exports<'react-visibility-sensor/example/main'>; } declare module 'react-visibility-sensor/gulpfile.js' { declare module.exports: $Exports<'react-visibility-sensor/gulpfile'>; } declare module 'react-visibility-sensor/karma.conf.js' { declare module.exports: $Exports<'react-visibility-sensor/karma.conf'>; } declare module 'react-visibility-sensor/lib/is-visible-with-offset.js' { declare module.exports: $Exports<'react-visibility-sensor/lib/is-visible-with-offset'>; } declare module 'react-visibility-sensor/testconf.js' { declare module.exports: $Exports<'react-visibility-sensor/testconf'>; } declare module 'react-visibility-sensor/tests/bundle.js' { declare module.exports: $Exports<'react-visibility-sensor/tests/bundle'>; } declare module 'react-visibility-sensor/tests/visibility-sensor-spec.jsx' { declare module.exports: $Exports<'react-visibility-sensor/tests/visibility-sensor-spec'>; } declare module 'react-visibility-sensor/visibility-sensor.js' { declare module.exports: $Exports<'react-visibility-sensor/visibility-sensor'>; } declare module 'react-visibility-sensor/webpack.config.js' { declare module.exports: $Exports<'react-visibility-sensor/webpack.config'>; } ================================================ FILE: flow-typed/npm/react_v16.8.0.js ================================================ // flow-typed signature: 9d52bd849b0802b1d5cbd55e71c61057 // flow-typed version: <>/react_v16.8.0/flow_v0.66.0 /** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of the facebook/flow source tree. */ // Copied from https://github.com/facebook/flow/edit/master/lib/react.js /** * A UI node that can be rendered by React. React can render most primitives in * addition to elements and arrays of nodes. */ declare type React$Node = | null | boolean | number | string | React$Element | React$Portal | Iterable; /** * Base class of ES6 React classes, modeled as a polymorphic class whose main * type parameters are Props and State. */ declare class React$Component { // fields props: Props; state: State; // action methods setState( partialState: ?$Shape | ((State, Props) => ?$Shape), callback?: () => mixed, ): void; forceUpdate(callback?: () => void): void; // lifecycle methods constructor(props?: Props, context?: any): void; render(): React$Node; componentWillMount(): mixed; UNSAFE_componentWillMount(): mixed; componentDidMount(): mixed; componentWillReceiveProps( nextProps: Props, nextContext: any, ): mixed; UNSAFE_componentWillReceiveProps( nextProps: Props, nextContext: any, ): mixed; shouldComponentUpdate( nextProps: Props, nextState: State, nextContext: any, ): boolean; componentWillUpdate( nextProps: Props, nextState: State, nextContext: any, ): mixed; UNSAFE_componentWillUpdate( nextProps: Props, nextState: State, nextContext: any, ): mixed; componentDidUpdate( prevProps: Props, prevState: State, prevContext: any, ): mixed; componentWillUnmount(): mixed; componentDidCatch( error: Error, info: { componentStack: string, } ): mixed; // long tail of other stuff not modeled very well refs: any; context: any; getChildContext(): any; static displayName?: ?string; static childContextTypes: any; static contextTypes: any; static propTypes: any; // We don't add a type for `defaultProps` so that its type may be entirely // inferred when we diff the type for `defaultProps` with `Props`. Otherwise // the user would need to define a type (which would be redundant) to override // the type we provide here in the base class. // // static defaultProps: $Shape; } declare class React$PureComponent extends React$Component { // TODO: Due to bugs in Flow's handling of React.createClass, some fields // already declared in the base class need to be redeclared below. Ideally // they should simply be inherited. props: Props; state: State; } /** * Base class of legacy React classes, which extends the base class of ES6 React * classes and supports additional methods. */ declare class LegacyReactComponent extends React$Component { // additional methods replaceState(state: State, callback?: () => void): void; isMounted(): bool; // TODO: Due to bugs in Flow's handling of React.createClass, some fields // already declared in the base class need to be redeclared below. Ideally // they should simply be inherited. props: Props; state: State; } declare type React$AbstractComponentStatics = { displayName?: ?string, // This is only on function components, but trying to access name when // displayName is undefined is a common pattern. name?: ?string, }; /** * The type of a stateless functional component. In most cases these components * are a single function. However, they may have some static properties that we * can type check. */ declare type React$StatelessFunctionalComponent = { (props: Props, context: any): React$Node, displayName?: ?string, propTypes?: any, contextTypes?: any }; /** * The type of a component in React. A React component may be a: * * - Stateless functional components. Functions that take in props as an * argument and return a React node. * - ES6 class component. Components with state defined either using the ES6 * class syntax, or with the legacy `React.createClass()` helper. */ // $FlowIssue declare type React$ComponentType<-Config> = React$AbstractComponent; /** * The type of an element in React. A React element may be a: * * - String. These elements are intrinsics that depend on the React renderer * implementation. * - React component. See `ComponentType` for more information about its * different variants. */ declare type React$ElementType = | string | React$AbstractComponent; /** * Type of a React element. React elements are commonly created using JSX * literals, which desugar to React.createElement calls (see below). */ declare type React$Element<+ElementType: React$ElementType> = {| +type: ElementType, +props: React$ElementProps, +key: React$Key | null, +ref: any, |}; /** * The type of the key that React uses to determine where items in a new list * have moved. */ declare type React$Key = string | number; /** * The type of the ref prop available on all React components. */ declare type React$Ref = | {-current: React$ElementRef | null} | ((React$ElementRef | null) => mixed) | string; /** * The type of a React Context. React Contexts are created by calling * createContext() with a default value. */ declare type React$Context = { Provider: React$ComponentType<{ value: T, children?: ?React$Node }>, Consumer: React$ComponentType<{ children: (value: T) => ?React$Node }>, // Optional, user-specified value for custom display label in React DevTools. displayName?: string, } /** * A React portal node. The implementation of the portal node is hidden to React * users so we use an opaque type. */ declare opaque type React$Portal; declare module react { declare export var DOM: any; declare export var PropTypes: ReactPropTypes; declare export var version: string; declare export function checkPropTypes( propTypes : any, values: V, location: string, componentName: string, getStack: ?(() => ?string) ) : void; declare export var createClass: React$CreateClass; declare export function createContext( defaultValue: T, calculateChangedBits: ?(a: T, b: T) => number, ): React$Context; declare export var createElement: React$CreateElement; declare export var cloneElement: React$CloneElement; declare export function createFactory( type: ElementType, ): React$ElementFactory; declare export function createRef( ): {|current: null | T|}; declare export function isValidElement(element: any): boolean; declare export var Component: typeof React$Component; declare export var PureComponent: typeof React$PureComponent; declare export type StatelessFunctionalComponent

= React$StatelessFunctionalComponent

; declare export type ComponentType<-P> = React$ComponentType

; declare export type AbstractComponent< -Config, +Instance = mixed, > = React$AbstractComponent; declare export type ElementType = React$ElementType; declare export type Element<+C> = React$Element; declare export var Fragment: ({children: ?React$Node}) => React$Node; declare export type Key = React$Key; declare export type Ref = React$Ref; declare export type Node = React$Node; declare export type Context = React$Context; declare export type Portal = React$Portal; declare export var ConcurrentMode: ({children: ?React$Node}) => React$Node; // 16.7+ declare export var StrictMode: ({children: ?React$Node}) => React$Node; declare export var Suspense: React$ComponentType<{ children?: ?React$Node, fallback?: React$Node, maxDuration?: number }>; // 16.6+ declare export type ElementProps = React$ElementProps; declare export type ElementConfig = React$ElementConfig; declare export type ElementRef = React$ElementRef; // $FlowIssue declare export type Config = React$Config; declare export type ChildrenArray<+T> = $ReadOnlyArray> | T; declare export var Children: { map( children: ChildrenArray, fn: (child: $NonMaybeType, index: number) => U, thisArg?: mixed, ): Array<$NonMaybeType>; forEach( children: ChildrenArray, fn: (child: T, index: number) => mixed, thisArg?: mixed, ): void; count(children: ChildrenArray): number; only(children: ChildrenArray): $NonMaybeType; toArray(children: ChildrenArray): Array<$NonMaybeType>; }; declare export function forwardRef( render: ( props: Config, ref: {current: null | Instance} | ((null | Instance) => mixed), ) => React$Node, ): React$AbstractComponent; declare export function memo

( component: React$ComponentType

, equal?: (P, P) => boolean, ): React$ComponentType

; declare export function lazy

( component: () => Promise<{ default: React$ComponentType

}>, ): React$ComponentType

; declare type MaybeCleanUpFn = void | (() => void); declare export function useContext( context: React$Context, observedBits: void | number | boolean, ): T; declare export function useState( initialState: (() => S) | S, ): [S, ((S => S) | S) => void]; declare type Dispatch = (A) => void; declare export function useReducer( reducer: (S, A) => S, initialState: S, ): [S, Dispatch]; declare export function useReducer( reducer: (S, A) => S, initialState: S, init: void, ): [S, Dispatch]; declare export function useReducer( reducer: (S, A) => S, initialArg: I, init: (I) => S, ): [S, Dispatch]; declare export function useRef(initialValue: T): {|current: T|}; declare export function useDebugValue(value: any): void; declare export function useEffect( create: () => MaybeCleanUpFn, inputs: ?$ReadOnlyArray, ): void; declare export function useLayoutEffect( create: () => MaybeCleanUpFn, inputs: ?$ReadOnlyArray, ): void; declare export function useCallback) => mixed>( callback: T, inputs: ?$ReadOnlyArray, ): T; declare export function useMemo( create: () => T, inputs: ?$ReadOnlyArray, ): T; declare export function useImperativeHandle( ref: {current: T | null} | ((inst: T | null) => mixed) | null | void, create: () => T, inputs: ?$ReadOnlyArray, ): void; declare export default {| +DOM: typeof DOM, +PropTypes: typeof PropTypes, +version: typeof version, +checkPropTypes: typeof checkPropTypes, +memo: typeof memo, +lazy: typeof lazy, +createClass: typeof createClass, +createContext: typeof createContext, +createElement: typeof createElement, +cloneElement: typeof cloneElement, +createFactory: typeof createFactory, +createRef: typeof createRef, +forwardRef: typeof forwardRef, +isValidElement: typeof isValidElement, +Component: typeof Component, +PureComponent: typeof PureComponent, +Fragment: typeof Fragment, +Children: typeof Children, +ConcurrentMode: typeof ConcurrentMode, +StrictMode: typeof StrictMode, +Suspense: typeof Suspense, +useContext: typeof useContext, +useState: typeof useState, +useReducer: typeof useReducer, +useRef: typeof useRef, +useEffect: typeof useEffect, +useLayoutEffect: typeof useLayoutEffect, +useCallback: typeof useCallback, +useMemo: typeof useMemo, +useImperativeHandle: typeof useImperativeHandle, |}; } // TODO Delete this once https://github.com/facebook/react/pull/3031 lands // and "react" becomes the standard name for this module declare module React { declare module.exports: $Exports<'react'>; } type ReactPropsCheckType = ( props: any, propName: string, componentName: string, href?: string) => ?Error; type ReactPropsChainableTypeChecker = { isRequired: ReactPropsCheckType; (props: any, propName: string, componentName: string, href?: string): ?Error; }; type React$PropTypes$arrayOf = (typeChecker: ReactPropsCheckType) => ReactPropsChainableTypeChecker; type React$PropTypes$instanceOf = (expectedClass: any) => ReactPropsChainableTypeChecker; type React$PropTypes$objectOf = (typeChecker: ReactPropsCheckType) => ReactPropsChainableTypeChecker; type React$PropTypes$oneOf = (expectedValues: Array) => ReactPropsChainableTypeChecker; type React$PropTypes$oneOfType = (arrayOfTypeCheckers: Array) => ReactPropsChainableTypeChecker; type React$PropTypes$shape = (shapeTypes: { [key: string]: ReactPropsCheckType }) => ReactPropsChainableTypeChecker; type ReactPropTypes = { array: React$PropType$Primitive>; bool: React$PropType$Primitive; func: React$PropType$Primitive; number: React$PropType$Primitive; object: React$PropType$Primitive; string: React$PropType$Primitive; any: React$PropType$Primitive; arrayOf: React$PropType$ArrayOf; element: React$PropType$Primitive; /* TODO */ instanceOf: React$PropType$InstanceOf; node: React$PropType$Primitive; /* TODO */ objectOf: React$PropType$ObjectOf; oneOf: React$PropType$OneOf; oneOfType: React$PropType$OneOfType; shape: React$PropType$Shape; } ================================================ FILE: flow-typed/npm/recharts_vx.x.x.js ================================================ // flow-typed signature: b20edcad541cddad6f2020dfc58742c4 // flow-typed version: <>/recharts_v^1.0.0-alpha.6/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'recharts' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'recharts' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'recharts/demo/component/AreaChart' { declare module.exports: any; } declare module 'recharts/demo/component/BarChart' { declare module.exports: any; } declare module 'recharts/demo/component/BrushDemo' { declare module.exports: any; } declare module 'recharts/demo/component/CartesianAxis' { declare module.exports: any; } declare module 'recharts/demo/component/CartesianGrid' { declare module.exports: any; } declare module 'recharts/demo/component/ComposedChart' { declare module.exports: any; } declare module 'recharts/demo/component/Curve' { declare module.exports: any; } declare module 'recharts/demo/component/CustomLineDot' { declare module.exports: any; } declare module 'recharts/demo/component/DemoRadarItem' { declare module.exports: any; } declare module 'recharts/demo/component/DemoSankeyLink' { declare module.exports: any; } declare module 'recharts/demo/component/DemoSankeyNode' { declare module.exports: any; } declare module 'recharts/demo/component/DemoTreemapItem' { declare module.exports: any; } declare module 'recharts/demo/component/index' { declare module.exports: any; } declare module 'recharts/demo/component/Legend' { declare module.exports: any; } declare module 'recharts/demo/component/LineChart' { declare module.exports: any; } declare module 'recharts/demo/component/Pie' { declare module.exports: any; } declare module 'recharts/demo/component/PieChart' { declare module.exports: any; } declare module 'recharts/demo/component/PolarAngleAxis' { declare module.exports: any; } declare module 'recharts/demo/component/PolarGrid' { declare module.exports: any; } declare module 'recharts/demo/component/PolarRadiusAxis' { declare module.exports: any; } declare module 'recharts/demo/component/RadarChart' { declare module.exports: any; } declare module 'recharts/demo/component/RadialBarChart' { declare module.exports: any; } declare module 'recharts/demo/component/Rectangle' { declare module.exports: any; } declare module 'recharts/demo/component/ResponsiveContainer' { declare module.exports: any; } declare module 'recharts/demo/component/Sankey' { declare module.exports: any; } declare module 'recharts/demo/component/ScatterChart' { declare module.exports: any; } declare module 'recharts/demo/component/Sector' { declare module.exports: any; } declare module 'recharts/demo/component/TextDemo' { declare module.exports: any; } declare module 'recharts/demo/component/Treemap' { declare module.exports: any; } declare module 'recharts/demo/component/utils' { declare module.exports: any; } declare module 'recharts/demo/container/App' { declare module.exports: any; } declare module 'recharts/demo/index' { declare module.exports: any; } declare module 'recharts/demo/webpack.config' { declare module.exports: any; } declare module 'recharts/es6/cartesian/Area' { declare module.exports: any; } declare module 'recharts/es6/cartesian/Bar' { declare module.exports: any; } declare module 'recharts/es6/cartesian/Brush' { declare module.exports: any; } declare module 'recharts/es6/cartesian/CartesianAxis' { declare module.exports: any; } declare module 'recharts/es6/cartesian/CartesianGrid' { declare module.exports: any; } declare module 'recharts/es6/cartesian/ErrorBar' { declare module.exports: any; } declare module 'recharts/es6/cartesian/Line' { declare module.exports: any; } declare module 'recharts/es6/cartesian/ReferenceArea' { declare module.exports: any; } declare module 'recharts/es6/cartesian/ReferenceDot' { declare module.exports: any; } declare module 'recharts/es6/cartesian/ReferenceLine' { declare module.exports: any; } declare module 'recharts/es6/cartesian/Scatter' { declare module.exports: any; } declare module 'recharts/es6/cartesian/XAxis' { declare module.exports: any; } declare module 'recharts/es6/cartesian/YAxis' { declare module.exports: any; } declare module 'recharts/es6/cartesian/ZAxis' { declare module.exports: any; } declare module 'recharts/es6/chart/AreaChart' { declare module.exports: any; } declare module 'recharts/es6/chart/BarChart' { declare module.exports: any; } declare module 'recharts/es6/chart/ComposedChart' { declare module.exports: any; } declare module 'recharts/es6/chart/generateCategoricalChart' { declare module.exports: any; } declare module 'recharts/es6/chart/LineChart' { declare module.exports: any; } declare module 'recharts/es6/chart/PieChart' { declare module.exports: any; } declare module 'recharts/es6/chart/RadarChart' { declare module.exports: any; } declare module 'recharts/es6/chart/RadialBarChart' { declare module.exports: any; } declare module 'recharts/es6/chart/Sankey' { declare module.exports: any; } declare module 'recharts/es6/chart/ScatterChart' { declare module.exports: any; } declare module 'recharts/es6/chart/Treemap' { declare module.exports: any; } declare module 'recharts/es6/component/Cell' { declare module.exports: any; } declare module 'recharts/es6/component/DefaultLegendContent' { declare module.exports: any; } declare module 'recharts/es6/component/DefaultTooltipContent' { declare module.exports: any; } declare module 'recharts/es6/component/Label' { declare module.exports: any; } declare module 'recharts/es6/component/LabelList' { declare module.exports: any; } declare module 'recharts/es6/component/Legend' { declare module.exports: any; } declare module 'recharts/es6/component/ResponsiveContainer' { declare module.exports: any; } declare module 'recharts/es6/component/Text' { declare module.exports: any; } declare module 'recharts/es6/component/Tooltip' { declare module.exports: any; } declare module 'recharts/es6/container/Layer' { declare module.exports: any; } declare module 'recharts/es6/container/Surface' { declare module.exports: any; } declare module 'recharts/es6/index' { declare module.exports: any; } declare module 'recharts/es6/polar/Pie' { declare module.exports: any; } declare module 'recharts/es6/polar/PolarAngleAxis' { declare module.exports: any; } declare module 'recharts/es6/polar/PolarGrid' { declare module.exports: any; } declare module 'recharts/es6/polar/PolarRadiusAxis' { declare module.exports: any; } declare module 'recharts/es6/polar/Radar' { declare module.exports: any; } declare module 'recharts/es6/polar/RadialBar' { declare module.exports: any; } declare module 'recharts/es6/polyfill' { declare module.exports: any; } declare module 'recharts/es6/shape/Cross' { declare module.exports: any; } declare module 'recharts/es6/shape/Curve' { declare module.exports: any; } declare module 'recharts/es6/shape/Dot' { declare module.exports: any; } declare module 'recharts/es6/shape/Polygon' { declare module.exports: any; } declare module 'recharts/es6/shape/Rectangle' { declare module.exports: any; } declare module 'recharts/es6/shape/Sector' { declare module.exports: any; } declare module 'recharts/es6/shape/Symbols' { declare module.exports: any; } declare module 'recharts/es6/util/AnimationDecorator' { declare module.exports: any; } declare module 'recharts/es6/util/CartesianUtils' { declare module.exports: any; } declare module 'recharts/es6/util/ChartUtils' { declare module.exports: any; } declare module 'recharts/es6/util/CssPrefixUtils' { declare module.exports: any; } declare module 'recharts/es6/util/DataUtils' { declare module.exports: any; } declare module 'recharts/es6/util/DOMUtils' { declare module.exports: any; } declare module 'recharts/es6/util/Events' { declare module.exports: any; } declare module 'recharts/es6/util/LogUtils' { declare module.exports: any; } declare module 'recharts/es6/util/PolarUtils' { declare module.exports: any; } declare module 'recharts/es6/util/PureRender' { declare module.exports: any; } declare module 'recharts/es6/util/ReactUtils' { declare module.exports: any; } declare module 'recharts/lib/cartesian/Area' { declare module.exports: any; } declare module 'recharts/lib/cartesian/Bar' { declare module.exports: any; } declare module 'recharts/lib/cartesian/Brush' { declare module.exports: any; } declare module 'recharts/lib/cartesian/CartesianAxis' { declare module.exports: any; } declare module 'recharts/lib/cartesian/CartesianGrid' { declare module.exports: any; } declare module 'recharts/lib/cartesian/ErrorBar' { declare module.exports: any; } declare module 'recharts/lib/cartesian/Line' { declare module.exports: any; } declare module 'recharts/lib/cartesian/ReferenceArea' { declare module.exports: any; } declare module 'recharts/lib/cartesian/ReferenceDot' { declare module.exports: any; } declare module 'recharts/lib/cartesian/ReferenceLine' { declare module.exports: any; } declare module 'recharts/lib/cartesian/Scatter' { declare module.exports: any; } declare module 'recharts/lib/cartesian/XAxis' { declare module.exports: any; } declare module 'recharts/lib/cartesian/YAxis' { declare module.exports: any; } declare module 'recharts/lib/cartesian/ZAxis' { declare module.exports: any; } declare module 'recharts/lib/chart/AreaChart' { declare module.exports: any; } declare module 'recharts/lib/chart/BarChart' { declare module.exports: any; } declare module 'recharts/lib/chart/ComposedChart' { declare module.exports: any; } declare module 'recharts/lib/chart/generateCategoricalChart' { declare module.exports: any; } declare module 'recharts/lib/chart/LineChart' { declare module.exports: any; } declare module 'recharts/lib/chart/PieChart' { declare module.exports: any; } declare module 'recharts/lib/chart/RadarChart' { declare module.exports: any; } declare module 'recharts/lib/chart/RadialBarChart' { declare module.exports: any; } declare module 'recharts/lib/chart/Sankey' { declare module.exports: any; } declare module 'recharts/lib/chart/ScatterChart' { declare module.exports: any; } declare module 'recharts/lib/chart/Treemap' { declare module.exports: any; } declare module 'recharts/lib/component/Cell' { declare module.exports: any; } declare module 'recharts/lib/component/DefaultLegendContent' { declare module.exports: any; } declare module 'recharts/lib/component/DefaultTooltipContent' { declare module.exports: any; } declare module 'recharts/lib/component/Label' { declare module.exports: any; } declare module 'recharts/lib/component/LabelList' { declare module.exports: any; } declare module 'recharts/lib/component/Legend' { declare module.exports: any; } declare module 'recharts/lib/component/ResponsiveContainer' { declare module.exports: any; } declare module 'recharts/lib/component/Text' { declare module.exports: any; } declare module 'recharts/lib/component/Tooltip' { declare module.exports: any; } declare module 'recharts/lib/container/Layer' { declare module.exports: any; } declare module 'recharts/lib/container/Surface' { declare module.exports: any; } declare module 'recharts/lib/index' { declare module.exports: any; } declare module 'recharts/lib/polar/Pie' { declare module.exports: any; } declare module 'recharts/lib/polar/PolarAngleAxis' { declare module.exports: any; } declare module 'recharts/lib/polar/PolarGrid' { declare module.exports: any; } declare module 'recharts/lib/polar/PolarRadiusAxis' { declare module.exports: any; } declare module 'recharts/lib/polar/Radar' { declare module.exports: any; } declare module 'recharts/lib/polar/RadialBar' { declare module.exports: any; } declare module 'recharts/lib/polyfill' { declare module.exports: any; } declare module 'recharts/lib/shape/Cross' { declare module.exports: any; } declare module 'recharts/lib/shape/Curve' { declare module.exports: any; } declare module 'recharts/lib/shape/Dot' { declare module.exports: any; } declare module 'recharts/lib/shape/Polygon' { declare module.exports: any; } declare module 'recharts/lib/shape/Rectangle' { declare module.exports: any; } declare module 'recharts/lib/shape/Sector' { declare module.exports: any; } declare module 'recharts/lib/shape/Symbols' { declare module.exports: any; } declare module 'recharts/lib/util/AnimationDecorator' { declare module.exports: any; } declare module 'recharts/lib/util/CartesianUtils' { declare module.exports: any; } declare module 'recharts/lib/util/ChartUtils' { declare module.exports: any; } declare module 'recharts/lib/util/CssPrefixUtils' { declare module.exports: any; } declare module 'recharts/lib/util/DataUtils' { declare module.exports: any; } declare module 'recharts/lib/util/DOMUtils' { declare module.exports: any; } declare module 'recharts/lib/util/Events' { declare module.exports: any; } declare module 'recharts/lib/util/LogUtils' { declare module.exports: any; } declare module 'recharts/lib/util/PolarUtils' { declare module.exports: any; } declare module 'recharts/lib/util/PureRender' { declare module.exports: any; } declare module 'recharts/lib/util/ReactUtils' { declare module.exports: any; } declare module 'recharts/src/cartesian/Area' { declare module.exports: any; } declare module 'recharts/src/cartesian/Bar' { declare module.exports: any; } declare module 'recharts/src/cartesian/Brush' { declare module.exports: any; } declare module 'recharts/src/cartesian/CartesianAxis' { declare module.exports: any; } declare module 'recharts/src/cartesian/CartesianGrid' { declare module.exports: any; } declare module 'recharts/src/cartesian/ErrorBar' { declare module.exports: any; } declare module 'recharts/src/cartesian/Line' { declare module.exports: any; } declare module 'recharts/src/cartesian/ReferenceArea' { declare module.exports: any; } declare module 'recharts/src/cartesian/ReferenceDot' { declare module.exports: any; } declare module 'recharts/src/cartesian/ReferenceLine' { declare module.exports: any; } declare module 'recharts/src/cartesian/Scatter' { declare module.exports: any; } declare module 'recharts/src/cartesian/XAxis' { declare module.exports: any; } declare module 'recharts/src/cartesian/YAxis' { declare module.exports: any; } declare module 'recharts/src/cartesian/ZAxis' { declare module.exports: any; } declare module 'recharts/src/chart/AreaChart' { declare module.exports: any; } declare module 'recharts/src/chart/BarChart' { declare module.exports: any; } declare module 'recharts/src/chart/ComposedChart' { declare module.exports: any; } declare module 'recharts/src/chart/generateCategoricalChart' { declare module.exports: any; } declare module 'recharts/src/chart/LineChart' { declare module.exports: any; } declare module 'recharts/src/chart/PieChart' { declare module.exports: any; } declare module 'recharts/src/chart/RadarChart' { declare module.exports: any; } declare module 'recharts/src/chart/RadialBarChart' { declare module.exports: any; } declare module 'recharts/src/chart/Sankey' { declare module.exports: any; } declare module 'recharts/src/chart/ScatterChart' { declare module.exports: any; } declare module 'recharts/src/chart/Treemap' { declare module.exports: any; } declare module 'recharts/src/component/Cell' { declare module.exports: any; } declare module 'recharts/src/component/DefaultLegendContent' { declare module.exports: any; } declare module 'recharts/src/component/DefaultTooltipContent' { declare module.exports: any; } declare module 'recharts/src/component/Label' { declare module.exports: any; } declare module 'recharts/src/component/LabelList' { declare module.exports: any; } declare module 'recharts/src/component/Legend' { declare module.exports: any; } declare module 'recharts/src/component/ResponsiveContainer' { declare module.exports: any; } declare module 'recharts/src/component/Text' { declare module.exports: any; } declare module 'recharts/src/component/Tooltip' { declare module.exports: any; } declare module 'recharts/src/container/Layer' { declare module.exports: any; } declare module 'recharts/src/container/Surface' { declare module.exports: any; } declare module 'recharts/src/index' { declare module.exports: any; } declare module 'recharts/src/polar/Pie' { declare module.exports: any; } declare module 'recharts/src/polar/PolarAngleAxis' { declare module.exports: any; } declare module 'recharts/src/polar/PolarGrid' { declare module.exports: any; } declare module 'recharts/src/polar/PolarRadiusAxis' { declare module.exports: any; } declare module 'recharts/src/polar/Radar' { declare module.exports: any; } declare module 'recharts/src/polar/RadialBar' { declare module.exports: any; } declare module 'recharts/src/polyfill' { declare module.exports: any; } declare module 'recharts/src/shape/Cross' { declare module.exports: any; } declare module 'recharts/src/shape/Curve' { declare module.exports: any; } declare module 'recharts/src/shape/Dot' { declare module.exports: any; } declare module 'recharts/src/shape/Polygon' { declare module.exports: any; } declare module 'recharts/src/shape/Rectangle' { declare module.exports: any; } declare module 'recharts/src/shape/Sector' { declare module.exports: any; } declare module 'recharts/src/shape/Symbols' { declare module.exports: any; } declare module 'recharts/src/util/AnimationDecorator' { declare module.exports: any; } declare module 'recharts/src/util/CartesianUtils' { declare module.exports: any; } declare module 'recharts/src/util/ChartUtils' { declare module.exports: any; } declare module 'recharts/src/util/CssPrefixUtils' { declare module.exports: any; } declare module 'recharts/src/util/DataUtils' { declare module.exports: any; } declare module 'recharts/src/util/DOMUtils' { declare module.exports: any; } declare module 'recharts/src/util/Events' { declare module.exports: any; } declare module 'recharts/src/util/LogUtils' { declare module.exports: any; } declare module 'recharts/src/util/PolarUtils' { declare module.exports: any; } declare module 'recharts/src/util/PureRender' { declare module.exports: any; } declare module 'recharts/src/util/ReactUtils' { declare module.exports: any; } declare module 'recharts/umd/Recharts' { declare module.exports: any; } declare module 'recharts/umd/Recharts.min' { declare module.exports: any; } // Filename aliases declare module 'recharts/demo/component/AreaChart.js' { declare module.exports: $Exports<'recharts/demo/component/AreaChart'>; } declare module 'recharts/demo/component/BarChart.js' { declare module.exports: $Exports<'recharts/demo/component/BarChart'>; } declare module 'recharts/demo/component/BrushDemo.js' { declare module.exports: $Exports<'recharts/demo/component/BrushDemo'>; } declare module 'recharts/demo/component/CartesianAxis.js' { declare module.exports: $Exports<'recharts/demo/component/CartesianAxis'>; } declare module 'recharts/demo/component/CartesianGrid.js' { declare module.exports: $Exports<'recharts/demo/component/CartesianGrid'>; } declare module 'recharts/demo/component/ComposedChart.js' { declare module.exports: $Exports<'recharts/demo/component/ComposedChart'>; } declare module 'recharts/demo/component/Curve.js' { declare module.exports: $Exports<'recharts/demo/component/Curve'>; } declare module 'recharts/demo/component/CustomLineDot.js' { declare module.exports: $Exports<'recharts/demo/component/CustomLineDot'>; } declare module 'recharts/demo/component/DemoRadarItem.js' { declare module.exports: $Exports<'recharts/demo/component/DemoRadarItem'>; } declare module 'recharts/demo/component/DemoSankeyLink.js' { declare module.exports: $Exports<'recharts/demo/component/DemoSankeyLink'>; } declare module 'recharts/demo/component/DemoSankeyNode.js' { declare module.exports: $Exports<'recharts/demo/component/DemoSankeyNode'>; } declare module 'recharts/demo/component/DemoTreemapItem.js' { declare module.exports: $Exports<'recharts/demo/component/DemoTreemapItem'>; } declare module 'recharts/demo/component/index.js' { declare module.exports: $Exports<'recharts/demo/component/index'>; } declare module 'recharts/demo/component/Legend.js' { declare module.exports: $Exports<'recharts/demo/component/Legend'>; } declare module 'recharts/demo/component/LineChart.js' { declare module.exports: $Exports<'recharts/demo/component/LineChart'>; } declare module 'recharts/demo/component/Pie.js' { declare module.exports: $Exports<'recharts/demo/component/Pie'>; } declare module 'recharts/demo/component/PieChart.js' { declare module.exports: $Exports<'recharts/demo/component/PieChart'>; } declare module 'recharts/demo/component/PolarAngleAxis.js' { declare module.exports: $Exports<'recharts/demo/component/PolarAngleAxis'>; } declare module 'recharts/demo/component/PolarGrid.js' { declare module.exports: $Exports<'recharts/demo/component/PolarGrid'>; } declare module 'recharts/demo/component/PolarRadiusAxis.js' { declare module.exports: $Exports<'recharts/demo/component/PolarRadiusAxis'>; } declare module 'recharts/demo/component/RadarChart.js' { declare module.exports: $Exports<'recharts/demo/component/RadarChart'>; } declare module 'recharts/demo/component/RadialBarChart.js' { declare module.exports: $Exports<'recharts/demo/component/RadialBarChart'>; } declare module 'recharts/demo/component/Rectangle.js' { declare module.exports: $Exports<'recharts/demo/component/Rectangle'>; } declare module 'recharts/demo/component/ResponsiveContainer.js' { declare module.exports: $Exports<'recharts/demo/component/ResponsiveContainer'>; } declare module 'recharts/demo/component/Sankey.js' { declare module.exports: $Exports<'recharts/demo/component/Sankey'>; } declare module 'recharts/demo/component/ScatterChart.js' { declare module.exports: $Exports<'recharts/demo/component/ScatterChart'>; } declare module 'recharts/demo/component/Sector.js' { declare module.exports: $Exports<'recharts/demo/component/Sector'>; } declare module 'recharts/demo/component/TextDemo.js' { declare module.exports: $Exports<'recharts/demo/component/TextDemo'>; } declare module 'recharts/demo/component/Treemap.js' { declare module.exports: $Exports<'recharts/demo/component/Treemap'>; } declare module 'recharts/demo/component/utils.js' { declare module.exports: $Exports<'recharts/demo/component/utils'>; } declare module 'recharts/demo/container/App.js' { declare module.exports: $Exports<'recharts/demo/container/App'>; } declare module 'recharts/demo/index.js' { declare module.exports: $Exports<'recharts/demo/index'>; } declare module 'recharts/demo/webpack.config.js' { declare module.exports: $Exports<'recharts/demo/webpack.config'>; } declare module 'recharts/es6/cartesian/Area.js' { declare module.exports: $Exports<'recharts/es6/cartesian/Area'>; } declare module 'recharts/es6/cartesian/Bar.js' { declare module.exports: $Exports<'recharts/es6/cartesian/Bar'>; } declare module 'recharts/es6/cartesian/Brush.js' { declare module.exports: $Exports<'recharts/es6/cartesian/Brush'>; } declare module 'recharts/es6/cartesian/CartesianAxis.js' { declare module.exports: $Exports<'recharts/es6/cartesian/CartesianAxis'>; } declare module 'recharts/es6/cartesian/CartesianGrid.js' { declare module.exports: $Exports<'recharts/es6/cartesian/CartesianGrid'>; } declare module 'recharts/es6/cartesian/ErrorBar.js' { declare module.exports: $Exports<'recharts/es6/cartesian/ErrorBar'>; } declare module 'recharts/es6/cartesian/Line.js' { declare module.exports: $Exports<'recharts/es6/cartesian/Line'>; } declare module 'recharts/es6/cartesian/ReferenceArea.js' { declare module.exports: $Exports<'recharts/es6/cartesian/ReferenceArea'>; } declare module 'recharts/es6/cartesian/ReferenceDot.js' { declare module.exports: $Exports<'recharts/es6/cartesian/ReferenceDot'>; } declare module 'recharts/es6/cartesian/ReferenceLine.js' { declare module.exports: $Exports<'recharts/es6/cartesian/ReferenceLine'>; } declare module 'recharts/es6/cartesian/Scatter.js' { declare module.exports: $Exports<'recharts/es6/cartesian/Scatter'>; } declare module 'recharts/es6/cartesian/XAxis.js' { declare module.exports: $Exports<'recharts/es6/cartesian/XAxis'>; } declare module 'recharts/es6/cartesian/YAxis.js' { declare module.exports: $Exports<'recharts/es6/cartesian/YAxis'>; } declare module 'recharts/es6/cartesian/ZAxis.js' { declare module.exports: $Exports<'recharts/es6/cartesian/ZAxis'>; } declare module 'recharts/es6/chart/AreaChart.js' { declare module.exports: $Exports<'recharts/es6/chart/AreaChart'>; } declare module 'recharts/es6/chart/BarChart.js' { declare module.exports: $Exports<'recharts/es6/chart/BarChart'>; } declare module 'recharts/es6/chart/ComposedChart.js' { declare module.exports: $Exports<'recharts/es6/chart/ComposedChart'>; } declare module 'recharts/es6/chart/generateCategoricalChart.js' { declare module.exports: $Exports<'recharts/es6/chart/generateCategoricalChart'>; } declare module 'recharts/es6/chart/LineChart.js' { declare module.exports: $Exports<'recharts/es6/chart/LineChart'>; } declare module 'recharts/es6/chart/PieChart.js' { declare module.exports: $Exports<'recharts/es6/chart/PieChart'>; } declare module 'recharts/es6/chart/RadarChart.js' { declare module.exports: $Exports<'recharts/es6/chart/RadarChart'>; } declare module 'recharts/es6/chart/RadialBarChart.js' { declare module.exports: $Exports<'recharts/es6/chart/RadialBarChart'>; } declare module 'recharts/es6/chart/Sankey.js' { declare module.exports: $Exports<'recharts/es6/chart/Sankey'>; } declare module 'recharts/es6/chart/ScatterChart.js' { declare module.exports: $Exports<'recharts/es6/chart/ScatterChart'>; } declare module 'recharts/es6/chart/Treemap.js' { declare module.exports: $Exports<'recharts/es6/chart/Treemap'>; } declare module 'recharts/es6/component/Cell.js' { declare module.exports: $Exports<'recharts/es6/component/Cell'>; } declare module 'recharts/es6/component/DefaultLegendContent.js' { declare module.exports: $Exports<'recharts/es6/component/DefaultLegendContent'>; } declare module 'recharts/es6/component/DefaultTooltipContent.js' { declare module.exports: $Exports<'recharts/es6/component/DefaultTooltipContent'>; } declare module 'recharts/es6/component/Label.js' { declare module.exports: $Exports<'recharts/es6/component/Label'>; } declare module 'recharts/es6/component/LabelList.js' { declare module.exports: $Exports<'recharts/es6/component/LabelList'>; } declare module 'recharts/es6/component/Legend.js' { declare module.exports: $Exports<'recharts/es6/component/Legend'>; } declare module 'recharts/es6/component/ResponsiveContainer.js' { declare module.exports: $Exports<'recharts/es6/component/ResponsiveContainer'>; } declare module 'recharts/es6/component/Text.js' { declare module.exports: $Exports<'recharts/es6/component/Text'>; } declare module 'recharts/es6/component/Tooltip.js' { declare module.exports: $Exports<'recharts/es6/component/Tooltip'>; } declare module 'recharts/es6/container/Layer.js' { declare module.exports: $Exports<'recharts/es6/container/Layer'>; } declare module 'recharts/es6/container/Surface.js' { declare module.exports: $Exports<'recharts/es6/container/Surface'>; } declare module 'recharts/es6/index.js' { declare module.exports: $Exports<'recharts/es6/index'>; } declare module 'recharts/es6/polar/Pie.js' { declare module.exports: $Exports<'recharts/es6/polar/Pie'>; } declare module 'recharts/es6/polar/PolarAngleAxis.js' { declare module.exports: $Exports<'recharts/es6/polar/PolarAngleAxis'>; } declare module 'recharts/es6/polar/PolarGrid.js' { declare module.exports: $Exports<'recharts/es6/polar/PolarGrid'>; } declare module 'recharts/es6/polar/PolarRadiusAxis.js' { declare module.exports: $Exports<'recharts/es6/polar/PolarRadiusAxis'>; } declare module 'recharts/es6/polar/Radar.js' { declare module.exports: $Exports<'recharts/es6/polar/Radar'>; } declare module 'recharts/es6/polar/RadialBar.js' { declare module.exports: $Exports<'recharts/es6/polar/RadialBar'>; } declare module 'recharts/es6/polyfill.js' { declare module.exports: $Exports<'recharts/es6/polyfill'>; } declare module 'recharts/es6/shape/Cross.js' { declare module.exports: $Exports<'recharts/es6/shape/Cross'>; } declare module 'recharts/es6/shape/Curve.js' { declare module.exports: $Exports<'recharts/es6/shape/Curve'>; } declare module 'recharts/es6/shape/Dot.js' { declare module.exports: $Exports<'recharts/es6/shape/Dot'>; } declare module 'recharts/es6/shape/Polygon.js' { declare module.exports: $Exports<'recharts/es6/shape/Polygon'>; } declare module 'recharts/es6/shape/Rectangle.js' { declare module.exports: $Exports<'recharts/es6/shape/Rectangle'>; } declare module 'recharts/es6/shape/Sector.js' { declare module.exports: $Exports<'recharts/es6/shape/Sector'>; } declare module 'recharts/es6/shape/Symbols.js' { declare module.exports: $Exports<'recharts/es6/shape/Symbols'>; } declare module 'recharts/es6/util/AnimationDecorator.js' { declare module.exports: $Exports<'recharts/es6/util/AnimationDecorator'>; } declare module 'recharts/es6/util/CartesianUtils.js' { declare module.exports: $Exports<'recharts/es6/util/CartesianUtils'>; } declare module 'recharts/es6/util/ChartUtils.js' { declare module.exports: $Exports<'recharts/es6/util/ChartUtils'>; } declare module 'recharts/es6/util/CssPrefixUtils.js' { declare module.exports: $Exports<'recharts/es6/util/CssPrefixUtils'>; } declare module 'recharts/es6/util/DataUtils.js' { declare module.exports: $Exports<'recharts/es6/util/DataUtils'>; } declare module 'recharts/es6/util/DOMUtils.js' { declare module.exports: $Exports<'recharts/es6/util/DOMUtils'>; } declare module 'recharts/es6/util/Events.js' { declare module.exports: $Exports<'recharts/es6/util/Events'>; } declare module 'recharts/es6/util/LogUtils.js' { declare module.exports: $Exports<'recharts/es6/util/LogUtils'>; } declare module 'recharts/es6/util/PolarUtils.js' { declare module.exports: $Exports<'recharts/es6/util/PolarUtils'>; } declare module 'recharts/es6/util/PureRender.js' { declare module.exports: $Exports<'recharts/es6/util/PureRender'>; } declare module 'recharts/es6/util/ReactUtils.js' { declare module.exports: $Exports<'recharts/es6/util/ReactUtils'>; } declare module 'recharts/lib/cartesian/Area.js' { declare module.exports: $Exports<'recharts/lib/cartesian/Area'>; } declare module 'recharts/lib/cartesian/Bar.js' { declare module.exports: $Exports<'recharts/lib/cartesian/Bar'>; } declare module 'recharts/lib/cartesian/Brush.js' { declare module.exports: $Exports<'recharts/lib/cartesian/Brush'>; } declare module 'recharts/lib/cartesian/CartesianAxis.js' { declare module.exports: $Exports<'recharts/lib/cartesian/CartesianAxis'>; } declare module 'recharts/lib/cartesian/CartesianGrid.js' { declare module.exports: $Exports<'recharts/lib/cartesian/CartesianGrid'>; } declare module 'recharts/lib/cartesian/ErrorBar.js' { declare module.exports: $Exports<'recharts/lib/cartesian/ErrorBar'>; } declare module 'recharts/lib/cartesian/Line.js' { declare module.exports: $Exports<'recharts/lib/cartesian/Line'>; } declare module 'recharts/lib/cartesian/ReferenceArea.js' { declare module.exports: $Exports<'recharts/lib/cartesian/ReferenceArea'>; } declare module 'recharts/lib/cartesian/ReferenceDot.js' { declare module.exports: $Exports<'recharts/lib/cartesian/ReferenceDot'>; } declare module 'recharts/lib/cartesian/ReferenceLine.js' { declare module.exports: $Exports<'recharts/lib/cartesian/ReferenceLine'>; } declare module 'recharts/lib/cartesian/Scatter.js' { declare module.exports: $Exports<'recharts/lib/cartesian/Scatter'>; } declare module 'recharts/lib/cartesian/XAxis.js' { declare module.exports: $Exports<'recharts/lib/cartesian/XAxis'>; } declare module 'recharts/lib/cartesian/YAxis.js' { declare module.exports: $Exports<'recharts/lib/cartesian/YAxis'>; } declare module 'recharts/lib/cartesian/ZAxis.js' { declare module.exports: $Exports<'recharts/lib/cartesian/ZAxis'>; } declare module 'recharts/lib/chart/AreaChart.js' { declare module.exports: $Exports<'recharts/lib/chart/AreaChart'>; } declare module 'recharts/lib/chart/BarChart.js' { declare module.exports: $Exports<'recharts/lib/chart/BarChart'>; } declare module 'recharts/lib/chart/ComposedChart.js' { declare module.exports: $Exports<'recharts/lib/chart/ComposedChart'>; } declare module 'recharts/lib/chart/generateCategoricalChart.js' { declare module.exports: $Exports<'recharts/lib/chart/generateCategoricalChart'>; } declare module 'recharts/lib/chart/LineChart.js' { declare module.exports: $Exports<'recharts/lib/chart/LineChart'>; } declare module 'recharts/lib/chart/PieChart.js' { declare module.exports: $Exports<'recharts/lib/chart/PieChart'>; } declare module 'recharts/lib/chart/RadarChart.js' { declare module.exports: $Exports<'recharts/lib/chart/RadarChart'>; } declare module 'recharts/lib/chart/RadialBarChart.js' { declare module.exports: $Exports<'recharts/lib/chart/RadialBarChart'>; } declare module 'recharts/lib/chart/Sankey.js' { declare module.exports: $Exports<'recharts/lib/chart/Sankey'>; } declare module 'recharts/lib/chart/ScatterChart.js' { declare module.exports: $Exports<'recharts/lib/chart/ScatterChart'>; } declare module 'recharts/lib/chart/Treemap.js' { declare module.exports: $Exports<'recharts/lib/chart/Treemap'>; } declare module 'recharts/lib/component/Cell.js' { declare module.exports: $Exports<'recharts/lib/component/Cell'>; } declare module 'recharts/lib/component/DefaultLegendContent.js' { declare module.exports: $Exports<'recharts/lib/component/DefaultLegendContent'>; } declare module 'recharts/lib/component/DefaultTooltipContent.js' { declare module.exports: $Exports<'recharts/lib/component/DefaultTooltipContent'>; } declare module 'recharts/lib/component/Label.js' { declare module.exports: $Exports<'recharts/lib/component/Label'>; } declare module 'recharts/lib/component/LabelList.js' { declare module.exports: $Exports<'recharts/lib/component/LabelList'>; } declare module 'recharts/lib/component/Legend.js' { declare module.exports: $Exports<'recharts/lib/component/Legend'>; } declare module 'recharts/lib/component/ResponsiveContainer.js' { declare module.exports: $Exports<'recharts/lib/component/ResponsiveContainer'>; } declare module 'recharts/lib/component/Text.js' { declare module.exports: $Exports<'recharts/lib/component/Text'>; } declare module 'recharts/lib/component/Tooltip.js' { declare module.exports: $Exports<'recharts/lib/component/Tooltip'>; } declare module 'recharts/lib/container/Layer.js' { declare module.exports: $Exports<'recharts/lib/container/Layer'>; } declare module 'recharts/lib/container/Surface.js' { declare module.exports: $Exports<'recharts/lib/container/Surface'>; } declare module 'recharts/lib/index.js' { declare module.exports: $Exports<'recharts/lib/index'>; } declare module 'recharts/lib/polar/Pie.js' { declare module.exports: $Exports<'recharts/lib/polar/Pie'>; } declare module 'recharts/lib/polar/PolarAngleAxis.js' { declare module.exports: $Exports<'recharts/lib/polar/PolarAngleAxis'>; } declare module 'recharts/lib/polar/PolarGrid.js' { declare module.exports: $Exports<'recharts/lib/polar/PolarGrid'>; } declare module 'recharts/lib/polar/PolarRadiusAxis.js' { declare module.exports: $Exports<'recharts/lib/polar/PolarRadiusAxis'>; } declare module 'recharts/lib/polar/Radar.js' { declare module.exports: $Exports<'recharts/lib/polar/Radar'>; } declare module 'recharts/lib/polar/RadialBar.js' { declare module.exports: $Exports<'recharts/lib/polar/RadialBar'>; } declare module 'recharts/lib/polyfill.js' { declare module.exports: $Exports<'recharts/lib/polyfill'>; } declare module 'recharts/lib/shape/Cross.js' { declare module.exports: $Exports<'recharts/lib/shape/Cross'>; } declare module 'recharts/lib/shape/Curve.js' { declare module.exports: $Exports<'recharts/lib/shape/Curve'>; } declare module 'recharts/lib/shape/Dot.js' { declare module.exports: $Exports<'recharts/lib/shape/Dot'>; } declare module 'recharts/lib/shape/Polygon.js' { declare module.exports: $Exports<'recharts/lib/shape/Polygon'>; } declare module 'recharts/lib/shape/Rectangle.js' { declare module.exports: $Exports<'recharts/lib/shape/Rectangle'>; } declare module 'recharts/lib/shape/Sector.js' { declare module.exports: $Exports<'recharts/lib/shape/Sector'>; } declare module 'recharts/lib/shape/Symbols.js' { declare module.exports: $Exports<'recharts/lib/shape/Symbols'>; } declare module 'recharts/lib/util/AnimationDecorator.js' { declare module.exports: $Exports<'recharts/lib/util/AnimationDecorator'>; } declare module 'recharts/lib/util/CartesianUtils.js' { declare module.exports: $Exports<'recharts/lib/util/CartesianUtils'>; } declare module 'recharts/lib/util/ChartUtils.js' { declare module.exports: $Exports<'recharts/lib/util/ChartUtils'>; } declare module 'recharts/lib/util/CssPrefixUtils.js' { declare module.exports: $Exports<'recharts/lib/util/CssPrefixUtils'>; } declare module 'recharts/lib/util/DataUtils.js' { declare module.exports: $Exports<'recharts/lib/util/DataUtils'>; } declare module 'recharts/lib/util/DOMUtils.js' { declare module.exports: $Exports<'recharts/lib/util/DOMUtils'>; } declare module 'recharts/lib/util/Events.js' { declare module.exports: $Exports<'recharts/lib/util/Events'>; } declare module 'recharts/lib/util/LogUtils.js' { declare module.exports: $Exports<'recharts/lib/util/LogUtils'>; } declare module 'recharts/lib/util/PolarUtils.js' { declare module.exports: $Exports<'recharts/lib/util/PolarUtils'>; } declare module 'recharts/lib/util/PureRender.js' { declare module.exports: $Exports<'recharts/lib/util/PureRender'>; } declare module 'recharts/lib/util/ReactUtils.js' { declare module.exports: $Exports<'recharts/lib/util/ReactUtils'>; } declare module 'recharts/src/cartesian/Area.js' { declare module.exports: $Exports<'recharts/src/cartesian/Area'>; } declare module 'recharts/src/cartesian/Bar.js' { declare module.exports: $Exports<'recharts/src/cartesian/Bar'>; } declare module 'recharts/src/cartesian/Brush.js' { declare module.exports: $Exports<'recharts/src/cartesian/Brush'>; } declare module 'recharts/src/cartesian/CartesianAxis.js' { declare module.exports: $Exports<'recharts/src/cartesian/CartesianAxis'>; } declare module 'recharts/src/cartesian/CartesianGrid.js' { declare module.exports: $Exports<'recharts/src/cartesian/CartesianGrid'>; } declare module 'recharts/src/cartesian/ErrorBar.js' { declare module.exports: $Exports<'recharts/src/cartesian/ErrorBar'>; } declare module 'recharts/src/cartesian/Line.js' { declare module.exports: $Exports<'recharts/src/cartesian/Line'>; } declare module 'recharts/src/cartesian/ReferenceArea.js' { declare module.exports: $Exports<'recharts/src/cartesian/ReferenceArea'>; } declare module 'recharts/src/cartesian/ReferenceDot.js' { declare module.exports: $Exports<'recharts/src/cartesian/ReferenceDot'>; } declare module 'recharts/src/cartesian/ReferenceLine.js' { declare module.exports: $Exports<'recharts/src/cartesian/ReferenceLine'>; } declare module 'recharts/src/cartesian/Scatter.js' { declare module.exports: $Exports<'recharts/src/cartesian/Scatter'>; } declare module 'recharts/src/cartesian/XAxis.js' { declare module.exports: $Exports<'recharts/src/cartesian/XAxis'>; } declare module 'recharts/src/cartesian/YAxis.js' { declare module.exports: $Exports<'recharts/src/cartesian/YAxis'>; } declare module 'recharts/src/cartesian/ZAxis.js' { declare module.exports: $Exports<'recharts/src/cartesian/ZAxis'>; } declare module 'recharts/src/chart/AreaChart.js' { declare module.exports: $Exports<'recharts/src/chart/AreaChart'>; } declare module 'recharts/src/chart/BarChart.js' { declare module.exports: $Exports<'recharts/src/chart/BarChart'>; } declare module 'recharts/src/chart/ComposedChart.js' { declare module.exports: $Exports<'recharts/src/chart/ComposedChart'>; } declare module 'recharts/src/chart/generateCategoricalChart.js' { declare module.exports: $Exports<'recharts/src/chart/generateCategoricalChart'>; } declare module 'recharts/src/chart/LineChart.js' { declare module.exports: $Exports<'recharts/src/chart/LineChart'>; } declare module 'recharts/src/chart/PieChart.js' { declare module.exports: $Exports<'recharts/src/chart/PieChart'>; } declare module 'recharts/src/chart/RadarChart.js' { declare module.exports: $Exports<'recharts/src/chart/RadarChart'>; } declare module 'recharts/src/chart/RadialBarChart.js' { declare module.exports: $Exports<'recharts/src/chart/RadialBarChart'>; } declare module 'recharts/src/chart/Sankey.js' { declare module.exports: $Exports<'recharts/src/chart/Sankey'>; } declare module 'recharts/src/chart/ScatterChart.js' { declare module.exports: $Exports<'recharts/src/chart/ScatterChart'>; } declare module 'recharts/src/chart/Treemap.js' { declare module.exports: $Exports<'recharts/src/chart/Treemap'>; } declare module 'recharts/src/component/Cell.js' { declare module.exports: $Exports<'recharts/src/component/Cell'>; } declare module 'recharts/src/component/DefaultLegendContent.js' { declare module.exports: $Exports<'recharts/src/component/DefaultLegendContent'>; } declare module 'recharts/src/component/DefaultTooltipContent.js' { declare module.exports: $Exports<'recharts/src/component/DefaultTooltipContent'>; } declare module 'recharts/src/component/Label.js' { declare module.exports: $Exports<'recharts/src/component/Label'>; } declare module 'recharts/src/component/LabelList.js' { declare module.exports: $Exports<'recharts/src/component/LabelList'>; } declare module 'recharts/src/component/Legend.js' { declare module.exports: $Exports<'recharts/src/component/Legend'>; } declare module 'recharts/src/component/ResponsiveContainer.js' { declare module.exports: $Exports<'recharts/src/component/ResponsiveContainer'>; } declare module 'recharts/src/component/Text.js' { declare module.exports: $Exports<'recharts/src/component/Text'>; } declare module 'recharts/src/component/Tooltip.js' { declare module.exports: $Exports<'recharts/src/component/Tooltip'>; } declare module 'recharts/src/container/Layer.js' { declare module.exports: $Exports<'recharts/src/container/Layer'>; } declare module 'recharts/src/container/Surface.js' { declare module.exports: $Exports<'recharts/src/container/Surface'>; } declare module 'recharts/src/index.js' { declare module.exports: $Exports<'recharts/src/index'>; } declare module 'recharts/src/polar/Pie.js' { declare module.exports: $Exports<'recharts/src/polar/Pie'>; } declare module 'recharts/src/polar/PolarAngleAxis.js' { declare module.exports: $Exports<'recharts/src/polar/PolarAngleAxis'>; } declare module 'recharts/src/polar/PolarGrid.js' { declare module.exports: $Exports<'recharts/src/polar/PolarGrid'>; } declare module 'recharts/src/polar/PolarRadiusAxis.js' { declare module.exports: $Exports<'recharts/src/polar/PolarRadiusAxis'>; } declare module 'recharts/src/polar/Radar.js' { declare module.exports: $Exports<'recharts/src/polar/Radar'>; } declare module 'recharts/src/polar/RadialBar.js' { declare module.exports: $Exports<'recharts/src/polar/RadialBar'>; } declare module 'recharts/src/polyfill.js' { declare module.exports: $Exports<'recharts/src/polyfill'>; } declare module 'recharts/src/shape/Cross.js' { declare module.exports: $Exports<'recharts/src/shape/Cross'>; } declare module 'recharts/src/shape/Curve.js' { declare module.exports: $Exports<'recharts/src/shape/Curve'>; } declare module 'recharts/src/shape/Dot.js' { declare module.exports: $Exports<'recharts/src/shape/Dot'>; } declare module 'recharts/src/shape/Polygon.js' { declare module.exports: $Exports<'recharts/src/shape/Polygon'>; } declare module 'recharts/src/shape/Rectangle.js' { declare module.exports: $Exports<'recharts/src/shape/Rectangle'>; } declare module 'recharts/src/shape/Sector.js' { declare module.exports: $Exports<'recharts/src/shape/Sector'>; } declare module 'recharts/src/shape/Symbols.js' { declare module.exports: $Exports<'recharts/src/shape/Symbols'>; } declare module 'recharts/src/util/AnimationDecorator.js' { declare module.exports: $Exports<'recharts/src/util/AnimationDecorator'>; } declare module 'recharts/src/util/CartesianUtils.js' { declare module.exports: $Exports<'recharts/src/util/CartesianUtils'>; } declare module 'recharts/src/util/ChartUtils.js' { declare module.exports: $Exports<'recharts/src/util/ChartUtils'>; } declare module 'recharts/src/util/CssPrefixUtils.js' { declare module.exports: $Exports<'recharts/src/util/CssPrefixUtils'>; } declare module 'recharts/src/util/DataUtils.js' { declare module.exports: $Exports<'recharts/src/util/DataUtils'>; } declare module 'recharts/src/util/DOMUtils.js' { declare module.exports: $Exports<'recharts/src/util/DOMUtils'>; } declare module 'recharts/src/util/Events.js' { declare module.exports: $Exports<'recharts/src/util/Events'>; } declare module 'recharts/src/util/LogUtils.js' { declare module.exports: $Exports<'recharts/src/util/LogUtils'>; } declare module 'recharts/src/util/PolarUtils.js' { declare module.exports: $Exports<'recharts/src/util/PolarUtils'>; } declare module 'recharts/src/util/PureRender.js' { declare module.exports: $Exports<'recharts/src/util/PureRender'>; } declare module 'recharts/src/util/ReactUtils.js' { declare module.exports: $Exports<'recharts/src/util/ReactUtils'>; } declare module 'recharts/umd/Recharts.js' { declare module.exports: $Exports<'recharts/umd/Recharts'>; } declare module 'recharts/umd/Recharts.min.js' { declare module.exports: $Exports<'recharts/umd/Recharts.min'>; } ================================================ FILE: flow-typed/npm/recompose_v0.x.x.js ================================================ // flow-typed signature: ababb4f540ef52bbdbb2fdd0e473eb0d // flow-typed version: 245513abee/recompose_v0.x.x/flow_>=v0.57.x /** * 1) Types give additional constraint on a language, recompose was written on the untyped language * as a consequence of this fact * for some recompose HOCs is near impossible to add correct typings. * 2) flow sometimes does not work as expected. * * So any help and suggestions will be very appreciated. * * ----------------------------------------------------------------------------------- * Type definition of recompose HOCs are splitted into 2 parts, * "HOCs with good flow support" - in most cases you can use them without big issues, * see `test_${hocName}.js` for the idea. * Some known issues: * see test_mapProps.js - inference work but type errors are not detected in hocs * * SUPPORTED HOCs: * defaultProps, mapProps, withProps, withStateHandlers, withHandlers, pure, * onlyUpdateForKeys, shouldUpdate, renderNothing, renderComponent, branch, withPropsOnChange, * onlyUpdateForPropTypes, toClass, withContext, getContext, * setStatic, setPropTypes, setDisplayName, * ----------------------------------------------------------------------------------- * "TODO (UNSUPPORTED) HOCs" - you need to provide type information * (no automatic type inference), voodoo dancing etc * see `test_voodoo.js` for the idea * * remember that: * flattenProp,renameProp, renameProps can easily be replaced with withProps * withReducer, withState -> use withStateHandlers instead * lifecycle -> you don't need recompose if you need a lifecycle, just use React class instead * mapPropsStream -> see test_mapPropsStream.js * ----------------------------------------------------------------------------------- * * utils: * getDisplayName, wrapDisplayName, shallowEqual, * isClassComponent, createEagerElement, createEagerFactory, createSink, componentFromProp, * nest, hoistStatics, */ //------------------- declare module "recompose" { // ----------------------------------------------------------------- // Private declarations // ----------------------------------------------------------------- declare type Void_ R> = ( A, B, C, D ) => void; declare type Void = Void_<*, *, *, *, *, T>; declare type ExtractStateHandlersCodomain = ( v: (state: State, props: Enhanced) => V ) => Void; declare type ExtractHandlersCodomain = ( v: (props: Enhanced) => V ) => V; declare type UnaryFn = (a: A) => R; // ----------------------------------------------------------------- // Public declarations // ----------------------------------------------------------------- declare export type Component = React$ComponentType; declare export type HOC = UnaryFn< Component, Component >; declare export var compose: $Compose; // --------------------------------------------------------------------------- // ----------------===<<>>===-------------------- // --------------------------------------------------------------------------- declare export function defaultProps( defProps: Default ): HOC<{ ...$Exact, ...Default }, Enhanced>; declare export function mapProps( propsMapper: (ownerProps: Enhanced) => Base ): HOC; declare export function withProps( propsMapper: ((ownerProps: Enhanced) => BaseAdd) | BaseAdd ): HOC<{ ...$Exact, ...BaseAdd }, Enhanced>; declare export function withStateHandlers< State, Enhanced, StateHandlers: { [key: string]: ( state: State, props: Enhanced ) => (...payload: any[]) => $Shape } >( initialState: ((props: Enhanced) => State) | State, stateUpdaters: StateHandlers ): HOC< { ...$Exact, ...$Exact, ...$ObjMap }, Enhanced >; declare export function withHandlers< Enhanced, Handlers: | (( props: Enhanced ) => { [key: string]: (props: Enhanced) => Function }) | { [key: string]: (props: Enhanced) => Function } >( handlers: ((props: Enhanced) => Handlers) | Handlers ): HOC< { ...$Exact, ...$ObjMap }, Enhanced >; declare export function pure(a: Component): Component; declare export function onlyUpdateForPropTypes( a: Component ): Component; declare export function onlyUpdateForKeys(Array<$Keys>): HOC; declare export function shouldUpdate( (props: A, nextProps: A) => boolean ): HOC; declare export function toClass(a: Component): Component; declare export function withContext( childContextTypes: ContextPropTypes, getChildContext: (props: A) => ContextObj ): HOC; declare export function getContext( contextTypes: CtxTypes ): HOC<{ ...$Exact, ...CtxTypes }, Enhanced>; /** * It's wrong declaration but having that renderNothing and renderComponent are somehow useless * outside branch enhancer, we just give it an id type * so common way of using branch like * `branch(testFn, renderNothing | renderComponent(Comp))` will work as expected. * Tests are placed at test_branch. */ declare export function renderNothing(C: Component): Component; declare export function renderComponent(a: Component): HOC; /** * We make an assumtion that left and right have the same type if exists */ declare export function branch( testFn: (props: Enhanced) => boolean, // not a HOC because of inference problems, this works but HOC is not left: (Component) => Component, // I never use right part and it can be a problem with inference as should be same type as left right?: (Component) => Component ): HOC; // test_statics declare export function setStatic(key: string, value: any): HOC; declare export function setPropTypes(propTypes: Object): HOC; declare export function setDisplayName(displayName: string): HOC; declare export function withPropsOnChange( shouldMapOrKeys: | ((props: Enhanced, nextProps: Enhanced) => boolean) | Array<$Keys>, propsMapper: (ownerProps: Enhanced) => BaseAdd ): HOC<{ ...$Exact, ...BaseAdd }, Enhanced>; // --------------------------------------------------------------------------- // ----------------===<<>>===------------------------ // --------------------------------------------------------------------------- // use withProps instead declare export function flattenProp( propName: $Keys ): HOC; // use withProps instead declare export function renameProp( oldName: $Keys, newName: $Keys ): HOC; // use withProps instead declare export function renameProps(nameMap: { [key: $Keys]: $Keys }): HOC; // use withStateHandlers instead declare export function withState( stateName: string, stateUpdaterName: string, initialState: T | ((props: Enhanced) => T) ): HOC; // use withStateHandlers instead declare export function withReducer( stateName: string, dispatchName: string, reducer: (state: State, action: Action) => State, initialState: State ): HOC; // lifecycle use React instead declare export function lifecycle(spec: Object): HOC; // Help needed, as explicitly providing the type // errors not detected, see TODO at test_mapPropsStream.js declare export function mapPropsStream( (props$: any) => any ): HOC; // --------------------------------------------------------------------------- // -----------------------------===<<>>===----------------------------- // --------------------------------------------------------------------------- declare export function getDisplayName(C: Component): string; declare export function wrapDisplayName( C: Component, wrapperName: string ): string; declare export function shallowEqual(objA: mixed, objB: mixed): boolean; declare export function isClassComponent(value: any): boolean; declare export function createEagerElement( type: Component | string, props: ?A, children?: ?React$Node ): React$Element; declare export function createEagerFactory( type: Component | string ): (props: ?A, children?: ?React$Node) => React$Element; declare export function createSink( callback: (props: A) => void ): Component; declare export function componentFromProp(propName: string): Component; declare export function nest( ...Components: Array | string> ): Component; declare export function hoistStatics>(hoc: H): H; declare export function componentFromStream( (props$: any) => any ): T => React$Element; declare export function createEventHandler(): { stream: any, handler: Function }; } declare module "recompose/defaultProps" { declare module.exports: $PropertyType<$Exports<"recompose">, "defaultProps">; } declare module "recompose/mapProps" { declare module.exports: $PropertyType<$Exports<"recompose">, "mapProps">; } declare module "recompose/withProps" { declare module.exports: $PropertyType<$Exports<"recompose">, "withProps">; } declare module "recompose/withStateHandlers" { declare module.exports: $PropertyType< $Exports<"recompose">, "withStateHandlers" >; } declare module "recompose/withHandlers" { declare module.exports: $PropertyType<$Exports<"recompose">, "withHandlers">; } declare module "recompose/pure" { declare module.exports: $PropertyType<$Exports<"recompose">, "pure">; } declare module "recompose/onlyUpdateForPropTypes" { declare module.exports: $PropertyType< $Exports<"recompose">, "onlyUpdateForPropTypes" >; } declare module "recompose/onlyUpdateForKeys" { declare module.exports: $PropertyType< $Exports<"recompose">, "onlyUpdateForKeys" >; } declare module "recompose/shouldUpdate" { declare module.exports: $PropertyType<$Exports<"recompose">, "shouldUpdate">; } declare module "recompose/toClass" { declare module.exports: $PropertyType<$Exports<"recompose">, "toClass">; } declare module "recompose/withContext" { declare module.exports: $PropertyType<$Exports<"recompose">, "withContext">; } declare module "recompose/getContext" { declare module.exports: $PropertyType<$Exports<"recompose">, "getContext">; } declare module "recompose/renderNothing" { declare module.exports: $PropertyType<$Exports<"recompose">, "renderNothing">; } declare module "recompose/renderComponent" { declare module.exports: $PropertyType< $Exports<"recompose">, "renderComponent" >; } declare module "recompose/branch" { declare module.exports: $PropertyType<$Exports<"recompose">, "branch">; } declare module "recompose/setStatic" { declare module.exports: $PropertyType<$Exports<"recompose">, "setStatic">; } declare module "recompose/setPropTypes" { declare module.exports: $PropertyType<$Exports<"recompose">, "setPropTypes">; } declare module "recompose/setDisplayName" { declare module.exports: $PropertyType< $Exports<"recompose">, "setDisplayName" >; } declare module "recompose/withPropsOnChange" { declare module.exports: $PropertyType< $Exports<"recompose">, "withPropsOnChange" >; } declare module "recompose/flattenProp" { declare module.exports: $PropertyType<$Exports<"recompose">, "flattenProp">; } declare module "recompose/renameProp" { declare module.exports: $PropertyType<$Exports<"recompose">, "renameProp">; } declare module "recompose/renameProps" { declare module.exports: $PropertyType<$Exports<"recompose">, "renameProps">; } declare module "recompose/withState" { declare module.exports: $PropertyType<$Exports<"recompose">, "withState">; } declare module "recompose/withReducer" { declare module.exports: $PropertyType<$Exports<"recompose">, "withReducer">; } declare module "recompose/lifecycle" { declare module.exports: $PropertyType<$Exports<"recompose">, "lifecycle">; } declare module "recompose/mapPropsStream" { declare module.exports: $PropertyType< $Exports<"recompose">, "mapPropsStream" >; } declare module "recompose/getDisplayName" { declare module.exports: $PropertyType< $Exports<"recompose">, "getDisplayName" >; } declare module "recompose/wrapDisplayName" { declare module.exports: $PropertyType< $Exports<"recompose">, "wrapDisplayName" >; } declare module "recompose/shallowEqual" { declare module.exports: $PropertyType<$Exports<"recompose">, "shallowEqual">; } declare module "recompose/isClassComponent" { declare module.exports: $PropertyType< $Exports<"recompose">, "isClassComponent" >; } declare module "recompose/createEagerElement" { declare module.exports: $PropertyType< $Exports<"recompose">, "createEagerElement" >; } declare module "recompose/createEagerFactory" { declare module.exports: $PropertyType< $Exports<"recompose">, "createEagerFactory" >; } declare module "recompose/createSink" { declare module.exports: $PropertyType<$Exports<"recompose">, "createSink">; } declare module "recompose/componentFromProp" { declare module.exports: $PropertyType< $Exports<"recompose">, "componentFromProp" >; } declare module "recompose/nest" { declare module.exports: $PropertyType<$Exports<"recompose">, "nest">; } declare module "recompose/hoistStatics" { declare module.exports: $PropertyType<$Exports<"recompose">, "hoistStatics">; } declare module "recompose/componentFromStream" { declare module.exports: $PropertyType< $Exports<"recompose">, "componentFromStream" >; } declare module "recompose/createEventHandler" { declare module.exports: $PropertyType< $Exports<"recompose">, "createEventHandler" >; } declare module "recompose/compose" { declare module.exports: $PropertyType<$Exports<"recompose">, "compose">; } ================================================ FILE: flow-typed/npm/recompose_vx.x.x.js ================================================ // flow-typed signature: 18f8472eab52fd1408ec607cec5e2b7a // flow-typed version: <>/recompose_v^0.23.4/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'recompose' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'recompose' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'recompose/baconObservableConfig' { declare module.exports: any; } declare module 'recompose/branch' { declare module.exports: any; } declare module 'recompose/build/Recompose' { declare module.exports: any; } declare module 'recompose/build/Recompose.min' { declare module.exports: any; } declare module 'recompose/cjs/Recompose' { declare module.exports: any; } declare module 'recompose/componentFromProp' { declare module.exports: any; } declare module 'recompose/componentFromStream' { declare module.exports: any; } declare module 'recompose/compose' { declare module.exports: any; } declare module 'recompose/createEagerElement' { declare module.exports: any; } declare module 'recompose/createEagerFactory' { declare module.exports: any; } declare module 'recompose/createEventHandler' { declare module.exports: any; } declare module 'recompose/createSink' { declare module.exports: any; } declare module 'recompose/defaultProps' { declare module.exports: any; } declare module 'recompose/es/Recompose' { declare module.exports: any; } declare module 'recompose/flattenProp' { declare module.exports: any; } declare module 'recompose/flydObservableConfig' { declare module.exports: any; } declare module 'recompose/getContext' { declare module.exports: any; } declare module 'recompose/getDisplayName' { declare module.exports: any; } declare module 'recompose/hoistStatics' { declare module.exports: any; } declare module 'recompose/isClassComponent' { declare module.exports: any; } declare module 'recompose/isReferentiallyTransparentFunctionComponent' { declare module.exports: any; } declare module 'recompose/kefirObservableConfig' { declare module.exports: any; } declare module 'recompose/lifecycle' { declare module.exports: any; } declare module 'recompose/mapProps' { declare module.exports: any; } declare module 'recompose/mapPropsStream' { declare module.exports: any; } declare module 'recompose/mostObservableConfig' { declare module.exports: any; } declare module 'recompose/nest' { declare module.exports: any; } declare module 'recompose/onlyUpdateForKeys' { declare module.exports: any; } declare module 'recompose/onlyUpdateForPropTypes' { declare module.exports: any; } declare module 'recompose/pure' { declare module.exports: any; } declare module 'recompose/renameProp' { declare module.exports: any; } declare module 'recompose/renameProps' { declare module.exports: any; } declare module 'recompose/renderComponent' { declare module.exports: any; } declare module 'recompose/renderNothing' { declare module.exports: any; } declare module 'recompose/rxjs4ObservableConfig' { declare module.exports: any; } declare module 'recompose/rxjsObservableConfig' { declare module.exports: any; } declare module 'recompose/setDisplayName' { declare module.exports: any; } declare module 'recompose/setObservableConfig' { declare module.exports: any; } declare module 'recompose/setPropTypes' { declare module.exports: any; } declare module 'recompose/setStatic' { declare module.exports: any; } declare module 'recompose/shallowEqual' { declare module.exports: any; } declare module 'recompose/shouldUpdate' { declare module.exports: any; } declare module 'recompose/toClass' { declare module.exports: any; } declare module 'recompose/utils/createEagerElementUtil' { declare module.exports: any; } declare module 'recompose/utils/omit' { declare module.exports: any; } declare module 'recompose/utils/pick' { declare module.exports: any; } declare module 'recompose/withContext' { declare module.exports: any; } declare module 'recompose/withHandlers' { declare module.exports: any; } declare module 'recompose/withProps' { declare module.exports: any; } declare module 'recompose/withPropsOnChange' { declare module.exports: any; } declare module 'recompose/withReducer' { declare module.exports: any; } declare module 'recompose/withState' { declare module.exports: any; } declare module 'recompose/wrapDisplayName' { declare module.exports: any; } declare module 'recompose/xstreamObservableConfig' { declare module.exports: any; } // Filename aliases declare module 'recompose/baconObservableConfig.js' { declare module.exports: $Exports<'recompose/baconObservableConfig'>; } declare module 'recompose/branch.js' { declare module.exports: $Exports<'recompose/branch'>; } declare module 'recompose/build/Recompose.js' { declare module.exports: $Exports<'recompose/build/Recompose'>; } declare module 'recompose/build/Recompose.min.js' { declare module.exports: $Exports<'recompose/build/Recompose.min'>; } declare module 'recompose/cjs/Recompose.js' { declare module.exports: $Exports<'recompose/cjs/Recompose'>; } declare module 'recompose/componentFromProp.js' { declare module.exports: $Exports<'recompose/componentFromProp'>; } declare module 'recompose/componentFromStream.js' { declare module.exports: $Exports<'recompose/componentFromStream'>; } declare module 'recompose/compose.js' { declare module.exports: $Exports<'recompose/compose'>; } declare module 'recompose/createEagerElement.js' { declare module.exports: $Exports<'recompose/createEagerElement'>; } declare module 'recompose/createEagerFactory.js' { declare module.exports: $Exports<'recompose/createEagerFactory'>; } declare module 'recompose/createEventHandler.js' { declare module.exports: $Exports<'recompose/createEventHandler'>; } declare module 'recompose/createSink.js' { declare module.exports: $Exports<'recompose/createSink'>; } declare module 'recompose/defaultProps.js' { declare module.exports: $Exports<'recompose/defaultProps'>; } declare module 'recompose/es/Recompose.js' { declare module.exports: $Exports<'recompose/es/Recompose'>; } declare module 'recompose/flattenProp.js' { declare module.exports: $Exports<'recompose/flattenProp'>; } declare module 'recompose/flydObservableConfig.js' { declare module.exports: $Exports<'recompose/flydObservableConfig'>; } declare module 'recompose/getContext.js' { declare module.exports: $Exports<'recompose/getContext'>; } declare module 'recompose/getDisplayName.js' { declare module.exports: $Exports<'recompose/getDisplayName'>; } declare module 'recompose/hoistStatics.js' { declare module.exports: $Exports<'recompose/hoistStatics'>; } declare module 'recompose/index' { declare module.exports: $Exports<'recompose'>; } declare module 'recompose/index.js' { declare module.exports: $Exports<'recompose'>; } declare module 'recompose/isClassComponent.js' { declare module.exports: $Exports<'recompose/isClassComponent'>; } declare module 'recompose/isReferentiallyTransparentFunctionComponent.js' { declare module.exports: $Exports<'recompose/isReferentiallyTransparentFunctionComponent'>; } declare module 'recompose/kefirObservableConfig.js' { declare module.exports: $Exports<'recompose/kefirObservableConfig'>; } declare module 'recompose/lifecycle.js' { declare module.exports: $Exports<'recompose/lifecycle'>; } declare module 'recompose/mapProps.js' { declare module.exports: $Exports<'recompose/mapProps'>; } declare module 'recompose/mapPropsStream.js' { declare module.exports: $Exports<'recompose/mapPropsStream'>; } declare module 'recompose/mostObservableConfig.js' { declare module.exports: $Exports<'recompose/mostObservableConfig'>; } declare module 'recompose/nest.js' { declare module.exports: $Exports<'recompose/nest'>; } declare module 'recompose/onlyUpdateForKeys.js' { declare module.exports: $Exports<'recompose/onlyUpdateForKeys'>; } declare module 'recompose/onlyUpdateForPropTypes.js' { declare module.exports: $Exports<'recompose/onlyUpdateForPropTypes'>; } declare module 'recompose/pure.js' { declare module.exports: $Exports<'recompose/pure'>; } declare module 'recompose/renameProp.js' { declare module.exports: $Exports<'recompose/renameProp'>; } declare module 'recompose/renameProps.js' { declare module.exports: $Exports<'recompose/renameProps'>; } declare module 'recompose/renderComponent.js' { declare module.exports: $Exports<'recompose/renderComponent'>; } declare module 'recompose/renderNothing.js' { declare module.exports: $Exports<'recompose/renderNothing'>; } declare module 'recompose/rxjs4ObservableConfig.js' { declare module.exports: $Exports<'recompose/rxjs4ObservableConfig'>; } declare module 'recompose/rxjsObservableConfig.js' { declare module.exports: $Exports<'recompose/rxjsObservableConfig'>; } declare module 'recompose/setDisplayName.js' { declare module.exports: $Exports<'recompose/setDisplayName'>; } declare module 'recompose/setObservableConfig.js' { declare module.exports: $Exports<'recompose/setObservableConfig'>; } declare module 'recompose/setPropTypes.js' { declare module.exports: $Exports<'recompose/setPropTypes'>; } declare module 'recompose/setStatic.js' { declare module.exports: $Exports<'recompose/setStatic'>; } declare module 'recompose/shallowEqual.js' { declare module.exports: $Exports<'recompose/shallowEqual'>; } declare module 'recompose/shouldUpdate.js' { declare module.exports: $Exports<'recompose/shouldUpdate'>; } declare module 'recompose/toClass.js' { declare module.exports: $Exports<'recompose/toClass'>; } declare module 'recompose/utils/createEagerElementUtil.js' { declare module.exports: $Exports<'recompose/utils/createEagerElementUtil'>; } declare module 'recompose/utils/omit.js' { declare module.exports: $Exports<'recompose/utils/omit'>; } declare module 'recompose/utils/pick.js' { declare module.exports: $Exports<'recompose/utils/pick'>; } declare module 'recompose/withContext.js' { declare module.exports: $Exports<'recompose/withContext'>; } declare module 'recompose/withHandlers.js' { declare module.exports: $Exports<'recompose/withHandlers'>; } declare module 'recompose/withProps.js' { declare module.exports: $Exports<'recompose/withProps'>; } declare module 'recompose/withPropsOnChange.js' { declare module.exports: $Exports<'recompose/withPropsOnChange'>; } declare module 'recompose/withReducer.js' { declare module.exports: $Exports<'recompose/withReducer'>; } declare module 'recompose/withState.js' { declare module.exports: $Exports<'recompose/withState'>; } declare module 'recompose/wrapDisplayName.js' { declare module.exports: $Exports<'recompose/wrapDisplayName'>; } declare module 'recompose/xstreamObservableConfig.js' { declare module.exports: $Exports<'recompose/xstreamObservableConfig'>; } ================================================ FILE: flow-typed/npm/redis-tag-cache_vx.x.x.js ================================================ // flow-typed signature: c7f5b43c5e1b103e542648906166804f // flow-typed version: <>/redis-tag-cache_v1.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'redis-tag-cache' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ import type { RedisOptions } from 'ioredis'; declare module 'redis-tag-cache' { declare type Options = { defaultTimeout?: number, redis?: RedisOptions, } declare type SetOptions = { timeout?: number } declare class TagCache { constructor(options?: Options): void; get(...keys: Array): Promise; set(key: string, data: any, tags: Array, options?: SetOptions): Promise; invalidate(...tags: Array): Promise; } declare module.exports: typeof TagCache; } ================================================ FILE: flow-typed/npm/redraft_vx.x.x.js ================================================ // flow-typed signature: a33fbd6ef285c13738540a6c718e3635 // flow-typed version: <>/redraft_v0.8.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'redraft' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'redraft' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'redraft/lib/ContentNode' { declare module.exports: any; } declare module 'redraft/lib/createStyleRenderer' { declare module.exports: any; } declare module 'redraft/lib/defaultOptions' { declare module.exports: any; } declare module 'redraft/lib/helpers/arrayEqual' { declare module.exports: any; } declare module 'redraft/lib/helpers/checkCleanup' { declare module.exports: any; } declare module 'redraft/lib/helpers/checkJoin' { declare module.exports: any; } declare module 'redraft/lib/helpers/getKeyGenerator' { declare module.exports: any; } declare module 'redraft/lib/helpers/pushString' { declare module.exports: any; } declare module 'redraft/lib/helpers/stubContentBlock' { declare module.exports: any; } declare module 'redraft/lib/helpers/warn' { declare module.exports: any; } declare module 'redraft/lib/index' { declare module.exports: any; } declare module 'redraft/lib/RawParser' { declare module.exports: any; } declare module 'redraft/lib/render' { declare module.exports: any; } declare module 'redraft/lib/withDecorators' { declare module.exports: any; } // Filename aliases declare module 'redraft/lib/ContentNode.js' { declare module.exports: $Exports<'redraft/lib/ContentNode'>; } declare module 'redraft/lib/createStyleRenderer.js' { declare module.exports: $Exports<'redraft/lib/createStyleRenderer'>; } declare module 'redraft/lib/defaultOptions.js' { declare module.exports: $Exports<'redraft/lib/defaultOptions'>; } declare module 'redraft/lib/helpers/arrayEqual.js' { declare module.exports: $Exports<'redraft/lib/helpers/arrayEqual'>; } declare module 'redraft/lib/helpers/checkCleanup.js' { declare module.exports: $Exports<'redraft/lib/helpers/checkCleanup'>; } declare module 'redraft/lib/helpers/checkJoin.js' { declare module.exports: $Exports<'redraft/lib/helpers/checkJoin'>; } declare module 'redraft/lib/helpers/getKeyGenerator.js' { declare module.exports: $Exports<'redraft/lib/helpers/getKeyGenerator'>; } declare module 'redraft/lib/helpers/pushString.js' { declare module.exports: $Exports<'redraft/lib/helpers/pushString'>; } declare module 'redraft/lib/helpers/stubContentBlock.js' { declare module.exports: $Exports<'redraft/lib/helpers/stubContentBlock'>; } declare module 'redraft/lib/helpers/warn.js' { declare module.exports: $Exports<'redraft/lib/helpers/warn'>; } declare module 'redraft/lib/index.js' { declare module.exports: $Exports<'redraft/lib/index'>; } declare module 'redraft/lib/RawParser.js' { declare module.exports: $Exports<'redraft/lib/RawParser'>; } declare module 'redraft/lib/render.js' { declare module.exports: $Exports<'redraft/lib/render'>; } declare module 'redraft/lib/withDecorators.js' { declare module.exports: $Exports<'redraft/lib/withDecorators'>; } ================================================ FILE: flow-typed/npm/redux-thunk_vx.x.x.js ================================================ // flow-typed signature: 19a75723ac134fae1bc601cc5d735e91 // flow-typed version: <>/redux-thunk_v^2.2.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'redux-thunk' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'redux-thunk' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'redux-thunk/dist/redux-thunk' { declare module.exports: any; } declare module 'redux-thunk/dist/redux-thunk.min' { declare module.exports: any; } declare module 'redux-thunk/es/index' { declare module.exports: any; } declare module 'redux-thunk/lib/index' { declare module.exports: any; } declare module 'redux-thunk/src/index' { declare module.exports: any; } // Filename aliases declare module 'redux-thunk/dist/redux-thunk.js' { declare module.exports: $Exports<'redux-thunk/dist/redux-thunk'>; } declare module 'redux-thunk/dist/redux-thunk.min.js' { declare module.exports: $Exports<'redux-thunk/dist/redux-thunk.min'>; } declare module 'redux-thunk/es/index.js' { declare module.exports: $Exports<'redux-thunk/es/index'>; } declare module 'redux-thunk/lib/index.js' { declare module.exports: $Exports<'redux-thunk/lib/index'>; } declare module 'redux-thunk/src/index.js' { declare module.exports: $Exports<'redux-thunk/src/index'>; } ================================================ FILE: flow-typed/npm/redux_v3.x.x.js ================================================ // flow-typed signature: 86993bd000012d3e1ef10d757d16952d // flow-typed version: a165222d28/redux_v3.x.x/flow_>=v0.33.x declare module 'redux' { /* S = State A = Action D = Dispatch */ declare type DispatchAPI = (action: A) => A; declare type Dispatch }> = DispatchAPI; declare type MiddlewareAPI> = { dispatch: D, getState(): S, }; declare type Store> = { // rewrite MiddlewareAPI members in order to get nicer error messages (intersections produce long messages) dispatch: D, getState(): S, subscribe(listener: () => void): () => void, replaceReducer(nextReducer: Reducer): void, }; declare type Reducer = (state: S, action: A) => S; declare type CombinedReducer = ( state: ($Shape & {}) | void, action: A ) => S; declare type Middleware> = ( api: MiddlewareAPI ) => (next: D) => D; declare type StoreCreator> = { (reducer: Reducer, enhancer?: StoreEnhancer): Store, ( reducer: Reducer, preloadedState: S, enhancer?: StoreEnhancer ): Store, }; declare type StoreEnhancer> = ( next: StoreCreator ) => StoreCreator; declare function createStore( reducer: Reducer, enhancer?: StoreEnhancer ): Store; declare function createStore( reducer: Reducer, preloadedState: S, enhancer?: StoreEnhancer ): Store; declare function applyMiddleware( ...middlewares: Array> ): StoreEnhancer; declare type ActionCreator = (...args: Array) => A; declare type ActionCreators = { [key: K]: ActionCreator }; declare function bindActionCreators< A, C: ActionCreator, D: DispatchAPI >( actionCreator: C, dispatch: D ): C; declare function bindActionCreators< A, K, C: ActionCreators, D: DispatchAPI >( actionCreators: C, dispatch: D ): C; declare function combineReducers( reducers: O ): CombinedReducer<$ObjMap(r: Reducer) => S>, A>; declare function compose(ab: (a: A) => B): (a: A) => B; declare function compose( bc: (b: B) => C, ab: (a: A) => B ): (a: A) => C; declare function compose( cd: (c: C) => D, bc: (b: B) => C, ab: (a: A) => B ): (a: A) => D; declare function compose( de: (d: D) => E, cd: (c: C) => D, bc: (b: B) => C, ab: (a: A) => B ): (a: A) => E; declare function compose( ef: (e: E) => F, de: (d: D) => E, cd: (c: C) => D, bc: (b: B) => C, ab: (a: A) => B ): (a: A) => F; declare function compose( fg: (f: F) => G, ef: (e: E) => F, de: (d: D) => E, cd: (c: C) => D, bc: (b: B) => C, ab: (a: A) => B ): (a: A) => G; declare function compose( gh: (g: G) => H, fg: (f: F) => G, ef: (e: E) => F, de: (d: D) => E, cd: (c: C) => D, bc: (b: B) => C, ab: (a: A) => B ): (a: A) => H; declare function compose( hi: (h: H) => I, gh: (g: G) => H, fg: (f: F) => G, ef: (e: E) => F, de: (d: D) => E, cd: (c: C) => D, bc: (b: B) => C, ab: (a: A) => B ): (a: A) => I; } ================================================ FILE: flow-typed/npm/request-ip_vx.x.x.js ================================================ // flow-typed signature: 78b6b0fc3ee7604a3e67412a6cd6a121 // flow-typed version: <>/request-ip_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'request-ip' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'request-ip' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'request-ip/dist/index' { declare module.exports: any; } // Filename aliases declare module 'request-ip/dist/index.js' { declare module.exports: $Exports<'request-ip/dist/index'>; } ================================================ FILE: flow-typed/npm/rethinkdb-changefeed-reconnect_vx.x.x.js ================================================ // flow-typed signature: 592c0e5852cd969e5602279b98fb79c2 // flow-typed version: <>/rethinkdb-changefeed-reconnect_v0.3.2/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'rethinkdb-changefeed-reconnect' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'rethinkdb-changefeed-reconnect' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'rethinkdb-changefeed-reconnect/example/example.babel' { declare module.exports: any; } declare module 'rethinkdb-changefeed-reconnect/example/example' { declare module.exports: any; } declare module 'rethinkdb-changefeed-reconnect/example/index' { declare module.exports: any; } declare module 'rethinkdb-changefeed-reconnect/lib/__tests__/index.test' { declare module.exports: any; } declare module 'rethinkdb-changefeed-reconnect/lib/index' { declare module.exports: any; } declare module 'rethinkdb-changefeed-reconnect/src/__tests__/index.test' { declare module.exports: any; } declare module 'rethinkdb-changefeed-reconnect/src/index' { declare module.exports: any; } // Filename aliases declare module 'rethinkdb-changefeed-reconnect/example/example.babel.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/example/example.babel'>; } declare module 'rethinkdb-changefeed-reconnect/example/example.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/example/example'>; } declare module 'rethinkdb-changefeed-reconnect/example/index.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/example/index'>; } declare module 'rethinkdb-changefeed-reconnect/lib/__tests__/index.test.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/lib/__tests__/index.test'>; } declare module 'rethinkdb-changefeed-reconnect/lib/index.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/lib/index'>; } declare module 'rethinkdb-changefeed-reconnect/src/__tests__/index.test.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/src/__tests__/index.test'>; } declare module 'rethinkdb-changefeed-reconnect/src/index.js' { declare module.exports: $Exports<'rethinkdb-changefeed-reconnect/src/index'>; } ================================================ FILE: flow-typed/npm/rethinkdb-inspector_vx.x.x.js ================================================ // flow-typed signature: 9d1c99b3d5cd0cb7ce1484adb1ad5554 // flow-typed version: <>/rethinkdb-inspector_v^0.3.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'rethinkdb-inspector' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'rethinkdb-inspector' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'rethinkdb-inspector/dist/error' { declare module.exports: any; } declare module 'rethinkdb-inspector/dist/get-query-string' { declare module.exports: any; } declare module 'rethinkdb-inspector/dist/index' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-cli_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-core_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-eslint_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-polyfill_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-env_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-es2015_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-flow_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-stage-2_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/eslint_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/eslint-plugin-babel_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/flow-bin_v0.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/husky_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/jest_v19.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/jest_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/lint-staged_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/performance-now_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/prettier_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/rethinkdbdash_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/flow-typed/npm/rimraf_vx.x.x' { declare module.exports: any; } declare module 'rethinkdb-inspector/src/error' { declare module.exports: any; } declare module 'rethinkdb-inspector/src/get-query-string' { declare module.exports: any; } declare module 'rethinkdb-inspector/src/index' { declare module.exports: any; } declare module 'rethinkdb-inspector/src/test/index.test' { declare module.exports: any; } declare module 'rethinkdb-inspector/src/test/on-query-complete.test' { declare module.exports: any; } // Filename aliases declare module 'rethinkdb-inspector/dist/error.js' { declare module.exports: $Exports<'rethinkdb-inspector/dist/error'>; } declare module 'rethinkdb-inspector/dist/get-query-string.js' { declare module.exports: $Exports<'rethinkdb-inspector/dist/get-query-string'>; } declare module 'rethinkdb-inspector/dist/index.js' { declare module.exports: $Exports<'rethinkdb-inspector/dist/index'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-cli_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-cli_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-core_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-core_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-eslint_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-eslint_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-plugin-transform-react-jsx_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-polyfill_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-polyfill_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-env_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-preset-env_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-es2015_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-preset-es2015_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-flow_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-preset-flow_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/babel-preset-stage-2_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/babel-preset-stage-2_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/eslint_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/eslint_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/eslint-plugin-babel_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/eslint-plugin-babel_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/flow-bin_v0.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/flow-bin_v0.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/husky_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/husky_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/jest_v19.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/jest_v19.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/jest_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/jest_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/lint-staged_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/lint-staged_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/performance-now_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/performance-now_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/prettier_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/prettier_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/rethinkdbdash_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/rethinkdbdash_vx.x.x'>; } declare module 'rethinkdb-inspector/flow-typed/npm/rimraf_vx.x.x.js' { declare module.exports: $Exports<'rethinkdb-inspector/flow-typed/npm/rimraf_vx.x.x'>; } declare module 'rethinkdb-inspector/src/error.js' { declare module.exports: $Exports<'rethinkdb-inspector/src/error'>; } declare module 'rethinkdb-inspector/src/get-query-string.js' { declare module.exports: $Exports<'rethinkdb-inspector/src/get-query-string'>; } declare module 'rethinkdb-inspector/src/index.js' { declare module.exports: $Exports<'rethinkdb-inspector/src/index'>; } declare module 'rethinkdb-inspector/src/test/index.test.js' { declare module.exports: $Exports<'rethinkdb-inspector/src/test/index.test'>; } declare module 'rethinkdb-inspector/src/test/on-query-complete.test.js' { declare module.exports: $Exports<'rethinkdb-inspector/src/test/on-query-complete.test'>; } ================================================ FILE: flow-typed/npm/rethinkdb-migrate_vx.x.x.js ================================================ // flow-typed signature: d534b3f2a8403beadba92fe908433790 // flow-typed version: <>/rethinkdb-migrate_v^1.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'rethinkdb-migrate' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'rethinkdb-migrate' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'rethinkdb-migrate/Gruntfile' { declare module.exports: any; } declare module 'rethinkdb-migrate/lib/create' { declare module.exports: any; } declare module 'rethinkdb-migrate/lib/index' { declare module.exports: any; } declare module 'rethinkdb-migrate/lib/migrate' { declare module.exports: any; } declare module 'rethinkdb-migrate/lib/template' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/create' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/fixtures/migrations/20151005145709-create-table' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/fixtures/migrations/20151005165432-insert-data' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/fixtures/migrations2/20151005145709-create-table' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/fixtures/migrations2/20151005165432-insert-data' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/fixtures/migrations2/20151005185432-remove-data' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/index' { declare module.exports: any; } declare module 'rethinkdb-migrate/test/migrate' { declare module.exports: any; } // Filename aliases declare module 'rethinkdb-migrate/Gruntfile.js' { declare module.exports: $Exports<'rethinkdb-migrate/Gruntfile'>; } declare module 'rethinkdb-migrate/lib/create.js' { declare module.exports: $Exports<'rethinkdb-migrate/lib/create'>; } declare module 'rethinkdb-migrate/lib/index.js' { declare module.exports: $Exports<'rethinkdb-migrate/lib/index'>; } declare module 'rethinkdb-migrate/lib/migrate.js' { declare module.exports: $Exports<'rethinkdb-migrate/lib/migrate'>; } declare module 'rethinkdb-migrate/lib/template.js' { declare module.exports: $Exports<'rethinkdb-migrate/lib/template'>; } declare module 'rethinkdb-migrate/test/create.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/create'>; } declare module 'rethinkdb-migrate/test/fixtures/migrations/20151005145709-create-table.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/fixtures/migrations/20151005145709-create-table'>; } declare module 'rethinkdb-migrate/test/fixtures/migrations/20151005165432-insert-data.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/fixtures/migrations/20151005165432-insert-data'>; } declare module 'rethinkdb-migrate/test/fixtures/migrations2/20151005145709-create-table.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/fixtures/migrations2/20151005145709-create-table'>; } declare module 'rethinkdb-migrate/test/fixtures/migrations2/20151005165432-insert-data.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/fixtures/migrations2/20151005165432-insert-data'>; } declare module 'rethinkdb-migrate/test/fixtures/migrations2/20151005185432-remove-data.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/fixtures/migrations2/20151005185432-remove-data'>; } declare module 'rethinkdb-migrate/test/index.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/index'>; } declare module 'rethinkdb-migrate/test/migrate.js' { declare module.exports: $Exports<'rethinkdb-migrate/test/migrate'>; } ================================================ FILE: flow-typed/npm/rethinkdbdash_vx.x.x.js ================================================ // flow-typed signature: 8aa2281f96fb7c2a1d233f3f4503561a // flow-typed version: <>/rethinkdbdash_v^2.3.29/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'rethinkdbdash' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'rethinkdbdash' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'rethinkdbdash/browserify' { declare module.exports: any; } declare module 'rethinkdbdash/lib/connection' { declare module.exports: any; } declare module 'rethinkdbdash/lib/cursor' { declare module.exports: any; } declare module 'rethinkdbdash/lib/dequeue' { declare module.exports: any; } declare module 'rethinkdbdash/lib/error' { declare module.exports: any; } declare module 'rethinkdbdash/lib/helper' { declare module.exports: any; } declare module 'rethinkdbdash/lib/index' { declare module.exports: any; } declare module 'rethinkdbdash/lib/metadata' { declare module.exports: any; } declare module 'rethinkdbdash/lib/pool_master' { declare module.exports: any; } declare module 'rethinkdbdash/lib/pool' { declare module.exports: any; } declare module 'rethinkdbdash/lib/protodef' { declare module.exports: any; } declare module 'rethinkdbdash/lib/stream' { declare module.exports: any; } declare module 'rethinkdbdash/lib/term' { declare module.exports: any; } declare module 'rethinkdbdash/lib/transform_stream' { declare module.exports: any; } declare module 'rethinkdbdash/lib/writable_stream' { declare module.exports: any; } declare module 'rethinkdbdash/long_test/config' { declare module.exports: any; } declare module 'rethinkdbdash/long_test/discovery' { declare module.exports: any; } declare module 'rethinkdbdash/long_test/static' { declare module.exports: any; } declare module 'rethinkdbdash/long_test/writable_stream' { declare module.exports: any; } declare module 'rethinkdbdash/test/accessing-reql' { declare module.exports: any; } declare module 'rethinkdbdash/test/administration' { declare module.exports: any; } declare module 'rethinkdbdash/test/aggregation' { declare module.exports: any; } declare module 'rethinkdbdash/test/backtrace' { declare module.exports: any; } declare module 'rethinkdbdash/test/client-backtrace' { declare module.exports: any; } declare module 'rethinkdbdash/test/config' { declare module.exports: any; } declare module 'rethinkdbdash/test/control-structures' { declare module.exports: any; } declare module 'rethinkdbdash/test/coverage' { declare module.exports: any; } declare module 'rethinkdbdash/test/cursor' { declare module.exports: any; } declare module 'rethinkdbdash/test/dates-and-times' { declare module.exports: any; } declare module 'rethinkdbdash/test/datum' { declare module.exports: any; } declare module 'rethinkdbdash/test/dequeue' { declare module.exports: any; } declare module 'rethinkdbdash/test/document-manipulation' { declare module.exports: any; } declare module 'rethinkdbdash/test/error' { declare module.exports: any; } declare module 'rethinkdbdash/test/extra' { declare module.exports: any; } declare module 'rethinkdbdash/test/geo' { declare module.exports: any; } declare module 'rethinkdbdash/test/joins' { declare module.exports: any; } declare module 'rethinkdbdash/test/manipulating-databases' { declare module.exports: any; } declare module 'rethinkdbdash/test/manipulating-tables' { declare module.exports: any; } declare module 'rethinkdbdash/test/math-and-logic' { declare module.exports: any; } declare module 'rethinkdbdash/test/multiple-require' { declare module.exports: any; } declare module 'rethinkdbdash/test/nodeify' { declare module.exports: any; } declare module 'rethinkdbdash/test/pool_legacy' { declare module.exports: any; } declare module 'rethinkdbdash/test/selecting-data' { declare module.exports: any; } declare module 'rethinkdbdash/test/stable' { declare module.exports: any; } declare module 'rethinkdbdash/test/stream' { declare module.exports: any; } declare module 'rethinkdbdash/test/string-manipulation' { declare module.exports: any; } declare module 'rethinkdbdash/test/transform-stream' { declare module.exports: any; } declare module 'rethinkdbdash/test/transformations' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/common' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/database' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/document' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/error' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/group' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/helper' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/index' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/node' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/protodef' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/query' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/selection' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/sequence' { declare module.exports: any; } declare module 'rethinkdbdash/test/util/fake_server/table' { declare module.exports: any; } declare module 'rethinkdbdash/test/writable-stream' { declare module.exports: any; } declare module 'rethinkdbdash/test/writing-data' { declare module.exports: any; } declare module 'rethinkdbdash/tool/generateTest' { declare module.exports: any; } declare module 'rethinkdbdash/tool/ulimit' { declare module.exports: any; } // Filename aliases declare module 'rethinkdbdash/browserify.js' { declare module.exports: $Exports<'rethinkdbdash/browserify'>; } declare module 'rethinkdbdash/lib/connection.js' { declare module.exports: $Exports<'rethinkdbdash/lib/connection'>; } declare module 'rethinkdbdash/lib/cursor.js' { declare module.exports: $Exports<'rethinkdbdash/lib/cursor'>; } declare module 'rethinkdbdash/lib/dequeue.js' { declare module.exports: $Exports<'rethinkdbdash/lib/dequeue'>; } declare module 'rethinkdbdash/lib/error.js' { declare module.exports: $Exports<'rethinkdbdash/lib/error'>; } declare module 'rethinkdbdash/lib/helper.js' { declare module.exports: $Exports<'rethinkdbdash/lib/helper'>; } declare module 'rethinkdbdash/lib/index.js' { declare module.exports: $Exports<'rethinkdbdash/lib/index'>; } declare module 'rethinkdbdash/lib/metadata.js' { declare module.exports: $Exports<'rethinkdbdash/lib/metadata'>; } declare module 'rethinkdbdash/lib/pool_master.js' { declare module.exports: $Exports<'rethinkdbdash/lib/pool_master'>; } declare module 'rethinkdbdash/lib/pool.js' { declare module.exports: $Exports<'rethinkdbdash/lib/pool'>; } declare module 'rethinkdbdash/lib/protodef.js' { declare module.exports: $Exports<'rethinkdbdash/lib/protodef'>; } declare module 'rethinkdbdash/lib/stream.js' { declare module.exports: $Exports<'rethinkdbdash/lib/stream'>; } declare module 'rethinkdbdash/lib/term.js' { declare module.exports: $Exports<'rethinkdbdash/lib/term'>; } declare module 'rethinkdbdash/lib/transform_stream.js' { declare module.exports: $Exports<'rethinkdbdash/lib/transform_stream'>; } declare module 'rethinkdbdash/lib/writable_stream.js' { declare module.exports: $Exports<'rethinkdbdash/lib/writable_stream'>; } declare module 'rethinkdbdash/long_test/config.js' { declare module.exports: $Exports<'rethinkdbdash/long_test/config'>; } declare module 'rethinkdbdash/long_test/discovery.js' { declare module.exports: $Exports<'rethinkdbdash/long_test/discovery'>; } declare module 'rethinkdbdash/long_test/static.js' { declare module.exports: $Exports<'rethinkdbdash/long_test/static'>; } declare module 'rethinkdbdash/long_test/writable_stream.js' { declare module.exports: $Exports<'rethinkdbdash/long_test/writable_stream'>; } declare module 'rethinkdbdash/test/accessing-reql.js' { declare module.exports: $Exports<'rethinkdbdash/test/accessing-reql'>; } declare module 'rethinkdbdash/test/administration.js' { declare module.exports: $Exports<'rethinkdbdash/test/administration'>; } declare module 'rethinkdbdash/test/aggregation.js' { declare module.exports: $Exports<'rethinkdbdash/test/aggregation'>; } declare module 'rethinkdbdash/test/backtrace.js' { declare module.exports: $Exports<'rethinkdbdash/test/backtrace'>; } declare module 'rethinkdbdash/test/client-backtrace.js' { declare module.exports: $Exports<'rethinkdbdash/test/client-backtrace'>; } declare module 'rethinkdbdash/test/config.js' { declare module.exports: $Exports<'rethinkdbdash/test/config'>; } declare module 'rethinkdbdash/test/control-structures.js' { declare module.exports: $Exports<'rethinkdbdash/test/control-structures'>; } declare module 'rethinkdbdash/test/coverage.js' { declare module.exports: $Exports<'rethinkdbdash/test/coverage'>; } declare module 'rethinkdbdash/test/cursor.js' { declare module.exports: $Exports<'rethinkdbdash/test/cursor'>; } declare module 'rethinkdbdash/test/dates-and-times.js' { declare module.exports: $Exports<'rethinkdbdash/test/dates-and-times'>; } declare module 'rethinkdbdash/test/datum.js' { declare module.exports: $Exports<'rethinkdbdash/test/datum'>; } declare module 'rethinkdbdash/test/dequeue.js' { declare module.exports: $Exports<'rethinkdbdash/test/dequeue'>; } declare module 'rethinkdbdash/test/document-manipulation.js' { declare module.exports: $Exports<'rethinkdbdash/test/document-manipulation'>; } declare module 'rethinkdbdash/test/error.js' { declare module.exports: $Exports<'rethinkdbdash/test/error'>; } declare module 'rethinkdbdash/test/extra.js' { declare module.exports: $Exports<'rethinkdbdash/test/extra'>; } declare module 'rethinkdbdash/test/geo.js' { declare module.exports: $Exports<'rethinkdbdash/test/geo'>; } declare module 'rethinkdbdash/test/joins.js' { declare module.exports: $Exports<'rethinkdbdash/test/joins'>; } declare module 'rethinkdbdash/test/manipulating-databases.js' { declare module.exports: $Exports<'rethinkdbdash/test/manipulating-databases'>; } declare module 'rethinkdbdash/test/manipulating-tables.js' { declare module.exports: $Exports<'rethinkdbdash/test/manipulating-tables'>; } declare module 'rethinkdbdash/test/math-and-logic.js' { declare module.exports: $Exports<'rethinkdbdash/test/math-and-logic'>; } declare module 'rethinkdbdash/test/multiple-require.js' { declare module.exports: $Exports<'rethinkdbdash/test/multiple-require'>; } declare module 'rethinkdbdash/test/nodeify.js' { declare module.exports: $Exports<'rethinkdbdash/test/nodeify'>; } declare module 'rethinkdbdash/test/pool_legacy.js' { declare module.exports: $Exports<'rethinkdbdash/test/pool_legacy'>; } declare module 'rethinkdbdash/test/selecting-data.js' { declare module.exports: $Exports<'rethinkdbdash/test/selecting-data'>; } declare module 'rethinkdbdash/test/stable.js' { declare module.exports: $Exports<'rethinkdbdash/test/stable'>; } declare module 'rethinkdbdash/test/stream.js' { declare module.exports: $Exports<'rethinkdbdash/test/stream'>; } declare module 'rethinkdbdash/test/string-manipulation.js' { declare module.exports: $Exports<'rethinkdbdash/test/string-manipulation'>; } declare module 'rethinkdbdash/test/transform-stream.js' { declare module.exports: $Exports<'rethinkdbdash/test/transform-stream'>; } declare module 'rethinkdbdash/test/transformations.js' { declare module.exports: $Exports<'rethinkdbdash/test/transformations'>; } declare module 'rethinkdbdash/test/util/common.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/common'>; } declare module 'rethinkdbdash/test/util/fake_server/database.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/database'>; } declare module 'rethinkdbdash/test/util/fake_server/document.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/document'>; } declare module 'rethinkdbdash/test/util/fake_server/error.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/error'>; } declare module 'rethinkdbdash/test/util/fake_server/group.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/group'>; } declare module 'rethinkdbdash/test/util/fake_server/helper.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/helper'>; } declare module 'rethinkdbdash/test/util/fake_server/index.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/index'>; } declare module 'rethinkdbdash/test/util/fake_server/node.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/node'>; } declare module 'rethinkdbdash/test/util/fake_server/protodef.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/protodef'>; } declare module 'rethinkdbdash/test/util/fake_server/query.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/query'>; } declare module 'rethinkdbdash/test/util/fake_server/selection.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/selection'>; } declare module 'rethinkdbdash/test/util/fake_server/sequence.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/sequence'>; } declare module 'rethinkdbdash/test/util/fake_server/table.js' { declare module.exports: $Exports<'rethinkdbdash/test/util/fake_server/table'>; } declare module 'rethinkdbdash/test/writable-stream.js' { declare module.exports: $Exports<'rethinkdbdash/test/writable-stream'>; } declare module 'rethinkdbdash/test/writing-data.js' { declare module.exports: $Exports<'rethinkdbdash/test/writing-data'>; } declare module 'rethinkdbdash/tool/generateTest.js' { declare module.exports: $Exports<'rethinkdbdash/tool/generateTest'>; } declare module 'rethinkdbdash/tool/ulimit.js' { declare module.exports: $Exports<'rethinkdbdash/tool/ulimit'>; } ================================================ FILE: flow-typed/npm/rethinkhaberdashery_vx.x.x.js ================================================ // flow-typed signature: 3bbe1f5fd24a38093d3be861a7f3eeb7 // flow-typed version: <>/rethinkhaberdashery_v2.3.32/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'rethinkhaberdashery' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'rethinkhaberdashery' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'rethinkhaberdashery/browserify' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/connection' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/cursor' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/dequeue' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/error' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/helper' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/index' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/metadata' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/pool_master' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/pool' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/protodef' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/term' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/transform_stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/lib/writable_stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/long_test/config' { declare module.exports: any; } declare module 'rethinkhaberdashery/long_test/discovery' { declare module.exports: any; } declare module 'rethinkhaberdashery/long_test/static' { declare module.exports: any; } declare module 'rethinkhaberdashery/long_test/writable_stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/accessing-reql' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/administration' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/aggregation' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/backtrace' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/client-backtrace' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/config' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/control-structures' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/coverage' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/cursor' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/dates-and-times' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/datum' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/dequeue' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/document-manipulation' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/error' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/extra' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/geo' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/joins' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/manipulating-databases' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/manipulating-tables' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/math-and-logic' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/multiple-require' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/nodeify' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/pool_legacy' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/selecting-data' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/stable' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/string-manipulation' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/transform-stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/transformations' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/common' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/database' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/document' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/error' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/group' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/helper' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/index' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/node' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/protodef' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/query' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/selection' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/sequence' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/util/fake_server/table' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/writable-stream' { declare module.exports: any; } declare module 'rethinkhaberdashery/test/writing-data' { declare module.exports: any; } declare module 'rethinkhaberdashery/tool/generateTest' { declare module.exports: any; } declare module 'rethinkhaberdashery/tool/ulimit' { declare module.exports: any; } // Filename aliases declare module 'rethinkhaberdashery/browserify.js' { declare module.exports: $Exports<'rethinkhaberdashery/browserify'>; } declare module 'rethinkhaberdashery/lib/connection.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/connection'>; } declare module 'rethinkhaberdashery/lib/cursor.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/cursor'>; } declare module 'rethinkhaberdashery/lib/dequeue.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/dequeue'>; } declare module 'rethinkhaberdashery/lib/error.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/error'>; } declare module 'rethinkhaberdashery/lib/helper.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/helper'>; } declare module 'rethinkhaberdashery/lib/index.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/index'>; } declare module 'rethinkhaberdashery/lib/metadata.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/metadata'>; } declare module 'rethinkhaberdashery/lib/pool_master.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/pool_master'>; } declare module 'rethinkhaberdashery/lib/pool.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/pool'>; } declare module 'rethinkhaberdashery/lib/protodef.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/protodef'>; } declare module 'rethinkhaberdashery/lib/stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/stream'>; } declare module 'rethinkhaberdashery/lib/term.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/term'>; } declare module 'rethinkhaberdashery/lib/transform_stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/transform_stream'>; } declare module 'rethinkhaberdashery/lib/writable_stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/lib/writable_stream'>; } declare module 'rethinkhaberdashery/long_test/config.js' { declare module.exports: $Exports<'rethinkhaberdashery/long_test/config'>; } declare module 'rethinkhaberdashery/long_test/discovery.js' { declare module.exports: $Exports<'rethinkhaberdashery/long_test/discovery'>; } declare module 'rethinkhaberdashery/long_test/static.js' { declare module.exports: $Exports<'rethinkhaberdashery/long_test/static'>; } declare module 'rethinkhaberdashery/long_test/writable_stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/long_test/writable_stream'>; } declare module 'rethinkhaberdashery/test/accessing-reql.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/accessing-reql'>; } declare module 'rethinkhaberdashery/test/administration.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/administration'>; } declare module 'rethinkhaberdashery/test/aggregation.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/aggregation'>; } declare module 'rethinkhaberdashery/test/backtrace.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/backtrace'>; } declare module 'rethinkhaberdashery/test/client-backtrace.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/client-backtrace'>; } declare module 'rethinkhaberdashery/test/config.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/config'>; } declare module 'rethinkhaberdashery/test/control-structures.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/control-structures'>; } declare module 'rethinkhaberdashery/test/coverage.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/coverage'>; } declare module 'rethinkhaberdashery/test/cursor.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/cursor'>; } declare module 'rethinkhaberdashery/test/dates-and-times.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/dates-and-times'>; } declare module 'rethinkhaberdashery/test/datum.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/datum'>; } declare module 'rethinkhaberdashery/test/dequeue.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/dequeue'>; } declare module 'rethinkhaberdashery/test/document-manipulation.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/document-manipulation'>; } declare module 'rethinkhaberdashery/test/error.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/error'>; } declare module 'rethinkhaberdashery/test/extra.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/extra'>; } declare module 'rethinkhaberdashery/test/geo.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/geo'>; } declare module 'rethinkhaberdashery/test/joins.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/joins'>; } declare module 'rethinkhaberdashery/test/manipulating-databases.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/manipulating-databases'>; } declare module 'rethinkhaberdashery/test/manipulating-tables.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/manipulating-tables'>; } declare module 'rethinkhaberdashery/test/math-and-logic.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/math-and-logic'>; } declare module 'rethinkhaberdashery/test/multiple-require.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/multiple-require'>; } declare module 'rethinkhaberdashery/test/nodeify.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/nodeify'>; } declare module 'rethinkhaberdashery/test/pool_legacy.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/pool_legacy'>; } declare module 'rethinkhaberdashery/test/selecting-data.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/selecting-data'>; } declare module 'rethinkhaberdashery/test/stable.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/stable'>; } declare module 'rethinkhaberdashery/test/stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/stream'>; } declare module 'rethinkhaberdashery/test/string-manipulation.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/string-manipulation'>; } declare module 'rethinkhaberdashery/test/transform-stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/transform-stream'>; } declare module 'rethinkhaberdashery/test/transformations.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/transformations'>; } declare module 'rethinkhaberdashery/test/util/common.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/common'>; } declare module 'rethinkhaberdashery/test/util/fake_server/database.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/database'>; } declare module 'rethinkhaberdashery/test/util/fake_server/document.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/document'>; } declare module 'rethinkhaberdashery/test/util/fake_server/error.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/error'>; } declare module 'rethinkhaberdashery/test/util/fake_server/group.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/group'>; } declare module 'rethinkhaberdashery/test/util/fake_server/helper.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/helper'>; } declare module 'rethinkhaberdashery/test/util/fake_server/index.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/index'>; } declare module 'rethinkhaberdashery/test/util/fake_server/node.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/node'>; } declare module 'rethinkhaberdashery/test/util/fake_server/protodef.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/protodef'>; } declare module 'rethinkhaberdashery/test/util/fake_server/query.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/query'>; } declare module 'rethinkhaberdashery/test/util/fake_server/selection.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/selection'>; } declare module 'rethinkhaberdashery/test/util/fake_server/sequence.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/sequence'>; } declare module 'rethinkhaberdashery/test/util/fake_server/table.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/util/fake_server/table'>; } declare module 'rethinkhaberdashery/test/writable-stream.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/writable-stream'>; } declare module 'rethinkhaberdashery/test/writing-data.js' { declare module.exports: $Exports<'rethinkhaberdashery/test/writing-data'>; } declare module 'rethinkhaberdashery/tool/generateTest.js' { declare module.exports: $Exports<'rethinkhaberdashery/tool/generateTest'>; } declare module 'rethinkhaberdashery/tool/ulimit.js' { declare module.exports: $Exports<'rethinkhaberdashery/tool/ulimit'>; } ================================================ FILE: flow-typed/npm/rimraf_v2.x.x.js ================================================ // flow-typed signature: 1dff23447d5e18f5ac2b05aaec7cfb74 // flow-typed version: a453e98ea2/rimraf_v2.x.x/flow_>=v0.25.0 declare module 'rimraf' { declare type Options = { maxBusyTries?: number, emfileWait?: number, glob?: boolean, disableGlob?: boolean }; declare type Callback = (err: ?Error, path: ?string) => void; declare module.exports: { (f: string, opts?: Options | Callback, callback?: Callback): void; sync(path: string, opts?: Options): void; }; } ================================================ FILE: flow-typed/npm/rimraf_vx.x.x.js ================================================ // flow-typed signature: f10cd949018dd037d8804460e06c78e6 // flow-typed version: <>/rimraf_v^2.6.1/flow_v0.55.0 /** * This is an autogenerated libdef stub for: * * 'rimraf' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'rimraf' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'rimraf/bin' { declare module.exports: any; } declare module 'rimraf/rimraf' { declare module.exports: any; } // Filename aliases declare module 'rimraf/bin.js' { declare module.exports: $Exports<'rimraf/bin'>; } declare module 'rimraf/rimraf.js' { declare module.exports: $Exports<'rimraf/rimraf'>; } ================================================ FILE: flow-typed/npm/sanitize-filename_vx.x.x.js ================================================ // flow-typed signature: caab09a417f5e378fe417ec757b5b726 // flow-typed version: <>/sanitize-filename_v1.6.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'sanitize-filename' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'sanitize-filename' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'sanitize-filename/test' { declare module.exports: any; } // Filename aliases declare module 'sanitize-filename/index' { declare module.exports: $Exports<'sanitize-filename'>; } declare module 'sanitize-filename/index.js' { declare module.exports: $Exports<'sanitize-filename'>; } declare module 'sanitize-filename/test.js' { declare module.exports: $Exports<'sanitize-filename/test'>; } ================================================ FILE: flow-typed/npm/sentry-expo_vx.x.x.js ================================================ // flow-typed signature: 25940cfb9401c1fbcc661adf692edf15 // flow-typed version: <>/sentry-expo_v1.7.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'sentry-expo' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'sentry-expo' { declare module.exports: any; } ================================================ FILE: flow-typed/npm/serialize-javascript_vx.x.x.js ================================================ // flow-typed signature: 8596fa08aad183914896cd8a23186134 // flow-typed version: <>/serialize-javascript_v^1.4.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'serialize-javascript' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'serialize-javascript' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'serialize-javascript/index' { declare module.exports: $Exports<'serialize-javascript'>; } declare module 'serialize-javascript/index.js' { declare module.exports: $Exports<'serialize-javascript'>; } ================================================ FILE: flow-typed/npm/session-rethinkdb_vx.x.x.js ================================================ // flow-typed signature: 508b832f69a2878b99856fe42fa098ee // flow-typed version: <>/session-rethinkdb_v^2.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'session-rethinkdb' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'session-rethinkdb' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ // Filename aliases declare module 'session-rethinkdb/index' { declare module.exports: $Exports<'session-rethinkdb'>; } declare module 'session-rethinkdb/index.js' { declare module.exports: $Exports<'session-rethinkdb'>; } ================================================ FILE: flow-typed/npm/sha1_vx.x.x.js ================================================ // flow-typed signature: 25c9e66214b761887c569c0570c603df // flow-typed version: <>/sha1_v1.1.1/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'sha1' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'sha1' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'sha1/sha1' { declare module.exports: any; } declare module 'sha1/test' { declare module.exports: any; } // Filename aliases declare module 'sha1/sha1.js' { declare module.exports: $Exports<'sha1/sha1'>; } declare module 'sha1/test.js' { declare module.exports: $Exports<'sha1/test'>; } ================================================ FILE: flow-typed/npm/shortid_vx.x.x.js ================================================ // flow-typed signature: 7b3061d921714787fed00295ae4e0433 // flow-typed version: <>/shortid_v2.2.8/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'shortid' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'shortid' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'shortid/lib/alphabet' { declare module.exports: any; } declare module 'shortid/lib/build' { declare module.exports: any; } declare module 'shortid/lib/decode' { declare module.exports: any; } declare module 'shortid/lib/encode' { declare module.exports: any; } declare module 'shortid/lib/index' { declare module.exports: any; } declare module 'shortid/lib/is-valid' { declare module.exports: any; } declare module 'shortid/lib/random/random-byte-browser' { declare module.exports: any; } declare module 'shortid/lib/random/random-byte' { declare module.exports: any; } declare module 'shortid/lib/random/random-from-seed' { declare module.exports: any; } declare module 'shortid/lib/util/cluster-worker-id-browser' { declare module.exports: any; } declare module 'shortid/lib/util/cluster-worker-id' { declare module.exports: any; } // Filename aliases declare module 'shortid/index' { declare module.exports: $Exports<'shortid'>; } declare module 'shortid/index.js' { declare module.exports: $Exports<'shortid'>; } declare module 'shortid/lib/alphabet.js' { declare module.exports: $Exports<'shortid/lib/alphabet'>; } declare module 'shortid/lib/build.js' { declare module.exports: $Exports<'shortid/lib/build'>; } declare module 'shortid/lib/decode.js' { declare module.exports: $Exports<'shortid/lib/decode'>; } declare module 'shortid/lib/encode.js' { declare module.exports: $Exports<'shortid/lib/encode'>; } declare module 'shortid/lib/index.js' { declare module.exports: $Exports<'shortid/lib/index'>; } declare module 'shortid/lib/is-valid.js' { declare module.exports: $Exports<'shortid/lib/is-valid'>; } declare module 'shortid/lib/random/random-byte-browser.js' { declare module.exports: $Exports<'shortid/lib/random/random-byte-browser'>; } declare module 'shortid/lib/random/random-byte.js' { declare module.exports: $Exports<'shortid/lib/random/random-byte'>; } declare module 'shortid/lib/random/random-from-seed.js' { declare module.exports: $Exports<'shortid/lib/random/random-from-seed'>; } declare module 'shortid/lib/util/cluster-worker-id-browser.js' { declare module.exports: $Exports<'shortid/lib/util/cluster-worker-id-browser'>; } declare module 'shortid/lib/util/cluster-worker-id.js' { declare module.exports: $Exports<'shortid/lib/util/cluster-worker-id'>; } ================================================ FILE: flow-typed/npm/slate-markdown_vx.x.x.js ================================================ // flow-typed signature: 3e0ed268997f2517d804a88a75bb20bd // flow-typed version: <>/slate-markdown_v0.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'slate-markdown' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'slate-markdown' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'slate-markdown/dist/components' { declare module.exports: any; } declare module 'slate-markdown/dist/decorator' { declare module.exports: any; } declare module 'slate-markdown/dist/index' { declare module.exports: any; } declare module 'slate-markdown/example/src/App' { declare module.exports: any; } declare module 'slate-markdown/example/src/global-styles' { declare module.exports: any; } declare module 'slate-markdown/example/src/Heading' { declare module.exports: any; } declare module 'slate-markdown/example/src/index' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-cli_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-core_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-eslint_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-polyfill_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-preset-env_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-preset-es2015_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-preset-flow_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-preset-react_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/babel-preset-stage-2_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/eslint_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/eslint-plugin-babel_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/flow-bin_v0.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/husky_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/jest_v19.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/lint-staged_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/prettier_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/flow-typed/npm/rimraf_vx.x.x' { declare module.exports: any; } declare module 'slate-markdown/src/components' { declare module.exports: any; } declare module 'slate-markdown/src/decorator' { declare module.exports: any; } declare module 'slate-markdown/src/index' { declare module.exports: any; } // Filename aliases declare module 'slate-markdown/dist/components.js' { declare module.exports: $Exports<'slate-markdown/dist/components'>; } declare module 'slate-markdown/dist/decorator.js' { declare module.exports: $Exports<'slate-markdown/dist/decorator'>; } declare module 'slate-markdown/dist/index.js' { declare module.exports: $Exports<'slate-markdown/dist/index'>; } declare module 'slate-markdown/example/src/App.js' { declare module.exports: $Exports<'slate-markdown/example/src/App'>; } declare module 'slate-markdown/example/src/global-styles.js' { declare module.exports: $Exports<'slate-markdown/example/src/global-styles'>; } declare module 'slate-markdown/example/src/Heading.js' { declare module.exports: $Exports<'slate-markdown/example/src/Heading'>; } declare module 'slate-markdown/example/src/index.js' { declare module.exports: $Exports<'slate-markdown/example/src/index'>; } declare module 'slate-markdown/flow-typed/npm/babel-cli_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-cli_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-core_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-core_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-eslint_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-eslint_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-plugin-transform-runtime_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-polyfill_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-polyfill_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-preset-env_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-preset-env_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-preset-es2015_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-preset-es2015_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-preset-flow_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-preset-flow_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-preset-react_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-preset-react_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/babel-preset-stage-2_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/babel-preset-stage-2_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/eslint_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/eslint_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/eslint-plugin-babel_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/eslint-plugin-babel_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/flow-bin_v0.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/flow-bin_v0.x.x'>; } declare module 'slate-markdown/flow-typed/npm/husky_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/husky_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/jest_v19.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/jest_v19.x.x'>; } declare module 'slate-markdown/flow-typed/npm/lint-staged_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/lint-staged_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/prettier_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/prettier_vx.x.x'>; } declare module 'slate-markdown/flow-typed/npm/rimraf_vx.x.x.js' { declare module.exports: $Exports<'slate-markdown/flow-typed/npm/rimraf_vx.x.x'>; } declare module 'slate-markdown/src/components.js' { declare module.exports: $Exports<'slate-markdown/src/components'>; } declare module 'slate-markdown/src/decorator.js' { declare module.exports: $Exports<'slate-markdown/src/decorator'>; } declare module 'slate-markdown/src/index.js' { declare module.exports: $Exports<'slate-markdown/src/index'>; } ================================================ FILE: flow-typed/npm/slate_vx.x.x.js ================================================ // flow-typed signature: 8cbd83e893b77470f332f6d4678a0ee3 // flow-typed version: <>/slate_v^0.20.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'slate' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'slate' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'slate/dist/slate' { declare module.exports: any; } declare module 'slate/dist/slate.min' { declare module.exports: any; } declare module 'slate/lib/components/content' { declare module.exports: any; } declare module 'slate/lib/components/editor' { declare module.exports: any; } declare module 'slate/lib/components/leaf' { declare module.exports: any; } declare module 'slate/lib/components/node' { declare module.exports: any; } declare module 'slate/lib/components/placeholder' { declare module.exports: any; } declare module 'slate/lib/components/void' { declare module.exports: any; } declare module 'slate/lib/constants/environment' { declare module.exports: any; } declare module 'slate/lib/constants/is-dev' { declare module.exports: any; } declare module 'slate/lib/constants/types' { declare module.exports: any; } declare module 'slate/lib/index' { declare module.exports: any; } declare module 'slate/lib/models/block' { declare module.exports: any; } declare module 'slate/lib/models/character' { declare module.exports: any; } declare module 'slate/lib/models/data' { declare module.exports: any; } declare module 'slate/lib/models/document' { declare module.exports: any; } declare module 'slate/lib/models/history' { declare module.exports: any; } declare module 'slate/lib/models/inline' { declare module.exports: any; } declare module 'slate/lib/models/mark' { declare module.exports: any; } declare module 'slate/lib/models/node' { declare module.exports: any; } declare module 'slate/lib/models/range' { declare module.exports: any; } declare module 'slate/lib/models/schema' { declare module.exports: any; } declare module 'slate/lib/models/selection' { declare module.exports: any; } declare module 'slate/lib/models/stack' { declare module.exports: any; } declare module 'slate/lib/models/state' { declare module.exports: any; } declare module 'slate/lib/models/text' { declare module.exports: any; } declare module 'slate/lib/models/transform' { declare module.exports: any; } declare module 'slate/lib/ot/index' { declare module.exports: any; } declare module 'slate/lib/ot/transform' { declare module.exports: any; } declare module 'slate/lib/plugins/core' { declare module.exports: any; } declare module 'slate/lib/schemas/core' { declare module.exports: any; } declare module 'slate/lib/serializers/base-64' { declare module.exports: any; } declare module 'slate/lib/serializers/html' { declare module.exports: any; } declare module 'slate/lib/serializers/plain' { declare module.exports: any; } declare module 'slate/lib/serializers/raw' { declare module.exports: any; } declare module 'slate/lib/transforms/apply-operation' { declare module.exports: any; } declare module 'slate/lib/transforms/at-current-range' { declare module.exports: any; } declare module 'slate/lib/transforms/at-range' { declare module.exports: any; } declare module 'slate/lib/transforms/by-key' { declare module.exports: any; } declare module 'slate/lib/transforms/call' { declare module.exports: any; } declare module 'slate/lib/transforms/index' { declare module.exports: any; } declare module 'slate/lib/transforms/is-native' { declare module.exports: any; } declare module 'slate/lib/transforms/normalize' { declare module.exports: any; } declare module 'slate/lib/transforms/on-history' { declare module.exports: any; } declare module 'slate/lib/transforms/on-selection' { declare module.exports: any; } declare module 'slate/lib/transforms/operations' { declare module.exports: any; } declare module 'slate/lib/utils/apply-operation' { declare module.exports: any; } declare module 'slate/lib/utils/extend-selection' { declare module.exports: any; } declare module 'slate/lib/utils/find-closest-node' { declare module.exports: any; } declare module 'slate/lib/utils/find-deepest-node' { declare module.exports: any; } declare module 'slate/lib/utils/find-dom-node' { declare module.exports: any; } declare module 'slate/lib/utils/generate-key' { declare module.exports: any; } declare module 'slate/lib/utils/get-point' { declare module.exports: any; } declare module 'slate/lib/utils/get-transfer-data' { declare module.exports: any; } declare module 'slate/lib/utils/is-in-range' { declare module.exports: any; } declare module 'slate/lib/utils/is-react-component' { declare module.exports: any; } declare module 'slate/lib/utils/memoize' { declare module.exports: any; } declare module 'slate/lib/utils/noop' { declare module.exports: any; } declare module 'slate/lib/utils/normalize-node-and-offset' { declare module.exports: any; } declare module 'slate/lib/utils/normalize' { declare module.exports: any; } declare module 'slate/lib/utils/offset-key' { declare module.exports: any; } declare module 'slate/lib/utils/scroll-to-selection' { declare module.exports: any; } declare module 'slate/lib/utils/set-transfer-data' { declare module.exports: any; } declare module 'slate/lib/utils/string' { declare module.exports: any; } declare module 'slate/lib/utils/warn' { declare module.exports: any; } // Filename aliases declare module 'slate/dist/slate.js' { declare module.exports: $Exports<'slate/dist/slate'>; } declare module 'slate/dist/slate.min.js' { declare module.exports: $Exports<'slate/dist/slate.min'>; } declare module 'slate/lib/components/content.js' { declare module.exports: $Exports<'slate/lib/components/content'>; } declare module 'slate/lib/components/editor.js' { declare module.exports: $Exports<'slate/lib/components/editor'>; } declare module 'slate/lib/components/leaf.js' { declare module.exports: $Exports<'slate/lib/components/leaf'>; } declare module 'slate/lib/components/node.js' { declare module.exports: $Exports<'slate/lib/components/node'>; } declare module 'slate/lib/components/placeholder.js' { declare module.exports: $Exports<'slate/lib/components/placeholder'>; } declare module 'slate/lib/components/void.js' { declare module.exports: $Exports<'slate/lib/components/void'>; } declare module 'slate/lib/constants/environment.js' { declare module.exports: $Exports<'slate/lib/constants/environment'>; } declare module 'slate/lib/constants/is-dev.js' { declare module.exports: $Exports<'slate/lib/constants/is-dev'>; } declare module 'slate/lib/constants/types.js' { declare module.exports: $Exports<'slate/lib/constants/types'>; } declare module 'slate/lib/index.js' { declare module.exports: $Exports<'slate/lib/index'>; } declare module 'slate/lib/models/block.js' { declare module.exports: $Exports<'slate/lib/models/block'>; } declare module 'slate/lib/models/character.js' { declare module.exports: $Exports<'slate/lib/models/character'>; } declare module 'slate/lib/models/data.js' { declare module.exports: $Exports<'slate/lib/models/data'>; } declare module 'slate/lib/models/document.js' { declare module.exports: $Exports<'slate/lib/models/document'>; } declare module 'slate/lib/models/history.js' { declare module.exports: $Exports<'slate/lib/models/history'>; } declare module 'slate/lib/models/inline.js' { declare module.exports: $Exports<'slate/lib/models/inline'>; } declare module 'slate/lib/models/mark.js' { declare module.exports: $Exports<'slate/lib/models/mark'>; } declare module 'slate/lib/models/node.js' { declare module.exports: $Exports<'slate/lib/models/node'>; } declare module 'slate/lib/models/range.js' { declare module.exports: $Exports<'slate/lib/models/range'>; } declare module 'slate/lib/models/schema.js' { declare module.exports: $Exports<'slate/lib/models/schema'>; } declare module 'slate/lib/models/selection.js' { declare module.exports: $Exports<'slate/lib/models/selection'>; } declare module 'slate/lib/models/stack.js' { declare module.exports: $Exports<'slate/lib/models/stack'>; } declare module 'slate/lib/models/state.js' { declare module.exports: $Exports<'slate/lib/models/state'>; } declare module 'slate/lib/models/text.js' { declare module.exports: $Exports<'slate/lib/models/text'>; } declare module 'slate/lib/models/transform.js' { declare module.exports: $Exports<'slate/lib/models/transform'>; } declare module 'slate/lib/ot/index.js' { declare module.exports: $Exports<'slate/lib/ot/index'>; } declare module 'slate/lib/ot/transform.js' { declare module.exports: $Exports<'slate/lib/ot/transform'>; } declare module 'slate/lib/plugins/core.js' { declare module.exports: $Exports<'slate/lib/plugins/core'>; } declare module 'slate/lib/schemas/core.js' { declare module.exports: $Exports<'slate/lib/schemas/core'>; } declare module 'slate/lib/serializers/base-64.js' { declare module.exports: $Exports<'slate/lib/serializers/base-64'>; } declare module 'slate/lib/serializers/html.js' { declare module.exports: $Exports<'slate/lib/serializers/html'>; } declare module 'slate/lib/serializers/plain.js' { declare module.exports: $Exports<'slate/lib/serializers/plain'>; } declare module 'slate/lib/serializers/raw.js' { declare module.exports: $Exports<'slate/lib/serializers/raw'>; } declare module 'slate/lib/transforms/apply-operation.js' { declare module.exports: $Exports<'slate/lib/transforms/apply-operation'>; } declare module 'slate/lib/transforms/at-current-range.js' { declare module.exports: $Exports<'slate/lib/transforms/at-current-range'>; } declare module 'slate/lib/transforms/at-range.js' { declare module.exports: $Exports<'slate/lib/transforms/at-range'>; } declare module 'slate/lib/transforms/by-key.js' { declare module.exports: $Exports<'slate/lib/transforms/by-key'>; } declare module 'slate/lib/transforms/call.js' { declare module.exports: $Exports<'slate/lib/transforms/call'>; } declare module 'slate/lib/transforms/index.js' { declare module.exports: $Exports<'slate/lib/transforms/index'>; } declare module 'slate/lib/transforms/is-native.js' { declare module.exports: $Exports<'slate/lib/transforms/is-native'>; } declare module 'slate/lib/transforms/normalize.js' { declare module.exports: $Exports<'slate/lib/transforms/normalize'>; } declare module 'slate/lib/transforms/on-history.js' { declare module.exports: $Exports<'slate/lib/transforms/on-history'>; } declare module 'slate/lib/transforms/on-selection.js' { declare module.exports: $Exports<'slate/lib/transforms/on-selection'>; } declare module 'slate/lib/transforms/operations.js' { declare module.exports: $Exports<'slate/lib/transforms/operations'>; } declare module 'slate/lib/utils/apply-operation.js' { declare module.exports: $Exports<'slate/lib/utils/apply-operation'>; } declare module 'slate/lib/utils/extend-selection.js' { declare module.exports: $Exports<'slate/lib/utils/extend-selection'>; } declare module 'slate/lib/utils/find-closest-node.js' { declare module.exports: $Exports<'slate/lib/utils/find-closest-node'>; } declare module 'slate/lib/utils/find-deepest-node.js' { declare module.exports: $Exports<'slate/lib/utils/find-deepest-node'>; } declare module 'slate/lib/utils/find-dom-node.js' { declare module.exports: $Exports<'slate/lib/utils/find-dom-node'>; } declare module 'slate/lib/utils/generate-key.js' { declare module.exports: $Exports<'slate/lib/utils/generate-key'>; } declare module 'slate/lib/utils/get-point.js' { declare module.exports: $Exports<'slate/lib/utils/get-point'>; } declare module 'slate/lib/utils/get-transfer-data.js' { declare module.exports: $Exports<'slate/lib/utils/get-transfer-data'>; } declare module 'slate/lib/utils/is-in-range.js' { declare module.exports: $Exports<'slate/lib/utils/is-in-range'>; } declare module 'slate/lib/utils/is-react-component.js' { declare module.exports: $Exports<'slate/lib/utils/is-react-component'>; } declare module 'slate/lib/utils/memoize.js' { declare module.exports: $Exports<'slate/lib/utils/memoize'>; } declare module 'slate/lib/utils/noop.js' { declare module.exports: $Exports<'slate/lib/utils/noop'>; } declare module 'slate/lib/utils/normalize-node-and-offset.js' { declare module.exports: $Exports<'slate/lib/utils/normalize-node-and-offset'>; } declare module 'slate/lib/utils/normalize.js' { declare module.exports: $Exports<'slate/lib/utils/normalize'>; } declare module 'slate/lib/utils/offset-key.js' { declare module.exports: $Exports<'slate/lib/utils/offset-key'>; } declare module 'slate/lib/utils/scroll-to-selection.js' { declare module.exports: $Exports<'slate/lib/utils/scroll-to-selection'>; } declare module 'slate/lib/utils/set-transfer-data.js' { declare module.exports: $Exports<'slate/lib/utils/set-transfer-data'>; } declare module 'slate/lib/utils/string.js' { declare module.exports: $Exports<'slate/lib/utils/string'>; } declare module 'slate/lib/utils/warn.js' { declare module.exports: $Exports<'slate/lib/utils/warn'>; } ================================================ FILE: flow-typed/npm/slugg_vx.x.x.js ================================================ // flow-typed signature: 8660b67d17e423e24e0530c755914a76 // flow-typed version: <>/slugg_v^1.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'slugg' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'slugg' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'slugg/slugg' { declare module.exports: any; } // Filename aliases declare module 'slugg/slugg.js' { declare module.exports: $Exports<'slugg/slugg'>; } ================================================ FILE: flow-typed/npm/snarkdown_vx.x.x.js ================================================ // flow-typed signature: 8f063755e65f032485439ac4cefffded // flow-typed version: <>/snarkdown_vx.x.x/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'snarkdown' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'snarkdown' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'snarkdown/dist/snarkdown.es' { declare module.exports: any; } declare module 'snarkdown/dist/snarkdown' { declare module.exports: any; } declare module 'snarkdown/dist/snarkdown.umd' { declare module.exports: any; } declare module 'snarkdown/src/index' { declare module.exports: any; } // Filename aliases declare module 'snarkdown/dist/snarkdown.es.js' { declare module.exports: $Exports<'snarkdown/dist/snarkdown.es'>; } declare module 'snarkdown/dist/snarkdown.js' { declare module.exports: $Exports<'snarkdown/dist/snarkdown'>; } declare module 'snarkdown/dist/snarkdown.umd.js' { declare module.exports: $Exports<'snarkdown/dist/snarkdown.umd'>; } declare module 'snarkdown/src/index.js' { declare module.exports: $Exports<'snarkdown/src/index'>; } ================================================ FILE: flow-typed/npm/stopword_vx.x.x.js ================================================ // flow-typed signature: 5cd3cc2371118d61441b7ce1ddbc3b85 // flow-typed version: <>/stopword_v^0.1.9/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'stopword' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'stopword' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'stopword/lib/stopword' { declare module.exports: any; } declare module 'stopword/lib/stopwords_ar' { declare module.exports: any; } declare module 'stopword/lib/stopwords_bn' { declare module.exports: any; } declare module 'stopword/lib/stopwords_br' { declare module.exports: any; } declare module 'stopword/lib/stopwords_da' { declare module.exports: any; } declare module 'stopword/lib/stopwords_de' { declare module.exports: any; } declare module 'stopword/lib/stopwords_en' { declare module.exports: any; } declare module 'stopword/lib/stopwords_es' { declare module.exports: any; } declare module 'stopword/lib/stopwords_fa' { declare module.exports: any; } declare module 'stopword/lib/stopwords_fr' { declare module.exports: any; } declare module 'stopword/lib/stopwords_hi' { declare module.exports: any; } declare module 'stopword/lib/stopwords_it' { declare module.exports: any; } declare module 'stopword/lib/stopwords_ja' { declare module.exports: any; } declare module 'stopword/lib/stopwords_nl' { declare module.exports: any; } declare module 'stopword/lib/stopwords_no' { declare module.exports: any; } declare module 'stopword/lib/stopwords_pl' { declare module.exports: any; } declare module 'stopword/lib/stopwords_pt' { declare module.exports: any; } declare module 'stopword/lib/stopwords_ru' { declare module.exports: any; } declare module 'stopword/lib/stopwords_sv' { declare module.exports: any; } declare module 'stopword/lib/stopwords_zh' { declare module.exports: any; } // Filename aliases declare module 'stopword/lib/stopword.js' { declare module.exports: $Exports<'stopword/lib/stopword'>; } declare module 'stopword/lib/stopwords_ar.js' { declare module.exports: $Exports<'stopword/lib/stopwords_ar'>; } declare module 'stopword/lib/stopwords_bn.js' { declare module.exports: $Exports<'stopword/lib/stopwords_bn'>; } declare module 'stopword/lib/stopwords_br.js' { declare module.exports: $Exports<'stopword/lib/stopwords_br'>; } declare module 'stopword/lib/stopwords_da.js' { declare module.exports: $Exports<'stopword/lib/stopwords_da'>; } declare module 'stopword/lib/stopwords_de.js' { declare module.exports: $Exports<'stopword/lib/stopwords_de'>; } declare module 'stopword/lib/stopwords_en.js' { declare module.exports: $Exports<'stopword/lib/stopwords_en'>; } declare module 'stopword/lib/stopwords_es.js' { declare module.exports: $Exports<'stopword/lib/stopwords_es'>; } declare module 'stopword/lib/stopwords_fa.js' { declare module.exports: $Exports<'stopword/lib/stopwords_fa'>; } declare module 'stopword/lib/stopwords_fr.js' { declare module.exports: $Exports<'stopword/lib/stopwords_fr'>; } declare module 'stopword/lib/stopwords_hi.js' { declare module.exports: $Exports<'stopword/lib/stopwords_hi'>; } declare module 'stopword/lib/stopwords_it.js' { declare module.exports: $Exports<'stopword/lib/stopwords_it'>; } declare module 'stopword/lib/stopwords_ja.js' { declare module.exports: $Exports<'stopword/lib/stopwords_ja'>; } declare module 'stopword/lib/stopwords_nl.js' { declare module.exports: $Exports<'stopword/lib/stopwords_nl'>; } declare module 'stopword/lib/stopwords_no.js' { declare module.exports: $Exports<'stopword/lib/stopwords_no'>; } declare module 'stopword/lib/stopwords_pl.js' { declare module.exports: $Exports<'stopword/lib/stopwords_pl'>; } declare module 'stopword/lib/stopwords_pt.js' { declare module.exports: $Exports<'stopword/lib/stopwords_pt'>; } declare module 'stopword/lib/stopwords_ru.js' { declare module.exports: $Exports<'stopword/lib/stopwords_ru'>; } declare module 'stopword/lib/stopwords_sv.js' { declare module.exports: $Exports<'stopword/lib/stopwords_sv'>; } declare module 'stopword/lib/stopwords_zh.js' { declare module.exports: $Exports<'stopword/lib/stopwords_zh'>; } ================================================ FILE: flow-typed/npm/string-replace-to-array_vx.x.x.js ================================================ // flow-typed signature: cb2476c834aadba963f8d00a8aca9dc9 // flow-typed version: <>/string-replace-to-array_v^1.0.3/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'string-replace-to-array' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'string-replace-to-array' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'string-replace-to-array/string-replace-to-array' { declare module.exports: any; } declare module 'string-replace-to-array/test' { declare module.exports: any; } // Filename aliases declare module 'string-replace-to-array/string-replace-to-array.js' { declare module.exports: $Exports<'string-replace-to-array/string-replace-to-array'>; } declare module 'string-replace-to-array/test.js' { declare module.exports: $Exports<'string-replace-to-array/test'>; } ================================================ FILE: flow-typed/npm/string-similarity_vx.x.x.js ================================================ // flow-typed signature: 68358bc2bb6add3943d67e0592a63d74 // flow-typed version: <>/string-similarity_v1.2.0/flow_v0.66.0 /** * This is an autogenerated libdef stub for: * * 'string-similarity' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'string-similarity' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'string-similarity/compare-strings' { declare module.exports: any; } declare module 'string-similarity/compare-strings.spec' { declare module.exports: any; } declare module 'string-similarity/gulpfile' { declare module.exports: any; } // Filename aliases declare module 'string-similarity/compare-strings.js' { declare module.exports: $Exports<'string-similarity/compare-strings'>; } declare module 'string-similarity/compare-strings.spec.js' { declare module.exports: $Exports<'string-similarity/compare-strings.spec'>; } declare module 'string-similarity/gulpfile.js' { declare module.exports: $Exports<'string-similarity/gulpfile'>; } ================================================ FILE: flow-typed/npm/stripe_vx.x.x.js ================================================ // flow-typed signature: 1af86b7488831c23890ae26878a08080 // flow-typed version: <>/stripe_v^4.15.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'stripe' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'stripe' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'stripe/examples/webhook-signing/express' { declare module.exports: any; } declare module 'stripe/lib/Error' { declare module.exports: any; } declare module 'stripe/lib/MultipartDataGenerator' { declare module.exports: any; } declare module 'stripe/lib/resources/Accounts' { declare module.exports: any; } declare module 'stripe/lib/resources/ApplePayDomains' { declare module.exports: any; } declare module 'stripe/lib/resources/ApplicationFeeRefunds' { declare module.exports: any; } declare module 'stripe/lib/resources/ApplicationFees' { declare module.exports: any; } declare module 'stripe/lib/resources/Balance' { declare module.exports: any; } declare module 'stripe/lib/resources/BitcoinReceivers' { declare module.exports: any; } declare module 'stripe/lib/resources/ChargeRefunds' { declare module.exports: any; } declare module 'stripe/lib/resources/Charges' { declare module.exports: any; } declare module 'stripe/lib/resources/CountrySpecs' { declare module.exports: any; } declare module 'stripe/lib/resources/Coupons' { declare module.exports: any; } declare module 'stripe/lib/resources/CustomerCards' { declare module.exports: any; } declare module 'stripe/lib/resources/Customers' { declare module.exports: any; } declare module 'stripe/lib/resources/CustomerSubscriptions' { declare module.exports: any; } declare module 'stripe/lib/resources/Disputes' { declare module.exports: any; } declare module 'stripe/lib/resources/EphemeralKeys' { declare module.exports: any; } declare module 'stripe/lib/resources/Events' { declare module.exports: any; } declare module 'stripe/lib/resources/FileUploads' { declare module.exports: any; } declare module 'stripe/lib/resources/InvoiceItems' { declare module.exports: any; } declare module 'stripe/lib/resources/Invoices' { declare module.exports: any; } declare module 'stripe/lib/resources/LoginLinks' { declare module.exports: any; } declare module 'stripe/lib/resources/OrderReturns' { declare module.exports: any; } declare module 'stripe/lib/resources/Orders' { declare module.exports: any; } declare module 'stripe/lib/resources/Payouts' { declare module.exports: any; } declare module 'stripe/lib/resources/Plans' { declare module.exports: any; } declare module 'stripe/lib/resources/Products' { declare module.exports: any; } declare module 'stripe/lib/resources/RecipientCards' { declare module.exports: any; } declare module 'stripe/lib/resources/Recipients' { declare module.exports: any; } declare module 'stripe/lib/resources/Refunds' { declare module.exports: any; } declare module 'stripe/lib/resources/SKUs' { declare module.exports: any; } declare module 'stripe/lib/resources/Sources' { declare module.exports: any; } declare module 'stripe/lib/resources/SubscriptionItems' { declare module.exports: any; } declare module 'stripe/lib/resources/Subscriptions' { declare module.exports: any; } declare module 'stripe/lib/resources/ThreeDSecure' { declare module.exports: any; } declare module 'stripe/lib/resources/Tokens' { declare module.exports: any; } declare module 'stripe/lib/resources/TransferReversals' { declare module.exports: any; } declare module 'stripe/lib/resources/Transfers' { declare module.exports: any; } declare module 'stripe/lib/stripe' { declare module.exports: any; } declare module 'stripe/lib/StripeMethod.basic' { declare module.exports: any; } declare module 'stripe/lib/StripeMethod' { declare module.exports: any; } declare module 'stripe/lib/StripeResource' { declare module.exports: any; } declare module 'stripe/lib/utils' { declare module.exports: any; } declare module 'stripe/lib/Webhooks' { declare module.exports: any; } declare module 'stripe/test' { declare module.exports: any; } declare module 'stripe/test/Error.spec' { declare module.exports: any; } declare module 'stripe/test/flows.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Account.spec' { declare module.exports: any; } declare module 'stripe/test/resources/ApplePayDomains.spec' { declare module.exports: any; } declare module 'stripe/test/resources/ApplicationFeeRefunds.spec' { declare module.exports: any; } declare module 'stripe/test/resources/ApplicationFees.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Balance.spec' { declare module.exports: any; } declare module 'stripe/test/resources/BitcoinReceivers.spec' { declare module.exports: any; } declare module 'stripe/test/resources/ChargeRefunds.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Charges.spec' { declare module.exports: any; } declare module 'stripe/test/resources/CountrySpecs.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Coupons.spec' { declare module.exports: any; } declare module 'stripe/test/resources/CustomerCards.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Customers.spec' { declare module.exports: any; } declare module 'stripe/test/resources/CustomerSubscriptions.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Disputes.spec' { declare module.exports: any; } declare module 'stripe/test/resources/EphemeralKeys.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Events.spec' { declare module.exports: any; } declare module 'stripe/test/resources/FileUploads.spec' { declare module.exports: any; } declare module 'stripe/test/resources/InvoiceItems.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Invoices.spec' { declare module.exports: any; } declare module 'stripe/test/resources/LoginLinks.spec' { declare module.exports: any; } declare module 'stripe/test/resources/OrderReturns.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Orders.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Payouts.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Plans.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Products.spec' { declare module.exports: any; } declare module 'stripe/test/resources/RecipientCards.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Recipients.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Refunds.spec' { declare module.exports: any; } declare module 'stripe/test/resources/SKUs.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Sources.spec' { declare module.exports: any; } declare module 'stripe/test/resources/SubscriptionItems.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Subscriptions.spec' { declare module.exports: any; } declare module 'stripe/test/resources/ThreeDSecure.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Tokens.spec' { declare module.exports: any; } declare module 'stripe/test/resources/TransferReversals.spec' { declare module.exports: any; } declare module 'stripe/test/resources/Transfers.spec' { declare module.exports: any; } declare module 'stripe/test/stripe.spec' { declare module.exports: any; } declare module 'stripe/test/StripeResource.spec' { declare module.exports: any; } declare module 'stripe/test/testUtils' { declare module.exports: any; } declare module 'stripe/test/utils.spec' { declare module.exports: any; } declare module 'stripe/test/Webhook.spec' { declare module.exports: any; } // Filename aliases declare module 'stripe/examples/webhook-signing/express.js' { declare module.exports: $Exports<'stripe/examples/webhook-signing/express'>; } declare module 'stripe/lib/Error.js' { declare module.exports: $Exports<'stripe/lib/Error'>; } declare module 'stripe/lib/MultipartDataGenerator.js' { declare module.exports: $Exports<'stripe/lib/MultipartDataGenerator'>; } declare module 'stripe/lib/resources/Accounts.js' { declare module.exports: $Exports<'stripe/lib/resources/Accounts'>; } declare module 'stripe/lib/resources/ApplePayDomains.js' { declare module.exports: $Exports<'stripe/lib/resources/ApplePayDomains'>; } declare module 'stripe/lib/resources/ApplicationFeeRefunds.js' { declare module.exports: $Exports<'stripe/lib/resources/ApplicationFeeRefunds'>; } declare module 'stripe/lib/resources/ApplicationFees.js' { declare module.exports: $Exports<'stripe/lib/resources/ApplicationFees'>; } declare module 'stripe/lib/resources/Balance.js' { declare module.exports: $Exports<'stripe/lib/resources/Balance'>; } declare module 'stripe/lib/resources/BitcoinReceivers.js' { declare module.exports: $Exports<'stripe/lib/resources/BitcoinReceivers'>; } declare module 'stripe/lib/resources/ChargeRefunds.js' { declare module.exports: $Exports<'stripe/lib/resources/ChargeRefunds'>; } declare module 'stripe/lib/resources/Charges.js' { declare module.exports: $Exports<'stripe/lib/resources/Charges'>; } declare module 'stripe/lib/resources/CountrySpecs.js' { declare module.exports: $Exports<'stripe/lib/resources/CountrySpecs'>; } declare module 'stripe/lib/resources/Coupons.js' { declare module.exports: $Exports<'stripe/lib/resources/Coupons'>; } declare module 'stripe/lib/resources/CustomerCards.js' { declare module.exports: $Exports<'stripe/lib/resources/CustomerCards'>; } declare module 'stripe/lib/resources/Customers.js' { declare module.exports: $Exports<'stripe/lib/resources/Customers'>; } declare module 'stripe/lib/resources/CustomerSubscriptions.js' { declare module.exports: $Exports<'stripe/lib/resources/CustomerSubscriptions'>; } declare module 'stripe/lib/resources/Disputes.js' { declare module.exports: $Exports<'stripe/lib/resources/Disputes'>; } declare module 'stripe/lib/resources/EphemeralKeys.js' { declare module.exports: $Exports<'stripe/lib/resources/EphemeralKeys'>; } declare module 'stripe/lib/resources/Events.js' { declare module.exports: $Exports<'stripe/lib/resources/Events'>; } declare module 'stripe/lib/resources/FileUploads.js' { declare module.exports: $Exports<'stripe/lib/resources/FileUploads'>; } declare module 'stripe/lib/resources/InvoiceItems.js' { declare module.exports: $Exports<'stripe/lib/resources/InvoiceItems'>; } declare module 'stripe/lib/resources/Invoices.js' { declare module.exports: $Exports<'stripe/lib/resources/Invoices'>; } declare module 'stripe/lib/resources/LoginLinks.js' { declare module.exports: $Exports<'stripe/lib/resources/LoginLinks'>; } declare module 'stripe/lib/resources/OrderReturns.js' { declare module.exports: $Exports<'stripe/lib/resources/OrderReturns'>; } declare module 'stripe/lib/resources/Orders.js' { declare module.exports: $Exports<'stripe/lib/resources/Orders'>; } declare module 'stripe/lib/resources/Payouts.js' { declare module.exports: $Exports<'stripe/lib/resources/Payouts'>; } declare module 'stripe/lib/resources/Plans.js' { declare module.exports: $Exports<'stripe/lib/resources/Plans'>; } declare module 'stripe/lib/resources/Products.js' { declare module.exports: $Exports<'stripe/lib/resources/Products'>; } declare module 'stripe/lib/resources/RecipientCards.js' { declare module.exports: $Exports<'stripe/lib/resources/RecipientCards'>; } declare module 'stripe/lib/resources/Recipients.js' { declare module.exports: $Exports<'stripe/lib/resources/Recipients'>; } declare module 'stripe/lib/resources/Refunds.js' { declare module.exports: $Exports<'stripe/lib/resources/Refunds'>; } declare module 'stripe/lib/resources/SKUs.js' { declare module.exports: $Exports<'stripe/lib/resources/SKUs'>; } declare module 'stripe/lib/resources/Sources.js' { declare module.exports: $Exports<'stripe/lib/resources/Sources'>; } declare module 'stripe/lib/resources/SubscriptionItems.js' { declare module.exports: $Exports<'stripe/lib/resources/SubscriptionItems'>; } declare module 'stripe/lib/resources/Subscriptions.js' { declare module.exports: $Exports<'stripe/lib/resources/Subscriptions'>; } declare module 'stripe/lib/resources/ThreeDSecure.js' { declare module.exports: $Exports<'stripe/lib/resources/ThreeDSecure'>; } declare module 'stripe/lib/resources/Tokens.js' { declare module.exports: $Exports<'stripe/lib/resources/Tokens'>; } declare module 'stripe/lib/resources/TransferReversals.js' { declare module.exports: $Exports<'stripe/lib/resources/TransferReversals'>; } declare module 'stripe/lib/resources/Transfers.js' { declare module.exports: $Exports<'stripe/lib/resources/Transfers'>; } declare module 'stripe/lib/stripe.js' { declare module.exports: $Exports<'stripe/lib/stripe'>; } declare module 'stripe/lib/StripeMethod.basic.js' { declare module.exports: $Exports<'stripe/lib/StripeMethod.basic'>; } declare module 'stripe/lib/StripeMethod.js' { declare module.exports: $Exports<'stripe/lib/StripeMethod'>; } declare module 'stripe/lib/StripeResource.js' { declare module.exports: $Exports<'stripe/lib/StripeResource'>; } declare module 'stripe/lib/utils.js' { declare module.exports: $Exports<'stripe/lib/utils'>; } declare module 'stripe/lib/Webhooks.js' { declare module.exports: $Exports<'stripe/lib/Webhooks'>; } declare module 'stripe/test.js' { declare module.exports: $Exports<'stripe/test'>; } declare module 'stripe/test/Error.spec.js' { declare module.exports: $Exports<'stripe/test/Error.spec'>; } declare module 'stripe/test/flows.spec.js' { declare module.exports: $Exports<'stripe/test/flows.spec'>; } declare module 'stripe/test/resources/Account.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Account.spec'>; } declare module 'stripe/test/resources/ApplePayDomains.spec.js' { declare module.exports: $Exports<'stripe/test/resources/ApplePayDomains.spec'>; } declare module 'stripe/test/resources/ApplicationFeeRefunds.spec.js' { declare module.exports: $Exports<'stripe/test/resources/ApplicationFeeRefunds.spec'>; } declare module 'stripe/test/resources/ApplicationFees.spec.js' { declare module.exports: $Exports<'stripe/test/resources/ApplicationFees.spec'>; } declare module 'stripe/test/resources/Balance.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Balance.spec'>; } declare module 'stripe/test/resources/BitcoinReceivers.spec.js' { declare module.exports: $Exports<'stripe/test/resources/BitcoinReceivers.spec'>; } declare module 'stripe/test/resources/ChargeRefunds.spec.js' { declare module.exports: $Exports<'stripe/test/resources/ChargeRefunds.spec'>; } declare module 'stripe/test/resources/Charges.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Charges.spec'>; } declare module 'stripe/test/resources/CountrySpecs.spec.js' { declare module.exports: $Exports<'stripe/test/resources/CountrySpecs.spec'>; } declare module 'stripe/test/resources/Coupons.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Coupons.spec'>; } declare module 'stripe/test/resources/CustomerCards.spec.js' { declare module.exports: $Exports<'stripe/test/resources/CustomerCards.spec'>; } declare module 'stripe/test/resources/Customers.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Customers.spec'>; } declare module 'stripe/test/resources/CustomerSubscriptions.spec.js' { declare module.exports: $Exports<'stripe/test/resources/CustomerSubscriptions.spec'>; } declare module 'stripe/test/resources/Disputes.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Disputes.spec'>; } declare module 'stripe/test/resources/EphemeralKeys.spec.js' { declare module.exports: $Exports<'stripe/test/resources/EphemeralKeys.spec'>; } declare module 'stripe/test/resources/Events.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Events.spec'>; } declare module 'stripe/test/resources/FileUploads.spec.js' { declare module.exports: $Exports<'stripe/test/resources/FileUploads.spec'>; } declare module 'stripe/test/resources/InvoiceItems.spec.js' { declare module.exports: $Exports<'stripe/test/resources/InvoiceItems.spec'>; } declare module 'stripe/test/resources/Invoices.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Invoices.spec'>; } declare module 'stripe/test/resources/LoginLinks.spec.js' { declare module.exports: $Exports<'stripe/test/resources/LoginLinks.spec'>; } declare module 'stripe/test/resources/OrderReturns.spec.js' { declare module.exports: $Exports<'stripe/test/resources/OrderReturns.spec'>; } declare module 'stripe/test/resources/Orders.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Orders.spec'>; } declare module 'stripe/test/resources/Payouts.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Payouts.spec'>; } declare module 'stripe/test/resources/Plans.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Plans.spec'>; } declare module 'stripe/test/resources/Products.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Products.spec'>; } declare module 'stripe/test/resources/RecipientCards.spec.js' { declare module.exports: $Exports<'stripe/test/resources/RecipientCards.spec'>; } declare module 'stripe/test/resources/Recipients.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Recipients.spec'>; } declare module 'stripe/test/resources/Refunds.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Refunds.spec'>; } declare module 'stripe/test/resources/SKUs.spec.js' { declare module.exports: $Exports<'stripe/test/resources/SKUs.spec'>; } declare module 'stripe/test/resources/Sources.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Sources.spec'>; } declare module 'stripe/test/resources/SubscriptionItems.spec.js' { declare module.exports: $Exports<'stripe/test/resources/SubscriptionItems.spec'>; } declare module 'stripe/test/resources/Subscriptions.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Subscriptions.spec'>; } declare module 'stripe/test/resources/ThreeDSecure.spec.js' { declare module.exports: $Exports<'stripe/test/resources/ThreeDSecure.spec'>; } declare module 'stripe/test/resources/Tokens.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Tokens.spec'>; } declare module 'stripe/test/resources/TransferReversals.spec.js' { declare module.exports: $Exports<'stripe/test/resources/TransferReversals.spec'>; } declare module 'stripe/test/resources/Transfers.spec.js' { declare module.exports: $Exports<'stripe/test/resources/Transfers.spec'>; } declare module 'stripe/test/stripe.spec.js' { declare module.exports: $Exports<'stripe/test/stripe.spec'>; } declare module 'stripe/test/StripeResource.spec.js' { declare module.exports: $Exports<'stripe/test/StripeResource.spec'>; } declare module 'stripe/test/testUtils.js' { declare module.exports: $Exports<'stripe/test/testUtils'>; } declare module 'stripe/test/utils.spec.js' { declare module.exports: $Exports<'stripe/test/utils.spec'>; } declare module 'stripe/test/Webhook.spec.js' { declare module.exports: $Exports<'stripe/test/Webhook.spec'>; } ================================================ FILE: flow-typed/npm/striptags_vx.x.x.js ================================================ // flow-typed signature: d3ccc8ebc3686acc4929e365d4a25a8f // flow-typed version: <>/striptags_v2.x/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'striptags' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'striptags' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'striptags/striptags' { declare module.exports: any; } declare module 'striptags/test/striptags-test' { declare module.exports: any; } // Filename aliases declare module 'striptags/striptags.js' { declare module.exports: $Exports<'striptags/striptags'>; } declare module 'striptags/test/striptags-test.js' { declare module.exports: $Exports<'striptags/test/striptags-test'>; } ================================================ FILE: flow-typed/npm/styled-components_v2.x.x.js ================================================ // flow-typed signature: 2d5d2167b399d10e16ddc719ea6fc62e // flow-typed version: 1be5dad600/styled-components_v2.x.x/flow_>=v0.53.x // @flow type $npm$styledComponents$Interpolation = | ((executionContext: C) => string) | string | number; type $npm$styledComponents$NameGenerator = (hash: number) => string; type $npm$styledComponents$TaggedTemplateLiteral = {| (Array, $npm$styledComponents$Interpolation): R, |}; // ---- FUNCTIONAL COMPONENT DEFINITIONS ---- type $npm$styledComponents$ReactComponentFunctional = { defaultProps: DefaultProps, } & $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps; type $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps< Props > = React$StatelessFunctionalComponent; // ---- CLASS COMPONENT DEFINITIONS ---- class $npm$styledComponents$ReactComponent< Props, DefaultProps > extends React$Component { static defaultProps: DefaultProps; } type $npm$styledComponents$ReactComponentClass = Class< $npm$styledComponents$ReactComponent >; type $npm$styledComponents$ReactComponentClassUndefinedDefaultProps< Props > = Class>; // ---- COMPONENT FUNCTIONS INPUT (UNION) & OUTPUT (INTERSECTION) ---- type $npm$styledComponents$ReactComponentUnion< Props > = $npm$styledComponents$ReactComponentUnionWithDefaultProps; type $npm$styledComponents$ReactComponentUnionWithDefaultProps< Props, DefaultProps > = | $npm$styledComponents$ReactComponentFunctional | $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps | $npm$styledComponents$ReactComponentClass | $npm$styledComponents$ReactComponentClassUndefinedDefaultProps; type $npm$styledComponents$ReactComponentIntersection< Props, DefaultProps = * > = $npm$styledComponents$ReactComponentFunctional & $npm$styledComponents$ReactComponentClass; // ---- WITHCOMPONENT ---- type $npm$styledComponents$ReactComponentStyledWithComponent = < Props, DefaultProps, Input: | ComponentList | $npm$styledComponents$ReactComponentStyled | $npm$styledComponents$ReactComponentUnionWithDefaultProps< Props, DefaultProps > >( Input ) => $npm$styledComponents$ReactComponentStyled; // ---- STATIC PROPERTIES ---- type $npm$styledComponents$ReactComponentStyledStaticProps< Props, ComponentList > = {| attrs: ( AdditionalProps ) => $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteral< Props & AdditionalProps, ComponentList >, extend: $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteral< Props, ComponentList >, |}; type $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent< Props, ComponentList > = {| withComponent: $npm$styledComponents$ReactComponentStyledWithComponent< ComponentList >, attrs: ( AdditionalProps ) => $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< Props & AdditionalProps, ComponentList >, extend: $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< Props, ComponentList >, |}; // ---- STYLED FUNCTION ---- // Error: styled(CustomComponent).withComponent('a') // Ok: styled('div').withComponent('a') type $npm$styledComponents$Call< ComponentListKeys > = (ComponentListKeys => $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< {}, ComponentListKeys >) & (( $npm$styledComponents$ReactComponentUnion ) => $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteral< Props, ComponentListKeys >); // ---- STYLED COMPONENT ---- type $npm$styledComponents$ReactComponentStyled< Props, ComponentList, DefaultProps = * > = $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent< Props, ComponentList > & $npm$styledComponents$ReactComponentIntersection; // ---- TAGGED TEMPLATE LITERAL ---- type $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteral< Props, ComponentList > = $npm$styledComponents$ReactComponentStyledStaticProps< Props, ComponentList > & $npm$styledComponents$TaggedTemplateLiteral< $npm$styledComponents$ReactComponentStyled >; type $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< Props, ComponentList > = $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent< Props, ComponentList > & $npm$styledComponents$TaggedTemplateLiteral< $npm$styledComponents$ReactComponentStyled >; // ---- WITHTHEME ---- type $npm$styledComponents$WithThemeReactComponentClass = < InputProps: { theme: $npm$styledComponents$Theme }, InputDefaultProps: {}, OutputProps: $Diff, OutputDefaultProps: InputDefaultProps & { theme: $npm$styledComponents$Theme } >( $npm$styledComponents$ReactComponentClass ) => $npm$styledComponents$ReactComponentClass; type $npm$styledComponents$WithThemeReactComponentClassUndefinedDefaultProps = < InputProps: { theme: $npm$styledComponents$Theme }, OutputProps: $Diff >( $npm$styledComponents$ReactComponentClassUndefinedDefaultProps ) => $npm$styledComponents$ReactComponentClass< OutputProps, { theme: $npm$styledComponents$Theme } >; type $npm$styledComponents$WithThemeReactComponentFunctional = < InputProps: { theme: $npm$styledComponents$Theme }, InputDefaultProps: {}, OutputProps: $Diff, OutputDefaultProps: InputDefaultProps & { theme: $npm$styledComponents$Theme } >( $npm$styledComponents$ReactComponentFunctional ) => $npm$styledComponents$ReactComponentFunctional< OutputProps, OutputDefaultProps >; type $npm$styledComponents$WithThemeReactComponentFunctionalUndefinedDefaultProps = < InputProps: { theme: $npm$styledComponents$Theme }, OutputProps: $Diff >( $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps< InputProps > ) => $npm$styledComponents$ReactComponentFunctional< OutputProps, { theme: $npm$styledComponents$Theme } >; type $npm$styledComponents$WithTheme = $npm$styledComponents$WithThemeReactComponentClass & $npm$styledComponents$WithThemeReactComponentClassUndefinedDefaultProps & $npm$styledComponents$WithThemeReactComponentFunctional & $npm$styledComponents$WithThemeReactComponentFunctionalUndefinedDefaultProps; // ---- MISC ---- type $npm$styledComponents$Theme = { [key: string]: mixed }; type $npm$styledComponents$ThemeProviderProps = { theme: | $npm$styledComponents$Theme | ((outerTheme: $npm$styledComponents$Theme) => void), }; class Npm$StyledComponents$ThemeProvider extends React$Component< $npm$styledComponents$ThemeProviderProps > {} class Npm$StyledComponents$StyleSheetManager extends React$Component<{ sheet: mixed, }> {} class Npm$StyledComponents$ServerStyleSheet { instance: StyleSheet; collectStyles: (children: any) => React$Node; getStyleTags: () => string; getStyleElement: () => React$Node; } type $npm$styledComponents$StyledComponentsComponentListKeys = $Subtype< $Keys<$npm$styledComponents$StyledComponentsComponentList> >; type $npm$styledComponents$StyledComponentsComponentListValue = $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< {}, $npm$styledComponents$StyledComponentsComponentListKeys >; // ---- COMPONENT LIST ---- type $npm$styledComponents$StyledComponentsComponentList = {| a: $npm$styledComponents$StyledComponentsComponentListValue, abbr: $npm$styledComponents$StyledComponentsComponentListValue, address: $npm$styledComponents$StyledComponentsComponentListValue, area: $npm$styledComponents$StyledComponentsComponentListValue, article: $npm$styledComponents$StyledComponentsComponentListValue, aside: $npm$styledComponents$StyledComponentsComponentListValue, audio: $npm$styledComponents$StyledComponentsComponentListValue, b: $npm$styledComponents$StyledComponentsComponentListValue, base: $npm$styledComponents$StyledComponentsComponentListValue, bdi: $npm$styledComponents$StyledComponentsComponentListValue, bdo: $npm$styledComponents$StyledComponentsComponentListValue, big: $npm$styledComponents$StyledComponentsComponentListValue, blockquote: $npm$styledComponents$StyledComponentsComponentListValue, body: $npm$styledComponents$StyledComponentsComponentListValue, br: $npm$styledComponents$StyledComponentsComponentListValue, button: $npm$styledComponents$StyledComponentsComponentListValue, canvas: $npm$styledComponents$StyledComponentsComponentListValue, caption: $npm$styledComponents$StyledComponentsComponentListValue, cite: $npm$styledComponents$StyledComponentsComponentListValue, code: $npm$styledComponents$StyledComponentsComponentListValue, col: $npm$styledComponents$StyledComponentsComponentListValue, colgroup: $npm$styledComponents$StyledComponentsComponentListValue, data: $npm$styledComponents$StyledComponentsComponentListValue, datalist: $npm$styledComponents$StyledComponentsComponentListValue, dd: $npm$styledComponents$StyledComponentsComponentListValue, del: $npm$styledComponents$StyledComponentsComponentListValue, details: $npm$styledComponents$StyledComponentsComponentListValue, dfn: $npm$styledComponents$StyledComponentsComponentListValue, dialog: $npm$styledComponents$StyledComponentsComponentListValue, div: $npm$styledComponents$StyledComponentsComponentListValue, dl: $npm$styledComponents$StyledComponentsComponentListValue, dt: $npm$styledComponents$StyledComponentsComponentListValue, em: $npm$styledComponents$StyledComponentsComponentListValue, embed: $npm$styledComponents$StyledComponentsComponentListValue, fieldset: $npm$styledComponents$StyledComponentsComponentListValue, figcaption: $npm$styledComponents$StyledComponentsComponentListValue, figure: $npm$styledComponents$StyledComponentsComponentListValue, footer: $npm$styledComponents$StyledComponentsComponentListValue, form: $npm$styledComponents$StyledComponentsComponentListValue, h1: $npm$styledComponents$StyledComponentsComponentListValue, h2: $npm$styledComponents$StyledComponentsComponentListValue, h3: $npm$styledComponents$StyledComponentsComponentListValue, h4: $npm$styledComponents$StyledComponentsComponentListValue, h5: $npm$styledComponents$StyledComponentsComponentListValue, h6: $npm$styledComponents$StyledComponentsComponentListValue, head: $npm$styledComponents$StyledComponentsComponentListValue, header: $npm$styledComponents$StyledComponentsComponentListValue, hgroup: $npm$styledComponents$StyledComponentsComponentListValue, hr: $npm$styledComponents$StyledComponentsComponentListValue, html: $npm$styledComponents$StyledComponentsComponentListValue, i: $npm$styledComponents$StyledComponentsComponentListValue, iframe: $npm$styledComponents$StyledComponentsComponentListValue, img: $npm$styledComponents$StyledComponentsComponentListValue, input: $npm$styledComponents$StyledComponentsComponentListValue, ins: $npm$styledComponents$StyledComponentsComponentListValue, kbd: $npm$styledComponents$StyledComponentsComponentListValue, keygen: $npm$styledComponents$StyledComponentsComponentListValue, label: $npm$styledComponents$StyledComponentsComponentListValue, legend: $npm$styledComponents$StyledComponentsComponentListValue, li: $npm$styledComponents$StyledComponentsComponentListValue, link: $npm$styledComponents$StyledComponentsComponentListValue, main: $npm$styledComponents$StyledComponentsComponentListValue, map: $npm$styledComponents$StyledComponentsComponentListValue, mark: $npm$styledComponents$StyledComponentsComponentListValue, menu: $npm$styledComponents$StyledComponentsComponentListValue, menuitem: $npm$styledComponents$StyledComponentsComponentListValue, meta: $npm$styledComponents$StyledComponentsComponentListValue, meter: $npm$styledComponents$StyledComponentsComponentListValue, nav: $npm$styledComponents$StyledComponentsComponentListValue, noscript: $npm$styledComponents$StyledComponentsComponentListValue, object: $npm$styledComponents$StyledComponentsComponentListValue, ol: $npm$styledComponents$StyledComponentsComponentListValue, optgroup: $npm$styledComponents$StyledComponentsComponentListValue, option: $npm$styledComponents$StyledComponentsComponentListValue, output: $npm$styledComponents$StyledComponentsComponentListValue, p: $npm$styledComponents$StyledComponentsComponentListValue, param: $npm$styledComponents$StyledComponentsComponentListValue, picture: $npm$styledComponents$StyledComponentsComponentListValue, pre: $npm$styledComponents$StyledComponentsComponentListValue, progress: $npm$styledComponents$StyledComponentsComponentListValue, q: $npm$styledComponents$StyledComponentsComponentListValue, rp: $npm$styledComponents$StyledComponentsComponentListValue, rt: $npm$styledComponents$StyledComponentsComponentListValue, ruby: $npm$styledComponents$StyledComponentsComponentListValue, s: $npm$styledComponents$StyledComponentsComponentListValue, samp: $npm$styledComponents$StyledComponentsComponentListValue, script: $npm$styledComponents$StyledComponentsComponentListValue, section: $npm$styledComponents$StyledComponentsComponentListValue, select: $npm$styledComponents$StyledComponentsComponentListValue, small: $npm$styledComponents$StyledComponentsComponentListValue, source: $npm$styledComponents$StyledComponentsComponentListValue, span: $npm$styledComponents$StyledComponentsComponentListValue, strong: $npm$styledComponents$StyledComponentsComponentListValue, style: $npm$styledComponents$StyledComponentsComponentListValue, sub: $npm$styledComponents$StyledComponentsComponentListValue, summary: $npm$styledComponents$StyledComponentsComponentListValue, sup: $npm$styledComponents$StyledComponentsComponentListValue, table: $npm$styledComponents$StyledComponentsComponentListValue, tbody: $npm$styledComponents$StyledComponentsComponentListValue, td: $npm$styledComponents$StyledComponentsComponentListValue, textarea: $npm$styledComponents$StyledComponentsComponentListValue, tfoot: $npm$styledComponents$StyledComponentsComponentListValue, th: $npm$styledComponents$StyledComponentsComponentListValue, thead: $npm$styledComponents$StyledComponentsComponentListValue, time: $npm$styledComponents$StyledComponentsComponentListValue, title: $npm$styledComponents$StyledComponentsComponentListValue, tr: $npm$styledComponents$StyledComponentsComponentListValue, track: $npm$styledComponents$StyledComponentsComponentListValue, u: $npm$styledComponents$StyledComponentsComponentListValue, ul: $npm$styledComponents$StyledComponentsComponentListValue, var: $npm$styledComponents$StyledComponentsComponentListValue, video: $npm$styledComponents$StyledComponentsComponentListValue, wbr: $npm$styledComponents$StyledComponentsComponentListValue, // SVG circle: $npm$styledComponents$StyledComponentsComponentListValue, clipPath: $npm$styledComponents$StyledComponentsComponentListValue, defs: $npm$styledComponents$StyledComponentsComponentListValue, ellipse: $npm$styledComponents$StyledComponentsComponentListValue, g: $npm$styledComponents$StyledComponentsComponentListValue, image: $npm$styledComponents$StyledComponentsComponentListValue, line: $npm$styledComponents$StyledComponentsComponentListValue, linearGradient: $npm$styledComponents$StyledComponentsComponentListValue, mask: $npm$styledComponents$StyledComponentsComponentListValue, path: $npm$styledComponents$StyledComponentsComponentListValue, pattern: $npm$styledComponents$StyledComponentsComponentListValue, polygon: $npm$styledComponents$StyledComponentsComponentListValue, polyline: $npm$styledComponents$StyledComponentsComponentListValue, radialGradient: $npm$styledComponents$StyledComponentsComponentListValue, rect: $npm$styledComponents$StyledComponentsComponentListValue, stop: $npm$styledComponents$StyledComponentsComponentListValue, svg: $npm$styledComponents$StyledComponentsComponentListValue, text: $npm$styledComponents$StyledComponentsComponentListValue, tspan: $npm$styledComponents$StyledComponentsComponentListValue, |}; declare module 'styled-components' { declare type Interpolation = $npm$styledComponents$Interpolation; declare type NameGenerator = $npm$styledComponents$NameGenerator; declare type Theme = $npm$styledComponents$Theme; declare type ThemeProviderProps = $npm$styledComponents$ThemeProviderProps; declare type TaggedTemplateLiteral< R > = $npm$styledComponents$TaggedTemplateLiteral; declare type ComponentListKeys = $npm$styledComponents$StyledComponentsComponentListKeys; declare type ReactComponentFunctional< Props: {}, DefaultProps: ?{} = * > = $npm$styledComponents$ReactComponentFunctional; declare type ReactComponentFunctionalUndefinedDefaultProps< Props: {} > = $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps< Props >; declare type ReactComponentClass< Props: {}, DefaultProps: ?{} = * > = $npm$styledComponents$ReactComponentClass; declare type ReactComponentClassUndefinedDefaultProps< Props: {} > = $npm$styledComponents$ReactComponentClassUndefinedDefaultProps; declare type ReactComponentUnion< Props > = $npm$styledComponents$ReactComponentUnion; declare type ReactComponentIntersection< Props > = $npm$styledComponents$ReactComponentIntersection; declare type ReactComponentStyledStaticProps< Props > = $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent< Props, ComponentListKeys >; declare type ReactComponentStyled< Props > = $npm$styledComponents$ReactComponentStyled; declare type ReactComponentStyledTaggedTemplateLiteral< Props > = $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< Props, ComponentListKeys >; declare module.exports: { $call: $npm$styledComponents$Call, injectGlobal: TaggedTemplateLiteral, css: TaggedTemplateLiteral>, keyframes: TaggedTemplateLiteral, withTheme: $npm$styledComponents$WithTheme, ServerStyleSheet: typeof Npm$StyledComponents$ServerStyleSheet, StyleSheetManager: typeof Npm$StyledComponents$StyleSheetManager, ThemeProvider: typeof Npm$StyledComponents$ThemeProvider, ...$npm$styledComponents$StyledComponentsComponentList, }; } type $npm$styledComponents$StyledComponentsNativeComponentListKeys = $Subtype< $Keys<$npm$styledComponents$StyledComponentsNativeComponentList> >; type $npm$styledComponents$StyledComponentsNativeComponentListValue = $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< {}, $npm$styledComponents$StyledComponentsNativeComponentListKeys >; type $npm$styledComponents$StyledComponentsNativeComponentList = {| ActivityIndicator: $npm$styledComponents$StyledComponentsNativeComponentListValue, ActivityIndicatorIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, ART: $npm$styledComponents$StyledComponentsNativeComponentListValue, Button: $npm$styledComponents$StyledComponentsNativeComponentListValue, DatePickerIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, DrawerLayoutAndroid: $npm$styledComponents$StyledComponentsNativeComponentListValue, FlatList: $npm$styledComponents$StyledComponentsNativeComponentListValue, Image: $npm$styledComponents$StyledComponentsNativeComponentListValue, ImageEditor: $npm$styledComponents$StyledComponentsNativeComponentListValue, ImageStore: $npm$styledComponents$StyledComponentsNativeComponentListValue, KeyboardAvoidingView: $npm$styledComponents$StyledComponentsNativeComponentListValue, ListView: $npm$styledComponents$StyledComponentsNativeComponentListValue, MapView: $npm$styledComponents$StyledComponentsNativeComponentListValue, Modal: $npm$styledComponents$StyledComponentsNativeComponentListValue, Navigator: $npm$styledComponents$StyledComponentsNativeComponentListValue, NavigatorIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, Picker: $npm$styledComponents$StyledComponentsNativeComponentListValue, PickerIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, ProgressBarAndroid: $npm$styledComponents$StyledComponentsNativeComponentListValue, ProgressViewIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, RecyclerViewBackedScrollView: $npm$styledComponents$StyledComponentsNativeComponentListValue, RefreshControl: $npm$styledComponents$StyledComponentsNativeComponentListValue, ScrollView: $npm$styledComponents$StyledComponentsNativeComponentListValue, SectionList: $npm$styledComponents$StyledComponentsNativeComponentListValue, SegmentedControlIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, Slider: $npm$styledComponents$StyledComponentsNativeComponentListValue, SliderIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, SnapshotViewIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, StatusBar: $npm$styledComponents$StyledComponentsNativeComponentListValue, SwipeableListView: $npm$styledComponents$StyledComponentsNativeComponentListValue, Switch: $npm$styledComponents$StyledComponentsNativeComponentListValue, SwitchAndroid: $npm$styledComponents$StyledComponentsNativeComponentListValue, SwitchIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, TabBarIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, Text: $npm$styledComponents$StyledComponentsNativeComponentListValue, TextInput: $npm$styledComponents$StyledComponentsNativeComponentListValue, ToastAndroid: $npm$styledComponents$StyledComponentsNativeComponentListValue, ToolbarAndroid: $npm$styledComponents$StyledComponentsNativeComponentListValue, Touchable: $npm$styledComponents$StyledComponentsNativeComponentListValue, TouchableHighlight: $npm$styledComponents$StyledComponentsNativeComponentListValue, TouchableNativeFeedback: $npm$styledComponents$StyledComponentsNativeComponentListValue, TouchableOpacity: $npm$styledComponents$StyledComponentsNativeComponentListValue, TouchableWithoutFeedback: $npm$styledComponents$StyledComponentsNativeComponentListValue, View: $npm$styledComponents$StyledComponentsNativeComponentListValue, ViewPagerAndroid: $npm$styledComponents$StyledComponentsNativeComponentListValue, VirtualizedList: $npm$styledComponents$StyledComponentsNativeComponentListValue, WebView: $npm$styledComponents$StyledComponentsNativeComponentListValue, |}; declare module 'styled-components/native' { declare type Interpolation = $npm$styledComponents$Interpolation; declare type NameGenerator = $npm$styledComponents$NameGenerator; declare type Theme = $npm$styledComponents$Theme; declare type ThemeProviderProps = $npm$styledComponents$ThemeProviderProps; declare type TaggedTemplateLiteral< R > = $npm$styledComponents$TaggedTemplateLiteral; declare type NativeComponentListKeys = $npm$styledComponents$StyledComponentsNativeComponentListKeys; declare type ReactComponentFunctional< Props: {}, DefaultProps: ?{} = * > = $npm$styledComponents$ReactComponentFunctional; declare type ReactComponentFunctionalUndefinedDefaultProps< Props: {} > = $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps< Props >; declare type ReactComponentClass< Props: {}, DefaultProps: ?{} = * > = $npm$styledComponents$ReactComponentClass; declare type ReactComponentClassUndefinedDefaultProps< Props: {} > = $npm$styledComponents$ReactComponentClassUndefinedDefaultProps; declare type ReactComponentUnion< Props > = $npm$styledComponents$ReactComponentUnion; declare type ReactComponentIntersection< Props > = $npm$styledComponents$ReactComponentIntersection; declare type ReactComponentStyledStaticProps< Props > = $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent< Props, NativeComponentListKeys >; declare type ReactComponentStyled< Props > = $npm$styledComponents$ReactComponentStyled< Props, NativeComponentListKeys >; declare type ReactComponentStyledTaggedTemplateLiteral< Props > = $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent< Props, NativeComponentListKeys >; declare module.exports: { $call: $npm$styledComponents$Call, css: TaggedTemplateLiteral>, keyframes: TaggedTemplateLiteral, withTheme: $npm$styledComponents$WithTheme, ThemeProvider: typeof Npm$StyledComponents$ThemeProvider, ...$npm$styledComponents$StyledComponentsNativeComponentList, }; } ================================================ FILE: flow-typed/npm/styled-components_vx.x.x.js ================================================ // flow-typed signature: a80ed47d31614ad7002695fe50825783 // flow-typed version: <>/styled-components_v^3.1.6-1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'styled-components' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'styled-components' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'styled-components/dist/styled-components-no-parser.browser.cjs' { declare module.exports: any; } declare module 'styled-components/dist/styled-components-no-parser.browser.es' { declare module.exports: any; } declare module 'styled-components/dist/styled-components-no-parser.cjs' { declare module.exports: any; } declare module 'styled-components/dist/styled-components-no-parser.es' { declare module.exports: any; } declare module 'styled-components/dist/styled-components-primitives.cjs' { declare module.exports: any; } declare module 'styled-components/dist/styled-components-primitives.es' { declare module.exports: any; } declare module 'styled-components/dist/styled-components.browser.cjs' { declare module.exports: any; } declare module 'styled-components/dist/styled-components.browser.es' { declare module.exports: any; } declare module 'styled-components/dist/styled-components.cjs' { declare module.exports: any; } declare module 'styled-components/dist/styled-components.es' { declare module.exports: any; } declare module 'styled-components/dist/styled-components' { declare module.exports: any; } declare module 'styled-components/dist/styled-components.min' { declare module.exports: any; } declare module 'styled-components/dist/styled-components.native.cjs' { declare module.exports: any; } declare module 'styled-components/flow-typed/danger-plugin-jest_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/enzyme_v3.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/fbjs_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/lodash_v4.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-cli_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-core_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-eslint_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-loader_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-plugin-add-module-exports_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-plugin-external-helpers_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-plugin-flow-react-proptypes_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-preset-latest_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/babel-preset-react_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/buffer_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/chokidar_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/css-to-react-native_v1.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/css-to-react-native_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint-config-airbnb_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint-plugin-flowtype_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint-plugin-flowtype-errors_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint-plugin-import_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint-plugin-jsx-a11y_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/eslint-plugin-react_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/expect_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/express_v4.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/flow-bin_v0.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/flow-copy-source_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/inline-style-prefixer_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/is-function_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/is-plain-object_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/jest_v19.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/jsdom_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/lint-staged_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/mocha_v2.4.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/mocha_v3.1.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/mocha-jsdom_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/node-watch_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/pre-commit_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/react-addons-test-utils_v15.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-babel_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-commonjs_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-flow_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-inject_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-json_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-node-resolve_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-replace_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-uglify_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/rollup-plugin-visualizer_vx.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/npm/supports-color_v3.x.x' { declare module.exports: any; } declare module 'styled-components/flow-typed/react-native' { declare module.exports: any; } declare module 'styled-components/native/index' { declare module.exports: any; } declare module 'styled-components/src/constructors/constructWithOptions' { declare module.exports: any; } declare module 'styled-components/src/constructors/css' { declare module.exports: any; } declare module 'styled-components/src/constructors/injectGlobal' { declare module.exports: any; } declare module 'styled-components/src/constructors/keyframes' { declare module.exports: any; } declare module 'styled-components/src/constructors/styled' { declare module.exports: any; } declare module 'styled-components/src/constructors/test/injectGlobal.test' { declare module.exports: any; } declare module 'styled-components/src/constructors/test/keyframes.test' { declare module.exports: any; } declare module 'styled-components/src/constructors/test/styled.test' { declare module.exports: any; } declare module 'styled-components/src/hoc/withTheme' { declare module.exports: any; } declare module 'styled-components/src/index' { declare module.exports: any; } declare module 'styled-components/src/models/BrowserStyleSheet' { declare module.exports: any; } declare module 'styled-components/src/models/ComponentStyle' { declare module.exports: any; } declare module 'styled-components/src/models/InlineStyle' { declare module.exports: any; } declare module 'styled-components/src/models/ServerStyleSheet' { declare module.exports: any; } declare module 'styled-components/src/models/StyledComponent' { declare module.exports: any; } declare module 'styled-components/src/models/StyledNativeComponent' { declare module.exports: any; } declare module 'styled-components/src/models/StyleSheet' { declare module.exports: any; } declare module 'styled-components/src/models/StyleSheetManager' { declare module.exports: any; } declare module 'styled-components/src/models/test/ThemeProvider.test' { declare module.exports: any; } declare module 'styled-components/src/models/ThemeProvider' { declare module.exports: any; } declare module 'styled-components/src/native/index' { declare module.exports: any; } declare module 'styled-components/src/native/test/native.test' { declare module.exports: any; } declare module 'styled-components/src/native/test/theme.test' { declare module.exports: any; } declare module 'styled-components/src/no-parser/css' { declare module.exports: any; } declare module 'styled-components/src/no-parser/flatten' { declare module.exports: any; } declare module 'styled-components/src/no-parser/index' { declare module.exports: any; } declare module 'styled-components/src/no-parser/stringifyRules' { declare module.exports: any; } declare module 'styled-components/src/no-parser/test/basic.test' { declare module.exports: any; } declare module 'styled-components/src/no-parser/test/flatten.test' { declare module.exports: any; } declare module 'styled-components/src/no-parser/test/keyframes.test' { declare module.exports: any; } declare module 'styled-components/src/primitives/index' { declare module.exports: any; } declare module 'styled-components/src/primitives/test/primitives.test' { declare module.exports: any; } declare module 'styled-components/src/secretInternals' { declare module.exports: any; } declare module 'styled-components/src/test/attrs.test' { declare module.exports: any; } declare module 'styled-components/src/test/basic.test' { declare module.exports: any; } declare module 'styled-components/src/test/css.test' { declare module.exports: any; } declare module 'styled-components/src/test/enzymeSetup' { declare module.exports: any; } declare module 'styled-components/src/test/expanded-api.test' { declare module.exports: any; } declare module 'styled-components/src/test/extending.test' { declare module.exports: any; } declare module 'styled-components/src/test/globals' { declare module.exports: any; } declare module 'styled-components/src/test/overriding.test' { declare module.exports: any; } declare module 'styled-components/src/test/props.test' { declare module.exports: any; } declare module 'styled-components/src/test/rehydration.test' { declare module.exports: any; } declare module 'styled-components/src/test/ssr.test' { declare module.exports: any; } declare module 'styled-components/src/test/staticCaching.test' { declare module.exports: any; } declare module 'styled-components/src/test/styles.test' { declare module.exports: any; } declare module 'styled-components/src/test/theme.test' { declare module.exports: any; } declare module 'styled-components/src/test/utils' { declare module.exports: any; } declare module 'styled-components/src/test/warnTooManyClasses.test' { declare module.exports: any; } declare module 'styled-components/src/types' { declare module.exports: any; } declare module 'styled-components/src/utils/consolidateStreamedStyles' { declare module.exports: any; } declare module 'styled-components/src/utils/create-broadcast' { declare module.exports: any; } declare module 'styled-components/src/utils/createWarnTooManyClasses' { declare module.exports: any; } declare module 'styled-components/src/utils/determineTheme' { declare module.exports: any; } declare module 'styled-components/src/utils/domElements' { declare module.exports: any; } declare module 'styled-components/src/utils/escape' { declare module.exports: any; } declare module 'styled-components/src/utils/extractCompsFromCSS' { declare module.exports: any; } declare module 'styled-components/src/utils/flatten' { declare module.exports: any; } declare module 'styled-components/src/utils/generateAlphabeticName' { declare module.exports: any; } declare module 'styled-components/src/utils/getComponentName' { declare module.exports: any; } declare module 'styled-components/src/utils/interleave' { declare module.exports: any; } declare module 'styled-components/src/utils/isStyledComponent' { declare module.exports: any; } declare module 'styled-components/src/utils/isTag' { declare module.exports: any; } declare module 'styled-components/src/utils/nonce' { declare module.exports: any; } declare module 'styled-components/src/utils/once' { declare module.exports: any; } declare module 'styled-components/src/utils/stringifyRules' { declare module.exports: any; } declare module 'styled-components/src/utils/test/consolidateStreamedStyles.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/determineTheme.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/escape.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/extractCompsFromCSS.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/flatten.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/generateAlphabeticName.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/getComponentName.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/interleave.test' { declare module.exports: any; } declare module 'styled-components/src/utils/test/validAttr.test' { declare module.exports: any; } declare module 'styled-components/src/utils/validAttr' { declare module.exports: any; } declare module 'styled-components/src/vendor/glamor/hash' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss-nested/index' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss-safe-parser/parse' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss-safe-parser/safe-parser' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/at-rule' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/comment' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/container' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/css-syntax-error' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/declaration' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/input' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/lazy-result' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/list' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/node' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/parse' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/parser' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/postcss' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/processor' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/result' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/root' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/rule' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/stringifier' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/stringify' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/terminal-highlight' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/tokenize' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/vendor' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/warn-once' { declare module.exports: any; } declare module 'styled-components/src/vendor/postcss/warning' { declare module.exports: any; } // Filename aliases declare module 'styled-components/dist/styled-components-no-parser.browser.cjs.js' { declare module.exports: $Exports<'styled-components/dist/styled-components-no-parser.browser.cjs'>; } declare module 'styled-components/dist/styled-components-no-parser.browser.es.js' { declare module.exports: $Exports<'styled-components/dist/styled-components-no-parser.browser.es'>; } declare module 'styled-components/dist/styled-components-no-parser.cjs.js' { declare module.exports: $Exports<'styled-components/dist/styled-components-no-parser.cjs'>; } declare module 'styled-components/dist/styled-components-no-parser.es.js' { declare module.exports: $Exports<'styled-components/dist/styled-components-no-parser.es'>; } declare module 'styled-components/dist/styled-components-primitives.cjs.js' { declare module.exports: $Exports<'styled-components/dist/styled-components-primitives.cjs'>; } declare module 'styled-components/dist/styled-components-primitives.es.js' { declare module.exports: $Exports<'styled-components/dist/styled-components-primitives.es'>; } declare module 'styled-components/dist/styled-components.browser.cjs.js' { declare module.exports: $Exports<'styled-components/dist/styled-components.browser.cjs'>; } declare module 'styled-components/dist/styled-components.browser.es.js' { declare module.exports: $Exports<'styled-components/dist/styled-components.browser.es'>; } declare module 'styled-components/dist/styled-components.cjs.js' { declare module.exports: $Exports<'styled-components/dist/styled-components.cjs'>; } declare module 'styled-components/dist/styled-components.es.js' { declare module.exports: $Exports<'styled-components/dist/styled-components.es'>; } declare module 'styled-components/dist/styled-components.js' { declare module.exports: $Exports<'styled-components/dist/styled-components'>; } declare module 'styled-components/dist/styled-components.min.js' { declare module.exports: $Exports<'styled-components/dist/styled-components.min'>; } declare module 'styled-components/dist/styled-components.native.cjs.js' { declare module.exports: $Exports<'styled-components/dist/styled-components.native.cjs'>; } declare module 'styled-components/flow-typed/danger-plugin-jest_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/danger-plugin-jest_vx.x.x'>; } declare module 'styled-components/flow-typed/enzyme_v3.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/enzyme_v3.x.x'>; } declare module 'styled-components/flow-typed/fbjs_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/fbjs_vx.x.x'>; } declare module 'styled-components/flow-typed/lodash_v4.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/lodash_v4.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-cli_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-cli_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-core_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-core_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-eslint_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-eslint_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-loader_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-loader_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-plugin-add-module-exports_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-plugin-add-module-exports_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-plugin-external-helpers_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-plugin-external-helpers_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-plugin-flow-react-proptypes_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-plugin-flow-react-proptypes_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-plugin-transform-class-properties_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-plugin-transform-flow-strip-types_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-plugin-transform-object-rest-spread_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-preset-latest_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-preset-latest_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/babel-preset-react_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/babel-preset-react_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/buffer_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/buffer_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/chokidar_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/chokidar_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/css-to-react-native_v1.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/css-to-react-native_v1.x.x'>; } declare module 'styled-components/flow-typed/npm/css-to-react-native_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/css-to-react-native_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint-config-airbnb_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint-config-airbnb_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint-plugin-flowtype_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint-plugin-flowtype_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint-plugin-flowtype-errors_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint-plugin-flowtype-errors_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint-plugin-import_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint-plugin-import_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint-plugin-jsx-a11y_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint-plugin-jsx-a11y_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/eslint-plugin-react_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/eslint-plugin-react_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/expect_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/expect_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/express_v4.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/express_v4.x.x'>; } declare module 'styled-components/flow-typed/npm/flow-bin_v0.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/flow-bin_v0.x.x'>; } declare module 'styled-components/flow-typed/npm/flow-copy-source_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/flow-copy-source_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/inline-style-prefixer_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/inline-style-prefixer_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/is-function_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/is-function_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/is-plain-object_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/is-plain-object_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/jest_v19.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/jest_v19.x.x'>; } declare module 'styled-components/flow-typed/npm/jsdom_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/jsdom_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/lint-staged_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/lint-staged_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/mocha_v2.4.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/mocha_v2.4.x'>; } declare module 'styled-components/flow-typed/npm/mocha_v3.1.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/mocha_v3.1.x'>; } declare module 'styled-components/flow-typed/npm/mocha-jsdom_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/mocha-jsdom_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/node-watch_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/node-watch_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/pre-commit_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/pre-commit_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/react-addons-test-utils_v15.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/react-addons-test-utils_v15.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-babel_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-babel_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-commonjs_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-commonjs_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-flow_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-flow_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-inject_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-inject_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-json_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-json_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-node-resolve_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-node-resolve_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-replace_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-replace_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-uglify_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-uglify_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/rollup-plugin-visualizer_vx.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/rollup-plugin-visualizer_vx.x.x'>; } declare module 'styled-components/flow-typed/npm/supports-color_v3.x.x.js' { declare module.exports: $Exports<'styled-components/flow-typed/npm/supports-color_v3.x.x'>; } declare module 'styled-components/flow-typed/react-native.js' { declare module.exports: $Exports<'styled-components/flow-typed/react-native'>; } declare module 'styled-components/native/index.js' { declare module.exports: $Exports<'styled-components/native/index'>; } declare module 'styled-components/src/constructors/constructWithOptions.js' { declare module.exports: $Exports<'styled-components/src/constructors/constructWithOptions'>; } declare module 'styled-components/src/constructors/css.js' { declare module.exports: $Exports<'styled-components/src/constructors/css'>; } declare module 'styled-components/src/constructors/injectGlobal.js' { declare module.exports: $Exports<'styled-components/src/constructors/injectGlobal'>; } declare module 'styled-components/src/constructors/keyframes.js' { declare module.exports: $Exports<'styled-components/src/constructors/keyframes'>; } declare module 'styled-components/src/constructors/styled.js' { declare module.exports: $Exports<'styled-components/src/constructors/styled'>; } declare module 'styled-components/src/constructors/test/injectGlobal.test.js' { declare module.exports: $Exports<'styled-components/src/constructors/test/injectGlobal.test'>; } declare module 'styled-components/src/constructors/test/keyframes.test.js' { declare module.exports: $Exports<'styled-components/src/constructors/test/keyframes.test'>; } declare module 'styled-components/src/constructors/test/styled.test.js' { declare module.exports: $Exports<'styled-components/src/constructors/test/styled.test'>; } declare module 'styled-components/src/hoc/withTheme.js' { declare module.exports: $Exports<'styled-components/src/hoc/withTheme'>; } declare module 'styled-components/src/index.js' { declare module.exports: $Exports<'styled-components/src/index'>; } declare module 'styled-components/src/models/BrowserStyleSheet.js' { declare module.exports: $Exports<'styled-components/src/models/BrowserStyleSheet'>; } declare module 'styled-components/src/models/ComponentStyle.js' { declare module.exports: $Exports<'styled-components/src/models/ComponentStyle'>; } declare module 'styled-components/src/models/InlineStyle.js' { declare module.exports: $Exports<'styled-components/src/models/InlineStyle'>; } declare module 'styled-components/src/models/ServerStyleSheet.js' { declare module.exports: $Exports<'styled-components/src/models/ServerStyleSheet'>; } declare module 'styled-components/src/models/StyledComponent.js' { declare module.exports: $Exports<'styled-components/src/models/StyledComponent'>; } declare module 'styled-components/src/models/StyledNativeComponent.js' { declare module.exports: $Exports<'styled-components/src/models/StyledNativeComponent'>; } declare module 'styled-components/src/models/StyleSheet.js' { declare module.exports: $Exports<'styled-components/src/models/StyleSheet'>; } declare module 'styled-components/src/models/StyleSheetManager.js' { declare module.exports: $Exports<'styled-components/src/models/StyleSheetManager'>; } declare module 'styled-components/src/models/test/ThemeProvider.test.js' { declare module.exports: $Exports<'styled-components/src/models/test/ThemeProvider.test'>; } declare module 'styled-components/src/models/ThemeProvider.js' { declare module.exports: $Exports<'styled-components/src/models/ThemeProvider'>; } declare module 'styled-components/src/native/index.js' { declare module.exports: $Exports<'styled-components/src/native/index'>; } declare module 'styled-components/src/native/test/native.test.js' { declare module.exports: $Exports<'styled-components/src/native/test/native.test'>; } declare module 'styled-components/src/native/test/theme.test.js' { declare module.exports: $Exports<'styled-components/src/native/test/theme.test'>; } declare module 'styled-components/src/no-parser/css.js' { declare module.exports: $Exports<'styled-components/src/no-parser/css'>; } declare module 'styled-components/src/no-parser/flatten.js' { declare module.exports: $Exports<'styled-components/src/no-parser/flatten'>; } declare module 'styled-components/src/no-parser/index.js' { declare module.exports: $Exports<'styled-components/src/no-parser/index'>; } declare module 'styled-components/src/no-parser/stringifyRules.js' { declare module.exports: $Exports<'styled-components/src/no-parser/stringifyRules'>; } declare module 'styled-components/src/no-parser/test/basic.test.js' { declare module.exports: $Exports<'styled-components/src/no-parser/test/basic.test'>; } declare module 'styled-components/src/no-parser/test/flatten.test.js' { declare module.exports: $Exports<'styled-components/src/no-parser/test/flatten.test'>; } declare module 'styled-components/src/no-parser/test/keyframes.test.js' { declare module.exports: $Exports<'styled-components/src/no-parser/test/keyframes.test'>; } declare module 'styled-components/src/primitives/index.js' { declare module.exports: $Exports<'styled-components/src/primitives/index'>; } declare module 'styled-components/src/primitives/test/primitives.test.js' { declare module.exports: $Exports<'styled-components/src/primitives/test/primitives.test'>; } declare module 'styled-components/src/secretInternals.js' { declare module.exports: $Exports<'styled-components/src/secretInternals'>; } declare module 'styled-components/src/test/attrs.test.js' { declare module.exports: $Exports<'styled-components/src/test/attrs.test'>; } declare module 'styled-components/src/test/basic.test.js' { declare module.exports: $Exports<'styled-components/src/test/basic.test'>; } declare module 'styled-components/src/test/css.test.js' { declare module.exports: $Exports<'styled-components/src/test/css.test'>; } declare module 'styled-components/src/test/enzymeSetup.js' { declare module.exports: $Exports<'styled-components/src/test/enzymeSetup'>; } declare module 'styled-components/src/test/expanded-api.test.js' { declare module.exports: $Exports<'styled-components/src/test/expanded-api.test'>; } declare module 'styled-components/src/test/extending.test.js' { declare module.exports: $Exports<'styled-components/src/test/extending.test'>; } declare module 'styled-components/src/test/globals.js' { declare module.exports: $Exports<'styled-components/src/test/globals'>; } declare module 'styled-components/src/test/overriding.test.js' { declare module.exports: $Exports<'styled-components/src/test/overriding.test'>; } declare module 'styled-components/src/test/props.test.js' { declare module.exports: $Exports<'styled-components/src/test/props.test'>; } declare module 'styled-components/src/test/rehydration.test.js' { declare module.exports: $Exports<'styled-components/src/test/rehydration.test'>; } declare module 'styled-components/src/test/ssr.test.js' { declare module.exports: $Exports<'styled-components/src/test/ssr.test'>; } declare module 'styled-components/src/test/staticCaching.test.js' { declare module.exports: $Exports<'styled-components/src/test/staticCaching.test'>; } declare module 'styled-components/src/test/styles.test.js' { declare module.exports: $Exports<'styled-components/src/test/styles.test'>; } declare module 'styled-components/src/test/theme.test.js' { declare module.exports: $Exports<'styled-components/src/test/theme.test'>; } declare module 'styled-components/src/test/utils.js' { declare module.exports: $Exports<'styled-components/src/test/utils'>; } declare module 'styled-components/src/test/warnTooManyClasses.test.js' { declare module.exports: $Exports<'styled-components/src/test/warnTooManyClasses.test'>; } declare module 'styled-components/src/types.js' { declare module.exports: $Exports<'styled-components/src/types'>; } declare module 'styled-components/src/utils/consolidateStreamedStyles.js' { declare module.exports: $Exports<'styled-components/src/utils/consolidateStreamedStyles'>; } declare module 'styled-components/src/utils/create-broadcast.js' { declare module.exports: $Exports<'styled-components/src/utils/create-broadcast'>; } declare module 'styled-components/src/utils/createWarnTooManyClasses.js' { declare module.exports: $Exports<'styled-components/src/utils/createWarnTooManyClasses'>; } declare module 'styled-components/src/utils/determineTheme.js' { declare module.exports: $Exports<'styled-components/src/utils/determineTheme'>; } declare module 'styled-components/src/utils/domElements.js' { declare module.exports: $Exports<'styled-components/src/utils/domElements'>; } declare module 'styled-components/src/utils/escape.js' { declare module.exports: $Exports<'styled-components/src/utils/escape'>; } declare module 'styled-components/src/utils/extractCompsFromCSS.js' { declare module.exports: $Exports<'styled-components/src/utils/extractCompsFromCSS'>; } declare module 'styled-components/src/utils/flatten.js' { declare module.exports: $Exports<'styled-components/src/utils/flatten'>; } declare module 'styled-components/src/utils/generateAlphabeticName.js' { declare module.exports: $Exports<'styled-components/src/utils/generateAlphabeticName'>; } declare module 'styled-components/src/utils/getComponentName.js' { declare module.exports: $Exports<'styled-components/src/utils/getComponentName'>; } declare module 'styled-components/src/utils/interleave.js' { declare module.exports: $Exports<'styled-components/src/utils/interleave'>; } declare module 'styled-components/src/utils/isStyledComponent.js' { declare module.exports: $Exports<'styled-components/src/utils/isStyledComponent'>; } declare module 'styled-components/src/utils/isTag.js' { declare module.exports: $Exports<'styled-components/src/utils/isTag'>; } declare module 'styled-components/src/utils/nonce.js' { declare module.exports: $Exports<'styled-components/src/utils/nonce'>; } declare module 'styled-components/src/utils/once.js' { declare module.exports: $Exports<'styled-components/src/utils/once'>; } declare module 'styled-components/src/utils/stringifyRules.js' { declare module.exports: $Exports<'styled-components/src/utils/stringifyRules'>; } declare module 'styled-components/src/utils/test/consolidateStreamedStyles.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/consolidateStreamedStyles.test'>; } declare module 'styled-components/src/utils/test/determineTheme.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/determineTheme.test'>; } declare module 'styled-components/src/utils/test/escape.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/escape.test'>; } declare module 'styled-components/src/utils/test/extractCompsFromCSS.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/extractCompsFromCSS.test'>; } declare module 'styled-components/src/utils/test/flatten.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/flatten.test'>; } declare module 'styled-components/src/utils/test/generateAlphabeticName.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/generateAlphabeticName.test'>; } declare module 'styled-components/src/utils/test/getComponentName.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/getComponentName.test'>; } declare module 'styled-components/src/utils/test/interleave.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/interleave.test'>; } declare module 'styled-components/src/utils/test/validAttr.test.js' { declare module.exports: $Exports<'styled-components/src/utils/test/validAttr.test'>; } declare module 'styled-components/src/utils/validAttr.js' { declare module.exports: $Exports<'styled-components/src/utils/validAttr'>; } declare module 'styled-components/src/vendor/glamor/hash.js' { declare module.exports: $Exports<'styled-components/src/vendor/glamor/hash'>; } declare module 'styled-components/src/vendor/postcss-nested/index.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss-nested/index'>; } declare module 'styled-components/src/vendor/postcss-safe-parser/parse.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss-safe-parser/parse'>; } declare module 'styled-components/src/vendor/postcss-safe-parser/safe-parser.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss-safe-parser/safe-parser'>; } declare module 'styled-components/src/vendor/postcss/at-rule.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/at-rule'>; } declare module 'styled-components/src/vendor/postcss/comment.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/comment'>; } declare module 'styled-components/src/vendor/postcss/container.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/container'>; } declare module 'styled-components/src/vendor/postcss/css-syntax-error.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/css-syntax-error'>; } declare module 'styled-components/src/vendor/postcss/declaration.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/declaration'>; } declare module 'styled-components/src/vendor/postcss/input.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/input'>; } declare module 'styled-components/src/vendor/postcss/lazy-result.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/lazy-result'>; } declare module 'styled-components/src/vendor/postcss/list.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/list'>; } declare module 'styled-components/src/vendor/postcss/node.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/node'>; } declare module 'styled-components/src/vendor/postcss/parse.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/parse'>; } declare module 'styled-components/src/vendor/postcss/parser.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/parser'>; } declare module 'styled-components/src/vendor/postcss/postcss.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/postcss'>; } declare module 'styled-components/src/vendor/postcss/processor.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/processor'>; } declare module 'styled-components/src/vendor/postcss/result.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/result'>; } declare module 'styled-components/src/vendor/postcss/root.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/root'>; } declare module 'styled-components/src/vendor/postcss/rule.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/rule'>; } declare module 'styled-components/src/vendor/postcss/stringifier.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/stringifier'>; } declare module 'styled-components/src/vendor/postcss/stringify.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/stringify'>; } declare module 'styled-components/src/vendor/postcss/terminal-highlight.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/terminal-highlight'>; } declare module 'styled-components/src/vendor/postcss/tokenize.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/tokenize'>; } declare module 'styled-components/src/vendor/postcss/vendor.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/vendor'>; } declare module 'styled-components/src/vendor/postcss/warn-once.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/warn-once'>; } declare module 'styled-components/src/vendor/postcss/warning.js' { declare module.exports: $Exports<'styled-components/src/vendor/postcss/warning'>; } ================================================ FILE: flow-typed/npm/subscriptions-transport-ws_vx.x.x.js ================================================ // flow-typed signature: 6d4e0fecfdc0fcc811023d1d902bb68c // flow-typed version: <>/subscriptions-transport-ws_v0.9.x/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'subscriptions-transport-ws' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'subscriptions-transport-ws' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'subscriptions-transport-ws/browser/client' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/client' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/defaults' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/index' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/legacy/parse-legacy-protocol' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/message-types' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/protocol' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/server' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/utils/empty-iterable' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/utils/is-subscriptions' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/utils/promise-to-iterable' { declare module.exports: any; } declare module 'subscriptions-transport-ws/dist/utils/rejection-iterable' { declare module.exports: any; } declare module 'subscriptions-transport-ws/unpkg-webpack.config' { declare module.exports: any; } // Filename aliases declare module 'subscriptions-transport-ws/browser/client.js' { declare module.exports: $Exports<'subscriptions-transport-ws/browser/client'>; } declare module 'subscriptions-transport-ws/dist/client.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/client'>; } declare module 'subscriptions-transport-ws/dist/defaults.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/defaults'>; } declare module 'subscriptions-transport-ws/dist/index.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/index'>; } declare module 'subscriptions-transport-ws/dist/legacy/parse-legacy-protocol.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/legacy/parse-legacy-protocol'>; } declare module 'subscriptions-transport-ws/dist/message-types.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/message-types'>; } declare module 'subscriptions-transport-ws/dist/protocol.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/protocol'>; } declare module 'subscriptions-transport-ws/dist/server.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/server'>; } declare module 'subscriptions-transport-ws/dist/utils/empty-iterable.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/utils/empty-iterable'>; } declare module 'subscriptions-transport-ws/dist/utils/is-subscriptions.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/utils/is-subscriptions'>; } declare module 'subscriptions-transport-ws/dist/utils/promise-to-iterable.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/utils/promise-to-iterable'>; } declare module 'subscriptions-transport-ws/dist/utils/rejection-iterable.js' { declare module.exports: $Exports<'subscriptions-transport-ws/dist/utils/rejection-iterable'>; } declare module 'subscriptions-transport-ws/unpkg-webpack.config.js' { declare module.exports: $Exports<'subscriptions-transport-ws/unpkg-webpack.config'>; } ================================================ FILE: flow-typed/npm/sw-precache-webpack-plugin_vx.x.x.js ================================================ // flow-typed signature: 5de34cdf694395010ffe4d43e77d6d43 // flow-typed version: <>/sw-precache-webpack-plugin_v^0.11.4/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'sw-precache-webpack-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'sw-precache-webpack-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'sw-precache-webpack-plugin/lib/index' { declare module.exports: any; } // Filename aliases declare module 'sw-precache-webpack-plugin/lib/index.js' { declare module.exports: $Exports<'sw-precache-webpack-plugin/lib/index'>; } ================================================ FILE: flow-typed/npm/then-queue_vx.x.x.js ================================================ // flow-typed signature: 9a4fe1f5bcbed5573fb775a1952f4894 // flow-typed version: <>/then-queue_v^1.3.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'then-queue' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'then-queue' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'then-queue/test/index' { declare module.exports: any; } // Filename aliases declare module 'then-queue/index' { declare module.exports: $Exports<'then-queue'>; } declare module 'then-queue/index.js' { declare module.exports: $Exports<'then-queue'>; } declare module 'then-queue/test/index.js' { declare module.exports: $Exports<'then-queue/test/index'>; } ================================================ FILE: flow-typed/npm/toobusy-js_vx.x.x.js ================================================ // flow-typed signature: 6c570301390b131491fa1131d71fcf16 // flow-typed version: <>/toobusy-js_v0.5.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'toobusy-js' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'toobusy-js' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'toobusy-js/examples/express' { declare module.exports: any; } declare module 'toobusy-js/examples/http' { declare module.exports: any; } declare module 'toobusy-js/examples/load' { declare module.exports: any; } declare module 'toobusy-js/examples/standalone' { declare module.exports: any; } declare module 'toobusy-js/foo' { declare module.exports: any; } declare module 'toobusy-js/tests' { declare module.exports: any; } declare module 'toobusy-js/toobusy' { declare module.exports: any; } // Filename aliases declare module 'toobusy-js/examples/express.js' { declare module.exports: $Exports<'toobusy-js/examples/express'>; } declare module 'toobusy-js/examples/http.js' { declare module.exports: $Exports<'toobusy-js/examples/http'>; } declare module 'toobusy-js/examples/load.js' { declare module.exports: $Exports<'toobusy-js/examples/load'>; } declare module 'toobusy-js/examples/standalone.js' { declare module.exports: $Exports<'toobusy-js/examples/standalone'>; } declare module 'toobusy-js/foo.js' { declare module.exports: $Exports<'toobusy-js/foo'>; } declare module 'toobusy-js/index' { declare module.exports: $Exports<'toobusy-js'>; } declare module 'toobusy-js/index.js' { declare module.exports: $Exports<'toobusy-js'>; } declare module 'toobusy-js/tests.js' { declare module.exports: $Exports<'toobusy-js/tests'>; } declare module 'toobusy-js/toobusy.js' { declare module.exports: $Exports<'toobusy-js/toobusy'>; } ================================================ FILE: flow-typed/npm/uuid_v3.x.x.js ================================================ // flow-typed signature: 615e568e95029d58f116dd157e320137 // flow-typed version: 2b95c0dfc1/uuid_v3.x.x/flow_>=v0.32.x declare module 'uuid' { declare class uuid { static ( options?: {| random?: number[], rng?: () => number[] | Buffer, |}, buffer?: number[] | Buffer, offset?: number ): string, static v1( options?: {| node?: number[], clockseq?: number, msecs?: number | Date, nsecs?: number, |}, buffer?: number[] | Buffer, offset?: number ): string, static v4( options?: {| random?: number[], rng?: () => number[] | Buffer, |}, buffer?: number[] | Buffer, offset?: number ): string, } declare module.exports: Class; } declare module 'uuid/v1' { declare class v1 { static ( options?: {| node?: number[], clockseq?: number, msecs?: number | Date, nsecs?: number, |}, buffer?: number[] | Buffer, offset?: number ): string, } declare module.exports: Class; } declare module 'uuid/v4' { declare class v4 { static ( options?: {| random?: number[], rng?: () => number[] | Buffer, |}, buffer?: number[] | Buffer, offset?: number ): string, } declare module.exports: Class; } declare module 'uuid/v5' { declare class v5 { static ( name?: string | number[], namespace?: string | number[], buffer?: number[] | Buffer, offset?: number ): string, } declare module.exports: Class; } ================================================ FILE: flow-typed/npm/validator_vx.x.x.js ================================================ // flow-typed signature: 2543968ea7a2e981f4fb402676366238 // flow-typed version: <>/validator_v^9.0.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'validator' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'validator' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'validator/lib/alpha' { declare module.exports: any; } declare module 'validator/lib/blacklist' { declare module.exports: any; } declare module 'validator/lib/contains' { declare module.exports: any; } declare module 'validator/lib/equals' { declare module.exports: any; } declare module 'validator/lib/escape' { declare module.exports: any; } declare module 'validator/lib/isAfter' { declare module.exports: any; } declare module 'validator/lib/isAlpha' { declare module.exports: any; } declare module 'validator/lib/isAlphanumeric' { declare module.exports: any; } declare module 'validator/lib/isAscii' { declare module.exports: any; } declare module 'validator/lib/isBase64' { declare module.exports: any; } declare module 'validator/lib/isBefore' { declare module.exports: any; } declare module 'validator/lib/isBoolean' { declare module.exports: any; } declare module 'validator/lib/isByteLength' { declare module.exports: any; } declare module 'validator/lib/isCreditCard' { declare module.exports: any; } declare module 'validator/lib/isCurrency' { declare module.exports: any; } declare module 'validator/lib/isDataURI' { declare module.exports: any; } declare module 'validator/lib/isDate' { declare module.exports: any; } declare module 'validator/lib/isDecimal' { declare module.exports: any; } declare module 'validator/lib/isDivisibleBy' { declare module.exports: any; } declare module 'validator/lib/isEmail' { declare module.exports: any; } declare module 'validator/lib/isEmpty' { declare module.exports: any; } declare module 'validator/lib/isFloat' { declare module.exports: any; } declare module 'validator/lib/isFQDN' { declare module.exports: any; } declare module 'validator/lib/isFullWidth' { declare module.exports: any; } declare module 'validator/lib/isHalfWidth' { declare module.exports: any; } declare module 'validator/lib/isHash' { declare module.exports: any; } declare module 'validator/lib/isHexadecimal' { declare module.exports: any; } declare module 'validator/lib/isHexColor' { declare module.exports: any; } declare module 'validator/lib/isIn' { declare module.exports: any; } declare module 'validator/lib/isInt' { declare module.exports: any; } declare module 'validator/lib/isIP' { declare module.exports: any; } declare module 'validator/lib/isISBN' { declare module.exports: any; } declare module 'validator/lib/isISIN' { declare module.exports: any; } declare module 'validator/lib/isISO31661Alpha2' { declare module.exports: any; } declare module 'validator/lib/isISO8601' { declare module.exports: any; } declare module 'validator/lib/isISRC' { declare module.exports: any; } declare module 'validator/lib/isISSN' { declare module.exports: any; } declare module 'validator/lib/isJSON' { declare module.exports: any; } declare module 'validator/lib/isLatLong' { declare module.exports: any; } declare module 'validator/lib/isLength' { declare module.exports: any; } declare module 'validator/lib/isLowercase' { declare module.exports: any; } declare module 'validator/lib/isMACAddress' { declare module.exports: any; } declare module 'validator/lib/isMD5' { declare module.exports: any; } declare module 'validator/lib/isMimeType' { declare module.exports: any; } declare module 'validator/lib/isMobilePhone' { declare module.exports: any; } declare module 'validator/lib/isMongoId' { declare module.exports: any; } declare module 'validator/lib/isMultibyte' { declare module.exports: any; } declare module 'validator/lib/isNumeric' { declare module.exports: any; } declare module 'validator/lib/isPort' { declare module.exports: any; } declare module 'validator/lib/isPostalCode' { declare module.exports: any; } declare module 'validator/lib/isSurrogatePair' { declare module.exports: any; } declare module 'validator/lib/isUppercase' { declare module.exports: any; } declare module 'validator/lib/isURL' { declare module.exports: any; } declare module 'validator/lib/isUUID' { declare module.exports: any; } declare module 'validator/lib/isVariableWidth' { declare module.exports: any; } declare module 'validator/lib/isWhitelisted' { declare module.exports: any; } declare module 'validator/lib/ltrim' { declare module.exports: any; } declare module 'validator/lib/matches' { declare module.exports: any; } declare module 'validator/lib/normalizeEmail' { declare module.exports: any; } declare module 'validator/lib/rtrim' { declare module.exports: any; } declare module 'validator/lib/stripLow' { declare module.exports: any; } declare module 'validator/lib/toBoolean' { declare module.exports: any; } declare module 'validator/lib/toDate' { declare module.exports: any; } declare module 'validator/lib/toFloat' { declare module.exports: any; } declare module 'validator/lib/toInt' { declare module.exports: any; } declare module 'validator/lib/trim' { declare module.exports: any; } declare module 'validator/lib/unescape' { declare module.exports: any; } declare module 'validator/lib/util/assertString' { declare module.exports: any; } declare module 'validator/lib/util/merge' { declare module.exports: any; } declare module 'validator/lib/util/toString' { declare module.exports: any; } declare module 'validator/lib/whitelist' { declare module.exports: any; } declare module 'validator/validator' { declare module.exports: any; } declare module 'validator/validator.min' { declare module.exports: any; } // Filename aliases declare module 'validator/index' { declare module.exports: $Exports<'validator'>; } declare module 'validator/index.js' { declare module.exports: $Exports<'validator'>; } declare module 'validator/lib/alpha.js' { declare module.exports: $Exports<'validator/lib/alpha'>; } declare module 'validator/lib/blacklist.js' { declare module.exports: $Exports<'validator/lib/blacklist'>; } declare module 'validator/lib/contains.js' { declare module.exports: $Exports<'validator/lib/contains'>; } declare module 'validator/lib/equals.js' { declare module.exports: $Exports<'validator/lib/equals'>; } declare module 'validator/lib/escape.js' { declare module.exports: $Exports<'validator/lib/escape'>; } declare module 'validator/lib/isAfter.js' { declare module.exports: $Exports<'validator/lib/isAfter'>; } declare module 'validator/lib/isAlpha.js' { declare module.exports: $Exports<'validator/lib/isAlpha'>; } declare module 'validator/lib/isAlphanumeric.js' { declare module.exports: $Exports<'validator/lib/isAlphanumeric'>; } declare module 'validator/lib/isAscii.js' { declare module.exports: $Exports<'validator/lib/isAscii'>; } declare module 'validator/lib/isBase64.js' { declare module.exports: $Exports<'validator/lib/isBase64'>; } declare module 'validator/lib/isBefore.js' { declare module.exports: $Exports<'validator/lib/isBefore'>; } declare module 'validator/lib/isBoolean.js' { declare module.exports: $Exports<'validator/lib/isBoolean'>; } declare module 'validator/lib/isByteLength.js' { declare module.exports: $Exports<'validator/lib/isByteLength'>; } declare module 'validator/lib/isCreditCard.js' { declare module.exports: $Exports<'validator/lib/isCreditCard'>; } declare module 'validator/lib/isCurrency.js' { declare module.exports: $Exports<'validator/lib/isCurrency'>; } declare module 'validator/lib/isDataURI.js' { declare module.exports: $Exports<'validator/lib/isDataURI'>; } declare module 'validator/lib/isDate.js' { declare module.exports: $Exports<'validator/lib/isDate'>; } declare module 'validator/lib/isDecimal.js' { declare module.exports: $Exports<'validator/lib/isDecimal'>; } declare module 'validator/lib/isDivisibleBy.js' { declare module.exports: $Exports<'validator/lib/isDivisibleBy'>; } declare module 'validator/lib/isEmail.js' { declare module.exports: $Exports<'validator/lib/isEmail'>; } declare module 'validator/lib/isEmpty.js' { declare module.exports: $Exports<'validator/lib/isEmpty'>; } declare module 'validator/lib/isFloat.js' { declare module.exports: $Exports<'validator/lib/isFloat'>; } declare module 'validator/lib/isFQDN.js' { declare module.exports: $Exports<'validator/lib/isFQDN'>; } declare module 'validator/lib/isFullWidth.js' { declare module.exports: $Exports<'validator/lib/isFullWidth'>; } declare module 'validator/lib/isHalfWidth.js' { declare module.exports: $Exports<'validator/lib/isHalfWidth'>; } declare module 'validator/lib/isHash.js' { declare module.exports: $Exports<'validator/lib/isHash'>; } declare module 'validator/lib/isHexadecimal.js' { declare module.exports: $Exports<'validator/lib/isHexadecimal'>; } declare module 'validator/lib/isHexColor.js' { declare module.exports: $Exports<'validator/lib/isHexColor'>; } declare module 'validator/lib/isIn.js' { declare module.exports: $Exports<'validator/lib/isIn'>; } declare module 'validator/lib/isInt.js' { declare module.exports: $Exports<'validator/lib/isInt'>; } declare module 'validator/lib/isIP.js' { declare module.exports: $Exports<'validator/lib/isIP'>; } declare module 'validator/lib/isISBN.js' { declare module.exports: $Exports<'validator/lib/isISBN'>; } declare module 'validator/lib/isISIN.js' { declare module.exports: $Exports<'validator/lib/isISIN'>; } declare module 'validator/lib/isISO31661Alpha2.js' { declare module.exports: $Exports<'validator/lib/isISO31661Alpha2'>; } declare module 'validator/lib/isISO8601.js' { declare module.exports: $Exports<'validator/lib/isISO8601'>; } declare module 'validator/lib/isISRC.js' { declare module.exports: $Exports<'validator/lib/isISRC'>; } declare module 'validator/lib/isISSN.js' { declare module.exports: $Exports<'validator/lib/isISSN'>; } declare module 'validator/lib/isJSON.js' { declare module.exports: $Exports<'validator/lib/isJSON'>; } declare module 'validator/lib/isLatLong.js' { declare module.exports: $Exports<'validator/lib/isLatLong'>; } declare module 'validator/lib/isLength.js' { declare module.exports: $Exports<'validator/lib/isLength'>; } declare module 'validator/lib/isLowercase.js' { declare module.exports: $Exports<'validator/lib/isLowercase'>; } declare module 'validator/lib/isMACAddress.js' { declare module.exports: $Exports<'validator/lib/isMACAddress'>; } declare module 'validator/lib/isMD5.js' { declare module.exports: $Exports<'validator/lib/isMD5'>; } declare module 'validator/lib/isMimeType.js' { declare module.exports: $Exports<'validator/lib/isMimeType'>; } declare module 'validator/lib/isMobilePhone.js' { declare module.exports: $Exports<'validator/lib/isMobilePhone'>; } declare module 'validator/lib/isMongoId.js' { declare module.exports: $Exports<'validator/lib/isMongoId'>; } declare module 'validator/lib/isMultibyte.js' { declare module.exports: $Exports<'validator/lib/isMultibyte'>; } declare module 'validator/lib/isNumeric.js' { declare module.exports: $Exports<'validator/lib/isNumeric'>; } declare module 'validator/lib/isPort.js' { declare module.exports: $Exports<'validator/lib/isPort'>; } declare module 'validator/lib/isPostalCode.js' { declare module.exports: $Exports<'validator/lib/isPostalCode'>; } declare module 'validator/lib/isSurrogatePair.js' { declare module.exports: $Exports<'validator/lib/isSurrogatePair'>; } declare module 'validator/lib/isUppercase.js' { declare module.exports: $Exports<'validator/lib/isUppercase'>; } declare module 'validator/lib/isURL.js' { declare module.exports: $Exports<'validator/lib/isURL'>; } declare module 'validator/lib/isUUID.js' { declare module.exports: $Exports<'validator/lib/isUUID'>; } declare module 'validator/lib/isVariableWidth.js' { declare module.exports: $Exports<'validator/lib/isVariableWidth'>; } declare module 'validator/lib/isWhitelisted.js' { declare module.exports: $Exports<'validator/lib/isWhitelisted'>; } declare module 'validator/lib/ltrim.js' { declare module.exports: $Exports<'validator/lib/ltrim'>; } declare module 'validator/lib/matches.js' { declare module.exports: $Exports<'validator/lib/matches'>; } declare module 'validator/lib/normalizeEmail.js' { declare module.exports: $Exports<'validator/lib/normalizeEmail'>; } declare module 'validator/lib/rtrim.js' { declare module.exports: $Exports<'validator/lib/rtrim'>; } declare module 'validator/lib/stripLow.js' { declare module.exports: $Exports<'validator/lib/stripLow'>; } declare module 'validator/lib/toBoolean.js' { declare module.exports: $Exports<'validator/lib/toBoolean'>; } declare module 'validator/lib/toDate.js' { declare module.exports: $Exports<'validator/lib/toDate'>; } declare module 'validator/lib/toFloat.js' { declare module.exports: $Exports<'validator/lib/toFloat'>; } declare module 'validator/lib/toInt.js' { declare module.exports: $Exports<'validator/lib/toInt'>; } declare module 'validator/lib/trim.js' { declare module.exports: $Exports<'validator/lib/trim'>; } declare module 'validator/lib/unescape.js' { declare module.exports: $Exports<'validator/lib/unescape'>; } declare module 'validator/lib/util/assertString.js' { declare module.exports: $Exports<'validator/lib/util/assertString'>; } declare module 'validator/lib/util/merge.js' { declare module.exports: $Exports<'validator/lib/util/merge'>; } declare module 'validator/lib/util/toString.js' { declare module.exports: $Exports<'validator/lib/util/toString'>; } declare module 'validator/lib/whitelist.js' { declare module.exports: $Exports<'validator/lib/whitelist'>; } declare module 'validator/validator.js' { declare module.exports: $Exports<'validator/validator'>; } declare module 'validator/validator.min.js' { declare module.exports: $Exports<'validator/validator.min'>; } ================================================ FILE: flow-typed/npm/web-push_vx.x.x.js ================================================ // flow-typed signature: 005da1297e0ad6a94b3d535bb51f87a7 // flow-typed version: <>/web-push_v^3.2.2/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'web-push' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'web-push' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'web-push/src/cli' { declare module.exports: any; } declare module 'web-push/src/encryption-helper' { declare module.exports: any; } declare module 'web-push/src/index' { declare module.exports: any; } declare module 'web-push/src/vapid-helper' { declare module.exports: any; } declare module 'web-push/src/web-push-error' { declare module.exports: any; } declare module 'web-push/src/web-push-lib' { declare module.exports: any; } // Filename aliases declare module 'web-push/src/cli.js' { declare module.exports: $Exports<'web-push/src/cli'>; } declare module 'web-push/src/encryption-helper.js' { declare module.exports: $Exports<'web-push/src/encryption-helper'>; } declare module 'web-push/src/index.js' { declare module.exports: $Exports<'web-push/src/index'>; } declare module 'web-push/src/vapid-helper.js' { declare module.exports: $Exports<'web-push/src/vapid-helper'>; } declare module 'web-push/src/web-push-error.js' { declare module.exports: $Exports<'web-push/src/web-push-error'>; } declare module 'web-push/src/web-push-lib.js' { declare module.exports: $Exports<'web-push/src/web-push-lib'>; } ================================================ FILE: flow-typed/npm/webpack-bundle-analyzer_vx.x.x.js ================================================ // flow-typed signature: bce16c540c3b04b9407a623f6286fff5 // flow-typed version: <>/webpack-bundle-analyzer_v^2.9.1/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'webpack-bundle-analyzer' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'webpack-bundle-analyzer' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'webpack-bundle-analyzer/lib/analyzer' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/bin/analyzer' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/BundleAnalyzerPlugin' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/index' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/Logger' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/parseUtils' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/tree' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/lib/viewer' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/public/viewer' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/analyzer' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/bin/analyzer' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/BundleAnalyzerPlugin' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/index' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/Logger' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/parseUtils' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/tree' { declare module.exports: any; } declare module 'webpack-bundle-analyzer/src/viewer' { declare module.exports: any; } // Filename aliases declare module 'webpack-bundle-analyzer/lib/analyzer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/analyzer'>; } declare module 'webpack-bundle-analyzer/lib/bin/analyzer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/bin/analyzer'>; } declare module 'webpack-bundle-analyzer/lib/BundleAnalyzerPlugin.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/BundleAnalyzerPlugin'>; } declare module 'webpack-bundle-analyzer/lib/index.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/index'>; } declare module 'webpack-bundle-analyzer/lib/Logger.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/Logger'>; } declare module 'webpack-bundle-analyzer/lib/parseUtils.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/parseUtils'>; } declare module 'webpack-bundle-analyzer/lib/tree.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/tree'>; } declare module 'webpack-bundle-analyzer/lib/viewer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/lib/viewer'>; } declare module 'webpack-bundle-analyzer/public/viewer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/public/viewer'>; } declare module 'webpack-bundle-analyzer/src/analyzer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/analyzer'>; } declare module 'webpack-bundle-analyzer/src/bin/analyzer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/bin/analyzer'>; } declare module 'webpack-bundle-analyzer/src/BundleAnalyzerPlugin.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/BundleAnalyzerPlugin'>; } declare module 'webpack-bundle-analyzer/src/index.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/index'>; } declare module 'webpack-bundle-analyzer/src/Logger.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/Logger'>; } declare module 'webpack-bundle-analyzer/src/parseUtils.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/parseUtils'>; } declare module 'webpack-bundle-analyzer/src/tree.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/tree'>; } declare module 'webpack-bundle-analyzer/src/viewer.js' { declare module.exports: $Exports<'webpack-bundle-analyzer/src/viewer'>; } ================================================ FILE: flow-typed/npm/webpack-module-manifest-plugin_vx.x.x.js ================================================ // flow-typed signature: 75ad28471a8b109519e597cfe8a7e0c9 // flow-typed version: <>/webpack-module-manifest-plugin_v^0.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'webpack-module-manifest-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'webpack-module-manifest-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'webpack-module-manifest-plugin/lib/index' { declare module.exports: any; } declare module 'webpack-module-manifest-plugin/src/index' { declare module.exports: any; } declare module 'webpack-module-manifest-plugin/src/index.test' { declare module.exports: any; } // Filename aliases declare module 'webpack-module-manifest-plugin/lib/index.js' { declare module.exports: $Exports<'webpack-module-manifest-plugin/lib/index'>; } declare module 'webpack-module-manifest-plugin/src/index.js' { declare module.exports: $Exports<'webpack-module-manifest-plugin/src/index'>; } declare module 'webpack-module-manifest-plugin/src/index.test.js' { declare module.exports: $Exports<'webpack-module-manifest-plugin/src/index.test'>; } ================================================ FILE: flow-typed/npm/write-file-webpack-plugin_vx.x.x.js ================================================ // flow-typed signature: 9391c160c01f89bdc69f32cd64e077c0 // flow-typed version: <>/write-file-webpack-plugin_v^4.1.0/flow_v0.63.1 /** * This is an autogenerated libdef stub for: * * 'write-file-webpack-plugin' * * Fill this stub out by replacing all the `any` types. * * Once filled out, we encourage you to share your work with the * community by sending a pull request to: * https://github.com/flowtype/flow-typed */ declare module 'write-file-webpack-plugin' { declare module.exports: any; } /** * We include stubs for each file inside this npm package in case you need to * require those files directly. Feel free to delete any files that aren't * needed. */ declare module 'write-file-webpack-plugin/dist/index' { declare module.exports: any; } // Filename aliases declare module 'write-file-webpack-plugin/dist/index.js' { declare module.exports: $Exports<'write-file-webpack-plugin/dist/index'>; } ================================================ FILE: flow-typed/react-native.js ================================================ declare module 'react-native' { declare module.exports: any; } ================================================ FILE: hyperion/index.js ================================================ // @flow const debug = require('debug')('hyperion'); import 'raf/polyfill'; debug('Hyperion starting...'); debug('logging with debug enabled'); require('isomorphic-fetch'); // prevent https://github.com/withspectrum/spectrum/issues/3032 import fs from 'fs'; import statsd from 'shared/middlewares/statsd'; import express from 'express'; import Loadable from 'react-loadable'; import path from 'path'; // TODO: This is the only thing that connects hyperion to the db // we should get rid of this if at all possible import { getUserById } from 'shared/db/queries/user'; import Raven from 'shared/raven'; import toobusy from 'shared/middlewares/toobusy'; import addSecurityMiddleware from 'shared/middlewares/security'; import { createProxyMiddleware } from 'http-proxy-middleware'; const PORT = process.env.PORT || 3006; const ONE_HOUR = 3600; const app = express(); // Instantiate the statsd middleware as soon as possible to get accurate time tracking app.use(statsd); // Trust the now proxy app.set('trust proxy', true); app.use(toobusy); // Security middleware. addSecurityMiddleware(app, { enableNonce: true, enableCSP: true }); app.use( ['/api', '/api/**'], createProxyMiddleware({ target: 'https://api.spectrum.chat', changeOrigin: true, }) ); app.use( ['/auth', '/auth/**'], createProxyMiddleware({ target: 'https://api.spectrum.chat', changeOrigin: true, }) ); app.use( ['/websocket', '/websocket/**'], createProxyMiddleware({ target: 'https://api.spectrum.chat', changeOrigin: true, ws: true, }) ); // Serve static files from the build folder app.use( express.static( process.env.NODE_ENV === 'production' ? './build' : path.join(__dirname, '../build/'), { index: false, setHeaders: (res, path) => { // Don't cache the serviceworker in the browser if (path.indexOf('sw.js') > -1) { res.setHeader('Cache-Control', 'no-store, no-cache'); return; } if (path.endsWith('.js')) { // Cache static files in now CDN for seven days // (the filename changes if the file content changes, so we can cache these forever) res.setHeader('Cache-Control', `s-maxage=${ONE_HOUR}`); } }, } ) ); // In dev the static files from the root public folder aren't moved to the build folder by create-react-app // so we just tell Express to serve those too if (process.env.NODE_ENV === 'development') { app.use( express.static(path.resolve(__dirname, '..', 'public'), { index: false }) ); } import bodyParser from 'body-parser'; app.use(bodyParser.json()); if (process.env.NODE_ENV === 'development') { const logging = require('shared/middlewares/logging'); app.use(logging); } if (process.env.NODE_ENV === 'production' && !process.env.FORCE_DEV) { // Raven (Sentry client) needs to come before everything else const raven = require('shared/middlewares/raven').default; app.use(raven); } // Cross origin request support import cors from 'shared/middlewares/cors'; app.use(cors); // In development the Webpack HMR server requests /sockjs-node constantly, // so let's patch that through to it! if (process.env.NODE_ENV === 'development') { app.use('/sockjs-node', (req: express$Request, res: express$Response) => { res.redirect(301, `http://localhost:3000${req.path}`); }); } import cookieParser from 'cookie-parser'; app.use(cookieParser()); import session from 'shared/middlewares/session'; app.use(session); import passport from 'passport'; // Setup use serialization passport.serializeUser((user, done) => { done(null, typeof user === 'string' ? user : JSON.stringify(user)); }); // NOTE(@mxstbr): `data` used to be just the userID, but is now the full user data // to avoid having to go to the db on every single request. We have to handle both // cases here, as more and more users use Spectrum again we go to the db less and less passport.deserializeUser((data, done) => { // Fast path: try to JSON.parse the data if it works, we got the user data, yay! try { const user = JSON.parse(data); // Make sure more than the user ID is in the data by checking any other required // field for existence if (user.id && user.createdAt) { return done(null, user); } // Ignore JSON parsing errors } catch (err) {} // Slow path: data is just the userID (legacy), so we have to go to the db to get the full data getUserById(data) .then(user => { done(null, user); }) .catch(err => { done(err); }); }); app.use(passport.initialize()); app.use(passport.session()); // This needs to come after passport otherwise we'll always redirect logged-in users import threadParamRedirect from 'shared/middlewares/thread-param'; app.use(threadParamRedirect); app.get('*', (req: express$Request, res, next) => { // Electron requests should only be client-side rendered if ( req.headers['user-agent'] && req.headers['user-agent'].indexOf('Electron') > -1 ) { return res.sendFile(path.resolve(__dirname, '../build/index.html')); } next(); }); import renderer from './renderer'; app.get('*', renderer); process.on('unhandledRejection', async err => { console.error('Unhandled rejection', err); try { await new Promise(res => Raven.captureException(err, res)); } catch (err) { console.error('Raven error', err); } finally { process.exit(1); } }); process.on('uncaughtException', async err => { console.error('Uncaught exception', err); try { await new Promise(res => Raven.captureException(err, res)); } catch (err) { console.error('Raven error', err); } finally { process.exit(1); } }); Loadable.preloadAll().then(() => { app.listen(PORT); debug( `Hyperion, the server-side renderer, running at http://localhost:${PORT}` ); }); ================================================ FILE: hyperion/renderer/browser-shim.js ================================================ // @flow // Shim some browser stuff we use in the client for server-side rendering // NOTE(@mxstbr): We should be getting rid of this over time global.window = { location: { protocol: 'https:', host: 'spectrum.chat', hash: '', }, addEventListener: () => {}, }; global.localStorage = { getItem: () => null, setItem: () => {}, removeItem: () => {}, }; global.navigator = { userAgent: '', }; global.CSS = { escape: require('css.escape'), }; ================================================ FILE: hyperion/renderer/html-template.js ================================================ // @flow import fs from 'fs'; import path from 'path'; import { html } from 'common-tags'; import serialize from 'serialize-javascript'; // Match main.asdf123.js in production mode or bundle.js in dev mode const mainBundleRegex = /(main|bundle)\.(?:.*\.)?js$/; const bootstrapBundleRegex = /(bootstrap)\.(?:.*\.)?js$/; let bundles; try { bundles = fs.readdirSync( process.env.NODE_ENV === 'production' ? './build/static/js' : path.join(__dirname, '../../build/static/js') ); } catch (err) { console.error(err); throw new Error( 'It looks like you didn\'t run "yarn run dev:web" or "yarn run build:web" before starting hyperion. Please wait until either of them completes before starting hyperion.' ); } // Get the main bundle filename const mainBundle = bundles.find(bundle => mainBundleRegex.test(bundle)); const bootstrapBundle = bundles.find(bundle => bootstrapBundleRegex.test(bundle) ); if (!mainBundle || !bootstrapBundle) { throw new Error( 'It looks like you didn\'t run "yarn run dev:web" or "yarn run build:web" before starting hyperion. Please wait until either of them completes before starting hyperion.' ); } export const createScriptTag = ({ src }: { src: string }) => ``; export const getHeader = ({ metaTags, nonce, }: { metaTags: string, nonce: string, }) => { // prettier-ignore return html` ${metaTags}
`; }; export const getFooter = ({ state, data, bundles, nonce, }: { state: Object, data: Object, bundles: Array, nonce: string, }) => { return html`
${createScriptTag({ src: `/static/js/${bootstrapBundle}` })} ${bundles.map(src => createScriptTag({ src }))} ${createScriptTag({ src: `/static/js/${mainBundle}` })} `; }; ================================================ FILE: hyperion/renderer/index.js ================================================ // @flow // Server-side renderer for our React code const debug = require('debug')('hyperion:renderer'); import React from 'react'; // $FlowIssue import { renderToNodeStream } from 'react-dom/server'; import { ServerStyleSheet } from 'styled-components'; import { ApolloProvider, getDataFromTree } from 'react-apollo'; import { ApolloClient } from 'apollo-client'; import { SchemaLink } from 'apollo-link-schema'; import schema from 'api/schema'; import createLoaders from 'api/loaders'; import { createHttpLink } from 'apollo-link-http'; import { InMemoryCache, IntrospectionFragmentMatcher, } from 'apollo-cache-inmemory'; import { StaticRouter } from 'react-router'; import { Provider } from 'react-redux'; import { HelmetProvider } from 'react-helmet-async'; import Loadable from 'react-loadable'; import { getBundles } from 'react-loadable/webpack'; import Raven from 'shared/raven'; import introspectionQueryResultData from 'shared/graphql/schema.json'; // $FlowIssue import stats from '../../build/react-loadable.json'; import getSharedApolloClientOptions from 'shared/graphql/apollo-client-options'; import { getFooter, getHeader } from './html-template'; // Browser shim has to come before any client imports import './browser-shim'; const Routes = require('../../src/routes').default; import { initStore } from '../../src/store'; const IN_MAINTENANCE_MODE = process.env.REACT_APP_MAINTENANCE_MODE === 'enabled'; const IS_PROD = process.env.NODE_ENV === 'production'; const FORCE_DEV = process.env.FORCE_DEV; const FIVE_MINUTES = 300; const ONE_HOUR = 3600; if (!IS_PROD || FORCE_DEV) debug('Querying API at localhost:3001/api'); const renderer = (req: express$Request, res: express$Response) => { res.setHeader('Content-Type', 'text/html; charset=utf-8'); if (IN_MAINTENANCE_MODE) { res.status(500); res.send( `Spectrum
` ); return; } debug(`server-side render ${req.url}`); debug(`querying API at https://${req.hostname}/api`); const schemaLink = new SchemaLink({ schema, context: { user: req.user || null, loaders: createLoaders(), }, }); const cache = new InMemoryCache({ fragmentMatcher: new IntrospectionFragmentMatcher({ introspectionQueryResultData, }), ...getSharedApolloClientOptions(), }); // Get the nonce attached to every request // This nonce is generated by our security middleware const nonce = typeof res.locals.nonce === 'string' ? res.locals.nonce : undefined; if (!nonce) throw new Error('Security nonce not set.'); // Create an Apollo Client with a local network interface const client = new ApolloClient({ ssrMode: true, link: schemaLink, cache, }); // Define the initial redux state const { t } = req.query; const initialReduxState = {}; // Create the Redux store const store = initStore(initialReduxState); let modules = []; const report = moduleName => { modules.push(moduleName); }; let routerContext = {}; let helmetContext = {}; // Initialise the styled-components stylesheet and wrap the app with it const sheet = new ServerStyleSheet(); const frontend = sheet.collectStyles( ); debug('get data from tree'); getDataFromTree(frontend) .then(() => { debug('got data from tree'); if (routerContext.url) { debug('found redirect on frontend, redirecting'); // Somewhere a `` was rendered, so let's redirect server-side res.redirect(301, routerContext.url); return; } // maintenance mode if (IN_MAINTENANCE_MODE) { debug('maintenance mode enabled, sending 503'); res.status(503); res.set('Retry-After', '3600'); } else { res.status(200); } const state = store.getState(); const data = client.extract(); const { helmet } = helmetContext; debug('write header'); // Use now's CDN to cache the rendered pages in CloudFlare for half an hour // Ref https://vercel.co/docs/features/cdn if (!req.user) { res.setHeader( 'Cache-Control', `s-maxage=${ONE_HOUR}, stale-while-revalidate=${FIVE_MINUTES}, must-revalidate` ); } else { res.setHeader('Cache-Control', 's-maxage=0, private'); } res.write( getHeader({ metaTags: helmet.title.toString() + helmet.meta.toString() + helmet.link.toString(), nonce: nonce, }) ); const stream = sheet.interleaveWithNodeStream( renderToNodeStream(frontend) ); stream.pipe( res, { end: false } ); const bundles = getBundles(stats, modules) // Create ================================================ FILE: public/install-raven.js ================================================ Raven.config('https://3bd8523edd5d43d7998f9b85562d6924@sentry.io/154812', { whitelistUrls: [/spectrum.chat/, /www.spectrum.chat/], }).install(); ================================================ FILE: public/manifest.json ================================================ { "short_name": "Spectrum", "name": "Spectrum", "icons": [ { "src": "/img/homescreen-icon-57x57.png", "sizes": "57x57", "type": "image/png" }, { "src": "/img/homescreen-icon-72x72.png", "sizes": "72x72", "type": "image/png" }, { "src": "/img/homescreen-icon-114x114.png", "sizes": "114x114", "type": "image/png" }, { "src": "/img/homescreen-icon-144x144.png", "sizes": "144x144", "type": "image/png" }, { "src": "/img/homescreen-icon-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/img/homescreen-icon-512x512.png", "sizes": "512x512", "type": "image/png" }, { "src": "/img/apple-icon-57x57-precomposed.png", "sizes": "57x57", "type": "image/png", "purpose": "maskable" }, { "src": "/img/apple-icon-72x72-precomposed.png", "sizes": "72x72", "type": "image/png", "purpose": "maskable" }, { "src": "/img/apple-icon-114x114-precomposed.png", "sizes": "114x114", "type": "image/png", "purpose": "maskable" }, { "src": "/img/apple-icon-144x144-precomposed.png", "sizes": "144x144", "type": "image/png", "purpose": "maskable" }, { "src": "/img/apple-icon-192x192-precomposed.png", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { "src": "/img/apple-icon-512x512-precomposed.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" } ], "start_url": "/?utm_source=homescreen", "display": "standalone", "theme_color": "#171A21", "background_color": "#171A21" } ================================================ FILE: public/push-sw.js ================================================ /* * Push notificiations ServiceWorker * * NOTE(@mxstbr): This only gets updated if you change the filename, not if you * update the contents. Make sure to change the version number in the filename * after updating the code! */ // A new notification is coming in, yay! // eslint-disable-next-line self.addEventListener('push', function(event) { var notificationData = {}; try { notificationData = event.data.json(); } catch (e) { console.log('event.data.json() failed', e); // 🚨 We either got no data or it's malformatted, ABORT ABORT ABORT return; } // Check if the user is looking at Spectrum right now and don't show a notification event.waitUntil( clients .matchAll({ type: 'window', includeUncontrolled: true, }) .then(windowClients => { for (let i = 0; i < windowClients.length; i++) { const windowClient = windowClients[i]; // The user is looking at Spectrum right now abort showing the notification! // (except for if we're on localhost, i.e. in development) if ( windowClient.focused && // eslint-disable-next-line !(self.registration.scope.indexOf('http://localhost:3000') === 0) ) { return; } } // eslint-disable-next-line return self.registration.showNotification(notificationData.title, { vibrate: [200], icon: '/img/apple-icon-144x144-precomposed.png', badge: '/img/badge.png', body: notificationData.body, title: notificationData.title, timestamp: notificationData.timestamp, image: notificationData.image, tag: notificationData.tag, data: notificationData.data, // If we don't set a tag and set renotify to true this'll throw an error // renotify: notificationData.renotify || !!notificationData.tag, }); }) ); }); // On notification click // eslint-disable-next-line self.addEventListener('notificationclick', function(event) { event.notification.close(); const urlToOpen = event.notification.data && event.notification.data.href ? // eslint-disable-next-line new URL(event.notification.data.href, self.location.origin).href : '/'; // see if the current is open and if it is focus it event.waitUntil( // eslint-disable-next-line self.clients .matchAll({ type: 'window', includeUncontrolled: true, }) .then(function(clientList) { // If there is an open Spectrum.chat window navigate to the notification href if (clientList.length > 0) { return clientList[0] .focus() .then(client => client.navigate(urlToOpen)); } // If there's no open Spectrum.chat window open a new one // eslint-disable-next-line return self.clients.openWindow(urlToOpen); }) ); }); ================================================ FILE: public/robots.txt ================================================ User-agent: * Disallow: ================================================ FILE: public/service-worker.js ================================================ /* eslint-disable */ // A simple, no-op service worker that takes immediate control. // from: https://stackoverflow.com/a/38980776 self.addEventListener('install', () => { // Skip over the "waiting" lifecycle state, to ensure that our // new service worker is activated immediately, even if there's // another tab open controlled by our older service worker code. self.skipWaiting(); }); self.addEventListener('activate', () => { // Get a list of all the current open windows/tabs under // our service worker's control, and force them to reload. // This can "unbreak" any open windows/tabs as soon as the new // service worker activates, rather than users having to manually reload. self.clients.matchAll({ type: 'window' }).then(windowClients => { windowClients.forEach(windowClient => { windowClient.navigate(windowClient.url); }); }); }); ================================================ FILE: robots.txt ================================================ # This robots.txt file is used to disallow robots to crawl our staging environment alpha.spectrum.chat, which has the same content as the main site User-agent: * Disallow: / ================================================ FILE: rules-alpha.json ================================================ { "rules": [ { "pathname": "/robots.txt", "dest": "robots.alpha.spectrum.chat" }, { "pathname": "/api", "dest": "api.alpha.spectrum.chat" }, { "pathname": "/api/**", "dest": "api.alpha.spectrum.chat" }, { "pathname": "/auth", "dest": "api.alpha.spectrum.chat" }, { "pathname": "/auth/**", "dest": "api.alpha.spectrum.chat" }, { "pathname": "/websocket", "dest": "api.alpha.spectrum.chat" }, { "pathname": "/websocket/**", "dest": "api.alpha.spectrum.chat" }, { "dest": "hyperion.alpha.spectrum.chat" } ] } ================================================ FILE: rules.json ================================================ { "rules": [ { "pathname": "/api", "dest": "api.spectrum.chat" }, { "pathname": "/api/**", "dest": "api.spectrum.chat" }, { "pathname": "/auth", "dest": "api.spectrum.chat" }, { "pathname": "/auth/**", "dest": "api.spectrum.chat" }, { "pathname": "/websocket", "dest": "api.spectrum.chat" }, { "pathname": "/websocket/**", "dest": "api.spectrum.chat" }, { "dest": "hyperion.workers.spectrum.chat" } ] } ================================================ FILE: scripts/deploy.js ================================================ const { execSync } = require('child_process'); const path = require('path'); const parse = require('./utils/parse-argv'); const error = require('./utils/error'); // Debug util const exec = process.env.DEBUG ? cmd => { console.log(`[DEBUG] ${cmd}`); return 'fake-url-asdf123.now.sh'; } : execSync; // Append --scope space-program to all now commands const now = (cmd = '') => `now ${cmd} --scope space-program`; const VALID_SERVERS = ['all', 'api', 'hyperion']; const VALID_ALPHA_SERVERS = ['api', 'hyperion']; const { args, flags } = parse(process.argv); let servers = args; if (servers.length === 0) error( 'Server name missing', `Please provide one of the following server names: ${VALID_SERVERS.map( w => `"${w}"` ).join(', ')}` ); servers.forEach(server => { if (VALID_SERVERS.indexOf(server) === -1) error( `Cannot deploy unknown server "${args[0]}"`, `Please provide one of the following server names: ${VALID_SERVERS.map( w => `"${w}"` ).join(', ')}` ); }); if (flags.prod && servers.indexOf('all') > -1) { servers = VALID_SERVERS.filter(w => w !== 'all'); } else if (servers.indexOf('all') > -1) { servers = VALID_ALPHA_SERVERS; } if (!flags.prod) { servers.forEach(server => { if (VALID_ALPHA_SERVERS.indexOf(server) === -1) { error( `Cannot deploy ${server} to alpha`, 'Did you mean to use the "--prod" flag?' ); } }); servers = servers.filter(server => VALID_ALPHA_SERVERS.indexOf(server) > -1); } console.log(`\nDeploying to ${flags.prod ? 'production' : 'alpha'}!\n`); if (servers.length > 0) { console.log('Installing fresh dependencies...'); exec('yarn'); servers.forEach(server => { const buildDir = path.join(__dirname, `../build-${server}`); console.log(`\n---${server}---`); console.log(`Installing ${server} dependencies...`); exec('yarn', { cwd: path.join(__dirname, `../${server}`), }); console.log(`Building ${server}...`); exec(`yarn run build:${server}`); console.log(`Deploying ${server}...`); const stdout = exec(now(`build-${server} --debug`), { stdio: 'pipe', }); const alias = server === 'api' ? `api.${!flags.prod ? 'alpha.' : ''}spectrum.chat` : `${server}.${ flags.prod === true ? 'workers' : 'alpha' }.spectrum.chat`; console.log(`Aliasing ${stdout.toString()} to ${alias}...`); exec(now(`alias ${stdout.toString()} ${alias}`), { cwd: buildDir, stdio: 'inherit', }); console.log(`${server} is live!`); if (server === 'hyperion') { console.log('Clearing hyperion cache...'); exec( now( `alias -r rules${!flags.prod ? '-alpha' : ''}.json ${ !flags.prod ? 'alpha.' : '' }spectrum.chat` ), { stdio: 'inherit', } ); console.log('Cache cleared!'); } console.log('Deleting old deploy(s)...'); if (server === 'hyperion') { exec(now(`rm --safe --yes Spectrum`), { stdio: 'inherit', }); } else { exec(now(`rm --safe --yes build-${server}`), { stdio: 'inherit', }); } console.log('Done!\n'); }); } ================================================ FILE: scripts/generate-table-diagram.js ================================================ const r = require('rethinkdbdash')(); const type = require('type-detect'); const REF_TABLE_MAP = { creators: 'users', authors: 'users', senders: 'users', communitys: 'communities', watercoolers: 'threads', parents: 'messages', }; (async () => { const tables = await r .db('rethinkdb') .table('table_config') .filter({ db: 'spectrum', }) .map(rec => rec('name')) .run(); for (const table of tables) { const [record] = await r .db('spectrum') .table(table) .limit(1) .run(); if (!record) { // console.warn(`could not find record in table ${table}`); } else { let output = `Table ${table} {`; Object.keys(record).forEach(key => { let keyType = key === 'id' || key.endsWith('Id') ? 'uuid' : key.endsWith('At') ? 'Date' : type(record[key]); output += `\n ${key} ${keyType}`; if (key.endsWith('Id')) { let refTable = key.replace(/id$/i, '').toLowerCase() + 's'; refTable = REF_TABLE_MAP[refTable] || refTable; if (tables.includes(refTable)) { output += ` [ref: < ${refTable}.id]`; } } }); output += `\n}\n`; console.log(output); } } })() .then(() => { process.exit(); }) .catch(err => { console.error(err); process.exit(1); }); ================================================ FILE: scripts/heroku-deploy.js ================================================ const { execSync } = require('child_process'); const error = require('./utils/error'); const parse = require('./utils/parse-argv'); const path = require('path'); const exec = cmd => execSync(cmd, { cwd: path.join(__dirname, '../'), stdio: 'inherit' }); const { args } = parse(process.argv); const VALID_SERVERS = ['all', 'api', 'hyperion']; const serverType = s => (['api', 'hyperion'].includes(s) ? 'web' : 'worker'); let servers = args; /* * Must provide at least one server */ if (servers.length === 0) error( 'Server name missing', `Please provide one of the following server names: ${VALID_SERVERS.map( s => `"${s}"` ).join(', ')}` ); /* * Must provide valid server names */ servers.forEach(s => { if (VALID_SERVERS.indexOf(s) === -1) error( `Cannot deploy unknown server "${args[0]}"`, `Please provide one of the following server names: ${VALID_SERVERS.map( s => `"${s}"` ).join(', ')}` ); }); /* * Allow targetting all deployments */ if (servers.indexOf('all') > -1) { servers = VALID_SERVERS.filter(s => s !== 'all'); } console.log( `Deploying the following servers: ${servers.map(s => `"${s}"`).join(', ')}` ); /* * Build and push Docker images for each server */ servers.forEach(s => { const type = serverType(s); exec( `docker build -t spectrum_${s} -t registry.heroku.com/spectrum-chat-${s}/${type} -f docker/Dockerfile.${s} .` ); exec(`docker push registry.heroku.com/spectrum-chat-${s}/${type}`); }); /* * Release new images for each server */ servers.forEach(s => { exec(`heroku container:release ${serverType(s)} -a spectrum-chat-${s}`); }); ================================================ FILE: scripts/introspection-query.js ================================================ const fetch = require('node-fetch'); const fs = require('fs'); fetch(`http://localhost:3001/api`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ query: ` { __schema { types { kind name possibleTypes { name } } } } `, }), }) .then(result => result.json()) .then(result => { fs.writeFile( './fragmentTypes.json', JSON.stringify(result.data, null, 2), err => { if (err) console.error('Error writing fragmentTypes file', err); console.log('Fragment types successfully extracted!'); } ); }); ================================================ FILE: scripts/utils/error.js ================================================ module.exports = (...args) => { console.error('\n🚨 Error:', args[0], '🚨\n\n', ...args.slice(1), '\n'); process.exit(1); return; }; ================================================ FILE: scripts/utils/parse-argv.js ================================================ // Cheap process.argv parser module.exports = argv => { const processArgs = argv.slice(2); const args = processArgs.filter(arg => arg.indexOf('--') !== 0); const flags = processArgs .filter(arg => arg.indexOf('--') === 0) .reduce((flags, flag) => { flags[flag.replace(/^--/, '')] = true; return flags; }, {}); return { args, flags }; }; ================================================ FILE: set-heroku-config ================================================ #!/usr/bin/env bash set -e ENV_FILE=.env heroku config:set -a spectrum-chat-hyperion $(cat $ENV_FILE | tr '\n' ' ') ================================================ FILE: shared/clients/draft-js/links-decorator/core.js ================================================ // @flow import React from 'react'; import linkStrategy from 'draft-js-linkify-plugin/lib/linkStrategy'; import normalizeUrl from '../../../normalize-url'; import type { ContentBlock } from 'draft-js/lib/ContentBlock'; import type { ContentState } from 'draft-js/lib/ContentState'; import type { ComponentType, Node } from 'react'; type DecoratorComponentProps = { decoratedText: string, contentState: ContentState, entityKey?: string, children?: Node, }; export type LinksDecoratorComponentProps = { href: string, children?: Node, }; let i = 0; const createLinksDecorator = ( Component: ComponentType ) => ({ strategy: ( contentBlock: ContentBlock, callback: (...args?: Array) => any, contentState: ContentState ) => { if (contentBlock.type === 'code-block') return; if (contentBlock.findEntityRanges) { contentBlock.findEntityRanges(char => { const entityKey = char.getEntity(); return ( entityKey !== null && contentState.getEntity(entityKey).getType() === 'LINK' ); }, callback); } linkStrategy(contentBlock, (start, end) => { if ( contentBlock.entityRanges.find( range => range.offset === start && range.length === end - start ) ) return; callback(start, end); }); }, component: ({ decoratedText, children, entityKey, contentState, }: DecoratorComponentProps) => ( ), }); export default createLinksDecorator; ================================================ FILE: shared/clients/draft-js/links-decorator/index.js ================================================ // @flow import React from 'react'; import { Link } from 'react-router-dom'; import createLinksDecorator, { type LinksDecoratorComponentProps, } from './core'; import { SPECTRUM_URLS } from 'shared/regexps'; export default createLinksDecorator((props: LinksDecoratorComponentProps) => { const regexp = new RegExp(SPECTRUM_URLS, 'ig'); const match = regexp.exec(props.href); if (match && match[0] && match[1]) return {props.children}; return ( {props.children} ); }); ================================================ FILE: shared/clients/draft-js/mentions-decorator/core.js ================================================ // @flow import React from 'react'; import { MENTIONS } from '../../../regexps'; import type { ComponentType, Node } from 'react'; import type { ContentBlock } from 'draft-js/lib/ContentBlock'; export type MentionComponentPropsType = { username: string, children: Node, }; type MentionsPosition = { startPos: string, endPos: string, }; // Get all the position of the mentions from start to finish. With that array we can call the callback function. export const getMentionsPositionsFromMessage = ( message: string ): Array => { const mentionCoordinates = []; const newMessage = message; newMessage.replace(MENTIONS, (match, position) => { mentionCoordinates.push({ startPos: position, endPos: position + match.length, }); return match; }); return mentionCoordinates; }; let i = 0; const createMentionsDecorator = ( Component: ComponentType ) => ({ strategy: ( contentBlock: ContentBlock, callback: (...args?: Array) => any ) => { // This prevents the search for mentions when we're inside of a code-block if (contentBlock.type === 'code-block') return; // -> "@brian_lovin, what's up with @mxstbr?" const text = contentBlock.getText(); // -> ["@brian_lovin", " @mxstbr"]; let matches = text.match(MENTIONS); if (!matches || matches.length === 0) return; matches = matches.filter(mention => !mention.startsWith('/')); if (!matches || matches.length === 0) return; const mentionCoordinates = getMentionsPositionsFromMessage(text); mentionCoordinates.forEach(({ startPos, endPos }) => { callback(startPos, endPos); }); }, component: (props: { decoratedText: string, children: Node }) => ( {props.children} ), }); export default createMentionsDecorator; ================================================ FILE: shared/clients/draft-js/mentions-decorator/index.js ================================================ // @flow import createMentionsDecorator from './core'; import { Mention } from 'src/components/rich-text-editor/style.js'; export default createMentionsDecorator(Mention); ================================================ FILE: shared/clients/draft-js/mentions-decorator/test/core.test.js ================================================ //@flow import { getMentionsPositionsFromMessage } from '../core'; describe('mentions-decorator core', () => { it('should return the start and and positions of mentions on a string', () => { const message = 'Hello @ale @ange @ale @ange bye'; const expectedResult = [ { startPos: 6, endPos: 10, }, { startPos: 11, endPos: 16, }, { startPos: 17, endPos: 21, }, { startPos: 22, endPos: 27, }, ]; expect(getMentionsPositionsFromMessage(message)).toEqual(expectedResult); }); it('should return an empty array if there are no mentions', () => { const message = 'Hello one two three bye'; const expectedResult = []; expect(getMentionsPositionsFromMessage(message)).toEqual(expectedResult); }); }); ================================================ FILE: shared/clients/draft-js/mentions-decorator/test/mentions-decorator.test.js ================================================ // @flow import { genKey, ContentBlock } from 'draft-js'; import mentionsDecorator from '../index'; import type { ContentBlock as ContentBlockType } from 'draft-js/lib/ContentBlock'; type Mention = string; const createContentBlock = (text: string): ContentBlockType => new ContentBlock({ depth: 0, text, key: genKey(), type: 'unstyled', }); // A little helper function to get the substringed mention text back // rather than a list of indizes const getMentions = (text: string): Array => { const block = createContentBlock(text); let mentions = []; mentionsDecorator.strategy(block, (start, end) => { mentions.push(text.substr(start, end - start)); }); return mentions; }; describe('strategy', () => { it('should return the start and end indizes of a mention', () => { const text = '@mxstbr'; const block = createContentBlock(text); let mentions = []; mentionsDecorator.strategy(block, (start, end) => { mentions.push({ start, end }); }); expect(mentions[0].start).toEqual(0); expect(mentions[0].end).toEqual(7); }); it('should handle a mention in the middle of a sentence', () => { const text = 'Hey @mxstbr how are you?'; const mentions = getMentions(text); expect(mentions[0]).toEqual('@mxstbr'); }); it('should handle a mention at the end of a sentence', () => { const text = 'Hey @mxstbr'; const mentions = getMentions(text); expect(mentions[0]).toEqual('@mxstbr'); }); it('should handle multiple mentions', () => { const text = 'Hey @mxstbr and @brian how are you'; const mentions = getMentions(text); expect(mentions[0]).toEqual('@mxstbr'); expect(mentions[1]).toEqual('@brian'); }); it('should allow special characters', () => { const text = "Hey I'm @john-doe, I also go by @john_doe or @john.doe"; const mentions = getMentions(text); expect(mentions).toEqual(['@john-doe', '@john_doe', '@john.doe']); }); describe('edge cases', () => { it('should handle sentences with compound emojis (withspectrum/spectrum#2077)', () => { const text = "Hey @grdp 👋🏻, I'm sure the @rauchg should be more than willing to answer that question. 😀"; const mentions = getMentions(text); expect(mentions[0]).toEqual('@grdp'); expect(mentions[1]).toEqual('@rauchg'); }); it('should not include trailing period', () => { const text = "Hey guys it's @abc.123. where is @xyz? Any news from that guy? @abc.123... over and out. cc: @some.other.person- @ceo; @hr,."; const mentions = getMentions(text); expect(mentions[0]).toEqual('@abc.123'); expect(mentions[1]).toEqual('@xyz'); expect(mentions[2]).toEqual('@abc.123'); expect(mentions[3]).toEqual('@some.other.person-'); expect(mentions[4]).toEqual('@ceo'); expect(mentions[5]).toEqual('@hr'); }); }); }); ================================================ FILE: shared/clients/draft-js/message/renderer.js ================================================ // @flow import { createRenderer } from '../renderer'; export const messageRenderer = createRenderer({ headings: false, }); ================================================ FILE: shared/clients/draft-js/message/test/__snapshots__/renderer.test.js.snap ================================================ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`messageRenderer should render certain blocks 1`] = ` Array [ "unstyled", "code-block", "blockquote", "unordered-list-item", "ordered-list-item", ] `; ================================================ FILE: shared/clients/draft-js/message/test/renderer.test.js ================================================ // @flow import { messageRenderer } from '../renderer'; import mentionsDecorator from '../../mentions-decorator/index'; import linksDecorator from '../../links-decorator/index'; describe('messageRenderer', () => { it('should render certain blocks', () => { expect(Object.keys(messageRenderer.blocks)).toMatchSnapshot(); }); it('should have decorators', () => { expect(messageRenderer.decorators).toContain(mentionsDecorator); expect(messageRenderer.decorators).toContain(linksDecorator); }); }); ================================================ FILE: shared/clients/draft-js/message/types.js ================================================ // @flow export type KeyObj = { key: string, }; export type KeysObj = { keys: string[], data?: Object, }; export type DataObj = { url?: string, href?: string, }; ================================================ FILE: shared/clients/draft-js/renderer/index.js ================================================ // @flow import React from 'react'; import { Link } from 'react-router-dom'; import Highlight, { defaultProps } from 'prism-react-renderer'; import { Line, Paragraph, BlockQuote } from 'src/components/message/style'; import { AspectRatio, EmbedContainer, EmbedComponent, } from 'src/components/rich-text-editor/style'; import ThreadAttachment from 'src/components/message/threadAttachment'; import { getStringElements } from '../utils/getStringElements'; import { hasStringElements } from '../utils/hasStringElements'; import mentionsDecorator from '../mentions-decorator'; import linksDecorator from '../links-decorator'; import type { Node } from 'react'; import { SPECTRUM_URLS } from 'shared/regexps'; import type { KeyObj, KeysObj, DataObj } from '../message/types'; import type { EmbedData, ExternalEmbedData, InternalEmbedData, } from '../../../draft-utils/add-embeds-to-draft-js'; const ExternalEmbed = (props: { ...ExternalEmbedData, src?: string }) => { let { aspectRatio, url, src, width = '100%', height = 200 } = props; if (!src && url) src = url; if (typeof src !== 'string') return null; // if an aspect ratio is passed in, we need to use the EmbedComponent which does some trickery with padding to force an aspect ratio. Otherwise we should just use a regular iFrame if (aspectRatio && aspectRatio !== undefined) { return ( ); } else { return (