Giter Club home page Giter Club logo

unitcalc's Introduction

YLD Website

Link

Storybook

How to run:

Clone project and install dependencies:

  git clone [email protected]:yldio/yld.io.git
  cd yld.io
  yarn

Copy the environment variables from .env.example to .env file:

cp .env.example .env

In order to access data from contentful make sure that you have an .env file that matches the contentful keys and tokens:

CONTENTFUL_TOKEN=(see in contentful/settings/API keys "meetup > Content Delivery API - Access Token")
CONTENTFUL_SPACE=(see in contentful/settings/API keys "meetup > Space ID")
GATSBY_ENVIRONMENT="development"

# For local Lambda development
MEETUP_API_SECRET - OAuth Secret
MEETUP_API_KEY - OAuth Key
MEETUP_EMAIL - See below
MEETUP_PASS - See below
CMS_CRUD

You can now run:

  yarn develop

We have some docs to make it easier for you to get started:

Running Tests

All tests are run through scripts within package.json so check there for details.

N.B. You need to yarn run build prior to running testcafe and lighthouse testing scripts.

Tech used

Tests stack

Content in

Blog

How does the blog work? Good question! See here

Deployment

The website and lambda are built (yarn build) and deployed on Netlify to our production environment (https://www.yld.io) when:

  • a new commit is pushed to our production (master) branch, read more here;
  • the Contentful data is updated (via webhook).

Also, for each Pull Request that's open, a Deploy Preview is created, allowing for that branch to be tested and shared amongst stakeholders.

Automated deployments

Zapier is a great tool for automating certain tasks, e.g. tracking changes to RSS feeds or simple scheduling requests to certain endpoints. We depend on it for several of our automated deployments, all listed below.

📬 Webhook automated deployments

We are using Netlify webhooks/build hooks to automate new builds when services we use update. Each service has its own webhook url set up in Netlify.

Keep in mind if you need to urgently alter any of the automated builds but don't have access to the services below, it's possible to just remove the webhook url from Netlify and stop it temporarily!

Medium

Zapier is subscribed to the yld engineering medium account via an RSS feeds, it checks every hour for new content. Upon new content zapier makes a post request to Netlify to trigger a fresh build.

The account is registered under [email protected], for access speak with Carlos Vilhena.

ƛ Netlify lambda automated deployments

Utilising Netlify's functions.

Meetup

Local development requires:

MEETUP_API_SECRET - OAuth secret, defined in our meetup.com account

MEETUP_API_KEY - OAuth Client ID, defined in our meetup.com account

MEETUP_EMAIL - Meetup account email login

MEETUP_PASS - Meetup account password

CONTENTFUL_SPACE - Our Contentful space ID

CMS_CRUD - A personal access token generated from your Contentful account settings (listed under the Content management tokens section in settings > APIs) to allow writing to the yld Contentful space. Anyone with a Contentful account can generate one of these. The token used in production is registered to the [email protected] Contentful account.

./src/functions/meetup-oauth.js ./src/functions/meetup-callback.js

This lambda takes our meetup event data and publishes it to Contentful.

Due to meetups use of OAuth 2.0, the flow here requires some authentication prior to starting to work that deals with the meetup and contentful data.

Flow:

  • Zapier triggers the meetup-oauth.js lambda
  • Meetup OAuth service calls the redirect URL, https://yld.io/.netlify/functions/meetup-callback.js
  • Within meetup-callback.js we perform some authentication and include the returned session tokens within all of our meetup API requests as an Authorization header.
  • Once all of the contentful updates and new entries have been made we return log, an object detailing all of the updated/created meetup events in contentful.
  • log is then returned back to meetup-oauth endpoint and the process ends.

For another explanation of the flow check the meetup guides here

WARNING - Due to the sensitive login information that is required to develop this lambda you are encourage to exercise common sense when handling these login details.

Lever

./src/functions/lever.js

Utilises Gatsby's onPostBuild functionality - see how we utilise it here and Gatsby docs here

Lever webhooks are extremely limited so we have to write our own lambda to check for updated roles. Zapier pings the the public lambda every hour. Using the onPostBuild functionality we write the current role ids to a public file named meta.json. The lambda compares the ids we get from lever and the ones currently on the site, if there are any differences we use the URL stored within LAMBDA_LEVER_WEBHOOK to make a POST request to deploy the site.

The zap is within the zapier account registered to [email protected]

Github

Local development requires:

GITHUB_TOKEN - A personal access token generated on your personal github account. Create one here with the following scopes: public_repo, read:org, read:user

CONTENTFUL_SPACE - see How to run section

CMS_CRUD - see How to run section

./src/functions/github.js

The aim of this lambda is to have up to date metrics of yld's open source contribution on the site. We do this by aggregating data on a lambda and publishing it to Contentful. It is split into two sections, repos and meta.

  • Repos We want to store data regarding specific repos that members of yld have contributed to e.g. node, react, enzyme etc. By creating a githubRepo content type on Contentful with only a URL value editable, we are able to create references to these repos that can be used throughout the site but have metrics that are only available to update via the API medium. This ensures data is always valid and accurate.

  • Meta Meta data is used a summary of all the repositories that yldio organisation has contributed to. This data is written directly to the Open Source content type.

Main @yld.io/oss-stats to aggregate all open source contributions for yldio organisation members.

Content Model notes

This section serves as a information repository for some of our content models, stating what they represent and explaining some of their fields, if needed.

Speciality

This content type describe YLD's specialities (Design and engineering methodologies, technologies, models, patterns, etc). These specialities may or may not have their own page and that's decided based on the content.

  • generate: a boolean value that indicates wether a page should be generate for the current speciality;
  • Blogpost tags: comma-separated list of tags that should be considered when displaying the latest blog posts for the current speciality. By default, the speciality title is already added as a tag, so this fields are added to that base filtering.

Browser support

Browsers people are using to access our website, based on google analytics:

  • 70% chrome
  • 23% safari
  • 3.5% firefox
  • 0.15% IE

We current support:

  • Chrome
  • Firefox
  • Safari
  • Edge

We're working towards supporting IE11 & introducing graceful fallbacks for earlier versions (for where this sits in our priorities, see trello).

License

MPL-2

unitcalc's People

Contributors

greenkeeper[bot] avatar saravieira avatar sergioramos avatar yld-license-bot avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

yld-license-bot

unitcalc's Issues

An in-range update of eslint-plugin-markdown is breaking the build 🚨

The devDependency eslint-plugin-markdown was updated from 1.0.0-beta.8 to 1.0.0-rc.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-markdown is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build is in progress (Details).
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).

Release Notes for v1.0.0-rc.0
Commits

The new version differs by 12 commits.

  • f9258b7 1.0.0-rc.0
  • 8bc7c0c Build: changelog update for 1.0.0-rc.0
  • 8fe9a0e New: Enable autofix with --fix (fixes #58) (#97)
  • a5d0cce Fix: Ignore anything after space in code fence's language (fixes #98) (#99)
  • 6fd340d Upgrade: [email protected] (#100)
  • dff8e9c Fix: Emit correct endLine numbers (#88)
  • 83f00d0 Docs: Suggest disabling strict in .md files (fixes #94) (#95)
  • 3b4ff95 Build: Test against Node v10 (#96)
  • 6777977 Breaking: required node version 6+ (#89)
  • 5582fce Docs: Updating CLA link (#93)
  • 24070e6 Build: Upgrade to [email protected] (#92)
  • 6cfd1f0 Docs: Add unicode-bom to list of unsatisfiable rules (#91)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of bundlesize is breaking the build 🚨

The devDependency bundlesize was updated from 0.17.0 to 0.17.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

bundlesize is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).
  • continuous-integration/travis-ci/push: The Travis CI build passed (Details).

Release Notes for 0.17.1

Prefer BUNDLESIZE_GITHUB_TOKEN over GITHUB_TOKEN

Commits

The new version differs by 10 commits.

  • c622d62 0.17.1
  • df8f7d1 Merge pull request #272 from probablyup/master
  • 68ff27e honor BUNDLESIZE_GITHUB_TOKEN over GITHUB_TOKEN
  • 062d5b3 chore(README): add link to AppVeyor issue (#235)
  • 710de6e Merge pull request #222 from siddharthkp/greenkeeper/lint-staged-7.1.1
  • 0269176 Fix greenkeeper pull requests
  • 00c7d22 Fix greenkeeper-lockfile & ci build
  • be659d6 Remove some badges
  • dd76360 chore(package): update lockfile
  • bca94d1 chore(package): update lint-staged to version 7.1.1

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of npm-run-all is breaking the build 🚨

The devDependency npm-run-all was updated from 4.1.3 to 4.1.4.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

npm-run-all is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).
  • continuous-integration/travis-ci/push: The Travis CI build passed (Details).

Commits

The new version differs by 3 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of cross-env is breaking the build 🚨

The devDependency cross-env was updated from 5.2.0 to 5.2.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

cross-env is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for v5.2.1

5.2.1 (2019-08-31)

Bug Fixes

Commits

The new version differs by 6 commits.

  • a75fd0e fix: remove is-windows dependency (#207)
  • 4889923 docs: add note for windows issues
  • 2b36bb3 docs: add Jason-Cooke as a contributor (#201)
  • 41ab3b0 docs: Fix typo (#200)
  • 553705c docs(README): list @naholyr/cross-env in Other Solutions section (#189)
  • 5d0f19f docs: remove codesponsor (#186)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-react is breaking the build 🚨

The devDependency eslint-plugin-react was updated from 7.11.1 to 7.12.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-react is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).
  • continuous-integration/travis-ci/push: The Travis CI build passed (Details).

Release Notes for v7.12.0

Added

Fixed

Changed

Commits

The new version differs by 127 commits.

  • a83d65c Update CHANGELOG and bump version
  • 0c6160e [Dev Deps] update coveralls, babel-eslint, typescript
  • cd6c8e6 [Deps] update resolve
  • d2b5b73 Merge pull request #1828 from alexzherdev/1721-no-typos-create-class
  • e747459 [Tests] remove node 5/7/9, add node 11
  • b33ae84 Merge pull request #1098 from arian/createElement-display-test
  • 84be80a Merge pull request #1824 from alexzherdev/1762-jsx-max-depth-false-positive
  • a442067 Merge pull request #2029 from sstern6/issue1422
  • 7d07c37 Merge pull request #2032 from alexzherdev/jsx-fragments-message
  • 8c6a8e2 Merge pull request #2089 from jomasti/feature/support-react-forwardref-memo
  • 14451d4 Merge pull request #2085 from himynameisdave/issues/2083
  • 8be52c7 📝 Addresses CR comments
  • f7e3121 Merge branch 'master' of https://github.com/yannickcr/eslint-plugin-react into issues/2083
  • 77e3fd0 Merge pull request #2090 from JBallin/no-method-set-state-docs-url
  • 7da9e0d Fix noMethodSetState docsUrl's

There are 127 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-jsx-a11y is breaking the build 🚨

The devDependency eslint-plugin-jsx-a11y was updated from 6.1.1 to 6.1.2.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-jsx-a11y is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build is in progress (Details).
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).

Release Notes for Minor fixes and documentation updates

6.1.2 / 2018-10-05
[fix] Add link-type styling recommendation to anchor-is-valid #486
[fix] label-has-for: textareas are inputs too #470

Commits

The new version differs by 12 commits.

  • c538d35 6.1.2
  • ea964b1 Update changelog
  • 43d1d94 Add link-type styling recommendation to anchor-is-valid
  • 71819a0 [Docs] accessible-emoji: plural of emoji is emoji
  • 4a0608b [Docs] label-has-associated-control: update label id
  • 9957219 [Tests] temporarily allow node 4 + eslint 4 to fail
  • 969ce6d [Dev Deps] add missing dev dep
  • 1be1744 [Tests] use nvm install-latest-npm
  • 9103c7a [Tests] add additional test case for #474
  • bbad58a Merge pull request #471 from ljharb/textarea
  • 47633fb [Fix] label-has-for: textareas are inputs too
  • c1bf3c1 Update aria-props.md to link to the correct doc

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-import is breaking the build 🚨

The devDependency eslint-plugin-import was updated from 2.16.0 to 2.17.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-import is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 61 commits.

  • 0499050 bump to v2.17.0
  • f479635 [webpack] v0.11.1
  • 8a4226d Merge pull request #1320 from bradzacher/export-ts-namespaces
  • 988e12b fix(export): Support typescript namespaces
  • 70c3679 [docs] make rule names consistent
  • 6ab25ea [Tests] skip a TS test in eslint < 4
  • 405900e [Tests] fix tests from #1319
  • 2098797 [fix] export: false positives for typescript type + value export
  • 70a59fe [fix] Fix overwriting of dynamic import() CallExpression
  • e4850df [ExportMap] fix condition for checking if block comment
  • 918567d [fix] namespace: add check for null ExportMap
  • 2d21c4c Merge pull request #1297 from echenley/ech/fix-isBuiltIn-local-aliases
  • 0ff1c83 [dev deps] lock typescript to ~, since it doesn’t follow semver
  • 40bf40a [*] [deps] update resolve
  • 28dd614 Merge pull request #1304 from bradennapier/feature/typescript-export-type

There are 61 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of prettier is breaking the build 🚨

The devDependency prettier was updated from 1.14.2 to 1.14.3.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

prettier is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).
  • continuous-integration/travis-ci/push: The Travis CI build passed (Details).

Release Notes for 1.14.3

🔗 Changelog

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-prettier is breaking the build 🚨

The devDependency eslint-plugin-prettier was updated from 2.6.2 to 2.7.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-prettier is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).
  • continuous-integration/travis-ci/push: The Travis CI build passed (Details).

Commits

The new version differs by 3 commits.

  • 869f56d Build: update package.json and changelog for v2.7.0
  • 38537ba Update: Support prettierignore and custom processors (#111)
  • 047dc8f Build: switch to release script package

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-flowtype is breaking the build 🚨

The devDependency eslint-plugin-flowtype was updated from 2.50.0 to 2.50.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-flowtype is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • bundlesize: ./src/index.js: 382B > maxSize 252B (gzip) (Details).
  • continuous-integration/travis-ci/push: The Travis CI build passed (Details).

Release Notes for v2.50.1

2.50.1 (2018-09-18)

Bug Fixes

  • make require-exact-type ignore indexers in map types (#354) (0722187)
Commits

The new version differs by 1 commits.

  • 0722187 fix: make require-exact-type ignore indexers in map types (#354)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.