aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/website/ts')
-rw-r--r--packages/website/ts/containers/asset_buyer_documentation.ts38
-rw-r--r--packages/website/ts/containers/connect_documentation.ts38
-rw-r--r--packages/website/ts/containers/contract_wrappers_documentation.ts38
-rw-r--r--packages/website/ts/containers/ethereum_types_documentation.ts36
-rw-r--r--packages/website/ts/containers/json_schemas_documentation.ts38
-rw-r--r--packages/website/ts/containers/migrations_documentation.ts2
-rw-r--r--packages/website/ts/containers/order_utils_documentation.ts38
-rw-r--r--packages/website/ts/containers/order_watcher_documentation.ts38
-rw-r--r--packages/website/ts/containers/smart_contracts_documentation.ts36
-rw-r--r--packages/website/ts/containers/sol_compiler_documentation.ts38
-rw-r--r--packages/website/ts/containers/sol_cov_documentation.ts77
-rw-r--r--packages/website/ts/containers/sol_coverage_documentation.ts43
-rw-r--r--packages/website/ts/containers/sol_profiler_documentation.ts43
-rw-r--r--packages/website/ts/containers/sol_trace_documentation.ts43
-rw-r--r--packages/website/ts/containers/subproviders_documentation.ts38
-rw-r--r--packages/website/ts/containers/web3_wrapper_documentation.ts38
-rw-r--r--packages/website/ts/containers/zero_ex_js_documentation.ts38
-rw-r--r--packages/website/ts/index.tsx23
-rw-r--r--packages/website/ts/pages/documentation/doc_page.tsx4
-rw-r--r--packages/website/ts/pages/documentation/docs_home.tsx22
-rw-r--r--packages/website/ts/types.ts8
-rw-r--r--packages/website/ts/utils/documentation_container.ts35
22 files changed, 283 insertions, 469 deletions
diff --git a/packages/website/ts/containers/asset_buyer_documentation.ts b/packages/website/ts/containers/asset_buyer_documentation.ts
index c93b9332d..815176e47 100644
--- a/packages/website/ts/containers/asset_buyer_documentation.ts
+++ b/packages/website/ts/containers/asset_buyer_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown = require('md/docs/asset_buyer/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/asset-buyer',
type: SupportedDocJson.TypeDoc,
displayName: 'AssetBuyer',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/asset-buyer',
markdownMenu: {
introduction: [markdownSections.introduction],
install: [markdownSections.installation],
@@ -40,31 +38,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/connect_documentation.ts b/packages/website/ts/containers/connect_documentation.ts
index 0f11e0809..19fd0ee56 100644
--- a/packages/website/ts/containers/connect_documentation.ts
+++ b/packages/website/ts/containers/connect_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/connect/1/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/connect',
type: SupportedDocJson.TypeDoc,
displayName: '0x Connect',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/connect',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -45,31 +43,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/contract_wrappers_documentation.ts b/packages/website/ts/containers/contract_wrappers_documentation.ts
index 4c05605e3..dec95ae62 100644
--- a/packages/website/ts/containers/contract_wrappers_documentation.ts
+++ b/packages/website/ts/containers/contract_wrappers_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/contract_wrappers/1/introduction');
@@ -24,7 +22,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/contract-wrappers',
type: SupportedDocJson.TypeDoc,
displayName: 'Contract Wrappers',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/contract-wrappers',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -40,31 +38,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- docsInfo,
- translate: state.translate,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/ethereum_types_documentation.ts b/packages/website/ts/containers/ethereum_types_documentation.ts
index 9d1df1d1f..9b668d515 100644
--- a/packages/website/ts/containers/ethereum_types_documentation.ts
+++ b/packages/website/ts/containers/ethereum_types_documentation.ts
@@ -1,12 +1,10 @@
-import { constants as docConstants, DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { constants as docConstants, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown = require('md/docs/ethereum_types/introduction');
@@ -36,31 +34,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/json_schemas_documentation.ts b/packages/website/ts/containers/json_schemas_documentation.ts
index 9c4bb8e26..3862ba878 100644
--- a/packages/website/ts/containers/json_schemas_documentation.ts
+++ b/packages/website/ts/containers/json_schemas_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/json_schemas/1/introduction');
@@ -32,7 +30,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/json-schemas',
type: SupportedDocJson.TypeDoc,
displayName: 'JSON Schemas',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/json-schemas',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
schemas: [markdownSections.schemas],
@@ -65,31 +63,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/migrations_documentation.ts b/packages/website/ts/containers/migrations_documentation.ts
index 02919e06e..dd5db3ac6 100644
--- a/packages/website/ts/containers/migrations_documentation.ts
+++ b/packages/website/ts/containers/migrations_documentation.ts
@@ -23,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/migrations',
type: SupportedDocJson.TypeDoc,
displayName: 'Migrations',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/migrations',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
diff --git a/packages/website/ts/containers/order_utils_documentation.ts b/packages/website/ts/containers/order_utils_documentation.ts
index f1d794988..4996c329a 100644
--- a/packages/website/ts/containers/order_utils_documentation.ts
+++ b/packages/website/ts/containers/order_utils_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/order_utils/1/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/order-utils',
type: SupportedDocJson.TypeDoc,
displayName: 'Order utils',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/order-utils',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -41,31 +39,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/order_watcher_documentation.ts b/packages/website/ts/containers/order_watcher_documentation.ts
index 683e1fe9f..f3d3bada8 100644
--- a/packages/website/ts/containers/order_watcher_documentation.ts
+++ b/packages/website/ts/containers/order_watcher_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/order_watcher/1/introduction');
@@ -25,7 +23,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/order-watcher',
type: SupportedDocJson.TypeDoc,
displayName: 'Order Watcher',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/order-watcher',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -41,31 +39,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/smart_contracts_documentation.ts b/packages/website/ts/containers/smart_contracts_documentation.ts
index 57c98fa3b..7c0de5515 100644
--- a/packages/website/ts/containers/smart_contracts_documentation.ts
+++ b/packages/website/ts/containers/smart_contracts_documentation.ts
@@ -1,13 +1,11 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import { Networks } from '@0x/react-shared';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths, SmartContractDocSections as Sections } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages, SmartContractDocSections as Sections } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/smart_contracts/1/introduction');
@@ -91,31 +89,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
},
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
- docsInfo: DocsInfo;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
- docsInfo,
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/sol_compiler_documentation.ts b/packages/website/ts/containers/sol_compiler_documentation.ts
index f3a793e80..e899e9627 100644
--- a/packages/website/ts/containers/sol_compiler_documentation.ts
+++ b/packages/website/ts/containers/sol_compiler_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/sol-compiler/1/introduction');
@@ -27,7 +25,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/sol-compiler',
type: SupportedDocJson.TypeDoc,
displayName: 'Solidity Compiler',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-compiler',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
},
@@ -45,31 +43,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/sol_cov_documentation.ts b/packages/website/ts/containers/sol_cov_documentation.ts
deleted file mode 100644
index 8944ec70a..000000000
--- a/packages/website/ts/containers/sol_cov_documentation.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
-import * as React from 'react';
-import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
-import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
-
-/* tslint:disable:no-var-requires */
-const IntroMarkdown1 = require('md/docs/sol_cov/1/introduction');
-const InstallationMarkdown1 = require('md/docs/sol_cov/1/installation');
-const UsageMarkdown1 = require('md/docs/sol_cov/1/usage');
-const IntroMarkdown2 = require('md/docs/sol_cov/2/introduction');
-const InstallationMarkdown2 = require('md/docs/sol_cov/2/installation');
-const UsageMarkdown2 = require('md/docs/sol_cov/2/usage');
-/* tslint:enable:no-var-requires */
-
-const markdownSections = {
- introduction: 'introduction',
- installation: 'installation',
- usage: 'usage',
-};
-
-const docsInfoConfig: DocsInfoConfig = {
- id: DocPackages.SolCov,
- packageName: '@0x/sol-cov',
- type: SupportedDocJson.TypeDoc,
- displayName: 'Sol-cov',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
- markdownMenu: {
- 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
- },
- sectionNameToMarkdownByVersion: {
- '0.0.1': {
- [markdownSections.introduction]: IntroMarkdown1,
- [markdownSections.installation]: InstallationMarkdown1,
- [markdownSections.usage]: UsageMarkdown1,
- },
- '2.1.8': {
- [markdownSections.introduction]: IntroMarkdown2,
- [markdownSections.installation]: InstallationMarkdown2,
- [markdownSections.usage]: UsageMarkdown2,
- },
- },
- markdownSections,
-};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
-
-export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
- DocPageComponent,
-);
diff --git a/packages/website/ts/containers/sol_coverage_documentation.ts b/packages/website/ts/containers/sol_coverage_documentation.ts
new file mode 100644
index 000000000..25d67e2d0
--- /dev/null
+++ b/packages/website/ts/containers/sol_coverage_documentation.ts
@@ -0,0 +1,43 @@
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/sol_coverage/introduction');
+const InstallationMarkdown = require('md/docs/sol_coverage/installation');
+const UsageMarkdown = require('md/docs/sol_coverage/usage');
+/* tslint:enable:no-var-requires */
+
+const markdownSections = {
+ introduction: 'introduction',
+ installation: 'installation',
+ usage: 'usage',
+};
+
+const docsInfoConfig: DocsInfoConfig = {
+ id: DocPackages.SolCoverage,
+ packageName: '@0x/sol-coverage',
+ type: SupportedDocJson.TypeDoc,
+ displayName: 'Sol-coverage',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-coverage',
+ markdownMenu: {
+ 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
+ },
+ sectionNameToMarkdownByVersion: {
+ '1.0.0': {
+ [markdownSections.introduction]: IntroMarkdown,
+ [markdownSections.installation]: InstallationMarkdown,
+ [markdownSections.usage]: UsageMarkdown,
+ },
+ },
+ markdownSections,
+};
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
+
+export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
+ DocPageComponent,
+);
diff --git a/packages/website/ts/containers/sol_profiler_documentation.ts b/packages/website/ts/containers/sol_profiler_documentation.ts
new file mode 100644
index 000000000..14839831e
--- /dev/null
+++ b/packages/website/ts/containers/sol_profiler_documentation.ts
@@ -0,0 +1,43 @@
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/sol_profiler/introduction');
+const InstallationMarkdown = require('md/docs/sol_profiler/installation');
+const UsageMarkdown = require('md/docs/sol_profiler/usage');
+/* tslint:enable:no-var-requires */
+
+const markdownSections = {
+ introduction: 'introduction',
+ installation: 'installation',
+ usage: 'usage',
+};
+
+const docsInfoConfig: DocsInfoConfig = {
+ id: DocPackages.SolProfiler,
+ packageName: '@0x/sol-profiler',
+ type: SupportedDocJson.TypeDoc,
+ displayName: 'Sol-profiler',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-profiler',
+ markdownMenu: {
+ 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
+ },
+ sectionNameToMarkdownByVersion: {
+ '1.0.0': {
+ [markdownSections.introduction]: IntroMarkdown,
+ [markdownSections.installation]: InstallationMarkdown,
+ [markdownSections.usage]: UsageMarkdown,
+ },
+ },
+ markdownSections,
+};
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
+
+export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
+ DocPageComponent,
+);
diff --git a/packages/website/ts/containers/sol_trace_documentation.ts b/packages/website/ts/containers/sol_trace_documentation.ts
new file mode 100644
index 000000000..c5286f1ff
--- /dev/null
+++ b/packages/website/ts/containers/sol_trace_documentation.ts
@@ -0,0 +1,43 @@
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
+
+/* tslint:disable:no-var-requires */
+const IntroMarkdown = require('md/docs/sol_trace/introduction');
+const InstallationMarkdown = require('md/docs/sol_trace/installation');
+const UsageMarkdown = require('md/docs/sol_trace/usage');
+/* tslint:enable:no-var-requires */
+
+const markdownSections = {
+ introduction: 'introduction',
+ installation: 'installation',
+ usage: 'usage',
+};
+
+const docsInfoConfig: DocsInfoConfig = {
+ id: DocPackages.SolTrace,
+ packageName: '@0x/sol-trace',
+ type: SupportedDocJson.TypeDoc,
+ displayName: 'Sol-trace',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/sol-trace',
+ markdownMenu: {
+ 'getting-started': [markdownSections.introduction, markdownSections.installation, markdownSections.usage],
+ },
+ sectionNameToMarkdownByVersion: {
+ '1.0.0': {
+ [markdownSections.introduction]: IntroMarkdown,
+ [markdownSections.installation]: InstallationMarkdown,
+ [markdownSections.usage]: UsageMarkdown,
+ },
+ },
+ markdownSections,
+};
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
+
+export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
+ DocPageComponent,
+);
diff --git a/packages/website/ts/containers/subproviders_documentation.ts b/packages/website/ts/containers/subproviders_documentation.ts
index 0e421777b..c7fb807a6 100644
--- a/packages/website/ts/containers/subproviders_documentation.ts
+++ b/packages/website/ts/containers/subproviders_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/subproviders/1/introduction');
@@ -26,7 +24,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/subproviders',
type: SupportedDocJson.TypeDoc,
displayName: 'Subproviders',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/subproviders',
markdownMenu: {
'getting-started': [docSections.introduction, docSections.installation, docSections.ledgerNodeHid],
},
@@ -44,31 +42,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections: docSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/web3_wrapper_documentation.ts b/packages/website/ts/containers/web3_wrapper_documentation.ts
index 9c8c34621..ad286da1a 100644
--- a/packages/website/ts/containers/web3_wrapper_documentation.ts
+++ b/packages/website/ts/containers/web3_wrapper_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdown1 = require('md/docs/web3_wrapper/1/introduction');
@@ -24,7 +22,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '@0x/web3-wrapper',
type: SupportedDocJson.TypeDoc,
displayName: 'Web3Wrapper',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/web3-wrapper',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
@@ -40,31 +38,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- translate: state.translate,
- docsInfo,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/containers/zero_ex_js_documentation.ts b/packages/website/ts/containers/zero_ex_js_documentation.ts
index e0ea6e275..5da8d5e52 100644
--- a/packages/website/ts/containers/zero_ex_js_documentation.ts
+++ b/packages/website/ts/containers/zero_ex_js_documentation.ts
@@ -1,12 +1,10 @@
-import { DocsInfo, DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
+import { DocsInfoConfig, SupportedDocJson } from '@0x/react-docs';
import * as React from 'react';
import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
import { DocPage as DocPageComponent, DocPageProps } from 'ts/pages/documentation/doc_page';
-import { Dispatcher } from 'ts/redux/dispatcher';
-import { State } from 'ts/redux/reducer';
-import { DocPackages, ScreenWidths } from 'ts/types';
-import { Translate } from 'ts/utils/translate';
+import { DocPackages } from 'ts/types';
+
+import { getMapStateToProps, mapDispatchToProps } from '../utils/documentation_container';
/* tslint:disable:no-var-requires */
const IntroMarkdownV0 = require('md/docs/0xjs/0.0.1/introduction');
@@ -37,7 +35,7 @@ const docsInfoConfig: DocsInfoConfig = {
packageName: '0x.js',
type: SupportedDocJson.TypeDoc,
displayName: '0x.js',
- packageUrl: 'https://github.com/0xProject/0x-monorepo',
+ packageUrl: 'https://github.com/0xProject/0x-monorepo/packages/0x.js',
markdownMenu: {
'getting-started': [
markdownSections.introduction,
@@ -72,31 +70,7 @@ const docsInfoConfig: DocsInfoConfig = {
},
markdownSections,
};
-const docsInfo = new DocsInfo(docsInfoConfig);
-
-interface ConnectedState {
- docsVersion: string;
- availableDocVersions: string[];
- docsInfo: DocsInfo;
- translate: Translate;
- screenWidth: ScreenWidths;
-}
-
-interface ConnectedDispatch {
- dispatcher: Dispatcher;
-}
-
-const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
- docsVersion: state.docsVersion,
- availableDocVersions: state.availableDocVersions,
- docsInfo,
- translate: state.translate,
- screenWidth: state.screenWidth,
-});
-
-const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
- dispatcher: new Dispatcher(dispatch),
-});
+const mapStateToProps = getMapStateToProps(docsInfoConfig);
export const Documentation: React.ComponentClass<DocPageProps> = connect(mapStateToProps, mapDispatchToProps)(
DocPageComponent,
diff --git a/packages/website/ts/index.tsx b/packages/website/ts/index.tsx
index 45054772c..4ed66c572 100644
--- a/packages/website/ts/index.tsx
+++ b/packages/website/ts/index.tsx
@@ -69,8 +69,14 @@ const LazySolCompilerDocumentation = createLazyComponent('Documentation', async
const LazyJSONSchemasDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "jsonSchemasDocs" */ 'ts/containers/json_schemas_documentation'),
);
-const LazySolCovDocumentation = createLazyComponent('Documentation', async () =>
- import(/* webpackChunkName: "solCovDocs" */ 'ts/containers/sol_cov_documentation'),
+const LazySolCoverageDocumentation = createLazyComponent('Documentation', async () =>
+ import(/* webpackChunkName: "solCoverageDocs" */ 'ts/containers/sol_coverage_documentation'),
+);
+const LazySolTraceDocumentation = createLazyComponent('Documentation', async () =>
+ import(/* webpackChunkName: "solTraceDocs" */ 'ts/containers/sol_trace_documentation'),
+);
+const LazySolProfilerDocumentation = createLazyComponent('Documentation', async () =>
+ import(/* webpackChunkName: "solProfilerDocs" */ 'ts/containers/sol_profiler_documentation'),
);
const LazySubprovidersDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "subproviderDocs" */ 'ts/containers/subproviders_documentation'),
@@ -149,7 +155,18 @@ render(
path={`${WebsitePaths.SolCompiler}/:version?`}
component={LazySolCompilerDocumentation}
/>
- <Route path={`${WebsitePaths.SolCov}/:version?`} component={LazySolCovDocumentation} />
+ <Route
+ path={`${WebsitePaths.SolCoverage}/:version?`}
+ component={LazySolCoverageDocumentation}
+ />
+ <Route
+ path={`${WebsitePaths.SolTrace}/:version?`}
+ component={LazySolTraceDocumentation}
+ />
+ <Route
+ path={`${WebsitePaths.SolProfiler}/:version?`}
+ component={LazySolProfilerDocumentation}
+ />
<Route
path={`${WebsitePaths.JSONSchemas}/:version?`}
component={LazyJSONSchemasDocumentation}
diff --git a/packages/website/ts/pages/documentation/doc_page.tsx b/packages/website/ts/pages/documentation/doc_page.tsx
index 3ae071774..14bad7329 100644
--- a/packages/website/ts/pages/documentation/doc_page.tsx
+++ b/packages/website/ts/pages/documentation/doc_page.tsx
@@ -33,7 +33,9 @@ const docIdToSubpackageName: { [id: string]: string } = {
[DocPackages.ContractWrappers]: 'contract-wrappers',
[DocPackages.SolCompiler]: 'sol-compiler',
[DocPackages.JSONSchemas]: 'json-schemas',
- [DocPackages.SolCov]: 'sol-cov',
+ [DocPackages.SolCoverage]: 'sol-coverage',
+ [DocPackages.SolProfiler]: 'sol-profiler',
+ [DocPackages.SolTrace]: 'sol-trace',
[DocPackages.Subproviders]: 'subproviders',
[DocPackages.OrderUtils]: 'order-utils',
[DocPackages.OrderWatcher]: 'order-watcher',
diff --git a/packages/website/ts/pages/documentation/docs_home.tsx b/packages/website/ts/pages/documentation/docs_home.tsx
index fd3932bfa..d11cf02fb 100644
--- a/packages/website/ts/pages/documentation/docs_home.tsx
+++ b/packages/website/ts/pages/documentation/docs_home.tsx
@@ -218,10 +218,26 @@ const CATEGORY_TO_PACKAGES: ObjectMap<Package[]> = {
},
{
description:
- 'A Solidity code coverage tool. Sol-cov uses transaction traces to figure out which lines of your code has been covered by your tests.',
+ 'A Solidity code coverage tool. Sol-coverage uses transaction traces to figure out which lines of your code has been covered by your tests.',
link: {
- title: '@0x/sol-cov',
- to: WebsitePaths.SolCov,
+ title: '@0x/sol-coverage',
+ to: WebsitePaths.SolCoverage,
+ },
+ },
+ {
+ description:
+ 'A Solidity profiler. Sol-profiler uses transaction traces to figure out line-by-line gas consumption.',
+ link: {
+ title: '@0x/sol-profiler',
+ to: WebsitePaths.SolProfiler,
+ },
+ },
+ {
+ description:
+ 'A Solidity revert trace tool. Sol-trace prints human-readable revert trace whenever the revert happens.',
+ link: {
+ title: '@0x/sol-trace',
+ to: WebsitePaths.SolTrace,
},
},
{
diff --git a/packages/website/ts/types.ts b/packages/website/ts/types.ts
index 37bd73063..50114e2d6 100644
--- a/packages/website/ts/types.ts
+++ b/packages/website/ts/types.ts
@@ -370,7 +370,9 @@ export enum WebsitePaths {
OrderWatcher = '/docs/order-watcher',
SolCompiler = '/docs/sol-compiler',
JSONSchemas = '/docs/json-schemas',
- SolCov = '/docs/sol-cov',
+ SolCoverage = '/docs/sol-coverage',
+ SolProfiler = '/docs/sol-profiler',
+ SolTrace = '/docs/sol-trace',
Subproviders = '/docs/subproviders',
OrderUtils = '/docs/order-utils',
EthereumTypes = '/docs/ethereum-types',
@@ -386,7 +388,9 @@ export enum DocPackages {
Web3Wrapper = 'WEB3_WRAPPER',
SolCompiler = 'SOL_COMPILER',
JSONSchemas = 'JSON_SCHEMAS',
- SolCov = 'SOL_COV',
+ SolCoverage = 'SOL_COVERAGE',
+ SolTrace = 'SOL_TRACE',
+ SolProfiler = 'SOL_PROFILER',
Subproviders = 'SUBPROVIDERS',
OrderUtils = 'ORDER_UTILS',
EthereumTypes = 'ETHEREUM_TYPES',
diff --git a/packages/website/ts/utils/documentation_container.ts b/packages/website/ts/utils/documentation_container.ts
new file mode 100644
index 000000000..54e8a2c1a
--- /dev/null
+++ b/packages/website/ts/utils/documentation_container.ts
@@ -0,0 +1,35 @@
+import { DocsInfo, DocsInfoConfig } from '@0x/react-docs';
+import { Dispatch } from 'redux';
+import { DocPageProps } from 'ts/pages/documentation/doc_page';
+import { Dispatcher } from 'ts/redux/dispatcher';
+import { State } from 'ts/redux/reducer';
+import { ScreenWidths } from 'ts/types';
+import { Translate } from 'ts/utils/translate';
+
+export interface ConnectedState {
+ docsVersion: string;
+ availableDocVersions: string[];
+ docsInfo: DocsInfo;
+ translate: Translate;
+ screenWidth: ScreenWidths;
+}
+
+export interface ConnectedDispatch {
+ dispatcher: Dispatcher;
+}
+
+export const mapDispatchToProps = (dispatch: Dispatch<State>): ConnectedDispatch => ({
+ dispatcher: new Dispatcher(dispatch),
+});
+
+export const getMapStateToProps = (docsInfoConfig: DocsInfoConfig) => {
+ const docsInfo = new DocsInfo(docsInfoConfig);
+ const mapStateToProps = (state: State, _ownProps: DocPageProps): ConnectedState => ({
+ docsVersion: state.docsVersion,
+ availableDocVersions: state.availableDocVersions,
+ translate: state.translate,
+ docsInfo,
+ screenWidth: state.screenWidth,
+ });
+ return mapStateToProps;
+};