Skip to content
This repository was archived by the owner on Jan 28, 2025. It is now read-only.

Commit 442a906

Browse files
authored
chore(aws-cloudfront): convert package to typescript (#1303)
1 parent 4fb2d75 commit 442a906

39 files changed

+927
-389
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@
8686
"/examples/",
8787
"/dist/",
8888
"/e2e-tests/",
89-
"/tests/"
89+
"/tests/",
90+
"babel.config.js",
91+
"jest.config.js"
9092
],
9193
"watchPathIgnorePatterns": [
9294
"/fixture/",

packages/serverless-components/aws-cloudfront/__mocks__/aws-sdk.mock.js

Lines changed: 0 additions & 66 deletions
This file was deleted.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
const promisifyMock = (mockFn: jest.Mock) => {
2+
const promise = jest.fn();
3+
mockFn.mockImplementation(() => ({
4+
promise
5+
}));
6+
7+
return promise;
8+
};
9+
10+
export const mockCreateDistribution = jest.fn();
11+
export const mockCreateDistributionPromise = promisifyMock(
12+
mockCreateDistribution
13+
);
14+
15+
export const mockUpdateDistribution = jest.fn();
16+
export const mockUpdateDistributionPromise = promisifyMock(
17+
mockUpdateDistribution
18+
);
19+
20+
export const mockGetDistributionConfig = jest.fn();
21+
export const mockGetDistributionConfigPromise = promisifyMock(
22+
mockGetDistributionConfig
23+
);
24+
25+
export const mockDeleteDistribution = jest.fn();
26+
export const mockDeleteDistributionPromise = promisifyMock(
27+
mockDeleteDistribution
28+
);
29+
30+
export const mockCreateCloudFrontOriginAccessIdentity = jest.fn();
31+
export const mockCreateCloudFrontOriginAccessIdentityPromise = promisifyMock(
32+
mockCreateCloudFrontOriginAccessIdentity
33+
);
34+
35+
export const mockGetCloudFrontOriginAccessIdentity = jest.fn();
36+
export const mockGetCloudFrontOriginAccessIdentityPromise = promisifyMock(
37+
mockGetCloudFrontOriginAccessIdentity
38+
);
39+
40+
export const mockPutBucketPolicy = jest.fn();
41+
export const mockPutBucketPolicyPromise = promisifyMock(mockPutBucketPolicy);
42+
43+
export default {
44+
CloudFront: jest.fn(() => ({
45+
createDistribution: mockCreateDistribution,
46+
updateDistribution: mockUpdateDistribution,
47+
getDistributionConfig: mockGetDistributionConfig,
48+
deleteDistribution: mockDeleteDistribution,
49+
createCloudFrontOriginAccessIdentity:
50+
mockCreateCloudFrontOriginAccessIdentity,
51+
getCloudFrontOriginAccessIdentity: mockGetCloudFrontOriginAccessIdentity
52+
})),
53+
54+
S3: jest.fn(() => ({
55+
putBucketPolicy: mockPutBucketPolicy
56+
}))
57+
};

packages/serverless-components/aws-cloudfront/__tests__/cache-behavior-options.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/cache-behavior-options.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { createComponent } = require("../test-utils");
1+
import { createComponent } from "../test-utils";
22

33
const {
44
mockCreateDistribution,

packages/serverless-components/aws-cloudfront/__tests__/custom-error-responses.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/custom-error-responses.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
const { createComponent } = require("../test-utils");
1+
import { createComponent } from "../test-utils";
22

3-
const {
3+
import {
44
mockCreateDistribution,
55
mockCreateDistributionPromise
6-
} = require("aws-sdk");
6+
} from "../__mocks__/aws-sdk.mock";
77

88
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
99

@@ -83,7 +83,7 @@ describe("Configures custom error responses", () => {
8383
]
8484
});
8585
};
86-
await expect(failing(401)).rejects.toThrow(
86+
await expect(failing(401, undefined)).rejects.toThrow(
8787
'CloudFront error code "401" is not supported'
8888
);
8989
await expect(failing(400, 401)).rejects.toThrow(

packages/serverless-components/aws-cloudfront/__tests__/custom-url-origin.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/custom-url-origin.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
const { createComponent, assertHasOrigin } = require("../test-utils");
22

3-
const {
3+
import {
44
mockCreateDistribution,
55
mockUpdateDistribution,
66
mockCreateDistributionPromise,
77
mockGetDistributionConfigPromise,
88
mockUpdateDistributionPromise
9-
} = require("aws-sdk");
9+
} from "../__mocks__/aws-sdk.mock";
1010

1111
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
1212

packages/serverless-components/aws-cloudfront/__tests__/existing-distribution.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/existing-distribution.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
const {
1+
import {
22
createComponent,
33
assertHasOrigin,
44
assertHasOriginCount,
55
assertHasCacheBehavior
6-
} = require("../test-utils");
6+
} from "../test-utils";
77

8-
const {
8+
import {
99
mockCreateDistribution,
1010
mockUpdateDistribution,
1111
mockGetDistributionConfigPromise,
1212
mockUpdateDistributionPromise
13-
} = require("aws-sdk");
13+
} from "../__mocks__/aws-sdk.mock";
1414

1515
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
1616

packages/serverless-components/aws-cloudfront/__tests__/general-options.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/general-options.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
const { createComponent } = require("../test-utils");
1+
import { createComponent } from "../test-utils";
22

3-
const {
3+
import {
44
mockCreateDistribution,
55
mockUpdateDistribution,
66
mockCreateDistributionPromise,
77
mockGetDistributionConfigPromise,
88
mockUpdateDistributionPromise
9-
} = require("aws-sdk");
9+
} from "../__mocks__/aws-sdk.mock";
1010

1111
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
1212

packages/serverless-components/aws-cloudfront/__tests__/lambda-at-edge.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/lambda-at-edge.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
const { createComponent, assertHasCacheBehavior } = require("../test-utils");
1+
import { createComponent, assertHasCacheBehavior } from "../test-utils";
22

3-
const {
3+
import {
44
mockCreateDistribution,
55
mockCreateDistributionPromise
6-
} = require("aws-sdk");
6+
} from "../__mocks__/aws-sdk.mock";
77

88
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
99

packages/serverless-components/aws-cloudfront/__tests__/origin-with-custom-origin-config.js renamed to packages/serverless-components/aws-cloudfront/__tests__/origin-with-custom-origin-config.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
const {
2-
createComponent,
3-
assertHasCustomOriginConfig
4-
} = require("../test-utils");
1+
import { createComponent, assertHasCustomOriginConfig } from "../test-utils";
52

6-
const {
3+
import {
74
mockCreateDistribution,
85
mockUpdateDistribution,
96
mockCreateDistributionPromise,
107
mockGetDistributionConfigPromise,
118
mockUpdateDistributionPromise
12-
} = require("aws-sdk");
9+
} from "../__mocks__/aws-sdk.mock";
1310

1411
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
1512

packages/serverless-components/aws-cloudfront/__tests__/origin-with-path-pattern.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/origin-with-path-pattern.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
const {
1+
import {
22
createComponent,
33
assertHasCacheBehavior,
44
assertHasOrigin
5-
} = require("../test-utils");
5+
} from "../test-utils";
66

7-
const {
7+
import {
88
mockCreateDistribution,
99
mockUpdateDistribution,
1010
mockCreateDistributionPromise,
1111
mockGetDistributionConfigPromise,
1212
mockUpdateDistributionPromise
13-
} = require("aws-sdk");
13+
} from "../__mocks__/aws-sdk.mock";
1414

1515
jest.mock("aws-sdk", () => require("../__mocks__/aws-sdk.mock"));
1616

packages/serverless-components/aws-cloudfront/__tests__/s3-origin.test.js renamed to packages/serverless-components/aws-cloudfront/__tests__/s3-origin.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const {
1+
import {
22
mockCreateDistribution,
33
mockUpdateDistribution,
44
mockCreateDistributionPromise,
@@ -7,7 +7,7 @@ const {
77
mockCreateCloudFrontOriginAccessIdentityPromise,
88
mockGetCloudFrontOriginAccessIdentityPromise,
99
mockPutBucketPolicy
10-
} = require("aws-sdk");
10+
} from "../__mocks__/aws-sdk.mock";
1111

1212
const { createComponent, assertHasOrigin } = require("../test-utils");
1313

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
presets: [
3+
["@babel/preset-env", { targets: { node: "current" } }],
4+
"@babel/preset-typescript"
5+
]
6+
};

packages/serverless-components/aws-cloudfront/lib/getOriginConfig.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

packages/serverless-components/aws-cloudfront/package.json

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,46 @@
22
"name": "@sls-next/aws-cloudfront",
33
"version": "3.1.0",
44
"main": "./serverless.js",
5+
"types": "dist/component.d.ts",
56
"publishConfig": {
67
"access": "public"
78
},
89
"scripts": {
910
"test": "jest",
10-
"lint": "eslint . --fix --cache"
11+
"lint": "eslint . --fix --cache",
12+
"clean": "yarn rimraf dist",
13+
"build": "tsc -p tsconfig.build.json",
14+
"prepare": "yarn clean && yarn build"
1115
},
1216
"author": "Daniel Conde <[email protected]>",
1317
"license": "MIT",
1418
"dependencies": {
15-
"ramda": "^0.27.1"
19+
"ramda": "^0.27.1",
20+
"aws-sdk": "^2.935.0",
21+
"@serverless/core": "^1.1.2"
1622
},
1723
"peerDependencies": {
18-
"@serverless/core": "^1.0.0",
19-
"aws-sdk": "^2.499.0"
24+
"@serverless/core": "^1.1.2",
25+
"aws-sdk": "^2.935.0"
2026
},
2127
"devDependencies": {
28+
"@babel/preset-typescript": "^7.14.5",
29+
"@types/fs-extra": "^9.0.11",
30+
"@types/node": "^15.12.4",
31+
"@types/ramda": "^0.27.41",
2232
"babel-eslint": "10.1.0",
2333
"eslint": "7.29.0",
2434
"eslint-config-prettier": "^8.3.0",
2535
"eslint-plugin-import": "^2.14.0",
2636
"eslint-plugin-prettier": "^3.0.1",
2737
"fs-extra": "^9.1.0",
2838
"jest": "^27.0.5",
29-
"prettier": "^2.3.1"
39+
"prettier": "^2.3.1",
40+
"rimraf": "^3.0.2",
41+
"typescript": "^4.3.4"
42+
},
43+
"jest": {
44+
"preset": "ts-jest",
45+
"testEnvironment": "node"
3046
}
3147
}

0 commit comments

Comments
 (0)