Observed since 20 Oct, 18:53 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
2021-beer-styles
Beer styles in JSON format based on the 2021 BJCP style guidelines.
⚠️ This package has moved.
2021-beer-styleshas been renamed tobeer-stylesand will not receive further updates. Installbeer-stylesand import frombeer-styles/2021for identical data.- npm install 2021-beer-styles + npm install beer-styles- import { beerStyles } from '2021-beer-styles'; + import { beerStyles } from 'beer-styles/2021';
beer-stylesversions its data by year: the barebeer-stylesimport tracks the latest guidelines, andbeer-styles/2021stays pinned to this data.
Beer styles in JSON format based on the 2021 BJCP style guidelines, published with TypeScript types.
npm install 2021-beer-styles
Ships ESM and CommonJS builds plus type declarations. Node.js >= 18.
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' };
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.
.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.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.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
eslintEnvironment{
"local_name": "eslint",
"alias": false,
"peer_metadata": null
} | 8.20.0 | development |
prettierEnvironment{
"local_name": "prettier",
"alias": false,
"peer_metadata": null
} | 2.7.1 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | 4.7.4 | development |
@types/jestEnvironment{
"local_name": "@types/jest",
"alias": false,
"peer_metadata": null
} | 28.1.6 | development |
eslint-plugin-jestEnvironment{
"local_name": "eslint-plugin-jest",
"alias": false,
"peer_metadata": null
} | 26.6.0 | development |
@typescript-eslint/parserEnvironment{
"local_name": "@typescript-eslint/parser",
"alias": false,
"peer_metadata": null
} | 5.30.7 | development |
@typescript-eslint/eslint-pluginEnvironment{
"local_name": "@typescript-eslint/eslint-plugin",
"alias": false,
"peer_metadata": null
} | 5.30.7 | development |
Source distribution
{
"shasum": "5bffda6813f379aaedefa49d777e16b345073c97",
"tarball": "https://registry.npmjs.org/2021-beer-styles/-/2021-beer-styles-1.0.2.tgz",
"fileCount": 7,
"integrity": "sha512-K1/JFaIFIww5AFAOyLfN7WvDnGOV8pR1f+O6xdnHojQGz32WEQ3mQaJv02RHsT+1Owz9G2WXsMOhLOs9ZsD5Zw==",
"signatures": [
{
"sig": "MEUCIQCEMp0ZMftccCKqSkp/hgAT4xPp3NEPA/P+gpiP4U1qLAIgSbZ8CoFC7LGbgSSTY26RpwT/U0dO2bOuPM8TZPPeTOg=",
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"
}
],
"unpackedSize": 4999,
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+URbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpn8g//RtirT8Bm3p/bzMzFWw2Febjkrf6e38/uAuE0USf5Q8YUwSy/\r\nInZ7NGhj26pTI16m5LJKAkoVPPVjGoVeaDW0TzAJO+DevW982NSQovLbyF2t\r\nTEVGWdbTcdJWnUH/hdQt4XdqcVsxFT8cHJ2qLbpd/H4BL9pJ8i5+VbDGOekj\r\nICF2/fjyR6/LtR5vzks0N6AH7ewkHQ85u43QPJwQvl3EkW/Q8Hyl73UKjb0k\r\n4mzeKmh9Mcjk0kYbJnt3caE8CHOntOnhL9Sbxq63ZYvBTQzEDxENWnB96axY\r\nbq+5G6HSMi+d9HGOiBORLOebgcCzEF8lJ0PnAy9WyAcZBw84nQcwS/019xaq\r\nYPWv3tk6JpUqsADKry3ZM5fhkF8EuV7q350rGdM4ovCir/LyDfYW7wmmd3Ns\r\nSvi/r9xL/+nK0x0S822AfY/tQHlpBOpoqROaFJkwOXKdYK25Uj122uEseAsa\r\nr4AW87sXsptH/M0Ns7qYXBCEwoYYwsS9j1xNmYSb3BjIoKH/cxXGK6gK27G7\r\nwFYFNnUaue6g8Kq8IzewRI6+ZFLrDWv1ObI6czntZ79Deoe9cSfk4XIFzb0t\r\n/8NGOhrWaOGYDiDIEkLX9YxSbpiRuIuQWBXw9vu4+uVF7tvaY4fro5gGZyJz\r\nCO8rR64I/ZfJxsMMKTbS8RzShiCDZzqrlwo=\r\n=pxs3\r\n-----END PGP SIGNATURE-----\r\n"
}Shared repository data · GitHub
Observed since 20 Oct, 18:53 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:f9a8038ba4713b0fd97a57e95fe7b656a5dacd7dfc63f9cc074e393fee41d016