JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 187
  • Score
    100M100P100Q88831F
  • License MIT

Shared utilities for Paparats MCP - path validation, gitignore filtering, language-aware exclude patterns

Package Exports

  • @paparats/shared
  • @paparats/shared/package.json

Readme

@paparats/shared

Shared utilities for Paparats MCP - path validation, gitignore filtering, and language-aware exclude patterns used by the server and CLI packages.

Install

npm install @paparats/shared

API

Path Validation

import { validateIndexingPaths } from '@paparats/shared';

// Rejects absolute paths and path traversal in indexing config
const errors = validateIndexingPaths(['src', '../etc/passwd']);
// errors: ['Path traversal not allowed: ../etc/passwd']

Gitignore Filtering

import { createGitignoreFilter, filterFilesByGitignore } from '@paparats/shared';

// Per-file check
const filter = createGitignoreFilter('/path/to/repo');
if (filter('node_modules/foo.js')) {
  // file is gitignored
}

// Bulk filter
const included = filterFilesByGitignore('/path/to/repo', allFiles);

Exclude Patterns

import {
  normalizeExcludePatterns,
  getDefaultExcludeForLanguages,
  LANGUAGE_EXCLUDE_DEFAULTS,
  COMMON_EXCLUDE,
  DEFAULT_EXCLUDE_BARE,
} from '@paparats/shared';

// Bare dir names become glob patterns: 'node_modules' -> '**/node_modules/**'
const patterns = normalizeExcludePatterns(['node_modules', 'dist']);

// Get default excludes for specific languages
const excludes = getDefaultExcludeForLanguages(['typescript', 'python']);

Part of Paparats MCP

This package provides shared utilities used by:

  • @paparats/cli - CLI tool for project indexing and setup
  • @paparats/server - MCP server with semantic code search (Docker image)

License

MIT