Catalog npm
Back to packageRELEASE DETAILS

1.0.0

npm

2021-beer-styles

Beer styles in JSON format based on the 2021 BJCP style guidelines.

boilerplatetypescript2021beerbeer-stylesbjcpbrewinghomebrewjsonstyle-guidelines
Published5 Aug 2022
Direct dependencies7
Transitive dependenciesNot calculated

README

Current package documentation

2021-beer-styles

⚠️ This package has moved. 2021-beer-styles has been renamed to beer-styles and will not receive further updates. Install beer-styles and import from beer-styles/2021 for identical data.

- npm install 2021-beer-styles
+ npm install beer-styles
- import { beerStyles } from '2021-beer-styles';
+ import { beerStyles } from 'beer-styles/2021';

beer-styles versions its data by year: the bare beer-styles import tracks the latest guidelines, and beer-styles/2021 stays pinned to this data.

Beer styles in JSON format based on the 2021 BJCP style guidelines, published with TypeScript types.

Install

npm install 2021-beer-styles

Ships ESM and CommonJS builds plus type declarations. Node.js >= 18.

Usage

import { beerStyles } from '2021-beer-styles';
// or: import beerStyles from '2021-beer-styles';

beerStyles[0].title; // "1. Standard American Beer"
beerStyles[0].styles[0].title; // "1A. American Light Lager"

CommonJS:

const { beerStyles } = require('2021-beer-styles');

Types:

import type { BeerStyles, BeerCategory, BeerStyle, VitalStatistics } from '2021-beer-styles';

Raw JSON (no JS wrapper), via the subpath export:

import styles from '2021-beer-styles/styles.json' with { type: 'json' };

Data shape

beerStyles is a BeerCategory[]. Each category has a title, a description, and a list of styles; each style has a title, an optional description, and a properties object (overallImpression, aroma, vitalStatistics, tags, …). See src/types.ts for the full contract.

Notes

  • Some styles are not 100% faithful to the BJCP guidelines — the data was converted from the source .docx with a parsing script.
  • 25B. Saison has an extra properties.specialStatistics field. The BJCP defines it as a table of strength variants (table / standard / super); vitalStatistics holds the combined range and specialStatistics holds the per-variant numbers.

Contributing

Fixes to style content and types are welcome — open an issue or PR.

npm install      # also runs the build via the prepare script
npm run build    # bundle src/ -> dist/ with tsup (ESM + CJS + d.ts)
npm test         # tsc --noEmit: also checks src/styles.json against the types
npm run lint
npm run format

The data lives in src/styles.json (the single source of truth). src/index.ts imports it, applies the types, and re-exports.

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 7

Native requirements
7 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
eslint
Environment
{
  "local_name": "eslint",
  "alias": false,
  "peer_metadata": null
}
8.20.0development
prettier
Environment
{
  "local_name": "prettier",
  "alias": false,
  "peer_metadata": null
}
2.7.1development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
4.7.4development
@types/jest
Environment
{
  "local_name": "@types/jest",
  "alias": false,
  "peer_metadata": null
}
28.1.6development
eslint-plugin-jest
Environment
{
  "local_name": "eslint-plugin-jest",
  "alias": false,
  "peer_metadata": null
}
26.6.0development
@typescript-eslint/parser
Environment
{
  "local_name": "@typescript-eslint/parser",
  "alias": false,
  "peer_metadata": null
}
5.30.7development
@typescript-eslint/eslint-plugin
Environment
{
  "local_name": "@typescript-eslint/eslint-plugin",
  "alias": false,
  "peer_metadata": null
}
5.30.7development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "c3713f84e442161f1e0f4b649c6bb38a2518cd88",
  "tarball": "https://registry.npmjs.org/2021-beer-styles/-/2021-beer-styles-1.0.0.tgz",
  "fileCount": 8,
  "integrity": "sha512-QJlEJTPJk6WFGejVfVZ0PXnCA/uJZaKcWsZbYLfnj4s8fgRmwKOwku81YqZ9XR0NG/uiBW7GIHX787IVo3wcrg==",
  "signatures": [
    {
      "sig": "MEUCIQCQqLUhq7C6Suf5KSggXuMQ8GA/MgI5QBwB/Gp76OXgBAIgOgwB8u2DZ3cgPQcxeOFL6gzUct04guFacYT9UxFq4hQ=",
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"
    }
  ],
  "unpackedSize": 521977,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7GtYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPhw/9HbKBmr2njODrY3VNjJZkY1ut7A3lUc9bd0GZknXIkqnrSRwD\r\nc2LH3hiX57I9ggPgwZ+CGtZ4FZxIuWi/sW1kMOllYEBKiNCxjB7LYupO3SDh\r\nTe5xMHxFfh1A2dFkVisTyRtfoACB1gqeRu53Jlpc2R1WA/ZO7jRM1zPuWxJg\r\nUTd/VInmQCKE0OJTEj4KUXFO/m+PlfpgAzOVzQXPqQIVlntHSyEPoVt+BHb0\r\nkzckmCY3G2mifsh/t7r7WqnnmfYdDInuc6KH+M9+n5ZzDE3GMHCeDOgYgWLz\r\npTuk/A0Qg8hVPzp1C+UOVeQlMfqOLNB/shlnSS7ITN14vzszJBTjbimJrkpr\r\nYxKwAjVTT8OGxjrT5+6t5ii5NctdgXJdJ9JQt5Z+VmaFZbBT63m4R4cs7tPX\r\nv3fds9R/b6ZF1I04ZxSg3crJRS4zCjbiTuQMb0HIuXIWZtDOXyglu06kkVtC\r\nLfsD92mmkJPzxxlBxOpdI9ntSG7Ov9tNqogZw/Ly+Ys21DylccP+cu8jf1Rr\r\nEbB+vT8K8R4oIH+6kV++dNMqABsLZkfxRiShzteD3O4f+fl8judk1qNol2dH\r\nLh8kXo+bkhXjGxT+rVgV7R96vYiLq/EP5OvOlO519RuSMxvBba3q6Rh9AQ7+\r\nasnffAKJB057r2HqsAySFzzHykMi9kYhfc4=\r\n=FvhL\r\n-----END PGP SIGNATURE-----\r\n"
}

Repository

PENDING
jrdn91/bjcp-guidelines-2021

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:53 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:98d7d0bfac55cd10135d8ac875b70045b20cd00a112568abc81da90fa084de2f

Other collected versions

2.1.07 Sept1.0.314 Aug1.0.214 Aug1.0.114 AugView all collected versions →