devlog-ui 0.1.0
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/LICENSE +21 -0
- package/README.md +673 -0
- package/dist/index.cjs +1721 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +796 -0
- package/dist/index.js +3529 -0
- package/dist/index.js.map +1 -0
- package/dist/noop.cjs +2 -0
- package/dist/noop.cjs.map +1 -0
- package/dist/noop.d.ts +682 -0
- package/dist/noop.js +132 -0
- package/dist/noop.js.map +1 -0
- package/package.json +69 -0
package/dist/noop.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var g = (s, t, o) => t in s ? c(s, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : s[t] = o;
|
|
3
|
+
var n = (s, t, o) => g(s, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
+
const e = () => {
|
|
5
|
+
}, f = async () => !1, r = {
|
|
6
|
+
id: "",
|
|
7
|
+
event: {},
|
|
8
|
+
ended: !0,
|
|
9
|
+
debug: e,
|
|
10
|
+
info: e,
|
|
11
|
+
warn: e,
|
|
12
|
+
error: e,
|
|
13
|
+
span: () => r,
|
|
14
|
+
end: e,
|
|
15
|
+
fail: e
|
|
16
|
+
}, i = {
|
|
17
|
+
debug: e,
|
|
18
|
+
info: e,
|
|
19
|
+
warn: e,
|
|
20
|
+
error: e,
|
|
21
|
+
span: () => r,
|
|
22
|
+
withContext: () => i
|
|
23
|
+
}, a = {
|
|
24
|
+
changes: [],
|
|
25
|
+
summary: { added: 0, removed: 0, changed: 0, unchanged: 0 }
|
|
26
|
+
}, p = {
|
|
27
|
+
info: e,
|
|
28
|
+
warn: e,
|
|
29
|
+
error: e,
|
|
30
|
+
debug: e,
|
|
31
|
+
configure: e,
|
|
32
|
+
clear: e,
|
|
33
|
+
importLogs: e,
|
|
34
|
+
getLogs: () => [],
|
|
35
|
+
subscribe: () => e,
|
|
36
|
+
getSessionId: () => "",
|
|
37
|
+
getConfig: () => ({ maxLogs: 1e3, persist: !1, minLevel: "debug", enabled: !1 }),
|
|
38
|
+
isEnabled: () => !1,
|
|
39
|
+
// Span API
|
|
40
|
+
span: () => r,
|
|
41
|
+
getSpans: () => [],
|
|
42
|
+
getSpan: () => {
|
|
43
|
+
},
|
|
44
|
+
getSpanLogs: () => [],
|
|
45
|
+
subscribeSpans: () => e,
|
|
46
|
+
// Context API
|
|
47
|
+
setGlobalContext: e,
|
|
48
|
+
updateGlobalContext: e,
|
|
49
|
+
getGlobalContext: () => ({}),
|
|
50
|
+
clearGlobalContext: e,
|
|
51
|
+
withContext: () => i,
|
|
52
|
+
// Export API
|
|
53
|
+
exportLogs: () => "[]",
|
|
54
|
+
copyLogs: f,
|
|
55
|
+
// Diff API
|
|
56
|
+
diff: () => a,
|
|
57
|
+
computeDiff: () => a
|
|
58
|
+
}, u = {
|
|
59
|
+
init: e,
|
|
60
|
+
open: e,
|
|
61
|
+
close: e,
|
|
62
|
+
toggle: e,
|
|
63
|
+
popout: e,
|
|
64
|
+
closePopout: e,
|
|
65
|
+
isPopoutOpen: () => !1,
|
|
66
|
+
setFilter: e,
|
|
67
|
+
getFilter: () => ({ levels: /* @__PURE__ */ new Set(["debug", "info", "warn", "error"]), search: "", file: "" }),
|
|
68
|
+
clearFilter: e,
|
|
69
|
+
destroy: e,
|
|
70
|
+
isVisible: () => !1,
|
|
71
|
+
isInitialized: () => !1
|
|
72
|
+
}, b = {
|
|
73
|
+
install: e,
|
|
74
|
+
uninstall: e,
|
|
75
|
+
isActive: () => !1,
|
|
76
|
+
getConfig: () => ({
|
|
77
|
+
captureErrors: !1,
|
|
78
|
+
captureRejections: !1,
|
|
79
|
+
errorPrefix: "[Uncaught Error]",
|
|
80
|
+
rejectionPrefix: "[Unhandled Rejection]"
|
|
81
|
+
})
|
|
82
|
+
}, h = {
|
|
83
|
+
enable: e,
|
|
84
|
+
disable: e,
|
|
85
|
+
isActive: () => !1,
|
|
86
|
+
hadCrash: () => !1,
|
|
87
|
+
getPersistedLogs: () => [],
|
|
88
|
+
rehydrate: () => 0,
|
|
89
|
+
clear: e,
|
|
90
|
+
getConfig: () => ({
|
|
91
|
+
storage: "session",
|
|
92
|
+
maxPersisted: 500,
|
|
93
|
+
debounceMs: 100
|
|
94
|
+
})
|
|
95
|
+
}, m = {
|
|
96
|
+
install: e,
|
|
97
|
+
uninstall: e,
|
|
98
|
+
isActive: () => !1,
|
|
99
|
+
getConfig: () => ({
|
|
100
|
+
captureFetch: !1,
|
|
101
|
+
captureXHR: !1,
|
|
102
|
+
includeHeaders: !1,
|
|
103
|
+
includeBody: !1,
|
|
104
|
+
includeResponse: !1,
|
|
105
|
+
maxResponseLength: 1e3,
|
|
106
|
+
ignorePatterns: [],
|
|
107
|
+
context: {}
|
|
108
|
+
}),
|
|
109
|
+
addIgnorePattern: e
|
|
110
|
+
};
|
|
111
|
+
class l {
|
|
112
|
+
constructor() {
|
|
113
|
+
n(this, "setTimeWindow", e);
|
|
114
|
+
n(this, "destroy", e);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const x = l, C = () => new l(), L = () => [], w = () => a, v = () => !1, P = (s) => String(s), S = "0.1.0";
|
|
118
|
+
export {
|
|
119
|
+
u as DevLoggerUI,
|
|
120
|
+
b as ErrorCapture,
|
|
121
|
+
h as LogPersistence,
|
|
122
|
+
m as NetworkCapture,
|
|
123
|
+
x as Timeline,
|
|
124
|
+
S as VERSION,
|
|
125
|
+
L as computeDiff,
|
|
126
|
+
w as createDiffResult,
|
|
127
|
+
C as createTimeline,
|
|
128
|
+
P as formatValue,
|
|
129
|
+
v as hasChanges,
|
|
130
|
+
p as logger
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=noop.js.map
|
package/dist/noop.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noop.js","sources":["../src/noop.ts"],"sourcesContent":["/**\n * DevLogger - No-Op Export for Production\n *\n * Import this instead of the main export in production builds\n * to completely eliminate logging code via tree-shaking.\n *\n * Usage in vite.config.ts:\n * ```ts\n * resolve: {\n * alias: {\n * 'devlogger': process.env.NODE_ENV === 'production'\n * ? 'devlogger/noop'\n * : 'devlogger'\n * }\n * }\n * ```\n *\n * @packageDocumentation\n */\n\n// No-op logger that does nothing\nconst noop = () => {};\nconst noopAsync = async () => false;\n\n// No-op span\nconst noopSpan = {\n id: '',\n event: {} as never,\n ended: true,\n debug: noop,\n info: noop,\n warn: noop,\n error: noop,\n span: () => noopSpan,\n end: noop,\n fail: noop,\n};\n\n// No-op context logger\nconst noopContextLogger = {\n debug: noop,\n info: noop,\n warn: noop,\n error: noop,\n span: () => noopSpan,\n withContext: () => noopContextLogger,\n};\n\n// No-op diff result\nconst noopDiffResult = {\n changes: [] as const,\n summary: { added: 0, removed: 0, changed: 0, unchanged: 0 },\n};\n\nexport const logger = {\n info: noop,\n warn: noop,\n error: noop,\n debug: noop,\n configure: noop,\n clear: noop,\n importLogs: noop,\n getLogs: () => [] as const,\n subscribe: () => noop,\n getSessionId: () => '',\n getConfig: () => ({ maxLogs: 1000, persist: false, minLevel: 'debug' as const, enabled: false }),\n isEnabled: () => false,\n // Span API\n span: () => noopSpan,\n getSpans: () => [] as const,\n getSpan: () => undefined,\n getSpanLogs: () => [] as const,\n subscribeSpans: () => noop,\n // Context API\n setGlobalContext: noop,\n updateGlobalContext: noop,\n getGlobalContext: () => ({}),\n clearGlobalContext: noop,\n withContext: () => noopContextLogger,\n // Export API\n exportLogs: () => '[]',\n copyLogs: noopAsync,\n // Diff API\n diff: () => noopDiffResult,\n computeDiff: () => noopDiffResult,\n};\n\nexport const DevLoggerUI = {\n init: noop,\n open: noop,\n close: noop,\n toggle: noop,\n popout: noop,\n closePopout: noop,\n isPopoutOpen: () => false,\n setFilter: noop,\n getFilter: () => ({ levels: new Set(['debug', 'info', 'warn', 'error'] as const), search: '', file: '' }),\n clearFilter: noop,\n destroy: noop,\n isVisible: () => false,\n isInitialized: () => false,\n};\n\nexport const ErrorCapture = {\n install: noop,\n uninstall: noop,\n isActive: () => false,\n getConfig: () => ({\n captureErrors: false,\n captureRejections: false,\n errorPrefix: '[Uncaught Error]',\n rejectionPrefix: '[Unhandled Rejection]',\n }),\n};\n\nexport const LogPersistence = {\n enable: noop,\n disable: noop,\n isActive: () => false,\n hadCrash: () => false,\n getPersistedLogs: () => [] as const,\n rehydrate: () => 0,\n clear: noop,\n getConfig: () => ({\n storage: 'session' as const,\n maxPersisted: 500,\n debounceMs: 100,\n }),\n};\n\nexport const NetworkCapture = {\n install: noop,\n uninstall: noop,\n isActive: () => false,\n getConfig: () => ({\n captureFetch: false,\n captureXHR: false,\n includeHeaders: false,\n includeBody: false,\n includeResponse: false,\n maxResponseLength: 1000,\n ignorePatterns: [] as const,\n context: {},\n }),\n addIgnorePattern: noop,\n};\n\n// No-op timeline\nclass NoopTimeline {\n setTimeWindow = noop;\n destroy = noop;\n}\n\nexport const Timeline = NoopTimeline;\nexport const createTimeline = () => new NoopTimeline();\n\n// No-op diff utilities\nexport const computeDiff = () => [] as const;\nexport const createDiffResult = () => noopDiffResult;\nexport const hasChanges = () => false;\nexport const formatValue = (v: unknown) => String(v);\n\nexport const VERSION = '0.1.0';\n\n// Types are still exported for type-checking\nexport type {\n LogEvent,\n LogLevel,\n LoggerConfig,\n Source,\n LogSubscriber,\n SpanSubscriber,\n Unsubscribe,\n LogContext,\n SpanEvent,\n SpanStatus,\n DiffEntry,\n DiffResult,\n DiffChangeType,\n} from './core/types';\nexport type { FilterState } from './ui/filter';\nexport type { ErrorCaptureConfig } from './core/error-capture';\nexport type { PersistenceConfig } from './core/persistence';\nexport type { NetworkCaptureConfig } from './core/network-capture';\nexport type { TimelineConfig } from './ui/timeline';\nexport type { ExportOptions, LogSpan, ContextLogger } from './core/logger';\n"],"names":["noop","noopAsync","noopSpan","noopContextLogger","noopDiffResult","logger","DevLoggerUI","ErrorCapture","LogPersistence","NetworkCapture","NoopTimeline","__publicField","Timeline","createTimeline","computeDiff","createDiffResult","hasChanges","formatValue","v","VERSION"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "devlog-ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Lightweight browser dev-logger with UI overlay and pop-out window. Zero overhead in production.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./noop": {
|
|
16
|
+
"types": "./dist/noop.d.ts",
|
|
17
|
+
"import": "./dist/noop.js",
|
|
18
|
+
"require": "./dist/noop.cjs"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"dev": "vite",
|
|
26
|
+
"build": "tsc && vite build",
|
|
27
|
+
"preview": "vite preview",
|
|
28
|
+
"typecheck": "tsc --noEmit",
|
|
29
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
30
|
+
"test": "vitest run",
|
|
31
|
+
"test:watch": "vitest"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"logger",
|
|
35
|
+
"debug",
|
|
36
|
+
"console",
|
|
37
|
+
"devtools",
|
|
38
|
+
"browser",
|
|
39
|
+
"development",
|
|
40
|
+
"debugging",
|
|
41
|
+
"log-viewer",
|
|
42
|
+
"overlay"
|
|
43
|
+
],
|
|
44
|
+
"author": "Alexander Remer",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "https://github.com/Oko-Tester/logview.git"
|
|
49
|
+
},
|
|
50
|
+
"bugs": {
|
|
51
|
+
"url": "https://github.com/Oko-Tester/logview/issues"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/Oko-Tester/logview#readme",
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=18.0.0"
|
|
56
|
+
},
|
|
57
|
+
"sideEffects": false,
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@eslint/js": "^9.18.0",
|
|
60
|
+
"@typescript-eslint/eslint-plugin": "^8.18.2",
|
|
61
|
+
"@typescript-eslint/parser": "^8.18.2",
|
|
62
|
+
"eslint": "^9.18.0",
|
|
63
|
+
"jsdom": "^27.4.0",
|
|
64
|
+
"typescript": "^5.7.3",
|
|
65
|
+
"vite": "^6.0.7",
|
|
66
|
+
"vite-plugin-dts": "^4.3.0",
|
|
67
|
+
"vitest": "^2.1.8"
|
|
68
|
+
}
|
|
69
|
+
}
|