Skip to content

Commit 7aff870

Browse files
committed
Merge branch 'release/v0.25.10'
2 parents be05149 + ae94dcc commit 7aff870

8 files changed

+41
-21
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "zeed",
33
"type": "module",
4-
"version": "0.25.9",
4+
"version": "0.25.10",
55
"description": "🌱 Simple foundation library",
66
"author": {
77
"name": "Dirk Holtwick",

src/browser/log/log-browser-factory.ts

+3-9
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { LogLevelAll, LogLevelDebug, LogLevelError, LogLevelFatal, LogLevelInfo,
33
import { browserSelectColorByName } from '../../common/log/log-colors'
44
import { getGlobalConsole } from '../../common/log/log-console-original'
55
import { parseLogLevel, useNamespaceFilter } from '../../common/log/log-filter'
6+
import { LoggerHandlerNoop } from '../../common/log/log-noop'
67
import { browserSupportsColors } from './log-colors'
78

89
/**
@@ -20,7 +21,6 @@ export function LoggerBrowserSetupDebugFactory(opt: LogHandlerOptions = {}) {
2021
const styleDefault = `${styleFont}`
2122
const styleBold = `font-weight: 600; ${styleFont}`
2223
const useColors = browserSupportsColors()
23-
const noop: any = () => {}
2424

2525
// logCaptureConsole will override the console methods, so we need to get the original ones
2626
const originalConsole = getGlobalConsole()
@@ -39,7 +39,7 @@ export function LoggerBrowserSetupDebugFactory(opt: LogHandlerOptions = {}) {
3939
const matches = useNamespaceFilter(filter)
4040
const level = parseLogLevel(logLevel ?? LogLevelAll)
4141

42-
if (matches(name) && level !== LogLevelOff) {
42+
if (matches(name) && level !== LogLevelOff && originalConsole) {
4343
const fixedArgs: string[] = []
4444
if (useColors) {
4545
const color = browserSelectColorByName(name)
@@ -91,13 +91,7 @@ export function LoggerBrowserSetupDebugFactory(opt: LogHandlerOptions = {}) {
9191
})
9292
}
9393
else {
94-
log = (() => {}) as LoggerInterface
95-
log.debug = noop
96-
log.info = noop
97-
log.warn = noop
98-
log.error = noop
99-
log.assert = noop
100-
log.fatal = noop
94+
log = LoggerHandlerNoop()
10195
}
10296

10397
log.extend = (subName: string) => {

src/browser/log/log-browser.ts

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ export function LoggerBrowserHandler(opt: LogHandlerOptions = {}): LogHandler {
2929
// logCaptureConsole will override the console methods, so we need to get the original ones
3030
const originalConsole = getGlobalConsole()
3131

32+
if (!originalConsole)
33+
return () => {}
34+
3235
return (msg: LogMessage) => {
3336
if (!matchesLevel(msg.level))
3437
return

src/common/log/log-console-capture.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ export function logCaptureConsole(log: LoggerInterface) {
1818
onlyOnce = true
1919

2020
// Save the original console methods
21-
getGlobalConsole()
21+
const originalConsole = getGlobalConsole()
22+
23+
if (!originalConsole) {
24+
globalThis.console = {} as any
25+
}
2226

2327
globalThis.console.log = (...args: any[]) => log.debug(...args)
2428
globalThis.console.debug = (...args: any[]) => log.debug(...args)

src/common/log/log-console-original.ts

+12-10
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,20 @@ declare global {
1515
* If the global context does not have a reference to the original console object, it creates one.
1616
* The original console object is then bound to the global context, allowing access to its methods.
1717
*/
18-
export function getGlobalConsole(): OriginalConsole {
18+
export function getGlobalConsole(): OriginalConsole | undefined {
1919
const gcontext = getGlobalContext()
2020
if (gcontext.originalConsole == null) {
21-
const originalConsole = console
22-
gcontext.originalConsole = {
23-
console: originalConsole,
24-
log: originalConsole.log.bind(originalConsole),
25-
info: originalConsole.info.bind(originalConsole),
26-
warn: originalConsole.warn.bind(originalConsole),
27-
error: originalConsole.error.bind(originalConsole),
28-
debug: originalConsole.debug.bind(originalConsole),
29-
}
21+
const originalConsole = typeof console !== 'undefined' ? console : undefined
22+
gcontext.originalConsole = originalConsole
23+
? {
24+
console: originalConsole,
25+
log: originalConsole.log.bind(originalConsole),
26+
info: originalConsole.info.bind(originalConsole),
27+
warn: originalConsole.warn.bind(originalConsole),
28+
error: originalConsole.error.bind(originalConsole),
29+
debug: originalConsole.debug.bind(originalConsole),
30+
}
31+
: undefined
3032
}
3133
return gcontext.originalConsole
3234
}

src/common/log/log-console.ts

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ export function LoggerConsoleHandler(opt: LogHandlerOptions = {}): LogHandler {
2222
// logCaptureConsole will override the console methods, so we need to get the original ones
2323
const originalConsole = getGlobalConsole()
2424

25+
if (!originalConsole)
26+
return () => {}
27+
2528
return (msg: LogMessage) => {
2629
if (!matchesLevel(msg.level))
2730
return

src/common/log/log-noop.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { LoggerInterface } from './log-base'
2+
3+
export function LoggerHandlerNoop(): LoggerInterface {
4+
const noop: any = () => {}
5+
const log = (() => {}) as LoggerInterface
6+
log.debug = noop
7+
log.info = noop
8+
log.warn = noop
9+
log.error = noop
10+
log.assert = noop
11+
log.fatal = noop
12+
return log
13+
}

src/node/files.spec.ts

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ describe('files.spec', () => {
7979
"common/log/log-filter.ts",
8080
"common/log/log-memory.spec.ts",
8181
"common/log/log-memory.ts",
82+
"common/log/log-noop.ts",
8283
"node/log/log-context-node.ts",
8384
"node/log/log-file.spec.ts",
8485
"node/log/log-file.ts",

0 commit comments

Comments
 (0)