GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - rxmarbles/javascript: The official GoDaddy JavaScript styleguide.

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

153 Commits
153 Commits

Folders and files

NameName
Last commit message
Last commit date
bin
bin
 
 
packages
packages
 
 
.eslintrc.js
.eslintrc.js
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 

Repository files navigation

godaddy-style

Official GoDaddy JavaScript styleguide. It includes eslint packages for three use-cases and can be used as a standard in any new project.

  • eslint-config-godaddy: Base configuration for non-React, ES6 JavaScript applications
  • eslint-config-godaddy-react: Configuration for ES6 React JavaScript applications
  • eslint-config-godaddy-es5: Configuration for React and non-React ES5 JavaScript applications
  • eslint-config-godaddy-react-flow: Configuration for ES6 React JavaScript applications using Flow

There are many useful features:

  • Standard. No configuration. – Stop worrying about style and focus on your work.
  • Modern – Uses modern linting tools like eslint.
  • Auto-fix – Auto-fix is enabled by-default through in eslint. Many rules will fix themselves!

This styleguide is used by dozens of product teams at GoDaddy. Have a question or comment? Open an issue!

  • Installation
  • Usage
  • Additional Best Practices
  • FAQ
  • Roadmap
  • Contributors

Installation

Install one of the provided packages depending on the kind of application you are developing:

# Default with ES6
npm i eslint-config-godaddy --save-dev

# OR (ES6 with React rules)
npm i eslint-config-godaddy-react --save-dev

# OR (legacy ES5 with React rules)
npm i eslint-config-godaddy-es5 --save-dev

# OR (ES6 with React and Flow rules)
npm i eslint-config-godaddy-react-flow --save-dev

Usage

There are two ways to use this styleguide depending on your own tooling preference: directly using pre-included binaries or running eslint yourself with a custom .eslintrc config.

1. Use the pre-included binaries.

These use exactly the configuration defined in the individual eslint-config-godaddy* package with auto-fix enabled automatically.

{
  "scripts": {
    "lint": "eslint-godaddy files/ you/ want-to/ lint/"
  }
}
2. Define your local .eslintrc and run eslint yourself:
module.exports = {
  extends: 'godaddy',
  rules: {
    //
    // Put any rules you wish to override here.
    //
  }
}

The --fix option in eslint is only available as a CLI option. Auto-fix will NOT be enabled unless you run eslint --fix in your package.json.

{
  "scripts": {
    "lint": "eslint --fix files/ you/ want-to/ lint/"
  }
}

Additional Best Practices

This section is a place for additional best practices that may be useful but are not strictly enforced by this styleguide. Have something to add here? Great! Submit a PR.

React

  • AirBnB React Styleguide

FAQ

How do I override a specific rule ?

1. Add a .eslintrc file at the root of your project:
{
  "extends": "godaddy",
  "rules": {
    // Disable the 'max-params' rule
    "max-params": 0
  }
}
2. Add a param to specify the path of your own .eslintrc file in your package.json:
{
  "scripts": {
    "eslint": "eslint-godaddy -c .eslintrc lib/ test/",
  }
}

How do I contribute?

Fork this repository and submit a pull request.

Proposed modifications to the style guide should modify the files in /dotfiles before running npm run build when submitting a pull request. This repository utilizes the fashion-show module to generate the /dist files to be checked in.

I disagree with a specific rule

Great. We'd love to talk about it. Fork this repository and submit a pull-request.

Help! It's not working for me!

No problem. Reach out to us by opening an issue

Roadmap

  • Consider other rules in an eslint only implementation:
    • computed-property-spacing
    • generator-star-spacing
    • semi-spacing
    • block-spacing
  • Continue to modularize the eslint rules.
  • Translate configuration files into more verbose written documentation.
  • Add support for IDE formats (IntelliJ, Webstorm, Atom, Eclipse, Sublime, etc...)

About

The official GoDaddy JavaScript styleguide.

Resources

Readme
MIT license
Activity

Stars

2 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.