Skip to content

Commit

Permalink
fix: allow to use skip lib check = false in tsconfig (#909)
Browse files Browse the repository at this point in the history
  • Loading branch information
ghusse committed Jan 17, 2024
1 parent 07035fc commit da69776
Show file tree
Hide file tree
Showing 10 changed files with 22 additions and 17 deletions.
2 changes: 1 addition & 1 deletion packages/agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"@forestadmin/forestadmin-client": "1.25.3",
"@koa/cors": "^5.0.0",
"@koa/router": "^12.0.0",
"@types/koa__router": "^12.0.0",
"forest-ip-utils": "^1.0.1",
"json-api-serializer": "^2.6.6",
"json-stringify-pretty-compact": "^3.0.0",
Expand Down Expand Up @@ -53,7 +54,6 @@
"@types/koa": "^2.13.5",
"@types/koa-bodyparser": "^4.3.10",
"@types/koa__cors": "^3.3.0",
"@types/koa__router": "^12.0.0",
"@types/superagent": "^4.1.16",
"express": "^4.18.2",
"fastify": "^3.29.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/agent/src/framework-mounter.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { Logger } from '@forestadmin/datasource-toolkit';
import type { Logger } from '@forestadmin/datasource-toolkit';

import Router from '@koa/router';
import { createServer } from 'http';
import Koa from 'koa';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ColumnSchema, ValidationError } from '@forestadmin/datasource-toolkit';

export default class ColumnSchemaValidation {
export default class ColumnSchemaValidator {
static validate(column: ColumnSchema, name: string): void {
if (!column.enumValues) return;

Expand Down
4 changes: 2 additions & 2 deletions packages/agent/src/utils/forest-schema/generator-fields.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
} from '@forestadmin/datasource-toolkit';
import { ForestServerColumnType, ForestServerField } from '@forestadmin/forestadmin-client';

import ColumnSchemaValidation from './column-schema-validation';
import ColumnSchemaValidator from './column-schema-validator';
import FrontendFilterableUtils from './filterable';
import FrontendValidationUtils from './validation';

Expand Down Expand Up @@ -59,7 +59,7 @@ export default class SchemaGeneratorFields {

private static buildColumnSchema(collection: Collection, name: string): ForestServerField {
const column = collection.schema.fields[name] as ColumnSchema;
ColumnSchemaValidation.validate(column, name);
ColumnSchemaValidator.validate(column, name);

const isForeignKey = SchemaUtils.isForeignKey(collection.schema, name);

Expand Down
3 changes: 2 additions & 1 deletion packages/agent/src/utils/forest-schema/validation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {
ColumnSchema,
ColumnSchemaValidation,
ColumnType,
ConditionTreeBranch,
ConditionTreeEquivalent,
Expand All @@ -9,7 +10,7 @@ import {
import { ForestServerField } from '@forestadmin/forestadmin-client';

type FrontendValidation = ForestServerField['validations'][number];
type Validation = ColumnSchema['validation'][number];
type Validation = ColumnSchemaValidation[number];

export default class FrontendValidationUtils {
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import ColumnSchemaValidation from '../../../src/utils/forest-schema/column-schema-validation';
import ColumnSchemaValidator from '../../../src/utils/forest-schema/column-schema-validator';
import * as factories from '../../__factories__';

describe('ColumnSchemaValidation', () => {
describe('ColumnSchemaValidator', () => {
describe('enumValues', () => {
describe('when enumValues is empty', () => {
it('should not throw', () => {
const column = factories.columnSchema.build({
columnType: 'Enum',
enumValues: [],
});
expect(() => ColumnSchemaValidation.validate(column, 'isbn')).not.toThrow();
expect(() => ColumnSchemaValidator.validate(column, 'isbn')).not.toThrow();
});
});

Expand All @@ -19,7 +19,7 @@ describe('ColumnSchemaValidation', () => {
columnType: 'Enum',
enumValues: 'not an array' as unknown as string[],
});
expect(() => ColumnSchemaValidation.validate(column, 'isbn')).toThrow(
expect(() => ColumnSchemaValidator.validate(column, 'isbn')).toThrow(
'The enumValues of column \'isbn\' must be an array of string instead of "not an array"',
);
});
Expand All @@ -31,7 +31,7 @@ describe('ColumnSchemaValidation', () => {
columnType: 'Enum',
enumValues: [1, 2, 3] as unknown as string[],
});
expect(() => ColumnSchemaValidation.validate(column, 'isbn')).toThrow(
expect(() => ColumnSchemaValidator.validate(column, 'isbn')).toThrow(
"The enumValues of column 'isbn' must be an array of string instead of [1,2,3]",
);
});
Expand All @@ -43,7 +43,7 @@ describe('ColumnSchemaValidation', () => {
columnType: 'Enum',
enumValues: ['a', 'b', 'c'],
});
expect(() => ColumnSchemaValidation.validate(column, 'isbn')).not.toThrow();
expect(() => ColumnSchemaValidator.validate(column, 'isbn')).not.toThrow();
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {
CollectionDecorator,
CollectionSchema,
ColumnSchema,
ColumnSchemaValidation,
ConditionTreeFactory,
ConditionTreeLeaf,
FieldValidator,
Expand All @@ -11,7 +12,7 @@ import {
ValidationError,
} from '@forestadmin/datasource-toolkit';

type ValidationRule = ColumnSchema['validation'][number];
type ValidationRule = ColumnSchemaValidation[number];

export default class ValidationDecorator extends CollectionDecorator {
private validation: Record<string, ColumnSchema['validation']> = {};
Expand Down
4 changes: 2 additions & 2 deletions packages/datasource-replica/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { ConnectionOptions } from '@forestadmin/datasource-sql';
import type {
Aggregation,
Caller,
ColumnSchema,
ColumnSchemaValidation,
Logger,
PrimitiveTypes,
Projection,
Expand All @@ -31,7 +31,7 @@ export type LeafField = {
isPrimaryKey?: boolean;
isReadOnly?: boolean;
unique?: boolean;
validation?: ColumnSchema['validation'];
validation?: ColumnSchemaValidation;
reference?: {
relationName: string;
targetCollection: string;
Expand Down
4 changes: 3 additions & 1 deletion packages/datasource-toolkit/src/interfaces/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ export type CollectionSchema = {
export type RelationSchema = ManyToOneSchema | OneToManySchema | OneToOneSchema | ManyToManySchema;
export type FieldSchema = ColumnSchema | RelationSchema;

export type ColumnSchemaValidation = Array<{ operator: Operator; value?: unknown }>;

export type ColumnSchema = {
columnType: ColumnType;
filterOperators?: Set<Operator>;
Expand All @@ -33,7 +35,7 @@ export type ColumnSchema = {
isReadOnly?: boolean;
isSortable?: boolean;
type: 'Column';
validation?: Array<{ operator: Operator; value?: unknown }>;
validation?: ColumnSchemaValidation;
};

export type ManyToOneSchema = {
Expand Down
2 changes: 1 addition & 1 deletion packages/forestadmin-client/src/schema/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ type ForestServerActionFieldType = ForestServerColumnType | 'File' | ['File'];

export type ForestServerActionFieldCommon<
TType extends ForestServerActionFieldType = ForestServerActionFieldType,
TWidgetEdit extends WidgetEditConfiguration = null,
TWidgetEdit extends WidgetEditConfiguration | null = null,
> = {
type: TType;
value: unknown;
Expand Down

0 comments on commit da69776

Please sign in to comment.