From 439d575e73cce740f7b3564e1e192789f4c295ad Mon Sep 17 00:00:00 2001 From: Mark Miyashita Date: Sat, 2 Sep 2017 23:51:47 -0700 Subject: [PATCH 1/4] Export Render from react-x and add to package.json --- packages/react-x-render/src/Render.js | 3 +++ packages/react-x/package.json | 1 + packages/react-x/src/react-x.js | 1 + 3 files changed, 5 insertions(+) diff --git a/packages/react-x-render/src/Render.js b/packages/react-x-render/src/Render.js index 7f72190..5366cec 100644 --- a/packages/react-x-render/src/Render.js +++ b/packages/react-x-render/src/Render.js @@ -11,6 +11,9 @@ const Render = ({if: ifCondition, unless, children}) => { } }; +// -------------------------------------------------- +// Props +// -------------------------------------------------- Render.propTypes = { if: PropTypes.bool, unless: PropTypes.bool, diff --git a/packages/react-x/package.json b/packages/react-x/package.json index 105c82e..e32b11a 100644 --- a/packages/react-x/package.json +++ b/packages/react-x/package.json @@ -19,6 +19,7 @@ "build" ], "dependencies": { + "react-x-render": "^0.2.4", "react-x-switch": "^0.2.4" }, "peerDependencies": { diff --git a/packages/react-x/src/react-x.js b/packages/react-x/src/react-x.js index bfb7403..dcf1236 100644 --- a/packages/react-x/src/react-x.js +++ b/packages/react-x/src/react-x.js @@ -1,5 +1,6 @@ /* eslint-disable brace-style */ const ReactX = { + get Render() { return require('react-x-render').default; }, get Switch() { return require('react-x-switch').default; }, }; From c5c7213acb314c0d97bf9835b841816f6b0d1e0f Mon Sep 17 00:00:00 2001 From: Mark Miyashita Date: Sat, 2 Sep 2017 23:54:19 -0700 Subject: [PATCH 2/4] Add generic tests to react-x to make sure we're exporting components properly --- packages/react-x/src/__tests__/react-x.spec.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/react-x/src/__tests__/react-x.spec.js b/packages/react-x/src/__tests__/react-x.spec.js index 7eda92e..b817481 100644 --- a/packages/react-x/src/__tests__/react-x.spec.js +++ b/packages/react-x/src/__tests__/react-x.spec.js @@ -5,13 +5,20 @@ import ReactX from '../react-x'; /* eslint-disable no-undef */ describe('ReactX', () => { - describe('Switch', () => { + const components = [ + 'Render', + 'Switch', + ]; + + forEach({component: components}, () => { it('should exist', () => { - expect(ReactX.Switch).toBeDefined(); + expect(ReactX[component]).toBeDefined(); }); + // TODO(mark): Create generic matcher to support stateless and class-based + // components. it('should be a component', () => { - expect(ReactX.Switch).toBeInstanceOf(Function); + expect(ReactX[component]).toBeInstanceOf(Function); }); }); }); From fabff7cb0ee01b7a1ad9057e40e991b50cd74b0e Mon Sep 17 00:00:00 2001 From: Mark Miyashita Date: Sat, 2 Sep 2017 23:55:19 -0700 Subject: [PATCH 3/4] Add react-x-render to the README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c648e67..15de4e1 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,10 @@ module.exports = { Component | Version | Description ----------|---------|------------ +[`react-x-render`](/packages/react-x-render) | [![npm](https://img.shields.io/npm/v/react-x-render.svg)][npm-render] | Conditional rendering based on if/unless conditions. [`react-x-switch`](/packages/react-x-switch) | [![npm](https://img.shields.io/npm/v/react-x-switch.svg)][npm-switch] | Switch component for toggling on/off. +[npm-render]: https://www.npmjs.com/package/react-x-render [npm-switch]: https://www.npmjs.com/package/react-x-switch ## Contributing From 6565962a7df4b4fc216c6bad0f2d733415205cb6 Mon Sep 17 00:00:00 2001 From: Mark Miyashita Date: Sun, 3 Sep 2017 00:24:26 -0700 Subject: [PATCH 4/4] Run force install on each CI run --- .travis.yml | 1 + appveyor.yml | 2 +- circle.yml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0a42d66..7259f29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ before_install: - export PATH="$HOME/.yarn/bin:$PATH" script: + - yarn install --force - yarn run clean - yarn run build - yarn lint:cached diff --git a/appveyor.yml b/appveyor.yml index 2153958..03a55e0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,7 +5,7 @@ environment: install: - ps: Install-Product node $env:nodejs_version - choco install yarn --ignore-dependencies - - yarn + - yarn install --force - yarn run clean - yarn run build diff --git a/circle.yml b/circle.yml index 7261ff3..77c5317 100644 --- a/circle.yml +++ b/circle.yml @@ -8,7 +8,7 @@ dependencies: cache_directories: - ~/.cache/yarn override: - - yarn + - yarn install --force - yarn run clean - yarn run build