@lark-apaas/miaoda-inspector 0.1.0-alpha.1 → 0.1.0-alpha.2

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 (88) hide show
  1. package/dist/es/Inspector/{Inspector.js → Inspector.mjs} +50 -55
  2. package/dist/es/Inspector/{Overlay.js → Overlay.mjs} +157 -125
  3. package/dist/es/Inspector/hooks/use-effect-event.mjs +17 -0
  4. package/dist/es/Inspector/hooks/use-layout-effect.mjs +9 -0
  5. package/dist/es/Inspector/hooks/{use-mouse.js → use-mouse.mjs} +8 -4
  6. package/dist/es/Inspector/index.mjs +5 -0
  7. package/dist/es/Inspector/utils/fiber.mjs +70 -0
  8. package/dist/es/Inspector/utils/highlight.mjs +78 -0
  9. package/dist/es/Inspector/utils/inspect.mjs +131 -0
  10. package/dist/es/Inspector/utils/{overlay.js → overlay.mjs} +7 -2
  11. package/dist/es/MiaodaInspector/MiaodaInspector.mjs +427 -0
  12. package/dist/es/MiaodaInspector/index.mjs +5 -0
  13. package/dist/es/chunk-I4E63NIC.mjs +24 -0
  14. package/dist/es/config/{ui-config.js → ui-config.mjs} +66 -286
  15. package/dist/es/global.d.mjs +0 -0
  16. package/dist/es/index.mjs +7 -0
  17. package/dist/es/types/iframe-events.mjs +0 -0
  18. package/dist/es/types/index.mjs +27 -0
  19. package/dist/es/utils/{config-mapper.js → config-mapper.mjs} +14 -56
  20. package/dist/es/utils/{css.js → css.mjs} +5 -1
  21. package/dist/es/utils/index.mjs +37 -0
  22. package/dist/es/utils/origin.mjs +26 -0
  23. package/dist/es/utils/style-calculator.mjs +177 -0
  24. package/dist/lib/Inspector/Inspector.js +99 -104
  25. package/dist/lib/Inspector/Overlay.js +172 -143
  26. package/dist/lib/Inspector/hooks/index.js +19 -19
  27. package/dist/lib/Inspector/hooks/use-effect-event.js +26 -15
  28. package/dist/lib/Inspector/hooks/use-layout-effect.js +25 -10
  29. package/dist/lib/Inspector/hooks/use-mouse.js +27 -14
  30. package/dist/lib/Inspector/index.js +21 -8
  31. package/dist/lib/Inspector/utils/fiber.js +49 -55
  32. package/dist/lib/Inspector/utils/highlight.js +44 -31
  33. package/dist/lib/Inspector/utils/index.js +19 -19
  34. package/dist/lib/Inspector/utils/inspect.js +62 -72
  35. package/dist/lib/Inspector/utils/overlay.js +20 -15
  36. package/dist/lib/MiaodaInspector/MiaodaInspector.js +265 -266
  37. package/dist/lib/MiaodaInspector/index.js +21 -8
  38. package/dist/lib/config/ui-config.js +81 -292
  39. package/dist/lib/global.d.js +1 -0
  40. package/dist/lib/index.js +22 -17
  41. package/dist/lib/types/iframe-events.js +15 -3
  42. package/dist/lib/types/index.js +30 -43
  43. package/dist/lib/utils/config-mapper.js +41 -69
  44. package/dist/lib/utils/css.js +33 -15
  45. package/dist/lib/utils/index.js +36 -57
  46. package/dist/lib/utils/origin.js +23 -22
  47. package/dist/lib/utils/style-calculator.js +113 -110
  48. package/dist/types/Inspector/Inspector.d.ts +95 -92
  49. package/dist/types/Inspector/Overlay.d.ts +61 -58
  50. package/dist/types/Inspector/hooks/index.d.ts +4 -3
  51. package/dist/types/Inspector/hooks/use-effect-event.d.ts +3 -1
  52. package/dist/types/Inspector/hooks/use-layout-effect.d.ts +5 -2
  53. package/dist/types/Inspector/hooks/use-mouse.d.ts +9 -8
  54. package/dist/types/Inspector/index.d.ts +4 -1
  55. package/dist/types/Inspector/utils/fiber.d.ts +12 -10
  56. package/dist/types/Inspector/utils/highlight.d.ts +7 -5
  57. package/dist/types/Inspector/utils/index.d.ts +4 -3
  58. package/dist/types/Inspector/utils/inspect.d.ts +45 -42
  59. package/dist/types/Inspector/utils/overlay.d.ts +24 -22
  60. package/dist/types/MiaodaInspector/MiaodaInspector.d.ts +42 -41
  61. package/dist/types/MiaodaInspector/index.d.ts +3 -1
  62. package/dist/types/config/ui-config.d.ts +42 -41
  63. package/dist/types/global.d.d.ts +17 -0
  64. package/dist/types/index.d.ts +5 -4
  65. package/dist/types/types/iframe-events.d.ts +133 -130
  66. package/dist/types/types/index.d.ts +2 -1
  67. package/dist/types/utils/config-mapper.d.ts +14 -11
  68. package/dist/types/utils/css.d.ts +5 -2
  69. package/dist/types/utils/index.d.ts +7 -3
  70. package/dist/types/utils/origin.d.ts +12 -8
  71. package/dist/types/utils/style-calculator.d.ts +20 -17
  72. package/package.json +13 -13
  73. package/dist/es/Inspector/hooks/use-effect-event.js +0 -15
  74. package/dist/es/Inspector/hooks/use-layout-effect.js +0 -3
  75. package/dist/es/Inspector/index.js +0 -1
  76. package/dist/es/Inspector/utils/fiber.js +0 -61
  77. package/dist/es/Inspector/utils/highlight.js +0 -74
  78. package/dist/es/Inspector/utils/inspect.js +0 -119
  79. package/dist/es/MiaodaInspector/MiaodaInspector.js +0 -397
  80. package/dist/es/MiaodaInspector/index.js +0 -1
  81. package/dist/es/index.js +0 -2
  82. package/dist/es/types/iframe-events.js +0 -1
  83. package/dist/es/types/index.js +0 -1
  84. package/dist/es/utils/index.js +0 -3
  85. package/dist/es/utils/origin.js +0 -19
  86. package/dist/es/utils/style-calculator.js +0 -158
  87. /package/dist/es/Inspector/hooks/{index.js → index.mjs} +0 -0
  88. /package/dist/es/Inspector/utils/{index.js → index.mjs} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/miaoda-inspector",
3
- "version": "0.1.0-alpha.1",
3
+ "version": "0.1.0-alpha.2",
4
4
  "description": "Inspector for Lark Apaas",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -15,15 +15,6 @@
15
15
  "publishConfig": {
16
16
  "access": "public"
17
17
  },
18
- "scripts": {
19
- "build": "edenx build --tsconfig tsconfig.build.json",
20
- "check-type": "rush check-type",
21
- "lint": "eslint . --quiet",
22
- "start": "rush storybook",
23
- "test": "vitest",
24
- "test:cov": "vitest run --coverage",
25
- "test:update": "vitest run -u"
26
- },
27
18
  "dependencies": {
28
19
  "clsx": "~2.0.0",
29
20
  "hotkeys-js": "^3.8.1",
@@ -33,16 +24,25 @@
33
24
  },
34
25
  "devDependencies": {
35
26
  "@types/react-reconciler": ">=0.26.6",
36
- "@edenx/module-tools": "~1.35.1",
37
27
  "@testing-library/react": "^12",
38
28
  "@testing-library/react-hooks": "^8",
39
29
  "@types/node": "^18.17.18",
40
30
  "@types/react": "^17",
41
31
  "eslint": "^8",
42
32
  "react": "^18",
43
- "typescript": "^4"
33
+ "typescript": "^4",
34
+ "vitest": "^1.0.0"
44
35
  },
45
36
  "peerDependencies": {
46
37
  "react": ">=16.8.0"
38
+ },
39
+ "scripts": {
40
+ "build": "tsup --tsconfig tsconfig.build.json",
41
+ "check-type": "rush check-type",
42
+ "lint": "eslint . --quiet",
43
+ "start": "rush storybook",
44
+ "test": "vitest",
45
+ "test:cov": "vitest run --coverage",
46
+ "test:update": "vitest run -u"
47
47
  }
48
- }
48
+ }
@@ -1,15 +0,0 @@
1
- import { useMemo, useRef } from "react";
2
- export const useEffectEvent = (callback) => {
3
- const callbackRef = useRef(callback);
4
- callbackRef.current = useMemo(() => callback, [
5
- callback
6
- ]);
7
- const stableRef = useRef();
8
- if (!stableRef.current) {
9
- stableRef.current = function(...args) {
10
- var _callbackRef_current;
11
- return (_callbackRef_current = callbackRef.current) === null || _callbackRef_current === void 0 ? void 0 : _callbackRef_current.apply(this, args);
12
- };
13
- }
14
- return stableRef.current;
15
- };
@@ -1,3 +0,0 @@
1
- var _window_document, _window;
2
- import { useEffect, useLayoutEffect as _useLayoutEffect } from "react";
3
- export const useLayoutEffect = typeof window !== "undefined" && ((_window = window) === null || _window === void 0 ? void 0 : (_window_document = _window.document) === null || _window_document === void 0 ? void 0 : _window_document.createElement) ? _useLayoutEffect : useEffect;
@@ -1 +0,0 @@
1
- export { Inspector } from "./Inspector";
@@ -1,61 +0,0 @@
1
- export const isNativeTagFiber = (fiber) => typeof (fiber === null || fiber === void 0 ? void 0 : fiber.type) === "string";
2
- export const isReactSymbolFiber = (fiber) => {
3
- var _fiber_type;
4
- return typeof (fiber === null || fiber === void 0 ? void 0 : (_fiber_type = fiber.type) === null || _fiber_type === void 0 ? void 0 : _fiber_type.$$typeof) === "symbol";
5
- };
6
- export const isForwardRef = (fiber) => {
7
- var _fiber_type;
8
- return (fiber === null || fiber === void 0 ? void 0 : (_fiber_type = fiber.type) === null || _fiber_type === void 0 ? void 0 : _fiber_type.$$typeof) === Symbol.for("react.forward_ref");
9
- };
10
- export const getElementFiber = (element) => {
11
- const fiberKey = Object.keys(element).find((key) => (
12
- /**
13
- * for react <= v16.13.1
14
- * https://github.com/facebook/react/blob/v16.13.1/packages/react-dom/src/client/ReactDOMComponentTree.js#L21
15
- */
16
- key.startsWith("__reactInternalInstance$") || /**
17
- * for react >= v16.14.0
18
- * https://github.com/facebook/react/blob/v16.14.0/packages/react-dom/src/client/ReactDOMComponentTree.js#L39
19
- */
20
- key.startsWith("__reactFiber$")
21
- ));
22
- if (fiberKey) {
23
- return element[fiberKey];
24
- }
25
- return void 0;
26
- };
27
- export const getElementFiberUpward = (element) => {
28
- if (!element)
29
- return void 0;
30
- const fiber = getElementFiber(element);
31
- if (fiber)
32
- return fiber;
33
- return getElementFiberUpward(element.parentElement);
34
- };
35
- export const getDirectParentFiber = (child) => {
36
- let current = child.return;
37
- while (current) {
38
- if (!isReactSymbolFiber(current)) {
39
- return current;
40
- }
41
- current = current.return;
42
- }
43
- return null;
44
- };
45
- export const getFiberName = (fiber) => {
46
- var _fiber_pendingProps;
47
- const fiberType = fiber === null || fiber === void 0 ? void 0 : fiber.type;
48
- if (!fiberType)
49
- return void 0;
50
- const { displayName, name } = fiberType;
51
- if (fiber === null || fiber === void 0 ? void 0 : (_fiber_pendingProps = fiber.pendingProps) === null || _fiber_pendingProps === void 0 ? void 0 : _fiber_pendingProps["data-miaoda-component-name"]) {
52
- return fiber.pendingProps["data-miaoda-component-name"];
53
- }
54
- if (typeof displayName === "string") {
55
- return displayName;
56
- }
57
- if (typeof name === "string") {
58
- return name;
59
- }
60
- return void 0;
61
- };
@@ -1,74 +0,0 @@
1
- let iframesListeningTo = /* @__PURE__ */ new Set();
2
- export function setupHighlighter(handlers) {
3
- function onClick(event) {
4
- var _handlers_onClick;
5
- event.preventDefault();
6
- event.stopPropagation();
7
- (_handlers_onClick = handlers.onClick) === null || _handlers_onClick === void 0 ? void 0 : _handlers_onClick.call(handlers, event.target);
8
- }
9
- function onMouseEvent(event) {
10
- event.stopPropagation();
11
- }
12
- function onPointerDown(event) {
13
- event.stopPropagation();
14
- }
15
- function onPointerOver(event) {
16
- var _handlers_onPointerOver;
17
- event.preventDefault();
18
- event.stopPropagation();
19
- const target = event.target;
20
- if (target.tagName === "IFRAME") {
21
- const iframe = target;
22
- try {
23
- if (!iframesListeningTo.has(iframe)) {
24
- const window1 = iframe.contentWindow;
25
- registerListenersOnWindow(window1);
26
- iframesListeningTo.add(iframe);
27
- }
28
- } catch (error) {
29
- }
30
- }
31
- (_handlers_onPointerOver = handlers.onPointerOver) === null || _handlers_onPointerOver === void 0 ? void 0 : _handlers_onPointerOver.call(handlers, event.target);
32
- }
33
- function onPointerUp(event) {
34
- event.preventDefault();
35
- event.stopPropagation();
36
- }
37
- function removeListenersOnWindow(window1) {
38
- if (window1 && typeof window1.removeEventListener === "function") {
39
- window1.removeEventListener("click", onClick, true);
40
- window1.removeEventListener("mousedown", onMouseEvent, true);
41
- window1.removeEventListener("mouseover", onMouseEvent, true);
42
- window1.removeEventListener("mouseup", onMouseEvent, true);
43
- window1.removeEventListener("pointerdown", onPointerDown, true);
44
- window1.removeEventListener("pointerover", onPointerOver, true);
45
- window1.removeEventListener("pointerup", onPointerUp, true);
46
- }
47
- }
48
- function stopInspectingNative() {
49
- removeListenersOnWindow(window);
50
- iframesListeningTo.forEach((frame) => {
51
- try {
52
- removeListenersOnWindow(frame.contentWindow);
53
- } catch (error) {
54
- }
55
- });
56
- iframesListeningTo = /* @__PURE__ */ new Set();
57
- }
58
- function registerListenersOnWindow(window1) {
59
- if (window1 && typeof window1.addEventListener === "function") {
60
- window1.addEventListener("click", onClick, true);
61
- window1.addEventListener("mousedown", onMouseEvent, true);
62
- window1.addEventListener("mouseover", onMouseEvent, true);
63
- window1.addEventListener("mouseup", onMouseEvent, true);
64
- window1.addEventListener("pointerdown", onPointerDown, true);
65
- window1.addEventListener("pointerover", onPointerOver, true);
66
- window1.addEventListener("pointerup", onPointerUp, true);
67
- }
68
- }
69
- function startInspectingNative() {
70
- registerListenersOnWindow(window);
71
- }
72
- startInspectingNative();
73
- return stopInspectingNative;
74
- }
@@ -1,119 +0,0 @@
1
- import { isNativeTagFiber, isReactSymbolFiber, isForwardRef, getDirectParentFiber, getFiberName, getElementFiberUpward } from "./fiber";
2
- export const getCodeInfoFromDebugSource = (fiber) => {
3
- var _fiber__debugOwner;
4
- if (!fiber)
5
- return void 0;
6
- var _fiber__debugSource;
7
- const debugSource = (_fiber__debugSource = fiber._debugSource) !== null && _fiber__debugSource !== void 0 ? _fiber__debugSource : (_fiber__debugOwner = fiber._debugOwner) === null || _fiber__debugOwner === void 0 ? void 0 : _fiber__debugOwner._debugSource;
8
- if (!debugSource)
9
- return void 0;
10
- const { fileName, lineNumber, columnNumber } = debugSource;
11
- if (fileName && lineNumber) {
12
- return {
13
- lineNumber: String(lineNumber),
14
- columnNumber: String(columnNumber !== null && columnNumber !== void 0 ? columnNumber : 1),
15
- /**
16
- * `fileName` in `_debugSource` is absolutely
17
- * ---
18
- *
19
- * compatible with the incorrect `fileName: "</xxx/file>"` by [rspack](https://github.com/web-infra-dev/rspack)
20
- */
21
- absolutePath: fileName.match(/^<.*>$/) ? fileName.replace(/^<|>$/g, "") : fileName
22
- };
23
- }
24
- return void 0;
25
- };
26
- export const getCodeInfoFromProps = (fiber) => {
27
- if (!(fiber === null || fiber === void 0 ? void 0 : fiber.pendingProps))
28
- return void 0;
29
- const { "data-miaoda-line": lineNumber, "data-miaoda-column": columnNumber, "data-miaoda-relative-path": relativePath, "data-miaoda-component-name": name, "data-miaoda-metadata": metadataStr } = fiber.pendingProps;
30
- let metadata;
31
- if (metadataStr) {
32
- try {
33
- metadata = JSON.parse(metadataStr);
34
- } catch (e) {
35
- metadata = void 0;
36
- }
37
- }
38
- if (name && lineNumber && columnNumber && relativePath) {
39
- return {
40
- name,
41
- lineNumber,
42
- columnNumber,
43
- relativePath,
44
- metadata
45
- };
46
- }
47
- return void 0;
48
- };
49
- export const getCodeInfoFromFiber = (fiber) => {
50
- const codeInfos = [
51
- // getCodeInfoFromDebugSource(fiber),
52
- getCodeInfoFromProps(fiber)
53
- ].filter(Boolean);
54
- if (!codeInfos.length)
55
- return void 0;
56
- return Object.assign({}, ...codeInfos);
57
- };
58
- export const getReferenceFiber = (baseFiber) => {
59
- if (!baseFiber)
60
- return void 0;
61
- const directParent = getDirectParentFiber(baseFiber);
62
- if (!directParent)
63
- return void 0;
64
- const isParentNative = isNativeTagFiber(directParent);
65
- const isOnlyOneChild = !directParent.child.sibling;
66
- let referenceFiber = !isParentNative && isOnlyOneChild ? directParent : baseFiber;
67
- const originReferenceFiber = referenceFiber;
68
- while (referenceFiber) {
69
- if (getCodeInfoFromFiber(referenceFiber))
70
- return referenceFiber;
71
- referenceFiber = referenceFiber.return;
72
- }
73
- return originReferenceFiber;
74
- };
75
- export const getElementCodeInfo = (element) => {
76
- const fiber = getElementFiberUpward(element);
77
- const referenceFiber = getReferenceFiber(fiber);
78
- return getCodeInfoFromFiber(referenceFiber);
79
- };
80
- export const getNamedFiber = (baseFiber) => {
81
- let fiber = baseFiber;
82
- let originNamedFiber;
83
- while (fiber) {
84
- var _fiber_return;
85
- let parent = (_fiber_return = fiber.return) !== null && _fiber_return !== void 0 ? _fiber_return : void 0;
86
- let forwardParent;
87
- while (isReactSymbolFiber(parent)) {
88
- if (isForwardRef(parent)) {
89
- forwardParent = parent;
90
- }
91
- var _parent_return;
92
- parent = (_parent_return = parent === null || parent === void 0 ? void 0 : parent.return) !== null && _parent_return !== void 0 ? _parent_return : void 0;
93
- }
94
- if (forwardParent) {
95
- fiber = forwardParent;
96
- }
97
- if (getFiberName(fiber)) {
98
- if (!originNamedFiber)
99
- originNamedFiber = fiber;
100
- if (getCodeInfoFromFiber(fiber))
101
- return fiber;
102
- }
103
- fiber = parent;
104
- }
105
- return originNamedFiber;
106
- };
107
- export const getElementInspect = (element) => {
108
- const fiber = getElementFiberUpward(element);
109
- const referenceFiber = getReferenceFiber(fiber);
110
- const namedFiber = getNamedFiber(referenceFiber);
111
- const fiberName = getFiberName(namedFiber);
112
- const nodeName = element.nodeName.toLowerCase();
113
- const title = fiberName !== null && fiberName !== void 0 ? fiberName : nodeName;
114
- return {
115
- fiber: referenceFiber,
116
- name: fiberName,
117
- title
118
- };
119
- };