@jackuait/blok-cli 0.10.3 → 0.10.5

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-jjot_9K5.mjs");
44
+ let { convertHtml: t } = await import("./convert-html-DB9P-Rse.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-vENtgLwR.mjs");
51
+ let { convertGdocs: t } = await import("./convert-gdocs-W66DN100.mjs");
52
52
  r(t((await import("node:fs")).readFileSync("/dev/stdin", "utf-8")), s);
53
53
  break;
54
54
  }
@@ -0,0 +1,116 @@
1
+ import { i as e, n as t, r as n, t as r } from "./block-builder-B8WkPORz.mjs";
2
+ //#region src/components/modules/paste/google-docs-preprocessor.ts
3
+ function i(e) {
4
+ let t = document.createElement("div");
5
+ t.innerHTML = e;
6
+ let n = a(t);
7
+ return m(t, n), n && g(t), t.innerHTML;
8
+ }
9
+ function a(e) {
10
+ let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
11
+ if (!t) return !1;
12
+ let n = document.createDocumentFragment();
13
+ for (; t.firstChild;) n.appendChild(t.firstChild);
14
+ return t.replaceWith(n), !0;
15
+ }
16
+ function o(e, t, n) {
17
+ return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
18
+ }
19
+ function s(e) {
20
+ let t = e.replace(/\s/g, "");
21
+ return t === "rgb(0,0,0)" || t === "#000000";
22
+ }
23
+ function c(e) {
24
+ let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
25
+ if (n) {
26
+ let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
27
+ return .2126 * e + .7152 * t + .0722 * r;
28
+ }
29
+ let r = /^hsla?\(([\d.]+),([\d.]+)%,([\d.]+)%(?:,[\d.]+)?\)$/.exec(t);
30
+ if (r) {
31
+ let e = parseFloat(r[1]) / 360, t = parseFloat(r[2]) / 100, n = parseFloat(r[3]) / 100;
32
+ if (t === 0) return .2126 * n + .7152 * n + .0722 * n;
33
+ let i = n < .5 ? n * (1 + t) : n + t - n * t, a = 2 * n - i, o = (e) => {
34
+ let t = e < 0 ? e + 1 : e > 1 ? e - 1 : e;
35
+ return t < 1 / 6 ? a + (i - a) * 6 * t : t < 1 / 2 ? i : t < 2 / 3 ? a + (i - a) * (2 / 3 - t) * 6 : a;
36
+ }, s = o(e + 1 / 3), c = o(e), l = o(e - 1 / 3);
37
+ return .2126 * s + .7152 * c + .0722 * l;
38
+ }
39
+ let i = /^#([0-9a-f]{6}|[0-9a-f]{3})$/.exec(t);
40
+ if (i) {
41
+ let e = i[1], t = e.length === 3 ? [
42
+ e[0] + e[0],
43
+ e[1] + e[1],
44
+ e[2] + e[2]
45
+ ] : [
46
+ e.substring(0, 2),
47
+ e.substring(2, 4),
48
+ e.substring(4, 6)
49
+ ], n = parseInt(t[0], 16) / 255, r = parseInt(t[1], 16) / 255, a = parseInt(t[2], 16) / 255;
50
+ return .2126 * n + .7152 * r + .0722 * a;
51
+ }
52
+ return -1;
53
+ }
54
+ function l(e) {
55
+ let t = e.replace(/\s/g, "").toLowerCase();
56
+ return t === "rgb(255,255,255)" || t === "#ffffff" || t === "white";
57
+ }
58
+ function u(e) {
59
+ let t = c(e);
60
+ return t >= 0 && t < .12;
61
+ }
62
+ function d(e) {
63
+ let t = c(e);
64
+ return t >= 0 && t > .75;
65
+ }
66
+ function f(t, n, r, i, a) {
67
+ if (!n && !r) return t;
68
+ let s = n && i !== void 0 ? e(i, "text") : "", c = r && a !== void 0 ? e(a, "bg") : "", l = [n ? `color: ${s}` : "", o(r, n, c)].filter(Boolean).join("; ");
69
+ return l ? `<mark style="${l};">${t}</mark>` : t;
70
+ }
71
+ function p(e, t) {
72
+ let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n), 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), c = a?.[1]?.trim(), p = o?.[1]?.trim(), m = t ? c !== void 0 && !s(c) : c !== void 0 && !s(c) && !d(c), h = t ? p !== void 0 && p !== "transparent" : p !== void 0 && p !== "transparent" && !l(p) && !u(p);
73
+ if (!r && !i && !m && !h) return null;
74
+ let g = f(e.innerHTML, m, h, c, p), _ = i ? `<i>${g}</i>` : g;
75
+ return r ? `<b>${_}</b>` : _;
76
+ }
77
+ function m(e, t) {
78
+ for (let n of Array.from(e.querySelectorAll("span[style]"))) {
79
+ let e = p(n, t);
80
+ e !== null && n.replaceWith(document.createRange().createContextualFragment(e));
81
+ }
82
+ t && h(e);
83
+ }
84
+ function h(t) {
85
+ for (let n of Array.from(t.querySelectorAll("a[style]"))) {
86
+ let t = n.getAttribute("style") ?? "", r = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(t), i = /background-color\s*:\s*([^;]+)/i.exec(t), a = r?.[1]?.trim(), c = i?.[1]?.trim(), l = a !== void 0 && !s(a) && a !== "inherit", u = c !== void 0 && c !== "transparent" && c !== "inherit";
87
+ if (!l && !u) continue;
88
+ let d = l ? e(a, "text") : "", f = u ? e(c, "bg") : "", p = [l ? `color: ${d}` : "", o(u, l, f)].filter(Boolean).join("; "), m = n;
89
+ m.innerHTML = `<mark style="${p};">${m.innerHTML}</mark>`, m.style.removeProperty("color"), m.style.removeProperty("background-color");
90
+ }
91
+ }
92
+ function g(e) {
93
+ for (let t of Array.from(e.querySelectorAll("td, th"))) {
94
+ let e = t.querySelectorAll("p");
95
+ if (e.length !== 0) {
96
+ for (let t of Array.from(e)) {
97
+ let e = document.createRange().createContextualFragment(t.innerHTML + "<br>");
98
+ t.replaceWith(e);
99
+ }
100
+ t.innerHTML = t.innerHTML.replace(/(<br\s*\/?>|\s)+$/i, "");
101
+ }
102
+ }
103
+ }
104
+ //#endregion
105
+ //#region src/cli/commands/convert-gdocs/index.ts
106
+ function _(e) {
107
+ let a = i(e), o = new DOMParser().parseFromString(a, "text/html").body;
108
+ n(o), t(o);
109
+ let s = {
110
+ version: "0.10.4",
111
+ blocks: r(o)
112
+ };
113
+ return JSON.stringify(s);
114
+ }
115
+ //#endregion
116
+ export { _ as convertGdocs };
@@ -0,0 +1,116 @@
1
+ import { i as e, n as t, r as n, t as r } from "./block-builder-B8WkPORz.mjs";
2
+ //#region src/components/modules/paste/google-docs-preprocessor.ts
3
+ function i(e) {
4
+ let t = document.createElement("div");
5
+ t.innerHTML = e;
6
+ let n = a(t);
7
+ return m(t, n), n && g(t), t.innerHTML;
8
+ }
9
+ function a(e) {
10
+ let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
11
+ if (!t) return !1;
12
+ let n = document.createDocumentFragment();
13
+ for (; t.firstChild;) n.appendChild(t.firstChild);
14
+ return t.replaceWith(n), !0;
15
+ }
16
+ function o(e, t, n) {
17
+ return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
18
+ }
19
+ function s(e) {
20
+ let t = e.replace(/\s/g, "");
21
+ return t === "rgb(0,0,0)" || t === "#000000";
22
+ }
23
+ function c(e) {
24
+ let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
25
+ if (n) {
26
+ let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
27
+ return .2126 * e + .7152 * t + .0722 * r;
28
+ }
29
+ let r = /^hsla?\(([\d.]+),([\d.]+)%,([\d.]+)%(?:,[\d.]+)?\)$/.exec(t);
30
+ if (r) {
31
+ let e = parseFloat(r[1]) / 360, t = parseFloat(r[2]) / 100, n = parseFloat(r[3]) / 100;
32
+ if (t === 0) return .2126 * n + .7152 * n + .0722 * n;
33
+ let i = n < .5 ? n * (1 + t) : n + t - n * t, a = 2 * n - i, o = (e) => {
34
+ let t = e < 0 ? e + 1 : e > 1 ? e - 1 : e;
35
+ return t < 1 / 6 ? a + (i - a) * 6 * t : t < 1 / 2 ? i : t < 2 / 3 ? a + (i - a) * (2 / 3 - t) * 6 : a;
36
+ }, s = o(e + 1 / 3), c = o(e), l = o(e - 1 / 3);
37
+ return .2126 * s + .7152 * c + .0722 * l;
38
+ }
39
+ let i = /^#([0-9a-f]{6}|[0-9a-f]{3})$/.exec(t);
40
+ if (i) {
41
+ let e = i[1], t = e.length === 3 ? [
42
+ e[0] + e[0],
43
+ e[1] + e[1],
44
+ e[2] + e[2]
45
+ ] : [
46
+ e.substring(0, 2),
47
+ e.substring(2, 4),
48
+ e.substring(4, 6)
49
+ ], n = parseInt(t[0], 16) / 255, r = parseInt(t[1], 16) / 255, a = parseInt(t[2], 16) / 255;
50
+ return .2126 * n + .7152 * r + .0722 * a;
51
+ }
52
+ return -1;
53
+ }
54
+ function l(e) {
55
+ let t = e.replace(/\s/g, "").toLowerCase();
56
+ return t === "rgb(255,255,255)" || t === "#ffffff" || t === "white";
57
+ }
58
+ function u(e) {
59
+ let t = c(e);
60
+ return t >= 0 && t < .12;
61
+ }
62
+ function d(e) {
63
+ let t = c(e);
64
+ return t >= 0 && t > .75;
65
+ }
66
+ function f(t, n, r, i, a) {
67
+ if (!n && !r) return t;
68
+ let s = n && i !== void 0 ? e(i, "text") : "", c = r && a !== void 0 ? e(a, "bg") : "", l = [n ? `color: ${s}` : "", o(r, n, c)].filter(Boolean).join("; ");
69
+ return l ? `<mark style="${l};">${t}</mark>` : t;
70
+ }
71
+ function p(e, t) {
72
+ let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n), 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), c = a?.[1]?.trim(), p = o?.[1]?.trim(), m = t ? c !== void 0 && !s(c) : c !== void 0 && !s(c) && !d(c), h = t ? p !== void 0 && p !== "transparent" : p !== void 0 && p !== "transparent" && !l(p) && !u(p);
73
+ if (!r && !i && !m && !h) return null;
74
+ let g = f(e.innerHTML, m, h, c, p), _ = i ? `<i>${g}</i>` : g;
75
+ return r ? `<b>${_}</b>` : _;
76
+ }
77
+ function m(e, t) {
78
+ for (let n of Array.from(e.querySelectorAll("span[style]"))) {
79
+ let e = p(n, t);
80
+ e !== null && n.replaceWith(document.createRange().createContextualFragment(e));
81
+ }
82
+ t && h(e);
83
+ }
84
+ function h(t) {
85
+ for (let n of Array.from(t.querySelectorAll("a[style]"))) {
86
+ let t = n.getAttribute("style") ?? "", r = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(t), i = /background-color\s*:\s*([^;]+)/i.exec(t), a = r?.[1]?.trim(), c = i?.[1]?.trim(), l = a !== void 0 && !s(a) && a !== "inherit", u = c !== void 0 && c !== "transparent" && c !== "inherit";
87
+ if (!l && !u) continue;
88
+ let d = l ? e(a, "text") : "", f = u ? e(c, "bg") : "", p = [l ? `color: ${d}` : "", o(u, l, f)].filter(Boolean).join("; "), m = n;
89
+ m.innerHTML = `<mark style="${p};">${m.innerHTML}</mark>`, m.style.removeProperty("color"), m.style.removeProperty("background-color");
90
+ }
91
+ }
92
+ function g(e) {
93
+ for (let t of Array.from(e.querySelectorAll("td, th"))) {
94
+ let e = t.querySelectorAll("p");
95
+ if (e.length !== 0) {
96
+ for (let t of Array.from(e)) {
97
+ let e = document.createRange().createContextualFragment(t.innerHTML + "<br>");
98
+ t.replaceWith(e);
99
+ }
100
+ t.innerHTML = t.innerHTML.replace(/(<br\s*\/?>|\s)+$/i, "");
101
+ }
102
+ }
103
+ }
104
+ //#endregion
105
+ //#region src/cli/commands/convert-gdocs/index.ts
106
+ function _(e) {
107
+ let a = i(e), o = new DOMParser().parseFromString(a, "text/html").body;
108
+ n(o), t(o);
109
+ let s = {
110
+ version: "0.10.5",
111
+ blocks: r(o)
112
+ };
113
+ return JSON.stringify(s);
114
+ }
115
+ //#endregion
116
+ export { _ as convertGdocs };
@@ -0,0 +1,13 @@
1
+ import { n as e, r as t, t as n } from "./block-builder-B8WkPORz.mjs";
2
+ //#region src/cli/commands/convert-html/index.ts
3
+ function r(r) {
4
+ let i = new DOMParser().parseFromString(r, "text/html").body;
5
+ t(i), e(i);
6
+ let a = {
7
+ version: "0.10.4",
8
+ blocks: n(i)
9
+ };
10
+ return JSON.stringify(a);
11
+ }
12
+ //#endregion
13
+ export { r as convertHtml };
@@ -0,0 +1,13 @@
1
+ import { n as e, r as t, t as n } from "./block-builder-B8WkPORz.mjs";
2
+ //#region src/cli/commands/convert-html/index.ts
3
+ function r(r) {
4
+ let i = new DOMParser().parseFromString(r, "text/html").body;
5
+ t(i), e(i);
6
+ let a = {
7
+ version: "0.10.5",
8
+ blocks: n(i)
9
+ };
10
+ return JSON.stringify(a);
11
+ }
12
+ //#endregion
13
+ export { r as convertHtml };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jackuait/blok-cli",
3
- "version": "0.10.3",
3
+ "version": "0.10.5",
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"