Skip to main content
Glama
MIT License
27,120
19,787
  • Linux
  • Apple
packageJsonParse.test.ts•1.7 kB
import * as fs from 'node:fs/promises'; import path from 'node:path'; import * as url from 'node:url'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; import { getVersion } from '../../../src/core/file/packageJsonParse.js'; import { logger } from '../../../src/shared/logger.js'; vi.mock('fs/promises'); vi.mock('url'); describe('packageJsonParse', () => { beforeEach(() => { vi.resetAllMocks(); }); afterEach(() => { vi.restoreAllMocks(); }); test('getVersion should return correct version from package.json', async () => { const mockPackageJson = { name: 'repomix', version: '1.2.3', }; vi.mocked(url.fileURLToPath).mockReturnValue('/mock/path/to/src/core/file'); vi.mocked(fs.readFile).mockResolvedValue(JSON.stringify(mockPackageJson)); const version = await getVersion(); expect(version).toBe('1.2.3'); expect(url.fileURLToPath).toHaveBeenCalledWith(expect.any(URL)); expect(fs.readFile).toHaveBeenCalledWith( path.join('/mock/path/to/src/core/file', '..', '..', '..', 'package.json'), 'utf-8', ); }); test('getVersion should handle missing version in package.json', async () => { const mockPackageJson = { name: 'repomix', }; const loggerSpy = vi.spyOn(logger, 'warn').mockImplementation(vi.fn()); vi.mocked(url.fileURLToPath).mockReturnValue('/mock/path/to/src/core/file2'); vi.mocked(fs.readFile).mockResolvedValue(JSON.stringify(mockPackageJson)); const version = await getVersion(); expect(loggerSpy).toHaveBeenCalledWith(expect.stringContaining('No version found in package.json')); expect(version).toBe('unknown'); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yamadashy/repomix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server