Skip to content

TypeScript & Types

Power SEO Bot edited this page Feb 27, 2026 · 1 revision

TypeScript & Type Safety

Power-SEO is 100% TypeScript with comprehensive type definitions across all 17 packages.

Full Type Coverage

Every package includes:

  • Complete .d.ts type definitions
  • Zero need for @types/ packages
  • Type inference for all exports
  • Strict null checks enabled

Example: Type-Safe Content Analysis

import { analyzeContent, AnalysisResult } from '@power-seo/content-analysis';

const result: AnalysisResult = analyzeContent({
  title: 'My Article',
  content: '<h1>My Article</h1><p>Content...</p>',
  focusKeyphrase: 'my keyword',
});

// result.score is typed as number
// result.results is typed as AnalysisResult[]
// result.recommendations is typed as string[]

Schema Builder Types

JSON-LD schema builders are fully typed:

import { article, Article } from '@power-seo/schema';

const schema: Article = article({
  headline: 'My Article',
  datePublished: '2026-01-15',
  author: { name: 'Jane Doe' },
});

Framework Integration Types

Next.js and Remix have specific types:

// Next.js - metadata object
import { createMetadata, Metadata } from '@power-seo/meta';

export const metadata: Metadata = createMetadata({
  title: 'My Page',
  description: 'Page description',
});

// Remix - MetaDescriptor array
import { createMetaDescriptors, MetaDescriptor } from '@power-seo/meta';

export const meta = (): MetaDescriptor[] =>
  createMetaDescriptors({
    title: 'My Page',
    description: 'Page description',
  });

Benefits

  • ✅ No type guessing
  • ✅ IDE autocomplete
  • ✅ Compiler catches errors early
  • ✅ Self-documenting code
  • ✅ Zero runtime overhead

For more information, check the API Reference pages.

Clone this wiki locally