How we write JavaScript at Glossier


stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
Minified + gzip package size for @glossier/eslint-config in KB


Glossier's JavaScript styleguide

We are following JavaScript Standard Style, with some additional guidelines. We are also extending the react, jest, and jsx-a11y ESLint plugins with the recommended configuration.


yarn add --dev eslint@^4.19.1 @glossier/eslint-config


To get started, extend Glossier's configuration in your .eslintrc.

  "extends": "@glossier"

That's it -- you can now lint your code.

./node_modules/.bin/eslint .

Additional Guidelines

As mentioned above, we are following JavaScript Standard Style, with the following extra rules:


We define a maximum line length of 100 characters.

// bad
const books = ['JavaScript: The Good Parts', 'Eloquent JavaScript A Modrn Introduction to Programming']

// good
const books = [
  'JavaScript: The Good Parts',
  'Eloquent JavaScript A Modrn Introduction to Programming'


Prefer using const over let or var.

// bad
let a = 1

// good
const a = 1


Prefer using let over var.

// bad
var foo = 'bar'
foo = 'baz'

// good
let foo = 'bar'
foo = 'baz'


Copyright 2018 Glossier Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.