sloth-d2c-node 0.0.1-beta44

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 (36) hide show
  1. package/README.md +2 -0
  2. package/dist/main.d.ts +1 -0
  3. package/dist/main.js +76 -0
  4. package/dist/main.js.map +1 -0
  5. package/dist/modules/app.controller.d.ts +20 -0
  6. package/dist/modules/app.controller.js +122 -0
  7. package/dist/modules/app.controller.js.map +1 -0
  8. package/dist/modules/app.module.d.ts +2 -0
  9. package/dist/modules/app.module.js +25 -0
  10. package/dist/modules/app.module.js.map +1 -0
  11. package/dist/modules/app.service.d.ts +3 -0
  12. package/dist/modules/app.service.js +20 -0
  13. package/dist/modules/app.service.js.map +1 -0
  14. package/dist/modules/d2c/d2c.controller.d.ts +23 -0
  15. package/dist/modules/d2c/d2c.controller.js +108 -0
  16. package/dist/modules/d2c/d2c.controller.js.map +1 -0
  17. package/dist/modules/d2c/d2c.module.d.ts +2 -0
  18. package/dist/modules/d2c/d2c.module.js +27 -0
  19. package/dist/modules/d2c/d2c.module.js.map +1 -0
  20. package/dist/modules/d2c/d2c.service.d.ts +12 -0
  21. package/dist/modules/d2c/d2c.service.js +40 -0
  22. package/dist/modules/d2c/d2c.service.js.map +1 -0
  23. package/dist/tsconfig.tsbuildinfo +1 -0
  24. package/dist/utils/d2c-convert.d.ts +40 -0
  25. package/dist/utils/d2c-convert.js +184 -0
  26. package/dist/utils/d2c-convert.js.map +1 -0
  27. package/dist/utils/figma.d.ts +7 -0
  28. package/dist/utils/figma.js +47 -0
  29. package/dist/utils/figma.js.map +1 -0
  30. package/dist/utils/index.d.ts +27 -0
  31. package/dist/utils/index.js +285 -0
  32. package/dist/utils/index.js.map +1 -0
  33. package/dist/utils/webpack-substitutions.d.ts +1 -0
  34. package/dist/utils/webpack-substitutions.js +135 -0
  35. package/dist/utils/webpack-substitutions.js.map +1 -0
  36. package/package.json +112 -0
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = 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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getResourceMapAdvanced = exports.getBoundingBox = exports.finalOptimizeCodePrompt = exports.aggregationOptimizeCodePrompt = exports.chunkOptimizeCodePrompt = void 0;
37
+ exports.toDegrees = toDegrees;
38
+ exports.convertD2C = convertD2C;
39
+ exports.convertFigmaToD2CNode = convertFigmaToD2CNode;
40
+ exports.generateAbsoluteHtml = generateAbsoluteHtml;
41
+ exports.getCode = getCode;
42
+ const axios_1 = require("@nestjs/axios");
43
+ const slothD2C = __importStar(require("sloth-d2c-figma-plugin"));
44
+ const figma_1 = require("./figma");
45
+ const index_1 = require("./index");
46
+ Object.defineProperty(exports, "getResourceMapAdvanced", { enumerable: true, get: function () { return index_1.getResourceMapAdvanced; } });
47
+ function toDegrees(angle) {
48
+ return -1 * angle * (180 / Math.PI);
49
+ }
50
+ const figmaService = new figma_1.FigmaService(new axios_1.HttpService());
51
+ async function convertD2C(params) {
52
+ return {
53
+ code: '',
54
+ };
55
+ }
56
+ async function convertFigmaToD2CNode(params) {
57
+ const { fileKey, nodeId, depth, figmaToken, config } = params;
58
+ const res = await figmaService.getFigmaData(fileKey, nodeId, depth, figmaToken);
59
+ const figmaData = res;
60
+ const figmaNodeList = [Object.values(figmaData.nodes)[0].document];
61
+ figmaNodeList.forEach((node) => {
62
+ (0, index_1.traverse)(node, (subNode) => {
63
+ subNode.height = subNode.absoluteBoundingBox?.height || 0;
64
+ subNode.width = subNode.absoluteBoundingBox?.width || 0;
65
+ subNode.x = subNode.absoluteBoundingBox?.x || 0;
66
+ subNode.y = subNode.absoluteBoundingBox?.y || 0;
67
+ subNode.rotation = toDegrees(subNode.rotation);
68
+ });
69
+ });
70
+ const { nodeList: nodeListBeforeFilter, next } = await slothD2C.convertFigmaNodeToD2CNode(figmaNodeList);
71
+ console.dir(nodeListBeforeFilter, { depth: 9 });
72
+ const imageNodeList = nodeListBeforeFilter?.filter((node) => ['IMG', 'ICON'].includes(node.type)) || [];
73
+ console.log('imageNodeList', imageNodeList);
74
+ const pngNodeIds = imageNodeList
75
+ .filter((image) => image.srcType === 'PNG' && image.option?.useAbsoluteBounds)
76
+ .map((image) => image.id)
77
+ .join(',');
78
+ const svgNodeIds = imageNodeList
79
+ .filter((image) => image.srcType === 'SVG' && image.option?.useAbsoluteBounds)
80
+ .map((image) => image.id)
81
+ .join(',');
82
+ const pngNodeIdsRenderBounds = imageNodeList
83
+ .filter((image) => image.srcType === 'PNG' && !image.option?.useAbsoluteBounds)
84
+ .map((image) => image.id)
85
+ .join(',');
86
+ const svgNodeIdsRenderBounds = imageNodeList
87
+ .filter((image) => image.srcType === 'SVG' && !image.option?.useAbsoluteBounds)
88
+ .map((image) => image.id)
89
+ .join(',');
90
+ const inheritImageMap = {};
91
+ const pngNodeIdsInheritImage = imageNodeList
92
+ .filter((image) => image.srcType === 'PNG' && image.inheritImage)
93
+ .map((image) => {
94
+ inheritImageMap[image.id] = image.parentId;
95
+ return image.parentId;
96
+ })
97
+ .join(',');
98
+ console.log('pngNodeIds', pngNodeIds);
99
+ console.log('svgNodeIds', svgNodeIds);
100
+ console.log('pngNodeIdsRenderBounds', pngNodeIdsRenderBounds);
101
+ console.log('svgNodeIdsRenderBounds', svgNodeIdsRenderBounds);
102
+ const getPngImage = figmaService.getImage(fileKey, pngNodeIds, figmaToken, {
103
+ format: 'png',
104
+ scale: 2,
105
+ use_absolute_bounds: true,
106
+ });
107
+ const getSvgImage = figmaService.getImage(fileKey, svgNodeIds, figmaToken, {
108
+ format: 'svg',
109
+ scale: 2,
110
+ use_absolute_bounds: true,
111
+ });
112
+ const getPngImageRenderBounds = figmaService.getImage(fileKey, pngNodeIdsRenderBounds, figmaToken, {
113
+ format: 'png',
114
+ scale: 2,
115
+ use_absolute_bounds: false,
116
+ });
117
+ const getSvgImageRenderBounds = figmaService.getImage(fileKey, svgNodeIdsRenderBounds, figmaToken, {
118
+ format: 'svg',
119
+ scale: 2,
120
+ use_absolute_bounds: false,
121
+ });
122
+ const getPngImageInheritImage = figmaService.getImage(fileKey, pngNodeIdsInheritImage, figmaToken, {
123
+ format: 'png',
124
+ scale: 2,
125
+ use_absolute_bounds: false,
126
+ });
127
+ const [pngImage, svgImage, pngImageRenderBounds, svgImageRenderBounds, pngImageInheritImage] = await Promise.allSettled([
128
+ getPngImage,
129
+ getSvgImage,
130
+ getPngImageRenderBounds,
131
+ getSvgImageRenderBounds,
132
+ getPngImageInheritImage,
133
+ ]);
134
+ const imageRes = {
135
+ ...(pngImage.status === 'fulfilled' ? pngImage.value.images : {}),
136
+ ...(svgImage.status === 'fulfilled' ? svgImage.value.images : {}),
137
+ ...(pngImageRenderBounds.status === 'fulfilled' ? pngImageRenderBounds.value.images : {}),
138
+ ...(svgImageRenderBounds.status === 'fulfilled' ? svgImageRenderBounds.value.images : {}),
139
+ ...(pngImageInheritImage.status === 'fulfilled' ? pngImageInheritImage.value.images : {}),
140
+ };
141
+ console.log('imageRes', imageRes);
142
+ console.log('inheritImageMap', inheritImageMap);
143
+ imageNodeList.forEach((node) => {
144
+ if (node.inheritImage) {
145
+ node.src = imageRes[inheritImageMap[node.id]];
146
+ }
147
+ else {
148
+ node.src = imageRes[node.id];
149
+ }
150
+ });
151
+ let imageMap = {};
152
+ imageMap = await (0, index_1.getResourceMapAdvanced)(imageNodeList, config);
153
+ const d2cNodeList = await next({
154
+ beforeNext: async () => {
155
+ imageNodeList.forEach((node) => {
156
+ node.src = imageMap?.[node.id]?.base64 ? `data:image/${node.srcType === 'PNG' ? 'png' : 'svg+xml'};base64,${imageMap?.[node.id]?.base64}` : '';
157
+ });
158
+ },
159
+ afterNext: async () => {
160
+ imageNodeList.forEach((node) => {
161
+ node.src = imageMap?.[node.id]?.src;
162
+ });
163
+ },
164
+ });
165
+ return {
166
+ d2cNodeList,
167
+ imageMap,
168
+ imageNodeList,
169
+ };
170
+ }
171
+ async function generateAbsoluteHtml(d2cNodeList) {
172
+ return await slothD2C.generateAbsoluteHtml(d2cNodeList);
173
+ }
174
+ async function getCode(params) {
175
+ const { d2cNodeList, config } = params;
176
+ const code = await slothD2C.getCode(d2cNodeList, config);
177
+ const formattedCode = await (0, index_1.formatCode)((0, index_1.replaceCode)(code), 'html');
178
+ return formattedCode;
179
+ }
180
+ exports.chunkOptimizeCodePrompt = slothD2C.chunkOptimizeCodePrompt;
181
+ exports.aggregationOptimizeCodePrompt = slothD2C.aggregationOptimizeCodePrompt;
182
+ exports.finalOptimizeCodePrompt = slothD2C.finalOptimizeCodePrompt;
183
+ exports.getBoundingBox = slothD2C.getBoundingBox;
184
+ //# sourceMappingURL=d2c-convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d2c-convert.js","sourceRoot":"","sources":["../../src/utils/d2c-convert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ export declare class FigmaService {
3
+ private readonly httpService;
4
+ constructor(httpService: HttpService);
5
+ getFigmaData(fileKey: string, nodeId: string, depth: number, figmaToken: string): Promise<any>;
6
+ getImage(fileKey: string, nodeId: string, figmaToken: string, options: any): Promise<any>;
7
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FigmaService = void 0;
13
+ const axios_1 = require("@nestjs/axios");
14
+ const common_1 = require("@nestjs/common");
15
+ const rxjs_1 = require("rxjs");
16
+ let FigmaService = class FigmaService {
17
+ constructor(httpService) {
18
+ this.httpService = httpService;
19
+ }
20
+ async getFigmaData(fileKey, nodeId, depth, figmaToken) {
21
+ console.log('getFigmaData', { fileKey, nodeId, depth, figmaToken });
22
+ const response = this.httpService.get(`https://api.figma.com/v1/files/${fileKey}/nodes?ids=${nodeId}&geometry=paths`, {
23
+ headers: {
24
+ 'X-Figma-Token': figmaToken,
25
+ },
26
+ });
27
+ return (await (0, rxjs_1.lastValueFrom)(response)).data;
28
+ }
29
+ async getImage(fileKey, nodeId, figmaToken, options) {
30
+ const response = this.httpService.get(`https://api.figma.com/v1/images/${fileKey}`, {
31
+ headers: {
32
+ 'X-Figma-Token': figmaToken,
33
+ },
34
+ params: {
35
+ ...options,
36
+ ids: nodeId,
37
+ },
38
+ });
39
+ return (await (0, rxjs_1.lastValueFrom)(response)).data;
40
+ }
41
+ };
42
+ exports.FigmaService = FigmaService;
43
+ exports.FigmaService = FigmaService = __decorate([
44
+ (0, common_1.Injectable)(),
45
+ __metadata("design:paramtypes", [axios_1.HttpService])
46
+ ], FigmaService);
47
+ //# sourceMappingURL=figma.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figma.js","sourceRoot":"","sources":["../../src/utils/figma.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA2C;AAC3C,2CAA2C;AAC3C,+BAAyC;AAGlC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEzD,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa,EAAE,UAAkB;QACnF,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kCAAkC,OAAO,cAAc,MAAM,iBAAiB,EAAE;YACpH,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU;aAC5B;SACF,CAAC,CAAA;QAKF,OAAO,CAAC,MAAM,IAAA,oBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAc,EAAE,UAAkB,EAAE,OAAY;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAmC,OAAO,EAAE,EAAE;YAClF,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU;aAC5B;YACD,MAAM,EAAE;gBACN,GAAG,OAAO;gBACV,GAAG,EAAE,MAAM;aACZ;SACF,CAAC,CAAA;QACF,OAAO,CAAC,MAAM,IAAA,oBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7C,CAAC;CACF,CAAA;AA7BY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAE+B,mBAAW;GAD1C,YAAY,CA6BxB"}
@@ -0,0 +1,27 @@
1
+ import { Options } from 'prettier';
2
+ export declare const traverse: (node: any, callback: (node: any) => void) => void;
3
+ export declare const getSystemSupportFileName: (name: string) => string;
4
+ export declare function getBase64(url: string): Promise<string>;
5
+ export declare function getBase64Optimized(url: string, signal?: AbortSignal): Promise<{
6
+ base64: string;
7
+ uint8Array: Uint8Array<any>;
8
+ }>;
9
+ export declare const getResourceMapAdvanced: (nodeList: ID2CNodeList, config: any, options?: {
10
+ concurrency?: number;
11
+ retries?: number;
12
+ cacheSize?: number;
13
+ timeout?: number;
14
+ }) => Promise<Record<string, {
15
+ path: string;
16
+ src: string;
17
+ uint8Array?: Uint8Array;
18
+ }>>;
19
+ export declare const getResourceMapLegacy: (nodeList: ID2CNodeList) => Promise<Record<string, {
20
+ path: string;
21
+ src: string;
22
+ }>>;
23
+ export declare const htmlConfig: Options;
24
+ export declare const jsxConfig: Options;
25
+ export declare const tsxConfig: Options;
26
+ export declare const formatCode: (code: string, framework: string) => Promise<string>;
27
+ export declare const replaceCode: (code: string) => string;
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = 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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.replaceCode = exports.formatCode = exports.tsxConfig = exports.jsxConfig = exports.htmlConfig = exports.getResourceMapLegacy = exports.getResourceMapAdvanced = exports.getSystemSupportFileName = exports.traverse = void 0;
40
+ exports.getBase64 = getBase64;
41
+ exports.getBase64Optimized = getBase64Optimized;
42
+ const axios_1 = __importDefault(require("axios"));
43
+ const webpack_substitutions_1 = require("./webpack-substitutions");
44
+ const js_sha1_1 = require("js-sha1");
45
+ const prettier = __importStar(require("prettier"));
46
+ const traverse = (node, callback) => {
47
+ callback(node);
48
+ if (node.children) {
49
+ node.children.forEach((child) => (0, exports.traverse)(child, callback));
50
+ }
51
+ };
52
+ exports.traverse = traverse;
53
+ const getSystemSupportFileName = (name) => {
54
+ return name.replace(/[\\\\/:*?\\"<>|#%]/g, '').replace(/\s+/g, '');
55
+ };
56
+ exports.getSystemSupportFileName = getSystemSupportFileName;
57
+ function getBase64(url) {
58
+ if (!url) {
59
+ return Promise.resolve('');
60
+ }
61
+ return axios_1.default
62
+ .get(url, {
63
+ responseType: 'arraybuffer',
64
+ timeout: 10000,
65
+ maxContentLength: 10 * 1024 * 1024,
66
+ })
67
+ .then((response) => Buffer.from(response.data, 'binary').toString('base64'));
68
+ }
69
+ function getBase64Optimized(url, signal) {
70
+ if (!url) {
71
+ return Promise.resolve({ base64: '', uint8Array: new Uint8Array(0) });
72
+ }
73
+ return axios_1.default
74
+ .get(url, {
75
+ responseType: 'arraybuffer',
76
+ timeout: 20000,
77
+ maxContentLength: 10 * 1024 * 1024,
78
+ signal,
79
+ })
80
+ .then((response) => ({
81
+ base64: Buffer.from(response.data, 'binary').toString('base64'),
82
+ uint8Array: new Uint8Array(response.data),
83
+ }));
84
+ }
85
+ const resourceCache = new Map();
86
+ const getResourceMapAdvanced = async (nodeList, config, options = {}) => {
87
+ const { concurrency = 5, retries = 2, cacheSize = 100, timeout = 10000 } = options;
88
+ const { imageStoragePath, imageStorageNamingRule, imageStorageType } = config.imageSetting;
89
+ let webpackPathRule = imageStorageNamingRule;
90
+ if (!webpackPathRule.endsWith('.[ext]')) {
91
+ webpackPathRule += '.[ext]';
92
+ }
93
+ const imageNodes = nodeList.filter((node) => ['IMG', 'ICON'].includes(node.type) && 'src' in node && imageStorageType === 'local');
94
+ if (imageNodes.length === 0) {
95
+ return {};
96
+ }
97
+ if (resourceCache.size > cacheSize) {
98
+ const entriesToDelete = resourceCache.size - cacheSize + 10;
99
+ const keys = Array.from(resourceCache.keys());
100
+ for (let i = 0; i < entriesToDelete; i++) {
101
+ resourceCache.delete(keys[i]);
102
+ }
103
+ }
104
+ const uniqueUrls = [...new Set(imageNodes.map((node) => node.src))];
105
+ const semaphore = new Array(concurrency).fill(null);
106
+ let currentIndex = 0;
107
+ const downloadWithRetry = async (url) => {
108
+ if (resourceCache.has(url)) {
109
+ return { url, base64: resourceCache.get(url).base64, uint8Array: resourceCache.get(url).uint8Array };
110
+ }
111
+ for (let attempt = 0; attempt <= retries; attempt++) {
112
+ try {
113
+ const controller = new AbortController();
114
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
115
+ const { base64, uint8Array } = await getBase64Optimized(url, controller.signal);
116
+ clearTimeout(timeoutId);
117
+ resourceCache.set(url, { base64, uint8Array });
118
+ return { url, base64, uint8Array };
119
+ }
120
+ catch (error) {
121
+ if (attempt === retries) {
122
+ console.error(`Failed to download ${url} after ${retries + 1} attempts:`, error);
123
+ throw error;
124
+ }
125
+ await new Promise((resolve) => setTimeout(resolve, Math.pow(2, attempt) * 1000));
126
+ }
127
+ }
128
+ throw new Error(`Failed to download ${url}`);
129
+ };
130
+ const downloadWithConcurrencyControl = () => {
131
+ return new Promise((resolve, reject) => {
132
+ const tryDownload = () => {
133
+ if (currentIndex >= uniqueUrls.length) {
134
+ return;
135
+ }
136
+ const url = uniqueUrls[currentIndex++];
137
+ downloadWithRetry(url).then(resolve).catch(reject);
138
+ };
139
+ tryDownload();
140
+ });
141
+ };
142
+ const downloadPromises = semaphore.map(() => (async () => {
143
+ const results = [];
144
+ while (currentIndex < uniqueUrls.length) {
145
+ try {
146
+ const result = await downloadWithConcurrencyControl();
147
+ results.push(result);
148
+ }
149
+ catch (error) {
150
+ console.warn('Download failed:', error);
151
+ }
152
+ }
153
+ return results;
154
+ })());
155
+ const allResults = await Promise.all(downloadPromises);
156
+ const flatResults = allResults.flat();
157
+ const urlToBase64Map = new Map();
158
+ flatResults.forEach((result) => {
159
+ urlToBase64Map.set(result.url, { base64: result.base64, uint8Array: result.uint8Array });
160
+ });
161
+ const collection = {};
162
+ for (const node of imageNodes) {
163
+ const url = node.src;
164
+ const { base64, uint8Array } = urlToBase64Map.get(url) || { base64: '', uint8Array: new Uint8Array(0) };
165
+ if (!base64) {
166
+ console.warn(`Skipping node ${node.id} due to failed image download`);
167
+ continue;
168
+ }
169
+ const type = node.srcType === 'PNG' ? 'png' : 'svg';
170
+ const sanitizedName = (0, exports.getSystemSupportFileName)(node.name);
171
+ const name = (0, webpack_substitutions_1.replacePathVariables)(webpackPathRule, {
172
+ filename: [sanitizedName, type].join('.'),
173
+ chunk: {
174
+ id: node.id,
175
+ name: sanitizedName,
176
+ contentHash: {
177
+ [type]: (0, js_sha1_1.sha1)(base64).substring(0, 8),
178
+ },
179
+ },
180
+ contentHashType: type,
181
+ }, undefined);
182
+ const path = [imageStoragePath, name].join('/');
183
+ const obj = { path, src: url };
184
+ Object.defineProperties(obj, {
185
+ uint8Array: {
186
+ get: () => uint8Array,
187
+ },
188
+ base64: {
189
+ get: () => base64,
190
+ },
191
+ });
192
+ collection[node.id] = obj;
193
+ }
194
+ return collection;
195
+ };
196
+ exports.getResourceMapAdvanced = getResourceMapAdvanced;
197
+ const getResourceMapLegacy = async (nodeList) => {
198
+ const imageStoragePath = '.';
199
+ const imageStorageType = 'local';
200
+ const imageStorageNamingRule = '[name]_[contenthash:6]';
201
+ const collection = {};
202
+ for (const node of nodeList) {
203
+ if (['IMG', 'ICON'].includes(node.type) && 'src' in node) {
204
+ const type = node.srcType === 'PNG' ? 'png' : 'svg';
205
+ if (imageStorageType === 'local') {
206
+ let webpackPathRule = imageStorageNamingRule;
207
+ if (!webpackPathRule.endsWith('.[ext]')) {
208
+ webpackPathRule += '.[ext]';
209
+ }
210
+ const base64 = await getBase64(node.src);
211
+ const name = (0, webpack_substitutions_1.replacePathVariables)(webpackPathRule, {
212
+ filename: [(0, exports.getSystemSupportFileName)(node.name), type].join('.'),
213
+ chunk: {
214
+ id: node.id,
215
+ name: (0, exports.getSystemSupportFileName)(node.name),
216
+ contentHash: {
217
+ [type]: (0, js_sha1_1.sha1)(base64).substring(0, 8),
218
+ },
219
+ },
220
+ contentHashType: type,
221
+ }, undefined);
222
+ const path = [imageStoragePath, name].join('/');
223
+ collection[node.id] = { path, src: node.src };
224
+ }
225
+ }
226
+ }
227
+ return collection;
228
+ };
229
+ exports.getResourceMapLegacy = getResourceMapLegacy;
230
+ exports.htmlConfig = {
231
+ parser: 'html',
232
+ printWidth: 100,
233
+ tabWidth: 2,
234
+ useTabs: false,
235
+ semi: true,
236
+ singleQuote: false,
237
+ bracketSameLine: false,
238
+ htmlWhitespaceSensitivity: 'css',
239
+ endOfLine: 'lf',
240
+ };
241
+ exports.jsxConfig = {
242
+ parser: 'babel',
243
+ printWidth: 100,
244
+ tabWidth: 2,
245
+ useTabs: false,
246
+ semi: true,
247
+ singleQuote: true,
248
+ jsxSingleQuote: false,
249
+ bracketSameLine: false,
250
+ bracketSpacing: true,
251
+ arrowParens: 'avoid',
252
+ trailingComma: 'es5',
253
+ };
254
+ exports.tsxConfig = {
255
+ parser: 'typescript',
256
+ printWidth: 100,
257
+ tabWidth: 2,
258
+ useTabs: false,
259
+ semi: true,
260
+ singleQuote: true,
261
+ trailingComma: 'all',
262
+ };
263
+ const frameworkConfigMapper = {
264
+ html: exports.htmlConfig,
265
+ react: exports.tsxConfig,
266
+ };
267
+ const formatCode = async (code, framework) => {
268
+ const options = frameworkConfigMapper[framework] || exports.htmlConfig;
269
+ return await prettier.format(code, options);
270
+ };
271
+ exports.formatCode = formatCode;
272
+ const replaceCode = (code) => {
273
+ return code
274
+ ?.replace(/&quot;/g, `'`)
275
+ .replace(/&amp;/g, '&')
276
+ .replace(/&lt;/g, '<')
277
+ .replace(/&gt;/g, '>')
278
+ .replace(/<[^>]+\s(data-id|data-type|data-name)="[^"]*"/g, (match) => {
279
+ return match.replace(/\s(data-id|data-type|data-name)="[^"]*"/g, '');
280
+ })
281
+ .replace(/^\s+$/gm, '')
282
+ .replace(/\n+/g, '\n');
283
+ };
284
+ exports.replaceCode = replaceCode;
285
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const replacePathVariables: (path: any, data: any, assetInfo: any) => any;