Merge branch 'development' into improvement/addCustomTslintRules

* development:
  fix style errors
  Fix circular dependency
  Add my profile image to images
  Add myself to about page
  Add dogfood configs to website
  Change minimum Node version to 6.12
  Document Node.js version requirement and add it to package.json
This commit is contained in:
Fabio Berger 2018-05-16 15:15:23 +02:00
commit 22f3f57f44
35 changed files with 114 additions and 16 deletions

View File

@ -62,6 +62,8 @@ Dedicated documentation pages:
* [Sol-cov](https://0xproject.com/docs/sol-cov) * [Sol-cov](https://0xproject.com/docs/sol-cov)
* [Standard Relayer API](https://github.com/0xProject/standard-relayer-api/blob/master/README.md) * [Standard Relayer API](https://github.com/0xProject/standard-relayer-api/blob/master/README.md)
Node version >= 6.12 is required.
Most of the packages require additional typings for external dependencies. Most of the packages require additional typings for external dependencies.
You can include those by prepending @0xproject/typescript-typings package to your [`typeRoots`](http://www.typescriptlang.org/docs/handbook/tsconfig-json.html) config. You can include those by prepending @0xproject/typescript-typings package to your [`typeRoots`](http://www.typescriptlang.org/docs/handbook/tsconfig-json.html) config.

View File

@ -1,6 +1,9 @@
{ {
"private": true, "private": true,
"name": "0x-monorepo", "name": "0x-monorepo",
"engines": {
"node" : ">=6.12"
},
"workspaces": [ "workspaces": [
"packages/*" "packages/*"
], ],

View File

@ -1,6 +1,9 @@
{ {
"name": "0x.js", "name": "0x.js",
"version": "0.37.2", "version": "0.37.2",
"engines": {
"node" : ">=6.12"
},
"description": "A javascript library for interacting with the 0x protocol", "description": "A javascript library for interacting with the 0x protocol",
"keywords": [ "keywords": [
"0x.js", "0x.js",
@ -62,9 +65,6 @@
"url": "https://github.com/0xProject/0x-monorepo" "url": "https://github.com/0xProject/0x-monorepo"
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
"engines": {
"node": ">=6.0.0"
},
"devDependencies": { "devDependencies": {
"@0xproject/abi-gen": "^0.2.13", "@0xproject/abi-gen": "^0.2.13",
"@0xproject/sol-compiler": "^0.4.3", "@0xproject/sol-compiler": "^0.4.3",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/abi-gen", "name": "@0xproject/abi-gen",
"version": "0.2.13", "version": "0.2.13",
"engines": {
"node" : ">=6.12"
},
"description": "Generate contract wrappers from ABI and handlebars templates", "description": "Generate contract wrappers from ABI and handlebars templates",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/assert", "name": "@0xproject/assert",
"version": "0.2.9", "version": "0.2.9",
"engines": {
"node" : ">=6.12"
},
"description": "Provides a standard way of performing type and schema validation across 0x projects", "description": "Provides a standard way of performing type and schema validation across 0x projects",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/base-contract", "name": "@0xproject/base-contract",
"version": "0.3.1", "version": "0.3.1",
"engines": {
"node" : ">=6.12"
},
"description": "0x Base TS contract", "description": "0x Base TS contract",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/connect", "name": "@0xproject/connect",
"version": "0.6.12", "version": "0.6.12",
"engines": {
"node" : ">=6.12"
},
"description": "A javascript library for interacting with the standard relayer api", "description": "A javascript library for interacting with the standard relayer api",
"keywords": [ "keywords": [
"connect", "connect",
@ -42,9 +45,6 @@
}, },
"author": "Brandon Millman", "author": "Brandon Millman",
"license": "Apache-2.0", "license": "Apache-2.0",
"engines": {
"node": ">=6.0.0"
},
"bugs": { "bugs": {
"url": "https://github.com/0xProject/0x-monorepo/issues" "url": "https://github.com/0xProject/0x-monorepo/issues"
}, },

View File

@ -2,6 +2,9 @@
"private": true, "private": true,
"name": "contracts", "name": "contracts",
"version": "2.1.28", "version": "2.1.28",
"engines": {
"node" : ">=6.12"
},
"description": "Smart contract components of 0x protocol", "description": "Smart contract components of 0x protocol",
"main": "index.js", "main": "index.js",
"directories": { "directories": {

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/dev-utils", "name": "@0xproject/dev-utils",
"version": "0.4.1", "version": "0.4.1",
"engines": {
"node" : ">=6.12"
},
"description": "0x dev TS utils", "description": "0x dev TS utils",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/json-schemas", "name": "@0xproject/json-schemas",
"version": "0.7.23", "version": "0.7.23",
"engines": {
"node" : ">=6.12"
},
"description": "0x-related json schemas", "description": "0x-related json schemas",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/metacoin", "name": "@0xproject/metacoin",
"version": "0.0.6", "version": "0.0.6",
"engines": {
"node" : ">=6.12"
},
"private": true, "private": true,
"description": "Example solidity project using 0x dev tools", "description": "Example solidity project using 0x dev tools",
"scripts": { "scripts": {

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/migrations", "name": "@0xproject/migrations",
"version": "0.0.5", "version": "0.0.5",
"engines": {
"node" : ">=6.12"
},
"description": "0x smart contract migrations", "description": "0x smart contract migrations",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/monorepo-scripts", "name": "@0xproject/monorepo-scripts",
"version": "0.1.19", "version": "0.1.19",
"engines": {
"node" : ">=6.12"
},
"description": "Helper scripts for the monorepo", "description": "Helper scripts for the monorepo",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/order-utils", "name": "@0xproject/order-utils",
"version": "0.0.4", "version": "0.0.4",
"engines": {
"node" : ">=6.12"
},
"description": "0x order utils", "description": "0x order utils",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -2,6 +2,9 @@
"private": true, "private": true,
"name": "@0xproject/react-docs-example", "name": "@0xproject/react-docs-example",
"version": "0.0.11", "version": "0.0.11",
"engines": {
"node" : ">=6.12"
},
"description": "An example app using react-docs", "description": "An example app using react-docs",
"scripts": { "scripts": {
"lint": "tslint --project .", "lint": "tslint --project .",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/react-docs", "name": "@0xproject/react-docs",
"version": "0.0.11", "version": "0.0.11",
"engines": {
"node" : ">=6.12"
},
"description": "React documentation component for rendering TypeDoc & Doxity generated JSON", "description": "React documentation component for rendering TypeDoc & Doxity generated JSON",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/react-shared", "name": "@0xproject/react-shared",
"version": "0.1.6", "version": "0.1.6",
"engines": {
"node" : ">=6.12"
},
"description": "0x shared react components", "description": "0x shared react components",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/sol-compiler", "name": "@0xproject/sol-compiler",
"version": "0.4.3", "version": "0.4.3",
"engines": {
"node" : ">=6.12"
},
"description": "Solidity compiler wrapper and artifactor", "description": "Solidity compiler wrapper and artifactor",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/sol-cov", "name": "@0xproject/sol-cov",
"version": "0.0.10", "version": "0.0.10",
"engines": {
"node" : ">=6.12"
},
"description": "Generate coverage reports for Solidity code", "description": "Generate coverage reports for Solidity code",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/sol-resolver", "name": "@0xproject/sol-resolver",
"version": "0.0.4", "version": "0.0.4",
"engines": {
"node" : ">=6.12"
},
"description": "Import resolver for smart contracts dependencies", "description": "Import resolver for smart contracts dependencies",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/sra-report", "name": "@0xproject/sra-report",
"version": "0.0.14", "version": "0.0.14",
"engines": {
"node" : ">=6.12"
},
"description": "Generate reports for standard relayer API compliance", "description": "Generate reports for standard relayer API compliance",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/subproviders", "name": "@0xproject/subproviders",
"version": "0.10.1", "version": "0.10.1",
"engines": {
"node" : ">=6.12"
},
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",
"license": "Apache-2.0", "license": "Apache-2.0",

View File

@ -2,6 +2,9 @@
"private": true, "private": true,
"name": "@0xproject/testnet-faucets", "name": "@0xproject/testnet-faucets",
"version": "1.0.29", "version": "1.0.29",
"engines": {
"node" : ">=6.12"
},
"description": "A faucet micro-service that dispenses test ERC20 tokens or Ether", "description": "A faucet micro-service that dispenses test ERC20 tokens or Ether",
"main": "server.js", "main": "server.js",
"scripts": { "scripts": {

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/tslint-config", "name": "@0xproject/tslint-config",
"version": "0.4.17", "version": "0.4.17",
"engines": {
"node" : ">=6.12"
},
"description": "Lint rules related to 0xProject for TSLint", "description": "Lint rules related to 0xProject for TSLint",
"main": "tslint.json", "main": "tslint.json",
"scripts": { "scripts": {

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/types", "name": "@0xproject/types",
"version": "0.6.3", "version": "0.6.3",
"engines": {
"node" : ">=6.12"
},
"description": "0x types", "description": "0x types",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/typescript-typings", "name": "@0xproject/typescript-typings",
"version": "0.3.1", "version": "0.3.1",
"engines": {
"node" : ">=6.12"
},
"description": "0x project typescript type definitions", "description": "0x project typescript type definitions",
"scripts": { "scripts": {
"watch": "tsc -w", "watch": "tsc -w",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/utils", "name": "@0xproject/utils",
"version": "0.6.1", "version": "0.6.1",
"engines": {
"node" : ">=6.12"
},
"description": "0x TS utils", "description": "0x TS utils",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/web3-wrapper", "name": "@0xproject/web3-wrapper",
"version": "0.6.3", "version": "0.6.3",
"engines": {
"node" : ">=6.12"
},
"description": "Wraps around web3 and gives a nicer interface", "description": "Wraps around web3 and gives a nicer interface",
"main": "lib/src/index.js", "main": "lib/src/index.js",
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",

View File

@ -1,6 +1,9 @@
{ {
"name": "@0xproject/website", "name": "@0xproject/website",
"version": "0.0.32", "version": "0.0.32",
"engines": {
"node" : ">=6.12"
},
"private": true, "private": true,
"description": "Website and 0x portal dapp", "description": "Website and 0x portal dapp",
"scripts": { "scripts": {
@ -8,6 +11,7 @@
"clean": "shx rm -f public/bundle*", "clean": "shx rm -f public/bundle*",
"lint": "tslint --project . 'ts/**/*.ts' 'ts/**/*.tsx'", "lint": "tslint --project . 'ts/**/*.ts' 'ts/**/*.tsx'",
"watch": "webpack-dev-server --content-base public --https", "watch": "webpack-dev-server --content-base public --https",
"deploy_dogfood": "npm run build; aws s3 sync ./public/. s3://dogfood-0xproject --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers",
"deploy_staging": "npm run build; aws s3 sync ./public/. s3://staging-0xproject --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers", "deploy_staging": "npm run build; aws s3 sync ./public/. s3://staging-0xproject --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers",
"deploy_live": "npm run build; aws s3 sync ./public/. s3://0xproject.com --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers" "deploy_live": "npm run build; aws s3 sync ./public/. s3://0xproject.com --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers"
}, },

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -35,7 +35,7 @@ import 'less/all.less';
// At the same time webpack statically parses for System.import() to determine bundle chunk split points // At the same time webpack statically parses for System.import() to determine bundle chunk split points
// so each lazy import needs it's own `System.import()` declaration. // so each lazy import needs it's own `System.import()` declaration.
const LazyPortal = const LazyPortal =
utils.isDevelopment() || utils.isStaging() utils.isDevelopment() || utils.isStaging() || utils.isDogfood()
? createLazyComponent('Portal', async () => ? createLazyComponent('Portal', async () =>
System.import<any>(/* webpackChunkName: "portal" */ 'ts/containers/portal'), System.import<any>(/* webpackChunkName: "portal" */ 'ts/containers/portal'),
) )

View File

@ -128,9 +128,6 @@ const teamRow4: ProfileInfo[] = [
github: '', github: '',
medium: '', medium: '',
}, },
];
const teamRow5: ProfileInfo[] = [
{ {
name: 'Greg Hysen', name: 'Greg Hysen',
title: 'Blockchain Engineer', title: 'Blockchain Engineer',
@ -140,6 +137,9 @@ const teamRow5: ProfileInfo[] = [
github: 'https://github.com/hysz', github: 'https://github.com/hysz',
medium: '', medium: '',
}, },
];
const teamRow5: ProfileInfo[] = [
{ {
name: 'Remco Bloemen', name: 'Remco Bloemen',
title: 'Technical Fellow', title: 'Technical Fellow',
@ -149,6 +149,14 @@ const teamRow5: ProfileInfo[] = [
github: 'http://github.com/recmo', github: 'http://github.com/recmo',
medium: '', medium: '',
}, },
{
name: 'Francesco Agosti',
title: 'Senior Frontend Engineer',
description: `Full-stack engineer. Previously senior software engineer at Yelp. Computer science Duke.`,
image: 'images/team/fragosti.png',
linkedIn: 'https://www.linkedin.com/in/fragosti/',
github: 'http://github.com/fragosti',
},
]; ];
const advisors: ProfileInfo[] = [ const advisors: ProfileInfo[] = [

View File

@ -1,8 +1,8 @@
import * as _ from 'lodash'; import * as _ from 'lodash';
import { ArticlesBySection, WebsiteBackendGasInfo, WebsiteBackendPriceInfo, WebsiteBackendRelayerInfo } from 'ts/types'; import { ArticlesBySection, WebsiteBackendGasInfo, WebsiteBackendPriceInfo, WebsiteBackendRelayerInfo } from 'ts/types';
import { configs } from 'ts/utils/configs';
import { fetchUtils } from 'ts/utils/fetch_utils'; import { fetchUtils } from 'ts/utils/fetch_utils';
import { utils } from 'ts/utils/utils';
const ETH_GAS_STATION_ENDPOINT = '/eth_gas_station'; const ETH_GAS_STATION_ENDPOINT = '/eth_gas_station';
const PRICES_ENDPOINT = '/prices'; const PRICES_ENDPOINT = '/prices';
@ -11,7 +11,7 @@ const WIKI_ENDPOINT = '/wiki';
export const backendClient = { export const backendClient = {
async getGasInfoAsync(): Promise<WebsiteBackendGasInfo> { async getGasInfoAsync(): Promise<WebsiteBackendGasInfo> {
const result = await fetchUtils.requestAsync(configs.BACKEND_BASE_URL, ETH_GAS_STATION_ENDPOINT); const result = await fetchUtils.requestAsync(utils.getBackendBaseUrl(), ETH_GAS_STATION_ENDPOINT);
return result; return result;
}, },
async getPriceInfoAsync(tokenSymbols: string[]): Promise<WebsiteBackendPriceInfo> { async getPriceInfoAsync(tokenSymbols: string[]): Promise<WebsiteBackendPriceInfo> {
@ -22,15 +22,15 @@ export const backendClient = {
const queryParams = { const queryParams = {
tokens: joinedTokenSymbols, tokens: joinedTokenSymbols,
}; };
const result = await fetchUtils.requestAsync(configs.BACKEND_BASE_URL, PRICES_ENDPOINT, queryParams); const result = await fetchUtils.requestAsync(utils.getBackendBaseUrl(), PRICES_ENDPOINT, queryParams);
return result; return result;
}, },
async getRelayerInfosAsync(): Promise<WebsiteBackendRelayerInfo[]> { async getRelayerInfosAsync(): Promise<WebsiteBackendRelayerInfo[]> {
const result = await fetchUtils.requestAsync(configs.BACKEND_BASE_URL, RELAYERS_ENDPOINT); const result = await fetchUtils.requestAsync(utils.getBackendBaseUrl(), RELAYERS_ENDPOINT);
return result; return result;
}, },
async getWikiArticlesBySectionAsync(): Promise<ArticlesBySection> { async getWikiArticlesBySectionAsync(): Promise<ArticlesBySection> {
const result = await fetchUtils.requestAsync(configs.BACKEND_BASE_URL, WIKI_ENDPOINT); const result = await fetchUtils.requestAsync(utils.getBackendBaseUrl(), WIKI_ENDPOINT);
return result; return result;
}, },
}; };

View File

@ -1,5 +1,6 @@
import * as _ from 'lodash'; import * as _ from 'lodash';
import { Environments, OutdatedWrappedEtherByNetworkId, PublicNodeUrlsByNetworkId } from 'ts/types'; import { Environments, OutdatedWrappedEtherByNetworkId, PublicNodeUrlsByNetworkId } from 'ts/types';
import { utils } from 'ts/utils/utils';
const BASE_URL = window.location.origin; const BASE_URL = window.location.origin;
const isDevelopment = _.includes( const isDevelopment = _.includes(
@ -10,13 +11,15 @@ const INFURA_API_KEY = 'T5WSC8cautR4KXyYgsRs';
export const configs = { export const configs = {
AMOUNT_DISPLAY_PRECSION: 5, AMOUNT_DISPLAY_PRECSION: 5,
BACKEND_BASE_URL: 'https://website-api.0xproject.com', BACKEND_BASE_PROD_URL: 'https://website-api.0xproject.com',
BACKEND_BASE_STAGING_URL: 'http://ec2-52-91-181-85.compute-1.amazonaws.com',
BASE_URL, BASE_URL,
BITLY_ACCESS_TOKEN: 'ffc4c1a31e5143848fb7c523b39f91b9b213d208', BITLY_ACCESS_TOKEN: 'ffc4c1a31e5143848fb7c523b39f91b9b213d208',
DEFAULT_DERIVATION_PATH: `44'/60'/0'`, DEFAULT_DERIVATION_PATH: `44'/60'/0'`,
// WARNING: ZRX & WETH MUST always be default trackedTokens // WARNING: ZRX & WETH MUST always be default trackedTokens
DEFAULT_TRACKED_TOKEN_SYMBOLS: ['WETH', 'ZRX'], DEFAULT_TRACKED_TOKEN_SYMBOLS: ['WETH', 'ZRX'],
DOMAIN_STAGING: 'staging-0xproject.s3-website-us-east-1.amazonaws.com', DOMAIN_STAGING: 'staging-0xproject.s3-website-us-east-1.amazonaws.com',
DOMAIN_DOGFOOD: 'dogfood-0xproject.s3-website-us-east-1.amazonaws.com',
DOMAIN_DEVELOPMENT: '0xproject.localhost:3572', DOMAIN_DEVELOPMENT: '0xproject.localhost:3572',
DOMAIN_PRODUCTION: '0xproject.com', DOMAIN_PRODUCTION: '0xproject.com',
ENVIRONMENT: isDevelopment ? Environments.DEVELOPMENT : Environments.PRODUCTION, ENVIRONMENT: isDevelopment ? Environments.DEVELOPMENT : Environments.PRODUCTION,

View File

@ -24,6 +24,8 @@ import * as u2f from 'ts/vendor/u2f_api';
const LG_MIN_EM = 64; const LG_MIN_EM = 64;
const MD_MIN_EM = 52; const MD_MIN_EM = 52;
const isDogfood = (): boolean => _.includes(window.location.href, configs.DOMAIN_DOGFOOD);
export const utils = { export const utils = {
assert(condition: boolean, message: string): void { assert(condition: boolean, message: string): void {
if (!condition) { if (!condition) {
@ -302,10 +304,14 @@ export const utils = {
} }
return parsedProviderName; return parsedProviderName;
}, },
getBackendBaseUrl(): string {
return isDogfood() ? configs.BACKEND_BASE_STAGING_URL : configs.BACKEND_BASE_PROD_URL;
},
isDevelopment(): boolean { isDevelopment(): boolean {
return configs.ENVIRONMENT === Environments.DEVELOPMENT; return configs.ENVIRONMENT === Environments.DEVELOPMENT;
}, },
isStaging(): boolean { isStaging(): boolean {
return _.includes(window.location.href, configs.DOMAIN_STAGING); return _.includes(window.location.href, configs.DOMAIN_STAGING);
}, },
isDogfood,
}; };