Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gatsby-source-darksky

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gatsby-source-darksky

A Gatsby source plugin to load resources from the Dark Sky API.

  • 1.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

gatsby-source-darksky

This source plugin for Gatsby will make weather information from Dark Sky available in GraphQL queries.

Installation

# Install the plugin
yarn add gatsby-source-darksky

In gatsby-config.js:

module.exports = {
  plugins: [
    {
      resolve: 'gatsby-source-darksky',
      options: {
        key: 'YOUR_DARK_SKY_API_KEY',
        latitude: 'YOUR_LATITUDE',
        longitude: 'YOUR_LONGITUDE',
        exclude: ['DATA_BLOCKS_TO_EXCLUDE']
      },
    }
  ]
};

NOTE: To get a Dark Sky API key, register for a Dark Sky dev account. You can find your API key in the “Your Secret Key” section of the Dark Sky dev console.

Configuration Options

The configuration options for this plugin mirror the forecast request parameters. Please review those docs for more details. This plugin works well with gatsby-source-googlemaps-geocoding. If using these two plugins together, make sure that the gatsby-source-darksky entry appears first in the config. If so, and you omit latitude and longitude from this config, the weather information will be fetched for the location provided in the gatsby-source-googlemaps-geocoding config.

OptionDefaultDescription
key[required] Your Dark Sky API key
latitudeThe latitude of a location (in decimal degrees). Positive is north, negative is south. (optional if used with gatsby-source-googlemaps-geocoding)
longitudeThe longitude of a location (in decimal degrees). Positive is east, negative is west. (optional if used with gatsby-source-googlemaps-geocoding)
excludeExclude some number of data blocks from the API response. This is useful for reducing latency and saving cache space. The value blocks should be a comma-delimeted list (without spaces) of any of the following: "currently", "minutely", "hourly", "daily", "alerts", "flags"

Example Configuration

module.exports = {
  plugins: [
    {
      resolve: 'gatsby-source-darksky',
      options: {
        key: process.env.DARK_SKY_API_KEY,
        latitude: `42.3411789`,
        longitude: `-71.7315589`,
        exclude: [`minutely`, `hourly`, `flags`]
      }
    }
  ]
};

Querying Dark Sky weather information

Once the plugin is configured, one new query is available in GraphQL: allWeatherData.

Here’s an example query to load the current weather conditions along with the forecast for the next week:

query WeatherQuery {
  allWeatherData {
    edges {
      node {
        currently {
          time
          summary
          temperature
          windSpeed
          windBearing
        }
        daily {
          data {
            time
            summary
            temperatureMin
            temperatureMax
            windSpeed
            windBearing
          }
        }
      }
    }
  }
}

See the Dark Sky API docs or the GraphiQL UI for info on all returned fields.

Keywords

FAQs

Package last updated on 13 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc