Create migrations doc reference page

This commit is contained in:
Fabio Berger 2018-11-21 11:47:24 +00:00
parent a8803431b3
commit db26ca977f
10 changed files with 112 additions and 2 deletions

View File

@ -40,7 +40,7 @@
}, },
"config": { "config": {
"mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic", "mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic",
"packagesWithDocPages": "0x.js connect json-schemas subproviders web3-wrapper contract-wrappers order-utils order-watcher sol-compiler sol-cov ethereum-types asset-buyer" "packagesWithDocPages": "0x.js connect json-schemas subproviders web3-wrapper contract-wrappers order-utils order-watcher sol-compiler sol-cov ethereum-types asset-buyer migrations"
}, },
"bundlewatch": { "bundlewatch": {
"files": [ "files": [

View File

@ -13,7 +13,13 @@
"clean": "shx rm -rf lib", "clean": "shx rm -rf lib",
"lint": "tslint --format stylish --project .", "lint": "tslint --format stylish --project .",
"migrate:v2": "run-s build script:migrate:v2", "migrate:v2": "run-s build script:migrate:v2",
"script:migrate:v2": "node ./lib/migrate.js --contracts-version 2.0.0" "script:migrate:v2": "node ./lib/migrate.js --contracts-version 2.0.0",
"docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
},
"config": {
"postpublish": {
"assets": []
}
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
"devDependencies": { "devDependencies": {
@ -25,6 +31,7 @@
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"shx": "^0.2.2", "shx": "^0.2.2",
"tslint": "5.11.0", "tslint": "5.11.0",
"typedoc": "0.13.0",
"typescript": "3.0.1", "typescript": "3.0.1",
"yargs": "^10.0.3" "yargs": "^10.0.3"
}, },

View File

@ -1 +1,3 @@
export { Provider, TxData, JSONRPCRequestPayload, JSONRPCErrorCallback, TxDataPayable, JSONRPCResponsePayload, JSONRPCResponseError } from 'ethereum-types';
export { ContractAddresses } from '@0x/contract-addresses';
export { runMigrationsAsync, runMigrationsOnceAsync } from './migration'; export { runMigrationsAsync, runMigrationsOnceAsync } from './migration';

View File

@ -0,0 +1,7 @@
{
"extends": "../../typedoc-tsconfig",
"compilerOptions": {
"outDir": "lib"
},
"include": ["./src/**/*", "./test/**/*"]
}

View File

@ -0,0 +1,17 @@
**Install**
```bash
yarn add @0x/migrations
```
**Import**
```javascript
import { runMigrationsAsync } from '@0x/migrations';
```
or
```javascript
var runMigrationsAsync = require('@0x/migrations').runMigrationsAsync;
```

View File

@ -0,0 +1 @@
Welcome to the [@0x/migrations](https://github.com/0xProject/0x-monorepo/tree/development/packages/migrations) documentation! This package is intended for developers who would like to deploy the 0x protocol system of smart contracts to a custom testnet. If you want to test against existing testnets, check out our pre-deployed [Ganache snapshot](https://0xproject.com/wiki#Ganache-Setup-Guide) or where 0x is already deployed on [popular testnets](https://0xproject.com/wiki#Deployed-Addresses).

View File

@ -0,0 +1,66 @@
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/migrations/1/introduction');
const InstallationMarkdown1 = require('md/docs/migrations/1/installation');
/* tslint:enable:no-var-requires */
const markdownSections = {
introduction: 'introduction',
installation: 'installation',
};
const docsInfoConfig: DocsInfoConfig = {
id: DocPackages.Migrations,
packageName: '@0x/migrations',
type: SupportedDocJson.TypeDoc,
displayName: 'Migrations',
packageUrl: 'https://github.com/0xProject/0x-monorepo',
markdownMenu: {
'getting-started': [markdownSections.introduction, markdownSections.installation],
},
sectionNameToMarkdownByVersion: {
'2.0.4': {
[markdownSections.introduction]: IntroMarkdown1,
[markdownSections.installation]: InstallationMarkdown1,
},
},
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,
);

View File

@ -40,6 +40,9 @@ const LazyZeroExJSDocumentation = createLazyComponent('Documentation', async ()
const LazyContractWrappersDocumentation = createLazyComponent('Documentation', async () => const LazyContractWrappersDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "contractWrapperDocs" */ 'ts/containers/contract_wrappers_documentation'), import(/* webpackChunkName: "contractWrapperDocs" */ 'ts/containers/contract_wrappers_documentation'),
); );
const LazyMigrationsDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "migrationsDocs" */ 'ts/containers/migrations_documentation'),
);
const LazyOrderWatcherDocumentation = createLazyComponent('Documentation', async () => const LazyOrderWatcherDocumentation = createLazyComponent('Documentation', async () =>
import(/* webpackChunkName: "orderWatcherDocs" */ 'ts/containers/order_watcher_documentation'), import(/* webpackChunkName: "orderWatcherDocs" */ 'ts/containers/order_watcher_documentation'),
); );
@ -102,6 +105,10 @@ render(
path={`${WebsitePaths.ContractWrappers}/:version?`} path={`${WebsitePaths.ContractWrappers}/:version?`}
component={LazyContractWrappersDocumentation} component={LazyContractWrappersDocumentation}
/> />
<Route
path={`${WebsitePaths.Migrations}/:version?`}
component={LazyMigrationsDocumentation}
/>
<Route <Route
path={`${WebsitePaths.OrderWatcher}/:version?`} path={`${WebsitePaths.OrderWatcher}/:version?`}
component={LazyOrderWatcherDocumentation} component={LazyOrderWatcherDocumentation}

View File

@ -39,6 +39,7 @@ const docIdToSubpackageName: { [id: string]: string } = {
[DocPackages.OrderWatcher]: 'order-watcher', [DocPackages.OrderWatcher]: 'order-watcher',
[DocPackages.EthereumTypes]: 'ethereum-types', [DocPackages.EthereumTypes]: 'ethereum-types',
[DocPackages.AssetBuyer]: 'asset-buyer', [DocPackages.AssetBuyer]: 'asset-buyer',
[DocPackages.Migrations]: 'migrations',
}; };
export interface DocPageProps { export interface DocPageProps {

View File

@ -366,6 +366,7 @@ export enum WebsitePaths {
OrderUtils = '/docs/order-utils', OrderUtils = '/docs/order-utils',
EthereumTypes = '/docs/ethereum-types', EthereumTypes = '/docs/ethereum-types',
AssetBuyer = '/docs/asset-buyer', AssetBuyer = '/docs/asset-buyer',
Migrations = '/docs/migrations',
Careers = '/careers', Careers = '/careers',
} }
@ -383,6 +384,7 @@ export enum DocPackages {
ContractWrappers = 'CONTRACT_WRAPPERS', ContractWrappers = 'CONTRACT_WRAPPERS',
OrderWatcher = 'ORDER_WATCHER', OrderWatcher = 'ORDER_WATCHER',
AssetBuyer = 'ASSET_BUYER', AssetBuyer = 'ASSET_BUYER',
Migrations = 'MIGRATIONS',
} }
export enum Key { export enum Key {