From 92caa5fba7c0bace4de879a82b2a73cd0706b583 Mon Sep 17 00:00:00 2001 From: Connor Kirkpatrick Date: Wed, 16 Nov 2022 16:08:37 +0000 Subject: [PATCH 1/2] Generate ESM and CJS for logger --- .gitignore | 1 + packages/logger/package.json | 19 ++++++++++++---- packages/logger/tsconfig-dev.json | 31 +++----------------------- packages/logger/tsconfig.es.json | 34 +++++------------------------ packages/logger/tsconfig.json | 28 ++++++++++++------------ packages/logger/tsconfig.types.json | 10 +++++++++ 6 files changed, 49 insertions(+), 74 deletions(-) create mode 100644 packages/logger/tsconfig.types.json diff --git a/.gitignore b/.gitignore index ce7e2e2eb5..644f0a2e30 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ node_modules # Build output dist lib +dist-* # Coverage directory coverage diff --git a/packages/logger/package.json b/packages/logger/package.json index 84478e69b9..5a0c258972 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -18,7 +18,10 @@ "test:e2e:nodejs16x": "RUNTIME=nodejs16x jest --group=e2e", "test:e2e": "jest --group=e2e", "watch": "jest --watch --group=unit", - "build": "tsc", + "build": "npm run build:cjs && npm run build:esm && npm run build:types", + "build:cjs": "tsc -p tsconfig.json", + "build:esm": "tsc -p tsconfig.es.json", + "build:types": "tsc -p tsconfig.types.json", "lint": "eslint --ext .ts --no-error-on-unmatched-pattern src tests", "lint-fix": "eslint --fix --ext .ts --no-error-on-unmatched-pattern src tests", "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", @@ -28,8 +31,9 @@ }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/master/packages/logging#readme", "license": "MIT", - "main": "./lib/index.js", - "types": "./lib/index.d.ts", + "type": "module", + "main": "./dist-cjs/index.js", + "types": "./dist-types/index.d.ts", "typedocMain": "src/index.ts", "devDependencies": { "@types/lodash.clonedeep": "^4.5.7", @@ -60,5 +64,12 @@ "logging", "serverless", "nodejs" - ] + ], + "exports": { + ".": { + "types": "", + "import": "dist-es/index.js", + "require": "dist-cjs/index.cjs" + } + } } diff --git a/packages/logger/tsconfig-dev.json b/packages/logger/tsconfig-dev.json index 7c6046c8bc..7b6e7f7f1a 100644 --- a/packages/logger/tsconfig-dev.json +++ b/packages/logger/tsconfig-dev.json @@ -1,30 +1,5 @@ { - "compilerOptions": { - "experimentalDecorators": true, - "noImplicitAny": true, - "target": "ES2019", - "module": "commonjs", - "declaration": true, - "declarationMap": true, - "outDir": "lib", - "strict": true, - "inlineSourceMap": true, - "moduleResolution": "node", - "resolveJsonModule": true, - "pretty": true, - "baseUrl": "src/", - "rootDirs": [ "src/" ] - }, - "include": [ "src/**/*", "examples/**/*", "**/tests/**/*" ], - "exclude": [ "./node_modules"], - "watchOptions": { - "watchFile": "useFsEvents", - "watchDirectory": "useFsEvents", - "fallbackPolling": "dynamicPriority" - }, - "lib": [ "es2019" ], - "types": [ - "jest", - "node" - ] + "extends": "./tsconfig", + "compilerOptions": {}, + "include": ["src/**/*", "examples/**/*", "**/tests/**/*"] } \ No newline at end of file diff --git a/packages/logger/tsconfig.es.json b/packages/logger/tsconfig.es.json index 7c6046c8bc..6adf24d85e 100644 --- a/packages/logger/tsconfig.es.json +++ b/packages/logger/tsconfig.es.json @@ -1,30 +1,8 @@ { - "compilerOptions": { - "experimentalDecorators": true, - "noImplicitAny": true, - "target": "ES2019", - "module": "commonjs", - "declaration": true, - "declarationMap": true, - "outDir": "lib", - "strict": true, - "inlineSourceMap": true, - "moduleResolution": "node", - "resolveJsonModule": true, - "pretty": true, - "baseUrl": "src/", - "rootDirs": [ "src/" ] - }, - "include": [ "src/**/*", "examples/**/*", "**/tests/**/*" ], - "exclude": [ "./node_modules"], - "watchOptions": { - "watchFile": "useFsEvents", - "watchDirectory": "useFsEvents", - "fallbackPolling": "dynamicPriority" - }, - "lib": [ "es2019" ], - "types": [ - "jest", - "node" - ] + "extends": "./tsconfig", + "compilerOptions": { + "target": "es5", + "module": "esnext", + "outDir": "dist-es" + } } \ No newline at end of file diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json index 3d7d8b8b05..e5ae964ccc 100644 --- a/packages/logger/tsconfig.json +++ b/packages/logger/tsconfig.json @@ -1,19 +1,19 @@ { "compilerOptions": { - "experimentalDecorators": true, - "noImplicitAny": true, - "target": "ES2019", - "module": "commonjs", - "declaration": true, - "outDir": "lib", - "strict": true, - "inlineSourceMap": true, - "moduleResolution": "node", - "resolveJsonModule": true, - "pretty": true, - "baseUrl": "src/", - "rootDirs": [ "src/" ], - "esModuleInterop": true + "experimentalDecorators": true, + "noImplicitAny": true, + "target": "ES2019", + "module": "commonjs", + "declaration": true, + "outDir": "dist-cjs", + "strict": true, + "inlineSourceMap": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "pretty": true, + "baseUrl": "src/", + "rootDirs": ["src/"], + "esModuleInterop": true }, "include": [ "src/**/*" ], "exclude": [ "./node_modules"], diff --git a/packages/logger/tsconfig.types.json b/packages/logger/tsconfig.types.json new file mode 100644 index 0000000000..3561349862 --- /dev/null +++ b/packages/logger/tsconfig.types.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "removeComments": false, + "declaration": true, + "declarationDir": "dist-types", + "emitDeclarationOnly": true + }, + "exclude": ["test/**/*", "dist-types/**/*"] +} \ No newline at end of file From 0978f19de362af41fe161309ecd203d79b03a592 Mon Sep 17 00:00:00 2001 From: Connor Kirkpatrick Date: Thu, 17 Nov 2022 16:07:52 +0000 Subject: [PATCH 2/2] Update output directory structure --- packages/logger/package.json | 11 ++++++----- packages/logger/tsconfig.es.json | 2 +- packages/logger/tsconfig.json | 4 ++-- packages/logger/tsconfig.types.json | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/logger/package.json b/packages/logger/package.json index 5a0c258972..5a2f5b8666 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -32,8 +32,9 @@ "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/master/packages/logging#readme", "license": "MIT", "type": "module", - "main": "./dist-cjs/index.js", - "types": "./dist-types/index.d.ts", + "main": "./lib/cjs/index.js", + "module": "./lib/es/index.js", + "types": "./lib/types/index.d.ts", "typedocMain": "src/index.ts", "devDependencies": { "@types/lodash.clonedeep": "^4.5.7", @@ -67,9 +68,9 @@ ], "exports": { ".": { - "types": "", - "import": "dist-es/index.js", - "require": "dist-cjs/index.cjs" + "types": "./lib/types/index.d.js", + "import": "./lib/es/index.js", + "require": "./lib/cjs/index.js" } } } diff --git a/packages/logger/tsconfig.es.json b/packages/logger/tsconfig.es.json index 6adf24d85e..07c329fd01 100644 --- a/packages/logger/tsconfig.es.json +++ b/packages/logger/tsconfig.es.json @@ -3,6 +3,6 @@ "compilerOptions": { "target": "es5", "module": "esnext", - "outDir": "dist-es" + "outDir": "lib/es" } } \ No newline at end of file diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json index e5ae964ccc..5d5fe6008c 100644 --- a/packages/logger/tsconfig.json +++ b/packages/logger/tsconfig.json @@ -4,8 +4,8 @@ "noImplicitAny": true, "target": "ES2019", "module": "commonjs", - "declaration": true, - "outDir": "dist-cjs", + "declaration": false, + "outDir": "lib/cjs", "strict": true, "inlineSourceMap": true, "moduleResolution": "node", diff --git a/packages/logger/tsconfig.types.json b/packages/logger/tsconfig.types.json index 3561349862..59a3f72e55 100644 --- a/packages/logger/tsconfig.types.json +++ b/packages/logger/tsconfig.types.json @@ -3,7 +3,7 @@ "compilerOptions": { "removeComments": false, "declaration": true, - "declarationDir": "dist-types", + "declarationDir": "lib/types", "emitDeclarationOnly": true }, "exclude": ["test/**/*", "dist-types/**/*"]