html-to-gutenberg 4.2.8 → 4.2.10

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 (60) hide show
  1. package/.env.example +20 -0
  2. package/.eslintrc.json +35 -0
  3. package/.github/workflows/build.yml +26 -0
  4. package/.github/workflows/coverage.yml +26 -0
  5. package/.github/workflows/sync-npm.yml +154 -0
  6. package/.nyc_output/1f0406b8-bb70-495d-8f8a-521fdd81b500.json +1 -0
  7. package/.nyc_output/6390956f-4f8a-4adb-9256-4a1c7e34a52d.json +1 -0
  8. package/.nyc_output/processinfo/1f0406b8-bb70-495d-8f8a-521fdd81b500.json +1 -0
  9. package/.nyc_output/processinfo/6390956f-4f8a-4adb-9256-4a1c7e34a52d.json +1 -0
  10. package/.nyc_output/processinfo/index.json +1 -0
  11. package/@types.d.ts +3 -0
  12. package/coverage/coverage-final.json +4 -0
  13. package/coverage/lcov-report/base.css +224 -0
  14. package/coverage/lcov-report/block-navigation.js +87 -0
  15. package/coverage/lcov-report/prettify.css +1 -0
  16. package/coverage/lcov-report/prettify.js +2 -0
  17. package/coverage/lcov-report/sorter.js +210 -0
  18. package/coverage/lcov.info +198 -0
  19. package/coverage-demo.test.ts +8 -0
  20. package/dist/coverage-demo.test.js +10 -0
  21. package/dist/coverage-demo.test.js.map +1 -0
  22. package/dist/globals.js +24 -0
  23. package/dist/globals.js.map +1 -0
  24. package/dist/index.js +36 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/index.test.js +166 -0
  27. package/dist/index.test.js.map +1 -0
  28. package/dist/package.json +130 -0
  29. package/dist/snapapi-screenshot.test.js +44 -0
  30. package/dist/snapapi-screenshot.test.js.map +1 -0
  31. package/dist/src/coverage-demo.js +7 -0
  32. package/dist/src/coverage-demo.js.map +1 -0
  33. package/dist/src/utils-extra.test.js +137 -0
  34. package/dist/src/utils-extra.test.js.map +1 -0
  35. package/dist/src/utils.test.js +65 -0
  36. package/dist/src/utils.test.js.map +1 -0
  37. package/dist/tsconfig.tsbuildinfo +1 -0
  38. package/dist/utils.js +61 -0
  39. package/dist/utils.js.map +1 -0
  40. package/fetch-page-assets.test.ts +448 -0
  41. package/index.d.ts +173 -0
  42. package/index.js +628 -249
  43. package/index.test.ts +774 -0
  44. package/index.ts +155 -1530
  45. package/package.json +87 -15
  46. package/r2.js +163 -0
  47. package/readme.md +126 -72
  48. package/scripts/patch-fetch-page-assets.mjs +13 -0
  49. package/scripts/sync-from-npm.mjs +115 -0
  50. package/snapapi-screenshot.test.ts +46 -0
  51. package/src/coverage-demo.ts +3 -0
  52. package/src/utils-extra.test.ts +108 -0
  53. package/src/utils.test.ts +36 -0
  54. package/temp-block-test.js +19 -0
  55. package/tsconfig.json +25 -4
  56. package/utils.ts +56 -0
  57. package/vendor/fetch-page-assets/LICENSE.MD +21 -0
  58. package/vendor/fetch-page-assets/README.md +117 -0
  59. package/vendor/fetch-page-assets/index.js +362 -0
  60. package/vendor/fetch-page-assets/package.json +48 -0
@@ -0,0 +1,198 @@
1
+ TN:
2
+ SF:src/coverage-demo.ts
3
+ FN:1,add
4
+ FNF:1
5
+ FNH:0
6
+ FNDA:0,add
7
+ DA:1,0
8
+ DA:2,0
9
+ LF:2
10
+ LH:0
11
+ BRF:0
12
+ BRH:0
13
+ end_of_record
14
+ TN:
15
+ SF:src/utils-extra.test.ts
16
+ FN:4,(anonymous_9)
17
+ FN:5,(anonymous_10)
18
+ FN:8,(anonymous_11)
19
+ FN:14,(anonymous_12)
20
+ FN:19,(anonymous_13)
21
+ FN:20,(anonymous_14)
22
+ FN:26,(anonymous_15)
23
+ FN:29,(anonymous_16)
24
+ FN:32,(anonymous_17)
25
+ FN:40,(anonymous_18)
26
+ FN:41,(anonymous_19)
27
+ FN:44,(anonymous_20)
28
+ FN:47,(anonymous_21)
29
+ FN:50,(anonymous_22)
30
+ FN:55,(anonymous_23)
31
+ FN:56,(anonymous_24)
32
+ FN:59,(anonymous_25)
33
+ FN:62,(anonymous_26)
34
+ FN:65,(anonymous_27)
35
+ FN:70,(anonymous_28)
36
+ FN:71,(anonymous_29)
37
+ FN:74,(anonymous_30)
38
+ FN:77,(anonymous_31)
39
+ FN:80,(anonymous_32)
40
+ FN:85,(anonymous_33)
41
+ FN:86,(anonymous_34)
42
+ FN:89,(anonymous_35)
43
+ FN:92,(anonymous_36)
44
+ FN:97,(anonymous_37)
45
+ FN:98,(anonymous_38)
46
+ FN:101,(anonymous_39)
47
+ FN:104,(anonymous_40)
48
+ FNF:32
49
+ FNH:32
50
+ FNDA:1,(anonymous_9)
51
+ FNDA:1,(anonymous_10)
52
+ FNDA:1,(anonymous_11)
53
+ FNDA:1,(anonymous_12)
54
+ FNDA:1,(anonymous_13)
55
+ FNDA:1,(anonymous_14)
56
+ FNDA:1,(anonymous_15)
57
+ FNDA:1,(anonymous_16)
58
+ FNDA:1,(anonymous_17)
59
+ FNDA:1,(anonymous_18)
60
+ FNDA:1,(anonymous_19)
61
+ FNDA:1,(anonymous_20)
62
+ FNDA:1,(anonymous_21)
63
+ FNDA:1,(anonymous_22)
64
+ FNDA:1,(anonymous_23)
65
+ FNDA:1,(anonymous_24)
66
+ FNDA:1,(anonymous_25)
67
+ FNDA:1,(anonymous_26)
68
+ FNDA:1,(anonymous_27)
69
+ FNDA:1,(anonymous_28)
70
+ FNDA:1,(anonymous_29)
71
+ FNDA:1,(anonymous_30)
72
+ FNDA:1,(anonymous_31)
73
+ FNDA:1,(anonymous_32)
74
+ FNDA:1,(anonymous_33)
75
+ FNDA:1,(anonymous_34)
76
+ FNDA:1,(anonymous_35)
77
+ FNDA:1,(anonymous_36)
78
+ FNDA:1,(anonymous_37)
79
+ FNDA:1,(anonymous_38)
80
+ FNDA:1,(anonymous_39)
81
+ FNDA:1,(anonymous_40)
82
+ DA:1,1
83
+ DA:2,1
84
+ DA:4,1
85
+ DA:5,1
86
+ DA:6,1
87
+ DA:8,1
88
+ DA:9,1
89
+ DA:14,1
90
+ DA:15,1
91
+ DA:19,1
92
+ DA:20,1
93
+ DA:21,1
94
+ DA:22,1
95
+ DA:23,1
96
+ DA:24,1
97
+ DA:26,1
98
+ DA:27,1
99
+ DA:29,1
100
+ DA:30,1
101
+ DA:32,1
102
+ DA:33,1
103
+ DA:34,1
104
+ DA:35,1
105
+ DA:36,1
106
+ DA:40,1
107
+ DA:41,1
108
+ DA:42,1
109
+ DA:44,1
110
+ DA:45,1
111
+ DA:47,1
112
+ DA:48,1
113
+ DA:50,1
114
+ DA:51,1
115
+ DA:55,1
116
+ DA:56,1
117
+ DA:57,1
118
+ DA:59,1
119
+ DA:60,1
120
+ DA:62,1
121
+ DA:63,1
122
+ DA:65,1
123
+ DA:66,1
124
+ DA:70,1
125
+ DA:71,1
126
+ DA:72,1
127
+ DA:74,1
128
+ DA:75,1
129
+ DA:77,1
130
+ DA:78,1
131
+ DA:80,1
132
+ DA:81,1
133
+ DA:85,1
134
+ DA:86,1
135
+ DA:87,1
136
+ DA:89,1
137
+ DA:90,1
138
+ DA:92,1
139
+ DA:93,1
140
+ DA:97,1
141
+ DA:98,1
142
+ DA:99,1
143
+ DA:101,1
144
+ DA:102,1
145
+ DA:104,1
146
+ DA:105,1
147
+ DA:106,1
148
+ LF:66
149
+ LH:66
150
+ BRF:0
151
+ BRH:0
152
+ end_of_record
153
+ TN:
154
+ SF:src/utils.test.ts
155
+ FN:4,(anonymous_9)
156
+ FN:5,(anonymous_10)
157
+ FN:10,(anonymous_11)
158
+ FN:16,(anonymous_12)
159
+ FN:20,(anonymous_13)
160
+ FN:24,(anonymous_14)
161
+ FN:28,(anonymous_15)
162
+ FN:33,(anonymous_16)
163
+ FNF:8
164
+ FNH:8
165
+ FNDA:1,(anonymous_9)
166
+ FNDA:1,(anonymous_10)
167
+ FNDA:1,(anonymous_11)
168
+ FNDA:1,(anonymous_12)
169
+ FNDA:1,(anonymous_13)
170
+ FNDA:1,(anonymous_14)
171
+ FNDA:1,(anonymous_15)
172
+ FNDA:1,(anonymous_16)
173
+ DA:1,1
174
+ DA:2,1
175
+ DA:4,1
176
+ DA:5,1
177
+ DA:6,1
178
+ DA:7,1
179
+ DA:10,1
180
+ DA:11,1
181
+ DA:12,1
182
+ DA:13,1
183
+ DA:16,1
184
+ DA:17,1
185
+ DA:20,1
186
+ DA:21,1
187
+ DA:24,1
188
+ DA:25,1
189
+ DA:28,1
190
+ DA:29,1
191
+ DA:30,1
192
+ DA:33,1
193
+ DA:34,1
194
+ LF:21
195
+ LH:21
196
+ BRF:0
197
+ BRH:0
198
+ end_of_record
@@ -0,0 +1,8 @@
1
+ import { expect } from 'chai';
2
+ import { add } from './src/coverage-demo';
3
+
4
+ describe('add', () => {
5
+ it('adds two numbers', () => {
6
+ expect(add(2, 3)).to.equal(5);
7
+ });
8
+ });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const coverage_demo_1 = require("./src/coverage-demo");
5
+ describe('add', () => {
6
+ it('adds two numbers', () => {
7
+ (0, chai_1.expect)((0, coverage_demo_1.add)(2, 3)).to.equal(5);
8
+ });
9
+ });
10
+ //# sourceMappingURL=coverage-demo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-demo.test.js","sourceRoot":"","sources":["../coverage-demo.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,uDAA0C;AAE1C,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,IAAA,aAAM,EAAC,IAAA,mBAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.characters = exports.pageOptions = exports.userAgent = exports.browserOptions = exports.images = exports.imports = void 0;
4
+ exports.imports = `
5
+ const { registerBlockType } = wp.blocks;
6
+ const { RichText, MediaUpload, InspectorControls } = wp.blockEditor;
7
+ const { Panel, PanelBody, PanelRow, TextareaControl, ToggleControl, Button } = wp.components;
8
+ const { Fragment } = wp.element;
9
+ `;
10
+ exports.images = [];
11
+ exports.browserOptions = [
12
+ '--remote-debugging-port=9222',
13
+ '--no-first-run',
14
+ '--no-default-browser-check',
15
+ '--disable-background-timer-throttling',
16
+ '--disable-backgrounding-occluded-windows',
17
+ '--disable-renderer-backgrounding',
18
+ ];
19
+ exports.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36';
20
+ exports.pageOptions = {
21
+ waitUntil: 'networkidle2',
22
+ };
23
+ exports.characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
24
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../globals.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAW;;;;;CAK9B,CAAC;AAEW,QAAA,MAAM,GAAU,EAAE,CAAC;AAEnB,QAAA,cAAc,GAAa;IACtC,8BAA8B;IAC9B,gBAAgB;IAChB,4BAA4B;IAC5B,uCAAuC;IACvC,0CAA0C;IAC1C,kCAAkC;CACnC,CAAC;AAEW,QAAA,SAAS,GACpB,oHAAoH,CAAC;AAE1G,QAAA,WAAW,GAAiF;IACvG,SAAS,EAAE,cAAc;CAC1B,CAAC;AAEW,QAAA,UAAU,GAAW,sDAAsD,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.hasTailwindCdnSource = hasTailwindCdnSource;
7
+ exports.replaceSourceUrlVars = replaceSourceUrlVars;
8
+ // Utility functions exported for testing
9
+ function hasTailwindCdnSource(jsFiles) {
10
+ const tailwindCdnRegex = /https:\/\/(cdn\.tailwindcss\.com(\?[^"'\s]*)?|cdn\.jsdelivr\.net\/npm\/@tailwindcss\/browser@4(\.\d+){0,2})/;
11
+ return jsFiles.some((url) => tailwindCdnRegex.test(url));
12
+ }
13
+ function replaceSourceUrlVars(str, source) {
14
+ if (!source)
15
+ return str;
16
+ const escapedSource = String(source).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
17
+ const pattern = new RegExp(`var.url+'${escapedSource}([^']*)'`, 'g');
18
+ return str.replace(pattern, (match, path) => `\${vars.url}${path}`);
19
+ }
20
+ const package_json_1 = __importDefault(require("./package.json"));
21
+ const { version } = package_json_1.default;
22
+ const block = async (htmlContent, options = {
23
+ name: 'My block',
24
+ prefix: 'wp',
25
+ category: 'common',
26
+ basePath: process.cwd(),
27
+ shouldSaveFiles: true,
28
+ generateIconPreview: false,
29
+ jsFiles: [],
30
+ cssFiles: [],
31
+ source: null,
32
+ }) => {
33
+ // ...existing block implementation from index.js...
34
+ };
35
+ exports.default = block;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;AACA,oDAGC;AAED,oDAKC;AAXD,yCAAyC;AACzC,SAAgB,oBAAoB,CAAC,OAAiB;IACpD,MAAM,gBAAgB,GAAG,6GAA6G,CAAC;IACvI,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAW,EAAE,MAAW;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,YAAY,aAAa,UAAU,EAAE,GAAG,CAAC,CAAC;IACrE,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;AACtF,CAAC;AAeD,kEAAiC;AAUjC,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAG,CAAC;AAExB,MAAM,KAAK,GAAG,KAAK,EACjB,WAAmB,EACnB,UAUI;IACA,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;IACvB,eAAe,EAAE,IAAI;IACrB,mBAAmB,EAAE,KAAK;IAC1B,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,IAAI;CACb,EACH,EAAE;IACF,oDAAoD;AACtD,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -0,0 +1,166 @@
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
+ const utils = __importStar(require("./utils"));
37
+ const chai_1 = require("chai");
38
+ // Removed imports from index and globals to avoid ESM parsing errors
39
+ describe('utils.ts functions', () => {
40
+ it('hasTailwindCdnSource returns true for Tailwind CDN', () => {
41
+ (0, chai_1.expect)(utils.hasTailwindCdnSource(['https://cdn.tailwindcss.com'])).to.equal(true);
42
+ (0, chai_1.expect)(utils.hasTailwindCdnSource(['https://example.com'])).to.equal(false);
43
+ });
44
+ it('replaceSourceUrlVars returns input if no match', () => {
45
+ const str = "var.url+'http://site.com/path'";
46
+ const expected = "${vars.url}/path";
47
+ (0, chai_1.expect)(utils.replaceSourceUrlVars(str, 'http://site.com')).to.equal(expected);
48
+ });
49
+ it('sanitizeAndReplaceLeadingNumbers replaces leading numbers', () => {
50
+ (0, chai_1.expect)(utils.sanitizeAndReplaceLeadingNumbers('1test')).to.match(/one1test|1test/);
51
+ });
52
+ it('replaceUnderscoresSpacesAndUppercaseLetters replaces underscores and spaces', () => {
53
+ (0, chai_1.expect)(utils.replaceUnderscoresSpacesAndUppercaseLetters('Test_Name Here')).to.equal('test-name-here');
54
+ });
55
+ it('convertDashesSpacesAndUppercaseToUnderscoresAndLowercase converts correctly', () => {
56
+ (0, chai_1.expect)(utils.convertDashesSpacesAndUppercaseToUnderscoresAndLowercase('Test-Name Here')).to.equal('test_name_here');
57
+ });
58
+ it('hasAbsoluteKeyword detects absolute', () => {
59
+ (0, chai_1.expect)(utils.hasAbsoluteKeyword('absolute')).to.equal(true);
60
+ (0, chai_1.expect)(utils.hasAbsoluteKeyword('relative')).to.equal(false);
61
+ });
62
+ it('generateRandomVariableName returns string with prefix', () => {
63
+ (0, chai_1.expect)(utils.generateRandomVariableName('prefix')).to.match(/^prefix/);
64
+ });
65
+ // Additional coverage tests
66
+ describe('hasTailwindCdnSource edge cases', () => {
67
+ it('returns false for empty array', () => {
68
+ (0, chai_1.expect)(utils.hasTailwindCdnSource([])).to.equal(false);
69
+ });
70
+ it('returns true for multiple tailwind URLs', () => {
71
+ (0, chai_1.expect)(utils.hasTailwindCdnSource([
72
+ 'https://cdn.tailwindcss.com',
73
+ 'https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4.0.0'
74
+ ])).to.equal(true);
75
+ });
76
+ it('returns false for malformed URLs', () => {
77
+ (0, chai_1.expect)(utils.hasTailwindCdnSource(['not-a-url'])).to.equal(false);
78
+ });
79
+ });
80
+ describe('replaceSourceUrlVars edge cases', () => {
81
+ it('replaces matching pattern', () => {
82
+ const str = "var.url+'http://site.com/path'";
83
+ const source = 'http://site.com';
84
+ const expected = "${vars.url}/path";
85
+ (0, chai_1.expect)(utils.replaceSourceUrlVars(str, source)).to.contain(expected);
86
+ });
87
+ it('returns input for empty string', () => {
88
+ (0, chai_1.expect)(utils.replaceSourceUrlVars('', 'http://site.com')).to.equal('');
89
+ });
90
+ it('returns input for null source', () => {
91
+ (0, chai_1.expect)(utils.replaceSourceUrlVars("var.url+'http://site.com/path'", null)).to.equal("var.url+'http://site.com/path'");
92
+ });
93
+ it('replaces multiple matches', () => {
94
+ const str = "var.url+'http://site.com/a' and var.url+'http://site.com/b'";
95
+ const source = 'http://site.com';
96
+ const result = utils.replaceSourceUrlVars(str, source);
97
+ (0, chai_1.expect)(result.match(/\${vars\.url}/g)?.length).to.be.greaterThanOrEqual(2);
98
+ });
99
+ });
100
+ describe('sanitizeAndReplaceLeadingNumbers edge cases', () => {
101
+ it('returns input for no numbers', () => {
102
+ (0, chai_1.expect)(utils.sanitizeAndReplaceLeadingNumbers('test')).to.equal('test');
103
+ });
104
+ it('handles multiple leading numbers', () => {
105
+ (0, chai_1.expect)(utils.sanitizeAndReplaceLeadingNumbers('123abc')).to.match(/one1two2three3abc|123abc/);
106
+ });
107
+ it('handles only numbers', () => {
108
+ (0, chai_1.expect)(utils.sanitizeAndReplaceLeadingNumbers('123')).to.match(/one1two2three3|123/);
109
+ });
110
+ it('handles special characters', () => {
111
+ (0, chai_1.expect)(utils.sanitizeAndReplaceLeadingNumbers('1_test')).to.match(/one1test|1test/);
112
+ });
113
+ });
114
+ describe('replaceUnderscoresSpacesAndUppercaseLetters edge cases', () => {
115
+ it('handles only underscores', () => {
116
+ (0, chai_1.expect)(utils.replaceUnderscoresSpacesAndUppercaseLetters('___')).to.equal('---');
117
+ });
118
+ it('handles only spaces', () => {
119
+ (0, chai_1.expect)(utils.replaceUnderscoresSpacesAndUppercaseLetters(' ')).to.equal('---');
120
+ });
121
+ it('handles mixed cases', () => {
122
+ (0, chai_1.expect)(utils.replaceUnderscoresSpacesAndUppercaseLetters('Test_Name Here')).to.equal('test-name-here');
123
+ });
124
+ it('handles empty string', () => {
125
+ (0, chai_1.expect)(utils.replaceUnderscoresSpacesAndUppercaseLetters('')).to.equal('');
126
+ });
127
+ });
128
+ describe('convertDashesSpacesAndUppercaseToUnderscoresAndLowercase edge cases', () => {
129
+ it('handles only dashes', () => {
130
+ (0, chai_1.expect)(utils.convertDashesSpacesAndUppercaseToUnderscoresAndLowercase('---')).to.equal('___');
131
+ });
132
+ it('handles only spaces', () => {
133
+ (0, chai_1.expect)(utils.convertDashesSpacesAndUppercaseToUnderscoresAndLowercase(' ')).to.equal('___');
134
+ });
135
+ it('handles mixed cases', () => {
136
+ (0, chai_1.expect)(utils.convertDashesSpacesAndUppercaseToUnderscoresAndLowercase('Test-Name Here')).to.equal('test_name_here');
137
+ });
138
+ it('handles empty string', () => {
139
+ (0, chai_1.expect)(utils.convertDashesSpacesAndUppercaseToUnderscoresAndLowercase('')).to.equal('');
140
+ });
141
+ });
142
+ describe('hasAbsoluteKeyword edge cases', () => {
143
+ it('detects uppercase', () => {
144
+ (0, chai_1.expect)(utils.hasAbsoluteKeyword('ABSOLUTE')).to.equal(true);
145
+ });
146
+ it('returns false for empty string', () => {
147
+ (0, chai_1.expect)(utils.hasAbsoluteKeyword('')).to.equal(false);
148
+ });
149
+ it('returns false for empty string', () => {
150
+ (0, chai_1.expect)(utils.hasAbsoluteKeyword('')).to.equal(false);
151
+ });
152
+ });
153
+ describe('generateRandomVariableName edge cases', () => {
154
+ it('returns prefix only for length 0', () => {
155
+ (0, chai_1.expect)(utils.generateRandomVariableName('prefix', 0)).to.equal('prefix');
156
+ });
157
+ it('returns only random part for empty prefix', () => {
158
+ (0, chai_1.expect)(utils.generateRandomVariableName('', 3)).to.match(/^[a-z]{3}$/);
159
+ });
160
+ it('returns correct length', () => {
161
+ const result = utils.generateRandomVariableName('pre', 5);
162
+ (0, chai_1.expect)(result.length).to.equal(8);
163
+ });
164
+ });
165
+ });
166
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ {
2
+ "dependencies": {
3
+ "@babel/core": "^7.29.0",
4
+ "@babel/preset-react": "^7.28.5",
5
+ "@svgr/core": "^8.1.0",
6
+ "cheerio": "^1.2.0",
7
+ "css-scoping": "^1.0.5",
8
+ "dotenv": "^17.3.1",
9
+ "fetch-page-assets": "^1.2.7",
10
+ "fs": "^0.0.1-security",
11
+ "node-fetch": "^3.3.2",
12
+ "node-html-to-jsx": "^1.4.4",
13
+ "path": "^0.12.7"
14
+ },
15
+ "devDependencies": {
16
+ "@eslint/js": "^10.0.1",
17
+ "@types/babel__core": "^7.20.5",
18
+ "@types/beautify": "^0.0.3",
19
+ "@types/chai": "^5.2.3",
20
+ "@types/cheerio": "^1.0.0",
21
+ "@types/image-to-base64": "^2.1.2",
22
+ "@types/mocha": "^10.0.10",
23
+ "@types/prettier": "^3.0.0",
24
+ "@types/svgo": "^3.0.0",
25
+ "@typescript-eslint/eslint-plugin": "^8.56.1",
26
+ "@typescript-eslint/parser": "^8.56.1",
27
+ "chai": "^6.2.2",
28
+ "coveralls": "^3.1.1",
29
+ "eslint": "^10.0.2",
30
+ "mocha": "^11.3.0",
31
+ "nyc": "^18.0.0",
32
+ "source-map-support": "^0.5.21",
33
+ "ts-jest": "^29.4.6",
34
+ "ts-node": "^10.9.2",
35
+ "typescript-eslint": "^8.56.1"
36
+ },
37
+ "types": "index.ts",
38
+ "name": "html-to-gutenberg",
39
+ "version": "4.2.8",
40
+ "description": "Transform any valid HTML string into fully editable WP Gutenberg blocks in seconds rather than hours.",
41
+ "main": "index.js",
42
+ "directories": {
43
+ "test": "test"
44
+ },
45
+ "scripts": {
46
+ "postinstall": "mv ./node_modules/fetch-page-assets/index.ts ./node_modules/fetch-page-assets/index.ts.bak || true",
47
+ "test": "mocha -r ts-node/register index.test.ts",
48
+ "build": "tsc",
49
+ "coverage": "nyc mocha -r ts-node/register index.test.ts",
50
+ "coveralls": "nyc mocha -r ts-node/register index.test.ts && nyc report --reporter=lcov && cat coverage/lcov.info | coveralls"
51
+ },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git+https://github.com/DiogoAngelim/html-to-gutenberg.git"
55
+ },
56
+ "keywords": [
57
+ "frontend",
58
+ "gutenberg",
59
+ "html",
60
+ "wordpress",
61
+ "wp",
62
+ "jsx",
63
+ "converter",
64
+ "template",
65
+ "block",
66
+ "UI"
67
+ ],
68
+ "author": "Diogo Angelim",
69
+ "license": "MIT",
70
+ "funding": "https://www.paypal.com/donate/?hosted_button_id=XA5LN4XR39PMQ",
71
+ "bugs": {
72
+ "url": "https://github.com/DiogoAngelim/html-to-gutenberg/issues"
73
+ },
74
+ "homepage": "https://www.html-to-gutenberg.io",
75
+ "nyc": {
76
+ "reporter": [
77
+ "lcov",
78
+ "text"
79
+ ],
80
+ "exclude": [
81
+ "coverage"
82
+ ],
83
+ "include": [
84
+ "src/*.ts",
85
+ "src/**/*.ts"
86
+ ],
87
+ "extension": [
88
+ ".ts",
89
+ ".js"
90
+ ],
91
+ "all": true,
92
+ "sourceMap": true,
93
+ "instrument": true,
94
+ "require": [
95
+ "ts-node/register"
96
+ ]
97
+ },
98
+ "jest": {
99
+ "preset": "ts-jest/presets/js-with-ts",
100
+ "testEnvironment": "node",
101
+ "extensionsToTreatAsEsm": [
102
+ ".ts"
103
+ ],
104
+ "transform": {
105
+ "^.+\\.tsx?$": [
106
+ "ts-jest",
107
+ {
108
+ "useESM": true
109
+ }
110
+ ]
111
+ },
112
+ "globals": {
113
+ "ts-jest": {
114
+ "tsconfig": "tsconfig.json",
115
+ "useESM": true
116
+ }
117
+ },
118
+ "moduleNameMapper": {
119
+ "^(\\.{1,2}/.*)\\.js$": "$1"
120
+ },
121
+ "collectCoverage": true,
122
+ "collectCoverageFrom": [
123
+ "dist/*.js",
124
+ "!dist/*.test.js"
125
+ ],
126
+ "testMatch": [
127
+ "<rootDir>/dist/*.test.js"
128
+ ]
129
+ }
130
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chai_1 = require("chai");
7
+ const index_js_1 = __importDefault(require("./index.js"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const dotenv_1 = __importDefault(require("dotenv"));
11
+ dotenv_1.default.config();
12
+ describe('block screenshot integration', () => {
13
+ const testHtml = '<html><body><h1>SnapAPI Test</h1></body></html>';
14
+ const testOptions = {
15
+ name: 'SnapAPITestBlock',
16
+ prefix: 'wp',
17
+ category: 'common',
18
+ basePath: process.cwd(),
19
+ shouldSaveFiles: true,
20
+ generateIconPreview: true,
21
+ jsFiles: [],
22
+ cssFiles: [],
23
+ source: 'https://example.com',
24
+ };
25
+ const previewPath = path_1.default.join(testOptions.basePath, 'snapapitestblock', 'preview.jpeg');
26
+ after(function () {
27
+ if (fs_1.default.existsSync(previewPath)) {
28
+ fs_1.default.unlinkSync(previewPath);
29
+ // Use fs.rmSync for recursive directory removal in Node >=14
30
+ const dir = path_1.default.dirname(previewPath);
31
+ if (fs_1.default.existsSync(dir)) {
32
+ fs_1.default.rmSync(dir, { recursive: true, force: true });
33
+ }
34
+ }
35
+ });
36
+ it('should generate a preview.jpeg using SnapAPI', async function () {
37
+ this.timeout(15000); // Allow time for API call
38
+ await (0, index_js_1.default)(testHtml, testOptions);
39
+ (0, chai_1.expect)(fs_1.default.existsSync(previewPath)).to.equal(true);
40
+ const stats = fs_1.default.statSync(previewPath);
41
+ (0, chai_1.expect)(stats.size).to.be.greaterThan(1000); // Should not be empty
42
+ });
43
+ });
44
+ //# sourceMappingURL=snapapi-screenshot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapapi-screenshot.test.js","sourceRoot":"","sources":["../snapapi-screenshot.test.ts"],"names":[],"mappings":";;;;;AAAA,+BAA8B;AAC9B,0DAA+B;AAC/B,4CAAoB;AACpB,gDAAwB;AACxB,oDAA4B;AAE5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,QAAQ,GAAG,iDAAiD,CAAC;IACnE,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;QACvB,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI;QACzB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,qBAAqB;KAC9B,CAAC;IACF,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAC3B,WAAW,CAAC,QAAQ,EACpB,kBAAkB,EAClB,cAAc,CACf,CAAC;IAEF,KAAK,CAAC;QACJ,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC3B,6DAA6D;YAC7D,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,YAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK;QACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B;QAC/C,MAAM,IAAA,kBAAK,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnC,IAAA,aAAM,EAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.add = add;
4
+ function add(a, b) {
5
+ return a + b;
6
+ }
7
+ //# sourceMappingURL=coverage-demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-demo.js","sourceRoot":"","sources":["../../src/coverage-demo.ts"],"names":[],"mappings":";;AAAA,kBAEC;AAFD,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}