Add source code files (detectors, generators, CLI)
This commit is contained in:
778
src/data/patterns.py
Normal file
778
src/data/patterns.py
Normal file
@@ -0,0 +1,778 @@
|
||||
"""Comprehensive pattern templates for .gitignore generation."""
|
||||
|
||||
from typing import Dict, List
|
||||
|
||||
|
||||
LANGUAGE_PATTERNS: Dict[str, List[str]] = {
|
||||
"python": [
|
||||
"# Byte-compiled / optimized / DLL files",
|
||||
"__pycache__/",
|
||||
"*.py[cod]",
|
||||
"*$py.class",
|
||||
"*.so",
|
||||
".Python",
|
||||
"build/",
|
||||
"develop-eggs/",
|
||||
"dist/",
|
||||
"downloads/",
|
||||
"eggs/",
|
||||
".eggs/",
|
||||
"lib/",
|
||||
"lib64/",
|
||||
"parts/",
|
||||
"sdist/",
|
||||
"var/",
|
||||
"wheels/",
|
||||
"*.egg-info/",
|
||||
".installed.cfg",
|
||||
"*.egg",
|
||||
"MANIFEST",
|
||||
"# PyInstaller",
|
||||
"*.manifest",
|
||||
"*.spec",
|
||||
"# Installer logs",
|
||||
"pip-log.txt",
|
||||
"pip-delete-this-directory.txt",
|
||||
"# Unit test / coverage reports",
|
||||
"htmlcov/",
|
||||
".tox/",
|
||||
".nox/",
|
||||
".coverage",
|
||||
".coverage.*",
|
||||
".coveragerc",
|
||||
"cover/",
|
||||
"*.py.bak",
|
||||
"regress*/",
|
||||
"venv/",
|
||||
"env/",
|
||||
".venv/",
|
||||
".env/",
|
||||
".env.local",
|
||||
],
|
||||
"nodejs": [
|
||||
"# Logs",
|
||||
"logs",
|
||||
"*.log",
|
||||
"npm-debug.log*",
|
||||
"yarn-debug.log*",
|
||||
"yarn-error.log*",
|
||||
"lerna-debug.log*",
|
||||
".pnpm-debug.log*",
|
||||
"# Runtime data",
|
||||
"pids",
|
||||
"*.pid",
|
||||
"*.seed",
|
||||
"*.pid.lock",
|
||||
"coverage",
|
||||
".nyc_output",
|
||||
"# Directory for instrumented libs generated by jscoverage/JSCover",
|
||||
"lib-cov",
|
||||
"# Coverage directory used by tools like istanbul",
|
||||
"*.lcov",
|
||||
".nycrc",
|
||||
"# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)",
|
||||
".grunt",
|
||||
"# Bower dependency directory (https://bower.io/)",
|
||||
"bower_components",
|
||||
"# node-waf configuration",
|
||||
".lock-wscript",
|
||||
"# Compiled binary addons (https://nodejs.org/api/addons.html)",
|
||||
"build/Release",
|
||||
"# Dependency directories",
|
||||
"node_modules/",
|
||||
"jspm_packages/",
|
||||
"# Snowpack dependency directory (https://snowpack.dev/)",
|
||||
"web_modules/",
|
||||
"# TypeScript cache",
|
||||
"*.tsbuildinfo",
|
||||
"# Optional eslint cache",
|
||||
".eslintcache",
|
||||
"# Optional REPL history",
|
||||
".node_repl_history",
|
||||
"# Output of 'npm pack'",
|
||||
"*.tgz",
|
||||
".yarn-integrity",
|
||||
],
|
||||
"go": [
|
||||
"# Binaries for programs and plugins",
|
||||
"*.exe",
|
||||
"*.exe~",
|
||||
"*.dll",
|
||||
"*.so",
|
||||
"*.dylib",
|
||||
"# Test binary",
|
||||
"*.test",
|
||||
"# Output of the go coverage program",
|
||||
"*.out",
|
||||
"# Go workspace file",
|
||||
"go.work",
|
||||
"# Vendor directory (if using Go modules)",
|
||||
"vendor/",
|
||||
"# Go cache directory",
|
||||
".cache/",
|
||||
"# Bin directory",
|
||||
"bin/",
|
||||
],
|
||||
"java": [
|
||||
"# Compiled class files",
|
||||
"*.class",
|
||||
"# Log files",
|
||||
"*.log",
|
||||
"# BlueJ files",
|
||||
"*.ctxt",
|
||||
"# Mobile Tools for Java (J2ME)",
|
||||
".mtj.tmp/",
|
||||
"# Package Files",
|
||||
"*.jar",
|
||||
"*.war",
|
||||
"*.nar",
|
||||
"*.ear",
|
||||
"*.zip",
|
||||
"*.tar.gz",
|
||||
"*.rar",
|
||||
"# Build files",
|
||||
"build/",
|
||||
"# Gradle files",
|
||||
".gradle/",
|
||||
"build/",
|
||||
"# Native library files",
|
||||
"*.hprof",
|
||||
"# .idea files",
|
||||
".idea/",
|
||||
"*.iml",
|
||||
"*.ipr",
|
||||
"*.iws",
|
||||
".project",
|
||||
".classpath",
|
||||
".settings/",
|
||||
],
|
||||
"rust": [
|
||||
"# Build",
|
||||
"target/",
|
||||
"Cargo.lock",
|
||||
"bin/",
|
||||
"doc/",
|
||||
"coverage/",
|
||||
"# Backup files",
|
||||
"*.rs.bk",
|
||||
],
|
||||
"csharp": [
|
||||
"# Build results",
|
||||
"[Dd]ebug/",
|
||||
"[Rr]elease/",
|
||||
"x64/",
|
||||
"x86/",
|
||||
"bld/",
|
||||
"[Bb]in/",
|
||||
"[Oo]bj/",
|
||||
".vs/",
|
||||
".vscode/",
|
||||
"# Visual Studio 2015",
|
||||
"packages/",
|
||||
"*.nupkg",
|
||||
],
|
||||
"cpp": [
|
||||
"# Compiled object files",
|
||||
"*.o",
|
||||
"*.o.*",
|
||||
"# Compiled dynamic libraries",
|
||||
"*.so",
|
||||
"*.dylib",
|
||||
"# Compiled static libraries",
|
||||
"*.a",
|
||||
"# Linker response files",
|
||||
"*.lai",
|
||||
"# Executables",
|
||||
"*.exe",
|
||||
"*.out",
|
||||
"*.app",
|
||||
"build/",
|
||||
"CMakeFiles/",
|
||||
"Makefile",
|
||||
"cmake_install.cmake",
|
||||
"Testing/",
|
||||
],
|
||||
"ruby": [
|
||||
"*.gem",
|
||||
"*.rbc",
|
||||
"/coverage/",
|
||||
"/InstalledFiles/",
|
||||
"/pkg/",
|
||||
"/spec/reports/",
|
||||
"/spec/examples.txt",
|
||||
"test/tmp/",
|
||||
"test/version_tmp/",
|
||||
"tmp/",
|
||||
"vendor/bundle/",
|
||||
"build/",
|
||||
".bundle/",
|
||||
"Gemfile.lock",
|
||||
],
|
||||
"php": [
|
||||
"vendor/",
|
||||
"composer.lock",
|
||||
"phpunit.cache/",
|
||||
"coverage/",
|
||||
".phpunit.result.cache",
|
||||
],
|
||||
"dart": [
|
||||
".dart_tool/",
|
||||
".packages",
|
||||
"build/",
|
||||
"pubspec.lock",
|
||||
],
|
||||
"swift": [
|
||||
"*.xcworkspace/",
|
||||
"xcuserdata/",
|
||||
"*.xcuserstate",
|
||||
"*.xcscmblueprint",
|
||||
"*.xcscheme",
|
||||
"Pods/",
|
||||
"Podfile.lock",
|
||||
"build/",
|
||||
".swiftpm/",
|
||||
],
|
||||
"kotlin": [
|
||||
".gradle/",
|
||||
"build/",
|
||||
"!gradle/wrapper/gradle-wrapper.jar",
|
||||
"!**/src/main/**/build/",
|
||||
"!**/src/test/**/build/",
|
||||
],
|
||||
"scala": [
|
||||
"target/",
|
||||
"lib_managed/",
|
||||
"src_managed/",
|
||||
".bloop/",
|
||||
".metals/",
|
||||
],
|
||||
"perl": [
|
||||
"Build/",
|
||||
"_build/",
|
||||
"inc/",
|
||||
"MANIFEST",
|
||||
"MANIFEST.bak",
|
||||
"META.yml",
|
||||
"MYMETA.yml",
|
||||
"MYMETA.json",
|
||||
"nytprof/",
|
||||
],
|
||||
"r": [
|
||||
".Rhistory",
|
||||
".Rapp.history",
|
||||
"*.Rcheck/",
|
||||
"packrat/",
|
||||
"renv/",
|
||||
".Rproj.user/",
|
||||
],
|
||||
"elixir": [
|
||||
"_build/",
|
||||
"deps/",
|
||||
"*.ez",
|
||||
"cover/",
|
||||
".fetch",
|
||||
"mix.lock",
|
||||
],
|
||||
"clojure": [
|
||||
"target/",
|
||||
"classes/",
|
||||
"checkouts/",
|
||||
"pom.xml",
|
||||
"pom.xml.asc",
|
||||
"*.jar",
|
||||
"*.class",
|
||||
".lein-repl-history",
|
||||
".lein-plugins/",
|
||||
".gitignore",
|
||||
],
|
||||
"lua": [
|
||||
"*.lua.bak",
|
||||
"luac.out",
|
||||
],
|
||||
"haskell": [
|
||||
"dist/",
|
||||
"dist-newstyle/",
|
||||
"*.o",
|
||||
"*.hi",
|
||||
"*.hie",
|
||||
"*.bowerrc",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
FRAMEWORK_PATTERNS: Dict[str, List[str]] = {
|
||||
"django": [
|
||||
"# Django stuff",
|
||||
"*.log",
|
||||
"local_settings.py",
|
||||
"db.sqlite3",
|
||||
"db.sqlite3-journal",
|
||||
"# Media",
|
||||
"media/",
|
||||
"# Static",
|
||||
"staticfiles/",
|
||||
"# Python",
|
||||
"__pycache__/",
|
||||
"*.pyc",
|
||||
"*.pyo",
|
||||
"*.pyd",
|
||||
".Python",
|
||||
"venv/",
|
||||
"env/",
|
||||
".venv/",
|
||||
"# PyInstaller",
|
||||
"*.manifest",
|
||||
"*.spec",
|
||||
"# Migrations",
|
||||
"migrations/",
|
||||
"!migrations/__init__.py",
|
||||
],
|
||||
"flask": [
|
||||
"# Flask stuff",
|
||||
"instance/",
|
||||
".webassets-cache",
|
||||
"*.sqlite3",
|
||||
"*.db",
|
||||
"*.sqlite3-journal",
|
||||
],
|
||||
"fastapi": [
|
||||
"# FastAPI stuff",
|
||||
"*.sqlite3",
|
||||
"*.db",
|
||||
"*.sqlite3-journal",
|
||||
],
|
||||
"react": [
|
||||
"# React stuff",
|
||||
"build/",
|
||||
".next/",
|
||||
"out/",
|
||||
"dist/",
|
||||
],
|
||||
"vue": [
|
||||
"# Vue stuff",
|
||||
"dist/",
|
||||
"node_modules/",
|
||||
".eslintcache",
|
||||
],
|
||||
"angular": [
|
||||
"# Angular stuff",
|
||||
"dist/",
|
||||
"test",
|
||||
"karma.conf.js",
|
||||
"*.js.bak",
|
||||
"*.local",
|
||||
],
|
||||
"express": [
|
||||
"# Express stuff",
|
||||
"node_modules/",
|
||||
"npm-debug.log*",
|
||||
"yarn-debug.log*",
|
||||
"yarn-error.log*",
|
||||
"logs/",
|
||||
"*.log",
|
||||
],
|
||||
"nextjs": [
|
||||
"# Next.js stuff",
|
||||
".next/",
|
||||
"out/",
|
||||
"build/",
|
||||
"dist/",
|
||||
],
|
||||
"nuxt": [
|
||||
"# Nuxt.js stuff",
|
||||
".nuxt/",
|
||||
".output/",
|
||||
"data/",
|
||||
".env",
|
||||
],
|
||||
"svelte": [
|
||||
"# Svelte stuff",
|
||||
"build/",
|
||||
".svelte-kit/",
|
||||
"package/",
|
||||
],
|
||||
"gatsby": [
|
||||
"# Gatsby stuff",
|
||||
"public/",
|
||||
".cache/",
|
||||
"node_modules/",
|
||||
],
|
||||
"astro": [
|
||||
"# Astro stuff",
|
||||
"dist/",
|
||||
".astro/",
|
||||
],
|
||||
"gin": [
|
||||
"# Gin stuff",
|
||||
"bin/",
|
||||
],
|
||||
"spring": [
|
||||
"# Spring stuff",
|
||||
"target/",
|
||||
"!.mvn/wrapper/maven-wrapper.jar",
|
||||
"!**/src/main/**/target/",
|
||||
"!**/src/test/**/target/",
|
||||
],
|
||||
"rails": [
|
||||
"# Rails stuff",
|
||||
"/log/*.log",
|
||||
"/tmp",
|
||||
"config/database.yml",
|
||||
"config/secrets.yml",
|
||||
"config/master.key",
|
||||
"config/environments/*.local.yml",
|
||||
"/public/system",
|
||||
"/public/packs",
|
||||
"/public/packs-test",
|
||||
"/public/assets",
|
||||
"/public/assets/.sprockets-manifest-*.json",
|
||||
"/vendor/bundle",
|
||||
"/node_modules",
|
||||
"/tmp",
|
||||
"storage/",
|
||||
"log/*.log",
|
||||
"tmp/",
|
||||
"config/master.key",
|
||||
"config/credentials.yml.enc",
|
||||
"config/credentials.yml.production.yml.enc",
|
||||
"config/force_ssl.yml",
|
||||
],
|
||||
"laravel": [
|
||||
"# Laravel stuff",
|
||||
"/vendor",
|
||||
"node_modules/",
|
||||
"/storage",
|
||||
"/bootstrap/cache",
|
||||
"*.log",
|
||||
".env",
|
||||
"public/storage",
|
||||
"public/hot",
|
||||
".env.backup",
|
||||
],
|
||||
"dotnet": [
|
||||
"# .NET stuff",
|
||||
"**/*.user",
|
||||
"**/*.userosscache",
|
||||
"**/*.suo",
|
||||
"bin/",
|
||||
"obj/",
|
||||
"*.cache",
|
||||
".nuget/",
|
||||
],
|
||||
"quasar": [
|
||||
"# Quasar stuff",
|
||||
"dist/",
|
||||
".quasar/",
|
||||
"node_modules/",
|
||||
],
|
||||
"sveltekit": [
|
||||
"# SvelteKit stuff",
|
||||
".svelte-kit/",
|
||||
"build/",
|
||||
".env",
|
||||
".env.*",
|
||||
"!.env.example",
|
||||
],
|
||||
"remix": [
|
||||
"# Remix stuff",
|
||||
".cache/",
|
||||
"build/",
|
||||
"public/build/",
|
||||
"node_modules/",
|
||||
],
|
||||
"vite": [
|
||||
"# Vite stuff",
|
||||
"dist/",
|
||||
"node_modules/",
|
||||
".env.local",
|
||||
],
|
||||
"nestjs": [
|
||||
"# NestJS stuff",
|
||||
"dist/",
|
||||
"node_modules/",
|
||||
"*.log",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
IDE_PATTERNS: Dict[str, List[str]] = {
|
||||
"vscode": [
|
||||
".vscode/",
|
||||
"!.vscode/extensions.json",
|
||||
"!.vscode/settings.json",
|
||||
],
|
||||
"jetbrains": [
|
||||
".idea/",
|
||||
"*.iml",
|
||||
"*.ipr",
|
||||
"*.iws",
|
||||
".project",
|
||||
".classpath",
|
||||
".settings/",
|
||||
"*.sublime-workspace",
|
||||
"*.sublime-project",
|
||||
],
|
||||
"pycharm": [
|
||||
".idea/",
|
||||
"*.iml",
|
||||
"*.ipr",
|
||||
"*.iws",
|
||||
".project",
|
||||
".classpath",
|
||||
".settings/",
|
||||
],
|
||||
"webstorm": [
|
||||
".idea/",
|
||||
"*.iml",
|
||||
"*.ipr",
|
||||
"*.iws",
|
||||
".project",
|
||||
".classpath",
|
||||
".settings/",
|
||||
],
|
||||
"intellij": [
|
||||
".idea/",
|
||||
"*.iml",
|
||||
"*.ipr",
|
||||
"*.iws",
|
||||
".project",
|
||||
".classpath",
|
||||
".settings/",
|
||||
],
|
||||
"eclipse": [
|
||||
".project",
|
||||
".classpath",
|
||||
".settings/",
|
||||
"*.pydevproject",
|
||||
"*.pydevproject",
|
||||
],
|
||||
"netbeans": [
|
||||
"nbproject/",
|
||||
"build/",
|
||||
"nbbuild/",
|
||||
"dist/",
|
||||
"nbdist/",
|
||||
".netbeans/",
|
||||
],
|
||||
"sublime": [
|
||||
"*.sublime-workspace",
|
||||
"*.sublime-project",
|
||||
"sftp-config.json",
|
||||
],
|
||||
"vim": [
|
||||
"*~",
|
||||
"*.swp",
|
||||
"*.swo",
|
||||
"*~",
|
||||
],
|
||||
"emacs": [
|
||||
"#*#",
|
||||
".#*",
|
||||
"*~",
|
||||
"/auto/",
|
||||
"/elpa/",
|
||||
"/eln/",
|
||||
],
|
||||
"atom": [
|
||||
".atom/",
|
||||
"*.atom",
|
||||
"atom.sh",
|
||||
],
|
||||
"spacemacs": [
|
||||
".spacemacs*",
|
||||
".spaceemacs",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
OS_PATTERNS: Dict[str, List[str]] = {
|
||||
"macos": [
|
||||
"# macOS",
|
||||
".DS_Store",
|
||||
".AppleDouble",
|
||||
".LSOverride",
|
||||
"._*",
|
||||
".DocumentRevisions-V100",
|
||||
".fseventsd",
|
||||
".Spotlight-V100",
|
||||
".TemporaryItems",
|
||||
".Trashes",
|
||||
".VolumeIcon.icns",
|
||||
".com.apple.timemachine.donotpresent",
|
||||
".AppleDB",
|
||||
".AppleDesktop",
|
||||
"apdisk",
|
||||
],
|
||||
"windows": [
|
||||
"# Windows",
|
||||
"Thumbs.db",
|
||||
"Thumbs.db:encryptable",
|
||||
"ehthumbs.db",
|
||||
"Desktop.ini",
|
||||
"$RECYCLE.BIN/",
|
||||
"*.lnk",
|
||||
"*.tmp",
|
||||
"*.temp",
|
||||
"*.log",
|
||||
"*.user",
|
||||
],
|
||||
"linux": [
|
||||
"# Linux",
|
||||
"*~",
|
||||
".fuse_hidden*",
|
||||
".Trash-*",
|
||||
".nfs*",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
LANGUAGE_INDICATOR_FILES: Dict[str, List[str]] = {
|
||||
"python": ["requirements.txt", "setup.py", "setup.cfg", "pyproject.toml", "Pipfile", "tox.ini", "pytest.ini", "pyrightconfig.json", "mypy.ini"],
|
||||
"nodejs": ["package.json", "package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb", ".nvmrc", ".pnpmfile.cjs", ".npmrc"],
|
||||
"go": ["go.mod", "go.sum", "Gopkg.toml", "Gopkg.lock", "go.work"],
|
||||
"java": ["pom.xml", "build.gradle", "build.gradle.kts", "settings.gradle", "settings.gradle.kts", "gradlew", "gradlew.bat"],
|
||||
"rust": ["Cargo.toml", "Cargo.lock", "rust-toolchain.toml", "rust-toolchain"],
|
||||
"csharp": ["*.csproj", "*.sln", "*.csproj.user", "*.sln.docstates", "Directory.Build.props", "Directory.Build.targets"],
|
||||
"cpp": ["CMakeLists.txt", "CMakeLists.txt.in", "Makefile", "configure", "*.cmake", "*.in"],
|
||||
"ruby": ["Gemfile", "Gemfile.lock", "Rakefile", "config.ru", ".ruby-version", ".ruby-gemset"],
|
||||
"php": ["composer.json", "composer.lock", "package.json", "artisan", "phpunit.xml", "phpunit.xml.dist"],
|
||||
"dart": ["pubspec.yaml", "pubspec.lock", ".dart_tool"],
|
||||
"swift": ["Package.swift", "*.xcodeproj", "*.xcworkspace"],
|
||||
"kotlin": ["build.gradle.kts", "settings.gradle.kts", "gradlew", "gradlew.bat"],
|
||||
"scala": ["build.sbt", "project/", "*.sbt", "project/build.properties"],
|
||||
"perl": ["Makefile.PL", "Build.PL", "META.yml", "MYMETA.yml", "*.pm", "cpanfile"],
|
||||
"r": ["DESCRIPTION", "NAMESPACE", "*.Rproj", "renv.lock"],
|
||||
"elixir": ["mix.exs", "mix.lock", "config/config.exs"],
|
||||
"clojure": ["project.clj", "deps.edn", "build.boot", "pom.xml"],
|
||||
"lua": ["*.lua", ".luacheckrc"],
|
||||
"haskell": ["*.cabal", "stack.yaml", "cabal.project", "*.hs"],
|
||||
}
|
||||
|
||||
|
||||
FRAMEWORK_INDICATOR_FILES: Dict[str, List[str]] = {
|
||||
"django": ["manage.py", "django-admin.py", "wsgi.py", "asgi.py", "urls.py", "settings.py", "requirements.txt"],
|
||||
"flask": ["app.py", "wsgi.py", "__init__.py", "requirements.txt"],
|
||||
"fastapi": ["main.py", "app.py", "__init__.py", "requirements.txt"],
|
||||
"react": ["package.json", "tsconfig.json", "vite.config.ts", "webpack.config.js"],
|
||||
"vue": ["vue.config.js", "vite.config.ts", "package.json"],
|
||||
"angular": ["angular.json", "tsconfig.json", "package.json"],
|
||||
"express": ["index.js", "app.js", "server.js", "package.json"],
|
||||
"nextjs": ["next.config.js", "next.config.mjs", "package.json"],
|
||||
"nuxt": ["nuxt.config.ts", "nuxt.config.js", "package.json"],
|
||||
"svelte": ["svelte.config.js", "vite.config.ts", "package.json"],
|
||||
"gatsby": ["gatsby-config.js", "gatsby-config.ts", "package.json"],
|
||||
"astro": ["astro.config.mjs", "astro.config.js", "package.json"],
|
||||
"gin": ["main.go", "go.mod"],
|
||||
"spring": ["pom.xml", "build.gradle", "src/main/java", "src/main/resources"],
|
||||
"rails": ["config.ru", "Rakefile", "Gemfile", "bin/rails", "config/application.rb"],
|
||||
"laravel": ["artisan", "composer.json", "bootstrap/app.php", "config/app.php"],
|
||||
"dotnet": ["*.csproj", "*.sln", "global.json", "Directory.Build.props"],
|
||||
"quasar": ["quasar.config.js", "quasar.config.ts", "package.json"],
|
||||
"sveltekit": ["svelte.config.js", "vite.config.ts", "package.json"],
|
||||
"remix": ["remix.config.js", "package.json", "tsconfig.json"],
|
||||
"vite": ["vite.config.ts", "vite.config.js", "package.json"],
|
||||
"nestjs": ["nest-cli.json", "tsconfig.json", "package.json"],
|
||||
}
|
||||
|
||||
|
||||
FRAMEWORK_MARKERS: Dict[str, Dict[str, list]] = {
|
||||
"django": {
|
||||
"files": ["manage.py", "django-admin.py", "wsgi.py", "asgi.py"],
|
||||
"content_markers": [
|
||||
("django", "from django"),
|
||||
("import_django", "import django"),
|
||||
],
|
||||
},
|
||||
"flask": {
|
||||
"files": ["app.py", "wsgi.py", "__init__.py"],
|
||||
"content_markers": [
|
||||
("from_flask", "from flask"),
|
||||
("import_flask", "import flask"),
|
||||
("Flask", "class.*\(Flask\)"),
|
||||
],
|
||||
},
|
||||
"fastapi": {
|
||||
"files": ["main.py", "app.py", "__init__.py"],
|
||||
"content_markers": [
|
||||
("from_fastapi", "from fastapi"),
|
||||
("import_fastapi", "import fastapi"),
|
||||
("FastAPI", "FastAPI\("),
|
||||
],
|
||||
},
|
||||
"react": {
|
||||
"files": ["package.json", "tsconfig.json", "webpack.config.js"],
|
||||
"content_markers": [
|
||||
("react", "\"react\""),
|
||||
("react_dom", "\"react-dom\""),
|
||||
],
|
||||
},
|
||||
"vue": {
|
||||
"files": ["vue.config.js", "vite.config.ts", "package.json"],
|
||||
"content_markers": [
|
||||
("vue", "\"vue\""),
|
||||
("vue_compiler", "@vue/compiler-sfc"),
|
||||
],
|
||||
},
|
||||
"angular": {
|
||||
"files": ["angular.json", "tsconfig.json", "package.json"],
|
||||
"content_markers": [
|
||||
("angular_core", "@angular/core"),
|
||||
("ngModule", "NgModule"),
|
||||
],
|
||||
},
|
||||
"express": {
|
||||
"files": ["index.js", "app.js", "server.js", "package.json"],
|
||||
"content_markers": [
|
||||
("express", "\"express\""),
|
||||
("require_express", "require\\('express\\')"),
|
||||
],
|
||||
},
|
||||
"nextjs": {
|
||||
"files": ["next.config.js", "next.config.mjs", "package.json"],
|
||||
"content_markers": [
|
||||
("next", "\"next\""),
|
||||
("next_router", "next/router"),
|
||||
],
|
||||
},
|
||||
"gin": {
|
||||
"files": ["main.go", "go.mod"],
|
||||
"content_markers": [
|
||||
("gin_gonic", "\"github.com/gin-gonic/gin\""),
|
||||
],
|
||||
},
|
||||
"spring": {
|
||||
"files": ["pom.xml", "build.gradle", "src/main/java"],
|
||||
"content_markers": [
|
||||
("springframework", "org.springframework"),
|
||||
("SpringBootApplication", "@SpringBootApplication"),
|
||||
],
|
||||
},
|
||||
"rails": {
|
||||
"files": ["config.ru", "Rakefile", "Gemfile", "bin/rails"],
|
||||
"content_markers": [
|
||||
("rails", "gem ['\"]rails['\"]"),
|
||||
("Rails_application", "Rails\\.application"),
|
||||
],
|
||||
},
|
||||
"laravel": {
|
||||
"files": ["artisan", "composer.json", "bootstrap/app.php"],
|
||||
"content_markers": [
|
||||
("laravel_framework", "\"laravel/framework\""),
|
||||
],
|
||||
},
|
||||
"nestjs": {
|
||||
"files": ["nest-cli.json", "tsconfig.json", "package.json"],
|
||||
"content_markers": [
|
||||
("nestjs_core", "@nestjs/core"),
|
||||
("nestjs_common", "@nestjs/common"),
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
PRIORITY_ORDER = [
|
||||
"os",
|
||||
"ide",
|
||||
"language",
|
||||
"framework",
|
||||
]
|
||||
Reference in New Issue
Block a user