@uxf/resizer 2.1.0 → 2.2.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.
@@ -1,15 +1,14 @@
1
1
  [
2
2
  {
3
3
  "route": "/generated/:namespace/:p1/:p2/:filename([a-f0-9\\-]+)_:width(\\d+)_:height(\\d+)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:extension.:toFormat",
4
- "pathToSourceFile": "/Users/vejvis/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
4
+ "source": "/Users/vejvis/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
5
5
  },
6
6
  {
7
7
  "route": "/generated/:namespace/:p1/:p2/:filename([a-f0-9\\-]+)_:width(\\d+)_:height(\\d+)_:fit([a-z]+).:extension",
8
- "pathToSourceFile": "/Users/vejvis/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
8
+ "source": "/Users/vejvis/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
9
9
  },
10
10
  {
11
- "route": "/generated/opentopo/:width(\\d+)_:height(\\d+)_:fit([a-z]+)/:filename",
12
- "pathToSourceFile": "/:filename",
13
- "sourceDomain": "https://opentopo.app"
11
+ "route": "/generated/opentopo/:width(\\d+)_:height(\\d+)/:filename",
12
+ "source": "https://opentopo.app/:filename"
14
13
  }
15
14
  ]
package/README.md CHANGED
@@ -22,16 +22,15 @@ You can use configuration file `.resizer-config.json` or environment variable `U
22
22
  [
23
23
  {
24
24
  "route": "/generated/:namespace/:p1/:p2/:filename([a-f0-9\\-]+)_:width(\\d+)_:height(\\d+)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:extension.:toFormat",
25
- "pathToSourceFile": "/var/www/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
25
+ "source": "/var/www/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
26
26
  },
27
27
  {
28
28
  "route": "/generated/:namespace/:p1/:p2/:filename([a-f0-9\\-]+)_:width(\\d+)_:height(\\d+)_:fit([a-z]+).:extension",
29
- "pathToSourceFile": "/var/www/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
29
+ "source": "/var/www/UXF/projects/resizer/example-upload/:namespace/:p1/:p2/:filename.:extension"
30
30
  },
31
31
  {
32
32
  "route": "/generated/opentopo/:width(\\d+)_:height(\\d+)_:fit([a-z]+)/:filename",
33
- "pathToSourceFile": "/:filename",
34
- "sourceDomain": "https://opentopo.app"
33
+ "source": "https://opentopo.app/:filename"
35
34
  }
36
35
  ]
37
36
  ```
@@ -65,28 +64,4 @@ You can use configuration file `.resizer-config.json` or environment variable `U
65
64
  - `r`: right
66
65
  - `rb`: right bottom
67
66
  - `rt`: right top
68
- - `t`: top
69
-
70
- ## Help
71
-
72
- ```
73
- Usage:
74
- uxf-resizer
75
-
76
- Environment variables:
77
- UXF_RESIZER_SOURCE_PATH - required
78
- UXF_RESIZER_GENERATE_PATH - required
79
-
80
- Options
81
- --disable-namespace [boolean] [default: false]
82
- --source-folder-depth Depth of the source folder [number] [default: 2]
83
- --generated-folder-depth Depth of the generated folder
84
- [number] [default: 2]
85
- --filename-regexp Filename regexp (see:
86
- https://github.com/pillarjs/path-to-regexp)
87
- [string]
88
- -h, --help Show help [boolean]
89
-
90
- Options:
91
- --version Show version number [boolean]
92
- ```
67
+ - `t`: top
package/index.js CHANGED
@@ -104,20 +104,18 @@ var resizerMiddleware = function (config) {
104
104
  var middleware = (0, express_1.Router)();
105
105
  config.forEach(function (c, i) {
106
106
  log("Config #".concat(i + 1, ":"));
107
- log(" Route: ".concat(c.route));
108
- log(" Source file: ".concat(c.pathToSourceFile));
109
- if (c.sourceDomain) {
110
- log(" Domain: ".concat(c.sourceDomain));
111
- }
107
+ log(" Route: ".concat(c.route));
108
+ log(" Source: ".concat(c.source));
112
109
  middleware.get(c.route, function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
113
- var domain, sourceFilename, generatedFilename, generatedDirectory, params, sourceFile, _a, pipeline, trim;
114
- var _b;
115
- return __generator(this, function (_c) {
116
- switch (_c.label) {
110
+ var url, domain, sourceFilename, generatedFilename, generatedDirectory, params, sourceFile, _a, pipeline, trim;
111
+ var _b, _c;
112
+ return __generator(this, function (_d) {
113
+ switch (_d.label) {
117
114
  case 0:
118
- domain = c.sourceDomain;
119
- sourceFilename = (0, path_to_regexp_1.compile)(c.pathToSourceFile, {})(req.params);
120
- generatedFilename = ((_b = process.env.UXF_RESIZER_GENERATE_PATH) !== null && _b !== void 0 ? _b : process.cwd()) + req.path;
115
+ url = c.source.startsWith("http") ? new URL(c.source) : null;
116
+ domain = url === null || url === void 0 ? void 0 : url.origin;
117
+ sourceFilename = (0, path_to_regexp_1.compile)((_b = url === null || url === void 0 ? void 0 : url.pathname) !== null && _b !== void 0 ? _b : c.source, {})(req.params);
118
+ generatedFilename = ((_c = process.env.UXF_RESIZER_GENERATE_PATH) !== null && _c !== void 0 ? _c : process.cwd()) + req.path;
121
119
  if ((0, fs_1.existsSync)(generatedFilename)) {
122
120
  return [2 /*return*/, res.sendFile(generatedFilename)];
123
121
  }
@@ -132,13 +130,13 @@ var resizerMiddleware = function (config) {
132
130
  params = req.params;
133
131
  if (!domain) return [3 /*break*/, 3];
134
132
  return [4 /*yield*/, (0, node_fetch_1.default)(domain + sourceFilename)];
135
- case 1: return [4 /*yield*/, (_c.sent()).buffer()];
133
+ case 1: return [4 /*yield*/, (_d.sent()).buffer()];
136
134
  case 2:
137
- _a = _c.sent();
135
+ _a = _d.sent();
138
136
  return [3 /*break*/, 4];
139
137
  case 3:
140
138
  _a = sourceFilename;
141
- _c.label = 4;
139
+ _d.label = 4;
142
140
  case 4:
143
141
  sourceFile = _a;
144
142
  return [4 /*yield*/, (0, sharp_1.default)(sourceFile)
@@ -153,7 +151,7 @@ var resizerMiddleware = function (config) {
153
151
  withoutEnlargement: getWithoutEnlargement(params),
154
152
  })];
155
153
  case 5:
156
- pipeline = _c.sent();
154
+ pipeline = _d.sent();
157
155
  trim = getTrim(params);
158
156
  if (trim !== undefined) {
159
157
  pipeline.trim(trim);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/resizer",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "main": "index.js",
5
5
  "description": "UXF Resizer",
6
6
  "author": "UXFans <dev@uxf.cz>",