diff --git a/gatsby-node.js b/gatsby-node.js index c5a7c8c44..5ce0d91be 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -178,3 +178,10 @@ exports.onCreateNode = ({ }) } } + +module.exports.onCreateBabelConfig = ({ actions, stage }) => + actions.setBabelPlugin({ + name: '@babel/plugin-proposal-pipeline-operator', + stage: stage, + options: { proposal: 'minimal' }, + }) diff --git a/package-lock.json b/package-lock.json index 191acbf79..6746e2ff0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -811,6 +811,24 @@ "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.52" } }, + "@babel/plugin-proposal-pipeline-operator": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.0.0-rc.1.tgz", + "integrity": "sha512-UlKilpHRVynuGkP9rQnTaK+y4yRzukUitRqYuogLWt5UwNJDs2s9bS36479MlNIE7YAG/0MluobGyw8I4kHeUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-syntax-pipeline-operator": "7.0.0-rc.1" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.1.tgz", + "integrity": "sha512-8ZNzqHXDhT/JjnBvrLKu8AL7NhONVIsnrfyQNm3PJNmufIER5kcIa3OxPMGWgNqox2R8WeQ6YYzYTLNXqq4kgQ==", + "dev": true + } + } + }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.0.0-beta.52", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.52.tgz", @@ -884,6 +902,23 @@ "@babel/helper-plugin-utils": "7.0.0-beta.52" } }, + "@babel/plugin-syntax-pipeline-operator": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.0.0-rc.1.tgz", + "integrity": "sha512-LyvVkb+hWiTyi3QiFeEj73NkaAs3niMgoSu3jtR2dLOytDUhgzg4EYkS/aeUAfBpLooxV5PdJbNepSKHBGeLpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-rc.1" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.1.tgz", + "integrity": "sha512-8ZNzqHXDhT/JjnBvrLKu8AL7NhONVIsnrfyQNm3PJNmufIER5kcIa3OxPMGWgNqox2R8WeQ6YYzYTLNXqq4kgQ==", + "dev": true + } + } + }, "@babel/plugin-transform-arrow-functions": { "version": "7.0.0-beta.52", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.52.tgz", diff --git a/package.json b/package.json index c42b6d717..e6d2a49eb 100644 --- a/package.json +++ b/package.json @@ -96,6 +96,7 @@ }, "devDependencies": { "@babel/plugin-proposal-class-properties": "^7.0.0-beta.52", + "@babel/plugin-proposal-pipeline-operator": "^7.0.0-rc.1", "babel-jest": "^23.2.0", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", diff --git a/src/components/events-page/events-feed.jsx b/src/components/events-page/events-feed.jsx index 695395074..25c92cf4f 100644 --- a/src/components/events-page/events-feed.jsx +++ b/src/components/events-page/events-feed.jsx @@ -1,7 +1,7 @@ import React from 'react' import Helmet from 'react-helmet' import { compose, withProps, withStateHandlers } from 'recompose' -import { chain, difference, either, isEmpty, pipe, uniq } from 'ramda' +import { chain, difference, either, isEmpty, uniq } from 'ramda' import BlockHeader from '../common/block-header' import MainContainer from '../common/main-container' @@ -55,19 +55,13 @@ export default compose( let filteredEvents = events.filter( either( () => isEmpty(selectedTags), - pipe( - eventTags, - difference(selectedTags), - isEmpty, - ), + e => e |> eventTags |> difference(selectedTags) |> isEmpty, ), ) + return { filteredEvents, - filteredEventsTags: pipe( - chain(eventTags), - uniq, - )(filteredEvents), + filteredEventsTags: filteredEvents |> chain(eventTags) |> uniq, } }), )(EventsFeed) diff --git a/src/utils/selectors.js b/src/utils/selectors.js index fbf6195bf..a5119c47d 100644 --- a/src/utils/selectors.js +++ b/src/utils/selectors.js @@ -1,5 +1,5 @@ // @flow -import { flatten, map, pipe, prop, uniq } from 'ramda' +import { flatten, map, prop, uniq } from 'ramda' interface IEvent { date: Date; @@ -7,12 +7,8 @@ interface IEvent { const viewTags = talk => (talk.tags ? talk.tags : []) -export let eventTags = pipe( - prop('talks'), - map(viewTags), - flatten, - uniq, -) +export let eventTags = e => + e |> prop('talks') |> map(viewTags) |> flatten |> uniq let getEventNode = (event: { node: * }) => event.node