@donotdev/core 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,79 @@
1
+ // packages/core/config/eslint/index.d.ts
2
+
3
+ /**
4
+ * @fileoverview TypeScript Declarations for DoNotDev ESLint Plugin
5
+ * @description Type definitions for custom ESLint rules and plugin configuration.
6
+ *
7
+ * @version 0.0.1
8
+ * @since 0.0.1
9
+ * @author AMBROISE PARK Consulting
10
+ */
11
+
12
+ /**
13
+ * Require use client options
14
+ *
15
+ * @version 0.0.1
16
+ * @since 0.0.1
17
+ * @author AMBROISE PARK Consulting
18
+ */
19
+ interface RequireUseClientOptions {
20
+ /** Patterns that indicate client-side features */
21
+ clientPatterns?: string[];
22
+ /** File patterns to check */
23
+ filePatterns?: string[];
24
+ /** File patterns to exclude from checking */
25
+ excludePatterns?: string[];
26
+ }
27
+
28
+ /**
29
+ * ESLint rule interface
30
+ *
31
+ * @version 0.0.1
32
+ * @since 0.0.1
33
+ * @author AMBROISE PARK Consulting
34
+ */
35
+ interface ESLintRule {
36
+ meta: {
37
+ type: 'suggestion' | 'problem' | 'layout';
38
+ docs: {
39
+ description: string;
40
+ category: string;
41
+ recommended: boolean;
42
+ };
43
+ fixable: null | 'code' | 'whitespace';
44
+ schema: any[];
45
+ messages: Record<string, string>;
46
+ };
47
+ create: (context: any) => any;
48
+ }
49
+
50
+ /**
51
+ * ESLint plugin interface
52
+ *
53
+ * @version 0.0.1
54
+ * @since 0.0.1
55
+ * @author AMBROISE PARK Consulting
56
+ */
57
+ interface ESLintPlugin {
58
+ rules: {
59
+ 'require-use-client': ESLintRule;
60
+ };
61
+ configs: {
62
+ recommended: {
63
+ plugins: string[];
64
+ rules: Record<string, string | [string, any]>;
65
+ };
66
+ };
67
+ }
68
+
69
+ /**
70
+ * ESLint plugin default export
71
+ *
72
+ * @version 0.0.1
73
+ * @since 0.0.1
74
+ * @author AMBROISE PARK Consulting
75
+ */
76
+ declare const plugin: ESLintPlugin;
77
+
78
+ export { plugin as default };
79
+ export type { ESLintPlugin, ESLintRule, RequireUseClientOptions };