Skip to main content

@typescript-eslint/project-service

npm: @typescript-eslint/project-service v8.33.1

Standalone TypeScript project service wrapper for linting ✨

The typescript-eslint Project Service is a wrapper around TypeScript's "project service" APIs. These APIs are what editors such as VS Code use to programmatically "open" files and generate TypeScript programs for type information.

note

See Blog > Typed Linting with Project Service for more details on how lint users interact with the Project Service.

import { createProjectService } from '@typescript-eslint/project-service';

const filePathAbsolute = '/path/to/your/project/index.ts';
const { service } = createProjectService();

service.openClientFile(filePathAbsolute);

const scriptInfo = service.getScriptInfo(filePathAbsolute)!;
const program = service
.getDefaultProjectForFile(scriptInfo.fileName, true)!
.getLanguageService(true)
.getProgram()!;

The following documentation is auto-generated from source code.

Functions

createProjectService()

function createProjectService(settings): ProjectServiceAndMetadata;

Defined in: createProjectService.ts:93

Creates a new Project Service instance, as well as metadata on its creation.

Parameters

ParameterTypeDescription
settingsCreateProjectServiceSettingsSettings to create a new Project Service instance.

Returns

ProjectServiceAndMetadata

A new Project Service instance, as well as metadata on its creation.

Example

import { createProjectService } from '@typescript-eslint/project-service';

const { service } = createProjectService();

service.openClientFile('index.ts');

Interfaces

CreateProjectServiceSettings

Defined in: createProjectService.ts:63

Settings to create a new Project Service instance with createProjectService.

Properties

PropertyTypeDescriptionDefined in
jsDocParsingMode?JSDocParsingModeHow aggressively (and slowly) to parse JSDoc comments.createProjectService.ts:72
options?ProjectServiceOptionsGranular options to configure the project service.createProjectService.ts:67
tsconfigRootDir?stringRoot directory for the tsconfig.json file, if not the current directory.createProjectService.ts:77

ProjectServiceAndMetadata

Defined in: createProjectService.ts:38

A created Project Service instance, as well as metadata on its creation.

Properties

PropertyTypeDescriptionDefined in
allowDefaultProjectundefined | string[]Files allowed to be loaded from the default project, if any were specified.createProjectService.ts:42
lastReloadTimestampnumberThe performance.now() timestamp of the last reload of the project service.createProjectService.ts:47
maximumDefaultProjectFileMatchCountnumberThe maximum number of files that can be matched by the default project.createProjectService.ts:52
serviceProjectServiceThe created TypeScript Project Service instance.createProjectService.ts:57

Type Aliases

TypeScriptProjectService

type TypeScriptProjectService = ts.server.ProjectService;

Defined in: createProjectService.ts:33

Shortcut type to refer to TypeScript's server ProjectService.