# JavaScript and TypeScript support

JavaScript- and TypeScript-specific features and guidance
Table of Contents
Language Info for JavaScript

- Implementation: `EcmascriptLanguageModule`
- Id: ecmascript
- PMD: ✔️
- CPD: ✔️

Language Info for TypeScript

- Since PMD 7.0.0
- Implementation: `TsLanguageModule`
- Id: ts
- PMD: ❌
- CPD: ✔️

## JavaScript

JavaScript support is using Rhino for parsing and supports CPD as well as PMD with rules.

See Compatibility Table for supported language features.

## TypeScript

TypeScript is supported for Copy-Paste-Detection only and uses the ANTLR grammar from antlr/grammars-v4. This grammar is published under the MIT license.

Tags: languages PmdCapableLanguage CpdCapableLanguage