Skip to content

Bug: unable to build with tsc when not using @middy/core #1080

Closed
@rreddypally

Description

@rreddypally

Bug description

The code doesn't compile using tsc when using the Logger module without middy.

Expected Behavior

Should be able to use Logger without the need to import middy when its not used. This is possible by importing the submodule via import { Logger } from "@aws-lambda-powertools/logger/lib/Logger";. If this is the solution maybe the documentation should reflect that.

Current Behavior

Middy is required atleast as the dev dependency while compiling with tsc. This is not a problem when esbuild or ts-node is used.

Possible Solution

Steps to Reproduce

Steps:

  1. npm install and import Logger using import { Logger } from "@aws-lambda-powertools/logger";
  2. Build project using tsc
  3. Expect this error Cannot find module '@middy/core' or its corresponding type declarations.

package.json

{
  "scripts": {
    "build": "npm i && tsc logger-demo.ts"
  },
  "dependencies": {
    "@aws-lambda-powertools/logger": "1.2.0",
    "@types/aws-lambda": "8.10.101"
    
  },
  "devDependencies": {
    "typescript": "4.7.4"
  }
}

logger-demo

import { Logger } from "@aws-lambda-powertools/logger/lib/Logger";

const logger = new Logger();
logger.info("Testing logger");

tsconfig.json

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "target": "ES2021",
        "module": "CommonJS"
    }
}

Environment

  • Powertools version used: 1.2.1
  • Packaging format (Layers, npm): npm
  • AWS Lambda function runtime: node16
  • **Debugging logs:**n/a

Related issues, RFCs

#1068

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingcompletedThis item is complete and has been merged/shippedloggerThis item relates to the Logger Utility

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions