From d48f5bf4bbbf1e2df3376684512df91337e385fc Mon Sep 17 00:00:00 2001 From: Julien Blin Date: Mon, 4 Jun 2018 21:17:57 -0400 Subject: [PATCH 1/2] Removed unecessary definition files. --- test/unit/config-aws-test.d.ts | 1 - test/unit/config-test.d.ts | 1 - test/unit/container-test.d.ts | 1 - test/unit/errors-test.d.ts | 1 - test/unit/health-checks-test.d.ts | 1 - test/unit/key-value-repository-test.d.ts | 1 - test/unit/lambda-authorizer-test.d.ts | 1 - test/unit/lambda-helper-test.d.ts | 2 -- test/unit/lambda-proxy-test.d.ts | 1 - test/unit/lambda-test.d.ts | 1 - test/unit/results-test.d.ts | 1 - test/unit/utils-test.d.ts | 1 - 12 files changed, 13 deletions(-) delete mode 100644 test/unit/config-aws-test.d.ts delete mode 100644 test/unit/config-test.d.ts delete mode 100644 test/unit/container-test.d.ts delete mode 100644 test/unit/errors-test.d.ts delete mode 100644 test/unit/health-checks-test.d.ts delete mode 100644 test/unit/key-value-repository-test.d.ts delete mode 100644 test/unit/lambda-authorizer-test.d.ts delete mode 100644 test/unit/lambda-helper-test.d.ts delete mode 100644 test/unit/lambda-proxy-test.d.ts delete mode 100644 test/unit/lambda-test.d.ts delete mode 100644 test/unit/results-test.d.ts delete mode 100644 test/unit/utils-test.d.ts diff --git a/test/unit/config-aws-test.d.ts b/test/unit/config-aws-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/config-aws-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/config-test.d.ts b/test/unit/config-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/config-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/container-test.d.ts b/test/unit/container-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/container-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/errors-test.d.ts b/test/unit/errors-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/errors-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/health-checks-test.d.ts b/test/unit/health-checks-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/health-checks-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/key-value-repository-test.d.ts b/test/unit/key-value-repository-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/key-value-repository-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/lambda-authorizer-test.d.ts b/test/unit/lambda-authorizer-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/lambda-authorizer-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/lambda-helper-test.d.ts b/test/unit/lambda-helper-test.d.ts deleted file mode 100644 index 392d526..0000000 --- a/test/unit/lambda-helper-test.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Context } from "aws-lambda"; -export declare const createLambdaContext: () => Context; diff --git a/test/unit/lambda-proxy-test.d.ts b/test/unit/lambda-proxy-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/lambda-proxy-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/lambda-test.d.ts b/test/unit/lambda-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/lambda-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/results-test.d.ts b/test/unit/results-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/results-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/test/unit/utils-test.d.ts b/test/unit/utils-test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/test/unit/utils-test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; From 8685de0533d25074320012ee617e5c64e7222776 Mon Sep 17 00:00:00 2001 From: Julien Blin Date: Mon, 4 Jun 2018 21:27:30 -0400 Subject: [PATCH 2/2] Using TS paths now. --- .vscode/settings.json | 3 +- package-lock.json | 49 ++++++++++++++++++++++++++ package.json | 2 ++ test/mocha.opts | 1 + test/unit/config-aws-test.ts | 6 ++-- test/unit/config-test.ts | 2 +- test/unit/container-test.ts | 2 +- test/unit/errors-test.ts | 2 +- test/unit/health-checks-test.ts | 6 ++-- test/unit/key-value-repository-test.ts | 2 +- test/unit/lambda-authorizer-test.ts | 10 +++--- test/unit/lambda-helper-test.ts | 2 +- test/unit/lambda-proxy-test.ts | 8 ++--- test/unit/lambda-test.ts | 6 ++-- test/unit/results-test.ts | 4 +-- test/unit/utils-test.ts | 6 ++-- tsconfig.json | 7 +++- webpack.config.js | 4 +++ 18 files changed, 92 insertions(+), 30 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index a1c4706..d5b5489 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,5 +6,6 @@ "memoized", "opiniated", "prebuild" - ] + ], + "typescript.tsdk": "node_modules\\typescript\\lib" } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1eaf932..c809849 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2306,6 +2306,12 @@ "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true }, + "deepmerge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz", + "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==", + "dev": true + }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -9785,6 +9791,12 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -10006,6 +10018,43 @@ } } }, + "tsconfig-paths": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.3.2.tgz", + "integrity": "sha512-21VLRJIXGZDaZ0YVml12IXwSyEcluxvBZjS9xY5ZiKle0iF9NmNg7Hatb77FDg5Ahkas3dfvST8IDldMYpCH0g==", + "dev": true, + "requires": { + "deepmerge": "^2.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "tsconfig-paths-webpack-plugin": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.1.4.tgz", + "integrity": "sha512-V8gwHHcf2kfXeTINsUDANbMcvNR5tRAF68XXjkNvUgjAPTa31n8R7KrXA9igUK2GjOHlYx/zDI5M/nkARoPCdw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "tsconfig-paths": "^3.2.0" + } + }, "tslib": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.1.tgz", diff --git a/package.json b/package.json index 0f90e84..4d771ea 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,8 @@ "source-map-support": "^0.5.6", "ts-loader": "^4.3.0", "ts-node": "^6.0.3", + "tsconfig-paths": "^3.3.2", + "tsconfig-paths-webpack-plugin": "^3.1.4", "tslint": "^5.10.0", "tslint-no-unused-expression-chai": "^0.1.3", "typescript": "^2.8.3", diff --git a/test/mocha.opts b/test/mocha.opts index 2405297..9f52ea7 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,3 +1,4 @@ -r ts-node/register -r source-map-support/register +-r tsconfig-paths/register test/**/*-test.ts \ No newline at end of file diff --git a/test/unit/config-aws-test.ts b/test/unit/config-aws-test.ts index 6048fc6..abfe77f 100644 --- a/test/unit/config-aws-test.ts +++ b/test/unit/config-aws-test.ts @@ -1,10 +1,10 @@ +import { ConfigService } from "@src/config"; +import { SSMParameterStoreClient, SSMParameterStoreConfigService } from "@src/config-aws"; +import { HealthCheckStatus } from "@src/health-checks"; import { AWSError, Response, SSM } from "aws-sdk"; import { PromiseResult } from "aws-sdk/lib/request"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { ConfigService } from "../../src/config"; -import { SSMParameterStoreClient, SSMParameterStoreConfigService } from "../../src/config-aws"; -import { HealthCheckStatus } from "../../src/health-checks"; const path = "/opiniated-lambda/tests"; diff --git a/test/unit/config-test.ts b/test/unit/config-test.ts index 1353fc3..97bd206 100644 --- a/test/unit/config-test.ts +++ b/test/unit/config-test.ts @@ -1,6 +1,6 @@ +import { ConfigService, JSONFileConfigService, ProcessEnvConfigService, StaticConfigService } from "@src/config"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { ConfigService, JSONFileConfigService, ProcessEnvConfigService, StaticConfigService } from "../../src/config"; describe("StaticConfigService", () => { diff --git a/test/unit/container-test.ts b/test/unit/container-test.ts index 1bf9945..0c84624 100644 --- a/test/unit/container-test.ts +++ b/test/unit/container-test.ts @@ -1,6 +1,6 @@ +import { createContainerFactory } from "@src/container"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { createContainerFactory } from "../../src/container"; interface IA {} diff --git a/test/unit/errors-test.ts b/test/unit/errors-test.ts index 9a99133..3c52284 100644 --- a/test/unit/errors-test.ts +++ b/test/unit/errors-test.ts @@ -1,6 +1,6 @@ +import { dependencyErrorProxy, internalServerError } from "@src/errors"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { dependencyErrorProxy, internalServerError } from "../../src/errors"; describe("dependencyErrorProxy", () => { diff --git a/test/unit/health-checks-test.ts b/test/unit/health-checks-test.ts index 394d765..f612958 100644 --- a/test/unit/health-checks-test.ts +++ b/test/unit/health-checks-test.ts @@ -1,9 +1,9 @@ +import { + checkHealth, HealthChecker, HealthCheckResult, + HealthCheckStatus, ICheckHealth } from "@src/health-checks"; import { expect } from "chai"; import * as HttpStatusCodes from "http-status-codes"; import { describe, it } from "mocha"; -import { - checkHealth, HealthChecker, HealthCheckResult, - HealthCheckStatus, ICheckHealth } from "../../src/health-checks"; describe("HealthChecker", () => { diff --git a/test/unit/key-value-repository-test.ts b/test/unit/key-value-repository-test.ts index 1c0ae11..fcb8ffe 100644 --- a/test/unit/key-value-repository-test.ts +++ b/test/unit/key-value-repository-test.ts @@ -1,6 +1,6 @@ +import { InMemoryKeyValueRepository } from "@src/key-value-repository"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { InMemoryKeyValueRepository } from "../../src/key-value-repository"; describe("InMemoryKeyValueRepository", () => { diff --git a/test/unit/lambda-authorizer-test.ts b/test/unit/lambda-authorizer-test.ts index 8b0b657..d30603e 100644 --- a/test/unit/lambda-authorizer-test.ts +++ b/test/unit/lambda-authorizer-test.ts @@ -1,11 +1,11 @@ +import { createContainerFactory } from "@src/container"; +import { + containerLambdaAuthorizerBearer, lambdaAuthorizerBearer, + LambdaAuthorizerBearerError } from "@src/lambda-authorizer"; +import { randomStr } from "@src/utils"; import { CustomAuthorizerResult } from "aws-lambda"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { createContainerFactory } from "../../src/container"; -import { - containerLambdaAuthorizerBearer, lambdaAuthorizerBearer, - LambdaAuthorizerBearerError } from "../../src/lambda-authorizer"; -import { randomStr } from "../../src/utils"; import { createLambdaContext } from "./lambda-helper-test"; describe("lambdaAuthorizerBearer", () => { diff --git a/test/unit/lambda-helper-test.ts b/test/unit/lambda-helper-test.ts index 6855a22..0da0ffc 100644 --- a/test/unit/lambda-helper-test.ts +++ b/test/unit/lambda-helper-test.ts @@ -1,5 +1,5 @@ +import { randomStr } from "@src/utils"; import { Context } from "aws-lambda"; -import { randomStr } from "../../src/utils"; export const createLambdaContext = (): Context => ({ awsRequestId: randomStr(), diff --git a/test/unit/lambda-proxy-test.ts b/test/unit/lambda-proxy-test.ts index 0c842d1..7a9e911 100644 --- a/test/unit/lambda-proxy-test.ts +++ b/test/unit/lambda-proxy-test.ts @@ -1,11 +1,11 @@ +import { createContainerFactory } from "@src/container"; +import { containerLambdaProxy, lambdaProxy, LambdaProxyError } from "@src/lambda-proxy"; +import { APIGatewayProxyResultProvider } from "@src/results"; +import { randomStr } from "@src/utils"; import { APIGatewayProxyEvent, APIGatewayProxyResult, ProxyCallback } from "aws-lambda"; import { expect } from "chai"; import * as HttpStatusCodes from "http-status-codes"; import { describe, it } from "mocha"; -import { createContainerFactory } from "../../src/container"; -import { containerLambdaProxy, lambdaProxy, LambdaProxyError } from "../../src/lambda-proxy"; -import { APIGatewayProxyResultProvider } from "../../src/results"; -import { randomStr } from "../../src/utils"; import { createLambdaContext } from "./lambda-helper-test"; describe("lambdaProxy", () => { diff --git a/test/unit/lambda-test.ts b/test/unit/lambda-test.ts index 47df136..d25bed7 100644 --- a/test/unit/lambda-test.ts +++ b/test/unit/lambda-test.ts @@ -1,8 +1,8 @@ +import { createContainerFactory } from "@src/container"; +import { containerLambda, lambda, LambdaError } from "@src/lambda"; +import { randomStr } from "@src/utils"; import { expect } from "chai"; import { describe, it } from "mocha"; -import { createContainerFactory } from "../../src/container"; -import { containerLambda, lambda, LambdaError } from "../../src/lambda"; -import { randomStr } from "../../src/utils"; import { createLambdaContext } from "./lambda-helper-test"; describe("lambda", () => { diff --git a/test/unit/results-test.ts b/test/unit/results-test.ts index 700d746..b1f2401 100644 --- a/test/unit/results-test.ts +++ b/test/unit/results-test.ts @@ -1,8 +1,8 @@ +import { defaultBodySerializer } from "@src/lambda-proxy"; +import * as results from "@src/results"; import { expect } from "chai"; import * as HttpStatusCodes from "http-status-codes"; import { describe, it } from "mocha"; -import { defaultBodySerializer } from "../../src/lambda-proxy"; -import * as results from "../../src/results"; describe("results", () => { diff --git a/test/unit/utils-test.ts b/test/unit/utils-test.ts index ac375ef..49cf4f8 100644 --- a/test/unit/utils-test.ts +++ b/test/unit/utils-test.ts @@ -1,8 +1,8 @@ -import { expect } from "chai"; -import { describe, it } from "mocha"; import { convertHrtimeToMs, createConfidentialityReplacer, - DEFAULT_CONFIDENTIALITY_REPLACE_BY, memoize, randomStr, safeJSONStringify } from "../../src/utils"; + DEFAULT_CONFIDENTIALITY_REPLACE_BY, memoize, randomStr, safeJSONStringify } from "@src/utils"; +import { expect } from "chai"; +import { describe, it } from "mocha"; describe("convertHrtimeToMs", () => { diff --git a/tsconfig.json b/tsconfig.json index 653e5de..49943eb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,12 @@ "moduleResolution": "node", "sourceMap": true, "declaration": true, - "noImplicitAny": false + "noImplicitAny": false, + "rootDir": "./", + "baseUrl": ".", + "paths": { + "@src/*": ["./src/*"] + } }, "exclude": [ "./test" diff --git a/webpack.config.js b/webpack.config.js index afba0d2..795cba6 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,6 @@ const path = require('path'); const CleanWebpackPlugin = require('clean-webpack-plugin'); +const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); const distFolder = path.join(__dirname, 'dist'); @@ -14,6 +15,9 @@ module.exports = { '.js', '.json', '.ts' + ], + plugins: [ + new TsconfigPathsPlugin() ] }, output: {