frameworks:
- name: vite
detect:
configFiles: ["vite.config.{js,mjs,cjs,ts,mts,cts}"]
dependencies: [vite]
entry:
- "src/main.{js,jsx,ts,tsx}"
- "src/entry-{client,server}.{js,jsx,ts,tsx}"
- name: electron-vite
detect:
configFiles: ["electron.vite.config.{js,mjs,cjs,ts,mts,cts}"]
dependencies: [electron-vite]
entry:
- "src/main/index.{js,ts}"
- "src/preload/index.{js,ts}"
- "src/preload/*.{js,ts}"
- "src/renderer/src/main.{js,jsx,ts,tsx}"
- name: next
detect:
configFiles: ["next.config.{js,mjs,cjs,ts,mts}"]
dependencies: [next]
bases: [".", "src"]
entry:
- "pages/**/*.{js,jsx,ts,tsx,mdx}"
- "app/**/{page,layout,route,loading,error,global-error,not-found,template,default,forbidden,unauthorized}.{js,jsx,ts,tsx}"
- "app/**/{icon,apple-icon,opengraph-image,twitter-image,sitemap,robots,manifest}.{js,jsx,ts,tsx}"
- "{middleware,proxy}.{js,ts}"
- "instrumentation.{js,ts}"
- "instrumentation-client.{js,ts}"
- "mdx-components.{js,jsx,ts,tsx}"
globals:
- names: [getServerSideProps, getStaticProps, getStaticPaths, getInitialProps, config, reportWebVitals]
files: ["pages/**/*.{js,jsx,ts,tsx}"]
- names:
- metadata
- generateMetadata
- viewport
- generateViewport
- generateStaticParams
- generateImageMetadata
- generateSitemaps
- dynamic
- dynamicParams
- revalidate
- fetchCache
- runtime
- preferredRegion
- maxDuration
- experimental_ppr
- alt
- size
- contentType
- GET
- POST
- PUT
- PATCH
- DELETE
- HEAD
- OPTIONS
files: ["app/**/*.{js,jsx,ts,tsx}"]
- names: [middleware, proxy, config]
files: ["{middleware,proxy}.{js,ts}"]
- names: [register, onRequestError, onRouterTransitionStart]
files: ["instrumentation.{js,ts}", "instrumentation-client.{js,ts}"]
- names: [useMDXComponents]
files: ["mdx-components.{js,jsx,ts,tsx}"]
- name: nuxt
detect:
configFiles: ["nuxt.config.{ts,js,mjs,mts}"]
dependencies: [nuxt, nuxt-nightly, nuxt3]
variables:
srcDir: "."
bases: [".", "app", "${srcDir}"]
entry:
- "app.{vue,js,jsx,ts,tsx}"
- "error.vue"
- "app.config.{js,ts}"
- "router.options.{js,ts}"
- "pages/**/*.{vue,js,jsx,ts,tsx}"
directories:
- components
- composables
- utils
- middleware
- plugins
- modules
- server
- layouts
- name: nitro
detect:
configFiles: ["nitro.config.{ts,js,mjs,mts}"]
dependencies: [nitropack, nitro]
variables:
srcDir: "."
bases: [".", "${srcDir}"]
directories: [api, routes, middleware, plugins, tasks, server, utils]
- name: wxt
detect:
configFiles: ["wxt.config.{ts,js,mjs,mts}"]
dependencies: [wxt]
variables:
srcDir: "."
entrypointsDir: entrypoints
bases: ["${srcDir}"]
entry:
- "app.config.{js,ts}"
directories: ["${entrypointsDir}"]
autoImports:
disabledBy: imports
directories: [components, composables, hooks, utils]
- name: plasmo
detect:
dependencies: [plasmo]
bases: [".", "src"]
entry:
- "{background,popup,options,newtab,devtools,sidepanel,content,sandbox}.{js,jsx,ts,tsx,vue,svelte}"
- "{background,popup,options,newtab,devtools,sidepanel}/index.{js,jsx,ts,tsx,vue,svelte}"
directories:
- background/messages
- background/ports
- contents
- tabs
- sandboxes
- name: remix
detect:
configFiles: ["remix.config.{js,mjs,cjs}"]
dependencies: ["@remix-run/dev"]
variables:
appDirectory: app
entry:
- "${appDirectory}/root.{js,jsx,ts,tsx}"
- "${appDirectory}/entry.{client,server}.{js,jsx,ts,tsx}"
- "${appDirectory}/routes/**/*.{js,jsx,ts,tsx,mdx}"
- "server.{js,mjs,ts}"
globals:
- names: [loader, action, clientLoader, clientAction, meta, links, headers, handle, shouldRevalidate, ErrorBoundary, HydrateFallback, Layout, middleware, clientMiddleware]
files: ["${appDirectory}/**/*.{js,jsx,ts,tsx}"]
- names: [handleDataRequest, handleError, streamTimeout]
files: ["${appDirectory}/entry.server.{js,jsx,ts,tsx}"]
- name: react-router
detect:
configFiles: ["react-router.config.{js,mjs,ts,mts}"]
dependencies: ["@react-router/dev"]
variables:
appDirectory: app
entry:
- "${appDirectory}/root.{js,jsx,ts,tsx}"
- "${appDirectory}/routes.{js,ts}"
- "${appDirectory}/entry.{client,server}.{js,jsx,ts,tsx}"
- "${appDirectory}/routes/**/*.{js,jsx,ts,tsx,mdx}"
- "server.{js,mjs,ts}"
globals:
- names: [loader, action, clientLoader, clientAction, meta, links, headers, handle, shouldRevalidate, ErrorBoundary, HydrateFallback, Layout, middleware, clientMiddleware]
files: ["${appDirectory}/**/*.{js,jsx,ts,tsx}"]
- names: [handleDataRequest, handleError, streamTimeout]
files: ["${appDirectory}/entry.server.{js,jsx,ts,tsx}"]
- name: sveltekit
detect:
dependencies: ["@sveltejs/kit"]
entry:
- "src/routes/**/+*.{js,ts,svelte}"
- "src/hooks.{js,ts}"
- "src/hooks.{client,server}.{js,ts}"
- "src/hooks/index.{js,ts}"
- "src/params/**/*.{js,ts}"
- "src/service-worker.{js,ts}"
- "src/service-worker/index.{js,ts}"
- "src/instrumentation.server.{js,ts}"
globals:
- names: [load, actions, prerender, ssr, csr, trailingSlash, config, entries, fallback, GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS]
files: ["src/routes/**/+*.{js,ts}"]
- names: [data, form, params]
files: ["src/routes/**/+*.svelte"]
- names: [handle, handleFetch, handleError, handleValidationError, init, reroute, transport]
files: ["src/hooks.{js,ts}", "src/hooks.{client,server}.{js,ts}", "src/hooks/index.{js,ts}"]
- names: [match]
files: ["src/params/**/*.{js,ts}"]
- name: astro
detect:
configFiles: ["astro.config.{js,mjs,cjs,ts,mts}"]
dependencies: [astro]
variables:
srcDir: src
bases: ["${srcDir}"]
entry:
- "pages/**/*.{astro,js,ts,md,mdx}"
- "content/config.{js,mjs,ts}"
- "content.config.{js,mjs,ts}"
- "live.config.{js,mjs,ts}"
- "middleware.{js,ts}"
- "middleware/index.{js,ts}"
- "actions/index.{js,ts}"
globals:
- names: [getStaticPaths, prerender, partial, ALL, GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS]
files: ["pages/**/*.{astro,js,ts}"]
- names: [onRequest]
files: ["middleware.{js,ts}", "middleware/index.{js,ts}"]
- names: [collections]
files: ["content/config.{js,mjs,ts}", "content.config.{js,mjs,ts}", "live.config.{js,mjs,ts}"]
- names: [server]
files: ["actions/index.{js,ts}"]
- name: solid-start
detect:
dependencies: ["@solidjs/start"]
entry:
- "src/app.{jsx,tsx}"
- "src/entry-{client,server}.{jsx,tsx}"
- "src/middleware.{js,ts}"
- "src/middleware/index.{js,ts}"
- "src/routes/**/*.{js,jsx,ts,tsx}"
globals:
- names: [route, GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS]
files: ["src/routes/**/*.{js,jsx,ts,tsx}"]
- name: tanstack-start
detect:
configFiles: ["tsr.config.json"]
dependencies:
- "@tanstack/react-start"
- "@tanstack/solid-start"
- "@tanstack/router-plugin"
- "@tanstack/router-vite-plugin"
- "@tanstack/router-cli"
bases: ["src", "app"]
entry:
- "routes/**/*.{js,jsx,ts,tsx}"
- "router.{js,jsx,ts,tsx}"
- "{client,server,ssr,start}.{js,jsx,ts,tsx}"
- "routeTree.gen.ts"
globals:
- names: [Route, ServerRoute]
files: ["routes/**/*.{js,jsx,ts,tsx}"]
- name: qwik-city
detect:
dependencies: ["@builder.io/qwik-city", "@qwik.dev/router"]
entry:
- "src/root.{jsx,tsx}"
- "src/entry.*.{jsx,tsx}"
- "src/routes/**/*.{js,jsx,ts,tsx,md,mdx}"
globals:
- names: [head, onRequest, onGet, onPost, onPut, onPatch, onDelete, onHead, onOptions, onStaticGenerate]
files: ["src/routes/**/*.{js,jsx,ts,tsx}"]
- name: gatsby
detect:
configFiles: ["gatsby-config.{js,mjs,ts}"]
dependencies: [gatsby]
entry:
- "gatsby-{config,node,browser,ssr}.{js,jsx,mjs,ts,tsx}"
- "plugins/**/gatsby-{config,node,browser,ssr}.{js,jsx,mjs,ts,tsx}"
- "src/html.{js,jsx,tsx}"
- "src/pages/**/*.{js,jsx,ts,tsx,mdx}"
- "src/templates/**/*.{js,jsx,ts,tsx}"
- "src/api/**/*.{js,ts}"
globals:
- names: [query, Head, config, getServerData]
files: ["src/pages/**/*.{js,jsx,ts,tsx}", "src/templates/**/*.{js,jsx,ts,tsx}"]
- names:
- createPages
- createPagesStatefully
- createResolvers
- createSchemaCustomization
- onCreateBabelConfig
- onCreateDevServer
- onCreateNode
- onCreatePage
- onCreateWebpackConfig
- onPluginInit
- onPreBootstrap
- onPreBuild
- onPreInit
- onPostBootstrap
- onPostBuild
- pluginOptionsSchema
- setFieldsOnGraphQLNodeType
- sourceNodes
- onClientEntry
- onInitialClientRender
- onPreRenderHTML
- onPreRouteUpdate
- onRenderBody
- onRouteUpdate
- onRouteUpdateDelayed
- onServiceWorkerActive
- onServiceWorkerUpdateReady
- replaceHydrateFunction
- replaceRenderer
- shouldUpdateScroll
- wrapPageElement
- wrapRootElement
files: ["**/gatsby-{node,browser,ssr}.{js,jsx,mjs,ts,tsx}"]
- name: redwood
detect:
configFiles: ["redwood.toml"]
dependencies: ["@redwoodjs/core"]
entry:
- "web/src/{App,Routes}.{js,jsx,tsx}"
- "web/src/entry.{client,server}.{js,jsx,tsx}"
- "api/src/lib/{auth,db,logger}.{js,ts}"
directories:
- web/src/pages
- web/src/layouts
- api/src/functions
- api/src/services
- api/src/graphql
- api/src/directives
- scripts
- name: analog
detect:
dependencies: ["@analogjs/platform"]
entry:
- "src/main.ts"
- "src/main.server.ts"
- "src/app/pages/**/*.{ts,analog,ag}"
- "src/server/routes/**/*.ts"
- "src/server/middleware/**/*.ts"
- name: angular
detect:
configFiles: ["angular.json"]
dependencies: ["@angular/cli", "@angular/build", "@angular-devkit/build-angular"]
entry:
- "{projects/*/,}src/{main,main.server,polyfills,test}.ts"
- "{projects/*/,}server.ts"
- "{projects/*/,}src/environments/*.ts"
globals:
- ngOnChanges
- ngOnInit
- ngDoCheck
- ngAfterContentInit
- ngAfterContentChecked
- ngAfterViewInit
- ngAfterViewChecked
- ngOnDestroy
- canActivate
- canActivateChild
- canDeactivate
- canMatch
- intercept
- writeValue
- registerOnChange
- registerOnTouched
- setDisabledState
- name: nest
detect:
configFiles: ["nest-cli.json"]
dependencies: ["@nestjs/core"]
variables:
sourceRoot: src
entry:
- "${sourceRoot}/main.ts"
- "${sourceRoot}/repl.ts"
- "apps/*/src/main.ts"
globals:
- onModuleInit
- onModuleDestroy
- onApplicationBootstrap
- beforeApplicationShutdown
- onApplicationShutdown
- canActivate
- intercept
- configure
- name: adonis
detect:
configFiles: ["adonisrc.ts", ".adonisrc.json"]
dependencies: ["@adonisjs/core"]
directories:
- bin
- start
- commands
- config
- providers
- database
- app/controllers
- app/middleware
- app/listeners
- app/exceptions
- name: sails
detect:
configFiles: [".sailsrc"]
dependencies: [sails]
entry:
- "app.js"
directories: [api, config]
- name: fastify-autoload
detect:
dependencies: ["@fastify/autoload", "fastify-autoload"]
bases: [".", "src"]
directories: [plugins, routes]
- name: strapi
detect:
dependencies: ["@strapi/strapi"]
entry:
- "src/index.{js,ts}"
- "src/admin/app.{js,jsx,ts,tsx}"
directories:
- config
- database/migrations
- src/api
- src/components
- src/extensions
- src/middlewares
- src/policies
- src/plugins
- name: medusa
detect:
configFiles: ["medusa-config.{js,ts}"]
dependencies: ["@medusajs/medusa", "@medusajs/framework"]
entry:
- "src/modules/*/index.{js,ts}"
- "src/modules/*/migrations/*.{js,ts}"
- "src/admin/routes/**/page.{jsx,tsx}"
directories:
- src/api
- src/subscribers
- src/jobs
- src/links
- src/loaders
- src/scripts
- src/admin/widgets
- name: ember
detect:
configFiles: ["ember-cli-build.{js,cjs}"]
dependencies: [ember-source, ember-cli]
directories: [app, addon, addon-test-support, config, mirage]
- name: quasar
detect:
configFiles: ["quasar.config.{js,mjs,cjs,ts}", "quasar.conf.js"]
dependencies: ["@quasar/app-vite", "@quasar/app-webpack"]
entry:
- "src/App.vue"
- "src/router/index.{js,ts}"
- "src/stores/index.{js,ts}"
directories: [src/boot, src-pwa, src-ssr, src-electron, src-bex, src-capacitor]
- name: react-native
detect:
configFiles: ["metro.config.{js,cjs,mjs,ts}", "react-native.config.{js,ts}"]
dependencies: [react-native]
entry:
- "index.{js,jsx,ts,tsx}"
- "index.{ios,android}.{js,jsx,ts,tsx}"
- "App.{js,jsx,ts,tsx}"
- "**/*.{ios,android,native,web}.{js,jsx,ts,tsx}"
- name: expo
detect:
dependencies: [expo]
entry:
- "App.{js,jsx,ts,tsx}"
- "app.config.{js,ts}"
- "**/*.{ios,android,native,web}.{js,jsx,ts,tsx}"
- name: expo-router
detect:
dependencies: [expo-router]
bases: [".", "src"]
entry:
- "app/**/*.{js,jsx,ts,tsx}"
globals:
- names: [unstable_settings, ErrorBoundary, generateStaticParams, GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS]
files: ["app/**/*.{js,jsx,ts,tsx}"]
- name: cloudflare-workers
detect:
configFiles: ["wrangler.{toml,json,jsonc}"]
dependencies: [wrangler]
entry:
- "src/{index,worker}.{js,mjs,ts,mts}"
- "_worker.js"
- "functions/**/*.{js,mjs,ts,mts}"
globals:
- names: [onRequest, onRequestGet, onRequestPost, onRequestPut, onRequestPatch, onRequestDelete, onRequestHead, onRequestOptions]
files: ["functions/**/*.{js,mjs,ts,mts}"]
- name: vercel
detect:
configFiles: ["vercel.json"]
dependencies: [vercel, "@vercel/node"]
entry:
- "api/**/*.{js,mjs,ts,mts}"
- "middleware.{js,ts}"
globals:
- names: [config, GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS]
files: ["api/**/*.{js,mjs,ts,mts}", "middleware.{js,ts}"]
- name: netlify
detect:
configFiles: ["netlify.toml"]
dependencies: [netlify-cli, "@netlify/functions", "@netlify/edge-functions"]
directories: [netlify/functions, netlify/edge-functions]
globals:
- names: [handler, config]
files: ["netlify/{functions,edge-functions}/**/*.{js,mjs,ts,mts}"]
- name: serverless
detect:
configFiles: ["serverless.{yml,yaml,json,js,ts}"]
dependencies: [serverless]
bases: [".", "src"]
entry:
- "handler.{js,mjs,ts}"
directories: [handlers, functions]
globals:
- names: [handler, main]
files: ["handler.{js,mjs,ts}", "{handlers,functions}/**/*.{js,mjs,ts}"]
- name: firebase-functions
detect:
configFiles: ["firebase.json"]
dependencies: [firebase-functions]
entry:
- "functions/src/index.{js,ts}"
- "functions/index.js"
- name: trigger-dev
detect:
configFiles: ["trigger.config.{js,mjs,ts}"]
dependencies: ["@trigger.dev/sdk"]
bases: [".", "src"]
directories: [trigger]
- name: docusaurus
detect:
configFiles: ["docusaurus.config.{js,mjs,ts}"]
dependencies: ["@docusaurus/core"]
entry:
- "sidebars*.{js,ts}"
- "src/pages/**/*.{js,jsx,ts,tsx,mdx}"
directories: [src/theme]
- name: vitepress
detect:
configFiles: [".vitepress/config.{js,mjs,ts,mts}"]
dependencies: [vitepress]
entry:
- "**/.vitepress/config.{js,mjs,ts,mts}"
- "**/.vitepress/theme/index.{js,mjs,ts,mts}"
- "**/*.data.{js,mjs,ts,mts}"
- "**/*.paths.{js,mjs,ts,mts}"
globals:
- names: [data]
files: ["**/*.data.{js,mjs,ts,mts}"]
- name: eleventy
detect:
configFiles: [".eleventy.js", "eleventy.config.{js,mjs,cjs}"]
dependencies: ["@11ty/eleventy"]
entry:
- ".eleventy.js"
- "**/*.11ty.{js,mjs,cjs}"
- "**/*.11tydata.{js,mjs,cjs}"
- "**/_data/**/*.{js,mjs,cjs}"
globals:
- names: [data, render]
files: ["**/*.11ty.{js,mjs,cjs}"]
- name: storybook
detect:
configFiles: [".storybook/main.{js,mjs,cjs,ts,mts}"]
dependencies: [storybook, "@storybook/*"]
entry:
- ".storybook/**/*.{js,jsx,mjs,cjs,ts,tsx,mts}"
- "**/*.{stories,story}.{js,jsx,ts,tsx,svelte,vue}"
globals:
- names: [parameters, decorators, globalTypes, initialGlobals, loaders, args, argTypes, tags, beforeAll, beforeEach]
files: [".storybook/preview.{js,jsx,mjs,ts,tsx}"]
- name: histoire
detect:
configFiles: ["histoire.config.{js,mjs,ts}"]
dependencies: [histoire]
entry:
- "histoire.setup.{js,ts}"
- "src/histoire.setup.{js,ts}"
- "**/*.story.{vue,svelte,js,ts}"
- name: jest
detect:
configFiles: ["jest.config.{js,mjs,cjs,ts,mts,cts,json}"]
dependencies: [jest]
packageJsonKeys: [jest]
entry:
- "jest.*.{js,mjs,cjs,ts,mts,cts}"
- "{src/,}setupTests.{js,jsx,ts,tsx}"
- "**/__mocks__/**/*.{js,jsx,mjs,cjs,ts,tsx}"
- name: vitest
detect:
configFiles: ["vitest.config.{js,mjs,cjs,ts,mts,cts}", "vitest.workspace.{js,mjs,ts,json}"]
dependencies: [vitest]
entry:
- "vitest.*.{js,mjs,cjs,ts,mts,cts}"
- "**/*.{bench,test-d}.{js,mjs,ts,mts,tsx}"
- "**/__mocks__/**/*.{js,jsx,mjs,cjs,ts,tsx}"
- name: mocha
detect:
configFiles: [".mocharc.{js,cjs,mjs,json,jsonc,yaml,yml}"]
dependencies: [mocha]
packageJsonKeys: [mocha]
entry:
- ".mocharc.{js,cjs,mjs}"
directories: [test]
- name: ava
detect:
configFiles: ["ava.config.{js,cjs,mjs}"]
dependencies: [ava]
packageJsonKeys: [ava]
entry:
- "**/test.{js,cjs,mjs,ts}"
- "**/test-*.{js,cjs,mjs,ts}"
- name: playwright
detect:
configFiles: ["playwright.config.{js,mjs,cjs,ts,mts}", "playwright-ct.config.{js,mjs,cjs,ts,mts}"]
dependencies: ["@playwright/test", "@playwright/experimental-ct-*"]
entry:
- "playwright*.config.{js,mjs,cjs,ts,mts}"
- "{global-setup,global-teardown,global.setup,global.teardown}.{js,ts}"
- "**/*.setup.{js,ts}"
directories: [playwright]
- name: cypress
detect:
configFiles: ["cypress.config.{js,mjs,cjs,ts}"]
dependencies: [cypress]
entry:
- "**/*.cy.{js,jsx,ts,tsx}"
directories: [cypress]
- name: cucumber
detect:
configFiles: ["cucumber.{js,mjs,cjs,json,yaml,yml}"]
dependencies: ["@cucumber/cucumber"]
entry:
- "cucumber.{js,mjs,cjs}"
- "**/step_definitions/**/*.{js,mjs,cjs,ts}"
directories: [features]
- name: prisma
detect:
configFiles: ["prisma.config.{js,mjs,ts,mts}", "prisma/schema.prisma"]
dependencies: [prisma, "@prisma/client"]
packageJsonKeys: [prisma]
entry:
- "prisma.config.{js,mjs,ts,mts}"
- "prisma/seed.{js,mjs,ts,mts}"
- name: knex
detect:
configFiles: ["knexfile.{js,mjs,cjs,ts}"]
dependencies: [knex]
entry:
- "knexfile.{js,mjs,cjs,ts}"
directories: [migrations, seeds]
- name: sequelize
detect:
configFiles: [".sequelizerc"]
dependencies: [sequelize-cli]
bases: [".", "src", "db", "database"]
directories: [migrations, seeders, models]
- name: typeorm
detect:
configFiles: ["ormconfig.{js,ts,json}"]
dependencies: [typeorm]
entry:
- "ormconfig.{js,ts}"
- "**/data-source.{js,ts}"
- "**/migrations/**/*.{js,ts}"
- "**/*.{entity,subscriber,migration}.{js,ts}"
- name: hardhat
detect:
configFiles: ["hardhat.config.{js,cjs,mjs,ts}"]
dependencies: [hardhat]
directories: [scripts, tasks, deploy, ignition/modules, test]
- name: create-react-app
detect:
dependencies: [react-scripts, "@craco/craco", react-app-rewired]
entry:
- "src/index.{js,jsx,ts,tsx}"
- "src/setupTests.{js,ts}"
- "src/setupProxy.js"
- "src/service-worker.{js,ts}"
- "src/react-app-env.d.ts"
- name: django
detect:
configFiles: ["manage.py"]
entry:
- "**/migrations/*.py"
- "**/management/commands/*.py"
- "**/templatetags/*.py"
- "**/{admin,apps,models,tests}.py"
- "**/{middleware,context_processors,backends,routing}.py"
- "**/settings/*.py"
globals:
- urlpatterns
- app_name
- application
- default_app_config
- handler400
- handler403
- handler404
- handler500
- name: alembic
detect:
configFiles: ["alembic.ini"]
entry:
- "**/versions/*.py"
- "**/env.py"
globals:
- names: [revision, down_revision, branch_labels, depends_on, upgrade, downgrade]
files: ["**/versions/*.py"]
- name: scrapy
detect:
configFiles: ["scrapy.cfg"]
entry:
- "**/spiders/*.py"
- "**/{settings,pipelines,middlewares,items}.py"