@design-edito/tools 0.1.69 → 0.1.71

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.
Files changed (143) hide show
  1. package/agnostic/arrays/index.js +4 -4
  2. package/agnostic/colors/index.js +9 -9
  3. package/agnostic/colors/lighten-color/index.js +2 -2
  4. package/agnostic/colors/saturate-color/index.js +2 -2
  5. package/agnostic/css/bem/index.js +2 -2
  6. package/agnostic/css/index.js +9 -9
  7. package/agnostic/html/hyper-json/cast/index.js +7 -7
  8. package/agnostic/html/hyper-json/index.js +8 -8
  9. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +7 -7
  10. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +7 -7
  11. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +7 -7
  12. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +7 -7
  13. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +7 -7
  14. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +7 -7
  15. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +7 -7
  16. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +7 -7
  17. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +7 -7
  18. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +7 -7
  19. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +7 -7
  20. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +7 -7
  21. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +7 -7
  22. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +7 -7
  23. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +7 -7
  24. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +7 -7
  25. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +7 -7
  26. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +7 -7
  27. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +7 -7
  28. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +7 -7
  29. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +7 -7
  30. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +7 -7
  31. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +7 -7
  32. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +7 -7
  33. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +7 -7
  34. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +7 -7
  35. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +7 -7
  36. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +7 -7
  37. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +7 -7
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +7 -7
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +7 -7
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +7 -7
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +7 -7
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +7 -7
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +7 -7
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +7 -7
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +7 -7
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +7 -7
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +7 -7
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +7 -7
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +7 -7
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +7 -7
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +7 -7
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +7 -7
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +7 -7
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +7 -7
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +7 -7
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +7 -7
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +7 -7
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +7 -7
  59. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +7 -7
  60. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +7 -7
  61. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +7 -7
  62. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +7 -7
  63. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +7 -7
  64. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +7 -7
  65. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +7 -7
  66. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +7 -7
  67. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +7 -7
  68. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +7 -7
  69. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +7 -7
  70. package/agnostic/html/hyper-json/tree/index.js +7 -7
  71. package/agnostic/html/hyper-json/utils/index.js +7 -7
  72. package/agnostic/html/index.js +18 -18
  73. package/agnostic/misc/index.js +13 -13
  74. package/agnostic/misc/lorem-ipsum/index.js +5 -5
  75. package/agnostic/misc/normalize-extension/index.d.ts +1 -0
  76. package/agnostic/misc/normalize-extension/index.js +92 -0
  77. package/agnostic/numbers/index.js +4 -4
  78. package/agnostic/objects/index.js +14 -14
  79. package/agnostic/optim/index.js +3 -3
  80. package/agnostic/strings/index.js +5 -5
  81. package/agnostic/time/index.js +6 -6
  82. package/chunks/chunk-2EEVPIJE.js +177 -0
  83. package/chunks/chunk-336RBB5E.js +151 -0
  84. package/chunks/chunk-3LPD7IXF.js +56 -0
  85. package/chunks/chunk-45LGGA3Z.js +31 -0
  86. package/chunks/chunk-476BHNJO.js +37 -0
  87. package/chunks/chunk-7UDN6KBA.js +151 -0
  88. package/chunks/chunk-AQTNG5G4.js +2456 -0
  89. package/chunks/chunk-AUJB3IJD.js +20 -0
  90. package/chunks/chunk-B5XLWFTJ.js +20 -0
  91. package/chunks/chunk-BWKM2VQJ.js +191 -0
  92. package/chunks/chunk-CKCTYZF7.js +48 -0
  93. package/chunks/chunk-E2BDKTLL.js +48 -0
  94. package/chunks/chunk-E4RVKTMW.js +56 -0
  95. package/chunks/chunk-FCMQVBJW.js +20 -0
  96. package/chunks/chunk-FZJUZYTP.js +177 -0
  97. package/chunks/chunk-G5UR6736.js +31 -0
  98. package/chunks/chunk-GSZSM3BU.js +37 -0
  99. package/chunks/chunk-HBKSSDSX.js +20 -0
  100. package/chunks/chunk-HNKD4ZRZ.js +177 -0
  101. package/chunks/chunk-JMA64OLZ.js +191 -0
  102. package/chunks/chunk-JMJZCVSA.js +141 -0
  103. package/chunks/chunk-JS3NE4VI.js +2456 -0
  104. package/chunks/chunk-LZ4P3AYG.js +2456 -0
  105. package/chunks/chunk-MDVYILPB.js +56 -0
  106. package/chunks/chunk-NSM7QLE4.js +20 -0
  107. package/chunks/chunk-PCTJ7TUG.js +191 -0
  108. package/chunks/chunk-Q4MSGUKR.js +37 -0
  109. package/chunks/chunk-RDIF5NJQ.js +151 -0
  110. package/chunks/chunk-TEBR4NTW.js +37 -0
  111. package/chunks/chunk-TU3UWOAE.js +56 -0
  112. package/chunks/chunk-TZ7MNWDS.js +20 -0
  113. package/chunks/chunk-UYRX3PTS.js +2456 -0
  114. package/chunks/chunk-WGQHXHXS.js +31 -0
  115. package/chunks/chunk-WU7NORZV.js +191 -0
  116. package/chunks/chunk-XB3YCG6I.js +48 -0
  117. package/chunks/chunk-XVYKCWPR.js +48 -0
  118. package/chunks/chunk-YMF7CUJA.js +20 -0
  119. package/chunks/chunk-YVLZX2JQ.js +164 -0
  120. package/chunks/chunk-Z6ZTRJ67.js +177 -0
  121. package/chunks/chunk-ZLNDBNP4.js +31 -0
  122. package/chunks/chunk-ZSPOYMNQ.js +151 -0
  123. package/node/@google-cloud/index.js +8 -8
  124. package/node/@google-cloud/storage/bucket/index.js +4 -4
  125. package/node/@google-cloud/storage/file/index.js +11 -11
  126. package/node/@google-cloud/storage/index.js +8 -8
  127. package/node/cloud-storage/index.js +11 -11
  128. package/node/cloud-storage/operations/download/index.js +3 -3
  129. package/node/cloud-storage/operations/index.js +7 -7
  130. package/node/cloud-storage/operations/upload/index.js +3 -3
  131. package/node/files/index.js +3 -3
  132. package/node/ftps/file/index.js +4 -4
  133. package/node/ftps/index.js +2 -2
  134. package/node/images/format/index.d.ts +9 -0
  135. package/node/images/format/index.js +20 -1
  136. package/node/images/index.js +26 -26
  137. package/node/images/prepare/index.js +26 -26
  138. package/node/images/transform/frame/index.js +2 -2
  139. package/node/images/transform/index.js +24 -24
  140. package/node/images/transform/operations/_utils/frame/backgrounds/create-line-background/index.js +4 -4
  141. package/node/images/transform/operations/_utils/frame/create-color-palette/index.js +5 -5
  142. package/node/images/transform/operations/_utils/frame/index.js +8 -8
  143. package/package.json +1 -1
@@ -0,0 +1,151 @@
1
+ import {
2
+ formatImage
3
+ } from "./chunk-SJFY537W.js";
4
+ import {
5
+ transform
6
+ } from "./chunk-FZJUZYTP.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-NZLE2WMY.js";
10
+
11
+ // src/node/images/prepare/index.ts
12
+ var prepare_exports = {};
13
+ __export(prepare_exports, {
14
+ MAX_NB_OUTPUTS: () => MAX_NB_OUTPUTS,
15
+ OUTPUT_ZIP_FOLDER: () => OUTPUT_ZIP_FOLDER,
16
+ exportZipBuffer: () => exportZipBuffer,
17
+ prepareImage: () => prepareImage
18
+ });
19
+ import sharp from "sharp";
20
+ import { Writable } from "node:stream";
21
+ import archiver from "archiver";
22
+ var MAX_NB_OUTPUTS = 50;
23
+ var OUTPUT_ZIP_FOLDER = "./output-zips";
24
+ async function prepareImage(imageBuffer, customOptions) {
25
+ const sharpImage = sharp(imageBuffer);
26
+ const sharpImageMetadata = await sharpImage.metadata();
27
+ const imageBufferMetadata = {
28
+ width: sharpImageMetadata.width ?? 0,
29
+ height: sharpImageMetadata.height ?? 0,
30
+ format: sharpImageMetadata.format || "png"
31
+ };
32
+ const options = getOptions(imageBufferMetadata, customOptions);
33
+ const nbOutputs = options.qualities.length * (options.ratios.length + 1) * (options.widths.length + 1) * (options.heights.length + 1);
34
+ if (nbOutputs > MAX_NB_OUTPUTS) throw Error("Nb output exceeds supported max nb output");
35
+ let transformedBuffer = imageBuffer;
36
+ try {
37
+ transformedBuffer = await transform(imageBuffer, options.inputOperations, options.checkValidOperations);
38
+ } catch (e) {
39
+ console.log("Images:Prepare:Transform:Buffer:Error", { e });
40
+ }
41
+ const transformedBufferMetadata = await sharp(transformedBuffer).metadata();
42
+ const exportsBuffers = [
43
+ {
44
+ buffer: imageBuffer,
45
+ name: generateFileName({
46
+ ...imageBufferMetadata,
47
+ quality: 100,
48
+ suffix: "original",
49
+ prefix: options.name
50
+ })
51
+ },
52
+ {
53
+ buffer: transformedBuffer,
54
+ name: generateFileName({
55
+ width: transformedBufferMetadata.width || 0,
56
+ height: transformedBufferMetadata.height || 0,
57
+ format: transformedBufferMetadata.format || "png",
58
+ quality: 100,
59
+ suffix: "transformed-unresized",
60
+ prefix: options.name
61
+ })
62
+ }
63
+ ];
64
+ for (const width of options.widths) {
65
+ for (const height of options.heights) {
66
+ for (const quality of options.qualities) {
67
+ for (const format of options.formats) {
68
+ const exportBuffer = await formatImage(transformedBuffer, {
69
+ format,
70
+ quality,
71
+ width,
72
+ height
73
+ });
74
+ exportsBuffers.push({
75
+ buffer: exportBuffer,
76
+ name: generateFileName({
77
+ width,
78
+ height,
79
+ quality,
80
+ format,
81
+ prefix: options.name
82
+ })
83
+ });
84
+ }
85
+ }
86
+ }
87
+ }
88
+ console.log("Images:Transform:Export:ZIP", generateZipName(options.name));
89
+ const zipBuffer = exportZipBuffer(exportsBuffers, generateZipName(options.name));
90
+ return zipBuffer;
91
+ }
92
+ function exportZipBuffer(zipSources, zipDirectoryName) {
93
+ return new Promise(async (resolve) => {
94
+ const archive = archiver("zip", { zlib: { level: 9 } });
95
+ if (zipDirectoryName) {
96
+ archive.directory(zipDirectoryName + "/", false);
97
+ }
98
+ zipSources.forEach((zipSource) => {
99
+ const fileName = zipDirectoryName ? `${zipDirectoryName}/${zipSource.name}` : zipSource.name;
100
+ archive.append(zipSource.buffer, { name: fileName });
101
+ });
102
+ const chunks = [];
103
+ const writable = new Writable();
104
+ writable._write = (chunk, _enc, callback) => {
105
+ chunks.push(chunk);
106
+ callback();
107
+ };
108
+ archive.pipe(writable);
109
+ await archive.finalize();
110
+ const bufferZip = Buffer.concat(chunks);
111
+ resolve(bufferZip);
112
+ });
113
+ }
114
+ function getOptions(imageBufferMetadata, options) {
115
+ return {
116
+ center: [0.5, 0.5],
117
+ qualities: [100],
118
+ inputOperations: [],
119
+ ...options,
120
+ checkValidOperations: options?.checkValidOperations ?? false,
121
+ name: options?.name ?? "",
122
+ formats: [imageBufferMetadata.format, ...options?.formats ? options.formats : []],
123
+ ratios: [...options?.ratios ? options.ratios : []],
124
+ widths: [imageBufferMetadata.width, ...options?.widths ? options.widths : []],
125
+ heights: [imageBufferMetadata.height, ...options?.heights ? options.heights : []]
126
+ };
127
+ }
128
+ function generateZipName(name = "") {
129
+ const date = /* @__PURE__ */ new Date();
130
+ return `${name}_image-exports_${date.toLocaleDateString()}_${date.toLocaleTimeString()}_${date.getTime()}`.replace(/\/|:/g, "-").replace(/ /g, "").trim();
131
+ }
132
+ function generateFileName({
133
+ width,
134
+ height,
135
+ quality,
136
+ format,
137
+ suffix,
138
+ prefix
139
+ }) {
140
+ prefix = prefix ? `${prefix}_` : "image-formats_";
141
+ suffix = `${suffix ? `_${suffix}` : ""}.${format}`;
142
+ return `${prefix}${width}x${height}_Q${quality}${suffix}`;
143
+ }
144
+
145
+ export {
146
+ MAX_NB_OUTPUTS,
147
+ OUTPUT_ZIP_FOLDER,
148
+ prepareImage,
149
+ exportZipBuffer,
150
+ prepare_exports
151
+ };