fix: ignore certains files and folders from the file tree
- Created new config file for ignored paths in file system traversal - Separated ignored folders and files into dedicated arrays - Includes comprehensive ignore patterns for: - Package managers (node_modules, venv) - Build outputs and caches - Version control - IDE specific folders - Framework specific directories - System and config files - Lock files and compiled assets
This commit is contained in:
parent
2c9f130a37
commit
a9c5db92ff
@ -10,6 +10,8 @@ import {
|
|||||||
import { Input } from "@/components/ui/input"
|
import { Input } from "@/components/ui/input"
|
||||||
import { ContextTab } from "./types"
|
import { ContextTab } from "./types"
|
||||||
import { ContextTabsProps } from "./types"
|
import { ContextTabsProps } from "./types"
|
||||||
|
// Ignore certain folders and files from the file tree
|
||||||
|
import { ignoredFiles, ignoredFolders } from "./lib/ignored-paths"
|
||||||
|
|
||||||
export default function ContextTabs({
|
export default function ContextTabs({
|
||||||
contextTabs,
|
contextTabs,
|
||||||
@ -48,9 +50,13 @@ export default function ContextTabs({
|
|||||||
// Get all files from the file tree to search for context
|
// Get all files from the file tree to search for context
|
||||||
const getAllFiles = (items: (TFile | TFolder)[]): TFile[] => {
|
const getAllFiles = (items: (TFile | TFolder)[]): TFile[] => {
|
||||||
return items.reduce((acc: TFile[], item) => {
|
return items.reduce((acc: TFile[], item) => {
|
||||||
if (item.type === "file") {
|
// Add file if it's not ignored
|
||||||
|
if (item.type === "file" && !ignoredFiles.some((pattern: string) =>
|
||||||
|
item.name.endsWith(pattern.replace('*', '')) || item.name === pattern
|
||||||
|
)) {
|
||||||
acc.push(item)
|
acc.push(item)
|
||||||
} else {
|
// Add all files from folder if it's not ignored
|
||||||
|
} else if (item.type === "folder" && !ignoredFolders.some((folder: string) => folder === item.name)) {
|
||||||
acc.push(...getAllFiles(item.children))
|
acc.push(...getAllFiles(item.children))
|
||||||
}
|
}
|
||||||
return acc
|
return acc
|
||||||
|
102
frontend/components/editor/AIChat/lib/ignored-paths.ts
Normal file
102
frontend/components/editor/AIChat/lib/ignored-paths.ts
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
// Ignore certain folders and files from the file tree
|
||||||
|
|
||||||
|
export const ignoredFolders = [
|
||||||
|
// Package managers
|
||||||
|
'node_modules',
|
||||||
|
'venv',
|
||||||
|
'.env',
|
||||||
|
'env',
|
||||||
|
'.venv',
|
||||||
|
'virtualenv',
|
||||||
|
'pip-wheel-metadata',
|
||||||
|
|
||||||
|
// Build outputs
|
||||||
|
'.next',
|
||||||
|
'dist',
|
||||||
|
'build',
|
||||||
|
'out',
|
||||||
|
'__pycache__',
|
||||||
|
'.webpack',
|
||||||
|
'.serverless',
|
||||||
|
'storybook-static',
|
||||||
|
|
||||||
|
// Version control
|
||||||
|
'.git',
|
||||||
|
'.svn',
|
||||||
|
'.hg', // Mercurial
|
||||||
|
|
||||||
|
// Cache and temp files
|
||||||
|
'.cache',
|
||||||
|
'coverage',
|
||||||
|
'tmp',
|
||||||
|
'.temp',
|
||||||
|
'.npm',
|
||||||
|
'.pnpm',
|
||||||
|
'.yarn',
|
||||||
|
'.eslintcache',
|
||||||
|
'.stylelintcache',
|
||||||
|
|
||||||
|
// IDE specific
|
||||||
|
'.idea',
|
||||||
|
'.vscode',
|
||||||
|
'.vs',
|
||||||
|
'.sublime',
|
||||||
|
|
||||||
|
// Framework specific
|
||||||
|
'.streamlit',
|
||||||
|
'.next',
|
||||||
|
'static',
|
||||||
|
'.pytest_cache',
|
||||||
|
'.nuxt',
|
||||||
|
'.docusaurus',
|
||||||
|
'.remix',
|
||||||
|
'.parcel-cache',
|
||||||
|
'public/build', // Remix/Rails
|
||||||
|
'.turbo', // Turborepo
|
||||||
|
|
||||||
|
// Logs
|
||||||
|
'logs',
|
||||||
|
'*.log',
|
||||||
|
'npm-debug.log*',
|
||||||
|
'yarn-debug.log*',
|
||||||
|
'yarn-error.log*',
|
||||||
|
'pnpm-debug.log*',
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const ignoredFiles = [
|
||||||
|
'.DS_Store',
|
||||||
|
'.env.local',
|
||||||
|
'.env.development',
|
||||||
|
'.env.production',
|
||||||
|
'.env.test',
|
||||||
|
'.env*.local',
|
||||||
|
'.gitignore',
|
||||||
|
'.npmrc',
|
||||||
|
'.yarnrc',
|
||||||
|
'.editorconfig',
|
||||||
|
'.prettierrc',
|
||||||
|
'.eslintrc',
|
||||||
|
'.browserslistrc',
|
||||||
|
'tsconfig.tsbuildinfo',
|
||||||
|
'*.pyc',
|
||||||
|
'*.pyo',
|
||||||
|
'*.pyd',
|
||||||
|
'*.so',
|
||||||
|
'*.dll',
|
||||||
|
'*.dylib',
|
||||||
|
'*.class',
|
||||||
|
'*.exe',
|
||||||
|
'package-lock.json',
|
||||||
|
'yarn.lock',
|
||||||
|
'pnpm-lock.yaml',
|
||||||
|
'composer.lock',
|
||||||
|
'poetry.lock',
|
||||||
|
'Gemfile.lock',
|
||||||
|
'*.min.js',
|
||||||
|
'*.min.css',
|
||||||
|
'*.map',
|
||||||
|
'*.chunk.*',
|
||||||
|
'*.hot-update.*',
|
||||||
|
'.vercel',
|
||||||
|
'.netlify'
|
||||||
|
] as const;
|
Loading…
x
Reference in New Issue
Block a user