Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@tgwf/url2green

thegreenwebfoundation81Apache-2.00.4.1

An npm module for quickly checking a domain against the The Green Web Foundation url2green dataset

sustainability, carbon, the, green, web, foundation, co2

readme

url2green-js

An npm module for local analysis and checks of domains against the Green Web Foundation datasets.

Normally you can check domain against the The Green Web Foundation url2green dataset, the co2 module. Assuming you have installed it with npm install @tgwf/co2, you can then check a domain like so:


const greencheck = require('@tgwf/hosting')

// returns true if green, otherwise false
greencheck.check("google.com")

// returns an array of the green domains, in this case ["google"].
greencheck.check(["google.com", "kochindustries.com"])"]

Usage

The above checks work by sending a request to the Green Web Foundation Greencheck API, visible at api.thegreenwebfoundation.org.

For speed, privacy or reliability reasons, you may prefer to perform the same kinds of checks against the url2green dataset, a local snapshot of the dataset used when hitting the API.

To do so, install this module with npm install @tgwf/url2green. You can then use the same API to check against a local SQLite database.


const hostingDB = require('@tgwf/hosting-database');

// returns true if green, otherwise false
hostingDB.check("google.com", "path/to/database.db");

// returns an array of the green domains, in this case ["google.
hostingDB.check(["google.com", "kochindustries.com"], "path/to/database.db");

Fetching the latest copy of the url2green dataset

By default, the url2green module includes a recent copy of the url2green dataset, and is accessible at data/url2green.db.

You can generate a simple JSON list of the domains to check against, with dumpDomains.

const hostingDB = require('@tgwf/hosting-database');

hostingDB.dumpDomains("path/to/database.db", "path/to/output.json");

In cases where you don't want to rely on SQLite, this will generate a JSON file that allows you to perform the same lookups, using the @tgwf/co2 module.

Fetching updated snapshots from the Green Web Foundation

You can fetch the most recent copy of the url2green dataset from The Green Web Foundation.

https://www.thegreenwebfoundation.org/green-web-datasets/

Licensing

We encourage the use of this in tooling and services, where you might rely on the Green Web Foundation Greencheck API - this helps with managing load on our servers, and we hope it will enable uses we haven't thought of yet. If you have questions, please file an issue

The code is licensed under the Apache 2.0 license.

The dataset is provided under the Open Database License

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

  • Update better-sqlite3 to new version, to fix compile issues on arm machines

[0.4.0]

Added for new features. Changed for changes in existing functionality. Deprecated for soon-to-be removed features. Removed for now removed features. Fixed for any bug fixes. Security in case of vulnerabilities.

Fixed

  • Use latest sqllite3 to work with NodeJS 16. 17348c1
  • Fix embarassing typo 3c26aca

Changed

  • Database name change to greendomain. d9c0a5b
  • Update dependencies, tidy with eslint cf05b78
  • Merge pull request #2 from thegreenwebfoundation/dependabot/npm_and_yarn/ini-1.3.8 ab6e9e6
  • Bump ini from 1.3.5 to 1.3.8 63c61c7
  • Merge pull request #1 from thegreenwebfoundation/dependabot/npm_and_yarn/lodash-4.17.19 70b5c4c
  • Bump lodash from 4.17.15 to 4.17.19 8630c5b

[0.3.0]

  • Added some scripts to automate generation and publishing of the JSON to consume in downstream tools

[0.2.0]

  • This is the first public release of the the extracted module for looking up domains against the green web foundation datasets

Changed

  • Explicitly require Node 16 or greater

[0.0.3]

Changed

  • Update the README with better licensing
  • Add a publish command, and one to generate JSON dumps used by downstream packages

[0.0.2]

  • First release! I didn't realise np would bump the version number from 0.0.1 to 0.0.0.2…

Added

  • Added extracted code from co2.js module
  • Add database contents, (as an experiment in using npm for distribution)