@webpieces/code-rules 0.0.1 → 0.2.114
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.
- package/package.json +4 -3
- package/src/cli.d.ts +1 -0
- package/src/cli.js +19 -0
- package/src/cli.js.map +1 -0
- package/src/diff-utils.d.ts +24 -0
- package/src/{diff-utils.ts → diff-utils.js} +30 -38
- package/src/diff-utils.js.map +1 -0
- package/src/from-shared-config.d.ts +28 -0
- package/src/from-shared-config.js +119 -0
- package/src/from-shared-config.js.map +1 -0
- package/src/index.js +33 -0
- package/src/index.js.map +1 -0
- package/src/validate-catch-error-pattern.d.ts +47 -0
- package/src/{validate-catch-error-pattern.ts → validate-catch-error-pattern.js} +74 -195
- package/src/validate-catch-error-pattern.js.map +1 -0
- package/src/validate-code.d.ts +98 -0
- package/src/{validate-code.ts → validate-code.js} +65 -259
- package/src/validate-code.js.map +1 -0
- package/src/validate-dtos.d.ts +41 -0
- package/src/{validate-dtos.ts → validate-dtos.js} +88 -215
- package/src/validate-dtos.js.map +1 -0
- package/src/validate-modified-files.d.ts +24 -0
- package/src/{validate-modified-files.ts → validate-modified-files.js} +46 -115
- package/src/validate-modified-files.js.map +1 -0
- package/src/validate-modified-methods.d.ts +30 -0
- package/src/{validate-modified-methods.ts → validate-modified-methods.js} +94 -196
- package/src/validate-modified-methods.js.map +1 -0
- package/src/validate-new-methods.d.ts +27 -0
- package/src/{validate-new-methods.ts → validate-new-methods.js} +63 -133
- package/src/validate-new-methods.js.map +1 -0
- package/src/validate-no-any-unknown.d.ts +41 -0
- package/src/{validate-no-any-unknown.ts → validate-no-any-unknown.js} +69 -146
- package/src/validate-no-any-unknown.js.map +1 -0
- package/src/validate-no-destructure.d.ts +51 -0
- package/src/{validate-no-destructure.ts → validate-no-destructure.js} +80 -166
- package/src/validate-no-destructure.js.map +1 -0
- package/src/validate-no-direct-api-resolver.d.ts +46 -0
- package/src/{validate-no-direct-api-resolver.ts → validate-no-direct-api-resolver.js} +112 -211
- package/src/validate-no-direct-api-resolver.js.map +1 -0
- package/src/validate-no-implicit-any.d.ts +36 -0
- package/src/{validate-no-implicit-any.ts → validate-no-implicit-any.js} +94 -141
- package/src/validate-no-implicit-any.js.map +1 -0
- package/src/validate-no-inline-types.d.ts +90 -0
- package/src/{validate-no-inline-types.ts → validate-no-inline-types.js} +93 -198
- package/src/validate-no-inline-types.js.map +1 -0
- package/src/validate-no-unmanaged-exceptions.d.ts +43 -0
- package/src/{validate-no-unmanaged-exceptions.ts → validate-no-unmanaged-exceptions.js} +71 -140
- package/src/validate-no-unmanaged-exceptions.js.map +1 -0
- package/src/validate-prisma-converters.d.ts +59 -0
- package/src/{validate-prisma-converters.ts → validate-prisma-converters.js} +120 -307
- package/src/validate-prisma-converters.js.map +1 -0
- package/src/validate-return-types.d.ts +28 -0
- package/src/{validate-return-types.ts → validate-return-types.js} +84 -168
- package/src/validate-return-types.js.map +1 -0
- package/LICENSE +0 -373
- package/jest.config.ts +0 -20
- package/project.json +0 -22
- package/src/cli.ts +0 -17
- package/src/from-shared-config.ts +0 -118
- package/tsconfig.json +0 -22
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/src/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate No Direct API in Resolver Executor
|
|
3
|
+
*
|
|
4
|
+
* Validates two Angular anti-patterns using LINE-BASED detection:
|
|
5
|
+
*
|
|
6
|
+
* ============================================================================
|
|
7
|
+
* VIOLATIONS (BAD) - These patterns are flagged:
|
|
8
|
+
* ============================================================================
|
|
9
|
+
*
|
|
10
|
+
* 1. In *.routes.ts files: inject(XxxApi) — resolvers should inject services, not APIs directly
|
|
11
|
+
* 2. In *.component.ts files: this.<field>.snapshot.data — components should subscribe to
|
|
12
|
+
* service BehaviorSubjects, not read route snapshot data
|
|
13
|
+
*
|
|
14
|
+
* ============================================================================
|
|
15
|
+
* CORRECT PATTERNS (GOOD)
|
|
16
|
+
* ============================================================================
|
|
17
|
+
*
|
|
18
|
+
* 1. In resolvers: inject(XxxService) which calls the API internally
|
|
19
|
+
* 2. In components: this.myService.someObservable$ (subscribe to service BehaviorSubjects)
|
|
20
|
+
*
|
|
21
|
+
* ============================================================================
|
|
22
|
+
* MODES (LINE-BASED)
|
|
23
|
+
* ============================================================================
|
|
24
|
+
* - OFF: Skip validation entirely
|
|
25
|
+
* - MODIFIED_CODE: Flag violations on changed lines (lines in diff hunks)
|
|
26
|
+
* - NEW_AND_MODIFIED_METHODS: Flag violations in new/modified method/route scopes
|
|
27
|
+
* - MODIFIED_FILES: Flag ALL violations in files that were modified
|
|
28
|
+
*
|
|
29
|
+
* ============================================================================
|
|
30
|
+
* ESCAPE HATCH
|
|
31
|
+
* ============================================================================
|
|
32
|
+
* Add comment above the violation:
|
|
33
|
+
* // webpieces-disable no-direct-api-resolver -- [your justification]
|
|
34
|
+
* const myApi = inject(MyApi);
|
|
35
|
+
*/
|
|
36
|
+
export type NoDirectApiResolverMode = 'OFF' | 'MODIFIED_CODE' | 'NEW_AND_MODIFIED_METHODS' | 'MODIFIED_FILES';
|
|
37
|
+
export interface ValidateNoDirectApiResolverOptions {
|
|
38
|
+
mode?: NoDirectApiResolverMode;
|
|
39
|
+
disableAllowed?: boolean;
|
|
40
|
+
ignoreModifiedUntilEpoch?: number;
|
|
41
|
+
enforcePaths?: string[];
|
|
42
|
+
}
|
|
43
|
+
export interface ExecutorResult {
|
|
44
|
+
success: boolean;
|
|
45
|
+
}
|
|
46
|
+
export default function runValidator(options: ValidateNoDirectApiResolverOptions, workspaceRoot: string): Promise<ExecutorResult>;
|