From f86cc0dc7a5d75792b8ef7a38cbf9bba04cb6ab4 Mon Sep 17 00:00:00 2001 From: Alex Browne Date: Wed, 9 May 2018 13:29:43 -0700 Subject: [PATCH 1/7] Document Node.js version requirement and add it to package.json --- .circleci/config.yml | 18 +++++++++--------- README.md | 2 ++ package.json | 3 +++ packages/0x.js/package.json | 6 +++--- packages/abi-gen/package.json | 3 +++ packages/assert/package.json | 3 +++ packages/base-contract/package.json | 3 +++ packages/connect/package.json | 6 +++--- packages/contracts/package.json | 3 +++ packages/dev-utils/package.json | 3 +++ packages/json-schemas/package.json | 3 +++ packages/metacoin/package.json | 3 +++ packages/migrations/package.json | 3 +++ packages/monorepo-scripts/package.json | 3 +++ packages/order-utils/package.json | 3 +++ packages/react-docs-example/package.json | 3 +++ packages/react-docs/package.json | 3 +++ packages/react-shared/package.json | 3 +++ packages/sol-compiler/package.json | 3 +++ packages/sol-cov/package.json | 3 +++ packages/sol-resolver/package.json | 3 +++ packages/sra-report/package.json | 3 +++ packages/subproviders/package.json | 3 +++ packages/testnet-faucets/package.json | 3 +++ packages/tslint-config/package.json | 3 +++ packages/types/package.json | 3 +++ packages/typescript-typings/package.json | 3 +++ packages/utils/package.json | 3 +++ packages/web3-wrapper/package.json | 3 +++ packages/website/package.json | 3 +++ 30 files changed, 95 insertions(+), 15 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dbd8b29269..56330aa010 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2 jobs: build: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 environment: CONTRACTS_COMMIT_HASH: '9ed05f5' working_directory: ~/repo @@ -29,7 +29,7 @@ jobs: - ~/repo test-installation: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 working_directory: ~/repo steps: - restore_cache: @@ -38,7 +38,7 @@ jobs: - run: yarn test:installation test-0xjs: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 working_directory: ~/repo steps: - restore_cache: @@ -55,7 +55,7 @@ jobs: - ~/repo/packages/0x.js/coverage/lcov.info test-contracts: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 working_directory: ~/repo steps: - restore_cache: @@ -72,7 +72,7 @@ jobs: - ~/repo/packages/contracts/coverage/lcov.info test-sol-compiler: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 working_directory: ~/repo steps: - restore_cache: @@ -89,7 +89,7 @@ jobs: - ~/repo/packages/sol-compiler/coverage/lcov.info test-rest: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 working_directory: ~/repo steps: - restore_cache: @@ -131,7 +131,7 @@ jobs: lint: working_directory: ~/repo docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 steps: - restore_cache: keys: @@ -140,7 +140,7 @@ jobs: prettier: working_directory: ~/repo docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 steps: - restore_cache: keys: @@ -148,7 +148,7 @@ jobs: - run: yarn prettier:ci submit-coverage: docker: - - image: circleci/node:6.12 + - image: circleci/node:8.11 working_directory: ~/repo steps: - restore_cache: diff --git a/README.md b/README.md index de77e980e4..85d3ebcf6b 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,8 @@ Dedicated documentation pages: * [Sol-cov](https://0xproject.com/docs/sol-cov) * [Standard Relayer API](https://github.com/0xProject/standard-relayer-api/blob/master/README.md) +Node version >= 8.0 is required. + 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. diff --git a/package.json b/package.json index 6aa79c8406..e4aed85647 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,9 @@ { "private": true, "name": "0x-monorepo", + "engines": { + "node" : ">=8.0.0" + }, "workspaces": [ "packages/*" ], diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 36ea0751f6..3da0ca337c 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -1,6 +1,9 @@ { "name": "0x.js", "version": "0.37.2", + "engines": { + "node" : ">=8.0.0" + }, "description": "A javascript library for interacting with the 0x protocol", "keywords": [ "0x.js", @@ -62,9 +65,6 @@ "url": "https://github.com/0xProject/0x-monorepo" }, "license": "Apache-2.0", - "engines": { - "node": ">=6.0.0" - }, "devDependencies": { "@0xproject/sol-compiler": "^0.4.3", "@0xproject/dev-utils": "^0.4.1", diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 82184a5969..663dc88c66 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/abi-gen", "version": "0.2.13", + "engines": { + "node" : ">=8.0.0" + }, "description": "Generate contract wrappers from ABI and handlebars templates", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/assert/package.json b/packages/assert/package.json index f86bbb33f1..7d3d90fbc7 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/assert", "version": "0.2.9", + "engines": { + "node" : ">=8.0.0" + }, "description": "Provides a standard way of performing type and schema validation across 0x projects", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 90253616bb..559865a78d 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/base-contract", "version": "0.3.1", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x Base TS contract", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/connect/package.json b/packages/connect/package.json index 2930de98ea..a3a5183554 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/connect", "version": "0.6.12", + "engines": { + "node" : ">=8.0.0" + }, "description": "A javascript library for interacting with the standard relayer api", "keywords": [ "connect", @@ -42,9 +45,6 @@ }, "author": "Brandon Millman", "license": "Apache-2.0", - "engines": { - "node": ">=6.0.0" - }, "bugs": { "url": "https://github.com/0xProject/0x-monorepo/issues" }, diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 557effca29..6cc07d0dc6 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -2,6 +2,9 @@ "private": true, "name": "contracts", "version": "2.1.28", + "engines": { + "node" : ">=8.0.0" + }, "description": "Smart contract components of 0x protocol", "main": "index.js", "directories": { diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 67b448024d..63b93f8add 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/dev-utils", "version": "0.4.1", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x dev TS utils", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index 9da9da2b7e..86edb13436 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/json-schemas", "version": "0.7.23", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x-related json schemas", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/metacoin/package.json b/packages/metacoin/package.json index be1a33d653..d4b7f29972 100644 --- a/packages/metacoin/package.json +++ b/packages/metacoin/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/metacoin", "version": "0.0.6", + "engines": { + "node" : ">=8.0.0" + }, "private": true, "description": "Example solidity project using 0x dev tools", "scripts": { diff --git a/packages/migrations/package.json b/packages/migrations/package.json index 95922f7b68..e69171b3e5 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/migrations", "version": "0.0.5", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x smart contract migrations", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index ef5840546f..0afd640f9c 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/monorepo-scripts", "version": "0.1.19", + "engines": { + "node" : ">=8.0.0" + }, "description": "Helper scripts for the monorepo", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index cdb5b63b08..a7077f9b1d 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/order-utils", "version": "0.0.4", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x order utils", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/react-docs-example/package.json b/packages/react-docs-example/package.json index b6b6c6c7d2..3c8940f2d3 100644 --- a/packages/react-docs-example/package.json +++ b/packages/react-docs-example/package.json @@ -2,6 +2,9 @@ "private": true, "name": "@0xproject/react-docs-example", "version": "0.0.11", + "engines": { + "node" : ">=8.0.0" + }, "description": "An example app using react-docs", "scripts": { "lint": "tslint --project .", diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json index ca9ae610e1..6be2acb358 100644 --- a/packages/react-docs/package.json +++ b/packages/react-docs/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/react-docs", "version": "0.0.11", + "engines": { + "node" : ">=8.0.0" + }, "description": "React documentation component for rendering TypeDoc & Doxity generated JSON", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/react-shared/package.json b/packages/react-shared/package.json index b9a46376c5..1bc54f308f 100644 --- a/packages/react-shared/package.json +++ b/packages/react-shared/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/react-shared", "version": "0.1.6", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x shared react components", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index 19d390c328..72a5d0e538 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/sol-compiler", "version": "0.4.3", + "engines": { + "node" : ">=8.0.0" + }, "description": "Solidity compiler wrapper and artifactor", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/sol-cov/package.json b/packages/sol-cov/package.json index 6268df4c7a..e618f961c2 100644 --- a/packages/sol-cov/package.json +++ b/packages/sol-cov/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/sol-cov", "version": "0.0.10", + "engines": { + "node" : ">=8.0.0" + }, "description": "Generate coverage reports for Solidity code", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/sol-resolver/package.json b/packages/sol-resolver/package.json index 6e4ba97e4f..380decb73c 100644 --- a/packages/sol-resolver/package.json +++ b/packages/sol-resolver/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/sol-resolver", "version": "0.0.4", + "engines": { + "node" : ">=8.0.0" + }, "description": "Import resolver for smart contracts dependencies", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/sra-report/package.json b/packages/sra-report/package.json index 1fc0d3ade3..ebafc222bd 100644 --- a/packages/sra-report/package.json +++ b/packages/sra-report/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/sra-report", "version": "0.0.14", + "engines": { + "node" : ">=8.0.0" + }, "description": "Generate reports for standard relayer API compliance", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index 92377f118c..c127ad0f2e 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/subproviders", "version": "0.10.1", + "engines": { + "node" : ">=8.0.0" + }, "main": "lib/src/index.js", "types": "lib/src/index.d.ts", "license": "Apache-2.0", diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index 48fe77bf40..d1899e1b47 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -2,6 +2,9 @@ "private": true, "name": "@0xproject/testnet-faucets", "version": "1.0.29", + "engines": { + "node" : ">=8.0.0" + }, "description": "A faucet micro-service that dispenses test ERC20 tokens or Ether", "main": "server.js", "scripts": { diff --git a/packages/tslint-config/package.json b/packages/tslint-config/package.json index a5b34a35ef..0f894ceccc 100644 --- a/packages/tslint-config/package.json +++ b/packages/tslint-config/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/tslint-config", "version": "0.4.17", + "engines": { + "node" : ">=8.0.0" + }, "description": "Lint rules related to 0xProject for TSLint", "main": "tslint.json", "scripts": { diff --git a/packages/types/package.json b/packages/types/package.json index 973d5b8d03..55c9615108 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/types", "version": "0.6.3", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x types", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/typescript-typings/package.json b/packages/typescript-typings/package.json index ad865854c2..2e03ed5eab 100644 --- a/packages/typescript-typings/package.json +++ b/packages/typescript-typings/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/typescript-typings", "version": "0.3.1", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x project typescript type definitions", "scripts": { "build": "tsc && copyfiles -u 1 './lib/**/*' ./scripts", diff --git a/packages/utils/package.json b/packages/utils/package.json index 0924aefc3c..a1d8242a3d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/utils", "version": "0.6.1", + "engines": { + "node" : ">=8.0.0" + }, "description": "0x TS utils", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index bc38df00df..d8cd38b186 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/web3-wrapper", "version": "0.6.3", + "engines": { + "node" : ">=8.0.0" + }, "description": "Wraps around web3 and gives a nicer interface", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/website/package.json b/packages/website/package.json index ad84a3eb96..9ec2b0ae5d 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,9 @@ { "name": "@0xproject/website", "version": "0.0.32", + "engines": { + "node" : ">=8.0.0" + }, "private": true, "description": "Website and 0x portal dapp", "scripts": { From fdeab0475c956c48ab79bb5238ae60e732b14e11 Mon Sep 17 00:00:00 2001 From: Alex Browne Date: Thu, 10 May 2018 11:46:02 -0700 Subject: [PATCH 2/7] Change minimum Node version to 6.12 --- .circleci/config.yml | 18 +++++++++--------- README.md | 2 +- package.json | 2 +- packages/0x.js/package.json | 2 +- packages/abi-gen/package.json | 2 +- packages/assert/package.json | 2 +- packages/base-contract/package.json | 2 +- packages/connect/package.json | 2 +- packages/contracts/package.json | 2 +- packages/dev-utils/package.json | 2 +- packages/json-schemas/package.json | 2 +- packages/metacoin/package.json | 2 +- packages/migrations/package.json | 2 +- packages/monorepo-scripts/package.json | 2 +- packages/order-utils/package.json | 2 +- packages/react-docs-example/package.json | 2 +- packages/react-docs/package.json | 2 +- packages/react-shared/package.json | 2 +- packages/sol-compiler/package.json | 2 +- packages/sol-cov/package.json | 2 +- packages/sol-resolver/package.json | 2 +- packages/sra-report/package.json | 2 +- packages/subproviders/package.json | 2 +- packages/testnet-faucets/package.json | 2 +- packages/tslint-config/package.json | 2 +- packages/types/package.json | 2 +- packages/typescript-typings/package.json | 2 +- packages/utils/package.json | 2 +- packages/web3-wrapper/package.json | 2 +- packages/website/package.json | 2 +- 30 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 56330aa010..dbd8b29269 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2 jobs: build: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 environment: CONTRACTS_COMMIT_HASH: '9ed05f5' working_directory: ~/repo @@ -29,7 +29,7 @@ jobs: - ~/repo test-installation: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: @@ -38,7 +38,7 @@ jobs: - run: yarn test:installation test-0xjs: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: @@ -55,7 +55,7 @@ jobs: - ~/repo/packages/0x.js/coverage/lcov.info test-contracts: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: @@ -72,7 +72,7 @@ jobs: - ~/repo/packages/contracts/coverage/lcov.info test-sol-compiler: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: @@ -89,7 +89,7 @@ jobs: - ~/repo/packages/sol-compiler/coverage/lcov.info test-rest: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: @@ -131,7 +131,7 @@ jobs: lint: working_directory: ~/repo docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 steps: - restore_cache: keys: @@ -140,7 +140,7 @@ jobs: prettier: working_directory: ~/repo docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 steps: - restore_cache: keys: @@ -148,7 +148,7 @@ jobs: - run: yarn prettier:ci submit-coverage: docker: - - image: circleci/node:8.11 + - image: circleci/node:6.12 working_directory: ~/repo steps: - restore_cache: diff --git a/README.md b/README.md index 85d3ebcf6b..c10bda1154 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Dedicated documentation pages: * [Sol-cov](https://0xproject.com/docs/sol-cov) * [Standard Relayer API](https://github.com/0xProject/standard-relayer-api/blob/master/README.md) -Node version >= 8.0 is required. +Node version >= 6.12 is required. 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. diff --git a/package.json b/package.json index e4aed85647..8cd55f3a89 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "private": true, "name": "0x-monorepo", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "workspaces": [ "packages/*" diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 3da0ca337c..4addac6224 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -2,7 +2,7 @@ "name": "0x.js", "version": "0.37.2", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "A javascript library for interacting with the 0x protocol", "keywords": [ diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 663dc88c66..3c7fb1b42a 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/abi-gen", "version": "0.2.13", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Generate contract wrappers from ABI and handlebars templates", "main": "lib/index.js", diff --git a/packages/assert/package.json b/packages/assert/package.json index 7d3d90fbc7..b0ff38dd8b 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/assert", "version": "0.2.9", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Provides a standard way of performing type and schema validation across 0x projects", "main": "lib/src/index.js", diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 559865a78d..b7e0b9e4a4 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/base-contract", "version": "0.3.1", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x Base TS contract", "main": "lib/src/index.js", diff --git a/packages/connect/package.json b/packages/connect/package.json index a3a5183554..5d60731550 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/connect", "version": "0.6.12", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "A javascript library for interacting with the standard relayer api", "keywords": [ diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 6cc07d0dc6..7efcb6862a 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -3,7 +3,7 @@ "name": "contracts", "version": "2.1.28", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Smart contract components of 0x protocol", "main": "index.js", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 63b93f8add..358813f5d0 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/dev-utils", "version": "0.4.1", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x dev TS utils", "main": "lib/src/index.js", diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index 86edb13436..f80b4b31a1 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/json-schemas", "version": "0.7.23", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x-related json schemas", "main": "lib/src/index.js", diff --git a/packages/metacoin/package.json b/packages/metacoin/package.json index d4b7f29972..42be6574dc 100644 --- a/packages/metacoin/package.json +++ b/packages/metacoin/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/metacoin", "version": "0.0.6", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "private": true, "description": "Example solidity project using 0x dev tools", diff --git a/packages/migrations/package.json b/packages/migrations/package.json index e69171b3e5..45328b6344 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/migrations", "version": "0.0.5", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x smart contract migrations", "main": "lib/index.js", diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index 0afd640f9c..aa056aa275 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/monorepo-scripts", "version": "0.1.19", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Helper scripts for the monorepo", "main": "lib/index.js", diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index a7077f9b1d..e9da68480d 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/order-utils", "version": "0.0.4", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x order utils", "main": "lib/src/index.js", diff --git a/packages/react-docs-example/package.json b/packages/react-docs-example/package.json index 3c8940f2d3..b05a031544 100644 --- a/packages/react-docs-example/package.json +++ b/packages/react-docs-example/package.json @@ -3,7 +3,7 @@ "name": "@0xproject/react-docs-example", "version": "0.0.11", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "An example app using react-docs", "scripts": { diff --git a/packages/react-docs/package.json b/packages/react-docs/package.json index 6be2acb358..49c6d6a1a7 100644 --- a/packages/react-docs/package.json +++ b/packages/react-docs/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/react-docs", "version": "0.0.11", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "React documentation component for rendering TypeDoc & Doxity generated JSON", "main": "lib/index.js", diff --git a/packages/react-shared/package.json b/packages/react-shared/package.json index 1bc54f308f..eba3504eb3 100644 --- a/packages/react-shared/package.json +++ b/packages/react-shared/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/react-shared", "version": "0.1.6", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x shared react components", "main": "lib/index.js", diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index 72a5d0e538..4eac472c7e 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/sol-compiler", "version": "0.4.3", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Solidity compiler wrapper and artifactor", "main": "lib/src/index.js", diff --git a/packages/sol-cov/package.json b/packages/sol-cov/package.json index e618f961c2..fbaf2ab44b 100644 --- a/packages/sol-cov/package.json +++ b/packages/sol-cov/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/sol-cov", "version": "0.0.10", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Generate coverage reports for Solidity code", "main": "lib/src/index.js", diff --git a/packages/sol-resolver/package.json b/packages/sol-resolver/package.json index 380decb73c..70675c18dd 100644 --- a/packages/sol-resolver/package.json +++ b/packages/sol-resolver/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/sol-resolver", "version": "0.0.4", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Import resolver for smart contracts dependencies", "main": "lib/index.js", diff --git a/packages/sra-report/package.json b/packages/sra-report/package.json index ebafc222bd..245ab7668c 100644 --- a/packages/sra-report/package.json +++ b/packages/sra-report/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/sra-report", "version": "0.0.14", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Generate reports for standard relayer API compliance", "main": "lib/src/index.js", diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index c127ad0f2e..d7c1538b68 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/subproviders", "version": "0.10.1", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index d1899e1b47..f49d174254 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -3,7 +3,7 @@ "name": "@0xproject/testnet-faucets", "version": "1.0.29", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "A faucet micro-service that dispenses test ERC20 tokens or Ether", "main": "server.js", diff --git a/packages/tslint-config/package.json b/packages/tslint-config/package.json index 0f894ceccc..2b3c66eb95 100644 --- a/packages/tslint-config/package.json +++ b/packages/tslint-config/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/tslint-config", "version": "0.4.17", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Lint rules related to 0xProject for TSLint", "main": "tslint.json", diff --git a/packages/types/package.json b/packages/types/package.json index 55c9615108..b261a682ca 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/types", "version": "0.6.3", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x types", "main": "lib/index.js", diff --git a/packages/typescript-typings/package.json b/packages/typescript-typings/package.json index 2e03ed5eab..8a8b2c19e2 100644 --- a/packages/typescript-typings/package.json +++ b/packages/typescript-typings/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/typescript-typings", "version": "0.3.1", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x project typescript type definitions", "scripts": { diff --git a/packages/utils/package.json b/packages/utils/package.json index a1d8242a3d..d49f4ff525 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/utils", "version": "0.6.1", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "0x TS utils", "main": "lib/index.js", diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index d8cd38b186..4da40d4798 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/web3-wrapper", "version": "0.6.3", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "description": "Wraps around web3 and gives a nicer interface", "main": "lib/src/index.js", diff --git a/packages/website/package.json b/packages/website/package.json index 9ec2b0ae5d..707fea1080 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -2,7 +2,7 @@ "name": "@0xproject/website", "version": "0.0.32", "engines": { - "node" : ">=8.0.0" + "node" : ">=6.12" }, "private": true, "description": "Website and 0x portal dapp", From 184232ba4fe304bb00a3dbbee21972b1ff29736b Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Tue, 15 May 2018 13:51:43 -0700 Subject: [PATCH 3/7] Add dogfood configs to website --- packages/website/package.json | 1 + packages/website/ts/index.tsx | 2 +- packages/website/ts/utils/configs.ts | 6 +++++- packages/website/ts/utils/utils.ts | 3 +++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/website/package.json b/packages/website/package.json index 538aa91a7f..f1b2a17504 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -11,6 +11,7 @@ "clean": "shx rm -f public/bundle*", "lint": "tslint --project . 'ts/**/*.ts' 'ts/**/*.tsx'", "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_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" }, diff --git a/packages/website/ts/index.tsx b/packages/website/ts/index.tsx index 49bcdeaacd..f255f81e73 100644 --- a/packages/website/ts/index.tsx +++ b/packages/website/ts/index.tsx @@ -35,7 +35,7 @@ import 'less/all.less'; // 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. const LazyPortal = - utils.isDevelopment() || utils.isStaging() + utils.isDevelopment() || utils.isStaging() || utils.isDogfood() ? createLazyComponent('Portal', async () => System.import(/* webpackChunkName: "portal" */ 'ts/containers/portal'), ) diff --git a/packages/website/ts/utils/configs.ts b/packages/website/ts/utils/configs.ts index a54fc56a84..bea9c4ee2c 100644 --- a/packages/website/ts/utils/configs.ts +++ b/packages/website/ts/utils/configs.ts @@ -1,5 +1,6 @@ import * as _ from 'lodash'; import { Environments, OutdatedWrappedEtherByNetworkId, PublicNodeUrlsByNetworkId } from 'ts/types'; +import { utils } from 'ts/utils/utils'; const BASE_URL = window.location.origin; const isDevelopment = _.includes( @@ -10,13 +11,16 @@ const INFURA_API_KEY = 'T5WSC8cautR4KXyYgsRs'; export const configs = { AMOUNT_DISPLAY_PRECSION: 5, - BACKEND_BASE_URL: 'https://website-api.0xproject.com', + BACKEND_BASE_URL: utils.isDogfood() + ? 'http://ec2-52-91-181-85.compute-1.amazonaws.com' + : 'https://website-api.0xproject.com', BASE_URL, BITLY_ACCESS_TOKEN: 'ffc4c1a31e5143848fb7c523b39f91b9b213d208', DEFAULT_DERIVATION_PATH: `44'/60'/0'`, // WARNING: ZRX & WETH MUST always be default trackedTokens DEFAULT_TRACKED_TOKEN_SYMBOLS: ['WETH', 'ZRX'], 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_PRODUCTION: '0xproject.com', ENVIRONMENT: isDevelopment ? Environments.DEVELOPMENT : Environments.PRODUCTION, diff --git a/packages/website/ts/utils/utils.ts b/packages/website/ts/utils/utils.ts index bf30f4e043..c3e261ddb2 100644 --- a/packages/website/ts/utils/utils.ts +++ b/packages/website/ts/utils/utils.ts @@ -308,4 +308,7 @@ export const utils = { isStaging(): boolean { return _.includes(window.location.href, configs.DOMAIN_STAGING); }, + isDogfood(): boolean { + return _.includes(window.location.href, configs.DOMAIN_DOGFOOD); + }, }; From 509a81a572937e1a7376d59c0ebb66fdb9e99960 Mon Sep 17 00:00:00 2001 From: fragosti Date: Tue, 15 May 2018 14:44:57 -0700 Subject: [PATCH 4/7] Add myself to about page --- packages/website/ts/pages/about/about.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/website/ts/pages/about/about.tsx b/packages/website/ts/pages/about/about.tsx index 6730223294..360cbb136e 100644 --- a/packages/website/ts/pages/about/about.tsx +++ b/packages/website/ts/pages/about/about.tsx @@ -128,9 +128,6 @@ const teamRow4: ProfileInfo[] = [ github: '', medium: '', }, -]; - -const teamRow5: ProfileInfo[] = [ { name: 'Greg Hysen', title: 'Blockchain Engineer', @@ -140,6 +137,9 @@ const teamRow5: ProfileInfo[] = [ github: 'https://github.com/hysz', medium: '', }, +]; + +const teamRow5: ProfileInfo[] = [ { name: 'Remco Bloemen', title: 'Technical Fellow', @@ -149,6 +149,14 @@ const teamRow5: ProfileInfo[] = [ github: 'http://github.com/recmo', 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[] = [ From f43b275f16b46a72409962bb61fe1eb66f700c62 Mon Sep 17 00:00:00 2001 From: fragosti Date: Tue, 15 May 2018 14:50:33 -0700 Subject: [PATCH 5/7] Add my profile image to images --- .../website/public/images/team/fragosti.png | Bin 0 -> 26209 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/website/public/images/team/fragosti.png diff --git a/packages/website/public/images/team/fragosti.png b/packages/website/public/images/team/fragosti.png new file mode 100644 index 0000000000000000000000000000000000000000..60c1685149db7c3b53496e6328e406b081dbd659 GIT binary patch literal 26209 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 Date: Tue, 15 May 2018 15:27:27 -0700 Subject: [PATCH 6/7] Fix circular dependency --- packages/website/ts/utils/backend_client.ts | 10 +++++----- packages/website/ts/utils/configs.ts | 5 ++--- packages/website/ts/utils/utils.ts | 9 ++++++--- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/website/ts/utils/backend_client.ts b/packages/website/ts/utils/backend_client.ts index 63e06fda73..cc238325a8 100644 --- a/packages/website/ts/utils/backend_client.ts +++ b/packages/website/ts/utils/backend_client.ts @@ -1,7 +1,7 @@ import * as _ from 'lodash'; import { ArticlesBySection, WebsiteBackendGasInfo, WebsiteBackendPriceInfo, WebsiteBackendRelayerInfo } from 'ts/types'; -import { configs } from 'ts/utils/configs'; +import { utils } from 'ts/utils/utils'; import { fetchUtils } from 'ts/utils/fetch_utils'; const ETH_GAS_STATION_ENDPOINT = '/eth_gas_station'; @@ -11,7 +11,7 @@ const WIKI_ENDPOINT = '/wiki'; export const backendClient = { async getGasInfoAsync(): Promise { - 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; }, async getPriceInfoAsync(tokenSymbols: string[]): Promise { @@ -22,15 +22,15 @@ export const backendClient = { const queryParams = { 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; }, async getRelayerInfosAsync(): Promise { - const result = await fetchUtils.requestAsync(configs.BACKEND_BASE_URL, RELAYERS_ENDPOINT); + const result = await fetchUtils.requestAsync(utils.getBackendBaseUrl(), RELAYERS_ENDPOINT); return result; }, async getWikiArticlesBySectionAsync(): Promise { - const result = await fetchUtils.requestAsync(configs.BACKEND_BASE_URL, WIKI_ENDPOINT); + const result = await fetchUtils.requestAsync(utils.getBackendBaseUrl(), WIKI_ENDPOINT); return result; }, }; diff --git a/packages/website/ts/utils/configs.ts b/packages/website/ts/utils/configs.ts index bea9c4ee2c..9fec814b7a 100644 --- a/packages/website/ts/utils/configs.ts +++ b/packages/website/ts/utils/configs.ts @@ -11,9 +11,8 @@ const INFURA_API_KEY = 'T5WSC8cautR4KXyYgsRs'; export const configs = { AMOUNT_DISPLAY_PRECSION: 5, - BACKEND_BASE_URL: utils.isDogfood() - ? 'http://ec2-52-91-181-85.compute-1.amazonaws.com' - : '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, BITLY_ACCESS_TOKEN: 'ffc4c1a31e5143848fb7c523b39f91b9b213d208', DEFAULT_DERIVATION_PATH: `44'/60'/0'`, diff --git a/packages/website/ts/utils/utils.ts b/packages/website/ts/utils/utils.ts index c3e261ddb2..cb01fec245 100644 --- a/packages/website/ts/utils/utils.ts +++ b/packages/website/ts/utils/utils.ts @@ -24,6 +24,8 @@ import * as u2f from 'ts/vendor/u2f_api'; const LG_MIN_EM = 64; const MD_MIN_EM = 52; +const isDogfood = (): boolean => _.includes(window.location.href, configs.DOMAIN_DOGFOOD); + export const utils = { assert(condition: boolean, message: string): void { if (!condition) { @@ -302,13 +304,14 @@ export const utils = { } return parsedProviderName; }, + getBackendBaseUrl(): string { + return isDogfood() ? configs.BACKEND_BASE_STAGING_URL : configs.BACKEND_BASE_PROD_URL; + }, isDevelopment(): boolean { return configs.ENVIRONMENT === Environments.DEVELOPMENT; }, isStaging(): boolean { return _.includes(window.location.href, configs.DOMAIN_STAGING); }, - isDogfood(): boolean { - return _.includes(window.location.href, configs.DOMAIN_DOGFOOD); - }, + isDogfood, }; From dc58d539c2ec0561974323aced0841d17117927d Mon Sep 17 00:00:00 2001 From: fragosti Date: Tue, 15 May 2018 15:54:17 -0700 Subject: [PATCH 7/7] fix style errors --- packages/website/ts/utils/backend_client.ts | 2 +- packages/website/ts/utils/utils.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/website/ts/utils/backend_client.ts b/packages/website/ts/utils/backend_client.ts index cc238325a8..c440b1604d 100644 --- a/packages/website/ts/utils/backend_client.ts +++ b/packages/website/ts/utils/backend_client.ts @@ -1,8 +1,8 @@ import * as _ from 'lodash'; import { ArticlesBySection, WebsiteBackendGasInfo, WebsiteBackendPriceInfo, WebsiteBackendRelayerInfo } from 'ts/types'; -import { utils } from 'ts/utils/utils'; import { fetchUtils } from 'ts/utils/fetch_utils'; +import { utils } from 'ts/utils/utils'; const ETH_GAS_STATION_ENDPOINT = '/eth_gas_station'; const PRICES_ENDPOINT = '/prices'; diff --git a/packages/website/ts/utils/utils.ts b/packages/website/ts/utils/utils.ts index cb01fec245..3c99bd2fe1 100644 --- a/packages/website/ts/utils/utils.ts +++ b/packages/website/ts/utils/utils.ts @@ -305,7 +305,7 @@ export const utils = { return parsedProviderName; }, getBackendBaseUrl(): string { - return isDogfood() ? configs.BACKEND_BASE_STAGING_URL : configs.BACKEND_BASE_PROD_URL; + return isDogfood() ? configs.BACKEND_BASE_STAGING_URL : configs.BACKEND_BASE_PROD_URL; }, isDevelopment(): boolean { return configs.ENVIRONMENT === Environments.DEVELOPMENT;