@balena/pinejs-webresource-cloudfront 0.2.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.versionbot/CHANGELOG.yml +12 -1
- package/CHANGELOG.md +5 -0
- package/build/index.js +7 -14
- package/build/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
- commits:
|
|
2
|
+
- subject: Convert to ESM
|
|
3
|
+
hash: 0aaeea334be207420e8fd549405068b094c781f0
|
|
4
|
+
body: ""
|
|
5
|
+
footer:
|
|
6
|
+
Change-type: major
|
|
7
|
+
change-type: major
|
|
8
|
+
author: Pagan Gazzard
|
|
9
|
+
version: 1.0.0
|
|
10
|
+
title: ""
|
|
11
|
+
date: 2025-01-02T12:34:24.348Z
|
|
1
12
|
- commits:
|
|
2
13
|
- subject: Use node16 module resolution in tsconfig
|
|
3
14
|
hash: c0043798b095a6ab5211d257068044631aa84a93
|
|
@@ -15,7 +26,7 @@
|
|
|
15
26
|
author: Pagan Gazzard
|
|
16
27
|
version: 0.2.2
|
|
17
28
|
title: ""
|
|
18
|
-
date: 2025-01-02T12:
|
|
29
|
+
date: 2025-01-02T12:32:04.985Z
|
|
19
30
|
- commits:
|
|
20
31
|
- subject: Add pinejs 19 as a supported peer version
|
|
21
32
|
hash: fb15fc5718a8e340c9634f42dec1343c158b3e5c
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file
|
|
|
4
4
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
|
5
5
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
+
# v1.0.0
|
|
8
|
+
## (2025-01-02)
|
|
9
|
+
|
|
10
|
+
* Convert to ESM [Pagan Gazzard]
|
|
11
|
+
|
|
7
12
|
# v0.2.2
|
|
8
13
|
## (2025-01-02)
|
|
9
14
|
|
package/build/index.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.CloudFrontHandler = void 0;
|
|
7
|
-
const pinejs_1 = require("@balena/pinejs");
|
|
8
|
-
const memoizee_1 = __importDefault(require("memoizee"));
|
|
9
|
-
const cloudfront_signer_1 = require("@aws-sdk/cloudfront-signer");
|
|
10
|
-
class CloudFrontHandler extends pinejs_1.webResourceHandler.S3Handler {
|
|
1
|
+
import { webResourceHandler } from '@balena/pinejs';
|
|
2
|
+
import memoize from 'memoizee';
|
|
3
|
+
import { getSignedUrl } from '@aws-sdk/cloudfront-signer';
|
|
4
|
+
export class CloudFrontHandler extends webResourceHandler.S3Handler {
|
|
11
5
|
constructor(cfConfig) {
|
|
12
6
|
super(cfConfig);
|
|
13
|
-
this.cachedCfGetSignedUrl = (
|
|
7
|
+
this.cachedCfGetSignedUrl = memoize(this.cfSignUrl, {
|
|
14
8
|
maxAge: this.signedUrlCacheExpireTimeSeconds * 1000,
|
|
15
9
|
});
|
|
16
10
|
this.cfSecretKey = cfConfig.cfSecretKey;
|
|
@@ -26,7 +20,7 @@ class CloudFrontHandler extends pinejs_1.webResourceHandler.S3Handler {
|
|
|
26
20
|
}
|
|
27
21
|
async cfSignUrl(cfFileKey) {
|
|
28
22
|
try {
|
|
29
|
-
return
|
|
23
|
+
return getSignedUrl({
|
|
30
24
|
url: `${this.cfDistributionDomain}/${cfFileKey}`,
|
|
31
25
|
keyPairId: this.cfPublicKeyId,
|
|
32
26
|
privateKey: this.cfSecretKey,
|
|
@@ -46,7 +40,7 @@ class CloudFrontHandler extends pinejs_1.webResourceHandler.S3Handler {
|
|
|
46
40
|
return new Date(expiry).toISOString();
|
|
47
41
|
}
|
|
48
42
|
cfGetKeyFromHref(href) {
|
|
49
|
-
const hrefWithoutParams =
|
|
43
|
+
const hrefWithoutParams = webResourceHandler.normalizeHref(href);
|
|
50
44
|
return hrefWithoutParams
|
|
51
45
|
.split('/')
|
|
52
46
|
.slice(3)
|
|
@@ -54,5 +48,4 @@ class CloudFrontHandler extends pinejs_1.webResourceHandler.S3Handler {
|
|
|
54
48
|
.join('/');
|
|
55
49
|
}
|
|
56
50
|
}
|
|
57
|
-
exports.CloudFrontHandler = CloudFrontHandler;
|
|
58
51
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAU1D,MAAM,OAAO,iBAAkB,SAAQ,kBAAkB,CAAC,SAAS;IAKlE,YAAY,QAAgC;QAC3C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAgBT,yBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;YACtD,MAAM,EAAE,IAAI,CAAC,+BAA+B,GAAG,IAAI;SACnD,CAAC,CAAC;QAjBF,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,WAAwB;QACjD,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxD,WAAW,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;IAQO,KAAK,CAAC,SAAS,CAAC,SAAiB;QACxC,IAAI,CAAC;YACJ,OAAO,YAAY,CAAC;gBACnB,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,IAAI,SAAS,EAAE;gBAChD,SAAS,EAAE,IAAI,CAAC,aAAa;gBAC7B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE;aAClC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAEO,aAAa;QACpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC5D,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACpC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,iBAAiB;aACtB,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,CAAC,CAAC,CAAC;aACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;aAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@balena/pinejs-webresource-cloudfront",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A PineJS WebResource handler for storing files on S3 and serving via AWS Cloudfront",
|
|
5
|
-
"type": "
|
|
5
|
+
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
"@balena/pinejs": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
29
29
|
},
|
|
30
30
|
"versionist": {
|
|
31
|
-
"publishedAt": "2025-01-02T12:
|
|
31
|
+
"publishedAt": "2025-01-02T12:34:24.397Z"
|
|
32
32
|
}
|
|
33
33
|
}
|