반응형

~/package.json

{
    "main": "dist/index.js",
    "types": "dist/index.d.ts",
    "scripts": {
        "build": "tsc"
    },
    "devDependencies": {
        "ts-jest": "^26.3.0",
        "typescript": "^4.0.2"
    },
    "jest": {
        "transform": {
            "^.+\\.(ts|tsx)$": "ts-jest"
        }
    }
}

~/tsconfig.json

  • include : 빌드 대상 파일
  • outDir : 빌드 결과물이 저장되는 디렉토리
  • declaretion: 빌드시 *.d.ts 파일 생성
{
    "include": ["./src/main/**/*"],
    "compilerOptions": {
        "esModuleInterop": true,
        "outDir": "./dist",
        "declaration": true
    }
}

~/src/main/index.ts

export function add(a: number, b: number): number {
    return a + b;
}

빌드 후 결과 확인

yarn build
// ~/dist/index.d.ts
export declare function add(a: number, b: number): number;
// ~/dist/index.js
"use strict";
exports.__esModule = true;
exports.add = void 0;
function add(a, b) {
    return a + b;
}
exports.add = add;
반응형

+ Recent posts