@miketako3/cloki 0.1.16 → 0.1.19

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/dist/logger.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Loki config
3
3
  */
4
- type LokiConfig = {
4
+ export type LokiConfig = {
5
5
  lokiHost: string;
6
6
  lokiToken: string;
7
7
  lokiUser: string;
@@ -9,9 +9,20 @@ type LokiConfig = {
9
9
  /**
10
10
  * Loki labels
11
11
  */
12
- type LokiLabels = {
12
+ export type LokiLabels = {
13
13
  [key: string]: string;
14
14
  };
15
+ /**
16
+ * Loki message
17
+ */
18
+ export type LokiMessage = {
19
+ streams: [
20
+ {
21
+ stream: LokiLabels;
22
+ values: [string[]];
23
+ }
24
+ ];
25
+ };
15
26
  /**
16
27
  * Create a Loki logger
17
28
  * logger has some async logging methods like info, error, warn, etc.
@@ -24,4 +35,3 @@ export declare const getLokiLogger: (config: LokiConfig) => {
24
35
  error: (message: object, labels?: LokiLabels) => Promise<void>;
25
36
  debug: (message: object, labels?: LokiLabels) => Promise<void>;
26
37
  };
27
- export {};
@@ -9,61 +9,72 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const vitest_1 = require("vitest");
12
13
  const logger_1 = require("./logger"); // Adjust the import path as necessary
13
- global.fetch = jest.fn(() => Promise.resolve({
14
+ global.fetch = vitest_1.vi.fn(() => Promise.resolve({
14
15
  ok: true,
15
16
  }));
16
- Date.now = jest.fn(() => 1482363367071);
17
- describe("Loki Logger", () => {
17
+ Date.now = vitest_1.vi.fn(() => 1482363367071);
18
+ (0, vitest_1.describe)("Loki Logger", () => {
18
19
  const mockConfig = {
19
20
  lokiHost: "testhost",
20
21
  lokiToken: "token123",
21
22
  lokiUser: "user",
22
23
  };
23
- beforeEach(() => {
24
- jest.clearAllMocks();
24
+ (0, vitest_1.beforeEach)(() => {
25
+ vitest_1.vi.clearAllMocks();
25
26
  });
26
- it("should create a logger with the correct methods", () => {
27
+ (0, vitest_1.it)("should create a logger with the correct methods", () => {
27
28
  const logger = (0, logger_1.getLokiLogger)(mockConfig);
28
- expect(logger).toHaveProperty("info");
29
- expect(logger).toHaveProperty("warn");
30
- expect(logger).toHaveProperty("error");
31
- expect(logger).toHaveProperty("debug");
29
+ (0, vitest_1.expect)(logger).toHaveProperty("info");
30
+ (0, vitest_1.expect)(logger).toHaveProperty("warn");
31
+ (0, vitest_1.expect)(logger).toHaveProperty("error");
32
+ (0, vitest_1.expect)(logger).toHaveProperty("debug");
32
33
  });
33
- describe("Logging Methods", () => {
34
- it.each(["info", "warn", "error", "debug"])("should call log for %s method", (method) => __awaiter(void 0, void 0, void 0, function* () {
34
+ (0, vitest_1.describe)("Logging Methods", () => {
35
+ vitest_1.it.each([
36
+ "info",
37
+ "warn",
38
+ "error",
39
+ "debug",
40
+ ])("should call log for %s method", (method) => __awaiter(void 0, void 0, void 0, function* () {
35
41
  const logger = (0, logger_1.getLokiLogger)(mockConfig);
36
42
  const mockMessage = { test: "message" };
37
- const consoleSpy = jest.spyOn(console, "log").mockImplementation();
43
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
38
44
  yield logger[method](mockMessage);
39
- expect(consoleSpy).toHaveBeenCalledWith(JSON.stringify(mockMessage));
40
- expect(fetch).toHaveBeenCalledTimes(1);
41
- expect(fetch).toHaveBeenCalledWith("https://testhost/loki/api/v1/push", {
45
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(JSON.stringify(mockMessage));
46
+ (0, vitest_1.expect)(fetch).toHaveBeenCalledTimes(1);
47
+ (0, vitest_1.expect)(fetch).toHaveBeenCalledWith("https://testhost/loki/api/v1/push", {
42
48
  method: "POST",
43
49
  headers: {
44
50
  "Content-Type": "application/json",
45
51
  Authorization: `Basic ${btoa("user:token123")}`,
46
52
  },
47
- body: `{\"streams\":[{\"stream\":{\"level\":\"${method}\"},\"values\":[[\"1482363367071000000\",\"{\\\"test\\\":\\\"message\\\"}\"]]}]}`,
53
+ body: `{"streams":[{"stream":{"level":"${method}"},"values":[["1482363367071000000","{\\"test\\":\\"message\\"}"]]}]}`,
48
54
  });
49
55
  // Reset the spy
50
56
  consoleSpy.mockRestore();
51
57
  }));
52
- it.each(["info", "warn", "error", "debug"])("should call log for %s method with some labels", (method) => __awaiter(void 0, void 0, void 0, function* () {
58
+ vitest_1.it.each([
59
+ "info",
60
+ "warn",
61
+ "error",
62
+ "debug",
63
+ ])("should call log for %s method with some labels", (method) => __awaiter(void 0, void 0, void 0, function* () {
53
64
  const logger = (0, logger_1.getLokiLogger)(mockConfig);
54
65
  const mockMessage = { test: "message" };
55
66
  const mockLabels = { hoge: "huga" };
56
- const consoleSpy = jest.spyOn(console, "log").mockImplementation();
67
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
57
68
  yield logger[method](mockMessage, mockLabels);
58
- expect(consoleSpy).toHaveBeenCalledWith(JSON.stringify(mockMessage));
59
- expect(fetch).toHaveBeenCalledTimes(1);
60
- expect(fetch).toHaveBeenCalledWith("https://testhost/loki/api/v1/push", {
69
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(JSON.stringify(mockMessage));
70
+ (0, vitest_1.expect)(fetch).toHaveBeenCalledTimes(1);
71
+ (0, vitest_1.expect)(fetch).toHaveBeenCalledWith("https://testhost/loki/api/v1/push", {
61
72
  method: "POST",
62
73
  headers: {
63
74
  "Content-Type": "application/json",
64
75
  Authorization: `Basic ${btoa("user:token123")}`,
65
76
  },
66
- body: `{\"streams\":[{\"stream\":{\"level\":\"${method}\",\"hoge\":\"huga\"},\"values\":[[\"1482363367071000000\",\"{\\\"test\\\":\\\"message\\\"}\"]]}]}`,
77
+ body: `{"streams":[{"stream":{"level":"${method}","hoge":"huga"},"values":[["1482363367071000000","{\\"test\\":\\"message\\"}"]]}]}`,
67
78
  });
68
79
  // Reset the spy
69
80
  consoleSpy.mockRestore();
@@ -1 +1 @@
1
- {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../src/logger.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../src/logger.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,44 +1,42 @@
1
1
  {
2
- "name": "@miketako3/cloki",
3
- "version": "0.1.16",
4
- "description": "cloki is zero dependency and simple logger library for Loki and Cloudflare Workers.",
5
- "main": "dist/index.js",
6
- "files": [
7
- "dist"
8
- ],
9
- "publishConfig": {
10
- "access": "public"
11
- },
12
- "scripts": {
13
- "build": "tsc",
14
- "format": "npx @biomejs/biome format . --write",
15
- "lint": "npx @biomejs/biome lint .",
16
- "test": "jest"
17
- },
18
- "repository": {
19
- "type": "git",
20
- "url": "git+https://github.com/miketako3/cloki.git"
21
- },
22
- "keywords": [
23
- "cloudflare",
24
- "workers",
25
- "loki",
26
- "grafana",
27
- "logger",
28
- "logging"
29
- ],
30
- "author": "miketako3 (Kaito Hiruta)",
31
- "license": "MIT",
32
- "bugs": {
33
- "url": "https://github.com/miketako3/cloki/issues"
34
- },
35
- "homepage": "https://github.com/miketako3/cloki#readme",
36
- "devDependencies": {
37
- "@biomejs/biome": "1.5.2",
38
- "@types/node": "^20.11.5",
39
- "typescript": "^5.3.3",
40
- "@types/jest": "^29.5.11",
41
- "ts-jest": "^29.1.1",
42
- "jest": "^29.7.0"
43
- }
2
+ "name": "@miketako3/cloki",
3
+ "version": "0.1.19",
4
+ "description": "cloki is zero dependency and simple logger library for Loki and Cloudflare Workers.",
5
+ "main": "dist/index.js",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "format": "bunx @biomejs/biome check . --write",
15
+ "lint": "bunx @biomejs/biome check .",
16
+ "test": "vitest run"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/miketako3/cloki.git"
21
+ },
22
+ "keywords": [
23
+ "cloudflare",
24
+ "workers",
25
+ "loki",
26
+ "grafana",
27
+ "logger",
28
+ "logging"
29
+ ],
30
+ "author": "miketako3 (Kaito Hiruta)",
31
+ "license": "MIT",
32
+ "bugs": {
33
+ "url": "https://github.com/miketako3/cloki/issues"
34
+ },
35
+ "homepage": "https://github.com/miketako3/cloki#readme",
36
+ "devDependencies": {
37
+ "@biomejs/biome": "^2.3.10",
38
+ "@types/node": "^20.11.5",
39
+ "typescript": "^5.3.3",
40
+ "vitest": "^4.0.16"
41
+ }
44
42
  }