@uxf/resizer 1.2.0 → 1.2.1

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.
@@ -108,20 +108,20 @@ var uxfResizer = function () { return __awaiter(void 0, void 0, void 0, function
108
108
  }
109
109
  return [2 /*return*/, new Promise(function (resolve, reject) {
110
110
  try {
111
- var app_1 = index_1.createApp(sourcePath_1, generatePath_1, sourceFolderDepth_1, generatedFolderDepth_1, filenameRegexp_1, disableNamespace_1);
111
+ var app_1 = (0, index_1.createApp)(sourcePath_1, generatePath_1, sourceFolderDepth_1, generatedFolderDepth_1, filenameRegexp_1, disableNamespace_1);
112
112
  var listenedApp_1 = app_1.listen(3000, function () {
113
113
  // eslint-disable-next-line no-console
114
- console.log("\nSOURCE_PATH: " + sourcePath_1);
114
+ console.log("\nSOURCE_PATH: ".concat(sourcePath_1));
115
115
  // eslint-disable-next-line no-console
116
- console.log("GENERATED_PATH: " + generatePath_1);
116
+ console.log("GENERATED_PATH: ".concat(generatePath_1));
117
117
  // eslint-disable-next-line no-console
118
- console.log("Source folder depth: " + sourceFolderDepth_1);
118
+ console.log("Source folder depth: ".concat(sourceFolderDepth_1));
119
119
  // eslint-disable-next-line no-console
120
- console.log("Generated folder depth: " + generatedFolderDepth_1);
120
+ console.log("Generated folder depth: ".concat(generatedFolderDepth_1));
121
121
  // eslint-disable-next-line no-console
122
- console.log("Filename regexp: " + filenameRegexp_1);
122
+ console.log("Filename regexp: ".concat(filenameRegexp_1));
123
123
  // eslint-disable-next-line no-console
124
- console.log("Namespace: " + (disableNamespace_1 ? "disabled" : "enabled"));
124
+ console.log("Namespace: ".concat(disableNamespace_1 ? "disabled" : "enabled"));
125
125
  // eslint-disable-next-line no-console
126
126
  console.log("\nImage resizer app listening on port 3000");
127
127
  if (process.env.NODE_ENV !== "production") {
package/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -89,18 +93,18 @@ var isTrim = function (value) { return value !== "nt"; };
89
93
  var getTrimValue = function (value) { return (isTrim(value) ? Number(value) : 0); };
90
94
  var createApp = function (sourcePathOrUrl, generatePath, sourceFolderDepth, generatedFolderDepth, filenameRegexp, disableNamespace) {
91
95
  if (filenameRegexp === void 0) { filenameRegexp = ":originalFilename([a-f0-9\\-]+)_:width(\\d+)_:height(\\d+)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:originalExtension.:toFormat"; }
92
- var parseFilename = path_to_regexp_1.match(filenameRegexp, { decode: decodeURIComponent });
93
- var generatedPxArray = Array.from({ length: generatedFolderDepth }, function (_, i) { return ":p" + (i + 1); });
94
- var sourcePxArray = Array.from({ length: sourceFolderDepth }, function (_, i) { return ":p" + (i + 1); });
96
+ var parseFilename = (0, path_to_regexp_1.match)(filenameRegexp, { decode: decodeURIComponent });
97
+ var generatedPxArray = Array.from({ length: generatedFolderDepth }, function (_, i) { return ":p".concat(i + 1); });
98
+ var sourcePxArray = Array.from({ length: sourceFolderDepth }, function (_, i) { return ":p".concat(i + 1); });
95
99
  var routeRegexpBase = disableNamespace ? "/generated" : "/generated/:namespace";
96
100
  var routeRegexp = generatedFolderDepth > 0
97
- ? routeRegexpBase + "/" + generatedPxArray.join("/") + "/:filename"
98
- : routeRegexpBase + "/:filename";
101
+ ? "".concat(routeRegexpBase, "/").concat(generatedPxArray.join("/"), "/:filename")
102
+ : "".concat(routeRegexpBase, "/:filename");
99
103
  // eslint-disable-next-line no-console
100
- console.log("\nExpress route regexp: " + routeRegexp);
104
+ console.log("\nExpress route regexp: ".concat(routeRegexp));
101
105
  // eslint-disable-next-line no-console
102
- console.log("Filename regexp: " + filenameRegexp);
103
- return express_1.default().get(routeRegexp, function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
106
+ console.log("Filename regexp: ".concat(filenameRegexp));
107
+ return (0, express_1.default)().get(routeRegexp, function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
104
108
  var _a, filename, namespace, parsedFilename, _b, originalFilename, originalExtension, fit, height, position, toFormat, trim, width, background, generatedPxDirectories, generatedDirectoryPart, generatedDirectory, generatedFilePath, sourcePxDirectories, sourceDirectoryPart, sourceDirectory, sourceFilename, sourceFilePath, pipeline, contentType, cacheMaxAge;
105
109
  return __generator(this, function (_c) {
106
110
  switch (_c.label) {
@@ -108,40 +112,40 @@ var createApp = function (sourcePathOrUrl, generatePath, sourceFolderDepth, gene
108
112
  _a = req.params, filename = _a.filename, namespace = _a.namespace;
109
113
  parsedFilename = parseFilename(filename);
110
114
  if (!parsedFilename) {
111
- process.stdout.write("Filename '" + filename + "' not found.");
115
+ process.stdout.write("Filename '".concat(filename, "' not found."));
112
116
  return [2 /*return*/, res.sendStatus(404)];
113
117
  }
114
118
  _b = parsedFilename.params, originalFilename = _b.originalFilename, originalExtension = _b.originalExtension, fit = _b.fit, height = _b.height, position = _b.position, toFormat = _b.toFormat, trim = _b.trim, width = _b.width, background = _b.background;
115
119
  generatedPxDirectories = generatedPxArray.map(function (_, index) { return originalFilename.charAt(index); });
116
- generatedDirectoryPart = disableNamespace ? generatePath : generatePath + "/" + namespace;
120
+ generatedDirectoryPart = disableNamespace ? generatePath : "".concat(generatePath, "/").concat(namespace);
117
121
  generatedDirectory = generatedPxDirectories.length > 0
118
- ? generatedDirectoryPart + "/" + generatedPxDirectories.join("/")
122
+ ? "".concat(generatedDirectoryPart, "/").concat(generatedPxDirectories.join("/"))
119
123
  : generatedDirectoryPart;
120
- generatedFilePath = generatedDirectory + "/" + filename;
124
+ generatedFilePath = "".concat(generatedDirectory, "/").concat(filename);
121
125
  // try load from disk
122
126
  if (fs.existsSync(generatedFilePath)) {
123
127
  return [2 /*return*/, res.sendFile(generatedFilePath)];
124
128
  }
125
- if (!fs_1.existsSync(generatedDirectory)) {
126
- fs_1.mkdirSync(generatedDirectory, { recursive: true });
129
+ if (!(0, fs_1.existsSync)(generatedDirectory)) {
130
+ (0, fs_1.mkdirSync)(generatedDirectory, { recursive: true });
127
131
  }
128
132
  sourcePxDirectories = sourcePxArray.map(function (_, index) { return originalFilename.charAt(index); });
129
- sourceDirectoryPart = disableNamespace ? sourcePathOrUrl : sourcePathOrUrl + "/" + namespace;
133
+ sourceDirectoryPart = disableNamespace ? sourcePathOrUrl : "".concat(sourcePathOrUrl, "/").concat(namespace);
130
134
  sourceDirectory = sourcePxDirectories.length > 0
131
- ? sourceDirectoryPart + "/" + sourcePxDirectories.join("/")
135
+ ? "".concat(sourceDirectoryPart, "/").concat(sourcePxDirectories.join("/"))
132
136
  : sourceDirectoryPart;
133
- sourceFilename = originalFilename + "." + originalExtension;
134
- sourceFilePath = sourceDirectory + "/" + sourceFilename;
137
+ sourceFilename = "".concat(originalFilename, ".").concat(originalExtension);
138
+ sourceFilePath = "".concat(sourceDirectory, "/").concat(sourceFilename);
135
139
  if (!sourcePathOrUrl.startsWith("https://")) return [3 /*break*/, 3];
136
- return [4 /*yield*/, node_fetch_1.default(sourceFilePath)];
140
+ return [4 /*yield*/, (0, node_fetch_1.default)(sourceFilePath)];
137
141
  case 1: return [4 /*yield*/, (_c.sent()).buffer()];
138
142
  case 2:
139
143
  sourceFilePath = _c.sent();
140
144
  _c.label = 3;
141
- case 3: return [4 /*yield*/, sharp_1.default(sourceFilePath)
145
+ case 3: return [4 /*yield*/, (0, sharp_1.default)(sourceFilePath)
142
146
  .rotate()
143
147
  .resize(width ? Number(width) : undefined, height ? Number(height) : undefined, {
144
- background: background === "t" ? "transparent" : "#" + background,
148
+ background: background === "t" ? "transparent" : "#".concat(background),
145
149
  fastShrinkOnLoad: false,
146
150
  fit: FIT_OPTIONS[fit] || "cover",
147
151
  position: POSITION_OPTIONS[position] || "centre",
@@ -171,7 +175,7 @@ var createApp = function (sourcePathOrUrl, generatePath, sourceFolderDepth, gene
171
175
  break;
172
176
  }
173
177
  cacheMaxAge = 7 * 24 * 60 * 60;
174
- res.setHeader("cache-control", "public, max-age=" + cacheMaxAge);
178
+ res.setHeader("cache-control", "public, max-age=".concat(cacheMaxAge));
175
179
  res.setHeader("Content-Type", contentType);
176
180
  pipeline
177
181
  .withMetadata({ density: 72 })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/resizer",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "main": "index.js",
5
5
  "description": "UXF Resizer",
6
6
  "author": "UXFans <dev@uxf.cz>",
@@ -18,9 +18,10 @@
18
18
  "dependencies": {
19
19
  "express": "^4.17.1",
20
20
  "fs": "^0.0.1-security",
21
+ "node-fetch": "^3.2.1",
21
22
  "path-to-regexp": "^6.2.0",
22
23
  "process": "^0.11.10",
23
- "sharp": "^0.28.3",
24
+ "sharp": "^0.30.2",
24
25
  "yargs": "^17.2.1"
25
26
  },
26
27
  "devDependencies": {
@@ -29,18 +30,17 @@
29
30
  "@types/jest": "^27.0.1",
30
31
  "@types/node-fetch": "^2.5.12",
31
32
  "@types/path-to-regexp": "^1.7.0",
32
- "@types/sharp": "^0.28.5",
33
+ "@types/sharp": "^0.29.5",
33
34
  "@types/supertest": "^2.0.11",
34
35
  "@typescript-eslint/eslint-plugin": "^5.11.0",
35
36
  "@uxf/eslint-config": "^1.2.3",
36
- "concurrently": "^6.2.1",
37
+ "concurrently": "^7.0.0",
37
38
  "crypto-js": "^4.1.1",
38
39
  "eslint": "^8.8.0",
39
40
  "eslint-config-prettier": "^8.3.0",
40
41
  "eslint-plugin-prettier": "^4.0.0",
41
42
  "jest": "^27.0.6",
42
- "jest-junit": "^12.2.0",
43
- "node-fetch": "^2.6.1",
43
+ "jest-junit": "^13.0.0",
44
44
  "prettier": "^2.3.2",
45
45
  "supertest": "^6.1.5",
46
46
  "ts-jest": "^27.0.5",