@bloklabs/cli 1.2.5 → 1.2.6

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/dist/cli.mjs CHANGED
@@ -41,14 +41,14 @@ var t = "# Migrating from EditorJS to Blok\n\nThis guide covers the breaking cha
41
41
  case "convert-html": {
42
42
  let e = new (await (import("jsdom"))).JSDOM("");
43
43
  globalThis.DOMParser = e.window.DOMParser, globalThis.Node = e.window.Node;
44
- let { convertHtml: t } = await import("./convert-html-GFOTARll.mjs");
44
+ let { convertHtml: t } = await import("./convert-html-C_XAR-3k.mjs");
45
45
  r(t((await import("node:fs")).readFileSync("/dev/stdin", "utf-8")), s);
46
46
  break;
47
47
  }
48
48
  case "convert-gdocs": {
49
49
  let e = new (await (import("jsdom"))).JSDOM("");
50
50
  globalThis.DOMParser = e.window.DOMParser, globalThis.Node = e.window.Node, globalThis.document = e.window.document;
51
- let { convertGdocs: t } = await import("./convert-gdocs-BhHRt3Cx.mjs");
51
+ let { convertGdocs: t } = await import("./convert-gdocs-CBRViTQf.mjs");
52
52
  r(t((await import("node:fs")).readFileSync("/dev/stdin", "utf-8")), s);
53
53
  break;
54
54
  }
@@ -1,16 +1,19 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./block-builder-B_eFe3eS.mjs";
2
+ //#region src/components/modules/paste/constants.ts
3
+ var o = "data-blok-columns-candidate";
4
+ //#endregion
2
5
  //#region src/components/modules/paste/google-docs-preprocessor.ts
3
- function o(e) {
6
+ function s(e) {
4
7
  let t = document.createElement("div");
5
8
  t.innerHTML = e;
6
- let n = p(t);
7
- return T(t, n), n && (D(t), f(t)), t.innerHTML;
9
+ let n = m(t);
10
+ return E(t, n), n && (O(t), k(t), p(t)), t.innerHTML;
8
11
  }
9
- function s(e, t) {
12
+ function c(e, t) {
10
13
  let n = e.parentElement;
11
- return n === null ? null : n === t ? e : s(n, t);
14
+ return n === null ? null : n === t ? e : c(n, t);
12
15
  }
13
- function c(e, t, n) {
16
+ function l(e, t, n) {
14
17
  let r = e.cloneNode(!1), i = [];
15
18
  for (let n of Array.from(e.childNodes)) {
16
19
  if (n === t) break;
@@ -18,11 +21,11 @@ function c(e, t, n) {
18
21
  }
19
22
  return i.forEach((e) => r.appendChild(e)), n !== null && r.appendChild(n), r.childNodes.length > 0 ? r : null;
20
23
  }
21
- function l(e, t, n) {
24
+ function u(e, t, n) {
22
25
  let r = e.cloneNode(!1), i = Array.from(e.childNodes), a = i.findIndex((e) => e === t), o = i.slice(a + 1);
23
26
  return n !== null && r.appendChild(n), o.forEach((e) => r.appendChild(e)), r.childNodes.length > 0 ? r : null;
24
27
  }
25
- function u(e, t) {
28
+ function d(e, t) {
26
29
  let n = (e, r, i) => {
27
30
  if (e === t) return {
28
31
  before: r,
@@ -32,44 +35,44 @@ function u(e, t) {
32
35
  return a === null ? {
33
36
  before: r,
34
37
  after: i
35
- } : n(a, c(a, e, r), l(a, e, i));
38
+ } : n(a, l(a, e, r), u(a, e, i));
36
39
  };
37
40
  return n(e, null, null);
38
41
  }
39
- function d(e, t) {
42
+ function f(e, t) {
40
43
  let n = e.parentElement;
41
- return n === null || n === t ? !1 : n.tagName === "TABLE" ? !0 : d(n, t);
44
+ return n === null || n === t ? !1 : n.tagName === "TABLE" ? !0 : f(n, t);
42
45
  }
43
- function f(e) {
46
+ function p(e) {
44
47
  let t = Array.from(e.querySelectorAll("img"));
45
48
  for (let n of t) {
46
- if (d(n, e)) continue;
47
- let t = s(n, e);
49
+ if (f(n, e)) continue;
50
+ let t = c(n, e);
48
51
  if (!t) continue;
49
- let { before: r, after: i } = u(n, t), a = document.createDocumentFragment();
52
+ let { before: r, after: i } = d(n, t), a = document.createDocumentFragment();
50
53
  r && a.appendChild(r), a.appendChild(n), i && a.appendChild(i), t.replaceWith(a);
51
54
  }
52
55
  }
53
- function p(e) {
56
+ function m(e) {
54
57
  let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
55
58
  if (!t) return !1;
56
59
  let n = document.createDocumentFragment();
57
60
  for (; t.firstChild;) n.appendChild(t.firstChild);
58
61
  return t.replaceWith(n), !0;
59
62
  }
60
- function m(e, t, n) {
63
+ function h(e, t, n) {
61
64
  return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
62
65
  }
63
- function h(e) {
66
+ function g(e) {
64
67
  let t = e.replace(/\s/g, "");
65
68
  return t === "rgb(0,0,0)" || t === "#000000";
66
69
  }
67
- function g(e) {
70
+ function _(e) {
68
71
  if (e.closest("a") !== null) return !0;
69
72
  let t = e.querySelector("a");
70
73
  return t !== null && t.textContent?.trim() === e.textContent?.trim();
71
74
  }
72
- function _(e) {
75
+ function v(e) {
73
76
  let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
74
77
  if (n) {
75
78
  let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
@@ -100,17 +103,17 @@ function _(e) {
100
103
  }
101
104
  return -1;
102
105
  }
103
- var v = r, y = e;
104
- function b(e) {
105
- let t = _(e);
106
+ var y = r, b = e;
107
+ function x(e) {
108
+ let t = v(e);
106
109
  return t >= 0 && t > .75;
107
110
  }
108
- function x(e, n, r, i, a) {
111
+ function S(e, n, r, i, a) {
109
112
  if (!n && !r) return e;
110
- let o = n && i !== void 0 ? t(i, "text") : "", s = r && a !== void 0 ? t(a, "bg") : "", c = [n ? `color: ${o}` : "", m(r, n, s)].filter(Boolean).join("; ");
113
+ let o = n && i !== void 0 ? t(i, "text") : "", s = r && a !== void 0 ? t(a, "bg") : "", c = [n ? `color: ${o}` : "", h(r, n, s)].filter(Boolean).join("; ");
111
114
  return c ? `<mark style="${c};">${e}</mark>` : e;
112
115
  }
113
- var S = new Set([
116
+ var C = new Set([
114
117
  "H1",
115
118
  "H2",
116
119
  "H3",
@@ -118,30 +121,39 @@ var S = new Set([
118
121
  "H5",
119
122
  "H6"
120
123
  ]);
121
- function C(e) {
124
+ function w(e) {
122
125
  let t = e.parentElement;
123
- return t === null ? !1 : S.has(t.tagName) ? !0 : C(t);
126
+ return t === null ? !1 : C.has(t.tagName) ? !0 : w(t);
124
127
  }
125
- function w(e, t) {
126
- let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n) && !C(e), i = /font-style\s*:\s*italic/i.test(n), a = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), o = /background-color\s*:\s*([^;]+)/i.exec(n), s = a?.[1]?.trim(), c = o?.[1]?.trim(), l = !(s !== void 0 && g(e)) && (t ? s !== void 0 && !h(s) : s !== void 0 && !h(s) && !b(s)), u = c !== void 0 && c !== "transparent" && !v(c) && !y(c);
128
+ function T(e, t) {
129
+ let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n) && !w(e), i = /font-style\s*:\s*italic/i.test(n), a = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), o = /background-color\s*:\s*([^;]+)/i.exec(n), s = a?.[1]?.trim(), c = o?.[1]?.trim(), l = !(s !== void 0 && _(e)) && (t ? s !== void 0 && !g(s) : s !== void 0 && !g(s) && !x(s)), u = c !== void 0 && c !== "transparent" && !y(c) && !b(c);
127
130
  if (!r && !i && !l && !u) return null;
128
- let d = x(e.innerHTML, l, u, s, c), f = i ? `<i>${d}</i>` : d;
131
+ let d = S(e.innerHTML, l, u, s, c), f = i ? `<i>${d}</i>` : d;
129
132
  return r ? `<b>${f}</b>` : f;
130
133
  }
131
- function T(e, t) {
134
+ function E(e, t) {
132
135
  for (let n of Array.from(e.querySelectorAll("span[style]"))) {
133
- let e = w(n, t);
136
+ let e = T(n, t);
134
137
  e !== null && n.replaceWith(document.createRange().createContextualFragment(e));
135
138
  }
136
- t && E(e);
139
+ t && D(e);
137
140
  }
138
- function E(e) {
141
+ function D(e) {
139
142
  for (let n of Array.from(e.querySelectorAll("a[style]"))) {
140
143
  let e = n.getAttribute("style") ?? "", r = /background-color\s*:\s*([^;]+)/i.exec(e)?.[1]?.trim(), i = r !== void 0 && r !== "transparent" && r !== "inherit", a = n;
141
144
  a.style.removeProperty("color"), i && (a.innerHTML = `<mark style="background-color: ${t(r, "bg")};">${a.innerHTML}</mark>`, a.style.removeProperty("background-color"));
142
145
  }
143
146
  }
144
- function D(e) {
147
+ function O(e) {
148
+ if (e.querySelector("google-sheets-html-origin") === null) for (let t of Array.from(e.querySelectorAll("table"))) {
149
+ if (t.parentElement?.closest("table") !== null) continue;
150
+ let e = Array.from(t.querySelectorAll("tr")).filter((e) => e.closest("table") === t);
151
+ if (e.length === 0) continue;
152
+ let n = e.map((e) => Array.from(e.children).filter((e) => e.tagName === "TD" || e.tagName === "TH").length), r = n[0];
153
+ n.every((e) => e === r) && (r === 2 || r === 3) && t.setAttribute(o, "");
154
+ }
155
+ }
156
+ function k(e) {
145
157
  for (let t of Array.from(e.querySelectorAll("td, th"))) {
146
158
  let e = t.querySelectorAll("p");
147
159
  if (e.length !== 0) {
@@ -155,14 +167,14 @@ function D(e) {
155
167
  }
156
168
  //#endregion
157
169
  //#region src/cli/commands/convert-gdocs/index.ts
158
- function O(e) {
159
- let t = o(e), r = new DOMParser().parseFromString(t, "text/html").body;
170
+ function A(e) {
171
+ let t = s(e), r = new DOMParser().parseFromString(t, "text/html").body;
160
172
  i(r), n(r);
161
- let s = {
173
+ let o = {
162
174
  version: "1.2.5",
163
175
  blocks: a(r)
164
176
  };
165
- return JSON.stringify(s);
177
+ return JSON.stringify(o);
166
178
  }
167
179
  //#endregion
168
- export { O as convertGdocs };
180
+ export { A as convertGdocs };
@@ -1,16 +1,19 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./block-builder-B_eFe3eS.mjs";
2
+ //#region src/components/modules/paste/constants.ts
3
+ var o = "data-blok-columns-candidate";
4
+ //#endregion
2
5
  //#region src/components/modules/paste/google-docs-preprocessor.ts
3
- function o(e) {
6
+ function s(e) {
4
7
  let t = document.createElement("div");
5
8
  t.innerHTML = e;
6
- let n = p(t);
7
- return T(t, n), n && (D(t), f(t)), t.innerHTML;
9
+ let n = m(t);
10
+ return E(t, n), n && (O(t), k(t), p(t)), t.innerHTML;
8
11
  }
9
- function s(e, t) {
12
+ function c(e, t) {
10
13
  let n = e.parentElement;
11
- return n === null ? null : n === t ? e : s(n, t);
14
+ return n === null ? null : n === t ? e : c(n, t);
12
15
  }
13
- function c(e, t, n) {
16
+ function l(e, t, n) {
14
17
  let r = e.cloneNode(!1), i = [];
15
18
  for (let n of Array.from(e.childNodes)) {
16
19
  if (n === t) break;
@@ -18,11 +21,11 @@ function c(e, t, n) {
18
21
  }
19
22
  return i.forEach((e) => r.appendChild(e)), n !== null && r.appendChild(n), r.childNodes.length > 0 ? r : null;
20
23
  }
21
- function l(e, t, n) {
24
+ function u(e, t, n) {
22
25
  let r = e.cloneNode(!1), i = Array.from(e.childNodes), a = i.findIndex((e) => e === t), o = i.slice(a + 1);
23
26
  return n !== null && r.appendChild(n), o.forEach((e) => r.appendChild(e)), r.childNodes.length > 0 ? r : null;
24
27
  }
25
- function u(e, t) {
28
+ function d(e, t) {
26
29
  let n = (e, r, i) => {
27
30
  if (e === t) return {
28
31
  before: r,
@@ -32,44 +35,44 @@ function u(e, t) {
32
35
  return a === null ? {
33
36
  before: r,
34
37
  after: i
35
- } : n(a, c(a, e, r), l(a, e, i));
38
+ } : n(a, l(a, e, r), u(a, e, i));
36
39
  };
37
40
  return n(e, null, null);
38
41
  }
39
- function d(e, t) {
42
+ function f(e, t) {
40
43
  let n = e.parentElement;
41
- return n === null || n === t ? !1 : n.tagName === "TABLE" ? !0 : d(n, t);
44
+ return n === null || n === t ? !1 : n.tagName === "TABLE" ? !0 : f(n, t);
42
45
  }
43
- function f(e) {
46
+ function p(e) {
44
47
  let t = Array.from(e.querySelectorAll("img"));
45
48
  for (let n of t) {
46
- if (d(n, e)) continue;
47
- let t = s(n, e);
49
+ if (f(n, e)) continue;
50
+ let t = c(n, e);
48
51
  if (!t) continue;
49
- let { before: r, after: i } = u(n, t), a = document.createDocumentFragment();
52
+ let { before: r, after: i } = d(n, t), a = document.createDocumentFragment();
50
53
  r && a.appendChild(r), a.appendChild(n), i && a.appendChild(i), t.replaceWith(a);
51
54
  }
52
55
  }
53
- function p(e) {
56
+ function m(e) {
54
57
  let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
55
58
  if (!t) return !1;
56
59
  let n = document.createDocumentFragment();
57
60
  for (; t.firstChild;) n.appendChild(t.firstChild);
58
61
  return t.replaceWith(n), !0;
59
62
  }
60
- function m(e, t, n) {
63
+ function h(e, t, n) {
61
64
  return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
62
65
  }
63
- function h(e) {
66
+ function g(e) {
64
67
  let t = e.replace(/\s/g, "");
65
68
  return t === "rgb(0,0,0)" || t === "#000000";
66
69
  }
67
- function g(e) {
70
+ function _(e) {
68
71
  if (e.closest("a") !== null) return !0;
69
72
  let t = e.querySelector("a");
70
73
  return t !== null && t.textContent?.trim() === e.textContent?.trim();
71
74
  }
72
- function _(e) {
75
+ function v(e) {
73
76
  let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
74
77
  if (n) {
75
78
  let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
@@ -100,17 +103,17 @@ function _(e) {
100
103
  }
101
104
  return -1;
102
105
  }
103
- var v = r, y = e;
104
- function b(e) {
105
- let t = _(e);
106
+ var y = r, b = e;
107
+ function x(e) {
108
+ let t = v(e);
106
109
  return t >= 0 && t > .75;
107
110
  }
108
- function x(e, n, r, i, a) {
111
+ function S(e, n, r, i, a) {
109
112
  if (!n && !r) return e;
110
- let o = n && i !== void 0 ? t(i, "text") : "", s = r && a !== void 0 ? t(a, "bg") : "", c = [n ? `color: ${o}` : "", m(r, n, s)].filter(Boolean).join("; ");
113
+ let o = n && i !== void 0 ? t(i, "text") : "", s = r && a !== void 0 ? t(a, "bg") : "", c = [n ? `color: ${o}` : "", h(r, n, s)].filter(Boolean).join("; ");
111
114
  return c ? `<mark style="${c};">${e}</mark>` : e;
112
115
  }
113
- var S = new Set([
116
+ var C = new Set([
114
117
  "H1",
115
118
  "H2",
116
119
  "H3",
@@ -118,30 +121,39 @@ var S = new Set([
118
121
  "H5",
119
122
  "H6"
120
123
  ]);
121
- function C(e) {
124
+ function w(e) {
122
125
  let t = e.parentElement;
123
- return t === null ? !1 : S.has(t.tagName) ? !0 : C(t);
126
+ return t === null ? !1 : C.has(t.tagName) ? !0 : w(t);
124
127
  }
125
- function w(e, t) {
126
- let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n) && !C(e), i = /font-style\s*:\s*italic/i.test(n), a = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), o = /background-color\s*:\s*([^;]+)/i.exec(n), s = a?.[1]?.trim(), c = o?.[1]?.trim(), l = !(s !== void 0 && g(e)) && (t ? s !== void 0 && !h(s) : s !== void 0 && !h(s) && !b(s)), u = c !== void 0 && c !== "transparent" && !v(c) && !y(c);
128
+ function T(e, t) {
129
+ let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n) && !w(e), i = /font-style\s*:\s*italic/i.test(n), a = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), o = /background-color\s*:\s*([^;]+)/i.exec(n), s = a?.[1]?.trim(), c = o?.[1]?.trim(), l = !(s !== void 0 && _(e)) && (t ? s !== void 0 && !g(s) : s !== void 0 && !g(s) && !x(s)), u = c !== void 0 && c !== "transparent" && !y(c) && !b(c);
127
130
  if (!r && !i && !l && !u) return null;
128
- let d = x(e.innerHTML, l, u, s, c), f = i ? `<i>${d}</i>` : d;
131
+ let d = S(e.innerHTML, l, u, s, c), f = i ? `<i>${d}</i>` : d;
129
132
  return r ? `<b>${f}</b>` : f;
130
133
  }
131
- function T(e, t) {
134
+ function E(e, t) {
132
135
  for (let n of Array.from(e.querySelectorAll("span[style]"))) {
133
- let e = w(n, t);
136
+ let e = T(n, t);
134
137
  e !== null && n.replaceWith(document.createRange().createContextualFragment(e));
135
138
  }
136
- t && E(e);
139
+ t && D(e);
137
140
  }
138
- function E(e) {
141
+ function D(e) {
139
142
  for (let n of Array.from(e.querySelectorAll("a[style]"))) {
140
143
  let e = n.getAttribute("style") ?? "", r = /background-color\s*:\s*([^;]+)/i.exec(e)?.[1]?.trim(), i = r !== void 0 && r !== "transparent" && r !== "inherit", a = n;
141
144
  a.style.removeProperty("color"), i && (a.innerHTML = `<mark style="background-color: ${t(r, "bg")};">${a.innerHTML}</mark>`, a.style.removeProperty("background-color"));
142
145
  }
143
146
  }
144
- function D(e) {
147
+ function O(e) {
148
+ if (e.querySelector("google-sheets-html-origin") === null) for (let t of Array.from(e.querySelectorAll("table"))) {
149
+ if (t.parentElement?.closest("table") !== null) continue;
150
+ let e = Array.from(t.querySelectorAll("tr")).filter((e) => e.closest("table") === t);
151
+ if (e.length === 0) continue;
152
+ let n = e.map((e) => Array.from(e.children).filter((e) => e.tagName === "TD" || e.tagName === "TH").length), r = n[0];
153
+ n.every((e) => e === r) && (r === 2 || r === 3) && t.setAttribute(o, "");
154
+ }
155
+ }
156
+ function k(e) {
145
157
  for (let t of Array.from(e.querySelectorAll("td, th"))) {
146
158
  let e = t.querySelectorAll("p");
147
159
  if (e.length !== 0) {
@@ -155,14 +167,14 @@ function D(e) {
155
167
  }
156
168
  //#endregion
157
169
  //#region src/cli/commands/convert-gdocs/index.ts
158
- function O(e) {
159
- let t = o(e), r = new DOMParser().parseFromString(t, "text/html").body;
170
+ function A(e) {
171
+ let t = s(e), r = new DOMParser().parseFromString(t, "text/html").body;
160
172
  i(r), n(r);
161
- let s = {
162
- version: "1.2.4",
173
+ let o = {
174
+ version: "1.2.6",
163
175
  blocks: a(r)
164
176
  };
165
- return JSON.stringify(s);
177
+ return JSON.stringify(o);
166
178
  }
167
179
  //#endregion
168
- export { O as convertGdocs };
180
+ export { A as convertGdocs };
@@ -4,7 +4,7 @@ function r(r) {
4
4
  let i = new DOMParser().parseFromString(r, "text/html").body;
5
5
  t(i), e(i);
6
6
  let a = {
7
- version: "1.2.4",
7
+ version: "1.2.6",
8
8
  blocks: n(i)
9
9
  };
10
10
  return JSON.stringify(a);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloklabs/cli",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "CLI tools for Blok — convert HTML to Blok JSON, generate migration guides",
5
5
  "bin": {
6
6
  "blok-cli": "bin/blok-cli.mjs"