A monorepo of tools for detecting globalization and internationalization (i18n) issues in web applications. Provides a Chrome DevTools extension for manual inspection and a Playwright plugin for automated CI auditing.
| Package | Name | Description |
|---|---|---|
packages/core |
@pangaea-g11n/core |
Analyzer engine — runs analyzers and produces audit reports |
packages/playwright-plugin |
@pangaea-g11n/playwright |
Playwright plugin for running audits in E2E tests |
packages/devtools-extension |
@pangaea-g11n/extension (private) |
Chrome DevTools extension for interactive browser auditing |
packages/analyzers-e2e-test |
@pangaea-g11n/analyzers-e2e-test (private) |
E2E smoke tests for the analyzers themselves |
| Analyzer | What It Checks |
|---|---|
| RTLAnalyzer | Missing dir attributes, hardcoded text directions, improper RTL styling |
| EncodingAnalyzer | Mojibake patterns from UTF-8 → Windows-1252, Shift_JIS, and EUC-JP mismatches |
| LayoutStabilityAnalyzer | Content overflow (self-overflow and parent-overflow) that breaks when text expands |
| IMEAnalyzer | Input fields with keyboard handlers that are missing an event.isComposing guard, which breaks CJK input composition |
| LanguageAnalyzer | Text content or links whose detected language does not match the page's declared lang attribute |
| CollationAnalyzer | List, table, and select elements whose items are not sorted correctly for the page locale |
- Node.js 22+ (see
.node-version/.nvmrc) - Yarn (Corepack) — enabled automatically via
.yarnrc.yml
# Clone the repo
git clone https://github.com/docusign/pangaea.git
cd pangaea
# Install dependencies
yarn install
# Build all packages
yarn buildThe extension lets you manually audit any page you have open in Chrome without writing any test code.
-
Build the extension:
yarn build
-
Open Chrome and navigate to
chrome://extensions/ -
Enable Developer mode (toggle in the top-right corner)
-
Click Load unpacked and select
packages/devtools-extension/dist -
Open Chrome DevTools (
F12) and look for the Docusign Pangæa tab
- Navigate to the page you want to inspect
- Open DevTools → Docusign Pangæa tab
- Configure the analyzers you want to run and click Run Audit
- Click on any issue in the report to highlight the offending element on the page
- Optionally export the report as a PDF
Use @pangaea-g11n/playwright to add globalization checks directly into your Playwright E2E test
suite.
Add it to your project:
yarn add @pangaea-g11n/playwrightImport runAudit and run it against a page inside a test:
import { test, expect } from '@playwright/test';
import { runAudit } from '@pangaea-g11n/playwright';
test('passes the globalization audit', async ({ page }) => {
await page.goto('https://example.com');
const result = await runAudit({
page,
target: { name: 'Homepage', path: '/' },
thresholds: { globalizationScore: 70 },
});
expect(result.globalScore).toBeGreaterThanOrEqual(70);
});See the plugin README for per-analyzer thresholds, result artifacts, and reporter configuration.
All commands run from the repo root and use Turborepo to run tasks in parallel across packages.
yarn build # Build all packages
yarn test # Run all unit tests
yarn test:coverage # Run tests with coverage
yarn lint # Lint all packages
yarn format # Auto-format all files
yarn format:check # Check formatting without writing
yarn check-types # TypeScript type-check all packages
yarn clean # Delete all build outputs and node_modulesContributions are welcome. See CONTRIBUTING.md for the development workflow, coding standards, and how to open issues and pull requests.
To report a security vulnerability, please follow the process in SECURITY.md. Do not open a public issue for security reports.
Participation in this project is governed by our Code of Conduct.
MIT © Docusign, Inc.