@strapi/provider-upload-aws-s3 4.14.2 → 4.14.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/provider-upload-aws-s3",
3
- "version": "4.14.2",
3
+ "version": "4.14.4",
4
4
  "description": "AWS S3 provider for strapi upload",
5
5
  "keywords": [
6
6
  "upload",
@@ -30,32 +30,34 @@
30
30
  }
31
31
  ],
32
32
  "main": "./dist/index.js",
33
+ "module": "./dist/index.mjs",
34
+ "source": "./src/index.ts",
33
35
  "types": "./dist/index.d.ts",
34
36
  "files": [
35
37
  "./dist"
36
38
  ],
37
39
  "scripts": {
38
- "build": "run -T tsc",
39
- "build:ts": "run -T tsc",
40
- "watch": "run -T tsc -w --preserveWatchOutput",
40
+ "build": "pack-up build",
41
41
  "clean": "run -T rimraf ./dist",
42
+ "lint": "run -T eslint .",
42
43
  "prepublishOnly": "yarn clean && yarn build",
43
44
  "test:unit": "run -T jest",
44
45
  "test:unit:watch": "run -T jest --watch",
45
- "lint": "run -T eslint ."
46
+ "watch": "pack-up watch"
46
47
  },
47
48
  "dependencies": {
48
- "aws-sdk": "2.1437.0",
49
+ "aws-sdk": "2.1472.0",
49
50
  "lodash": "4.17.21"
50
51
  },
51
52
  "devDependencies": {
53
+ "@strapi/pack-up": "4.14.4",
52
54
  "@types/jest": "29.5.2",
53
- "eslint-config-custom": "4.14.2",
54
- "tsconfig": "4.14.2"
55
+ "eslint-config-custom": "4.14.4",
56
+ "tsconfig": "4.14.4"
55
57
  },
56
58
  "engines": {
57
59
  "node": ">=16.0.0 <=20.x.x",
58
60
  "npm": ">=6.0.0"
59
61
  },
60
- "gitHead": "5dbbe10fdf99f63e91b78a0439ec84581f3c9c6a"
62
+ "gitHead": "fbd6e3e3014b1c5eee1d7bb8d65e273318662656"
61
63
  }
package/dist/utils.js DELETED
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isUrlFromBucket = void 0;
4
- const ENDPOINT_PATTERN = /^(.+\.)?s3[.-]([a-z0-9-]+)\./;
5
- function isUrlFromBucket(fileUrl, bucketName, baseUrl = '') {
6
- const url = new URL(fileUrl);
7
- // Check if the file URL is using a base URL (e.g. a CDN).
8
- // In this case do not sign the URL.
9
- if (baseUrl) {
10
- return false;
11
- }
12
- const { bucket } = getBucketFromAwsUrl(fileUrl);
13
- if (bucket) {
14
- return bucket === bucketName;
15
- }
16
- // File URL might be of an S3-compatible provider. (or an invalid URL)
17
- // In this case, check if the bucket name appears in the URL host or path.
18
- // e.g. https://minio.example.com/bucket-name/object-key
19
- // e.g. https://bucket.nyc3.digitaloceanspaces.com/folder/img.png
20
- return url.host.startsWith(`${bucketName}.`) || url.pathname.includes(`/${bucketName}/`);
21
- }
22
- exports.isUrlFromBucket = isUrlFromBucket;
23
- /**
24
- * Parse the bucket name from a URL.
25
- * See all URL formats in https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html
26
- *
27
- * @param {string} fileUrl - the URL to parse
28
- * @returns {object} result
29
- * @returns {string} result.bucket - the bucket name
30
- * @returns {string} result.err - if any
31
- */
32
- function getBucketFromAwsUrl(fileUrl) {
33
- const url = new URL(fileUrl);
34
- // S3://<bucket-name>/<key>
35
- if (url.protocol === 's3:') {
36
- const bucket = url.host;
37
- if (!bucket) {
38
- return { err: `Invalid S3 url: no bucket: ${url}` };
39
- }
40
- return { bucket };
41
- }
42
- if (!url.host) {
43
- return { err: `Invalid S3 url: no hostname: ${url}` };
44
- }
45
- const matches = url.host.match(ENDPOINT_PATTERN);
46
- if (!matches) {
47
- return { err: `Invalid S3 url: hostname does not appear to be a valid S3 endpoint: ${url}` };
48
- }
49
- const prefix = matches[1];
50
- // https://s3.amazonaws.com/<bucket-name>
51
- if (!prefix) {
52
- if (url.pathname === '/') {
53
- return { bucket: null };
54
- }
55
- const index = url.pathname.indexOf('/', 1);
56
- // https://s3.amazonaws.com/<bucket-name>
57
- if (index === -1) {
58
- return { bucket: url.pathname.substring(1) };
59
- }
60
- // https://s3.amazonaws.com/<bucket-name>/
61
- if (index === url.pathname.length - 1) {
62
- return { bucket: url.pathname.substring(1, index) };
63
- }
64
- // https://s3.amazonaws.com/<bucket-name>/key
65
- return { bucket: url.pathname.substring(1, index) };
66
- }
67
- // https://<bucket-name>.s3.amazonaws.com/
68
- return { bucket: prefix.substring(0, prefix.length - 1) };
69
- }
70
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAOxD,SAAgB,eAAe,CAAC,OAAe,EAAE,UAAkB,EAAE,OAAO,GAAG,EAAE;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,0DAA0D;IAC1D,oCAAoC;IACpC,IAAI,OAAO,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,KAAK,UAAU,CAAC;KAC9B;IAED,sEAAsE;IACtE,0EAA0E;IAC1E,wDAAwD;IACxD,iEAAiE;IACjE,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;AAC3F,CAAC;AApBD,0CAoBC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,GAAG,EAAE,8BAA8B,GAAG,EAAE,EAAE,CAAC;SACrD;QACD,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB;IAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QACb,OAAO,EAAE,GAAG,EAAE,gCAAgC,GAAG,EAAE,EAAE,CAAC;KACvD;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,GAAG,EAAE,uEAAuE,GAAG,EAAE,EAAE,CAAC;KAC9F;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,yCAAyC;IACzC,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;YACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACzB;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE3C,yCAAyC;QACzC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C;QAED,0CAA0C;QAC1C,IAAI,KAAK,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;SACrD;QAED,6CAA6C;QAC7C,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;KACrD;IAED,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC"}