Skip to content

Commit d89fc9b

Browse files
committed
chore: generation file
1 parent 8b390d5 commit d89fc9b

File tree

7 files changed

+163
-0
lines changed

7 files changed

+163
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './src/logger';
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
"name": "@algolia/logger-console",
3+
"version": "5.5.3",
4+
"description": "Promise-based log library using console log.",
5+
"repository": {
6+
"type": "git",
7+
"url": "git://github.com/algolia/algoliasearch-client-javascript.git"
8+
},
9+
"license": "MIT",
10+
"author": "Algolia",
11+
"type": "module",
12+
"files": [
13+
"dist",
14+
"src",
15+
"index.ts"
16+
],
17+
"exports": {
18+
".": {
19+
"types": {
20+
"import": "./dist/logger.d.ts",
21+
"module": "./dist/logger.d.ts",
22+
"require": "./dist/logger.d.cts"
23+
},
24+
"import": "./dist/logger.js",
25+
"module": "./dist/logger.js",
26+
"require": "./dist/logger.cjs"
27+
},
28+
"./src/*": "./src/*.ts"
29+
},
30+
"scripts": {
31+
"build": "yarn clean && yarn tsup",
32+
"clean": "rm -rf ./dist || true",
33+
"test": "vitest --run",
34+
"test:bundle": "publint . && attw --pack ."
35+
},
36+
"devDependencies": {
37+
"@arethetypeswrong/cli": "0.16.4",
38+
"@types/node": "22.5.5",
39+
"jsdom": "25.0.0",
40+
"publint": "0.2.11",
41+
"ts-node": "10.9.2",
42+
"tsup": "8.3.0",
43+
"typescript": "5.6.2",
44+
"vitest": "2.1.1"
45+
},
46+
"dependencies": {
47+
"@algolia/client-common": "5.5.3"
48+
},
49+
"engines": {
50+
"node": ">= 14.0.0"
51+
}
52+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/* eslint no-console: 0 */
2+
3+
import { LogLevelEnum } from '@algolia/client-common';
4+
import { vi, beforeEach, describe, test, expect } from 'vitest';
5+
6+
import { createConsoleLogger } from '../logger';
7+
8+
describe('console logger', () => {
9+
beforeEach(() => {
10+
vi.resetAllMocks();
11+
vi.spyOn(console, 'debug');
12+
vi.spyOn(console, 'info');
13+
vi.spyOn(console, 'error');
14+
});
15+
16+
test('respects log level type debug', async () => {
17+
const logger = createConsoleLogger(LogLevelEnum.Debug);
18+
19+
await logger.debug('foo', {});
20+
await logger.info('foo', {});
21+
await logger.error('foo', {});
22+
23+
expect(console.debug).toHaveBeenCalledTimes(1);
24+
expect(console.info).toHaveBeenCalledTimes(1);
25+
expect(console.error).toHaveBeenCalledTimes(1);
26+
});
27+
28+
test('respects log level type info', async () => {
29+
const logger = createConsoleLogger(LogLevelEnum.Info);
30+
31+
await logger.debug('foo', {});
32+
await logger.info('foo', {});
33+
await logger.error('foo', {});
34+
35+
expect(console.debug).toHaveBeenCalledTimes(0);
36+
expect(console.info).toHaveBeenCalledTimes(1);
37+
expect(console.error).toHaveBeenCalledTimes(1);
38+
});
39+
40+
test('respects log level type error', async () => {
41+
const logger = createConsoleLogger(LogLevelEnum.Error);
42+
43+
await logger.debug('foo', {});
44+
await logger.info('foo', {});
45+
await logger.error('foo', {});
46+
47+
expect(console.debug).toHaveBeenCalledTimes(0);
48+
expect(console.info).toHaveBeenCalledTimes(0);
49+
expect(console.error).toHaveBeenCalledTimes(1);
50+
});
51+
});
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* eslint no-console: 0 */
2+
3+
import type { Logger, LogLevelType } from '@algolia/client-common';
4+
import { LogLevelEnum } from '@algolia/client-common';
5+
6+
export function createConsoleLogger(logLevel: LogLevelType): Logger {
7+
return {
8+
debug(message: string, args?: any): Readonly<Promise<void>> {
9+
if (LogLevelEnum.Debug >= logLevel) {
10+
console.debug(message, args);
11+
}
12+
13+
return Promise.resolve();
14+
},
15+
16+
info(message: string, args?: any): Readonly<Promise<void>> {
17+
if (LogLevelEnum.Info >= logLevel) {
18+
console.info(message, args);
19+
}
20+
21+
return Promise.resolve();
22+
},
23+
24+
error(message: string, args?: any): Readonly<Promise<void>> {
25+
console.error(message, args);
26+
27+
return Promise.resolve();
28+
},
29+
};
30+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"extends": "../../tsconfig.json",
3+
"compilerOptions": {
4+
"types": ["node", "vitest/globals"],
5+
"outDir": "dist"
6+
},
7+
"include": ["src", "index.ts"],
8+
"exclude": ["dist", "node_modules", "src/__tests__"]
9+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// eslint-disable-next-line import/no-unresolved
2+
import { defineWorkspace } from 'vitest/config';
3+
4+
export default defineWorkspace([
5+
{
6+
test: {
7+
include: ['src/__tests__/logger-console.test.ts'],
8+
name: 'node',
9+
environment: 'node',
10+
},
11+
},
12+
{
13+
test: {
14+
include: ['src/__tests__/logger-console.test.ts'],
15+
name: 'jsdom',
16+
environment: 'jsdom',
17+
},
18+
},
19+
]);

config/generation.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ export const patterns = [
7777
: 'clients/algoliasearch-client-javascript/packages/**/package.json',
7878
'!clients/algoliasearch-client-javascript/packages/requester-*/**',
7979
'!clients/algoliasearch-client-javascript/packages/client-common/**',
80+
'!clients/algoliasearch-client-javascript/packages/logger-console/**',
8081
'!clients/algoliasearch-client-javascript/packages/algoliasearch/__tests__/**',
8182
'!clients/algoliasearch-client-javascript/packages/algoliasearch/vitest.workspace.ts',
8283
'clients/algoliasearch-client-javascript/packages/*/tsup.config.ts',

0 commit comments

Comments
 (0)