Skip to content

Commit

Permalink
force log in production using console.prod
Browse files Browse the repository at this point in the history
  • Loading branch information
emekaorji committed Feb 1, 2024
1 parent 485a73f commit 0b4a218
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 57 deletions.
62 changes: 34 additions & 28 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,35 @@
if (typeof window !== 'undefined')
if (typeof window !== 'undefined') {
const prodConsoleObject = {
assert() { },
clear() { },
Console: window.console.Console,
count() { },
countReset() { },
debug() { },
dir() { },
dirxml() { },
error() { },
group() { },
groupCollapsed() { },
groupEnd() { },
info() { },
log() { },
prod: window.console,
profile() { },
profileEnd() { },
table() { },
time() { },
timeEnd() { },
timeLog() { },
timeStamp() { },
trace() { },
warn() { },
};
const consoleObject = Object.assign(Object.assign({}, console), { prod: window.console });
window.console =
process.env.NODE_ENV === 'production'
? ({
assert() { },
clear() { },
Console: window.console.Console,
count() { },
countReset() { },
debug() { },
dir() { },
dirxml() { },
error() { },
group() { },
groupCollapsed() { },
groupEnd() { },
info() { },
log() { },
profile() { },
profileEnd() { },
table() { },
time() { },
timeEnd() { },
timeLog() { },
timeStamp() { },
trace() { },
warn() { },
})
: console;
process.env.NODE_ENV === 'production' ? prodConsoleObject : consoleObject;
}
else {
const newConsoleObject = Object.assign(Object.assign({}, console), { prod: console });
console = newConsoleObject;
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "0.0.0",
"description": "Hide console logs in production",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"types": "types/global.d.ts",
"files": ["/dist"],
"scripts": {
"build": "tsc",
Expand Down
7 changes: 7 additions & 0 deletions src/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
declare global {
interface Console {
prod: Console;
}
}

export {};
62 changes: 34 additions & 28 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,35 @@
if (typeof window !== 'undefined')
if (typeof window !== 'undefined') {
const prodConsoleObject = {
assert() {},
clear() {},
Console: window.console.Console,
count() {},
countReset() {},
debug() {},
dir() {},
dirxml() {},
error() {},
group() {},
groupCollapsed() {},
groupEnd() {},
info() {},
log() {},
prod: window.console,
profile() {},
profileEnd() {},
table() {},
time() {},
timeEnd() {},
timeLog() {},
timeStamp() {},
trace() {},
warn() {},
};
const consoleObject = { ...console, prod: window.console };

window.console =
process.env.NODE_ENV === 'production'
? ({
assert() {},
clear() {},
Console: window.console.Console,
count() {},
countReset() {},
debug() {},
dir() {},
dirxml() {},
error() {},
group() {},
groupCollapsed() {},
groupEnd() {},
info() {},
log() {},
profile() {},
profileEnd() {},
table() {},
time() {},
timeEnd() {},
timeLog() {},
timeStamp() {},
trace() {},
warn() {},
} satisfies Console)
: console;
process.env.NODE_ENV === 'production' ? prodConsoleObject : consoleObject;
} else {
const newConsoleObject = { ...console, prod: console };
console = newConsoleObject;
}
7 changes: 7 additions & 0 deletions types/global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
declare global {
interface Console {
prod: Console;
}
}

export {};

0 comments on commit 0b4a218

Please sign in to comment.