UNPKG

pi-lens

Version:

Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo

73 lines (59 loc) • 1.75 kB
# SpringBootApplication Default Package # Detects @SpringBootApplication in default package id: springboot-default-package name: SpringBootApplication Should Not Be in Default Package severity: error category: reliability defect_class: correctness inline_tier: blocking language: java message: "@SpringBootApplication and @ComponentScan should not be used in default package" description: | Using @SpringBootApplication or @ComponentScan in the default package causes component scanning issues and unexpected behavior. Always use a named package. ✅ FIX: Move to a named package ```java package com.example.myapp; // GOOD - named package @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` query: | (class_declaration (modifiers [(marker_annotation name: (identifier) @ANNOT) (annotation name: (identifier) @ANNOT)]) name: (_) @CLASS (#match? @ANNOT "^(SpringBootApplication|ComponentScan)$")) metavars: - ANNOT - CLASS post_filter: in_default_package tags: - reliability - java - spring - best-practice examples: bad: | // No package declaration - default package @SpringBootApplication // BAD - in default package public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } good: | package com.example; @SpringBootApplication // GOOD - named package public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } has_fix: false