@php-wasm/logger 0.9.39 → 0.9.41

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/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@php-wasm/node-polyfills");const m="playground-log",g=(e,...r)=>{y.dispatchEvent(new CustomEvent(m,{detail:{log:e,args:r}}))},b=(e,...r)=>{switch(typeof e.message=="string"?Reflect.set(e,"message",a(e.message)):e.message.message&&typeof e.message.message=="string"&&Reflect.set(e.message,"message",a(e.message.message)),e.severity){case"Debug":console.debug(e.message,...r);break;case"Info":console.info(e.message,...r);break;case"Warn":console.warn(e.message,...r);break;case"Error":console.error(e.message,...r);break;case"Fatal":console.error(e.message,...r);break;default:console.log(e.message,...r)}},v=e=>e instanceof Error?[e.message,e.stack].join(`
2
- `):JSON.stringify(e,null,2),p=[],d=e=>{p.push(e)},c=e=>{if(e.raw===!0)d(e.message);else{const r=E(typeof e.message=="object"?v(e.message):e.message,e.severity??"Info",e.prefix??"JavaScript");d(r)}};class h extends EventTarget{constructor(r=[]){super(),this.handlers=r,this.fatalErrorEvent="playground-fatal-error"}getLogs(){return this.handlers.includes(c)?[...p]:(this.error(`Logs aren't stored because the logToMemory handler isn't registered.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@php-wasm/node-polyfills");const m="playground-log",d=(e,...r)=>{y.dispatchEvent(new CustomEvent(m,{detail:{log:e,args:r}}))},b=(e,...r)=>{switch(typeof e.message=="string"?Reflect.set(e,"message",a(e.message)):e.message.message&&typeof e.message.message=="string"&&Reflect.set(e.message,"message",a(e.message.message)),e.severity){case"Debug":console.debug(e.message,...r);break;case"Info":console.info(e.message,...r);break;case"Warn":console.warn(e.message,...r);break;case"Error":console.error(e.message,...r);break;case"Fatal":console.error(e.message,...r);break;default:console.log(e.message,...r)}},v=e=>e instanceof Error?[e.message,e.stack].join(`
2
+ `):JSON.stringify(e,null,2),p=[],l=e=>{p.push(e)},c=e=>{if(e.raw===!0)l(e.message);else{const r=E(typeof e.message=="object"?v(e.message):e.message,e.severity??"Info",e.prefix??"JavaScript");l(r)}};let n=0;const g="/wordpress/wp-content/debug.log",T=async e=>await e.fileExists(g)?await e.readFileAsText(g):"",M=(e,r)=>{r.addEventListener("request.end",async()=>{const s=await T(r);if(s.length>n){const t=s.substring(n);e.logMessage({message:t,raw:!0}),n=s.length}}),r.addEventListener("request.error",s=>{s=s,s.error&&(e.logMessage({message:`${s.error.message} ${s.error.stack}`,severity:"Fatal",prefix:s.source==="request"?"PHP":"WASM Crash"}),e.dispatchEvent(new CustomEvent(e.fatalErrorEvent,{detail:{logs:e.getLogs(),source:s.source}})))})};class h extends EventTarget{constructor(r=[]){super(),this.handlers=r,this.fatalErrorEvent="playground-fatal-error"}getLogs(){return this.handlers.includes(c)?[...p]:(this.error(`Logs aren't stored because the logToMemory handler isn't registered.
3
3
  If you're using a custom logger instance, make sure to register logToMemory handler.
4
- `),[])}logMessage(r,...s){for(const t of this.handlers)t(r,...s)}log(r,...s){this.logMessage({message:r,severity:void 0,prefix:"JavaScript",raw:!1},...s)}debug(r,...s){this.logMessage({message:r,severity:"Debug",prefix:"JavaScript",raw:!1},...s)}info(r,...s){this.logMessage({message:r,severity:"Info",prefix:"JavaScript",raw:!1},...s)}warn(r,...s){this.logMessage({message:r,severity:"Warn",prefix:"JavaScript",raw:!1},...s)}error(r,...s){this.logMessage({message:r,severity:"Error",prefix:"JavaScript",raw:!1},...s)}}const T=()=>{try{if(process.env.NODE_ENV==="test")return[c,g]}catch{}return[c,b,g]},y=new h(T()),a=e=>e.replace(/\t/g,""),E=(e,r,s)=>{const t=new Date,o=new Intl.DateTimeFormat("en-GB",{year:"numeric",month:"short",day:"2-digit",timeZone:"UTC"}).format(t).replace(/ /g,"-"),w=new Intl.DateTimeFormat("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC",timeZoneName:"short"}).format(t),L=o+" "+w;return e=a(e),`[${L}] ${s} ${r}: ${e}`},M=(e,r)=>{e.addEventListener(e.fatalErrorEvent,r)};let n=0;const l="/wordpress/wp-content/debug.log",P=async e=>await e.fileExists(l)?await e.readFileAsText(l):"",O=(e,r)=>{r.addEventListener("request.end",async()=>{const s=await P(r);if(s.length>n){const t=s.substring(n);e.logMessage({message:t,raw:!0}),n=s.length}}),r.addEventListener("request.error",s=>{s=s,s.error&&(e.logMessage({message:`${s.error.message} ${s.error.stack}`,severity:"Fatal",prefix:s.source==="request"?"PHP":"WASM Crash"}),e.dispatchEvent(new CustomEvent(e.fatalErrorEvent,{detail:{logs:e.getLogs(),source:s.source}})))})},S=(e,r)=>{e.logMessage({message:`${r.message} in ${r.filename} on line ${r.lineno}:${r.colno}`,severity:"Error"})},f=(e,r)=>{if(!(r!=null&&r.reason))return;const s=(r==null?void 0:r.reason.stack)??r.reason;e.logMessage({message:s,severity:"Error"})};let i=0;const k=e=>{navigator.serviceWorker.addEventListener("message",r=>{var s,t,o;((s=r.data)==null?void 0:s.numberOfOpenPlaygroundTabs)!==void 0&&i!==((t=r.data)==null?void 0:t.numberOfOpenPlaygroundTabs)&&(i=(o=r.data)==null?void 0:o.numberOfOpenPlaygroundTabs,e.debug(`Number of open Playground tabs is: ${i}`))})};let u=!1;const $=e=>{u||(k(e),!(typeof window>"u")&&(window.addEventListener("error",r=>S(e,r)),window.addEventListener("unhandledrejection",r=>f(e,r)),window.addEventListener("rejectionhandled",r=>f(e,r)),u=!0))},x=e=>{e.addEventListener("activate",()=>{e.clients.matchAll().then(r=>{const s={numberOfOpenPlaygroundTabs:r.filter(t=>t.frameType==="top-level").length};for(const t of r)t.postMessage(s)})})};exports.Logger=h;exports.addCrashListener=M;exports.collectPhpLogs=O;exports.collectWindowErrors=$;exports.formatLogEntry=E;exports.logEventType=m;exports.logger=y;exports.prepareLogMessage=a;exports.reportServiceWorkerMetrics=x;
4
+ `),[])}logMessage(r,...s){for(const t of this.handlers)t(r,...s)}log(r,...s){this.logMessage({message:r,severity:void 0,prefix:"JavaScript",raw:!1},...s)}debug(r,...s){this.logMessage({message:r,severity:"Debug",prefix:"JavaScript",raw:!1},...s)}info(r,...s){this.logMessage({message:r,severity:"Info",prefix:"JavaScript",raw:!1},...s)}warn(r,...s){this.logMessage({message:r,severity:"Warn",prefix:"JavaScript",raw:!1},...s)}error(r,...s){this.logMessage({message:r,severity:"Error",prefix:"JavaScript",raw:!1},...s)}}const P=()=>{try{if(process.env.NODE_ENV==="test")return[c,d]}catch{}return[c,b,d]},y=new h(P()),a=e=>e.replace(/\t/g,""),E=(e,r,s)=>{const t=new Date,o=new Intl.DateTimeFormat("en-GB",{year:"numeric",month:"short",day:"2-digit",timeZone:"UTC"}).format(t).replace(/ /g,"-"),w=new Intl.DateTimeFormat("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:"UTC",timeZoneName:"short"}).format(t),L=o+" "+w;return e=a(e),`[${L}] ${s} ${r}: ${e}`},O=(e,r)=>{e.addEventListener(e.fatalErrorEvent,r)},S=(e,r)=>{e.logMessage({message:`${r.message} in ${r.filename} on line ${r.lineno}:${r.colno}`,severity:"Error"})},f=(e,r)=>{if(!(r!=null&&r.reason))return;const s=(r==null?void 0:r.reason.stack)??r.reason;e.logMessage({message:s,severity:"Error"})};let i=0;const k=e=>{navigator.serviceWorker.addEventListener("message",r=>{var s,t,o;((s=r.data)==null?void 0:s.numberOfOpenPlaygroundTabs)!==void 0&&i!==((t=r.data)==null?void 0:t.numberOfOpenPlaygroundTabs)&&(i=(o=r.data)==null?void 0:o.numberOfOpenPlaygroundTabs,e.debug(`Number of open Playground tabs is: ${i}`))})};let u=!1;const $=e=>{u||(k(e),!(typeof window>"u")&&(window.addEventListener("error",r=>S(e,r)),window.addEventListener("unhandledrejection",r=>f(e,r)),window.addEventListener("rejectionhandled",r=>f(e,r)),u=!0))},x=e=>{e.addEventListener("activate",()=>{e.clients.matchAll().then(r=>{const s={numberOfOpenPlaygroundTabs:r.filter(t=>t.frameType==="top-level").length};for(const t of r)t.postMessage(s)})})};exports.Logger=h;exports.addCrashListener=O;exports.collectPhpLogs=M;exports.collectWindowErrors=$;exports.errorLogPath=g;exports.formatLogEntry=E;exports.logEventType=m;exports.logger=y;exports.prepareLogMessage=a;exports.reportServiceWorkerMetrics=x;
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "@php-wasm/node-polyfills";
2
2
  const E = "playground-log", d = (e, ...r) => {
3
- v.dispatchEvent(
3
+ T.dispatchEvent(
4
4
  new CustomEvent(E, {
5
5
  detail: {
6
6
  log: e,
@@ -39,7 +39,7 @@ const E = "playground-log", d = (e, ...r) => {
39
39
  if (e.raw === !0)
40
40
  g(e.message);
41
41
  else {
42
- const r = T(
42
+ const r = M(
43
43
  typeof e.message == "object" ? y(e.message) : e.message,
44
44
  e.severity ?? "Info",
45
45
  e.prefix ?? "JavaScript"
@@ -47,7 +47,33 @@ const E = "playground-log", d = (e, ...r) => {
47
47
  g(r);
48
48
  }
49
49
  };
50
- class b extends EventTarget {
50
+ let o = 0;
51
+ const l = "/wordpress/wp-content/debug.log", b = async (e) => await e.fileExists(l) ? await e.readFileAsText(l) : "", k = (e, r) => {
52
+ r.addEventListener("request.end", async () => {
53
+ const s = await b(r);
54
+ if (s.length > o) {
55
+ const t = s.substring(o);
56
+ e.logMessage({
57
+ message: t,
58
+ raw: !0
59
+ }), o = s.length;
60
+ }
61
+ }), r.addEventListener("request.error", (s) => {
62
+ s = s, s.error && (e.logMessage({
63
+ message: `${s.error.message} ${s.error.stack}`,
64
+ severity: "Fatal",
65
+ prefix: s.source === "request" ? "PHP" : "WASM Crash"
66
+ }), e.dispatchEvent(
67
+ new CustomEvent(e.fatalErrorEvent, {
68
+ detail: {
69
+ logs: e.getLogs(),
70
+ source: s.source
71
+ }
72
+ })
73
+ ));
74
+ });
75
+ };
76
+ class L extends EventTarget {
51
77
  // constructor
52
78
  constructor(r = []) {
53
79
  super(), this.handlers = r, this.fatalErrorEvent = "playground-fatal-error";
@@ -159,14 +185,14 @@ class b extends EventTarget {
159
185
  );
160
186
  }
161
187
  }
162
- const L = () => {
188
+ const v = () => {
163
189
  try {
164
190
  if (process.env.NODE_ENV === "test")
165
191
  return [i, d];
166
192
  } catch {
167
193
  }
168
194
  return [i, w, d];
169
- }, v = new b(L()), c = (e) => e.replace(/\t/g, ""), T = (e, r, s) => {
195
+ }, T = new L(v()), c = (e) => e.replace(/\t/g, ""), M = (e, r, s) => {
170
196
  const t = /* @__PURE__ */ new Date(), a = new Intl.DateTimeFormat("en-GB", {
171
197
  year: "numeric",
172
198
  month: "short",
@@ -181,34 +207,8 @@ const L = () => {
181
207
  timeZoneName: "short"
182
208
  }).format(t), h = a + " " + p;
183
209
  return e = c(e), `[${h}] ${s} ${r}: ${e}`;
184
- }, k = (e, r) => {
210
+ }, x = (e, r) => {
185
211
  e.addEventListener(e.fatalErrorEvent, r);
186
- };
187
- let o = 0;
188
- const l = "/wordpress/wp-content/debug.log", M = async (e) => await e.fileExists(l) ? await e.readFileAsText(l) : "", x = (e, r) => {
189
- r.addEventListener("request.end", async () => {
190
- const s = await M(r);
191
- if (s.length > o) {
192
- const t = s.substring(o);
193
- e.logMessage({
194
- message: t,
195
- raw: !0
196
- }), o = s.length;
197
- }
198
- }), r.addEventListener("request.error", (s) => {
199
- s = s, s.error && (e.logMessage({
200
- message: `${s.error.message} ${s.error.stack}`,
201
- severity: "Fatal",
202
- prefix: s.source === "request" ? "PHP" : "WASM Crash"
203
- }), e.dispatchEvent(
204
- new CustomEvent(e.fatalErrorEvent, {
205
- detail: {
206
- logs: e.getLogs(),
207
- source: s.source
208
- }
209
- })
210
- ));
211
- });
212
212
  }, P = (e, r) => {
213
213
  e.logMessage({
214
214
  message: `${r.message} in ${r.filename} on line ${r.lineno}:${r.colno}`,
@@ -259,13 +259,14 @@ const S = (e) => {
259
259
  });
260
260
  };
261
261
  export {
262
- b as Logger,
263
- k as addCrashListener,
264
- x as collectPhpLogs,
262
+ L as Logger,
263
+ x as addCrashListener,
264
+ k as collectPhpLogs,
265
265
  S as collectWindowErrors,
266
- T as formatLogEntry,
266
+ l as errorLogPath,
267
+ M as formatLogEntry,
267
268
  E as logEventType,
268
- v as logger,
269
+ T as logger,
269
270
  c as prepareLogMessage,
270
271
  C as reportServiceWorkerMetrics
271
272
  };
@@ -1,5 +1,6 @@
1
1
  import type { UniversalPHP } from '../types';
2
2
  import { Logger } from '../logger';
3
+ export declare const errorLogPath = "/wordpress/wp-content/debug.log";
3
4
  /**
4
5
  * Collect PHP logs from the error_log file and log them.
5
6
  * @param UniversalPHP playground instance
package/lib/logger.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { logEventType } from './handlers/log-event';
2
+ export { errorLogPath } from './collectors/collect-php-logs';
2
3
  export type Log = {
3
4
  message: any;
4
5
  severity?: LogSeverity;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@php-wasm/logger",
3
- "version": "0.9.39",
3
+ "version": "0.9.41",
4
4
  "description": "A logger for PHP-wasm clients like Playground and WP-now.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,8 +27,8 @@
27
27
  "node": ">=18.18.0",
28
28
  "npm": ">=8.11.0"
29
29
  },
30
- "gitHead": "cbb5ec6aeed54bebf0fd6503f207c93261b3e4ba",
30
+ "gitHead": "111db1796e93755038ae6d15742c02d3f8c20889",
31
31
  "dependencies": {
32
- "@php-wasm/node-polyfills": "0.9.39"
32
+ "@php-wasm/node-polyfills": "0.9.41"
33
33
  }
34
34
  }