@ontrails/warden 1.0.0-beta.2 → 1.0.0-beta.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.
- package/.turbo/turbo-lint.log +1 -1
- package/CHANGELOG.md +46 -0
- package/README.md +6 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -4
- package/dist/cli.js.map +1 -1
- package/dist/rules/ast.d.ts +6 -6
- package/dist/rules/ast.d.ts.map +1 -1
- package/dist/rules/ast.js +8 -10
- package/dist/rules/ast.js.map +1 -1
- package/dist/rules/context-no-surface-types.js +1 -1
- package/dist/rules/context-no-surface-types.js.map +1 -1
- package/dist/rules/implementation-returns-result.d.ts +1 -1
- package/dist/rules/implementation-returns-result.d.ts.map +1 -1
- package/dist/rules/implementation-returns-result.js +52 -6
- package/dist/rules/implementation-returns-result.js.map +1 -1
- package/dist/rules/index.d.ts +1 -8
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +1 -8
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/no-direct-impl-in-route.d.ts +4 -4
- package/dist/rules/no-direct-impl-in-route.d.ts.map +1 -1
- package/dist/rules/no-direct-impl-in-route.js +15 -14
- package/dist/rules/no-direct-impl-in-route.js.map +1 -1
- package/dist/rules/no-direct-implementation-call.d.ts +3 -3
- package/dist/rules/no-direct-implementation-call.js +7 -7
- package/dist/rules/no-direct-implementation-call.js.map +1 -1
- package/dist/rules/no-sync-result-assumption.d.ts +1 -1
- package/dist/rules/no-sync-result-assumption.js +5 -5
- package/dist/rules/no-sync-result-assumption.js.map +1 -1
- package/dist/rules/no-throw-in-detour-target.js +2 -2
- package/dist/rules/no-throw-in-detour-target.js.map +1 -1
- package/dist/rules/no-throw-in-implementation.d.ts +1 -1
- package/dist/rules/no-throw-in-implementation.js +3 -3
- package/dist/rules/no-throw-in-implementation.js.map +1 -1
- package/dist/rules/specs.d.ts +1 -1
- package/dist/rules/specs.d.ts.map +1 -1
- package/dist/rules/specs.js +2 -2
- package/dist/rules/specs.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/cli.test.ts +7 -7
- package/src/__tests__/drift.test.ts +1 -1
- package/src/__tests__/implementation-returns-result.test.ts +60 -6
- package/src/__tests__/no-direct-implementation-call.test.ts +8 -8
- package/src/__tests__/no-sync-result-assumption.test.ts +6 -6
- package/src/__tests__/no-throw-in-detour-target.test.ts +6 -6
- package/src/__tests__/prefer-schema-inference.test.ts +4 -4
- package/src/__tests__/rules.test.ts +59 -20
- package/src/__tests__/valid-describe-refs.test.ts +4 -4
- package/src/cli.ts +1 -4
- package/src/rules/ast.ts +10 -14
- package/src/rules/context-no-surface-types.ts +1 -1
- package/src/rules/implementation-returns-result.ts +63 -6
- package/src/rules/index.ts +1 -8
- package/src/rules/no-direct-impl-in-route.ts +20 -16
- package/src/rules/no-direct-implementation-call.ts +7 -7
- package/src/rules/no-sync-result-assumption.ts +5 -5
- package/src/rules/no-throw-in-detour-target.ts +2 -2
- package/src/rules/no-throw-in-implementation.ts +3 -3
- package/src/rules/specs.ts +5 -5
package/src/rules/specs.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface ObjectProperty extends ParsedEntry {
|
|
|
18
18
|
|
|
19
19
|
export interface TrailLikeSpec {
|
|
20
20
|
readonly id: string;
|
|
21
|
-
readonly kind: '
|
|
21
|
+
readonly kind: 'event' | 'trail';
|
|
22
22
|
readonly line: number;
|
|
23
23
|
readonly properties: ReadonlyMap<string, ObjectProperty>;
|
|
24
24
|
readonly specText: string;
|
|
@@ -31,7 +31,7 @@ export interface SchemaFieldInfo {
|
|
|
31
31
|
readonly required: boolean;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
const TRAIL_LIKE_PATTERN = /\b(trail|
|
|
34
|
+
const TRAIL_LIKE_PATTERN = /\b(trail|event)\s*\(/g;
|
|
35
35
|
|
|
36
36
|
const PROPERTY_PATTERN =
|
|
37
37
|
/^(?:readonly\s+)?(?:(["'`])([^"'`]+)\1|([A-Za-z_$][\w$]*))\s*:\s*([\s\S]+)$/;
|
|
@@ -214,7 +214,7 @@ const resolveSpecId = (
|
|
|
214
214
|
|
|
215
215
|
const buildTrailLikeSpec = (
|
|
216
216
|
sourceCode: string,
|
|
217
|
-
kind: '
|
|
217
|
+
kind: 'event' | 'trail',
|
|
218
218
|
specArg: SplitEntry,
|
|
219
219
|
specStart: number,
|
|
220
220
|
id: string,
|
|
@@ -276,7 +276,7 @@ const resolveTrailLikeSpec = (
|
|
|
276
276
|
|
|
277
277
|
const parseTrailLikeMatch = (
|
|
278
278
|
sourceCode: string,
|
|
279
|
-
kind: '
|
|
279
|
+
kind: 'event' | 'trail',
|
|
280
280
|
callStart: number
|
|
281
281
|
): TrailLikeSpec | null => {
|
|
282
282
|
const resolved = resolveTrailLikeSpec(sourceCode, callStart);
|
|
@@ -352,7 +352,7 @@ export const findTrailLikeSpecs = (
|
|
|
352
352
|
continue;
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
const kind = match[1] === '
|
|
355
|
+
const kind = match[1] === 'event' ? 'event' : 'trail';
|
|
356
356
|
const spec = parseTrailLikeMatch(sourceCode, kind, callStart);
|
|
357
357
|
if (spec !== null) {
|
|
358
358
|
specs.push(spec);
|