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/reactThis monorepo contains the following packages:
| Package | Description | NPM |
|---|---|---|
eslint-config-godaddy |
Base ESLint configuration for ES6 JavaScript | |
eslint-config-godaddy-react |
ESLint configuration for React applications | |
eslint-config-godaddy-typescript |
ESLint configuration for TypeScript applications | |
eslint-config-godaddy-react-typescript |
ESLint configuration for React + TypeScript applications | |
biome-config-godaddy |
Fast Rust-based alternative to ESLint and Prettier using Biome | |
@godaddy/app-connect |
Platform integration tools for GoDaddy apps | |
@godaddy/react |
React components and commerce API integration |
- 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 changesetThis repository uses changesets for versioning and publishing. Include a changeset with your pull request:
pnpm changesetFollow 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