@docusaurus/logger 3.7.0 → 3.8.0-canary-6324

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.
@@ -1 +1 @@
1
- {"version":3,"file":"perfLogger.d.ts","sourceRoot":"","sources":["../src/perfLogger.ts"],"names":[],"mappings":"AA8BA,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KACpC,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAuIF,eAAO,MAAM,UAAU,EAAE,aAAkC,CAAC"}
1
+ {"version":3,"file":"perfLogger.d.ts","sourceRoot":"","sources":["../src/perfLogger.ts"],"names":[],"mappings":"AA8BA,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KACpC,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AA+JF,eAAO,MAAM,UAAU,EAAE,aAAkC,CAAC"}
package/lib/perfLogger.js CHANGED
@@ -53,9 +53,13 @@ function createPerfLogger() {
53
53
  return logger_1.default.green(`${duration.toFixed(2)} ms`);
54
54
  }
55
55
  };
56
- const formatMemory = (memory) => {
57
- const fmtHead = (bytes) => logger_1.default.cyan(`${(bytes / 1000000).toFixed(0)}mb`);
58
- return logger_1.default.dim(`(${fmtHead(memory.before.heapUsed)} -> ${fmtHead(memory.after.heapUsed)})`);
56
+ const formatBytesToMb = (bytes) => logger_1.default.cyan(`${(bytes / 1024 / 1024).toFixed(0)}mb`);
57
+ const formatMemoryDelta = (memory) => {
58
+ return logger_1.default.dim(`(Heap ${formatBytesToMb(memory.before.heapUsed)} -> ${formatBytesToMb(memory.after.heapUsed)} / Total ${formatBytesToMb(memory.after.heapTotal)})`);
59
+ };
60
+ const formatMemoryCurrent = () => {
61
+ const memory = getMemory();
62
+ return logger_1.default.dim(`(Heap ${formatBytesToMb(memory.heapUsed)} / Total ${formatBytesToMb(memory.heapTotal)})`);
59
63
  };
60
64
  const formatStatus = (error) => {
61
65
  return error ? logger_1.default.red('[KO]') : ''; // logger.green('[OK]');
@@ -64,16 +68,25 @@ function createPerfLogger() {
64
68
  if (duration < Thresholds.min) {
65
69
  return;
66
70
  }
67
- console.log(`${PerfPrefix}${formatStatus(error)} ${label} - ${formatDuration(duration)} - ${formatMemory(memory)}`);
71
+ console.log(`${PerfPrefix}${formatStatus(error)} ${label} - ${formatDuration(duration)} - ${formatMemoryDelta(memory)}`);
68
72
  };
69
73
  const start = (label) => performance.mark(label, {
70
74
  detail: {
71
75
  memoryUsage: getMemory(),
72
76
  },
73
77
  });
74
- const end = (label) => {
75
- const { duration, detail: { memoryUsage }, } = performance.measure(label);
78
+ const readMark = (label) => {
79
+ const startMark = performance.getEntriesByName(label, 'mark')?.[0];
80
+ if (!startMark) {
81
+ throw new Error(`No performance start mark for label=${label}`);
82
+ }
76
83
  performance.clearMarks(label);
84
+ return startMark;
85
+ };
86
+ const end = (label) => {
87
+ const startMark = readMark(label);
88
+ const duration = performance.now() - startMark.startTime;
89
+ const { detail: { memoryUsage }, } = startMark;
77
90
  printPerfLog({
78
91
  label: applyParentPrefix(label),
79
92
  duration,
@@ -84,7 +97,7 @@ function createPerfLogger() {
84
97
  error: undefined,
85
98
  });
86
99
  };
87
- const log = (label) => console.log(`${PerfPrefix} ${applyParentPrefix(label)}`);
100
+ const log = (label) => console.log(`${PerfPrefix} ${applyParentPrefix(label)} - ${formatMemoryCurrent()}`);
88
101
  const async = async (label, asyncFn) => {
89
102
  const finalLabel = applyParentPrefix(label);
90
103
  const before = performance.now();
@@ -1 +1 @@
1
- {"version":3,"file":"perfLogger.js","sourceRoot":"","sources":["../src/perfLogger.ts"],"names":[],"mappings":";;;;AAAA;;;;;GAKG;AACH,6CAA8C;AAC9C,8DAA8B;AAE9B,2DAA2D;AAC3D,4DAA4D;AAC5D,MAAM,oBAAoB,GACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM,CAAC;AAEhD,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,UAAU,GAAG,gBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE3C,8DAA8D;AAC9D,4CAA4C;AAC5C,MAAM,YAAY,GAAG,IAAI,+BAAiB,EAAU,CAAC;AACrD,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAiBD,SAAS,SAAS;IAChB,yDAAyD;IACzD,sEAAsE;IACtE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;IAElB,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACtB,OAAO;YACL,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAU,EAAE;QAClD,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAC9B,OAAO,gBAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,gBAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,gBAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAU,EAAE;QAC9C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,gBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,gBAAM,CAAC,GAAG,CACf,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,OAAO,CAC/C,MAAM,CAAC,KAAK,CAAC,QAAQ,CACtB,GAAG,CACL,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAU,EAAE;QACxD,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,wBAAwB;IAClE,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EACpB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,GAMN,EAAE,EAAE;QACH,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,cAAc,CAC9D,QAAQ,CACT,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAC9B,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAA2B,CAAC,KAAK,EAAE,EAAE,CAC9C,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE;QACtB,MAAM,EAAE;YACN,WAAW,EAAE,SAAS,EAAE;SACzB;KACF,CAAC,CAAC;IAEL,MAAM,GAAG,GAAyB,CAAC,KAAK,EAAE,EAAE;QAC1C,MAAM,EACJ,QAAQ,EACR,MAAM,EAAE,EAAC,WAAW,EAAC,GACtB,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,YAAY,CAAC;YACX,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;YAC/B,QAAQ;YACR,MAAM,EAAE;gBACN,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,SAAS,EAAE;aACnB;YACD,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,GAAG,GAAyB,CAAC,KAAa,EAAE,EAAE,CAClD,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,KAAK,GAA2B,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC;QAEjC,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAA6B,EAAE,EAAE;YACvD,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YAC5C,YAAY,CAAC;gBACX,KAAK;gBACL,KAAK,EAAE,UAAU;gBACjB,QAAQ;gBACR,MAAM,EAAE;oBACN,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,WAAW;iBACnB;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,QAAQ,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,EAAC,KAAK,EAAE,CAAU,EAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK;QACL,GAAG;QACH,GAAG;QACH,KAAK;KACN,CAAC;AACJ,CAAC;AAEY,QAAA,UAAU,GAAkB,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"perfLogger.js","sourceRoot":"","sources":["../src/perfLogger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/logger",
3
- "version": "3.7.0",
3
+ "version": "3.8.0-canary-6324",
4
4
  "description": "An encapsulated logger for semantically formatting console messages.",
5
5
  "main": "./lib/index.js",
6
6
  "repository": {
@@ -29,5 +29,5 @@
29
29
  "devDependencies": {
30
30
  "@types/supports-color": "^8.1.1"
31
31
  },
32
- "gitHead": "dd59750c16fe6908a26f18806a54d4c3dbe6db43"
32
+ "gitHead": "1fdcae691b9f171b90695b15e8e643eb031cb96a"
33
33
  }
package/src/perfLogger.ts CHANGED
@@ -72,12 +72,22 @@ function createPerfLogger(): PerfLoggerAPI {
72
72
  }
73
73
  };
74
74
 
75
- const formatMemory = (memory: Memory): string => {
76
- const fmtHead = (bytes: number) =>
77
- logger.cyan(`${(bytes / 1000000).toFixed(0)}mb`);
75
+ const formatBytesToMb = (bytes: number) =>
76
+ logger.cyan(`${(bytes / 1024 / 1024).toFixed(0)}mb`);
77
+
78
+ const formatMemoryDelta = (memory: Memory): string => {
78
79
  return logger.dim(
79
- `(${fmtHead(memory.before.heapUsed)} -> ${fmtHead(
80
+ `(Heap ${formatBytesToMb(memory.before.heapUsed)} -> ${formatBytesToMb(
80
81
  memory.after.heapUsed,
82
+ )} / Total ${formatBytesToMb(memory.after.heapTotal)})`,
83
+ );
84
+ };
85
+
86
+ const formatMemoryCurrent = (): string => {
87
+ const memory = getMemory();
88
+ return logger.dim(
89
+ `(Heap ${formatBytesToMb(memory.heapUsed)} / Total ${formatBytesToMb(
90
+ memory.heapTotal,
81
91
  )})`,
82
92
  );
83
93
  };
@@ -103,7 +113,7 @@ function createPerfLogger(): PerfLoggerAPI {
103
113
  console.log(
104
114
  `${PerfPrefix}${formatStatus(error)} ${label} - ${formatDuration(
105
115
  duration,
106
- )} - ${formatMemory(memory)}`,
116
+ )} - ${formatMemoryDelta(memory)}`,
107
117
  );
108
118
  };
109
119
 
@@ -114,12 +124,24 @@ function createPerfLogger(): PerfLoggerAPI {
114
124
  },
115
125
  });
116
126
 
127
+ const readMark = (label: string) => {
128
+ const startMark = performance.getEntriesByName(
129
+ label,
130
+ 'mark',
131
+ )?.[0] as PerformanceMark;
132
+ if (!startMark) {
133
+ throw new Error(`No performance start mark for label=${label}`);
134
+ }
135
+ performance.clearMarks(label);
136
+ return startMark;
137
+ };
138
+
117
139
  const end: PerfLoggerAPI['end'] = (label) => {
140
+ const startMark = readMark(label);
141
+ const duration = performance.now() - startMark.startTime;
118
142
  const {
119
- duration,
120
143
  detail: {memoryUsage},
121
- } = performance.measure(label);
122
- performance.clearMarks(label);
144
+ } = startMark;
123
145
  printPerfLog({
124
146
  label: applyParentPrefix(label),
125
147
  duration,
@@ -132,7 +154,9 @@ function createPerfLogger(): PerfLoggerAPI {
132
154
  };
133
155
 
134
156
  const log: PerfLoggerAPI['log'] = (label: string) =>
135
- console.log(`${PerfPrefix} ${applyParentPrefix(label)}`);
157
+ console.log(
158
+ `${PerfPrefix} ${applyParentPrefix(label)} - ${formatMemoryCurrent()}`,
159
+ );
136
160
 
137
161
  const async: PerfLoggerAPI['async'] = async (label, asyncFn) => {
138
162
  const finalLabel = applyParentPrefix(label);