## 1. Project Overview & Quickstart (golang/oauth2) # OAuth2 for Go [](https://pkg.go.dev/golang.org/x/oauth2) [](https://travis-ci.org/golang/oauth2) oauth2 package contains a client implementation for OAuth 2.0 spec. See pkg.go.dev for further documentation and examples. * [pkg.go.dev/golang.org/x/oauth2](https://pkg.go.dev/golang.org/x/oauth2) * [pkg.go.dev/golang.org/x/oauth2/google](https://pkg.go.dev/golang.org/x/oauth2/google) ## Policy for new endpoints We no longer accept new provider-specific packages in this repo if all they do is add a single endpoint variable. If you just want to add a single endpoint, add it to the [pkg.go.dev/golang.org/x/oauth2/endpoints](https://pkg.go.dev/golang.org/x/oauth2/endpoints) package. ## Report Issues / Send Patches The main issue tracker for the oauth2 repository is located at https://github.com/golang/oauth2/issues. This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute. The git repository is https://go.googlesource.com/oauth2. Note: * Excluding trivial changes, all contributions should be connected to an existing issue. * API changes must go through the [change proposal process](https://go.dev/s/proposal-process) before they can be accepted. * The code owners are listed at [dev.golang.org/owners](https://dev.golang.org/owners#:~:text=x/oauth2). ## 2. Official Technical Reference & Guides (golang/website) # Go website [](https://pkg.go.dev/golang.org/x/website) This repo holds content and serving programs for the go.dev and golang.org web sites. Content is in \_content/ (go.dev) and tour/ (go.dev/tour). Server code is in cmd/ and internal/. To run the combined go.dev+golang.org server to preview local content changes, use: go run ./cmd/golangorg The supporting programs cmd/admingolangorg and cmd/googlegolangorg are the servers for admin.golang.org and google.golang.org. (They do not use the \_content/ directories.) Each command directory has its own README.md explaining deployment. ## JS/TS/CSS Formatting This repository uses [eslint](https://eslint.org/) to format JS and TS files, and [stylelint](https://stylelint.io/) to format CSS files. See also: - [CSS](https://go.dev/wiki/CSSStyleGuide) - [JavaScript](https://google.github.io/styleguide/jsguide.html) - [TypeScript](https://google.github.io/styleguide/tsguide.html) It is encouraged that all JS, TS, and CSS code be run through formatters before submitting a change. However, it is not a strict requirement enforced by CI. ### Installing npm Dependencies: 1. Install [docker](https://docs.docker.com/get-docker/) 2. Create a .gitignore file at repo root 3. Add .gitignore and node_modules to .gitignore 4. Run `./npm install` ### Run ESlint ./npx eslint [options] [file] [dir] ### Run Stylelint ./npx stylelint [input] [options] ## TypeScript Support TypeScript files served from _content are transformed into JavaScript. Reference .ts files in html templates as module code. `