@tc-libs/file 5.3.0 → 5.4.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/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@tc-libs/file",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "dependencies": {
5
- "@tc-libs/constant": "5.3.0",
6
- "@tc-libs/errors": "5.3.0",
7
- "@tc-libs/request": "5.3.0",
5
+ "@tc-libs/constant": "5.4.0",
6
+ "@tc-libs/errors": "5.4.0",
7
+ "@tc-libs/request": "5.4.0",
8
8
  "bytes": "3.1.2",
9
9
  "express": "5.0.1",
10
10
  "tslib": "^2.8.1"
@@ -10,11 +10,13 @@ const platform_express_1 = require("@nestjs/platform-express");
10
10
  const constants_1 = require("../constants");
11
11
  const file_custom_max_files_interceptor_1 = require("../interceptors/file.custom-max-files.interceptor");
12
12
  const file_custom_max_size_interceptor_1 = require("../interceptors/file.custom-max-size.interceptor");
13
+ // I browser mandano il nome del file in UTF-8; busboy lo leggerebbe come latin1 ('Soudé' diventa 'Soudé').
14
+ const MULTER_OPTIONS = { defParamCharset: 'utf8' };
13
15
  function UploadFileSingle(field) {
14
- return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)(field)));
16
+ return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)(field, MULTER_OPTIONS)));
15
17
  }
16
18
  function UploadFileMultiple(field) {
17
- return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)(field)));
19
+ return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)(field, undefined, MULTER_OPTIONS)));
18
20
  }
19
21
  function FileCustomMaxFile(customMaxFiles) {
20
22
  return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)(file_custom_max_files_interceptor_1.FileCustomMaxFilesInterceptor), (0, common_1.SetMetadata)(constants_1.FILE_CUSTOM_MAX_FILES_META_KEY, customMaxFiles));
@@ -1 +1 @@
1
- {"version":3,"file":"file.decorator.js","sourceRoot":"","sources":["../../../../../packages/file/src/decorators/file.decorator.ts"],"names":[],"mappings":";;;AAgBA,4CAEC;AAED,gDAEC;AAED,8CAKC;AAED,8CAKC;AApCD,2CAMwB;AACxB,+DAA6E;AAC7E,4CAGsB;AAEtB,yGAAkG;AAClG,uGAAgG;AAEhG,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,IAAA,wBAAe,EAAC,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,IAAA,wBAAe,EAAC,IAAA,wBAAe,EAAC,IAAA,mCAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,iBAAiB,CAAC,cAAsB;IACtD,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAe,EAAC,iEAA6B,CAAC,EAC9C,IAAA,oBAAW,EAAC,0CAA8B,EAAE,cAAc,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,aAAqB;IACrD,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAe,EAAC,+DAA4B,CAAC,EAC7C,IAAA,oBAAW,EAAC,yCAA6B,EAAE,aAAa,CAAC,CAC1D,CAAC;AACJ,CAAC;AAEY,QAAA,cAAc,GAA6B,IAAA,6BAAoB,EAC1E,CAAC,IAAY,EAAE,GAAqB,EAAU,EAAE;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"file.decorator.js","sourceRoot":"","sources":["../../../../../packages/file/src/decorators/file.decorator.ts"],"names":[],"mappings":";;;AAmBA,4CAIC;AAED,gDAIC;AAED,8CAKC;AAED,8CAKC;AA3CD,2CAMwB;AACxB,+DAA6E;AAC7E,4CAGsB;AAEtB,yGAAkG;AAClG,uGAAgG;AAEhG,4GAA4G;AAC5G,MAAM,cAAc,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AAEnD,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAe,EAAC,IAAA,mCAAgB,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,cAAsB;IACtD,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAe,EAAC,iEAA6B,CAAC,EAC9C,IAAA,oBAAW,EAAC,0CAA8B,EAAE,cAAc,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,aAAqB;IACrD,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAe,EAAC,+DAA4B,CAAC,EAC7C,IAAA,oBAAW,EAAC,yCAA6B,EAAE,aAAa,CAAC,CAC1D,CAAC;AACJ,CAAC;AAEY,QAAA,cAAc,GAA6B,IAAA,6BAAoB,EAC1E,CAAC,IAAY,EAAE,GAAqB,EAAU,EAAE;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAiB,CAAC;IAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CACF,CAAC"}
@@ -1,16 +1,18 @@
1
1
  import { ModuleMetadata } from '@nestjs/common';
2
2
  import { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface';
3
+ import { ImageFormat } from './utils/file.image.util';
3
4
  export declare const FILE_MODULE_CONFIG_OPTIONS = "FILE_MODULE_CONFIG_OPTIONS";
4
5
  export interface FileModuleOptions {
5
6
  image: {
6
7
  maxFiles: number;
7
8
  maxFileSize: number;
9
+ formats?: ImageFormat[];
8
10
  };
9
- excel: {
11
+ excel?: {
10
12
  maxFiles: number;
11
13
  maxFileSize: number;
12
14
  };
13
- audio: {
15
+ audio?: {
14
16
  maxFiles: number;
15
17
  maxFileSize: number;
16
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"file.module.options.js","sourceRoot":"","sources":["../../../../packages/file/src/file.module.options.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"file.module.options.js","sourceRoot":"","sources":["../../../../packages/file/src/file.module.options.ts"],"names":[],"mappings":";;;AAIa,QAAA,0BAA0B,GAAG,4BAA4B,CAAC"}
package/src/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './constants';
2
+ export * from './utils';
2
3
  export * from './dtos';
3
4
  export * from './pipes';
4
5
  export * from './interceptors';
package/src/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./constants"), exports);
5
+ tslib_1.__exportStar(require("./utils"), exports);
5
6
  tslib_1.__exportStar(require("./dtos"), exports);
6
7
  tslib_1.__exportStar(require("./pipes"), exports);
7
8
  tslib_1.__exportStar(require("./interceptors"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/file/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,iDAAuB;AACvB,kDAAwB;AACxB,yDAA+B;AAC/B,sEAA4C;AAC5C,sEAA4C;AAC5C,wDAA8B;AAC9B,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/file/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,yDAA+B;AAC/B,sEAA4C;AAC5C,sEAA4C;AAC5C,wDAA8B;AAC9B,gEAAsC"}
@@ -42,7 +42,7 @@ let FileMaxFilesExcelPipe = class FileMaxFilesExcelPipe {
42
42
  constructor(request, _options) {
43
43
  this.request = request;
44
44
  this._options = _options;
45
- this.maxFile = this._options.excel.maxFiles;
45
+ this.maxFile = this._options.excel?.maxFiles ?? 0;
46
46
  }
47
47
  async transform(value) {
48
48
  await this.validate(value);
@@ -98,7 +98,7 @@ let FileMaxFilesAudioPipe = class FileMaxFilesAudioPipe {
98
98
  constructor(request, _options) {
99
99
  this.request = request;
100
100
  this._options = _options;
101
- this.maxFile = this._options.audio.maxFiles;
101
+ this.maxFile = this._options.audio?.maxFiles ?? 0;
102
102
  }
103
103
  async transform(value) {
104
104
  await this.validate(value);
@@ -1 +1 @@
1
- {"version":3,"file":"file.max-files.pipe.js","sourceRoot":"","sources":["../../../../../packages/file/src/pipes/file.max-files.pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.max-files.pipe.js","sourceRoot":"","sources":["../../../../../packages/file/src/pipes/file.max-files.pipe.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ let FileSizeExcelPipe = class FileSizeExcelPipe {
53
53
  this.request = request;
54
54
  this._options = _options;
55
55
  this._file = _file;
56
- this.maxSize = this._options.excel.maxFileSize;
56
+ this.maxSize = this._options.excel?.maxFileSize ?? 0;
57
57
  }
58
58
  async transform(value) {
59
59
  if (Array.isArray(value)) {
@@ -129,7 +129,7 @@ let FileSizeAudioPipe = class FileSizeAudioPipe {
129
129
  this.request = request;
130
130
  this._options = _options;
131
131
  this._file = _file;
132
- this.maxSize = this._options.audio.maxFileSize;
132
+ this.maxSize = this._options.audio?.maxFileSize ?? 0;
133
133
  }
134
134
  async transform(value) {
135
135
  if (Array.isArray(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"file.size.pipe.js","sourceRoot":"","sources":["../../../../../packages/file/src/pipes/file.size.pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.size.pipe.js","sourceRoot":"","sources":["../../../../../packages/file/src/pipes/file.size.pipe.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,17 @@
1
1
  import { PipeTransform } from '@nestjs/common';
2
2
  import { IFile } from '../interfaces/file.interface';
3
+ import { FileModuleOptions } from '../file.module.options';
4
+ /**
5
+ * Il tipo si legge dal contenuto (firma del formato), non dal MIME né dall'estensione dichiarati dal client: un HTML
6
+ * dichiarato image/png risponde 415. Formati ammessi da image.formats del modulo (default jpeg, png, webp); un SVG
7
+ * passa solo se isSafeSvg. Il file esce con il mimetype del formato riconosciuto, che decide anche l'estensione della
8
+ * chiave in @tc-libs/file-handler.
9
+ */
3
10
  export declare class FileTypeImagePipe implements PipeTransform {
11
+ private readonly _options?;
12
+ constructor(_options?: FileModuleOptions | undefined);
4
13
  transform(value: IFile | IFile[]): IFile | IFile[] | undefined;
5
- validate(mimetype: string): void;
14
+ validate(file: IFile): void;
6
15
  }
7
16
  export declare class FileTypeImageAndPdfPipe implements PipeTransform {
8
17
  transform(value: IFile | IFile[]): IFile | IFile[] | undefined;
@@ -5,31 +5,45 @@ const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const constant_1 = require("@tc-libs/constant");
7
7
  const errors_1 = require("@tc-libs/errors");
8
+ const file_module_options_1 = require("../file.module.options");
9
+ const file_image_util_1 = require("../utils/file.image.util");
10
+ /**
11
+ * Il tipo si legge dal contenuto (firma del formato), non dal MIME né dall'estensione dichiarati dal client: un HTML
12
+ * dichiarato image/png risponde 415. Formati ammessi da image.formats del modulo (default jpeg, png, webp); un SVG
13
+ * passa solo se isSafeSvg. Il file esce con il mimetype del formato riconosciuto, che decide anche l'estensione della
14
+ * chiave in @tc-libs/file-handler.
15
+ */
8
16
  let FileTypeImagePipe = class FileTypeImagePipe {
17
+ constructor(_options) {
18
+ this._options = _options;
19
+ }
9
20
  transform(value) {
10
21
  if (!value) {
11
22
  return undefined;
12
23
  }
13
24
  if (Array.isArray(value)) {
14
25
  for (const val of value) {
15
- this.validate(val.mimetype);
26
+ this.validate(val);
16
27
  }
17
28
  return value;
18
29
  }
19
- const file = value;
20
- this.validate(file.mimetype);
30
+ this.validate(value);
21
31
  return value;
22
32
  }
23
- validate(mimetype) {
24
- if (!Object.values(constant_1.ENUM_FILE_IMAGE_MIME).find((val) => val === mimetype.toLowerCase())) {
25
- throw new errors_1.Api415UnsupportedMediaTypeError({ mediaType: mimetype });
33
+ validate(file) {
34
+ const format = (0, file_image_util_1.resolveImageFormat)(file, this._options?.image?.formats);
35
+ if (!format) {
36
+ throw new errors_1.Api415UnsupportedMediaTypeError({ mediaType: file.mimetype });
26
37
  }
27
- return;
38
+ file.mimetype = file_image_util_1.IMAGE_FORMAT_MIME[format];
28
39
  }
29
40
  };
30
41
  exports.FileTypeImagePipe = FileTypeImagePipe;
31
42
  exports.FileTypeImagePipe = FileTypeImagePipe = tslib_1.__decorate([
32
- (0, common_1.Injectable)()
43
+ (0, common_1.Injectable)(),
44
+ tslib_1.__param(0, (0, common_1.Optional)()),
45
+ tslib_1.__param(0, (0, common_1.Inject)(file_module_options_1.FILE_MODULE_CONFIG_OPTIONS)),
46
+ tslib_1.__metadata("design:paramtypes", [Object])
33
47
  ], FileTypeImagePipe);
34
48
  let FileTypeImageAndPdfPipe = class FileTypeImageAndPdfPipe {
35
49
  transform(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"file.type.pipe.js","sourceRoot":"","sources":["../../../../../packages/file/src/pipes/file.type.pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.type.pipe.js","sourceRoot":"","sources":["../../../../../packages/file/src/pipes/file.type.pipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export type ImageFormat = 'jpeg' | 'png' | 'webp' | 'gif' | 'svg';
2
+ export declare const IMAGE_FORMAT_MIME: Readonly<Record<ImageFormat, string>>;
3
+ export declare const IMAGE_FORMAT_EXTENSION: Readonly<Record<ImageFormat, string>>;
4
+ export declare const DEFAULT_IMAGE_FORMATS: readonly ImageFormat[];
5
+ /**
6
+ * Formato di un file caricato come immagine, oppure undefined se va rifiutato: MIME dichiarato non image/*, contenuto
7
+ * non riconosciuto, formato non tra quelli ammessi o SVG non sicuro. È la decisione di FileTypeImagePipe.
8
+ */
9
+ export declare function resolveImageFormat(file: {
10
+ mimetype: string;
11
+ buffer: Buffer;
12
+ }, allowed?: readonly ImageFormat[]): ImageFormat | undefined;
13
+ export declare function detectImageFormat(content: Buffer): ImageFormat | undefined;
14
+ /**
15
+ * Un SVG caricato si serve così com'è: non deve contenere script, gestori di eventi, documenti incorporati, riferimenti
16
+ * esterni né DTD (entità e XXE). Si rifiuta anziché ripulire. I riferimenti numerici ai caratteri (&#106;) si decodificano
17
+ * prima dei controlli, perché non nascondano un "javascript:".
18
+ */
19
+ export declare function isSafeSvg(content: Buffer): boolean;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ // Formato reale delle immagini caricate, letto dal contenuto e non dal MIME o dall'estensione dichiarati dal client.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DEFAULT_IMAGE_FORMATS = exports.IMAGE_FORMAT_EXTENSION = exports.IMAGE_FORMAT_MIME = void 0;
5
+ exports.resolveImageFormat = resolveImageFormat;
6
+ exports.detectImageFormat = detectImageFormat;
7
+ exports.isSafeSvg = isSafeSvg;
8
+ exports.IMAGE_FORMAT_MIME = {
9
+ jpeg: 'image/jpeg',
10
+ png: 'image/png',
11
+ webp: 'image/webp',
12
+ gif: 'image/gif',
13
+ svg: 'image/svg+xml',
14
+ };
15
+ exports.IMAGE_FORMAT_EXTENSION = {
16
+ jpeg: '.jpg',
17
+ png: '.png',
18
+ webp: '.webp',
19
+ gif: '.gif',
20
+ svg: '.svg',
21
+ };
22
+ // Formati ammessi se l'app non configura image.formats: quelli di ENUM_FILE_IMAGE_MIME, come prima.
23
+ exports.DEFAULT_IMAGE_FORMATS = [
24
+ 'jpeg',
25
+ 'png',
26
+ 'webp',
27
+ ];
28
+ /**
29
+ * Formato di un file caricato come immagine, oppure undefined se va rifiutato: MIME dichiarato non image/*, contenuto
30
+ * non riconosciuto, formato non tra quelli ammessi o SVG non sicuro. È la decisione di FileTypeImagePipe.
31
+ */
32
+ function resolveImageFormat(file, allowed = exports.DEFAULT_IMAGE_FORMATS) {
33
+ if (!file.mimetype?.toLowerCase().startsWith('image/'))
34
+ return undefined;
35
+ const format = detectImageFormat(file.buffer);
36
+ if (!format || !allowed.includes(format))
37
+ return undefined;
38
+ if (format === 'svg' && !isSafeSvg(file.buffer))
39
+ return undefined;
40
+ return format;
41
+ }
42
+ const PNG_SIGNATURE = Buffer.from([
43
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a,
44
+ ]);
45
+ // Quanto testo si legge per riconoscere un SVG: dichiarazione XML e commenti iniziali stanno nelle prime righe.
46
+ const SVG_SNIFF_BYTES = 4096;
47
+ function detectImageFormat(content) {
48
+ if (!content || content.length < 4)
49
+ return undefined;
50
+ if (content[0] === 0xff && content[1] === 0xd8 && content[2] === 0xff)
51
+ return 'jpeg';
52
+ if (content.subarray(0, 8).equals(PNG_SIGNATURE))
53
+ return 'png';
54
+ const head = content.subarray(0, 6).toString('latin1');
55
+ if (head === 'GIF87a' || head === 'GIF89a')
56
+ return 'gif';
57
+ if (content.subarray(0, 4).toString('latin1') === 'RIFF' &&
58
+ content.subarray(8, 12).toString('latin1') === 'WEBP')
59
+ return 'webp';
60
+ if (startsWithSvgRoot(content.subarray(0, SVG_SNIFF_BYTES).toString('utf8')))
61
+ return 'svg';
62
+ return undefined;
63
+ }
64
+ // Il primo elemento, dopo BOM, dichiarazione XML, commenti e spazi, è <svg>.
65
+ function startsWithSvgRoot(text) {
66
+ let rest = text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
67
+ for (;;) {
68
+ rest = rest.trimStart();
69
+ if (rest.startsWith('<?')) {
70
+ const end = rest.indexOf('?>');
71
+ if (end < 0)
72
+ return false;
73
+ rest = rest.slice(end + 2);
74
+ }
75
+ else if (rest.startsWith('<!--')) {
76
+ const end = rest.indexOf('-->');
77
+ if (end < 0)
78
+ return false;
79
+ rest = rest.slice(end + 3);
80
+ }
81
+ else {
82
+ break;
83
+ }
84
+ }
85
+ return /^<svg[\s>]/.test(rest);
86
+ }
87
+ // Elementi che eseguono codice, incorporano altri documenti o modificano attributi a runtime.
88
+ const SVG_FORBIDDEN_ELEMENTS = [
89
+ 'script',
90
+ 'foreignobject',
91
+ 'iframe',
92
+ 'embed',
93
+ 'object',
94
+ 'audio',
95
+ 'video',
96
+ 'handler',
97
+ 'listener',
98
+ 'set',
99
+ 'animate',
100
+ ];
101
+ /**
102
+ * Un SVG caricato si serve così com'è: non deve contenere script, gestori di eventi, documenti incorporati, riferimenti
103
+ * esterni né DTD (entità e XXE). Si rifiuta anziché ripulire. I riferimenti numerici ai caratteri (&#106;) si decodificano
104
+ * prima dei controlli, perché non nascondano un "javascript:".
105
+ */
106
+ function isSafeSvg(content) {
107
+ const text = decodeCharacterReferences(content.toString('utf8')).toLowerCase();
108
+ if (/<!doctype|<!entity/.test(text))
109
+ return false;
110
+ for (const element of SVG_FORBIDDEN_ELEMENTS) {
111
+ if (new RegExp(`<\\s*(?:[a-z0-9_-]+:)?${element}[\\s/>]`).test(text))
112
+ return false;
113
+ }
114
+ // Gestori di eventi (onload, onclick, ...) su qualsiasi elemento.
115
+ if (/[\s/"']on[a-z]+\s*=/.test(text))
116
+ return false;
117
+ // Senza spazi né caratteri di controllo, che i browser ignorano dentro uno schema (java\tscript:).
118
+ const compact = Array.from(text)
119
+ .filter((char) => char.charCodeAt(0) > 0x20)
120
+ .join('');
121
+ if (/(?:javascript|vbscript):|data:text\/html/.test(compact))
122
+ return false;
123
+ // href e xlink:href solo verso frammenti interni o immagini raster incorporate.
124
+ for (const match of text.matchAll(/(?:^|[\s"'])(?:xlink:)?href\s*=\s*(["'])(.*?)\1/g)) {
125
+ const value = match[2].trim();
126
+ if (!value.startsWith('#') &&
127
+ !/^data:image\/(?:png|jpeg|gif|webp);base64,/.test(value))
128
+ return false;
129
+ }
130
+ // Fogli di stile che caricano risorse esterne.
131
+ if (/@import|url\(\s*(?!["']?#)/.test(text))
132
+ return false;
133
+ return true;
134
+ }
135
+ function decodeCharacterReferences(text) {
136
+ return text
137
+ .replace(/&#x([0-9a-f]{1,6});?/gi, (_, hex) => safeFromCodePoint(parseInt(hex, 16)))
138
+ .replace(/&#([0-9]{1,7});?/g, (_, dec) => safeFromCodePoint(parseInt(dec, 10)));
139
+ }
140
+ function safeFromCodePoint(code) {
141
+ return code > 0x10ffff ? '' : String.fromCodePoint(code);
142
+ }
143
+ //# sourceMappingURL=file.image.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.image.util.js","sourceRoot":"","sources":["../../../../../packages/file/src/utils/file.image.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function toStorageBaseName(originalname: string): string;
2
+ export declare function toStorageExtension(file: {
3
+ originalname: string;
4
+ mimetype: string;
5
+ }): string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toStorageBaseName = toStorageBaseName;
4
+ exports.toStorageExtension = toStorageExtension;
5
+ const path_1 = require("path");
6
+ const file_image_util_1 = require("./file.image.util");
7
+ // Nome della chiave di storage: il nome del file in minuscolo, senza accenti né simboli, al più 50 caratteri, così la
8
+ // chiave dice cosa contiene l'immagine (SEO). L'uuid che la rende unica lo aggiunge @tc-libs/file-handler. Senza
9
+ // lettere o cifre resta 'file'.
10
+ function toStorageBaseName(originalname) {
11
+ const base = (0, path_1.parse)(originalname ?? '')
12
+ .name.normalize('NFKD')
13
+ .replace(/[̀-ͯ]/g, '')
14
+ .toLowerCase()
15
+ .replace(/[^a-z0-9]+/g, '-')
16
+ .replace(/^-+|-+$/g, '')
17
+ .slice(0, 50)
18
+ .replace(/-+$/, '');
19
+ return base || 'file';
20
+ }
21
+ // Estensione della chiave: quella del formato reale per le immagini (mimetype fissato da FileTypeImagePipe), altrimenti
22
+ // quella del nome del client, se è fatta solo di lettere e cifre.
23
+ function toStorageExtension(file) {
24
+ const mime = file.mimetype?.toLowerCase();
25
+ const format = Object.keys(file_image_util_1.IMAGE_FORMAT_MIME).find((key) => file_image_util_1.IMAGE_FORMAT_MIME[key] === mime);
26
+ if (format)
27
+ return file_image_util_1.IMAGE_FORMAT_EXTENSION[format];
28
+ const ext = (0, path_1.parse)(file.originalname ?? '').ext.toLowerCase();
29
+ return /^\.[a-z0-9]{1,10}$/.test(ext) ? ext : '';
30
+ }
31
+ //# sourceMappingURL=file.name.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.name.util.js","sourceRoot":"","sources":["../../../../../packages/file/src/utils/file.name.util.ts"],"names":[],"mappings":";;AAUA,8CAUC;AAID,gDAWC;AAnCD,+BAA6B;AAC7B,uDAI2B;AAE3B,sHAAsH;AACtH,iHAAiH;AACjH,gCAAgC;AAChC,SAAgB,iBAAiB,CAAC,YAAoB;IACpD,MAAM,IAAI,GAAG,IAAA,YAAK,EAAC,YAAY,IAAI,EAAE,CAAC;SACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SACtB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,OAAO,IAAI,IAAI,MAAM,CAAC;AACxB,CAAC;AAED,wHAAwH;AACxH,kEAAkE;AAClE,SAAgB,kBAAkB,CAAC,IAGlC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAI,MAAM,CAAC,IAAI,CAAC,mCAAiB,CAAmB,CAAC,IAAI,CACnE,CAAC,GAAG,EAAE,EAAE,CAAC,mCAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,CACzC,CAAC;IACF,IAAI,MAAM;QAAE,OAAO,wCAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7D,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './file.image.util';
2
+ export * from './file.name.util';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./file.image.util"), exports);
5
+ tslib_1.__exportStar(require("./file.name.util"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/file/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,2DAAiC"}