npm downloads license github stars
Official collection of JavaScript libraries, tools, and configurations for building on the GoDaddy platform. This monorepo contains all the JavaScript SDKs, ESLint configurations, and React components under the @godaddy namespace.
Choose the configuration that fits your project:
# For ES6 JavaScript applications npm install eslint-config-godaddy --save-dev # For React applications npm install eslint-config-godaddy-react --save-dev # For TypeScript applications npm install eslint-config-godaddy-typescript --save-dev # For React + TypeScript applications npm install eslint-config-godaddy-react-typescript --save-dev # For fast Rust-based linting (alternative to ESLint) npm install biome-config-godaddy --save-dev
# For GoDaddy platform integration npm install @godaddy/app-connect # For React components with commerce APIs npm install @godaddy/react
This monorepo contains the following packages:
| Package | Description | NPM |
|---|---|---|
eslint-config-godaddy |
Base ESLint configuration for ES6 JavaScript | npm |
eslint-config-godaddy-react |
ESLint configuration for React applications | npm |
eslint-config-godaddy-typescript |
ESLint configuration for TypeScript applications | npm |
eslint-config-godaddy-react-typescript |
ESLint configuration for React + TypeScript applications | npm |
biome-config-godaddy |
Fast Rust-based alternative to ESLint and Prettier using Biome | npm |
@godaddy/app-connect |
Platform integration tools for GoDaddy apps | npm |
@godaddy/react |
React components and commerce API integration | npm |
- Standard. No configuration. – Stop worrying about style and focus on your work.
- Modern – Uses modern linting tools like ESLint with support for ES6+, React, and TypeScript.
- Auto-fix – Auto-fix is enabled by default. Many rules will fix themselves!
- Battle-tested – Used by dozens of product teams at GoDaddy in production.
- Install the appropriate configuration for your project
- Create an
eslint.config.jsfile:
import GDConfig from 'eslint-config-godaddy'; import { defineConfig } from 'eslint-define-config'; export default defineConfig({ extends: [GDConfig], rules: { // Add your custom rules here 'no-console': 'warn', }, });
- Add a lint script to your
package.json:
{
"scripts": {
"lint": "eslint --fix src/"
}
}For improved performance, use the Biome configuration. Create a biome.json file:
{
"$schema": "https://biomejs.dev/schemas/2.2.0/schema.json",
"extends": ["biome-config-godaddy/biome.json"]
}For TypeScript projects:
{
"$schema": "https://biomejs.dev/schemas/2.2.0/schema.json",
"extends": ["biome-config-godaddy/biome-ts.json"]
}Add these scripts to your package.json:
{
"scripts": {
"lint": "biome lint .",
"lint:fix": "biome lint --write .",
"format": "biome format --write .",
"check": "biome check --write ."
}
}For applications integrating with the GoDaddy platform:
import { verifyAction } from '@godaddy/app-connect'; // Verify requests from GoDaddy platform const result = verifyAction(request); if (result.success) { // Process verified request }
Release information is available through:
- GitHub Releases page
- Individual
CHANGELOG.mdfiles within each package (e.g.,packages/eslint-config-godaddy/CHANGELOG.md)
We welcome contributions! To get started:
- Fork this repository
- Make your changes
- Submit a pull request
This repository uses pnpm for package management and workspace handling.
# Install dependencies pnpm install # Run tests across all packages pnpm test # Run linting across all packages pnpm lint # Create a changeset for your changes pnpm changeset
This repository uses changesets for versioning and publishing. Include a changeset with your pull request:
pnpm changeset
Follow the prompts to select which packages should receive version bumps.
Have a question or found an issue?
- Open an issue on GitHub
- Check out our contributing guidelines
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the GoDaddy engineering team