Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@uxf/core

Package Overview
Dependencies
Maintainers
1
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uxf/core - npm Package Compare versions

Comparing version 3.1.1 to 4.0.0

2

package.json
{
"name": "@uxf/core",
"version": "3.1.1",
"version": "4.0.0",
"description": "UXF Core",

@@ -5,0 +5,0 @@ "author": "Petr Vejvoda <vejvoda@uxf.cz>",

@@ -20,2 +20,37 @@ # UXF Core

## Resizer
!!! Required [@uxf/resizer](https://www.npmjs.com/package/@uxf/resizer) version `>= 2.3.2` which supported `quality` parameter.
### Config
```json
[
{
"route": "/generated/static/:width(\\d+|x)_:height(\\d+|x)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:quality(\\d+|x)/:version/:filename(*).:extension.:toFormat",
"source": "https://uxf-base.uxf.dev/:filename+.:extension"
},
{
"route": "/generated/:namespace/:p1/:p2/:filename([a-f0-9\\-]+)_:width(\\d+|x)_:height(\\d+|x)_:fit([a-z]+)_:position([a-z]+)_:background([a-z]+)_:trim([a-z]+)_:quality(\\d+|x)_:extension.:toFormat",
"source": "https://s3.uxf.dev/${APP_NAME}-${APP_ENV}/:namespace/:p1/:p2/:filename.:extension"
}
]
```
### Usage for generated images
```tsx
import {resizerImageUrl} from "@uxf/core/utils/resizer";
<img src={resizerImageUrl(file, width, height, params)}/>
```
### Usage for static images
```tsx
import {resizerImageUrl} from "@uxf/core/utils/resizer";
import staticImage from "./path/to/static-image.png";
<img src={resizerImageUrl(staticImage, width, height, params)}/>
```
## Cookie

@@ -22,0 +57,0 @@

@@ -6,2 +6,9 @@ interface FileResponse {

}
export declare type StaticImageData = {
src: string;
height: number;
width: number;
blurDataURL?: string;
};
export declare type ImageSource = FileResponse | StaticImageData | string;
declare const fitMapper: {

@@ -40,11 +47,5 @@ cover: string;

toFormat?: "webp" | "png" | "avif" | string;
quality?: number;
}
export declare const resizerImageUrl: (src: FileResponse | null, width?: number | "auto", height?: number | "auto", props?: ResizerImageProps) => string | null;
export declare type StaticImageData = {
src: string;
height: number;
width: number;
blurDataURL?: string;
};
export declare const resizerStaticImageUrl: (src: string | StaticImageData, width?: number | "auto", height?: number | "auto", props?: ResizerImageProps, version?: number) => string;
export declare const resizerImageUrl: (source: ImageSource | null | undefined, width?: number | "auto", height?: number | "auto", props?: ResizerImageProps, version?: number) => string | null;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resizerStaticImageUrl = exports.resizerImageUrl = void 0;
exports.resizerImageUrl = void 0;
var fitMapper = {

@@ -31,12 +31,14 @@ cover: "cv",

};
var resizerImageUrl = function (src, width, height, props) {
var resizerStaticImageUrl = function (src, width, height, props, version) {
var _a;
if (width === void 0) { width = "auto"; }
if (height === void 0) { height = "auto"; }
if (props === void 0) { props = {}; }
var _a = props.fit, fit = _a === void 0 ? "cover" : _a, _b = props.position, position = _b === void 0 ? "center" : _b, _c = props.toFormat, toFormat = _c === void 0 ? src === null || src === void 0 ? void 0 : src.extension : _c, _d = props.trim, trim = _d === void 0 ? "not-trim" : _d, _e = props.background, background = _e === void 0 ? "FFF" : _e;
if (!src) {
return null;
}
var filename = [
src.uuid,
if (version === void 0) { version = 1; }
var _b = props.fit, fit = _b === void 0 ? "cover" : _b, _c = props.position, position = _c === void 0 ? "center" : _c, _d = props.toFormat, toFormat = _d === void 0 ? undefined : _d, _e = props.trim, trim = _e === void 0 ? "not-trim" : _e, _f = props.background, background = _f === void 0 ? "FFF" : _f;
var filepath = typeof src === "string" ? src : src.src;
var dotIndex = filepath.lastIndexOf(".");
var filename = filepath.slice(0, dotIndex);
var extension = filepath.slice(dotIndex + 1);
var directory = [
width === "auto" ? "x" : width,

@@ -48,8 +50,8 @@ height === "auto" ? "x" : height,

trim === "not-trim" ? trimMapper[trim] : trim,
"".concat(src.extension, ".").concat(toFormat),
(_a = props.quality) !== null && _a !== void 0 ? _a : "x",
].join("_");
return "/generated/".concat(src.namespace, "/").concat(src.uuid.charAt(0), "/").concat(src.uuid.charAt(1), "/").concat(filename);
return "/generated/static/".concat(directory, "/").concat(version).concat(filename, ".").concat(extension, ".").concat(toFormat !== null && toFormat !== void 0 ? toFormat : extension);
};
exports.resizerImageUrl = resizerImageUrl;
var resizerStaticImageUrl = function (src, width, height, props, version) {
var resizerImageUrl = function (source, width, height, props, version) {
var _a;
if (width === void 0) { width = "auto"; }

@@ -59,8 +61,11 @@ if (height === void 0) { height = "auto"; }

if (version === void 0) { version = 1; }
var _a = props.fit, fit = _a === void 0 ? "cover" : _a, _b = props.position, position = _b === void 0 ? "center" : _b, _c = props.toFormat, toFormat = _c === void 0 ? undefined : _c, _d = props.trim, trim = _d === void 0 ? "not-trim" : _d, _e = props.background, background = _e === void 0 ? "FFF" : _e;
var filepath = typeof src === "string" ? src : src.src;
var dotIndex = filepath.lastIndexOf(".");
var filename = filepath.slice(0, dotIndex);
var extension = filepath.slice(dotIndex + 1);
var directory = [
if (source === null || source === undefined) {
return null;
}
if (typeof source === "string" || "src" in source) {
return resizerStaticImageUrl(source, width, height, props, version);
}
var _b = props.fit, fit = _b === void 0 ? "cover" : _b, _c = props.position, position = _c === void 0 ? "center" : _c, _d = props.toFormat, toFormat = _d === void 0 ? source.extension : _d, _e = props.trim, trim = _e === void 0 ? "not-trim" : _e, _f = props.background, background = _f === void 0 ? "FFF" : _f;
var filename = [
source.uuid,
width === "auto" ? "x" : width,

@@ -72,6 +77,8 @@ height === "auto" ? "x" : height,

trim === "not-trim" ? trimMapper[trim] : trim,
(_a = props.quality) !== null && _a !== void 0 ? _a : "x",
"".concat(source.extension, ".").concat(toFormat),
].join("_");
return "/generated/static/".concat(directory, "/").concat(version).concat(filename, ".").concat(extension, ".").concat(toFormat !== null && toFormat !== void 0 ? toFormat : extension);
return "/generated/".concat(source.namespace, "/").concat(source.uuid.charAt(0), "/").concat(source.uuid.charAt(1), "/").concat(filename);
};
exports.resizerStaticImageUrl = resizerStaticImageUrl;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXNpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLElBQU0sU0FBUyxHQUFHO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsR0FBRztJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSztDQUNqQixDQUFDO0FBRUYsSUFBTSxjQUFjLEdBQUc7SUFDbkIsU0FBUyxFQUFFLEdBQUc7SUFDZCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFLEdBQUc7SUFDWCxPQUFPLEVBQUUsR0FBRztJQUNaLElBQUksRUFBRSxHQUFHO0lBQ1QsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFQUFFLEdBQUc7SUFDVixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsSUFBSTtJQUNqQixHQUFHLEVBQUUsR0FBRztDQUNYLENBQUM7QUFFRixJQUFNLGdCQUFnQixHQUFHO0lBQ3JCLFdBQVcsRUFBRSxHQUFHO0NBQ25CLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRztJQUNmLFVBQVUsRUFBRSxJQUFJO0NBQ25CLENBQUM7QUFVSyxJQUFNLGVBQWUsR0FBRyxVQUMzQixHQUF3QixFQUN4QixLQUErQixFQUMvQixNQUFnQyxFQUNoQyxLQUE2QjtJQUY3QixzQkFBQSxFQUFBLGNBQStCO0lBQy9CLHVCQUFBLEVBQUEsZUFBZ0M7SUFDaEMsc0JBQUEsRUFBQSxVQUE2QjtJQUd6QixJQUFBLEtBS0EsS0FBSyxJQUxRLEVBQWIsR0FBRyxtQkFBRyxPQUFPLEtBQUEsRUFDYixLQUlBLEtBQUssU0FKYyxFQUFuQixRQUFRLG1CQUFHLFFBQVEsS0FBQSxFQUNuQixLQUdBLEtBQUssU0FIb0IsRUFBekIsUUFBUSxtQkFB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
exports.resizerImageUrl = resizerImageUrl;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZXNpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWVBLElBQU0sU0FBUyxHQUFHO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsR0FBRztJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSztDQUNqQixDQUFDO0FBRUYsSUFBTSxjQUFjLEdBQUc7SUFDbkIsU0FBUyxFQUFFLEdBQUc7SUFDZCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFLEdBQUc7SUFDWCxPQUFPLEVBQUUsR0FBRztJQUNaLElBQUksRUFBRSxHQUFHO0lBQ1QsYUFBYSxFQUFFLElBQUk7SUFDbkIsVUFBVSxFQUFFLElBQUk7SUFDaEIsS0FBSyxFQUFFLEdBQUc7SUFDVixjQUFjLEVBQUUsSUFBSTtJQUNwQixXQUFXLEVBQUUsSUFBSTtJQUNqQixHQUFHLEVBQUUsR0FBRztDQUNYLENBQUM7QUFFRixJQUFNLGdCQUFnQixHQUFHO0lBQ3JCLFdBQVcsRUFBRSxHQUFHO0NBQ25CLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRztJQUNmLFVBQVUsRUFBRSxJQUFJO0NBQ25CLENBQUM7QUFXRixJQUFNLHFCQUFxQixHQUFHLFVBQzFCLEdBQTZCLEVBQzdCLEtBQStCLEVBQy9CLE1BQWdDLEVBQ2hDLEtBQTZCLEVBQzdCLE9BQVc7O0lBSFgsc0JBQUEsRUFBQSxjQUErQjtJQUMvQix1QkFBQSxFQUFBLGVBQWdDO0lBQ2hDLHNCQUFBLEVBQUEsVUFBNkI7SUFDN0Isd0JBQUEsRUFBQSxXQUFXO0lBRUgsSUFBQSxLQUFvRyxLQUFLLElBQTVGLEVBQWIsR0FBRyxtQkFBRyxPQUFPLEtBQUEsRUFBRSxLQUFxRixLQUFLLFNBQXZFLEVBQW5CLFFBQVEsbUJBQUcsUUFBUSxLQUFB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
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc