syntropylog 0.9.15 → 0.9.17
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/CHANGELOG.md +16 -0
- package/dist/index.cjs +19 -13
- package/dist/index.mjs +19 -13
- package/dist/logger/transports/optionalChalk.js +19 -12
- package/dist/logger/transports/optionalChalk.js.map +1 -1
- package/dist/testing/BeaconRedisMock.js +1 -27
- package/dist/testing/BeaconRedisMock.js.map +1 -1
- package/dist/testing/index.cjs +1 -21421
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.mjs +1 -21421
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/testing/BeaconRedisMock.d.ts +1 -0
- package/package.json +1 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/testing/index.cjs.map +0 -1
- package/dist/testing/index.mjs.map +0 -1
- package/dist/testing/magic-string.es-Bf6eKFmE.js +0 -2005
- package/dist/testing/magic-string.es-Bf6eKFmE.js.map +0 -1
- package/dist/testing/magic-string.es-Dl5DFuGU.js +0 -2001
- package/dist/testing/magic-string.es-Dl5DFuGU.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- **Reduce published package size (~6.7 MB → ~1.4 MB unpacked)**
|
|
8
|
+
- Removed vitest and inline tests from `src/testing/BeaconRedisMock.ts`; tests moved to `tests/testing/BeaconRedisMock.test.ts`. Marked `vitest` as external in Rollup for the testing bundle so it is no longer bundled (was pulling in magic-string and large deps).
|
|
9
|
+
- Disabled source maps in production build (`sourcemap: false` in Rollup) so `.map` files are not published. Tarball ~1.3 MB → ~300 KB; unpacked ~6.7 MB → ~1.4 MB.
|
|
10
|
+
|
|
11
|
+
## 0.9.16
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- **Fix: Maximum call stack size exceeded in optionalChalk**
|
|
16
|
+
- `createChain()` was eagerly building all chain nodes when constructing the root, causing infinite recursion (each node created 12 more). Replaced direct property assignment with lazy getters so the next chain is only created when a property is accessed (e.g. `.red.bold`). Fixes runtime error when using ClassicConsoleTransport and other pretty transports.
|
|
17
|
+
- Added `examples/AllTransportsExample.ts` to validate all console transports (JSON, Classic, Pretty, Compact, Colorful) in one run.
|
|
18
|
+
|
|
3
19
|
## 0.9.15
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -2566,18 +2566,25 @@ function wrap(s, codes) {
|
|
|
2566
2566
|
function createChain(codes) {
|
|
2567
2567
|
const fn = ((s) => wrap(s, codes));
|
|
2568
2568
|
const add = (code) => createChain([...codes, code]);
|
|
2569
|
-
|
|
2570
|
-
fn
|
|
2571
|
-
fn
|
|
2572
|
-
fn
|
|
2573
|
-
fn
|
|
2574
|
-
fn
|
|
2575
|
-
fn
|
|
2576
|
-
fn
|
|
2577
|
-
fn
|
|
2578
|
-
fn
|
|
2579
|
-
|
|
2580
|
-
|
|
2569
|
+
// Lazy getters: only create the next chain when the property is accessed (avoids stack overflow)
|
|
2570
|
+
Object.defineProperty(fn, 'white', { get: () => add(37), enumerable: true });
|
|
2571
|
+
Object.defineProperty(fn, 'bold', { get: () => add(1), enumerable: true });
|
|
2572
|
+
Object.defineProperty(fn, 'red', { get: () => add(31), enumerable: true });
|
|
2573
|
+
Object.defineProperty(fn, 'bgRed', { get: () => add(41), enumerable: true });
|
|
2574
|
+
Object.defineProperty(fn, 'yellow', { get: () => add(33), enumerable: true });
|
|
2575
|
+
Object.defineProperty(fn, 'cyan', { get: () => add(36), enumerable: true });
|
|
2576
|
+
Object.defineProperty(fn, 'green', { get: () => add(32), enumerable: true });
|
|
2577
|
+
Object.defineProperty(fn, 'gray', { get: () => add(90), enumerable: true });
|
|
2578
|
+
Object.defineProperty(fn, 'magenta', {
|
|
2579
|
+
get: () => add(35),
|
|
2580
|
+
enumerable: true,
|
|
2581
|
+
});
|
|
2582
|
+
Object.defineProperty(fn, 'blue', { get: () => add(34), enumerable: true });
|
|
2583
|
+
Object.defineProperty(fn, 'bgWhite', {
|
|
2584
|
+
get: () => add(47),
|
|
2585
|
+
enumerable: true,
|
|
2586
|
+
});
|
|
2587
|
+
Object.defineProperty(fn, 'dim', { get: () => add(2), enumerable: true });
|
|
2581
2588
|
return fn;
|
|
2582
2589
|
}
|
|
2583
2590
|
let cached = null;
|
|
@@ -4658,4 +4665,3 @@ exports.Transport = Transport;
|
|
|
4658
4665
|
exports.UniversalAdapter = UniversalAdapter;
|
|
4659
4666
|
exports.UniversalLogFormatter = UniversalLogFormatter;
|
|
4660
4667
|
exports.syntropyLog = syntropyLog;
|
|
4661
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/index.mjs
CHANGED
|
@@ -2545,18 +2545,25 @@ function wrap(s, codes) {
|
|
|
2545
2545
|
function createChain(codes) {
|
|
2546
2546
|
const fn = ((s) => wrap(s, codes));
|
|
2547
2547
|
const add = (code) => createChain([...codes, code]);
|
|
2548
|
-
|
|
2549
|
-
fn
|
|
2550
|
-
fn
|
|
2551
|
-
fn
|
|
2552
|
-
fn
|
|
2553
|
-
fn
|
|
2554
|
-
fn
|
|
2555
|
-
fn
|
|
2556
|
-
fn
|
|
2557
|
-
fn
|
|
2558
|
-
|
|
2559
|
-
|
|
2548
|
+
// Lazy getters: only create the next chain when the property is accessed (avoids stack overflow)
|
|
2549
|
+
Object.defineProperty(fn, 'white', { get: () => add(37), enumerable: true });
|
|
2550
|
+
Object.defineProperty(fn, 'bold', { get: () => add(1), enumerable: true });
|
|
2551
|
+
Object.defineProperty(fn, 'red', { get: () => add(31), enumerable: true });
|
|
2552
|
+
Object.defineProperty(fn, 'bgRed', { get: () => add(41), enumerable: true });
|
|
2553
|
+
Object.defineProperty(fn, 'yellow', { get: () => add(33), enumerable: true });
|
|
2554
|
+
Object.defineProperty(fn, 'cyan', { get: () => add(36), enumerable: true });
|
|
2555
|
+
Object.defineProperty(fn, 'green', { get: () => add(32), enumerable: true });
|
|
2556
|
+
Object.defineProperty(fn, 'gray', { get: () => add(90), enumerable: true });
|
|
2557
|
+
Object.defineProperty(fn, 'magenta', {
|
|
2558
|
+
get: () => add(35),
|
|
2559
|
+
enumerable: true,
|
|
2560
|
+
});
|
|
2561
|
+
Object.defineProperty(fn, 'blue', { get: () => add(34), enumerable: true });
|
|
2562
|
+
Object.defineProperty(fn, 'bgWhite', {
|
|
2563
|
+
get: () => add(47),
|
|
2564
|
+
enumerable: true,
|
|
2565
|
+
});
|
|
2566
|
+
Object.defineProperty(fn, 'dim', { get: () => add(2), enumerable: true });
|
|
2560
2567
|
return fn;
|
|
2561
2568
|
}
|
|
2562
2569
|
let cached = null;
|
|
@@ -4624,4 +4631,3 @@ var RedisManager$1 = /*#__PURE__*/Object.freeze({
|
|
|
4624
4631
|
});
|
|
4625
4632
|
|
|
4626
4633
|
export { AdapterTransport, ClassicConsoleTransport, ColorfulConsoleTransport, CompactConsoleTransport, ConsoleTransport, PrettyConsoleTransport, SanitizationEngine, SerializationComplexity, SerializationManager, SpyTransport, SyntropyLog, Transport, UniversalAdapter, UniversalLogFormatter, syntropyLog };
|
|
4627
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -12,18 +12,25 @@ function wrap(s, codes) {
|
|
|
12
12
|
function createChain(codes) {
|
|
13
13
|
const fn = ((s) => wrap(s, codes));
|
|
14
14
|
const add = (code) => createChain([...codes, code]);
|
|
15
|
-
|
|
16
|
-
fn
|
|
17
|
-
fn
|
|
18
|
-
fn
|
|
19
|
-
fn
|
|
20
|
-
fn
|
|
21
|
-
fn
|
|
22
|
-
fn
|
|
23
|
-
fn
|
|
24
|
-
fn
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
// Lazy getters: only create the next chain when the property is accessed (avoids stack overflow)
|
|
16
|
+
Object.defineProperty(fn, 'white', { get: () => add(37), enumerable: true });
|
|
17
|
+
Object.defineProperty(fn, 'bold', { get: () => add(1), enumerable: true });
|
|
18
|
+
Object.defineProperty(fn, 'red', { get: () => add(31), enumerable: true });
|
|
19
|
+
Object.defineProperty(fn, 'bgRed', { get: () => add(41), enumerable: true });
|
|
20
|
+
Object.defineProperty(fn, 'yellow', { get: () => add(33), enumerable: true });
|
|
21
|
+
Object.defineProperty(fn, 'cyan', { get: () => add(36), enumerable: true });
|
|
22
|
+
Object.defineProperty(fn, 'green', { get: () => add(32), enumerable: true });
|
|
23
|
+
Object.defineProperty(fn, 'gray', { get: () => add(90), enumerable: true });
|
|
24
|
+
Object.defineProperty(fn, 'magenta', {
|
|
25
|
+
get: () => add(35),
|
|
26
|
+
enumerable: true,
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(fn, 'blue', { get: () => add(34), enumerable: true });
|
|
29
|
+
Object.defineProperty(fn, 'bgWhite', {
|
|
30
|
+
get: () => add(47),
|
|
31
|
+
enumerable: true,
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(fn, 'dim', { get: () => add(2), enumerable: true });
|
|
27
34
|
return fn;
|
|
28
35
|
}
|
|
29
36
|
let cached = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionalChalk.js","sourceRoot":"","sources":["../../../src/logger/transports/optionalChalk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,SAAS,IAAI,CAAC,CAAS,EAAE,KAAe;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAc,CAAC;IACxD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,
|
|
1
|
+
{"version":3,"file":"optionalChalk.js","sourceRoot":"","sources":["../../../src/logger/transports/optionalChalk.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,34 +2,8 @@
|
|
|
2
2
|
* FILE: src/testing/BeaconRedisMock.ts
|
|
3
3
|
* DESCRIPTION: A mock implementation of IBeaconRedis for use in unit tests.
|
|
4
4
|
* This mock is framework agnostic and works with both Vitest and Jest.
|
|
5
|
+
* (Unit tests for createMockFn/createTransactionObject live in tests/testing/BeaconRedisMock.test.ts.)
|
|
5
6
|
*/
|
|
6
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
7
|
-
describe('BeaconRedisMock Pure Functions', () => {
|
|
8
|
-
describe('createMockFn', () => {
|
|
9
|
-
it('should throw if spyFn is not provided', () => {
|
|
10
|
-
expect(() => createMockFn(null)).toThrow('SPY FUNCTION NOT INJECTED');
|
|
11
|
-
});
|
|
12
|
-
it('should call spyFn if provided', () => {
|
|
13
|
-
const spyFn = vi.fn().mockReturnValue('mocked');
|
|
14
|
-
const result = createMockFn(spyFn);
|
|
15
|
-
expect(spyFn).toHaveBeenCalled();
|
|
16
|
-
expect(result).toBe('mocked');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
describe('createTransactionObject', () => {
|
|
20
|
-
it('should return a transaction object with exec and executeScript', () => {
|
|
21
|
-
const spyFn = vi.fn().mockReturnValue({ mockResolvedValue: vi.fn() });
|
|
22
|
-
const tx = createTransactionObject(spyFn);
|
|
23
|
-
expect(tx).toHaveProperty('exec');
|
|
24
|
-
expect(tx).toHaveProperty('executeScript');
|
|
25
|
-
});
|
|
26
|
-
it('should have executeScript that throws', () => {
|
|
27
|
-
const spyFn = vi.fn().mockReturnValue({ mockResolvedValue: vi.fn() });
|
|
28
|
-
const tx = createTransactionObject(spyFn);
|
|
29
|
-
expect(() => tx.executeScript('script', [], [])).toThrow('SCRIPT execution not supported');
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
7
|
// Function that throws error for Lua script execution in transaction - outside of any mock context
|
|
34
8
|
const throwScriptError = () => {
|
|
35
9
|
throw new Error('SCRIPT execution not supported in transaction (mocked BeaconRedisMock)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BeaconRedisMock.js","sourceRoot":"","sources":["../../src/testing/BeaconRedisMock.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BeaconRedisMock.js","sourceRoot":"","sources":["../../src/testing/BeaconRedisMock.ts"],"names":[],"mappings":"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"}
|