@@ -3,22 +3,14 @@ import path from 'path';
33import dotenv from 'dotenv' ;
44import { AcceptedPlugin } from 'postcss' ;
55import postcssrc from 'postcss-load-config' ;
6- import { server } from 'typescript/lib/tsserverlibrary' ;
6+ import type tsModule from 'typescript/lib/tsserverlibrary' ;
77import { Options } from './options' ;
88import { createMatchers } from './helpers/createMatchers' ;
99import { isCSSFn } from './helpers/cssExtensions' ;
1010import { getDtsSnapshot } from './helpers/getDtsSnapshot' ;
1111import { createLogger } from './helpers/logger' ;
1212import { getProcessor } from './helpers/getProcessor' ;
1313import { filterPlugins } from './helpers/filterPlugins' ;
14- import {
15- createLanguageService ,
16- Extension ,
17- LanguageService ,
18- LanguageServiceHost ,
19- ResolvedModuleFull ,
20- ScriptKind ,
21- } from 'typescript' ;
2214
2315const getPostCssConfigPlugins = ( directory : string ) => {
2416 try {
@@ -28,25 +20,27 @@ const getPostCssConfigPlugins = (directory: string) => {
2820 }
2921} ;
3022
31- const init : server . PluginModuleFactory = ( { typescript : ts } ) => {
23+ const init : tsModule . server . PluginModuleFactory = ( { typescript : ts } ) => {
3224 let _isCSS : isCSSFn ;
3325
34- function create ( info : server . PluginCreateInfo ) : LanguageService {
26+ function create (
27+ info : tsModule . server . PluginCreateInfo ,
28+ ) : tsModule . LanguageService {
3529 const logger = createLogger ( info ) ;
3630 const directory = info . project . getCurrentDirectory ( ) ;
3731 const compilerOptions = info . project . getCompilerOptions ( ) ;
3832
39- const languageServiceHost = { } as Partial < LanguageServiceHost > ;
33+ const languageServiceHost = { } as Partial < tsModule . LanguageServiceHost > ;
4034
4135 const languageServiceHostProxy = new Proxy ( info . languageServiceHost , {
42- get ( target , key : keyof LanguageServiceHost ) {
36+ get ( target , key : keyof tsModule . LanguageServiceHost ) {
4337 return languageServiceHost [ key ]
4438 ? languageServiceHost [ key ]
4539 : target [ key ] ;
4640 } ,
4741 } ) ;
4842
49- const languageService = createLanguageService ( languageServiceHostProxy ) ;
43+ const languageService = ts . createLanguageService ( languageServiceHostProxy ) ;
5044
5145 // TypeScript plugins have a `cwd` of `/`, which causes issues with import resolution.
5246 process . chdir ( directory ) ;
@@ -123,10 +117,10 @@ const init: server.PluginModuleFactory = ({ typescript: ts }) => {
123117
124118 languageServiceHost . getScriptKind = ( fileName ) => {
125119 if ( ! info . languageServiceHost . getScriptKind ) {
126- return ScriptKind . Unknown ;
120+ return ts . ScriptKind . Unknown ;
127121 }
128122 if ( isCSS ( fileName ) ) {
129- return ScriptKind . TS ;
123+ return ts . ScriptKind . TS ;
130124 }
131125 return info . languageServiceHost . getScriptKind ( fileName ) ;
132126 } ;
@@ -148,10 +142,10 @@ const init: server.PluginModuleFactory = ({ typescript: ts }) => {
148142
149143 const createModuleResolver =
150144 ( containingFile : string ) =>
151- ( moduleName : string ) : ResolvedModuleFull | undefined => {
145+ ( moduleName : string ) : tsModule . ResolvedModuleFull | undefined => {
152146 if ( isRelativeCSS ( moduleName ) ) {
153147 return {
154- extension : Extension . Dts ,
148+ extension : ts . Extension . Dts ,
155149 isExternalLibraryImport : false ,
156150 resolvedFileName : path . resolve (
157151 path . dirname ( containingFile ) ,
@@ -203,7 +197,7 @@ const init: server.PluginModuleFactory = ({ typescript: ts }) => {
203197
204198 if ( cssModulePath ) {
205199 return {
206- extension : Extension . Dts ,
200+ extension : ts . Extension . Dts ,
207201 isExternalLibraryImport : false ,
208202 resolvedFileName : path . resolve ( cssModulePath ) ,
209203 } ;
@@ -279,7 +273,9 @@ const init: server.PluginModuleFactory = ({ typescript: ts }) => {
279273 return languageService ;
280274 }
281275
282- function getExternalFiles ( project : server . ConfiguredProject ) : string [ ] {
276+ function getExternalFiles (
277+ project : tsModule . server . ConfiguredProject ,
278+ ) : string [ ] {
283279 return project . getFileNames ( ) . filter ( _isCSS ) ;
284280 }
285281
0 commit comments