Why do I get can't resolve module if I try to import an Enum type?

Viewed 375

I have a typescript project

my tsconfig.json is like :

{
 "compilerOptions": {
 ...
 "typeRoots": [
  "./node_modules/@types",
  "./src/@types"
 ],
 ...
},

since in "./src/@types" I define my definition files for custom typings set up like

-tsconfig.json
-src
|_@types
  |_app-types
    |_index.d.ts

contents of index.d.ts

before I had and everything worked fine:

declare module 'app-types' {
 export interface commonFilter {
    "filterReference": 'include' | 'exclude' | null,
    ...
 }
 ...
}

after I tried this improvement (but then got the issue explained below):

declare module 'app-types' {
 export const enum FilterReferenceType {
    include = 'include',
    exclude = 'exclude'
 }

 export interface commonFilter {
    "filterReference": FilterReferenceType | null,
    ...
 }
 ...
}

in my file App.ts:

before import {commonFilter} from "app-types";

 public static commonFilterBannerValid(matchFilters: commonFilter){
  ...
  const isIncludeMode: boolean = matchFilters.filterReference === 'include';

after import {commonFilter, FilterReferenceType} from "app-types";

 public static commonFilterBannerValid(matchFilters: commonFilter){
  ...
  const isIncludeMode: boolean = matchFilters.filterReference === FilterReferenceType['include'];

But with this last one I get an error like :

 ERROR in ./src/App.ts
Module not found: Error: Can't resolve 'app-types' in ....

Seems that trying to export import the enum type will break...the entire module resolution?

0 Answers
Related