I attempted to learn how to publish a TypeScript NPM package for the first time by following tutorials. However, when I used the package in my TypeScript Node.js project, I discovered that it could not recognize the type files for the package. All the other NPM packages I am using have functional type systems except for mine. It appears that the type safety is not functioning properly. Here is the project structure:
I have a file named "easyerrormodule.ts" where I defined my types, for example:
export interface comonErrorAttributes{
string?: string[]
number?: number[]
}
export interface commonGeneralErrorRoleAttributes{
role?: string
setRole?: string
}
export interface stringLengthErrorValueAttributes{
string?: string[]
}
export interface stringLengthErrorShortLengthAttributes{
shortMinLength?: number
shortMaxLength?: number
}
I also have this file with my logics called globaltype.ts
;
import { comonErrorAttributes, commonGeneralErrorRoleAttributes, stringLengthErrorValueAttributes, stringLengthErrorShortLengthAttributes,
stringLengthErrorLongStringLengthAttributes, stringLengthErrorLongStringAttributes} from "./easyerrormodule"
class GlobalErrorClass {
logics run here
}
export const errorInstance = new GlobalErrorClass()
My typescript config file:
{
"compilerOptions": {
/* Language and Environment */
"target": "es2015",
/* Modules */
"module": "ES2015",
/* Emit */
"declaration": true,
// "outFile": "./",
"outDir": "./build/esm",
// "allowSyntheticDefaultImports": true,
"esModuleInterop": true,
// "preserveSymlinks": true,
"forceConsistentCasingInFileNames": true,
/* Type Checking */
"strict": true,
/* Completeness */
// "skipDefaultLibCheck": true,
"skipLibCheck": true,
"typeRoots": ["./node_modules/@types/globaltype.d.ts"]
},
}
My package.json file:
{
"name": "errorcatchernode",
"version": "1.0.4",
"description": "basic error handling module for node basic projects",
"main": "build/globaltype.js",
"types": "build/easyerrormodule.d.ts",
"scripts": {
"build": "tsc"
},
"license": "ISC",
"devDependencies": {
"typescript": "^5.0.4"
}
}
What Am I missing?
Via Active questions tagged javascript - Stack Overflow https://ift.tt/rxjRPaZ
Comments
Post a Comment