Compare commits

...

83 Commits

Author SHA1 Message Date
Tom Moor 0ed4ee4295 ts: 415 errors 2020-12-29 13:44:16 -08:00
Tom Moor 5f6bea5cde ts: server and shared compiles in non-strict 2020-12-29 13:31:59 -08:00
Tom Moor 78d7dd077e ts: root, presenters, test 2020-12-29 13:11:36 -08:00
Tom Moor aa29a96cd0 ts: auth, api, utils 2020-12-29 13:07:18 -08:00
Tom Moor e81605fb9d ts: middlewares, emails, commands 2020-12-29 13:05:55 -08:00
Tom Moor d67d1e3f9b ts: policies, services 2020-12-29 13:04:32 -08:00
Tom Moor db79a2cd1e ts: models 2020-12-29 13:03:20 -08:00
Tom Moor d4bb04e921 fix: Handle linked documents destroyed when document is published
closes #1739
2020-12-29 10:32:09 -08:00
Nan Yu 8a3a279c0e Merge branch 'develop' of github.com:outline/outline into develop 2020-12-28 21:35:37 -08:00
Nan Yu 37f2cc8d55 closes #1752 2020-12-28 21:35:13 -08:00
Gustavo Maronato 89903b4bbe feat: Compress avatar images before upload (#1751)
* compress avatar images before upload

* move compressImage to dedicated file

* Update ImageUpload.js
2020-12-28 21:08:10 -08:00
Malek Hijazi b6ab816bb3 feat: command to upgrade outline (#1727)
* Add upgrade script to package.json

* Update the docs to include docker and yarn guides
2020-12-25 15:23:55 -08:00
Tom Moor ac1120914a fix: Unable to delete archived and templated documents (#1749)
closes #1746
2020-12-24 13:28:08 -08:00
Tom Moor ea57cef89c fix: Reduce double reporting of errors 2020-12-21 21:10:25 -08:00
Translate-O-Tron 7d44e1aeeb New Crowdin updates (#1725)
* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New French translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]

* fix: New German translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Portuguese translations from Crowdin [ci skip]

* fix: New Russian translations from Crowdin [ci skip]

* fix: New Chinese Simplified translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New German translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Portuguese translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]
2020-12-21 19:28:41 -08:00
Tom Moor 25d5ad8a7e chore: Enable automatic generation of email server in non production environments (#1731) 2020-12-21 19:27:14 -08:00
dependabot[bot] e34ba1457e chore(deps): bump node-notifier from 8.0.0 to 8.0.1 (#1734)
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-21 19:26:12 -08:00
Tom Moor e966eb8c9a fix: Error notice not displayed to user when exceeding rate limit on signin attempt 2020-12-20 13:05:16 -08:00
Tom Moor 4684b3a3f3 fix: Server error when invalid JSON passed to API endpoint
Fix is to ensure that the errorHandling middleware is mounted before the body parser so that it can catch and return an error response
2020-12-20 12:08:47 -08:00
Tom Moor 47ce8afcc5 fix: Server Error when requesting invalid locale 2020-12-20 11:53:09 -08:00
Tom Moor decbe4f643 fix: Allow deleting attachments not linked to documents when owned by user
closes #1729
2020-12-20 11:39:09 -08:00
Tom Moor 117d278d16 fix: Deprecated Buffer usage, closes #1726 2020-12-19 15:58:21 -08:00
Tom Moor 40ca73e684 feat: Collapsible sidebar (#1721)
* wip

* styling, add keyboard shortcut

* tweak styling
2020-12-17 22:26:04 -08:00
Nan Yu 051ecab0fc feat: Moving documents via drag and drop in sidebar (#1717)
* wip: added some basic drag and drop UI for combining items

* refactor: pathToDocument to accept only id

* fix: Multiple drop backends error
fix: Incorrect styling dragging over active collection
fix: Stay in disabled state until save is complete

* Improving display while moving doc

* fix: update by user should be changed when moving a doc

* add move guard to drag

Co-authored-by: Tom Moor <tom.moor@gmail.com>
2020-12-15 19:07:29 -08:00
Tom Moor 3469b82beb feat: Add Korean as available language choice 2020-12-15 08:11:50 -08:00
Tom Moor f2c3481670 test 2020-12-14 23:04:39 -08:00
Tom Moor bc141dc40c New Crowdin updates (#1718)
* fix: New French translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]

* fix: New German translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Portuguese translations from Crowdin [ci skip]

* fix: New Russian translations from Crowdin [ci skip]

* fix: New Chinese Simplified translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New French translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]

* fix: New German translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]

* fix: New French translations from Crowdin [ci skip]

* fix: New Spanish translations from Crowdin [ci skip]

* fix: New German translations from Crowdin [ci skip]

* fix: New Japanese translations from Crowdin [ci skip]

* fix: New Portuguese translations from Crowdin [ci skip]

* fix: New Russian translations from Crowdin [ci skip]

* fix: New Chinese Simplified translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]

* fix: New Korean translations from Crowdin [ci skip]
2020-12-14 22:28:47 -08:00
Translate-O-Tron 99814f6e2f fix: New Korean translations from Crowdin [ci skip] 2020-12-14 22:19:57 -08:00
Translate-O-Tron 3737f0b42c fix: New Portuguese translations from Crowdin [ci skip] 2020-12-14 22:19:53 -08:00
Translate-O-Tron 9ef27cb436 fix: New German translations from Crowdin [ci skip] 2020-12-14 22:19:50 -08:00
Translate-O-Tron c9fa3f93f2 fix: New Spanish translations from Crowdin [ci skip] 2020-12-14 22:19:48 -08:00
Translate-O-Tron 24ed96c9a5 fix: New French translations from Crowdin [ci skip] 2020-12-14 22:19:46 -08:00
Translate-O-Tron 956cf401bd fix: New Korean translations from Crowdin [ci skip] 2020-12-14 21:17:46 -08:00
Translate-O-Tron 7cb837f478 fix: New Portuguese, Brazilian translations from Crowdin [ci skip] 2020-12-14 21:17:44 -08:00
Translate-O-Tron a3209e9d23 fix: New Chinese Simplified translations from Crowdin [ci skip] 2020-12-14 21:17:43 -08:00
Translate-O-Tron 29582a1bb1 fix: New Russian translations from Crowdin [ci skip] 2020-12-14 21:17:41 -08:00
Translate-O-Tron 4084c91769 fix: New Portuguese translations from Crowdin [ci skip] 2020-12-14 21:17:39 -08:00
Translate-O-Tron 6772f28226 fix: New Japanese translations from Crowdin [ci skip] 2020-12-14 21:17:37 -08:00
Translate-O-Tron c6b110d339 fix: New German translations from Crowdin [ci skip] 2020-12-14 21:17:35 -08:00
Translate-O-Tron 0a43b50c66 fix: New Spanish translations from Crowdin [ci skip] 2020-12-14 21:17:33 -08:00
Translate-O-Tron 4a82cb0658 fix: New French translations from Crowdin [ci skip] 2020-12-14 21:17:31 -08:00
Tom Moor 2f7fca6106 chore: Move formatting out of translation strings 2020-12-14 21:16:02 -08:00
Translate-O-Tron 8f83cfef25 fix: New Korean translations from Crowdin [ci skip] 2020-12-14 20:39:04 -08:00
Tom Moor e2e66954b5 fix: Attachments should not always be deleted with their original document (#1715)
* fix: Attachments should not be deleted when their original document is deleted when referenced elsewhere

* fix: Attachments deleted prematurely when docs are placed in trash

* mock

* restore hook, cascading delete was the issue
2020-12-14 19:55:22 -08:00
Tom Moor 3dbe54ac1e fix: Bump RME, closes #1719 2020-12-14 19:18:46 -08:00
Translate-O-Tron 50577f6f2f fix: New Korean translations from Crowdin [ci skip] 2020-12-14 09:40:18 -08:00
Translate-O-Tron 16d504703d fix: New Korean translations from Crowdin [ci skip] 2020-12-14 08:42:26 -08:00
Translate-O-Tron 173febcaa1 fix: New Korean translations from Crowdin [ci skip] 2020-12-14 07:40:07 -08:00
Translate-O-Tron f92f4cde7a fix: New Korean translations from Crowdin [ci skip] 2020-12-14 06:45:01 -08:00
Translate-O-Tron 23bec75bd0 fix: New Korean translations from Crowdin [ci skip] 2020-12-14 05:49:49 -08:00
Translate-O-Tron 4dd667f68b fix: New Korean translations from Crowdin [ci skip] 2020-12-14 04:47:25 -08:00
Translate-O-Tron 4b3cb77cc7 fix: New Korean translations from Crowdin [ci skip] 2020-12-14 03:48:01 -08:00
Translate-O-Tron 0e83d54f93 fix: New German translations from Crowdin [ci skip] 2020-12-13 23:30:53 -08:00
Translate-O-Tron d867d9fea5 fix: New Spanish translations from Crowdin [ci skip] 2020-12-13 23:30:51 -08:00
Translate-O-Tron 28c8b8acfe fix: New French translations from Crowdin [ci skip] 2020-12-13 23:30:49 -08:00
Translate-O-Tron 51efffe2ce fix: New Korean translations from Crowdin [ci skip] 2020-12-13 22:34:18 -08:00
Tom Moor 4e9ee7249f Update LICENSE 2020-12-13 17:48:15 -08:00
Tom Moor 574fcc4bb3 0.51.0 2020-12-13 17:43:58 -08:00
Tom Moor 5c3000d5cf Bump RME, fixes table after list and image captions in Safari 2020-12-13 17:20:38 -08:00
Translate-O-Tron c0216cbb8d fix: New Portuguese, Brazilian translations from Crowdin [ci skip] 2020-12-12 22:40:33 -08:00
Translate-O-Tron cf12301077 fix: New Chinese Simplified translations from Crowdin [ci skip] 2020-12-12 22:40:31 -08:00
Translate-O-Tron 1eb7da8742 fix: New Russian translations from Crowdin [ci skip] 2020-12-12 22:40:29 -08:00
Translate-O-Tron b3c548382f fix: New Portuguese translations from Crowdin [ci skip] 2020-12-12 22:40:27 -08:00
Translate-O-Tron 7ebac53b43 fix: New Japanese translations from Crowdin [ci skip] 2020-12-12 22:40:25 -08:00
Translate-O-Tron 64428a6894 fix: New German translations from Crowdin [ci skip] 2020-12-12 22:40:23 -08:00
Translate-O-Tron d536af5269 fix: New Spanish translations from Crowdin [ci skip] 2020-12-12 22:40:22 -08:00
Translate-O-Tron 1726a88a60 fix: New French translations from Crowdin [ci skip] 2020-12-12 22:40:20 -08:00
Tom Moor 3fe807a10a fix: Object printed in UI 2020-12-12 22:29:20 -08:00
Tom Moor 72189e041b feat: attachments.delete (#1714)
* feat: Add endpoint for manually deleting attachments

* mock
2020-12-10 21:40:03 -08:00
Translate-O-Tron bc156f4cc8 New Crowdin updates (#1707)
* fix: New German translations from Crowdin [ci skip]

* fix: New German translations from Crowdin [ci skip]

* fix: New Chinese Simplified translations from Crowdin [ci skip]

* fix: New Chinese Simplified translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]

* fix: New French translations from Crowdin [ci skip]

* fix: New Portuguese, Brazilian translations from Crowdin [ci skip]
2020-12-10 19:03:01 -08:00
dependabot[bot] 26693c60df chore(deps): bump ini from 1.3.5 to 1.3.7 (#1713)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-10 18:43:50 -08:00
Nan Yu 9e1f31e14c fix: dropzone error on image upload component (#1711) 2020-12-08 19:32:41 -08:00
Nan Yu 63d926e196 slightly nicer color definitions (#1705) 2020-12-07 08:56:07 -08:00
Reid Beels 3f9f1f0bed docs: Add note to .env.sample about Google OAuth URI (#1706) 2020-12-07 08:55:37 -08:00
Tom Moor b2bdc7f1d4 chore: Add user and auth context to server side error reports (#1693) 2020-12-06 17:59:44 -08:00
Translate-O-Tron 2e798c698d chore: New Crowdin updates (#1691) 2020-12-06 17:54:16 -08:00
Nan Yu aa59f5fe09 chore: React-Dropzone version bump (#1699)
* update dropzone to new version

* remove global styles import

* change bg on active item on drag as well

* add back background
2020-12-06 17:50:59 -08:00
Tom Moor ac2060b166 fix: Migrate attachment columns to incease available length (#1704)
closes #1703
2020-12-06 16:51:25 -08:00
Tom Moor 424c29536d chore: Bump RME (SQL language support) 2020-12-04 10:18:30 -08:00
Tom Moor 6c1ecde4e7 fix: Server error when attempting to update team with identical details to previous 2020-12-04 10:18:30 -08:00
Tom Moor aa6fc45097 Add localization status to README 2020-12-04 08:22:43 -08:00
Tom Moor 9478944718 fix: Account for non-recorded views, closes #1700 2020-12-02 20:50:54 -08:00
Tom Moor 9e1c5d1db3 fix: JS error in UserProfile introduced in refactoring to functional component 2020-12-02 20:48:24 -08:00
388 changed files with 4224 additions and 42204 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"presets": [
"@babel/preset-react",
"@babel/preset-flow",
"@babel/preset-typescript",
[
"@babel/preset-env",
{
+6 -1
View File
@@ -18,12 +18,17 @@ PORT=3000
FORCE_HTTPS=true
ENABLE_UPDATES=true
DEBUG=cache,presenters,events
DEBUG=cache,presenters,events,emails,mailer,utils,multiplayer,server,services
# Third party signin credentials (at least one is required)
SLACK_KEY=get_a_key_from_slack
SLACK_SECRET=get_the_secret_of_above_key
# To configure Google auth, you'll need to create an OAuth Client ID at
# => https://console.cloud.google.com/apis/credentials
#
# When configuring the Client ID, add an Authorized redirect URI:
# https://<your Outline URL>/auth/google.callback
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
+2 -2
View File
@@ -3,7 +3,7 @@ Business Source License 1.1
Parameters
Licensor: General Outline, Inc.
Licensed Work: Outline 0.50.0
Licensed Work: Outline 0.51.0
The Licensed Work is (c) 2020 General Outline, Inc.
Additional Use Grant: You may make use of the Licensed Work, provided that
you may not use the Licensed Work for a Document
@@ -15,7 +15,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided that
Licensed Work by creating teams and documents
controlled by such third parties.
Change Date: 2023-11-14
Change Date: 2023-12-13
Change License: Apache License, Version 2.0
+15
View File
@@ -12,6 +12,7 @@
<a href="https://circleci.com/gh/outline/outline" rel="nofollow"><img src="https://circleci.com/gh/outline/outline.svg?style=shield&amp;circle-token=c0c4c2f39990e277385d5c1ae96169c409eb887a"></a>
<a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat"></a>
<a href="https://github.com/styled-components/styled-components"><img src="https://img.shields.io/badge/style-%F0%9F%92%85%20styled--components-orange.svg"></a>
<a href="https://translate.getoutline.com/project/outline"><img src="https://badges.crowdin.net/outline/localized.svg"></a>
</p>
This is the source code that runs [**Outline**](https://www.getoutline.com) and all the associated services. If you want to use Outline then you don't need to run this code, we offer a hosted version of the app at [getoutline.com](https://www.getoutline.com).
@@ -74,6 +75,20 @@ In development you can quickly get an environment running using Docker by follow
1. Ensure that the bot token scope contains at least `users:read`
1. Run `make up`. This will download dependencies, build and launch a development version of Outline
### Upgrade
#### Docker
If you're running Outline with Docker you'll need to run migrations within the docker container after updating the image. The command will be something like:
```
docker run --rm outlinewiki/outline:latest yarn sequelize:migrate
```
#### Yarn
If you're running Outline by cloning this repository, run the following command to upgrade:
```
yarn upgrade
```
## Development
+1 -1
View File
@@ -99,7 +99,7 @@ const Breadcrumb = ({ document, onlyText }: Props) => {
}
const path = collection.pathToDocument
? collection.pathToDocument(document).slice(0, -1)
? collection.pathToDocument(document.id).slice(0, -1)
: [];
if (onlyText === true) {
+32 -32
View File
@@ -5,7 +5,7 @@ import { observer, inject } from "mobx-react";
import * as React from "react";
import Dropzone from "react-dropzone";
import { withRouter, type RouterHistory, type Match } from "react-router-dom";
import { createGlobalStyle } from "styled-components";
import styled, { css } from "styled-components";
import DocumentsStore from "stores/DocumentsStore";
import UiStore from "stores/UiStore";
import LoadingIndicator from "components/LoadingIndicator";
@@ -17,8 +17,6 @@ type Props = {
children: React.Node,
collectionId: string,
documentId?: string,
activeClassName?: string,
rejectClassName?: string,
ui: UiStore,
documents: DocumentsStore,
disabled: boolean,
@@ -28,18 +26,6 @@ type Props = {
staticContext: Object,
};
export const GlobalStyles = createGlobalStyle`
.activeDropZone {
border-radius: 4px;
background: ${(props) => props.theme.slateDark};
svg { fill: ${(props) => props.theme.white}; }
}
.activeDropZone a {
color: ${(props) => props.theme.white} !important;
}
`;
@observer
class DropToImport extends React.Component<Props> {
@observable isImporting: boolean = false;
@@ -82,18 +68,7 @@ class DropToImport extends React.Component<Props> {
};
render() {
const {
documentId,
collectionId,
documents,
disabled,
location,
match,
history,
staticContext,
ui,
...rest
} = this.props;
const { documents } = this.props;
if (this.props.disabled) return this.props.children;
@@ -102,16 +77,41 @@ class DropToImport extends React.Component<Props> {
accept={documents.importFileTypes.join(", ")}
onDropAccepted={this.onDropAccepted}
style={EMPTY_OBJECT}
disableClick
disablePreview
noClick
multiple
{...rest}
>
{this.isImporting && <LoadingIndicator />}
{this.props.children}
{({
getRootProps,
getInputProps,
isDragActive,
isDragAccept,
isDragReject,
}) => (
<DropzoneContainer {...getRootProps()} {...{ isDragActive }}>
<input {...getInputProps()} />
{this.isImporting && <LoadingIndicator />}
{this.props.children}
</DropzoneContainer>
)}
</Dropzone>
);
}
}
const DropzoneContainer = styled("div")`
border-radius: 4px;
${({ isDragActive, theme }) =>
isDragActive &&
css`
background: ${theme.slateDark};
a {
color: ${theme.white} !important;
}
svg {
fill: ${theme.white};
}
`}
`;
export default inject("documents", "ui")(withRouter(DropToImport));
+5 -5
View File
@@ -102,7 +102,7 @@ function Editor(props: PropsWithRef) {
deleteTable: t("Delete table"),
em: t("Italic"),
embedInvalidLink: t("Sorry, that link wont work for this embed type"),
findOrCreateDoc: t("Find or create a doc"),
findOrCreateDoc: `${t("Find or create a doc")}`,
h1: t("Big heading"),
h2: t("Medium heading"),
h3: t("Small heading"),
@@ -115,18 +115,18 @@ function Editor(props: PropsWithRef) {
link: t("Link"),
linkCopied: t("Link copied to clipboard"),
mark: t("Highlight"),
newLineEmpty: t("Type '/' to insert"),
newLineWithSlash: t("Keep typing to filter"),
newLineEmpty: `${t("Type '/' to insert")}`,
newLineWithSlash: `${t("Keep typing to filter")}`,
noResults: t("No results"),
openLink: t("Open link"),
orderedList: t("Ordered list"),
pasteLink: t("Paste a link"),
pasteLink: `${t("Paste a link")}`,
pasteLinkWithTitle: (service: string) =>
t("Paste a {{service}} link…", { service }),
placeholder: t("Placeholder"),
quote: t("Quote"),
removeLink: t("Remove link"),
searchOrPasteLink: t("Search or paste a link"),
searchOrPasteLink: `${t("Search or paste a link")}`,
strikethrough: t("Strikethrough"),
strong: t("Bold"),
subheading: t("Subheading"),
+1 -1
View File
@@ -200,7 +200,7 @@ class IconPicker extends React.Component<Props> {
})}
</Icons>
<Flex onClick={preventEventBubble}>
<React.Suspense fallback={<Loading>{t("Loading")}</Loading>}>
<React.Suspense fallback={<Loading>{t("Loading")}</Loading>}>
<ColorPicker
color={this.props.color}
onChange={(color) =>
+1 -1
View File
@@ -54,7 +54,7 @@ class InputSearch extends React.Component<Props> {
render() {
const { t } = this.props;
const { theme, placeholder = t("Search") } = this.props;
const { theme, placeholder = `${t("Search")}` } = this.props;
return (
<InputMaxWidth
+14 -4
View File
@@ -15,7 +15,6 @@ import ErrorSuspended from "scenes/ErrorSuspended";
import KeyboardShortcuts from "scenes/KeyboardShortcuts";
import Analytics from "components/Analytics";
import DocumentHistory from "components/DocumentHistory";
import { GlobalStyles } from "components/DropToImport";
import Flex from "components/Flex";
import { LoadingIndicatorBar } from "components/LoadingIndicator";
@@ -66,6 +65,11 @@ class Layout extends React.Component<Props> {
window.document.body.style.background = props.theme.background;
}
@keydown("meta+.")
handleToggleSidebar() {
this.props.ui.toggleCollapsedSidebar();
}
@keydown("shift+/")
handleOpenKeyboardShortcuts() {
if (this.props.ui.editMode) return;
@@ -120,7 +124,11 @@ class Layout extends React.Component<Props> {
</Switch>
)}
<Content auto justify="center" editMode={ui.editMode}>
<Content
auto
justify="center"
sidebarCollapsed={ui.editMode || ui.sidebarCollapsed}
>
{this.props.children}
</Content>
@@ -138,7 +146,6 @@ class Layout extends React.Component<Props> {
>
<KeyboardShortcuts />
</Modal>
<GlobalStyles />
</Container>
);
}
@@ -161,7 +168,10 @@ const Content = styled(Flex)`
}
${breakpoint("tablet")`
margin-left: ${(props) => (props.editMode ? 0 : props.theme.sidebarWidth)};
margin-left: ${(props) =>
props.sidebarCollapsed
? props.theme.sidebarCollapsedWidth
: props.theme.sidebarWidth};
`};
`;
+31 -3
View File
@@ -8,6 +8,7 @@ import styled from "styled-components";
import breakpoint from "styled-components-breakpoint";
import Fade from "components/Fade";
import Flex from "components/Flex";
import CollapseToggle, { Button } from "./components/CollapseToggle";
import usePrevious from "hooks/usePrevious";
import useStores from "hooks/useStores";
@@ -30,10 +31,14 @@ function Sidebar({ location, children }: Props) {
const content = (
<Container
editMode={ui.editMode}
mobileSidebarVisible={ui.mobileSidebarVisible}
collapsed={ui.editMode || ui.sidebarCollapsed}
column
>
<CollapseToggle
collapsed={ui.sidebarCollapsed}
onClick={ui.toggleCollapsedSidebar}
/>
<Toggle
onClick={ui.toggleMobileSidebar}
mobileSidebarVisible={ui.mobileSidebarVisible}
@@ -63,7 +68,7 @@ const Container = styled(Flex)`
bottom: 0;
width: 100%;
background: ${(props) => props.theme.sidebarBackground};
transition: left 100ms ease-out,
transition: box-shadow, 100ms, ease-in-out, left 100ms ease-out,
${(props) => props.theme.backgroundTransition};
margin-left: ${(props) => (props.mobileSidebarVisible ? 0 : "-100%")};
z-index: ${(props) => props.theme.depths.sidebar};
@@ -90,10 +95,33 @@ const Container = styled(Flex)`
}
${breakpoint("tablet")`
left: ${(props) => (props.editMode ? `-${props.theme.sidebarWidth}` : 0)};
left: ${(props) =>
props.collapsed
? `calc(-${props.theme.sidebarWidth} + ${props.theme.sidebarCollapsedWidth})`
: 0};
width: ${(props) => props.theme.sidebarWidth};
margin: 0;
z-index: 3;
&:hover,
&:focus-within {
left: 0;
box-shadow: ${(props) =>
props.collapsed ? "rgba(0, 0, 0, 0.2) 1px 0 4px" : "none"};
& ${Button} {
opacity: .75;
}
& ${Button}:hover {
opacity: 1;
}
}
&:not(:hover):not(:focus-within) > div {
opacity: ${(props) => (props.collapsed ? "0" : "1")};
transition: opacity 100ms ease-in-out;
}
`};
`;
@@ -0,0 +1,59 @@
// @flow
import { NextIcon, BackIcon } from "outline-icons";
import * as React from "react";
import { useTranslation } from "react-i18next";
import styled from "styled-components";
import Tooltip from "components/Tooltip";
import { meta } from "utils/keyboard";
type Props = {|
collapsed: boolean,
onClick?: () => void,
|};
function CollapseToggle({ collapsed, ...rest }: Props) {
const { t } = useTranslation();
return (
<Tooltip
tooltip={collapsed ? t("Expand") : t("Collapse")}
shortcut={`${meta}+.`}
delay={500}
placement="bottom"
>
<Button {...rest} aria-hidden>
{collapsed ? (
<NextIcon color="currentColor" />
) : (
<BackIcon color="currentColor" />
)}
</Button>
</Tooltip>
);
}
export const Button = styled.button`
display: block;
position: absolute;
top: 28px;
right: 8px;
border: 0;
width: 24px;
height: 24px;
z-index: 1;
font-weight: 600;
color: ${(props) => props.theme.sidebarText};
background: ${(props) => props.theme.sidebarItemBackground};
transition: opacity 100ms ease-in-out;
border-radius: 4px;
opacity: 0;
cursor: pointer;
padding: 0;
&:hover {
color: ${(props) => props.theme.white};
background: ${(props) => props.theme.primary};
}
`;
export default CollapseToggle;
@@ -1,7 +1,7 @@
// @flow
import { observable } from "mobx";
import { observer } from "mobx-react";
import * as React from "react";
import { useDrop } from "react-dnd";
import UiStore from "stores/UiStore";
import Collection from "models/Collection";
import Document from "models/Document";
@@ -10,6 +10,7 @@ import DropToImport from "components/DropToImport";
import DocumentLink from "./DocumentLink";
import EditableTitle from "./EditableTitle";
import SidebarLink from "./SidebarLink";
import useStores from "hooks/useStores";
import CollectionMenu from "menus/CollectionMenu";
type Props = {|
@@ -20,32 +21,45 @@ type Props = {|
prefetchDocument: (id: string) => Promise<void>,
|};
@observer
class CollectionLink extends React.Component<Props> {
@observable menuOpen = false;
function CollectionLink({
collection,
activeDocument,
prefetchDocument,
canUpdate,
ui,
}: Props) {
const [menuOpen, setMenuOpen] = React.useState(false);
handleTitleChange = async (name: string) => {
await this.props.collection.save({ name });
};
const handleTitleChange = React.useCallback(
async (name: string) => {
await collection.save({ name });
},
[collection]
);
render() {
const {
collection,
activeDocument,
prefetchDocument,
canUpdate,
ui,
} = this.props;
const { documents, policies } = useStores();
const expanded = collection.id === ui.activeCollectionId;
const expanded = collection.id === ui.activeCollectionId;
// Droppable
const [{ isOver, canDrop }, drop] = useDrop({
accept: "document",
drop: (item, monitor) => {
if (!collection) return;
documents.move(item.id, collection.id);
},
canDrop: (item, monitor) => {
return policies.abilities(collection.id).update;
},
collect: (monitor) => ({
isOver: !!monitor.isOver(),
canDrop: monitor.canDrop(),
}),
});
return (
<>
<DropToImport
key={collection.id}
collectionId={collection.id}
activeClassName="activeDropZone"
>
return (
<>
<div ref={drop}>
<DropToImport key={collection.id} collectionId={collection.id}>
<SidebarLink
key={collection.id}
to={collection.url}
@@ -54,11 +68,12 @@ class CollectionLink extends React.Component<Props> {
}
iconColor={collection.color}
expanded={expanded}
menuOpen={this.menuOpen}
menuOpen={menuOpen}
isActiveDrop={isOver && canDrop}
label={
<EditableTitle
title={collection.name}
onSubmit={this.handleTitleChange}
onSubmit={handleTitleChange}
canUpdate={canUpdate}
/>
}
@@ -67,28 +82,28 @@ class CollectionLink extends React.Component<Props> {
<CollectionMenu
position="right"
collection={collection}
onOpen={() => (this.menuOpen = true)}
onClose={() => (this.menuOpen = false)}
onOpen={() => setMenuOpen(true)}
onClose={() => setMenuOpen(false)}
/>
}
></SidebarLink>
</DropToImport>
</div>
{expanded &&
collection.documents.map((node) => (
<DocumentLink
key={node.id}
node={node}
collection={collection}
activeDocument={activeDocument}
prefetchDocument={prefetchDocument}
canUpdate={canUpdate}
depth={1.5}
/>
))}
</>
);
}
{expanded &&
collection.documents.map((node) => (
<DocumentLink
key={node.id}
node={node}
collection={collection}
activeDocument={activeDocument}
prefetchDocument={prefetchDocument}
canUpdate={canUpdate}
depth={1.5}
/>
))}
</>
);
}
export default CollectionLink;
export default observer(CollectionLink);
@@ -72,7 +72,7 @@ class Collections extends React.Component<Props> {
to="/collections"
onClick={this.props.onCreateCollection}
icon={<PlusIcon color="currentColor" />}
label={t("New collection")}
label={`${t("New collection")}`}
exact
/>
</>
@@ -2,6 +2,7 @@
import { observer } from "mobx-react";
import { CollapsedIcon } from "outline-icons";
import * as React from "react";
import { useDrag, useDrop } from "react-dnd";
import { useTranslation } from "react-i18next";
import styled from "styled-components";
import Collection from "models/Collection";
@@ -33,7 +34,7 @@ function DocumentLink({
depth,
canUpdate,
}: Props) {
const { documents } = useStores();
const { documents, policies } = useStores();
const { t } = useTranslation();
const isActiveDocument = activeDocument && activeDocument.id === node.id;
@@ -48,13 +49,19 @@ function DocumentLink({
}
}, [fetchChildDocuments, node, hasChildDocuments, isActiveDocument]);
const pathToNode = React.useMemo(
() =>
collection && collection.pathToDocument(node.id).map((entry) => entry.id),
[collection, node]
);
const showChildren = React.useMemo(() => {
return !!(
hasChildDocuments &&
activeDocument &&
collection &&
(collection
.pathToDocument(activeDocument)
.pathToDocument(activeDocument.id)
.map((entry) => entry.id)
.includes(node.id) ||
isActiveDocument)
@@ -100,51 +107,88 @@ function DocumentLink({
);
const [menuOpen, setMenuOpen] = React.useState(false);
const isMoving = documents.movingDocumentId === node.id;
// Draggable
const [{ isDragging }, drag] = useDrag({
item: { type: "document", ...node, depth, active: isActiveDocument },
collect: (monitor) => ({
isDragging: !!monitor.isDragging(),
}),
canDrag: (monitor) => {
return policies.abilities(node.id).move;
},
});
// Droppable
const [{ isOver, canDrop }, drop] = useDrop({
accept: "document",
drop: async (item, monitor) => {
if (!collection) return;
documents.move(item.id, collection.id, node.id);
},
canDrop: (item, monitor) =>
pathToNode && !pathToNode.includes(monitor.getItem().id),
collect: (monitor) => ({
isOver: !!monitor.isOver(),
canDrop: monitor.canDrop(),
}),
});
return (
<React.Fragment key={node.id}>
<DropToImport documentId={node.id} activeClassName="activeDropZone">
<SidebarLink
innerRef={isActiveDocument ? activeDocumentRef : undefined}
onMouseEnter={handleMouseEnter}
to={{
pathname: node.url,
state: { title: node.title },
}}
label={
<>
{hasChildDocuments && (
<Disclosure
expanded={expanded}
onClick={handleDisclosureClick}
/>
)}
<EditableTitle
title={node.title || t("Untitled")}
onSubmit={handleTitleChange}
canUpdate={canUpdate}
/>
</>
}
depth={depth}
exact={false}
menuOpen={menuOpen}
menu={
document ? (
<Fade>
<DocumentMenu
position="right"
document={document}
onOpen={() => setMenuOpen(true)}
onClose={() => setMenuOpen(false)}
/>
</Fade>
) : undefined
}
></SidebarLink>
</DropToImport>
<>
<Draggable
key={node.id}
ref={drag}
$isDragging={isDragging}
$isMoving={isMoving}
>
<div ref={drop}>
<DropToImport documentId={node.id} activeClassName="activeDropZone">
<SidebarLink
innerRef={isActiveDocument ? activeDocumentRef : undefined}
onMouseEnter={handleMouseEnter}
to={{
pathname: node.url,
state: { title: node.title },
}}
label={
<>
{hasChildDocuments && (
<Disclosure
expanded={expanded && !isDragging}
onClick={handleDisclosureClick}
/>
)}
<EditableTitle
title={node.title || t("Untitled")}
onSubmit={handleTitleChange}
canUpdate={canUpdate}
/>
</>
}
isActiveDrop={isOver && canDrop}
depth={depth}
exact={false}
menuOpen={menuOpen}
menu={
document && !isMoving ? (
<Fade>
<DocumentMenu
position="right"
document={document}
onOpen={() => setMenuOpen(true)}
onClose={() => setMenuOpen(false)}
/>
</Fade>
) : undefined
}
/>
</DropToImport>
</div>
</Draggable>
{expanded && (
{expanded && !isDragging && (
<>
{node.children.map((childNode) => (
<ObservedDocumentLink
@@ -159,10 +203,15 @@ function DocumentLink({
))}
</>
)}
</React.Fragment>
</>
);
}
const Draggable = styled("div")`
opacity: ${(props) => (props.$isDragging || props.$isMoving ? 0.5 : 1)};
pointer-events: ${(props) => (props.$isMoving ? "none" : "all")};
`;
const Disclosure = styled(CollapsedIcon)`
position: absolute;
left: -24px;
@@ -61,7 +61,7 @@ const Header = styled.button`
display: flex;
align-items: center;
flex-shrink: 0;
padding: 16px 24px;
padding: 20px 24px;
position: relative;
background: none;
line-height: inherit;
@@ -17,6 +17,7 @@ type Props = {
menuOpen?: boolean,
iconColor?: string,
active?: boolean,
isActiveDrop?: boolean,
theme: Theme,
exact?: boolean,
depth?: number,
@@ -30,6 +31,7 @@ function SidebarLink({
to,
label,
active,
isActiveDrop,
menu,
menuOpen,
theme,
@@ -47,14 +49,15 @@ function SidebarLink({
const activeStyle = {
color: theme.text,
background: theme.sidebarItemBackground,
fontWeight: 600,
background: theme.sidebarItemBackground,
...style,
};
return (
<StyledNavLink
activeStyle={activeStyle}
$isActiveDrop={isActiveDrop}
activeStyle={isActiveDrop ? undefined : activeStyle}
style={active ? activeStyle : style}
onClick={onClick}
onMouseEnter={onMouseEnter}
@@ -103,12 +106,20 @@ const StyledNavLink = styled(NavLink)`
text-overflow: ellipsis;
padding: 4px 16px;
border-radius: 4px;
color: ${(props) => props.theme.sidebarText};
background: ${(props) =>
props.$isActiveDrop ? props.theme.slateDark : "inherit"};
color: ${(props) =>
props.$isActiveDrop ? props.theme.white : props.theme.sidebarText};
font-size: 15px;
cursor: pointer;
svg {
${(props) => (props.$isActiveDrop ? `fill: ${props.theme.white};` : "")}
}
&:hover {
color: ${(props) => props.theme.text};
color: ${(props) =>
props.$isActiveDrop ? props.theme.white : props.theme.text};
}
&:focus {
+12 -9
View File
@@ -3,9 +3,10 @@ import "mobx-react-lite/batchingForReactDom";
import "focus-visible";
import { Provider } from "mobx-react";
import * as React from "react";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
import { render } from "react-dom";
import { BrowserRouter as Router } from "react-router-dom";
import { initI18n } from "shared/i18n";
import stores from "stores";
import ErrorBoundary from "components/ErrorBoundary";
@@ -24,14 +25,16 @@ if (element) {
<ErrorBoundary>
<Provider {...stores}>
<Theme>
<Router>
<>
<ScrollToTop>
<Routes />
</ScrollToTop>
<Toasts />
</>
</Router>
<DndProvider backend={HTML5Backend}>
<Router>
<>
<ScrollToTop>
<Routes />
</ScrollToTop>
<Toasts />
</>
</Router>
</DndProvider>
</Theme>
</Provider>
</ErrorBoundary>,
+4 -4
View File
@@ -159,22 +159,22 @@ class CollectionMenu extends React.Component<Props> {
type: "separator",
},
{
title: t("Edit"),
title: `${t("Edit")}`,
visible: !!(collection && can.update),
onClick: this.handleEditCollectionOpen,
},
{
title: t("Permissions"),
title: `${t("Permissions")}`,
visible: !!(collection && can.update),
onClick: this.handleMembersModalOpen,
},
{
title: t("Export"),
title: `${t("Export")}`,
visible: !!(collection && can.export),
onClick: this.handleExportCollectionOpen,
},
{
title: t("Delete"),
title: `${t("Delete")}`,
visible: !!(collection && can.delete),
onClick: this.handleDeleteCollectionOpen,
},
+5 -5
View File
@@ -200,7 +200,7 @@ class DocumentMenu extends React.Component<Props> {
onClick: this.handleRestore,
},
{
title: t("Restore"),
title: `${t("Restore")}`,
visible: !collection && !!can.restore,
style: {
left: -170,
@@ -251,7 +251,7 @@ class DocumentMenu extends React.Component<Props> {
visible: !document.isStarred && !!can.star,
},
{
title: t("Share link"),
title: `${t("Share link")}`,
onClick: this.handleShareLink,
visible: canShareDocuments,
},
@@ -274,7 +274,7 @@ class DocumentMenu extends React.Component<Props> {
visible: !!can.createChildDocument,
},
{
title: t("Create template"),
title: `${t("Create template")}`,
onClick: this.handleOpenTemplateModal,
visible: !!can.update && !document.isTemplate,
},
@@ -299,12 +299,12 @@ class DocumentMenu extends React.Component<Props> {
visible: !!can.archive,
},
{
title: t("Delete"),
title: `${t("Delete")}`,
onClick: this.handleDelete,
visible: !!can.delete,
},
{
title: t("Move"),
title: `${t("Move")}`,
onClick: this.handleMove,
visible: !!can.move,
},
+3 -3
View File
@@ -78,7 +78,7 @@ class GroupMenu extends React.Component<Props> {
<DropdownMenuItems
items={[
{
title: t("Members"),
title: `${t("Members")}`,
onClick: this.props.onMembers,
visible: !!(group && can.read),
},
@@ -86,12 +86,12 @@ class GroupMenu extends React.Component<Props> {
type: "separator",
},
{
title: t("Edit"),
title: `${t("Edit")}`,
onClick: this.onEdit,
visible: !!(group && can.update),
},
{
title: t("Delete"),
title: `${t("Delete")}`,
onClick: this.onDelete,
visible: !!(group && can.delete),
},
+5 -5
View File
@@ -2,7 +2,7 @@
import { observable } from "mobx";
import { observer, inject } from "mobx-react";
import * as React from "react";
import { withTranslation, type TFunction } from "react-i18next";
import { Trans, withTranslation, type TFunction } from "react-i18next";
import { Redirect } from "react-router-dom";
import CollectionsStore from "stores/CollectionsStore";
@@ -43,6 +43,7 @@ class NewChildDocumentMenu extends React.Component<Props> {
const { label, document, collections, t } = this.props;
const collection = collections.get(document.collectionId);
const collectionName = collection ? collection.name : t("collection");
return (
<DropdownMenu label={label}>
@@ -51,10 +52,9 @@ class NewChildDocumentMenu extends React.Component<Props> {
{
title: (
<span>
{t("New document in")}{" "}
<strong>
{collection ? collection.name : t("collection")}
</strong>
<Trans>
New document in <strong>{{ collectionName }}</strong>
</Trans>
</span>
),
onClick: this.handleNewDocument,
+1 -1
View File
@@ -45,7 +45,7 @@ class NewTemplateMenu extends React.Component<Props> {
label={
label || (
<Button icon={<PlusIcon />} small>
{t("New template")}
{t("New template")}
</Button>
)
}
+2 -2
View File
@@ -99,7 +99,7 @@ class UserMenu extends React.Component<Props> {
type: "separator",
},
{
title: t("Revoke invite"),
title: `${t("Revoke invite")}`,
onClick: this.handleRevoke,
visible: user.isInvited,
},
@@ -109,7 +109,7 @@ class UserMenu extends React.Component<Props> {
visible: !user.isInvited && user.isSuspended,
},
{
title: t("Suspend account"),
title: `${t("Suspend account")}`,
onClick: this.handleSuspend,
visible: !user.isInvited && !user.isSuspended,
},
+2 -2
View File
@@ -79,12 +79,12 @@ export default class Collection extends BaseModel {
return result;
}
pathToDocument(document: Document) {
pathToDocument(documentId: string) {
let path;
const traveler = (nodes, previousPath) => {
nodes.forEach((childNode) => {
const newPath = [...previousPath, childNode];
if (childNode.id === document.id) {
if (childNode.id === documentId) {
path = newPath;
return;
}
+2 -2
View File
@@ -207,7 +207,7 @@ export default class Document extends BaseModel {
@action
view = () => {
// we don't record views for documents in the trash
if (this.isDeleted) {
if (this.isDeleted || !this.publishedAt) {
return;
}
@@ -268,7 +268,7 @@ export default class Document extends BaseModel {
};
move = (collectionId: string, parentDocumentId: ?string) => {
return this.store.move(this, collectionId, parentDocumentId);
return this.store.move(this.id, collectionId, parentDocumentId);
};
duplicate = () => {
+2 -2
View File
@@ -144,7 +144,7 @@ class CollectionScene extends React.Component<Props> {
<Action>
<InputSearch
source="collection"
placeholder={t("Search in collection")}
placeholder={`${t("Search in collection")}`}
collectionId={match.params.id}
/>
</Action>
@@ -207,7 +207,7 @@ class CollectionScene extends React.Component<Props> {
&nbsp;&nbsp;
{collection.private && (
<Button onClick={this.onPermissions} neutral>
{t("Manage members")}
{t("Manage members")}
</Button>
)}
</Wrapper>
+1 -1
View File
@@ -120,7 +120,7 @@ class CollectionEdit extends React.Component<Props> {
type="submit"
disabled={this.isSaving || !this.props.collection.name}
>
{this.isSaving ? t("Saving") : t("Save")}
{this.isSaving ? `${t("Saving")}` : t("Save")}
</Button>
</form>
</Flex>
@@ -92,7 +92,7 @@ class AddGroupsToCollection extends React.Component<Props> {
<Input
type="search"
placeholder={t("Search by group name")}
placeholder={`${t("Search by group name")}`}
value={this.query}
onChange={this.handleFilter}
label={t("Search groups")}
@@ -86,7 +86,7 @@ class AddPeopleToCollection extends React.Component<Props> {
<Input
type="search"
placeholder={t("Search by name")}
placeholder={`${t("Search by name")}`}
value={this.query}
onChange={this.handleFilter}
label={t("Search people")}
@@ -52,7 +52,7 @@ const MemberListItem = ({
<ButtonWrap>
<DropdownMenu>
<DropdownMenuItem onClick={openMembersModal}>
{t("Members")}
{t("Members")}
</DropdownMenuItem>
<hr />
<DropdownMenuItem onClick={onRemove}>
@@ -1,6 +1,6 @@
// @flow
import * as React from "react";
import { useTranslation } from "react-i18next";
import { Trans, useTranslation } from "react-i18next";
import styled from "styled-components";
import Membership from "models/Membership";
import User from "models/User";
@@ -46,11 +46,9 @@ const MemberListItem = ({
subtitle={
<>
{user.lastActiveAt ? (
<>
{t("Active {{ lastActiveAt }} ago", {
lastActiveAt: <Time dateTime={user.lastActiveAt} />,
})}
</>
<Trans>
Active <Time dateTime={user.lastActiveAt} /> ago
</Trans>
) : (
t("Never signed in")
)}
@@ -1,7 +1,7 @@
// @flow
import { PlusIcon } from "outline-icons";
import * as React from "react";
import { useTranslation } from "react-i18next";
import { Trans, useTranslation } from "react-i18next";
import User from "models/User";
import Avatar from "components/Avatar";
import Badge from "components/Badge";
@@ -25,11 +25,9 @@ const UserListItem = ({ user, onAdd, canEdit }: Props) => {
subtitle={
<>
{user.lastActiveAt ? (
<>
{t("Active {{ lastActiveAt }} ago", {
lastActiveAt: <Time dateTime={user.lastActiveAt} />,
})}
</>
<Trans>
Active <Time dateTime={user.lastActiveAt} /> ago
</Trans>
) : (
t("Never signed in")
)}
+1 -1
View File
@@ -148,7 +148,7 @@ class CollectionNew extends React.Component<Props> {
</HelpText>
<Button type="submit" disabled={this.isSaving || !this.name}>
{this.isSaving ? t("Creating") : t("Create")}
{this.isSaving ? `${t("Creating")}` : t("Create")}
</Button>
</form>
);
+2 -2
View File
@@ -203,7 +203,7 @@ class Header extends React.Component<Props> {
<Wrapper align="center" justify="flex-end">
{isSaving && !isPublishing && (
<Action>
<Status>{t("Saving")}</Status>
<Status>{t("Saving")}</Status>
</Action>
)}
&nbsp;
@@ -331,7 +331,7 @@ class Header extends React.Component<Props> {
disabled={publishingIsDisabled}
small
>
{isPublishing ? t("Publishing") : t("Publish")}
{isPublishing ? `${t("Publishing")}` : t("Publish")}
</Button>
</Tooltip>
</Action>
@@ -16,8 +16,9 @@ class MarkAsViewed extends React.Component<Props> {
const { document } = this.props;
this.viewTimeout = setTimeout(async () => {
if (document.publishedAt) {
const view = await document.view();
const view = await document.view();
if (view) {
document.updateLastViewed(view);
}
}, MARK_AS_VIEWED_AFTER);
+1 -1
View File
@@ -88,7 +88,7 @@ class AddPeopleToGroup extends React.Component<Props> {
<Input
type="search"
placeholder={t("Search by name")}
placeholder={`${t("Search by name")}`}
value={this.query}
onChange={this.handleFilter}
label={t("Search people")}
+1 -1
View File
@@ -82,7 +82,7 @@ class GroupMembers extends React.Component<Props> {
icon={<PlusIcon />}
neutral
>
{t("Add people")}
{t("Add people")}
</Button>
</span>
</>
+1 -1
View File
@@ -270,7 +270,7 @@ class Search extends React.Component<Props> {
)}
<ResultsWrapper pinToTop={this.pinToTop} column auto>
<SearchField
placeholder={t("Search")}
placeholder={`${t("Search")}`}
onKeyDown={this.handleKeyDown}
onChange={this.updateLocation}
defaultValue={this.query}
+1 -1
View File
@@ -146,7 +146,7 @@ class Profile extends React.Component<Props> {
.
</HelpText>
<Button type="submit" disabled={isSaving || !this.isValid}>
{isSaving ? t("Saving") : t("Save")}
{isSaving ? `${t("Saving")}` : t("Save")}
</Button>
</form>
+13 -3
View File
@@ -10,6 +10,7 @@ import Button from "components/Button";
import Flex from "components/Flex";
import LoadingIndicator from "components/LoadingIndicator";
import Modal from "components/Modal";
import { compressImage } from "utils/compressImage";
import { uploadFile, dataUrlToBlob } from "utils/uploadFile";
const EMPTY_OBJECT = {};
@@ -28,7 +29,7 @@ class ImageUpload extends React.Component<Props> {
@observable isUploading: boolean = false;
@observable isCropping: boolean = false;
@observable zoom: number = 1;
file: File;
@observable file: File;
avatarEditorRef: AvatarEditor;
static defaultProps = {
@@ -53,7 +54,11 @@ class ImageUpload extends React.Component<Props> {
const canvas = this.avatarEditorRef.getImage();
const imageBlob = dataUrlToBlob(canvas.toDataURL());
try {
const attachment = await uploadFile(imageBlob, {
const compressed = await compressImage(imageBlob, {
maxHeight: 512,
maxWidth: 512,
});
const attachment = await uploadFile(compressed, {
name: this.file.name,
public: true,
});
@@ -128,7 +133,12 @@ class ImageUpload extends React.Component<Props> {
style={EMPTY_OBJECT}
disablePreview
>
{this.props.children}
{({ getRootProps, getInputProps, isDragActive }) => (
<div {...getRootProps()} {...{ isDragActive }}>
<input {...getInputProps()} />
{this.props.children}
</div>
)}
</Dropzone>
);
}
-1
View File
@@ -28,7 +28,6 @@ class UserDelete extends React.Component<Props> {
this.props.auth.logout();
} catch (error) {
this.props.ui.showToast(error.message);
throw error;
} finally {
this.isDeleting = false;
}
+10 -9
View File
@@ -1,14 +1,12 @@
// @flow
import distanceInWordsToNow from "date-fns/distance_in_words_to_now";
import { inject, observer } from "mobx-react";
import { observer } from "mobx-react";
import { EditIcon } from "outline-icons";
import * as React from "react";
import { useTranslation } from "react-i18next";
import { withRouter, type RouterHistory } from "react-router-dom";
import styled from "styled-components";
import { settings } from "shared/utils/routeHelpers";
import AuthStore from "stores/AuthStore";
import DocumentsStore from "stores/DocumentsStore";
import User from "models/User";
import Avatar from "components/Avatar";
import Badge from "components/Badge";
@@ -18,20 +16,23 @@ import HelpText from "components/HelpText";
import Modal from "components/Modal";
import PaginatedDocumentList from "components/PaginatedDocumentList";
import Subheading from "components/Subheading";
import useCurrentUser from "hooks/useCurrentUser";
import useStores from "hooks/useStores";
type Props = {
user: User,
auth: AuthStore,
documents: DocumentsStore,
history: RouterHistory,
onRequestClose: () => void,
};
function UserProfile(props: Props) {
const { t } = useTranslation();
const { user, auth, documents, ...rest } = props;
const { documents } = useStores();
const currentUser = useCurrentUser();
const { user, ...rest } = props;
if (!user) return null;
const isCurrentUser = auth.user && auth.user.id === user.id;
const isCurrentUser = currentUser.id === user.id;
return (
<Modal
@@ -60,7 +61,7 @@ function UserProfile(props: Props) {
{isCurrentUser && (
<Edit>
<Button
onClick={() => this.props.history.push(settings())}
onClick={() => props.history.push(settings())}
icon={<EditIcon />}
neutral
>
@@ -103,4 +104,4 @@ const Meta = styled(HelpText)`
margin-top: -12px;
`;
export default inject("documents", "auth")(withRouter(observer(UserProfile)));
export default withRouter(observer(UserProfile));
+17 -10
View File
@@ -19,6 +19,7 @@ export default class DocumentsStore extends BaseStore<Document> {
@observable searchCache: Map<string, SearchResult[]> = new Map();
@observable starredIds: Map<string, boolean> = new Map();
@observable backlinks: Map<string, string[]> = new Map();
@observable movingDocumentId: ?string;
importFileTypes: string[] = [
"text/markdown",
@@ -450,20 +451,26 @@ export default class DocumentsStore extends BaseStore<Document> {
@action
move = async (
document: Document,
documentId: string,
collectionId: string,
parentDocumentId: ?string
) => {
const res = await client.post("/documents.move", {
id: document.id,
collectionId,
parentDocumentId,
});
invariant(res && res.data, "Data not available");
this.movingDocumentId = documentId;
res.data.documents.forEach(this.add);
res.data.collections.forEach(this.rootStore.collections.add);
this.addPolicies(res.policies);
try {
const res = await client.post("/documents.move", {
id: documentId,
collectionId,
parentDocumentId,
});
invariant(res && res.data, "Data not available");
res.data.documents.forEach(this.add);
res.data.collections.forEach(this.rootStore.collections.add);
this.addPolicies(res.policies);
} finally {
this.movingDocumentId = undefined;
}
};
@action
+18
View File
@@ -23,6 +23,7 @@ class UiStore {
@observable editMode: boolean = false;
@observable tocVisible: boolean = false;
@observable mobileSidebarVisible: boolean = false;
@observable sidebarCollapsed: boolean = false;
@observable toasts: Map<string, Toast> = new Map();
constructor() {
@@ -51,6 +52,7 @@ class UiStore {
// persisted keys
this.languagePromptDismissed = data.languagePromptDismissed;
this.sidebarCollapsed = data.sidebarCollapsed;
this.tocVisible = data.tocVisible;
this.theme = data.theme || "system";
@@ -107,6 +109,21 @@ class UiStore {
this.activeCollectionId = undefined;
};
@action
collapseSidebar = () => {
this.sidebarCollapsed = true;
};
@action
expandSidebar = () => {
this.sidebarCollapsed = false;
};
@action
toggleCollapsedSidebar = () => {
this.sidebarCollapsed = !this.sidebarCollapsed;
};
@action
showTableOfContents = () => {
this.tocVisible = true;
@@ -190,6 +207,7 @@ class UiStore {
get asJson(): string {
return JSON.stringify({
tocVisible: this.tocVisible,
sidebarCollapsed: this.sidebarCollapsed,
languagePromptDismissed: this.languagePromptDismissed,
theme: this.theme,
});
+10
View File
@@ -5,10 +5,12 @@ import stores from "stores";
import download from "./download";
import {
AuthorizationError,
BadRequestError,
NetworkError,
NotFoundError,
OfflineError,
RequestError,
ServiceUnavailableError,
UpdateRequiredError,
} from "./errors";
@@ -141,6 +143,10 @@ class ApiClient {
throw new UpdateRequiredError(error.message);
}
if (response.status === 400) {
throw new BadRequestError(error.message);
}
if (response.status === 403) {
throw new AuthorizationError(error.message);
}
@@ -149,6 +155,10 @@ class ApiClient {
throw new NotFoundError(error.message);
}
if (response.status === 503) {
throw new ServiceUnavailableError(error.message);
}
throw new RequestError(error.message);
};
+17
View File
@@ -0,0 +1,17 @@
// @flow
import Compressor from "compressorjs";
type Options = Omit<Compressor.Options, "success" | "error">;
export const compressImage = async (
file: File | Blob,
options?: Options
): Promise<Blob> => {
return new Promise((resolve, reject) => {
new Compressor(file, {
...options,
success: resolve,
error: reject,
});
});
};
+2
View File
@@ -2,8 +2,10 @@
import ExtendableError from "es6-error";
export class AuthorizationError extends ExtendableError {}
export class BadRequestError extends ExtendableError {}
export class NetworkError extends ExtendableError {}
export class NotFoundError extends ExtendableError {}
export class OfflineError extends ExtendableError {}
export class ServiceUnavailableError extends ExtendableError {}
export class RequestError extends ExtendableError {}
export class UpdateRequiredError extends ExtendableError {}
-8
View File
@@ -1,8 +0,0 @@
// @flow
declare var process: {
env: {
[string]: string,
},
};
declare var EDITOR_VERSION: string;
-309
View File
@@ -1,309 +0,0 @@
// flow-typed signature: 9c614e9038bfd47492a561085bc95586
// flow-typed version: <<STUB>>/@sentry/node_v^5.12.2/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* '@sentry/node'
*
* 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/node' {
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 '@sentry/node/dist/backend' {
declare module.exports: any;
}
declare module '@sentry/node/dist/client' {
declare module.exports: any;
}
declare module '@sentry/node/dist/handlers' {
declare module.exports: any;
}
declare module '@sentry/node/dist' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations/console' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations/http' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations/linkederrors' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations/modules' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations/onuncaughtexception' {
declare module.exports: any;
}
declare module '@sentry/node/dist/integrations/onunhandledrejection' {
declare module.exports: any;
}
declare module '@sentry/node/dist/parsers' {
declare module.exports: any;
}
declare module '@sentry/node/dist/sdk' {
declare module.exports: any;
}
declare module '@sentry/node/dist/stacktrace' {
declare module.exports: any;
}
declare module '@sentry/node/dist/transports/base' {
declare module.exports: any;
}
declare module '@sentry/node/dist/transports/http' {
declare module.exports: any;
}
declare module '@sentry/node/dist/transports/https' {
declare module.exports: any;
}
declare module '@sentry/node/dist/transports' {
declare module.exports: any;
}
declare module '@sentry/node/dist/version' {
declare module.exports: any;
}
declare module '@sentry/node/esm/backend' {
declare module.exports: any;
}
declare module '@sentry/node/esm/client' {
declare module.exports: any;
}
declare module '@sentry/node/esm/handlers' {
declare module.exports: any;
}
declare module '@sentry/node/esm' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations/console' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations/http' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations/linkederrors' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations/modules' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations/onuncaughtexception' {
declare module.exports: any;
}
declare module '@sentry/node/esm/integrations/onunhandledrejection' {
declare module.exports: any;
}
declare module '@sentry/node/esm/parsers' {
declare module.exports: any;
}
declare module '@sentry/node/esm/sdk' {
declare module.exports: any;
}
declare module '@sentry/node/esm/stacktrace' {
declare module.exports: any;
}
declare module '@sentry/node/esm/transports/base' {
declare module.exports: any;
}
declare module '@sentry/node/esm/transports/http' {
declare module.exports: any;
}
declare module '@sentry/node/esm/transports/https' {
declare module.exports: any;
}
declare module '@sentry/node/esm/transports' {
declare module.exports: any;
}
declare module '@sentry/node/esm/version' {
declare module.exports: any;
}
// Filename aliases
declare module '@sentry/node/dist/backend.js' {
declare module.exports: $Exports<'@sentry/node/dist/backend'>;
}
declare module '@sentry/node/dist/client.js' {
declare module.exports: $Exports<'@sentry/node/dist/client'>;
}
declare module '@sentry/node/dist/handlers.js' {
declare module.exports: $Exports<'@sentry/node/dist/handlers'>;
}
declare module '@sentry/node/dist/index' {
declare module.exports: $Exports<'@sentry/node/dist'>;
}
declare module '@sentry/node/dist/index.js' {
declare module.exports: $Exports<'@sentry/node/dist'>;
}
declare module '@sentry/node/dist/integrations/console.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations/console'>;
}
declare module '@sentry/node/dist/integrations/http.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations/http'>;
}
declare module '@sentry/node/dist/integrations/index' {
declare module.exports: $Exports<'@sentry/node/dist/integrations'>;
}
declare module '@sentry/node/dist/integrations/index.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations'>;
}
declare module '@sentry/node/dist/integrations/linkederrors.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations/linkederrors'>;
}
declare module '@sentry/node/dist/integrations/modules.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations/modules'>;
}
declare module '@sentry/node/dist/integrations/onuncaughtexception.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations/onuncaughtexception'>;
}
declare module '@sentry/node/dist/integrations/onunhandledrejection.js' {
declare module.exports: $Exports<'@sentry/node/dist/integrations/onunhandledrejection'>;
}
declare module '@sentry/node/dist/parsers.js' {
declare module.exports: $Exports<'@sentry/node/dist/parsers'>;
}
declare module '@sentry/node/dist/sdk.js' {
declare module.exports: $Exports<'@sentry/node/dist/sdk'>;
}
declare module '@sentry/node/dist/stacktrace.js' {
declare module.exports: $Exports<'@sentry/node/dist/stacktrace'>;
}
declare module '@sentry/node/dist/transports/base.js' {
declare module.exports: $Exports<'@sentry/node/dist/transports/base'>;
}
declare module '@sentry/node/dist/transports/http.js' {
declare module.exports: $Exports<'@sentry/node/dist/transports/http'>;
}
declare module '@sentry/node/dist/transports/https.js' {
declare module.exports: $Exports<'@sentry/node/dist/transports/https'>;
}
declare module '@sentry/node/dist/transports/index' {
declare module.exports: $Exports<'@sentry/node/dist/transports'>;
}
declare module '@sentry/node/dist/transports/index.js' {
declare module.exports: $Exports<'@sentry/node/dist/transports'>;
}
declare module '@sentry/node/dist/version.js' {
declare module.exports: $Exports<'@sentry/node/dist/version'>;
}
declare module '@sentry/node/esm/backend.js' {
declare module.exports: $Exports<'@sentry/node/esm/backend'>;
}
declare module '@sentry/node/esm/client.js' {
declare module.exports: $Exports<'@sentry/node/esm/client'>;
}
declare module '@sentry/node/esm/handlers.js' {
declare module.exports: $Exports<'@sentry/node/esm/handlers'>;
}
declare module '@sentry/node/esm/index' {
declare module.exports: $Exports<'@sentry/node/esm'>;
}
declare module '@sentry/node/esm/index.js' {
declare module.exports: $Exports<'@sentry/node/esm'>;
}
declare module '@sentry/node/esm/integrations/console.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations/console'>;
}
declare module '@sentry/node/esm/integrations/http.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations/http'>;
}
declare module '@sentry/node/esm/integrations/index' {
declare module.exports: $Exports<'@sentry/node/esm/integrations'>;
}
declare module '@sentry/node/esm/integrations/index.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations'>;
}
declare module '@sentry/node/esm/integrations/linkederrors.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations/linkederrors'>;
}
declare module '@sentry/node/esm/integrations/modules.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations/modules'>;
}
declare module '@sentry/node/esm/integrations/onuncaughtexception.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations/onuncaughtexception'>;
}
declare module '@sentry/node/esm/integrations/onunhandledrejection.js' {
declare module.exports: $Exports<'@sentry/node/esm/integrations/onunhandledrejection'>;
}
declare module '@sentry/node/esm/parsers.js' {
declare module.exports: $Exports<'@sentry/node/esm/parsers'>;
}
declare module '@sentry/node/esm/sdk.js' {
declare module.exports: $Exports<'@sentry/node/esm/sdk'>;
}
declare module '@sentry/node/esm/stacktrace.js' {
declare module.exports: $Exports<'@sentry/node/esm/stacktrace'>;
}
declare module '@sentry/node/esm/transports/base.js' {
declare module.exports: $Exports<'@sentry/node/esm/transports/base'>;
}
declare module '@sentry/node/esm/transports/http.js' {
declare module.exports: $Exports<'@sentry/node/esm/transports/http'>;
}
declare module '@sentry/node/esm/transports/https.js' {
declare module.exports: $Exports<'@sentry/node/esm/transports/https'>;
}
declare module '@sentry/node/esm/transports/index' {
declare module.exports: $Exports<'@sentry/node/esm/transports'>;
}
declare module '@sentry/node/esm/transports/index.js' {
declare module.exports: $Exports<'@sentry/node/esm/transports'>;
}
declare module '@sentry/node/esm/version.js' {
declare module.exports: $Exports<'@sentry/node/esm/version'>;
}
-59
View File
@@ -1,59 +0,0 @@
// flow-typed signature: 3a7f9d7c7339a68225914ed21f313279
// flow-typed version: <<STUB>>/@tippy.js/react_v^2.2.2/flow_v0.104.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' {
declare module.exports: any;
}
declare module '@tippy.js/react/esm/index.min' {
declare module.exports: any;
}
declare module '@tippy.js/react/umd' {
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' {
declare module.exports: $Exports<'@tippy.js/react/esm'>;
}
declare module '@tippy.js/react/esm/index.js' {
declare module.exports: $Exports<'@tippy.js/react/esm'>;
}
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' {
declare module.exports: $Exports<'@tippy.js/react/umd'>;
}
declare module '@tippy.js/react/umd/index.js' {
declare module.exports: $Exports<'@tippy.js/react/umd'>;
}
declare module '@tippy.js/react/umd/index.min.js' {
declare module.exports: $Exports<'@tippy.js/react/umd/index.min'>;
}
-38
View File
@@ -1,38 +0,0 @@
// flow-typed signature: 300612c60dee7fa8f0828284182b3ef6
// flow-typed version: <<STUB>>/@tommoor/remove-markdown_v0.3.1/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* '@tommoor/remove-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 '@tommoor/remove-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 '@tommoor/remove-markdown/test/remove-markdown' {
declare module.exports: any;
}
// Filename aliases
declare module '@tommoor/remove-markdown/index' {
declare module.exports: $Exports<'@tommoor/remove-markdown'>;
}
declare module '@tommoor/remove-markdown/index.js' {
declare module.exports: $Exports<'@tommoor/remove-markdown'>;
}
declare module '@tommoor/remove-markdown/test/remove-markdown.js' {
declare module.exports: $Exports<'@tommoor/remove-markdown/test/remove-markdown'>;
}
-434
View File
@@ -1,434 +0,0 @@
// flow-typed signature: f43805453dffac09f37f36e338814526
// flow-typed version: <<STUB>>/autotrack_v^2.4.1/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'autotrack'
*
* 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 'autotrack' {
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 'autotrack/autotrack' {
declare module.exports: any;
}
declare module 'autotrack/bin/build' {
declare module.exports: any;
}
declare module 'autotrack/bin/errors' {
declare module.exports: any;
}
declare module 'autotrack/gulpfile' {
declare module.exports: any;
}
declare module 'autotrack/lib/constants' {
declare module.exports: any;
}
declare module 'autotrack/lib/event-emitter' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/analytics' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/clean-url-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/event-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/impression-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/max-scroll-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/media-query-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/outbound-form-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/outbound-link-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/page-visibility-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/session' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/social-widget-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/externs/url-change-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib' {
declare module.exports: any;
}
declare module 'autotrack/lib/method-chain' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/clean-url-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/event-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/impression-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/max-scroll-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/media-query-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/outbound-form-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/outbound-link-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/page-visibility-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/social-widget-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/plugins/url-change-tracker' {
declare module.exports: any;
}
declare module 'autotrack/lib/provide' {
declare module.exports: any;
}
declare module 'autotrack/lib/session' {
declare module.exports: any;
}
declare module 'autotrack/lib/store' {
declare module.exports: any;
}
declare module 'autotrack/lib/usage' {
declare module.exports: any;
}
declare module 'autotrack/lib/utilities' {
declare module.exports: any;
}
declare module 'autotrack/test/analytics_debug' {
declare module.exports: any;
}
declare module 'autotrack/test/analytics' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/clean-url-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/event-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/ga' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/impression-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/index-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/max-scroll-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/media-query-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/outbound-form-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/outbound-link-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/page-visibility-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/server' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/social-widget-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/url-change-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/e2e/wdio.conf' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/event-emitter-test' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/method-chain-test' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/plugins/clean-url-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/plugins/page-visibility-tracker-test' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/session-test' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/store-test' {
declare module.exports: any;
}
declare module 'autotrack/test/unit/utilities-test' {
declare module.exports: any;
}
// Filename aliases
declare module 'autotrack/autotrack.js' {
declare module.exports: $Exports<'autotrack/autotrack'>;
}
declare module 'autotrack/bin/build.js' {
declare module.exports: $Exports<'autotrack/bin/build'>;
}
declare module 'autotrack/bin/errors.js' {
declare module.exports: $Exports<'autotrack/bin/errors'>;
}
declare module 'autotrack/gulpfile.js' {
declare module.exports: $Exports<'autotrack/gulpfile'>;
}
declare module 'autotrack/lib/constants.js' {
declare module.exports: $Exports<'autotrack/lib/constants'>;
}
declare module 'autotrack/lib/event-emitter.js' {
declare module.exports: $Exports<'autotrack/lib/event-emitter'>;
}
declare module 'autotrack/lib/externs/analytics.js' {
declare module.exports: $Exports<'autotrack/lib/externs/analytics'>;
}
declare module 'autotrack/lib/externs/clean-url-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/clean-url-tracker'>;
}
declare module 'autotrack/lib/externs/event-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/event-tracker'>;
}
declare module 'autotrack/lib/externs/impression-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/impression-tracker'>;
}
declare module 'autotrack/lib/externs/max-scroll-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/max-scroll-tracker'>;
}
declare module 'autotrack/lib/externs/media-query-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/media-query-tracker'>;
}
declare module 'autotrack/lib/externs/outbound-form-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/outbound-form-tracker'>;
}
declare module 'autotrack/lib/externs/outbound-link-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/outbound-link-tracker'>;
}
declare module 'autotrack/lib/externs/page-visibility-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/page-visibility-tracker'>;
}
declare module 'autotrack/lib/externs/session.js' {
declare module.exports: $Exports<'autotrack/lib/externs/session'>;
}
declare module 'autotrack/lib/externs/social-widget-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/social-widget-tracker'>;
}
declare module 'autotrack/lib/externs/url-change-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/externs/url-change-tracker'>;
}
declare module 'autotrack/lib/index' {
declare module.exports: $Exports<'autotrack/lib'>;
}
declare module 'autotrack/lib/index.js' {
declare module.exports: $Exports<'autotrack/lib'>;
}
declare module 'autotrack/lib/method-chain.js' {
declare module.exports: $Exports<'autotrack/lib/method-chain'>;
}
declare module 'autotrack/lib/plugins/clean-url-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/clean-url-tracker'>;
}
declare module 'autotrack/lib/plugins/event-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/event-tracker'>;
}
declare module 'autotrack/lib/plugins/impression-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/impression-tracker'>;
}
declare module 'autotrack/lib/plugins/max-scroll-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/max-scroll-tracker'>;
}
declare module 'autotrack/lib/plugins/media-query-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/media-query-tracker'>;
}
declare module 'autotrack/lib/plugins/outbound-form-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/outbound-form-tracker'>;
}
declare module 'autotrack/lib/plugins/outbound-link-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/outbound-link-tracker'>;
}
declare module 'autotrack/lib/plugins/page-visibility-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/page-visibility-tracker'>;
}
declare module 'autotrack/lib/plugins/social-widget-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/social-widget-tracker'>;
}
declare module 'autotrack/lib/plugins/url-change-tracker.js' {
declare module.exports: $Exports<'autotrack/lib/plugins/url-change-tracker'>;
}
declare module 'autotrack/lib/provide.js' {
declare module.exports: $Exports<'autotrack/lib/provide'>;
}
declare module 'autotrack/lib/session.js' {
declare module.exports: $Exports<'autotrack/lib/session'>;
}
declare module 'autotrack/lib/store.js' {
declare module.exports: $Exports<'autotrack/lib/store'>;
}
declare module 'autotrack/lib/usage.js' {
declare module.exports: $Exports<'autotrack/lib/usage'>;
}
declare module 'autotrack/lib/utilities.js' {
declare module.exports: $Exports<'autotrack/lib/utilities'>;
}
declare module 'autotrack/test/analytics_debug.js' {
declare module.exports: $Exports<'autotrack/test/analytics_debug'>;
}
declare module 'autotrack/test/analytics.js' {
declare module.exports: $Exports<'autotrack/test/analytics'>;
}
declare module 'autotrack/test/e2e/clean-url-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/clean-url-tracker-test'>;
}
declare module 'autotrack/test/e2e/event-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/event-tracker-test'>;
}
declare module 'autotrack/test/e2e/ga.js' {
declare module.exports: $Exports<'autotrack/test/e2e/ga'>;
}
declare module 'autotrack/test/e2e/impression-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/impression-tracker-test'>;
}
declare module 'autotrack/test/e2e/index-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/index-test'>;
}
declare module 'autotrack/test/e2e/max-scroll-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/max-scroll-tracker-test'>;
}
declare module 'autotrack/test/e2e/media-query-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/media-query-tracker-test'>;
}
declare module 'autotrack/test/e2e/outbound-form-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/outbound-form-tracker-test'>;
}
declare module 'autotrack/test/e2e/outbound-link-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/outbound-link-tracker-test'>;
}
declare module 'autotrack/test/e2e/page-visibility-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/page-visibility-tracker-test'>;
}
declare module 'autotrack/test/e2e/server.js' {
declare module.exports: $Exports<'autotrack/test/e2e/server'>;
}
declare module 'autotrack/test/e2e/social-widget-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/social-widget-tracker-test'>;
}
declare module 'autotrack/test/e2e/url-change-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/e2e/url-change-tracker-test'>;
}
declare module 'autotrack/test/e2e/wdio.conf.js' {
declare module.exports: $Exports<'autotrack/test/e2e/wdio.conf'>;
}
declare module 'autotrack/test/unit/event-emitter-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/event-emitter-test'>;
}
declare module 'autotrack/test/unit/method-chain-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/method-chain-test'>;
}
declare module 'autotrack/test/unit/plugins/clean-url-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/plugins/clean-url-tracker-test'>;
}
declare module 'autotrack/test/unit/plugins/page-visibility-tracker-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/plugins/page-visibility-tracker-test'>;
}
declare module 'autotrack/test/unit/session-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/session-test'>;
}
declare module 'autotrack/test/unit/store-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/store-test'>;
}
declare module 'autotrack/test/unit/utilities-test.js' {
declare module.exports: $Exports<'autotrack/test/unit/utilities-test'>;
}
-2682
View File
File diff suppressed because it is too large Load Diff
-58
View File
@@ -1,58 +0,0 @@
// flow-typed signature: 124ea3a8df633e16e9901a6e10ec7777
// flow-typed version: <<STUB>>/boundless-arrow-key-navigation_v^1.0.4/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'boundless-arrow-key-navigation'
*
* 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 'boundless-arrow-key-navigation' {
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 'boundless-arrow-key-navigation/build' {
declare module.exports: any;
}
declare module 'boundless-arrow-key-navigation/demo' {
declare module.exports: any;
}
declare module 'boundless-arrow-key-navigation/index.spec' {
declare module.exports: any;
}
// Filename aliases
declare module 'boundless-arrow-key-navigation/build/index' {
declare module.exports: $Exports<'boundless-arrow-key-navigation/build'>;
}
declare module 'boundless-arrow-key-navigation/build/index.js' {
declare module.exports: $Exports<'boundless-arrow-key-navigation/build'>;
}
declare module 'boundless-arrow-key-navigation/demo/index' {
declare module.exports: $Exports<'boundless-arrow-key-navigation/demo'>;
}
declare module 'boundless-arrow-key-navigation/demo/index.js' {
declare module.exports: $Exports<'boundless-arrow-key-navigation/demo'>;
}
declare module 'boundless-arrow-key-navigation/index' {
declare module.exports: $Exports<'boundless-arrow-key-navigation'>;
}
declare module 'boundless-arrow-key-navigation/index.js' {
declare module.exports: $Exports<'boundless-arrow-key-navigation'>;
}
declare module 'boundless-arrow-key-navigation/index.spec.js' {
declare module.exports: $Exports<'boundless-arrow-key-navigation/index.spec'>;
}
-58
View File
@@ -1,58 +0,0 @@
// flow-typed signature: 81720de1e8cfea1529815ce45326fdff
// flow-typed version: <<STUB>>/boundless-popover_v^1.0.4/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'boundless-popover'
*
* 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 'boundless-popover' {
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 'boundless-popover/build' {
declare module.exports: any;
}
declare module 'boundless-popover/demo' {
declare module.exports: any;
}
declare module 'boundless-popover/index.spec' {
declare module.exports: any;
}
// Filename aliases
declare module 'boundless-popover/build/index' {
declare module.exports: $Exports<'boundless-popover/build'>;
}
declare module 'boundless-popover/build/index.js' {
declare module.exports: $Exports<'boundless-popover/build'>;
}
declare module 'boundless-popover/demo/index' {
declare module.exports: $Exports<'boundless-popover/demo'>;
}
declare module 'boundless-popover/demo/index.js' {
declare module.exports: $Exports<'boundless-popover/demo'>;
}
declare module 'boundless-popover/index' {
declare module.exports: $Exports<'boundless-popover'>;
}
declare module 'boundless-popover/index.js' {
declare module.exports: $Exports<'boundless-popover'>;
}
declare module 'boundless-popover/index.spec.js' {
declare module.exports: $Exports<'boundless-popover/index.spec'>;
}
-132
View File
@@ -1,132 +0,0 @@
// flow-typed signature: 7ef49570a788f5303976a16379421a35
// flow-typed version: <<STUB>>/bull_v^3.5.2/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'bull'
*
* 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 'bull' {
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 'bull/lib/backoffs' {
declare module.exports: any;
}
declare module 'bull/lib/commands' {
declare module.exports: any;
}
declare module 'bull/lib/errors' {
declare module.exports: any;
}
declare module 'bull/lib/getters' {
declare module.exports: any;
}
declare module 'bull/lib/job' {
declare module.exports: any;
}
declare module 'bull/lib/process/child-pool' {
declare module.exports: any;
}
declare module 'bull/lib/process/master' {
declare module.exports: any;
}
declare module 'bull/lib/process/sandbox' {
declare module.exports: any;
}
declare module 'bull/lib/queue' {
declare module.exports: any;
}
declare module 'bull/lib/repeatable' {
declare module.exports: any;
}
declare module 'bull/lib/scripts' {
declare module.exports: any;
}
declare module 'bull/lib/timer-manager' {
declare module.exports: any;
}
declare module 'bull/lib/utils' {
declare module.exports: any;
}
declare module 'bull/lib/worker' {
declare module.exports: any;
}
// Filename aliases
declare module 'bull/index' {
declare module.exports: $Exports<'bull'>;
}
declare module 'bull/index.js' {
declare module.exports: $Exports<'bull'>;
}
declare module 'bull/lib/backoffs.js' {
declare module.exports: $Exports<'bull/lib/backoffs'>;
}
declare module 'bull/lib/commands/index' {
declare module.exports: $Exports<'bull/lib/commands'>;
}
declare module 'bull/lib/commands/index.js' {
declare module.exports: $Exports<'bull/lib/commands'>;
}
declare module 'bull/lib/errors.js' {
declare module.exports: $Exports<'bull/lib/errors'>;
}
declare module 'bull/lib/getters.js' {
declare module.exports: $Exports<'bull/lib/getters'>;
}
declare module 'bull/lib/job.js' {
declare module.exports: $Exports<'bull/lib/job'>;
}
declare module 'bull/lib/process/child-pool.js' {
declare module.exports: $Exports<'bull/lib/process/child-pool'>;
}
declare module 'bull/lib/process/master.js' {
declare module.exports: $Exports<'bull/lib/process/master'>;
}
declare module 'bull/lib/process/sandbox.js' {
declare module.exports: $Exports<'bull/lib/process/sandbox'>;
}
declare module 'bull/lib/queue.js' {
declare module.exports: $Exports<'bull/lib/queue'>;
}
declare module 'bull/lib/repeatable.js' {
declare module.exports: $Exports<'bull/lib/repeatable'>;
}
declare module 'bull/lib/scripts.js' {
declare module.exports: $Exports<'bull/lib/scripts'>;
}
declare module 'bull/lib/timer-manager.js' {
declare module.exports: $Exports<'bull/lib/timer-manager'>;
}
declare module 'bull/lib/utils.js' {
declare module.exports: $Exports<'bull/lib/utils'>;
}
declare module 'bull/lib/worker.js' {
declare module.exports: $Exports<'bull/lib/worker'>;
}
-33
View File
@@ -1,33 +0,0 @@
// flow-typed signature: 5902d2130f75742810972de490b1bc44
// flow-typed version: <<STUB>>/cancan_v3.1.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'cancan'
*
* 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 'cancan' {
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 'cancan/index' {
declare module.exports: $Exports<'cancan'>;
}
declare module 'cancan/index.js' {
declare module.exports: $Exports<'cancan'>;
}
-18
View File
@@ -1,18 +0,0 @@
// flow-typed signature: 04e310e8c98cdb5de377193da621970b
// flow-typed version: 7fd0a6404e/classnames_v2.x.x/flow_>=v0.25.x
type $npm$classnames$Classes =
| string
| { [className: string]: * }
| Array<string>
| false
| void
| null;
declare module 'classnames' {
declare function exports(...classes: Array<$npm$classnames$Classes>): string;
}
declare module 'classnames/bind' {
declare module.exports: $Exports<'classnames'>;
}
-11
View File
@@ -1,11 +0,0 @@
// flow-typed signature: 350413ab85bd03f3d1450c0ae307d106
// flow-typed version: c6154227d1/copy-to-clipboard_v3.x.x/flow_>=v0.104.x
declare module 'copy-to-clipboard' {
declare export type Options = {|
debug?: boolean,
message?: string,
|};
declare module.exports: (text: string, options?: Options) => boolean;
}
-12113
View File
File diff suppressed because it is too large Load Diff
-30
View File
@@ -1,30 +0,0 @@
// flow-typed signature: c7b1e1d8d9c2230d131299ddc21dcb0e
// flow-typed version: da30fe6876/debug_v2.x.x/flow_>=v0.28.x
declare module "debug" {
declare type Debugger = {
(...args: Array<mixed>): void,
(formatter: string, ...args: Array<mixed>): void,
(err: Error, ...args: Array<mixed>): void,
enabled: boolean,
log: () => {},
namespace: string
};
declare module.exports: (namespace: string) => Debugger;
declare var names: Array<string>;
declare var skips: Array<string>;
declare var colors: Array<number>;
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]: () => {}
};
}
-63
View File
@@ -1,63 +0,0 @@
// flow-typed signature: f4912858ca837a6d9d9172650118f223
// flow-typed version: <<STUB>>/debug_v^4.1.1/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'debug'
*
* 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 'debug' {
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 'debug/dist/debug' {
declare module.exports: any;
}
declare module 'debug/src/browser' {
declare module.exports: any;
}
declare module 'debug/src/common' {
declare module.exports: any;
}
declare module 'debug/src' {
declare module.exports: any;
}
declare module 'debug/src/node' {
declare module.exports: any;
}
// Filename aliases
declare module 'debug/dist/debug.js' {
declare module.exports: $Exports<'debug/dist/debug'>;
}
declare module 'debug/src/browser.js' {
declare module.exports: $Exports<'debug/src/browser'>;
}
declare module 'debug/src/common.js' {
declare module.exports: $Exports<'debug/src/common'>;
}
declare module 'debug/src/index' {
declare module.exports: $Exports<'debug/src'>;
}
declare module 'debug/src/index.js' {
declare module.exports: $Exports<'debug/src'>;
}
declare module 'debug/src/node.js' {
declare module.exports: $Exports<'debug/src/node'>;
}
-172
View File
@@ -1,172 +0,0 @@
// flow-typed signature: 0f5b991da0eab55a46333d265138ba11
// flow-typed version: <<STUB>>/diff_v3.5.0/flow_v0.71.0
/**
* This is an autogenerated libdef stub for:
*
* 'diff'
*
* 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 'diff' {
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 'diff/dist/diff' {
declare module.exports: any;
}
declare module 'diff/dist/diff.min' {
declare module.exports: any;
}
declare module 'diff/lib/convert/dmp' {
declare module.exports: any;
}
declare module 'diff/lib/convert/xml' {
declare module.exports: any;
}
declare module 'diff/lib/diff/array' {
declare module.exports: any;
}
declare module 'diff/lib/diff/base' {
declare module.exports: any;
}
declare module 'diff/lib/diff/character' {
declare module.exports: any;
}
declare module 'diff/lib/diff/css' {
declare module.exports: any;
}
declare module 'diff/lib/diff/json' {
declare module.exports: any;
}
declare module 'diff/lib/diff/line' {
declare module.exports: any;
}
declare module 'diff/lib/diff/sentence' {
declare module.exports: any;
}
declare module 'diff/lib/diff/word' {
declare module.exports: any;
}
declare module 'diff/lib/index' {
declare module.exports: any;
}
declare module 'diff/lib/patch/apply' {
declare module.exports: any;
}
declare module 'diff/lib/patch/create' {
declare module.exports: any;
}
declare module 'diff/lib/patch/merge' {
declare module.exports: any;
}
declare module 'diff/lib/patch/parse' {
declare module.exports: any;
}
declare module 'diff/lib/util/array' {
declare module.exports: any;
}
declare module 'diff/lib/util/distance-iterator' {
declare module.exports: any;
}
declare module 'diff/lib/util/params' {
declare module.exports: any;
}
declare module 'diff/runtime' {
declare module.exports: any;
}
// Filename aliases
declare module 'diff/dist/diff.js' {
declare module.exports: $Exports<'diff/dist/diff'>;
}
declare module 'diff/dist/diff.min.js' {
declare module.exports: $Exports<'diff/dist/diff.min'>;
}
declare module 'diff/lib/convert/dmp.js' {
declare module.exports: $Exports<'diff/lib/convert/dmp'>;
}
declare module 'diff/lib/convert/xml.js' {
declare module.exports: $Exports<'diff/lib/convert/xml'>;
}
declare module 'diff/lib/diff/array.js' {
declare module.exports: $Exports<'diff/lib/diff/array'>;
}
declare module 'diff/lib/diff/base.js' {
declare module.exports: $Exports<'diff/lib/diff/base'>;
}
declare module 'diff/lib/diff/character.js' {
declare module.exports: $Exports<'diff/lib/diff/character'>;
}
declare module 'diff/lib/diff/css.js' {
declare module.exports: $Exports<'diff/lib/diff/css'>;
}
declare module 'diff/lib/diff/json.js' {
declare module.exports: $Exports<'diff/lib/diff/json'>;
}
declare module 'diff/lib/diff/line.js' {
declare module.exports: $Exports<'diff/lib/diff/line'>;
}
declare module 'diff/lib/diff/sentence.js' {
declare module.exports: $Exports<'diff/lib/diff/sentence'>;
}
declare module 'diff/lib/diff/word.js' {
declare module.exports: $Exports<'diff/lib/diff/word'>;
}
declare module 'diff/lib/index.js' {
declare module.exports: $Exports<'diff/lib/index'>;
}
declare module 'diff/lib/patch/apply.js' {
declare module.exports: $Exports<'diff/lib/patch/apply'>;
}
declare module 'diff/lib/patch/create.js' {
declare module.exports: $Exports<'diff/lib/patch/create'>;
}
declare module 'diff/lib/patch/merge.js' {
declare module.exports: $Exports<'diff/lib/patch/merge'>;
}
declare module 'diff/lib/patch/parse.js' {
declare module.exports: $Exports<'diff/lib/patch/parse'>;
}
declare module 'diff/lib/util/array.js' {
declare module.exports: $Exports<'diff/lib/util/array'>;
}
declare module 'diff/lib/util/distance-iterator.js' {
declare module.exports: $Exports<'diff/lib/util/distance-iterator'>;
}
declare module 'diff/lib/util/params.js' {
declare module.exports: $Exports<'diff/lib/util/params'>;
}
declare module 'diff/runtime.js' {
declare module.exports: $Exports<'diff/runtime'>;
}
-19
View File
@@ -1,19 +0,0 @@
// flow-typed signature: c7992a5788422caaab5074361a292df3
// flow-typed version: c6154227d1/dotenv_v4.x.x/flow_>=v0.104.x
declare module "dotenv" {
declare type DotenvOptions = {
encoding?: string,
path?: string,
...
};
declare function config(options?: DotenvOptions): boolean;
declare module.exports: {
config: typeof config,
load: typeof config,
parse: (src: string | Buffer) => { [string]: string, ... },
...
}
}
-32
View File
@@ -1,32 +0,0 @@
// flow-typed signature: 888162d35c5fa47c9c59847ba9874bd9
// flow-typed version: <<STUB>>/emoji-name-map_v1.1.2/flow_v0.49.1
/**
* This is an autogenerated libdef stub for:
*
* 'emoji-name-map'
*
* 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-name-map' {
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-name-map/lib/index' {
declare module.exports: any;
}
// Filename aliases
declare module 'emoji-name-map/lib/index.js' {
declare module.exports: $Exports<'emoji-name-map/lib/index'>;
}
-55
View File
@@ -1,55 +0,0 @@
// flow-typed signature: df3a77883deb7981fa0bc043d8bd64b5
// flow-typed version: <<STUB>>/emoji-regex_v^6.5.1/flow_v0.104.0
/**
* 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' {
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' {
declare module.exports: $Exports<'emoji-regex/es2015'>;
}
declare module 'emoji-regex/es2015/index.js' {
declare module.exports: $Exports<'emoji-regex/es2015'>;
}
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'>;
}
-74
View File
@@ -1,74 +0,0 @@
// flow-typed signature: b3402ec9029514be297b23c7a794f1ea
// flow-typed version: <<STUB>>/enzyme-to-json_v^1.5.1/flow_v0.86.0
/**
* This is an autogenerated libdef stub for:
*
* 'enzyme-to-json'
*
* 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 'enzyme-to-json' {
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 'enzyme-to-json/build/index' {
declare module.exports: any;
}
declare module 'enzyme-to-json/build/mount' {
declare module.exports: any;
}
declare module 'enzyme-to-json/build/render' {
declare module.exports: any;
}
declare module 'enzyme-to-json/build/serializer' {
declare module.exports: any;
}
declare module 'enzyme-to-json/build/shallow' {
declare module.exports: any;
}
declare module 'enzyme-to-json/build/utils' {
declare module.exports: any;
}
declare module 'enzyme-to-json/serializer' {
declare module.exports: any;
}
// Filename aliases
declare module 'enzyme-to-json/build/index.js' {
declare module.exports: $Exports<'enzyme-to-json/build/index'>;
}
declare module 'enzyme-to-json/build/mount.js' {
declare module.exports: $Exports<'enzyme-to-json/build/mount'>;
}
declare module 'enzyme-to-json/build/render.js' {
declare module.exports: $Exports<'enzyme-to-json/build/render'>;
}
declare module 'enzyme-to-json/build/serializer.js' {
declare module.exports: $Exports<'enzyme-to-json/build/serializer'>;
}
declare module 'enzyme-to-json/build/shallow.js' {
declare module.exports: $Exports<'enzyme-to-json/build/shallow'>;
}
declare module 'enzyme-to-json/build/utils.js' {
declare module.exports: $Exports<'enzyme-to-json/build/utils'>;
}
declare module 'enzyme-to-json/serializer.js' {
declare module.exports: $Exports<'enzyme-to-json/serializer'>;
}
-110
View File
@@ -1,110 +0,0 @@
// flow-typed signature: ac18e8756b9f77851123c33e78aaa670
// flow-typed version: 792f604e07/enzyme_v2.3.x/flow_>=v0.53.x
import * as React from "react";
declare module "enzyme" {
declare type PredicateFunction<T: Wrapper> = (
wrapper: T,
index: number
) => boolean;
declare type NodeOrNodes = React.Node | Array<React.Node>;
declare type EnzymeSelector = string | Class<React.Component<*, *>> | Object;
// CheerioWrapper is a type alias for an actual cheerio instance
// TODO: Reference correct type from cheerio's type declarations
declare type CheerioWrapper = any;
declare class Wrapper {
find(selector: EnzymeSelector): this,
findWhere(predicate: PredicateFunction<this>): this,
filter(selector: EnzymeSelector): this,
filterWhere(predicate: PredicateFunction<this>): this,
contains(nodeOrNodes: NodeOrNodes): boolean,
containsMatchingElement(node: React.Node): boolean,
containsAllMatchingElements(nodes: NodeOrNodes): boolean,
containsAnyMatchingElements(nodes: NodeOrNodes): boolean,
dive(option?: { context?: Object }): this,
exists(): boolean,
matchesElement(node: React.Node): boolean,
hasClass(className: string): boolean,
is(selector: EnzymeSelector): boolean,
isEmpty(): boolean,
not(selector: EnzymeSelector): this,
children(selector?: EnzymeSelector): this,
childAt(index: number): this,
parents(selector?: EnzymeSelector): this,
parent(): this,
closest(selector: EnzymeSelector): this,
render(): CheerioWrapper,
unmount(): this,
text(): string,
html(): string,
get(index: number): React.Node,
getNode(): React.Node,
getNodes(): Array<React.Node>,
getDOMNode(): HTMLElement | HTMLInputElement,
at(index: number): this,
first(): this,
last(): this,
state(key?: string): any,
context(key?: string): any,
props(): Object,
prop(key: string): any,
key(): string,
simulate(event: string, ...args: Array<any>): this,
setState(state: {}, callback?: Function): this,
setProps(props: {}): this,
setContext(context: Object): this,
instance(): React.Component<*, *>,
update(): this,
debug(options?: Object): string,
type(): string | Function | null,
name(): string,
forEach(fn: (node: this, index: number) => mixed): this,
map<T>(fn: (node: this, index: number) => T): Array<T>,
reduce<T>(
fn: (value: T, node: this, index: number) => T,
initialValue?: T
): Array<T>,
reduceRight<T>(
fn: (value: T, node: this, index: number) => T,
initialValue?: T
): Array<T>,
some(selector: EnzymeSelector): boolean,
someWhere(predicate: PredicateFunction<this>): boolean,
every(selector: EnzymeSelector): boolean,
everyWhere(predicate: PredicateFunction<this>): boolean,
length: number
}
declare export class ReactWrapper extends Wrapper {
constructor(nodes: NodeOrNodes, root: any, options?: ?Object): ReactWrapper,
mount(): this,
ref(refName: string): this,
detach(): void
}
declare export class ShallowWrapper extends Wrapper {
constructor(nodes: NodeOrNodes, root: any, options?: ?Object): ShallowWrapper;
equals(node: React.Node): boolean,
shallow(options?: { context?: Object }): ShallowWrapper
}
declare export function shallow(
node: React.Node,
options?: { context?: Object }
): ShallowWrapper;
declare export function mount(
node: React.Node,
options?: {
context?: Object,
attachTo?: HTMLElement,
childContextTypes?: Object
}
): ReactWrapper;
declare export function render(
node: React.Node,
options?: { context?: Object }
): CheerioWrapper;
}
-8
View File
@@ -1,8 +0,0 @@
// flow-typed signature: fb6c19e75f6c1cada215733df2146fb4
// flow-typed version: c6154227d1/es6-error_v4.x.x/flow_>=v0.104.x
declare module "es6-error" {
declare class ExtendableError extends Error {}
declare module.exports: Class<ExtendableError>;
}
-33
View File
@@ -1,33 +0,0 @@
// flow-typed signature: 7f77c2edc8b756479f7e2371d7c4b228
// flow-typed version: <<STUB>>/exports-loader_v^0.6.4/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'exports-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 'exports-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 'exports-loader/index' {
declare module.exports: $Exports<'exports-loader'>;
}
declare module 'exports-loader/index.js' {
declare module.exports: $Exports<'exports-loader'>;
}
-59
View File
@@ -1,59 +0,0 @@
// flow-typed signature: 81f85c5fc3eb62a3d795e2e4240e438b
// flow-typed version: <<STUB>>/fbemitter_v^2.1.1/flow_v0.86.0
/**
* This is an autogenerated libdef stub for:
*
* 'fbemitter'
*
* 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 'fbemitter' {
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 'fbemitter/lib/BaseEventEmitter' {
declare module.exports: any;
}
declare module 'fbemitter/lib/EmitterSubscription' {
declare module.exports: any;
}
declare module 'fbemitter/lib/EventSubscription' {
declare module.exports: any;
}
declare module 'fbemitter/lib/EventSubscriptionVendor' {
declare module.exports: any;
}
// Filename aliases
declare module 'fbemitter/index' {
declare module.exports: $Exports<'fbemitter'>;
}
declare module 'fbemitter/index.js' {
declare module.exports: $Exports<'fbemitter'>;
}
declare module 'fbemitter/lib/BaseEventEmitter.js' {
declare module.exports: $Exports<'fbemitter/lib/BaseEventEmitter'>;
}
declare module 'fbemitter/lib/EmitterSubscription.js' {
declare module.exports: $Exports<'fbemitter/lib/EmitterSubscription'>;
}
declare module 'fbemitter/lib/EventSubscription.js' {
declare module.exports: $Exports<'fbemitter/lib/EventSubscription'>;
}
declare module 'fbemitter/lib/EventSubscriptionVendor.js' {
declare module.exports: $Exports<'fbemitter/lib/EventSubscriptionVendor'>;
}
-38
View File
@@ -1,38 +0,0 @@
// flow-typed signature: fd79abf9204bd3942136fbfa0c3bf593
// flow-typed version: <<STUB>>/fetch-test-server_v^1.1.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'fetch-test-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 'fetch-test-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 'fetch-test-server/index.test' {
declare module.exports: any;
}
// Filename aliases
declare module 'fetch-test-server/index' {
declare module.exports: $Exports<'fetch-test-server'>;
}
declare module 'fetch-test-server/index.js' {
declare module.exports: $Exports<'fetch-test-server'>;
}
declare module 'fetch-test-server/index.test.js' {
declare module.exports: $Exports<'fetch-test-server/index.test'>;
}
-42
View File
@@ -1,42 +0,0 @@
// flow-typed signature: 389b04885ba2dbe4e714eb3239dc69c5
// flow-typed version: <<STUB>>/file-loader_v^1.1.6/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'file-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 'file-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 'file-loader/dist/cjs' {
declare module.exports: any;
}
declare module 'file-loader/dist' {
declare module.exports: any;
}
// Filename aliases
declare module 'file-loader/dist/cjs.js' {
declare module.exports: $Exports<'file-loader/dist/cjs'>;
}
declare module 'file-loader/dist/index' {
declare module.exports: $Exports<'file-loader/dist'>;
}
declare module 'file-loader/dist/index.js' {
declare module.exports: $Exports<'file-loader/dist'>;
}
-6
View File
@@ -1,6 +0,0 @@
// flow-typed signature: 28fdff7f110e1c75efab63ff205dda30
// flow-typed version: c6154227d1/flow-bin_v0.x.x/flow_>=v0.104.x
declare module "flow-bin" {
declare module.exports: string;
}
-186
View File
@@ -1,186 +0,0 @@
// flow-typed signature: df008259d10274c7a94e4594987cc45f
// flow-typed version: <<STUB>>/flow-typed_v^2.6.2/flow_v0.104.0
/**
* 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/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/ValidationError' {
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/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/ValidationError.js' {
declare module.exports: $Exports<'flow-typed/dist/lib/ValidationError'>;
}
-288
View File
@@ -1,288 +0,0 @@
// flow-typed signature: 8b530e0b1f13683525714d91fcfbe41f
// flow-typed version: <<STUB>>/fs-extra_v^4.0.2/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'fs-extra'
*
* 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 'fs-extra' {
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 'fs-extra/lib/copy-sync/copy-file-sync' {
declare module.exports: any;
}
declare module 'fs-extra/lib/copy-sync/copy-sync' {
declare module.exports: any;
}
declare module 'fs-extra/lib/copy-sync' {
declare module.exports: any;
}
declare module 'fs-extra/lib/copy/copy' {
declare module.exports: any;
}
declare module 'fs-extra/lib/copy' {
declare module.exports: any;
}
declare module 'fs-extra/lib/copy/ncp' {
declare module.exports: any;
}
declare module 'fs-extra/lib/empty' {
declare module.exports: any;
}
declare module 'fs-extra/lib/ensure/file' {
declare module.exports: any;
}
declare module 'fs-extra/lib/ensure' {
declare module.exports: any;
}
declare module 'fs-extra/lib/ensure/link' {
declare module.exports: any;
}
declare module 'fs-extra/lib/ensure/symlink-paths' {
declare module.exports: any;
}
declare module 'fs-extra/lib/ensure/symlink-type' {
declare module.exports: any;
}
declare module 'fs-extra/lib/ensure/symlink' {
declare module.exports: any;
}
declare module 'fs-extra/lib/fs' {
declare module.exports: any;
}
declare module 'fs-extra/lib' {
declare module.exports: any;
}
declare module 'fs-extra/lib/json' {
declare module.exports: any;
}
declare module 'fs-extra/lib/json/jsonfile' {
declare module.exports: any;
}
declare module 'fs-extra/lib/json/output-json-sync' {
declare module.exports: any;
}
declare module 'fs-extra/lib/json/output-json' {
declare module.exports: any;
}
declare module 'fs-extra/lib/mkdirs' {
declare module.exports: any;
}
declare module 'fs-extra/lib/mkdirs/mkdirs-sync' {
declare module.exports: any;
}
declare module 'fs-extra/lib/mkdirs/mkdirs' {
declare module.exports: any;
}
declare module 'fs-extra/lib/mkdirs/win32' {
declare module.exports: any;
}
declare module 'fs-extra/lib/move-sync' {
declare module.exports: any;
}
declare module 'fs-extra/lib/move' {
declare module.exports: any;
}
declare module 'fs-extra/lib/output' {
declare module.exports: any;
}
declare module 'fs-extra/lib/path-exists' {
declare module.exports: any;
}
declare module 'fs-extra/lib/remove' {
declare module.exports: any;
}
declare module 'fs-extra/lib/remove/rimraf' {
declare module.exports: any;
}
declare module 'fs-extra/lib/util/assign' {
declare module.exports: any;
}
declare module 'fs-extra/lib/util/buffer' {
declare module.exports: any;
}
declare module 'fs-extra/lib/util/utimes' {
declare module.exports: any;
}
// Filename aliases
declare module 'fs-extra/lib/copy-sync/copy-file-sync.js' {
declare module.exports: $Exports<'fs-extra/lib/copy-sync/copy-file-sync'>;
}
declare module 'fs-extra/lib/copy-sync/copy-sync.js' {
declare module.exports: $Exports<'fs-extra/lib/copy-sync/copy-sync'>;
}
declare module 'fs-extra/lib/copy-sync/index' {
declare module.exports: $Exports<'fs-extra/lib/copy-sync'>;
}
declare module 'fs-extra/lib/copy-sync/index.js' {
declare module.exports: $Exports<'fs-extra/lib/copy-sync'>;
}
declare module 'fs-extra/lib/copy/copy.js' {
declare module.exports: $Exports<'fs-extra/lib/copy/copy'>;
}
declare module 'fs-extra/lib/copy/index' {
declare module.exports: $Exports<'fs-extra/lib/copy'>;
}
declare module 'fs-extra/lib/copy/index.js' {
declare module.exports: $Exports<'fs-extra/lib/copy'>;
}
declare module 'fs-extra/lib/copy/ncp.js' {
declare module.exports: $Exports<'fs-extra/lib/copy/ncp'>;
}
declare module 'fs-extra/lib/empty/index' {
declare module.exports: $Exports<'fs-extra/lib/empty'>;
}
declare module 'fs-extra/lib/empty/index.js' {
declare module.exports: $Exports<'fs-extra/lib/empty'>;
}
declare module 'fs-extra/lib/ensure/file.js' {
declare module.exports: $Exports<'fs-extra/lib/ensure/file'>;
}
declare module 'fs-extra/lib/ensure/index' {
declare module.exports: $Exports<'fs-extra/lib/ensure'>;
}
declare module 'fs-extra/lib/ensure/index.js' {
declare module.exports: $Exports<'fs-extra/lib/ensure'>;
}
declare module 'fs-extra/lib/ensure/link.js' {
declare module.exports: $Exports<'fs-extra/lib/ensure/link'>;
}
declare module 'fs-extra/lib/ensure/symlink-paths.js' {
declare module.exports: $Exports<'fs-extra/lib/ensure/symlink-paths'>;
}
declare module 'fs-extra/lib/ensure/symlink-type.js' {
declare module.exports: $Exports<'fs-extra/lib/ensure/symlink-type'>;
}
declare module 'fs-extra/lib/ensure/symlink.js' {
declare module.exports: $Exports<'fs-extra/lib/ensure/symlink'>;
}
declare module 'fs-extra/lib/fs/index' {
declare module.exports: $Exports<'fs-extra/lib/fs'>;
}
declare module 'fs-extra/lib/fs/index.js' {
declare module.exports: $Exports<'fs-extra/lib/fs'>;
}
declare module 'fs-extra/lib/index' {
declare module.exports: $Exports<'fs-extra/lib'>;
}
declare module 'fs-extra/lib/index.js' {
declare module.exports: $Exports<'fs-extra/lib'>;
}
declare module 'fs-extra/lib/json/index' {
declare module.exports: $Exports<'fs-extra/lib/json'>;
}
declare module 'fs-extra/lib/json/index.js' {
declare module.exports: $Exports<'fs-extra/lib/json'>;
}
declare module 'fs-extra/lib/json/jsonfile.js' {
declare module.exports: $Exports<'fs-extra/lib/json/jsonfile'>;
}
declare module 'fs-extra/lib/json/output-json-sync.js' {
declare module.exports: $Exports<'fs-extra/lib/json/output-json-sync'>;
}
declare module 'fs-extra/lib/json/output-json.js' {
declare module.exports: $Exports<'fs-extra/lib/json/output-json'>;
}
declare module 'fs-extra/lib/mkdirs/index' {
declare module.exports: $Exports<'fs-extra/lib/mkdirs'>;
}
declare module 'fs-extra/lib/mkdirs/index.js' {
declare module.exports: $Exports<'fs-extra/lib/mkdirs'>;
}
declare module 'fs-extra/lib/mkdirs/mkdirs-sync.js' {
declare module.exports: $Exports<'fs-extra/lib/mkdirs/mkdirs-sync'>;
}
declare module 'fs-extra/lib/mkdirs/mkdirs.js' {
declare module.exports: $Exports<'fs-extra/lib/mkdirs/mkdirs'>;
}
declare module 'fs-extra/lib/mkdirs/win32.js' {
declare module.exports: $Exports<'fs-extra/lib/mkdirs/win32'>;
}
declare module 'fs-extra/lib/move-sync/index' {
declare module.exports: $Exports<'fs-extra/lib/move-sync'>;
}
declare module 'fs-extra/lib/move-sync/index.js' {
declare module.exports: $Exports<'fs-extra/lib/move-sync'>;
}
declare module 'fs-extra/lib/move/index' {
declare module.exports: $Exports<'fs-extra/lib/move'>;
}
declare module 'fs-extra/lib/move/index.js' {
declare module.exports: $Exports<'fs-extra/lib/move'>;
}
declare module 'fs-extra/lib/output/index' {
declare module.exports: $Exports<'fs-extra/lib/output'>;
}
declare module 'fs-extra/lib/output/index.js' {
declare module.exports: $Exports<'fs-extra/lib/output'>;
}
declare module 'fs-extra/lib/path-exists/index' {
declare module.exports: $Exports<'fs-extra/lib/path-exists'>;
}
declare module 'fs-extra/lib/path-exists/index.js' {
declare module.exports: $Exports<'fs-extra/lib/path-exists'>;
}
declare module 'fs-extra/lib/remove/index' {
declare module.exports: $Exports<'fs-extra/lib/remove'>;
}
declare module 'fs-extra/lib/remove/index.js' {
declare module.exports: $Exports<'fs-extra/lib/remove'>;
}
declare module 'fs-extra/lib/remove/rimraf.js' {
declare module.exports: $Exports<'fs-extra/lib/remove/rimraf'>;
}
declare module 'fs-extra/lib/util/assign.js' {
declare module.exports: $Exports<'fs-extra/lib/util/assign'>;
}
declare module 'fs-extra/lib/util/buffer.js' {
declare module.exports: $Exports<'fs-extra/lib/util/buffer'>;
}
declare module 'fs-extra/lib/util/utimes.js' {
declare module.exports: $Exports<'fs-extra/lib/util/utimes'>;
}
-161
View File
@@ -1,161 +0,0 @@
// flow-typed signature: cb42a60ec13995444fb6e5202fef8698
// flow-typed version: <<STUB>>/google-auth-library_v^5.5.1/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'google-auth-library'
*
* 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 'google-auth-library' {
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 'google-auth-library/build/src/auth/authclient' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/computeclient' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/credentials' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/envDetect' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/googleauth' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/iam' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/idtokenclient' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/jwtaccess' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/jwtclient' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/loginticket' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/oauth2client' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/auth/refreshclient' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/crypto/browser/crypto' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/crypto/crypto' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/crypto/node/crypto' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/messages' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/options' {
declare module.exports: any;
}
declare module 'google-auth-library/build/src/transporters' {
declare module.exports: any;
}
// Filename aliases
declare module 'google-auth-library/build/src/auth/authclient.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/authclient'>;
}
declare module 'google-auth-library/build/src/auth/computeclient.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/computeclient'>;
}
declare module 'google-auth-library/build/src/auth/credentials.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/credentials'>;
}
declare module 'google-auth-library/build/src/auth/envDetect.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/envDetect'>;
}
declare module 'google-auth-library/build/src/auth/googleauth.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/googleauth'>;
}
declare module 'google-auth-library/build/src/auth/iam.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/iam'>;
}
declare module 'google-auth-library/build/src/auth/idtokenclient.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/idtokenclient'>;
}
declare module 'google-auth-library/build/src/auth/jwtaccess.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/jwtaccess'>;
}
declare module 'google-auth-library/build/src/auth/jwtclient.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/jwtclient'>;
}
declare module 'google-auth-library/build/src/auth/loginticket.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/loginticket'>;
}
declare module 'google-auth-library/build/src/auth/oauth2client.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/oauth2client'>;
}
declare module 'google-auth-library/build/src/auth/refreshclient.js' {
declare module.exports: $Exports<'google-auth-library/build/src/auth/refreshclient'>;
}
declare module 'google-auth-library/build/src/crypto/browser/crypto.js' {
declare module.exports: $Exports<'google-auth-library/build/src/crypto/browser/crypto'>;
}
declare module 'google-auth-library/build/src/crypto/crypto.js' {
declare module.exports: $Exports<'google-auth-library/build/src/crypto/crypto'>;
}
declare module 'google-auth-library/build/src/crypto/node/crypto.js' {
declare module.exports: $Exports<'google-auth-library/build/src/crypto/node/crypto'>;
}
declare module 'google-auth-library/build/src/index' {
declare module.exports: $Exports<'google-auth-library/build/src'>;
}
declare module 'google-auth-library/build/src/index.js' {
declare module.exports: $Exports<'google-auth-library/build/src'>;
}
declare module 'google-auth-library/build/src/messages.js' {
declare module.exports: $Exports<'google-auth-library/build/src/messages'>;
}
declare module 'google-auth-library/build/src/options.js' {
declare module.exports: $Exports<'google-auth-library/build/src/options'>;
}
declare module 'google-auth-library/build/src/transporters.js' {
declare module.exports: $Exports<'google-auth-library/build/src/transporters'>;
}
File diff suppressed because it is too large Load Diff
-172
View File
@@ -1,172 +0,0 @@
// flow-typed signature: 6d6386ebbd509cfc7d51131368611342
// flow-typed version: <<STUB>>/history_v3.0.0/flow_v0.86.0
/**
* 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/lib/Actions' {
declare module.exports: any;
}
declare module 'history/lib/AsyncUtils' {
declare module.exports: any;
}
declare module 'history/lib/BrowserProtocol' {
declare module.exports: any;
}
declare module 'history/lib/createBrowserHistory' {
declare module.exports: any;
}
declare module 'history/lib/createHashHistory' {
declare module.exports: any;
}
declare module 'history/lib/createHistory' {
declare module.exports: any;
}
declare module 'history/lib/createMemoryHistory' {
declare module.exports: any;
}
declare module 'history/lib/DOMStateStorage' {
declare module.exports: any;
}
declare module 'history/lib/DOMUtils' {
declare module.exports: any;
}
declare module 'history/lib/ExecutionEnvironment' {
declare module.exports: any;
}
declare module 'history/lib/HashProtocol' {
declare module.exports: any;
}
declare module 'history/lib/index' {
declare module.exports: any;
}
declare module 'history/lib/LocationUtils' {
declare module.exports: any;
}
declare module 'history/lib/PathUtils' {
declare module.exports: any;
}
declare module 'history/lib/RefreshProtocol' {
declare module.exports: any;
}
declare module 'history/lib/runTransitionHook' {
declare module.exports: any;
}
declare module 'history/lib/useBasename' {
declare module.exports: any;
}
declare module 'history/lib/useBeforeUnload' {
declare module.exports: any;
}
declare module 'history/lib/useQueries' {
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/lib/Actions.js' {
declare module.exports: $Exports<'history/lib/Actions'>;
}
declare module 'history/lib/AsyncUtils.js' {
declare module.exports: $Exports<'history/lib/AsyncUtils'>;
}
declare module 'history/lib/BrowserProtocol.js' {
declare module.exports: $Exports<'history/lib/BrowserProtocol'>;
}
declare module 'history/lib/createBrowserHistory.js' {
declare module.exports: $Exports<'history/lib/createBrowserHistory'>;
}
declare module 'history/lib/createHashHistory.js' {
declare module.exports: $Exports<'history/lib/createHashHistory'>;
}
declare module 'history/lib/createHistory.js' {
declare module.exports: $Exports<'history/lib/createHistory'>;
}
declare module 'history/lib/createMemoryHistory.js' {
declare module.exports: $Exports<'history/lib/createMemoryHistory'>;
}
declare module 'history/lib/DOMStateStorage.js' {
declare module.exports: $Exports<'history/lib/DOMStateStorage'>;
}
declare module 'history/lib/DOMUtils.js' {
declare module.exports: $Exports<'history/lib/DOMUtils'>;
}
declare module 'history/lib/ExecutionEnvironment.js' {
declare module.exports: $Exports<'history/lib/ExecutionEnvironment'>;
}
declare module 'history/lib/HashProtocol.js' {
declare module.exports: $Exports<'history/lib/HashProtocol'>;
}
declare module 'history/lib/index.js' {
declare module.exports: $Exports<'history/lib/index'>;
}
declare module 'history/lib/LocationUtils.js' {
declare module.exports: $Exports<'history/lib/LocationUtils'>;
}
declare module 'history/lib/PathUtils.js' {
declare module.exports: $Exports<'history/lib/PathUtils'>;
}
declare module 'history/lib/RefreshProtocol.js' {
declare module.exports: $Exports<'history/lib/RefreshProtocol'>;
}
declare module 'history/lib/runTransitionHook.js' {
declare module.exports: $Exports<'history/lib/runTransitionHook'>;
}
declare module 'history/lib/useBasename.js' {
declare module.exports: $Exports<'history/lib/useBasename'>;
}
declare module 'history/lib/useBeforeUnload.js' {
declare module.exports: $Exports<'history/lib/useBeforeUnload'>;
}
declare module 'history/lib/useQueries.js' {
declare module.exports: $Exports<'history/lib/useQueries'>;
}
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'>;
}
-59
View File
@@ -1,59 +0,0 @@
// flow-typed signature: 4d98528e36955997d0b4fff3e5b5212f
// flow-typed version: <<STUB>>/html-webpack-plugin_v3.2.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'html-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 'html-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 'html-webpack-plugin/lib/chunksorter' {
declare module.exports: any;
}
declare module 'html-webpack-plugin/lib/compiler' {
declare module.exports: any;
}
declare module 'html-webpack-plugin/lib/errors' {
declare module.exports: any;
}
declare module 'html-webpack-plugin/lib/loader' {
declare module.exports: any;
}
// Filename aliases
declare module 'html-webpack-plugin/index' {
declare module.exports: $Exports<'html-webpack-plugin'>;
}
declare module 'html-webpack-plugin/index.js' {
declare module.exports: $Exports<'html-webpack-plugin'>;
}
declare module 'html-webpack-plugin/lib/chunksorter.js' {
declare module.exports: $Exports<'html-webpack-plugin/lib/chunksorter'>;
}
declare module 'html-webpack-plugin/lib/compiler.js' {
declare module.exports: $Exports<'html-webpack-plugin/lib/compiler'>;
}
declare module 'html-webpack-plugin/lib/errors.js' {
declare module.exports: $Exports<'html-webpack-plugin/lib/errors'>;
}
declare module 'html-webpack-plugin/lib/loader.js' {
declare module.exports: $Exports<'html-webpack-plugin/lib/loader'>;
}
-60
View File
@@ -1,60 +0,0 @@
// flow-typed signature: 6ff0546e3438a4dd0c7cc8a4c32840d2
// flow-typed version: c6154227d1/http-errors_v1.x.x/flow_>=v0.104.x
declare module 'http-errors' {
declare class SpecialHttpError extends HttpError {
constructor(message?: string): SpecialHttpError;
}
declare class HttpError extends Error {
expose: bool;
message: string;
status: number;
statusCode: number;
}
declare module.exports: {
(status?: number, message?: string, props?: Object): HttpError,
HttpError: typeof HttpError,
BadRequest: typeof SpecialHttpError,
Unauthorized: typeof SpecialHttpError,
PaymentRequired: typeof SpecialHttpError,
Forbidden: typeof SpecialHttpError,
NotFound: typeof SpecialHttpError,
MethodNotAllowed: typeof SpecialHttpError,
NotAcceptable: typeof SpecialHttpError,
ProxyAuthenticationRequired: typeof SpecialHttpError,
RequestTimeout: typeof SpecialHttpError,
Conflict: typeof SpecialHttpError,
Gone: typeof SpecialHttpError,
LengthRequired: typeof SpecialHttpError,
PreconditionFailed: typeof SpecialHttpError,
PayloadTooLarge: typeof SpecialHttpError,
URITooLong: typeof SpecialHttpError,
UnsupportedMediaType: typeof SpecialHttpError,
RangeNotStatisfiable: typeof SpecialHttpError,
ExpectationFailed: typeof SpecialHttpError,
ImATeapot: typeof SpecialHttpError,
MisdirectedRequest: typeof SpecialHttpError,
UnprocessableEntity: typeof SpecialHttpError,
Locked: typeof SpecialHttpError,
FailedDependency: typeof SpecialHttpError,
UnorderedCollection: typeof SpecialHttpError,
UpgradeRequired: typeof SpecialHttpError,
PreconditionRequired: typeof SpecialHttpError,
TooManyRequests: typeof SpecialHttpError,
RequestHeaderFieldsTooLarge: typeof SpecialHttpError,
UnavailableForLegalReasons: typeof SpecialHttpError,
InternalServerError: typeof SpecialHttpError,
NotImplemented: typeof SpecialHttpError,
BadGateway: typeof SpecialHttpError,
ServiceUnavailable: typeof SpecialHttpError,
GatewayTimeout: typeof SpecialHttpError,
HTTPVersionNotSupported: typeof SpecialHttpError,
VariantAlsoNegotiates: typeof SpecialHttpError,
InsufficientStorage: typeof SpecialHttpError,
LoopDetected: typeof SpecialHttpError,
BandwidthLimitExceeded: typeof SpecialHttpError,
NotExtended: typeof SpecialHttpError,
NetworkAuthenticationRequired: typeof SpecialHttpError,
...
}
}
-33
View File
@@ -1,33 +0,0 @@
// flow-typed signature: c54fce38f9051b27ef203077dc737a0b
// flow-typed version: <<STUB>>/imports-loader_v0.6.5/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'imports-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 'imports-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 'imports-loader/index' {
declare module.exports: $Exports<'imports-loader'>;
}
declare module 'imports-loader/index.js' {
declare module.exports: $Exports<'imports-loader'>;
}
-6
View File
@@ -1,6 +0,0 @@
// flow-typed signature: 4daa25492655417e7c0763d1d0b30fbb
// flow-typed version: c6154227d1/invariant_v2.x.x/flow_>=v0.104.x
declare module invariant {
declare module.exports: (condition: boolean, message: string) => void;
}
-270
View File
@@ -1,270 +0,0 @@
// flow-typed signature: b22b4468bfca789ab7d226b932705f45
// flow-typed version: <<STUB>>/ioredis_v^4.14.1/flow_v0.104.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' {
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' {
declare module.exports: any;
}
declare module 'ioredis/built/connectors/SentinelConnector' {
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/DataHandler' {
declare module.exports: any;
}
declare module 'ioredis/built/errors/ClusterAllFailedError' {
declare module.exports: any;
}
declare module 'ioredis/built/errors' {
declare module.exports: any;
}
declare module 'ioredis/built/errors/MaxRetriesPerRequestError' {
declare module.exports: any;
}
declare module 'ioredis/built' {
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/event_handler' {
declare module.exports: any;
}
declare module 'ioredis/built/redis' {
declare module.exports: any;
}
declare module 'ioredis/built/redis/RedisOptions' {
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' {
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' {
declare module.exports: $Exports<'ioredis/built/cluster'>;
}
declare module 'ioredis/built/cluster/index.js' {
declare module.exports: $Exports<'ioredis/built/cluster'>;
}
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' {
declare module.exports: $Exports<'ioredis/built/connectors'>;
}
declare module 'ioredis/built/connectors/index.js' {
declare module.exports: $Exports<'ioredis/built/connectors'>;
}
declare module 'ioredis/built/connectors/SentinelConnector/index' {
declare module.exports: $Exports<'ioredis/built/connectors/SentinelConnector'>;
}
declare module 'ioredis/built/connectors/SentinelConnector/index.js' {
declare module.exports: $Exports<'ioredis/built/connectors/SentinelConnector'>;
}
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/DataHandler.js' {
declare module.exports: $Exports<'ioredis/built/DataHandler'>;
}
declare module 'ioredis/built/errors/ClusterAllFailedError.js' {
declare module.exports: $Exports<'ioredis/built/errors/ClusterAllFailedError'>;
}
declare module 'ioredis/built/errors/index' {
declare module.exports: $Exports<'ioredis/built/errors'>;
}
declare module 'ioredis/built/errors/index.js' {
declare module.exports: $Exports<'ioredis/built/errors'>;
}
declare module 'ioredis/built/errors/MaxRetriesPerRequestError.js' {
declare module.exports: $Exports<'ioredis/built/errors/MaxRetriesPerRequestError'>;
}
declare module 'ioredis/built/index' {
declare module.exports: $Exports<'ioredis/built'>;
}
declare module 'ioredis/built/index.js' {
declare module.exports: $Exports<'ioredis/built'>;
}
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/event_handler.js' {
declare module.exports: $Exports<'ioredis/built/redis/event_handler'>;
}
declare module 'ioredis/built/redis/index' {
declare module.exports: $Exports<'ioredis/built/redis'>;
}
declare module 'ioredis/built/redis/index.js' {
declare module.exports: $Exports<'ioredis/built/redis'>;
}
declare module 'ioredis/built/redis/RedisOptions.js' {
declare module.exports: $Exports<'ioredis/built/redis/RedisOptions'>;
}
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' {
declare module.exports: $Exports<'ioredis/built/utils'>;
}
declare module 'ioredis/built/utils/index.js' {
declare module.exports: $Exports<'ioredis/built/utils'>;
}
declare module 'ioredis/built/utils/lodash.js' {
declare module.exports: $Exports<'ioredis/built/utils/lodash'>;
}
-9
View File
@@ -1,9 +0,0 @@
// flow-typed signature: 03bcd2195d27d9c7b8ea57265f6673cd
// flow-typed version: c6154227d1/isomorphic-fetch_v2.x.x/flow_>=v0.104.x
declare module "isomorphic-fetch" {
declare module.exports: (
input: string | Request | URL,
init?: RequestOptions
) => Promise<Response>;
}
-104
View File
@@ -1,104 +0,0 @@
// flow-typed signature: 183e49aaca3629a8ab82ccddf677fafa
// flow-typed version: <<STUB>>/jest-cli_v^26.0.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'jest-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 'jest-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 'jest-cli/bin/jest' {
declare module.exports: any;
}
declare module 'jest-cli/build/cli/args' {
declare module.exports: any;
}
declare module 'jest-cli/build/cli' {
declare module.exports: any;
}
declare module 'jest-cli/build' {
declare module.exports: any;
}
declare module 'jest-cli/build/init/errors' {
declare module.exports: any;
}
declare module 'jest-cli/build/init/generate_config_file' {
declare module.exports: any;
}
declare module 'jest-cli/build/init' {
declare module.exports: any;
}
declare module 'jest-cli/build/init/modify_package_json' {
declare module.exports: any;
}
declare module 'jest-cli/build/init/questions' {
declare module.exports: any;
}
declare module 'jest-cli/build/init/types' {
declare module.exports: any;
}
// Filename aliases
declare module 'jest-cli/bin/jest.js' {
declare module.exports: $Exports<'jest-cli/bin/jest'>;
}
declare module 'jest-cli/build/cli/args.js' {
declare module.exports: $Exports<'jest-cli/build/cli/args'>;
}
declare module 'jest-cli/build/cli/index' {
declare module.exports: $Exports<'jest-cli/build/cli'>;
}
declare module 'jest-cli/build/cli/index.js' {
declare module.exports: $Exports<'jest-cli/build/cli'>;
}
declare module 'jest-cli/build/index' {
declare module.exports: $Exports<'jest-cli/build'>;
}
declare module 'jest-cli/build/index.js' {
declare module.exports: $Exports<'jest-cli/build'>;
}
declare module 'jest-cli/build/init/errors.js' {
declare module.exports: $Exports<'jest-cli/build/init/errors'>;
}
declare module 'jest-cli/build/init/generate_config_file.js' {
declare module.exports: $Exports<'jest-cli/build/init/generate_config_file'>;
}
declare module 'jest-cli/build/init/index' {
declare module.exports: $Exports<'jest-cli/build/init'>;
}
declare module 'jest-cli/build/init/index.js' {
declare module.exports: $Exports<'jest-cli/build/init'>;
}
declare module 'jest-cli/build/init/modify_package_json.js' {
declare module.exports: $Exports<'jest-cli/build/init/modify_package_json'>;
}
declare module 'jest-cli/build/init/questions.js' {
declare module.exports: $Exports<'jest-cli/build/init/questions'>;
}
declare module 'jest-cli/build/init/types.js' {
declare module.exports: $Exports<'jest-cli/build/init/types'>;
}
-988
View File
@@ -1,988 +0,0 @@
// flow-typed signature: 27b6ff5cf910473843da0caf82e362fe
// flow-typed version: a3709d51ed/jest_v22.x.x/flow_>=v0.39.x
type JestMockFn<TArguments: $ReadOnlyArray<*>, 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<TArguments>,
/**
* An array that contains all the object instances that have been
* instantiated from this mock function.
*/
instances: Array<TReturn>
},
/**
* 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<TArguments, TReturn>,
/**
* 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<TArguments, TReturn>,
/**
* Accepts a string to use in test result output in place of "jest.fn()" to
* indicate which mock function is being referenced.
*/
mockName(name: string): JestMockFn<TArguments, TReturn>,
/**
* Just a simple sugar function for returning `this`
*/
mockReturnThis(): void,
/**
* Deprecated: use jest.fn(() => value) instead
*/
mockReturnValue(value: TReturn): JestMockFn<TArguments, TReturn>,
/**
* Sugar for only returning a value once inside your mock
*/
mockReturnValueOnce(value: TReturn): JestMockFn<TArguments, TReturn>
};
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
};
/**
* Jest allows functions and classes to be used as test names in test() and
* describe()
*/
type JestTestName = string | Function;
/**
* Plugin: jest-enzyme
*/
type EnzymeMatchersType = {
toBeChecked(): void,
toBeDisabled(): void,
toBeEmpty(): void,
toBeEmptyRender(): void,
toBePresent(): void,
toContainReact(element: React$Element<any>): void,
toExist(): void,
toHaveClassName(className: string): void,
toHaveHTML(html: string): void,
toHaveProp: ((propKey: string, propValue?: any) => void) & ((props: Object) => void),
toHaveRef(refName: string): void,
toHaveState: ((stateKey: string, stateValue?: any) => void) & ((state: Object) => void),
toHaveStyle: ((styleKey: string, styleValue?: any) => void) & ((style: Object) => void),
toHaveTagName(tagName: string): void,
toHaveText(text: string): void,
toIncludeText(text: string): void,
toHaveValue(value: any): void,
toMatchElement(element: React$Element<any>): void,
toMatchSelector(selector: string): void
};
// DOM testing library extensions https://github.com/kentcdodds/dom-testing-library#custom-jest-matchers
type DomTestingLibraryType = {
toBeInTheDOM(): void,
toHaveTextContent(content: string): void,
toHaveAttribute(name: string, expectedValue?: string): void
};
// Jest JQuery Matchers: https://github.com/unindented/custom-jquery-matchers
type JestJQueryMatchersType = {
toExist(): void,
toHaveLength(len: number): void,
toHaveId(id: string): void,
toHaveClass(className: string): void,
toHaveTag(tag: string): void,
toHaveAttr(key: string, val?: any): void,
toHaveProp(key: string, val?: any): void,
toHaveText(text: string | RegExp): void,
toHaveData(key: string, val?: any): void,
toHaveValue(val: any): void,
toHaveCss(css: {[key: string]: any}): void,
toBeChecked(): void,
toBeDisabled(): void,
toBeEmpty(): void,
toBeHidden(): void,
toBeSelected(): void,
toBeVisible(): void,
toBeFocused(): void,
toBeInDom(): void,
toBeMatchedBy(sel: string): void,
toHaveDescendant(sel: string): void,
toHaveDescendantWithText(sel: string, text: string | RegExp): void
};
// Jest Extended Matchers: https://github.com/jest-community/jest-extended
type JestExtendedMatchersType = {
/**
* Note: Currently unimplemented
* Passing assertion
*
* @param {String} message
*/
// pass(message: string): void;
/**
* Note: Currently unimplemented
* Failing assertion
*
* @param {String} message
*/
// fail(message: string): void;
/**
* Use .toBeEmpty when checking if a String '', Array [] or Object {} is empty.
*/
toBeEmpty(): void;
/**
* Use .toBeOneOf when checking if a value is a member of a given Array.
* @param {Array.<*>} members
*/
toBeOneOf(members: any[]): void;
/**
* Use `.toBeNil` when checking a value is `null` or `undefined`.
*/
toBeNil(): void;
/**
* Use `.toSatisfy` when you want to use a custom matcher by supplying a predicate function that returns a `Boolean`.
* @param {Function} predicate
*/
toSatisfy(predicate: (n: any) => boolean): void;
/**
* Use `.toBeArray` when checking if a value is an `Array`.
*/
toBeArray(): void;
/**
* Use `.toBeArrayOfSize` when checking if a value is an `Array` of size x.
* @param {Number} x
*/
toBeArrayOfSize(x: number): void;
/**
* Use `.toIncludeAllMembers` when checking if an `Array` contains all of the same members of a given set.
* @param {Array.<*>} members
*/
toIncludeAllMembers(members: any[]): void;
/**
* Use `.toIncludeAnyMembers` when checking if an `Array` contains any of the members of a given set.
* @param {Array.<*>} members
*/
toIncludeAnyMembers(members: any[]): void;
/**
* Use `.toSatisfyAll` when you want to use a custom matcher by supplying a predicate function that returns a `Boolean` for all values in an array.
* @param {Function} predicate
*/
toSatisfyAll(predicate: (n: any) => boolean): void;
/**
* Use `.toBeBoolean` when checking if a value is a `Boolean`.
*/
toBeBoolean(): void;
/**
* Use `.toBeTrue` when checking a value is equal (===) to `true`.
*/
toBeTrue(): void;
/**
* Use `.toBeFalse` when checking a value is equal (===) to `false`.
*/
toBeFalse(): void;
/**
* Use .toBeDate when checking if a value is a Date.
*/
toBeDate(): void;
/**
* Use `.toBeFunction` when checking if a value is a `Function`.
*/
toBeFunction(): void;
/**
* Use `.toHaveBeenCalledBefore` when checking if a `Mock` was called before another `Mock`.
*
* Note: Required Jest version >22
* Note: Your mock functions will have to be asynchronous to cause the timestamps inside of Jest to occur in a differentJS event loop, otherwise the mock timestamps will all be the same
*
* @param {Mock} mock
*/
toHaveBeenCalledBefore(mock: JestMockFn<any, any>): void;
/**
* Use `.toBeNumber` when checking if a value is a `Number`.
*/
toBeNumber(): void;
/**
* Use `.toBeNaN` when checking a value is `NaN`.
*/
toBeNaN(): void;
/**
* Use `.toBeFinite` when checking if a value is a `Number`, not `NaN` or `Infinity`.
*/
toBeFinite(): void;
/**
* Use `.toBePositive` when checking if a value is a positive `Number`.
*/
toBePositive(): void;
/**
* Use `.toBeNegative` when checking if a value is a negative `Number`.
*/
toBeNegative(): void;
/**
* Use `.toBeEven` when checking if a value is an even `Number`.
*/
toBeEven(): void;
/**
* Use `.toBeOdd` when checking if a value is an odd `Number`.
*/
toBeOdd(): void;
/**
* Use `.toBeWithin` when checking if a number is in between the given bounds of: start (inclusive) and end (exclusive).
*
* @param {Number} start
* @param {Number} end
*/
toBeWithin(start: number, end: number): void;
/**
* Use `.toBeObject` when checking if a value is an `Object`.
*/
toBeObject(): void;
/**
* Use `.toContainKey` when checking if an object contains the provided key.
*
* @param {String} key
*/
toContainKey(key: string): void;
/**
* Use `.toContainKeys` when checking if an object has all of the provided keys.
*
* @param {Array.<String>} keys
*/
toContainKeys(keys: string[]): void;
/**
* Use `.toContainAllKeys` when checking if an object only contains all of the provided keys.
*
* @param {Array.<String>} keys
*/
toContainAllKeys(keys: string[]): void;
/**
* Use `.toContainAnyKeys` when checking if an object contains at least one of the provided keys.
*
* @param {Array.<String>} keys
*/
toContainAnyKeys(keys: string[]): void;
/**
* Use `.toContainValue` when checking if an object contains the provided value.
*
* @param {*} value
*/
toContainValue(value: any): void;
/**
* Use `.toContainValues` when checking if an object contains all of the provided values.
*
* @param {Array.<*>} values
*/
toContainValues(values: any[]): void;
/**
* Use `.toContainAllValues` when checking if an object only contains all of the provided values.
*
* @param {Array.<*>} values
*/
toContainAllValues(values: any[]): void;
/**
* Use `.toContainAnyValues` when checking if an object contains at least one of the provided values.
*
* @param {Array.<*>} values
*/
toContainAnyValues(values: any[]): void;
/**
* Use `.toContainEntry` when checking if an object contains the provided entry.
*
* @param {Array.<String, String>} entry
*/
toContainEntry(entry: [string, string]): void;
/**
* Use `.toContainEntries` when checking if an object contains all of the provided entries.
*
* @param {Array.<Array.<String, String>>} entries
*/
toContainEntries(entries: [string, string][]): void;
/**
* Use `.toContainAllEntries` when checking if an object only contains all of the provided entries.
*
* @param {Array.<Array.<String, String>>} entries
*/
toContainAllEntries(entries: [string, string][]): void;
/**
* Use `.toContainAnyEntries` when checking if an object contains at least one of the provided entries.
*
* @param {Array.<Array.<String, String>>} entries
*/
toContainAnyEntries(entries: [string, string][]): void;
/**
* Use `.toBeExtensible` when checking if an object is extensible.
*/
toBeExtensible(): void;
/**
* Use `.toBeFrozen` when checking if an object is frozen.
*/
toBeFrozen(): void;
/**
* Use `.toBeSealed` when checking if an object is sealed.
*/
toBeSealed(): void;
/**
* Use `.toBeString` when checking if a value is a `String`.
*/
toBeString(): void;
/**
* Use `.toEqualCaseInsensitive` when checking if a string is equal (===) to another ignoring the casing of both strings.
*
* @param {String} string
*/
toEqualCaseInsensitive(string: string): void;
/**
* Use `.toStartWith` when checking if a `String` starts with a given `String` prefix.
*
* @param {String} prefix
*/
toStartWith(prefix: string): void;
/**
* Use `.toEndWith` when checking if a `String` ends with a given `String` suffix.
*
* @param {String} suffix
*/
toEndWith(suffix: string): void;
/**
* Use `.toInclude` when checking if a `String` includes the given `String` substring.
*
* @param {String} substring
*/
toInclude(substring: string): void;
/**
* Use `.toIncludeRepeated` when checking if a `String` includes the given `String` substring the correct number of times.
*
* @param {String} substring
* @param {Number} times
*/
toIncludeRepeated(substring: string, times: number): void;
/**
* Use `.toIncludeMultiple` when checking if a `String` includes all of the given substrings.
*
* @param {Array.<String>} substring
*/
toIncludeMultiple(substring: string[]): void;
};
type JestExpectType = {
not: JestExpectType & EnzymeMatchersType & DomTestingLibraryType & JestJQueryMatchersType & JestExtendedMatchersType,
/**
* If you have a mock function, you can use .lastCalledWith to test what
* arguments it was last called with.
*/
lastCalledWith(...args: Array<any>): 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<any>): 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<any>): void,
/**
* Use .toHaveBeenLastCalledWith to ensure that a mock function was last called
* with specific arguments.
*/
toHaveBeenLastCalledWith(...args: Array<any>): 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 | Array<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<Object>): 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<Error> | RegExp): void,
toThrowError(message?: string | Error | Class<Error> | 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<TArguments: $ReadOnlyArray<*>, TReturn>(
implementation?: (...args: TArguments) => TReturn
): JestMockFn<TArguments, TReturn>,
/**
* 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()).
*/
advanceTimersByTime(msToRun: number): void,
/**
* Executes only the macro task queue (i.e. all tasks queued by setTimeout()
* or setInterval() and setImmediate()).
*
* Renamed to `advanceTimersByTime`.
*/
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, accessType?: "get" | "set"): JestMockFn<any, any>,
/**
* 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<mixed>,
timeout?: number
): void;
/** Runs this function before every test inside this context */
declare function beforeEach(
fn: (done: () => void) => ?Promise<mixed>,
timeout?: number
): void;
/** Runs this function after all tests have finished inside this context */
declare function afterAll(
fn: (done: () => void) => ?Promise<mixed>,
timeout?: number
): void;
/** Runs this function before any tests have started inside this context */
declare function beforeAll(
fn: (done: () => void) => ?Promise<mixed>,
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: JestTestName, fn: () => void): void,
/**
* Only run this describe block
*/
only(name: JestTestName, fn: () => void): void,
/**
* Skip running this describe block
*/
skip(name: JestTestName, fn: () => void): void
};
/** An individual test unit */
declare var it: {
/**
* An individual test unit
*
* @param {JestTestName} Name of Test
* @param {Function} Test
* @param {number} Timeout for the test, in milliseconds.
*/
(
name: JestTestName,
fn?: (done: () => void) => ?Promise<mixed>,
timeout?: number
): void,
/**
* Only run this test
*
* @param {JestTestName} Name of Test
* @param {Function} Test
* @param {number} Timeout for the test, in milliseconds.
*/
only(
name: JestTestName,
fn?: (done: () => void) => ?Promise<mixed>,
timeout?: number
): void,
/**
* Skip running this test
*
* @param {JestTestName} Name of Test
* @param {Function} Test
* @param {number} Timeout for the test, in milliseconds.
*/
skip(
name: JestTestName,
fn?: (done: () => void) => ?Promise<mixed>,
timeout?: number
): void,
/**
* Run the test concurrently
*
* @param {JestTestName} Name of Test
* @param {Function} Test
* @param {number} Timeout for the test, in milliseconds.
*/
concurrent(
name: JestTestName,
fn?: (done: () => void) => ?Promise<mixed>,
timeout?: number
): void
};
declare function fit(
name: JestTestName,
fn: (done: () => void) => ?Promise<mixed>,
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;
type JestPrettyFormatColors = {
comment: { close: string, open: string },
content: { close: string, open: string },
prop: { close: string, open: string },
tag: { close: string, open: string },
value: { close: string, open: string },
};
type JestPrettyFormatIndent = string => string;
type JestPrettyFormatRefs = Array<any>;
type JestPrettyFormatPrint = any => string;
type JestPrettyFormatStringOrNull = string | null;
type JestPrettyFormatOptions = {|
callToJSON: boolean,
edgeSpacing: string,
escapeRegex: boolean,
highlight: boolean,
indent: number,
maxDepth: number,
min: boolean,
plugins: JestPrettyFormatPlugins,
printFunctionName: boolean,
spacing: string,
theme: {|
comment: string,
content: string,
prop: string,
tag: string,
value: string,
|},
|};
type JestPrettyFormatPlugin = {
print: (
val: any,
serialize: JestPrettyFormatPrint,
indent: JestPrettyFormatIndent,
opts: JestPrettyFormatOptions,
colors: JestPrettyFormatColors,
) => string,
test: any => boolean,
};
type JestPrettyFormatPlugins = Array<JestPrettyFormatPlugin>;
/** 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 & DomTestingLibraryType & JestJQueryMatchersType & JestExtendedMatchersType,
/** Add additional Jasmine matchers to Jest's roster */
extend(matchers: { [name: string]: JestMatcher }): void,
/** Add a module that formats application-specific data structures. */
addSnapshotSerializer(pluginModule: JestPrettyFormatPlugin): void,
assertions(expectedAssertions: number): void,
hasAssertions(): void,
any(value: mixed): JestAsymmetricEqualityType,
anything(): any,
arrayContaining(value: Array<mixed>): Array<mixed>,
objectContaining(value: Object): Object,
/** Matches any received string that contains the exact expected string. */
stringContaining(value: string): string,
stringMatching(value: string | RegExp): string
};
// 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(): any,
arrayContaining(value: Array<mixed>): Array<mixed>,
clock(): JestClockType,
createSpy(name: string): JestSpyType,
createSpyObj(
baseName: string,
methodNames: Array<string>
): { [methodName: string]: JestSpyType },
objectContaining(value: Object): Object,
stringMatching(value: string): string
};
View File
-215
View File
@@ -1,215 +0,0 @@
// flow-typed signature: 4b4041f48b653b571bced46515e02dc7
// flow-typed version: <<STUB>>/js-search_v^1.4.2/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'js-search'
*
* 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 'js-search' {
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 'js-search/dist/commonjs/getNestedFieldValue' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/IndexStrategy/AllSubstringsIndexStrategy' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/IndexStrategy/ExactWordIndexStrategy' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/IndexStrategy' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/IndexStrategy/IndexStrategy' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/IndexStrategy/PrefixIndexStrategy' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Sanitizer/CaseSensitiveSanitizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Sanitizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Sanitizer/LowerCaseSanitizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Sanitizer/Sanitizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Search' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/SearchIndex' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/SearchIndex/SearchIndex' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/SearchIndex/TfIdfSearchIndex' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/SearchIndex/UnorderedSearchIndex' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/StopWordsMap' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/TokenHighlighter' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Tokenizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Tokenizer/SimpleTokenizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Tokenizer/StemmingTokenizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Tokenizer/StopWordsTokenizer' {
declare module.exports: any;
}
declare module 'js-search/dist/commonjs/Tokenizer/Tokenizer' {
declare module.exports: any;
}
declare module 'js-search/dist/umd/js-search' {
declare module.exports: any;
}
declare module 'js-search/dist/umd/js-search.min' {
declare module.exports: any;
}
// Filename aliases
declare module 'js-search/dist/commonjs/getNestedFieldValue.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/getNestedFieldValue'>;
}
declare module 'js-search/dist/commonjs/index' {
declare module.exports: $Exports<'js-search/dist/commonjs'>;
}
declare module 'js-search/dist/commonjs/index.js' {
declare module.exports: $Exports<'js-search/dist/commonjs'>;
}
declare module 'js-search/dist/commonjs/IndexStrategy/AllSubstringsIndexStrategy.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/IndexStrategy/AllSubstringsIndexStrategy'>;
}
declare module 'js-search/dist/commonjs/IndexStrategy/ExactWordIndexStrategy.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/IndexStrategy/ExactWordIndexStrategy'>;
}
declare module 'js-search/dist/commonjs/IndexStrategy/index' {
declare module.exports: $Exports<'js-search/dist/commonjs/IndexStrategy'>;
}
declare module 'js-search/dist/commonjs/IndexStrategy/index.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/IndexStrategy'>;
}
declare module 'js-search/dist/commonjs/IndexStrategy/IndexStrategy.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/IndexStrategy/IndexStrategy'>;
}
declare module 'js-search/dist/commonjs/IndexStrategy/PrefixIndexStrategy.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/IndexStrategy/PrefixIndexStrategy'>;
}
declare module 'js-search/dist/commonjs/Sanitizer/CaseSensitiveSanitizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Sanitizer/CaseSensitiveSanitizer'>;
}
declare module 'js-search/dist/commonjs/Sanitizer/index' {
declare module.exports: $Exports<'js-search/dist/commonjs/Sanitizer'>;
}
declare module 'js-search/dist/commonjs/Sanitizer/index.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Sanitizer'>;
}
declare module 'js-search/dist/commonjs/Sanitizer/LowerCaseSanitizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Sanitizer/LowerCaseSanitizer'>;
}
declare module 'js-search/dist/commonjs/Sanitizer/Sanitizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Sanitizer/Sanitizer'>;
}
declare module 'js-search/dist/commonjs/Search.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Search'>;
}
declare module 'js-search/dist/commonjs/SearchIndex/index' {
declare module.exports: $Exports<'js-search/dist/commonjs/SearchIndex'>;
}
declare module 'js-search/dist/commonjs/SearchIndex/index.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/SearchIndex'>;
}
declare module 'js-search/dist/commonjs/SearchIndex/SearchIndex.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/SearchIndex/SearchIndex'>;
}
declare module 'js-search/dist/commonjs/SearchIndex/TfIdfSearchIndex.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/SearchIndex/TfIdfSearchIndex'>;
}
declare module 'js-search/dist/commonjs/SearchIndex/UnorderedSearchIndex.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/SearchIndex/UnorderedSearchIndex'>;
}
declare module 'js-search/dist/commonjs/StopWordsMap.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/StopWordsMap'>;
}
declare module 'js-search/dist/commonjs/TokenHighlighter.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/TokenHighlighter'>;
}
declare module 'js-search/dist/commonjs/Tokenizer/index' {
declare module.exports: $Exports<'js-search/dist/commonjs/Tokenizer'>;
}
declare module 'js-search/dist/commonjs/Tokenizer/index.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Tokenizer'>;
}
declare module 'js-search/dist/commonjs/Tokenizer/SimpleTokenizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Tokenizer/SimpleTokenizer'>;
}
declare module 'js-search/dist/commonjs/Tokenizer/StemmingTokenizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Tokenizer/StemmingTokenizer'>;
}
declare module 'js-search/dist/commonjs/Tokenizer/StopWordsTokenizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Tokenizer/StopWordsTokenizer'>;
}
declare module 'js-search/dist/commonjs/Tokenizer/Tokenizer.js' {
declare module.exports: $Exports<'js-search/dist/commonjs/Tokenizer/Tokenizer'>;
}
declare module 'js-search/dist/umd/js-search.js' {
declare module.exports: $Exports<'js-search/dist/umd/js-search'>;
}
declare module 'js-search/dist/umd/js-search.min.js' {
declare module.exports: $Exports<'js-search/dist/umd/js-search.min'>;
}
-38
View File
@@ -1,38 +0,0 @@
// flow-typed signature: 0c1b27b8baedf441980d09ebd62250b0
// flow-typed version: <<STUB>>/js-tree_v1.1.0/flow_v0.49.1
/**
* This is an autogenerated libdef stub for:
*
* 'js-tree'
*
* 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 'js-tree' {
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 'js-tree/test' {
declare module.exports: any;
}
// Filename aliases
declare module 'js-tree/index' {
declare module.exports: $Exports<'js-tree'>;
}
declare module 'js-tree/index.js' {
declare module.exports: $Exports<'js-tree'>;
}
declare module 'js-tree/test.js' {
declare module.exports: $Exports<'js-tree/test'>;
}
-33
View File
@@ -1,33 +0,0 @@
// flow-typed signature: 37e879cb169b3a034f549ceef71ab2c5
// flow-typed version: <<STUB>>/json-loader_v0.5.4/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'json-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 'json-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 'json-loader/index' {
declare module.exports: $Exports<'json-loader'>;
}
declare module 'json-loader/index.js' {
declare module.exports: $Exports<'json-loader'>;
}
-164
View File
@@ -1,164 +0,0 @@
// flow-typed signature: a6917bccc2ed0addf099c12e33358113
// flow-typed version: c6154227d1/jsonwebtoken_v8.3.x/flow_>=v0.104.x
declare module "jsonwebtoken" {
declare class JsonWebTokenError extends Error {
name: string;
message: string;
inner: Error;
}
declare class TokenExpiredError extends Error {
name: string;
expiredAt: number;
inner: Error;
}
declare class NotBeforeError extends Error {
name: string;
date: Date;
inner: Error;
}
declare type Encodable = String | Buffer | Object;
declare type Key = {
key: string | Buffer,
passphrase: string | Buffer,
...
};
declare type Algorithm =
'RS256'
| 'RS384'
| 'RS512'
| 'ES256'
| 'ES384'
| 'ES512'
| 'HS256'
| 'HS384'
| 'HS512'
| 'none';
declare type SignCallback = (err: Error, token: string) => void;
declare type SigningOptions<Headers> = $Shape<{
algorithm: Algorithm,
expiresIn: number | string,
notBefore: number | string,
audience: string | string[],
issuer: string | string[],
jwtid: string,
subject: string,
noTimestamp: boolean,
header: Headers,
keyid: string,
...
}>;
declare type SigningOptionsWithAlgorithm<H> = SigningOptions<H> & { algorithm: Algorithm, ... };
declare type VerifyCallback = (err: JsonWebTokenError | NotBeforeError | TokenExpiredError | null, decoded: Payload) => void;
declare type VerifyOptionsWithAlgorithm = VerifyOptions & { algorithms: Array<Algorithm>, ... };
declare type VerifyOptions = $Shape<{
algorithms: Array<Algorithm>,
audience: string | string[],
issuer: string | string[],
ignoreExpiration: boolean,
ignoreNotBefore: boolean,
subject: string | string[],
clockTolerance: number,
maxAge: string | number,
clockTimestamp: number,
...
}>;
declare type DecodingOptions = $Shape<{
complete: boolean,
json: boolean,
...
}>;
declare interface Sign {
<P: Encodable>
(payload: P, secretOrPrivateKey: string | Buffer): string;
<P: Encodable>
(payload: P, secretOrPrivateKey: string | Buffer, callback: SignCallback): string;
<P: Encodable, H>
(payload: P, secretOrPrivateKey: Key, options: SigningOptionsWithAlgorithm<H>): string;
<P: Encodable, H>
(payload: P, secretOrPrivateKey: string | Buffer, options: $Shape<SigningOptions<H>>): string;
<P: Encodable, H>
(payload: P, secretOrPrivateKey: string | Buffer, options: $Shape<SigningOptions<H>>, callback: SignCallback): string;
<P: Encodable, H>
(payload: P, secretOrPrivateKey: Key, options: SigningOptionsWithAlgorithm<H>, callback: SignCallback): string;
}
declare type Payload = Object & {
jti?: string,
iss?: string,
sub?: string,
aud?: string | string[],
exp?: number,
iat?: number,
nbf?: number,
...
}
declare type Token = {
header: {
typ: 'JWT',
alg: Algorithm,
...
},
payload: Payload,
signature?: string,
...
}
declare interface Decode {
(jwt: string): Payload;
(jwt: string, options: DecodingOptions): Payload;
(jwt: string, options: DecodingOptions & { complete: true, ... }): Token;
}
declare interface Verify {
(jwt: string, secretOrPrivateKey: string | Buffer): Payload;
(jwt: string, secretOrPrivateKey: string | Buffer, options: VerifyOptions | VerifyCallback): Payload;
(jwt: string, secretOrPrivateKey: string | Buffer, options: VerifyOptions, callback: VerifyCallback): Payload;
(jwt: string, secretOrPrivateKey: Key, options: VerifyOptionsWithAlgorithm): Payload;
(jwt: string, secretOrPrivateKey: Key, options: VerifyOptionsWithAlgorithm, callback: VerifyCallback): Payload;
(jwt: string, getKey: (header: { kid: ?string, ... }, callback: (err: ?Error, key?: string) => any) => any, callback: VerifyCallback): Payload;
(jwt: string, getKey: (header: { kid: ?string, ... }, callback: (err: ?Error, key?: string) => any) => any, options: VerifyOptionsWithAlgorithm, callback: VerifyCallback): Payload;
}
declare class TokenExpiredError extends Error {
}
declare class WebTokenError extends Error {
}
declare class NotBeforeError extends Error {
}
declare module.exports: {
sign: Sign,
decode: Decode,
verify: Verify,
JsonWebTokenError: Class<WebTokenError>,
NotBeforeError: Class<NotBeforeError>,
TokenExpiredError: Class<TokenExpiredError>,
...
}
}
-304
View File
@@ -1,304 +0,0 @@
// flow-typed signature: fc2b995f5ab021706a9cbc63c776798d
// flow-typed version: <<STUB>>/jszip_v3.1.5/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'jszip'
*
* 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 'jszip' {
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 'jszip/dist/jszip' {
declare module.exports: any;
}
declare module 'jszip/dist/jszip.min' {
declare module.exports: any;
}
declare module 'jszip/lib/base64' {
declare module.exports: any;
}
declare module 'jszip/lib/compressedObject' {
declare module.exports: any;
}
declare module 'jszip/lib/compressions' {
declare module.exports: any;
}
declare module 'jszip/lib/crc32' {
declare module.exports: any;
}
declare module 'jszip/lib/defaults' {
declare module.exports: any;
}
declare module 'jszip/lib/external' {
declare module.exports: any;
}
declare module 'jszip/lib/flate' {
declare module.exports: any;
}
declare module 'jszip/lib/generate' {
declare module.exports: any;
}
declare module 'jszip/lib/generate/ZipFileWorker' {
declare module.exports: any;
}
declare module 'jszip/lib' {
declare module.exports: any;
}
declare module 'jszip/lib/license_header' {
declare module.exports: any;
}
declare module 'jszip/lib/load' {
declare module.exports: any;
}
declare module 'jszip/lib/nodejs/NodejsStreamInputAdapter' {
declare module.exports: any;
}
declare module 'jszip/lib/nodejs/NodejsStreamOutputAdapter' {
declare module.exports: any;
}
declare module 'jszip/lib/nodejsUtils' {
declare module.exports: any;
}
declare module 'jszip/lib/object' {
declare module.exports: any;
}
declare module 'jszip/lib/readable-stream-browser' {
declare module.exports: any;
}
declare module 'jszip/lib/reader/ArrayReader' {
declare module.exports: any;
}
declare module 'jszip/lib/reader/DataReader' {
declare module.exports: any;
}
declare module 'jszip/lib/reader/NodeBufferReader' {
declare module.exports: any;
}
declare module 'jszip/lib/reader/readerFor' {
declare module.exports: any;
}
declare module 'jszip/lib/reader/StringReader' {
declare module.exports: any;
}
declare module 'jszip/lib/reader/Uint8ArrayReader' {
declare module.exports: any;
}
declare module 'jszip/lib/signature' {
declare module.exports: any;
}
declare module 'jszip/lib/stream/ConvertWorker' {
declare module.exports: any;
}
declare module 'jszip/lib/stream/Crc32Probe' {
declare module.exports: any;
}
declare module 'jszip/lib/stream/DataLengthProbe' {
declare module.exports: any;
}
declare module 'jszip/lib/stream/DataWorker' {
declare module.exports: any;
}
declare module 'jszip/lib/stream/GenericWorker' {
declare module.exports: any;
}
declare module 'jszip/lib/stream/StreamHelper' {
declare module.exports: any;
}
declare module 'jszip/lib/support' {
declare module.exports: any;
}
declare module 'jszip/lib/utf8' {
declare module.exports: any;
}
declare module 'jszip/lib/utils' {
declare module.exports: any;
}
declare module 'jszip/lib/zipEntries' {
declare module.exports: any;
}
declare module 'jszip/lib/zipEntry' {
declare module.exports: any;
}
declare module 'jszip/lib/zipObject' {
declare module.exports: any;
}
declare module 'jszip/vendor/FileSaver' {
declare module.exports: any;
}
// Filename aliases
declare module 'jszip/dist/jszip.js' {
declare module.exports: $Exports<'jszip/dist/jszip'>;
}
declare module 'jszip/dist/jszip.min.js' {
declare module.exports: $Exports<'jszip/dist/jszip.min'>;
}
declare module 'jszip/lib/base64.js' {
declare module.exports: $Exports<'jszip/lib/base64'>;
}
declare module 'jszip/lib/compressedObject.js' {
declare module.exports: $Exports<'jszip/lib/compressedObject'>;
}
declare module 'jszip/lib/compressions.js' {
declare module.exports: $Exports<'jszip/lib/compressions'>;
}
declare module 'jszip/lib/crc32.js' {
declare module.exports: $Exports<'jszip/lib/crc32'>;
}
declare module 'jszip/lib/defaults.js' {
declare module.exports: $Exports<'jszip/lib/defaults'>;
}
declare module 'jszip/lib/external.js' {
declare module.exports: $Exports<'jszip/lib/external'>;
}
declare module 'jszip/lib/flate.js' {
declare module.exports: $Exports<'jszip/lib/flate'>;
}
declare module 'jszip/lib/generate/index' {
declare module.exports: $Exports<'jszip/lib/generate'>;
}
declare module 'jszip/lib/generate/index.js' {
declare module.exports: $Exports<'jszip/lib/generate'>;
}
declare module 'jszip/lib/generate/ZipFileWorker.js' {
declare module.exports: $Exports<'jszip/lib/generate/ZipFileWorker'>;
}
declare module 'jszip/lib/index' {
declare module.exports: $Exports<'jszip/lib'>;
}
declare module 'jszip/lib/index.js' {
declare module.exports: $Exports<'jszip/lib'>;
}
declare module 'jszip/lib/license_header.js' {
declare module.exports: $Exports<'jszip/lib/license_header'>;
}
declare module 'jszip/lib/load.js' {
declare module.exports: $Exports<'jszip/lib/load'>;
}
declare module 'jszip/lib/nodejs/NodejsStreamInputAdapter.js' {
declare module.exports: $Exports<'jszip/lib/nodejs/NodejsStreamInputAdapter'>;
}
declare module 'jszip/lib/nodejs/NodejsStreamOutputAdapter.js' {
declare module.exports: $Exports<'jszip/lib/nodejs/NodejsStreamOutputAdapter'>;
}
declare module 'jszip/lib/nodejsUtils.js' {
declare module.exports: $Exports<'jszip/lib/nodejsUtils'>;
}
declare module 'jszip/lib/object.js' {
declare module.exports: $Exports<'jszip/lib/object'>;
}
declare module 'jszip/lib/readable-stream-browser.js' {
declare module.exports: $Exports<'jszip/lib/readable-stream-browser'>;
}
declare module 'jszip/lib/reader/ArrayReader.js' {
declare module.exports: $Exports<'jszip/lib/reader/ArrayReader'>;
}
declare module 'jszip/lib/reader/DataReader.js' {
declare module.exports: $Exports<'jszip/lib/reader/DataReader'>;
}
declare module 'jszip/lib/reader/NodeBufferReader.js' {
declare module.exports: $Exports<'jszip/lib/reader/NodeBufferReader'>;
}
declare module 'jszip/lib/reader/readerFor.js' {
declare module.exports: $Exports<'jszip/lib/reader/readerFor'>;
}
declare module 'jszip/lib/reader/StringReader.js' {
declare module.exports: $Exports<'jszip/lib/reader/StringReader'>;
}
declare module 'jszip/lib/reader/Uint8ArrayReader.js' {
declare module.exports: $Exports<'jszip/lib/reader/Uint8ArrayReader'>;
}
declare module 'jszip/lib/signature.js' {
declare module.exports: $Exports<'jszip/lib/signature'>;
}
declare module 'jszip/lib/stream/ConvertWorker.js' {
declare module.exports: $Exports<'jszip/lib/stream/ConvertWorker'>;
}
declare module 'jszip/lib/stream/Crc32Probe.js' {
declare module.exports: $Exports<'jszip/lib/stream/Crc32Probe'>;
}
declare module 'jszip/lib/stream/DataLengthProbe.js' {
declare module.exports: $Exports<'jszip/lib/stream/DataLengthProbe'>;
}
declare module 'jszip/lib/stream/DataWorker.js' {
declare module.exports: $Exports<'jszip/lib/stream/DataWorker'>;
}
declare module 'jszip/lib/stream/GenericWorker.js' {
declare module.exports: $Exports<'jszip/lib/stream/GenericWorker'>;
}
declare module 'jszip/lib/stream/StreamHelper.js' {
declare module.exports: $Exports<'jszip/lib/stream/StreamHelper'>;
}
declare module 'jszip/lib/support.js' {
declare module.exports: $Exports<'jszip/lib/support'>;
}
declare module 'jszip/lib/utf8.js' {
declare module.exports: $Exports<'jszip/lib/utf8'>;
}
declare module 'jszip/lib/utils.js' {
declare module.exports: $Exports<'jszip/lib/utils'>;
}
declare module 'jszip/lib/zipEntries.js' {
declare module.exports: $Exports<'jszip/lib/zipEntries'>;
}
declare module 'jszip/lib/zipEntry.js' {
declare module.exports: $Exports<'jszip/lib/zipEntry'>;
}
declare module 'jszip/lib/zipObject.js' {
declare module.exports: $Exports<'jszip/lib/zipObject'>;
}
declare module 'jszip/vendor/FileSaver.js' {
declare module.exports: $Exports<'jszip/vendor/FileSaver'>;
}
-29
View File
@@ -1,29 +0,0 @@
// flow-typed signature: a58f72097622ee04c396fbb8bb02db81
// flow-typed version: c6154227d1/koa-bodyparser_v4.x.x/flow_>=v0.104.x
declare module "koa-bodyparser" {
declare type Context = Object;
declare type Middleware = (
ctx: Context,
next: () => Promise<void>
) => Promise<void> | void;
declare type Options = {|
enableTypes?: Array<string>,
encode?: string,
formLimit?: string,
jsonLimit?: string,
strict?: boolean,
detectJSON?: (ctx: Context) => boolean,
extendTypes?: {
json?: Array<string>,
form?: Array<string>,
text?: Array<string>,
...
},
onerror?: (err: Error, ctx: Context) => void
|};
declare module.exports: (opts?: Options) => Middleware;
}
-33
View File
@@ -1,33 +0,0 @@
// flow-typed signature: 025de0f7e2c578b03804e18a6ad60f39
// flow-typed version: <<STUB>>/koa-compress_v2.0.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'koa-compress'
*
* 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 'koa-compress' {
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 'koa-compress/index' {
declare module.exports: $Exports<'koa-compress'>;
}
declare module 'koa-compress/index.js' {
declare module.exports: $Exports<'koa-compress'>;
}
-66
View File
@@ -1,66 +0,0 @@
// flow-typed signature: 9505cb4568f30f07959d9aacbd66f36a
// flow-typed version: <<STUB>>/koa-connect_v1.0.0/flow_v0.86.0
/**
* This is an autogenerated libdef stub for:
*
* 'koa-connect'
*
* 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 'koa-connect' {
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 'koa-connect/examples/auth' {
declare module.exports: any;
}
declare module 'koa-connect/examples/directory' {
declare module.exports: any;
}
declare module 'koa-connect/examples/logger' {
declare module.exports: any;
}
declare module 'koa-connect/examples/session' {
declare module.exports: any;
}
declare module 'koa-connect/examples/simple' {
declare module.exports: any;
}
// Filename aliases
declare module 'koa-connect/examples/auth.js' {
declare module.exports: $Exports<'koa-connect/examples/auth'>;
}
declare module 'koa-connect/examples/directory.js' {
declare module.exports: $Exports<'koa-connect/examples/directory'>;
}
declare module 'koa-connect/examples/logger.js' {
declare module.exports: $Exports<'koa-connect/examples/logger'>;
}
declare module 'koa-connect/examples/session.js' {
declare module.exports: $Exports<'koa-connect/examples/session'>;
}
declare module 'koa-connect/examples/simple.js' {
declare module.exports: $Exports<'koa-connect/examples/simple'>;
}
declare module 'koa-connect/index' {
declare module.exports: $Exports<'koa-connect'>;
}
declare module 'koa-connect/index.js' {
declare module.exports: $Exports<'koa-connect'>;
}
-38
View File
@@ -1,38 +0,0 @@
// flow-typed signature: ecb4283b75a15ad765f30cbd55c98362
// flow-typed version: <<STUB>>/koa-convert_v1.2.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'koa-convert'
*
* 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 'koa-convert' {
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 'koa-convert/test' {
declare module.exports: any;
}
// Filename aliases
declare module 'koa-convert/index' {
declare module.exports: $Exports<'koa-convert'>;
}
declare module 'koa-convert/index.js' {
declare module.exports: $Exports<'koa-convert'>;
}
declare module 'koa-convert/test.js' {
declare module.exports: $Exports<'koa-convert/test'>;
}
-39
View File
@@ -1,39 +0,0 @@
// flow-typed signature: 4038fad5e25ebd4914f7d77c22622db6
// flow-typed version: <<STUB>>/koa-helmet_v5.2.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'koa-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 'koa-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 'koa-helmet/lib/koa-helmet' {
declare module.exports: any;
}
declare module 'koa-helmet/test/koa-helmet.spec' {
declare module.exports: any;
}
// Filename aliases
declare module 'koa-helmet/lib/koa-helmet.js' {
declare module.exports: $Exports<'koa-helmet/lib/koa-helmet'>;
}
declare module 'koa-helmet/test/koa-helmet.spec.js' {
declare module.exports: $Exports<'koa-helmet/test/koa-helmet.spec'>;
}
-77
View File
@@ -1,77 +0,0 @@
// flow-typed signature: 40db2407a2ea13a54c84b1a8c0a8cc0b
// flow-typed version: <<STUB>>/koa-jwt_v^3.6.0/flow_v0.104.0
/**
* This is an autogenerated libdef stub for:
*
* 'koa-jwt'
*
* 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 'koa-jwt' {
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 'koa-jwt/lib/get-secret' {
declare module.exports: any;
}
declare module 'koa-jwt/lib' {
declare module.exports: any;
}
declare module 'koa-jwt/lib/resolvers/auth-header' {
declare module.exports: any;
}
declare module 'koa-jwt/lib/resolvers/cookie' {
declare module.exports: any;
}
declare module 'koa-jwt/lib/verify' {
declare module.exports: any;
}
declare module 'koa-jwt/test/test-server' {
declare module.exports: any;
}
declare module 'koa-jwt/test/test' {
declare module.exports: any;
}
// Filename aliases
declare module 'koa-jwt/lib/get-secret.js' {
declare module.exports: $Exports<'koa-jwt/lib/get-secret'>;
}
declare module 'koa-jwt/lib/index' {
declare module.exports: $Exports<'koa-jwt/lib'>;
}
declare module 'koa-jwt/lib/index.js' {
declare module.exports: $Exports<'koa-jwt/lib'>;
}
declare module 'koa-jwt/lib/resolvers/auth-header.js' {
declare module.exports: $Exports<'koa-jwt/lib/resolvers/auth-header'>;
}
declare module 'koa-jwt/lib/resolvers/cookie.js' {
declare module.exports: $Exports<'koa-jwt/lib/resolvers/cookie'>;
}
declare module 'koa-jwt/lib/verify.js' {
declare module.exports: $Exports<'koa-jwt/lib/verify'>;
}
declare module 'koa-jwt/test/test-server.js' {
declare module.exports: $Exports<'koa-jwt/test/test-server'>;
}
declare module 'koa-jwt/test/test.js' {
declare module.exports: $Exports<'koa-jwt/test/test'>;
}

Some files were not shown because too many files have changed in this diff Show More