wirekang/kysely-playground

Issue with imports from 'kysely/helpers/mysql'

Closed this issue · 6 comments

Hey!

I stumbled into this issue

The error usually means that there are two copies of Kysely. The SelectQueryBuilder type imported in the kysely/helpers/mysql file comes from a different copy of Kysely than the one passed to the jsonArrayFrom in the playground.

Thanks again for maintaining this awesome project!

I'm trying to figure out how to fix this issue but it seems impossible.
"kysely" and "kysely/helpers/*" share the type definition files in node_modules/kysely/dist/**/*.d.ts but playground uses bundled type definitions files. Maybe I could use type files as-is without bundling, but it will occurs too many http requests. Disabling ts(2345) is improper too since it's quite broad type error.

export { ARITHMETIC_OPERATORS, AddColumnNode, AddConstraintNode, AggregateFunctionBuilder, AggregateFunctionBuilderProps, AggregateFunctionNode, AliasNode, AliasedAggregateFunctionBuilder, AliasedExpression, AliasedExpressionWrapper, AliasedRawBuilder, AliasedSelectQueryBuilder, AlterColumnBuilder, AlterColumnBuilderCallback, AlterColumnNode, AlterColumnNodeProps, AlterTableBuilder, AlterTableBuilderProps, AlterTableColumnAlterationNode, AlterTableColumnAlteringBuilder, AlterTableColumnAlteringBuilderProps, AlterTableNode, AlterTableNodeTableProps, AlteredColumnBuilder, AndNode, AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, AnySelectQueryBuilder, ArithmeticOperator, BINARY_OPERATORS, BinaryOperationNode, BinaryOperator, COMPARISON_OPERATORS, CamelCasePlugin, CamelCasePluginOptions, CaseBuilder, CaseEndBuilder, CaseNode, CaseThenBuilder, CaseWhenBuilder, CheckConstraintNode, ColumnAlteringInterface, ColumnBuilderCallback, ColumnDataType, ColumnDefinitionBuilder, ColumnDefinitionBuilderCallback, ColumnDefinitionNode, ColumnDefinitionNodeProps, ColumnMetadata, ColumnNode, ColumnType, ColumnUpdateNode, CommonTableExpressionNameNode, CommonTableExpressionNode, ComparisonOperator, ComparisonOperatorExpression, Compilable, CompiledQuery, ConnectionBuilder, ConnectionProvider, ConstraintNode, CreateIndexBuilder, CreateIndexBuilderProps, CreateIndexNode, CreateIndexNodeProps, CreateSchemaBuilder, CreateSchemaBuilderProps, CreateSchemaNode, CreateSchemaNodeParams, CreateTableBuilder, CreateTableBuilderProps, CreateTableNode, CreateTableNodeParams, CreateTypeBuilder, CreateTypeBuilderProps, CreateTypeNode, CreateTypeNodeParams, CreateViewBuilder, CreateViewBuilderProps, CreateViewNode, CreateViewNodeParams, DEFAULT_MIGRATION_LOCK_TABLE, DEFAULT_MIGRATION_TABLE, DataTypeNode, DataTypeParams, DatabaseConnection, DatabaseIntrospector, DatabaseMetadata, DatabaseMetadataOptions, DeduplicateJoinsPlugin, DefaultConnectionProvider, DefaultInsertValueNode, DefaultQueryCompiler, DefaultQueryExecutor, DefaultValueNode, DeleteQueryBuilder, DeleteQueryBuilderProps, DeleteQueryBuilderWithFullJoin, DeleteQueryBuilderWithInnerJoin, DeleteQueryBuilderWithLeftJoin, DeleteQueryBuilderWithRightJoin, DeleteQueryNode, DeleteResult, Dialect, DialectAdapter, DialectAdapterBase, Driver, DropColumnNode, DropConstraintNode, DropConstraintNodeProps, DropIndexBuilder, DropIndexBuilderProps, DropIndexNode, DropIndexNodeProps, DropSchemaBuilder, DropSchemaBuilderProps, DropSchemaNode, DropSchemaNodeParams, DropTableBuilder, DropTableBuilderProps, DropTableNode, DropTablexNodeParams, DropTypeBuilder, DropTypeBuilderProps, DropTypeNode, DropTypeNodeParams, DropViewBuilder, DropViewBuilderProps, DropViewNode, DropViewNodeParams, DummyDriver, DynamicModule, Equals, ErrorLogEvent, ExistsExpression, ExplainFormat, ExplainNode, Explainable, Expression, ExpressionBuilder, ExpressionWrapper, ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, FileMigrationProvider, FileMigrationProviderFS, FileMigrationProviderPath, FileMigrationProviderProps, ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderCallback, ForeignKeyConstraintBuilderInterface, ForeignKeyConstraintNode, ForeignKeyConstraintNodeProps, FromNode, FunctionModule, Generated, GeneratedAlways, GeneratedNode, GeneratedNodeParams, GroupByItemNode, GroupByNode, HavingExpressionFactory, HavingInterface, HavingNode, IdentifierNode, IndexType, InferResult, InsertObject, InsertQueryBuilder, InsertQueryBuilderProps, InsertQueryNode, InsertQueryNodeProps, InsertResult, InsertType, Insertable, IsolationLevel, JoinBuilder, JoinBuilderProps, JoinCallbackExpression, JoinNode, JoinReferenceExpression, JoinType, Kysely, KyselyConfig, KyselyPlugin, KyselyProps, LOG_LEVELS, LimitNode, ListNode, Log, LogConfig, LogEvent, LogLevel, Logger, MIGRATION_LOCK_ID, Migration, MigrationInfo, MigrationLockOptions, MigrationProvider, MigrationResult, MigrationResultSet, Migrator, MigratorProps, ModifyColumnNode, MysqlAdapter, MysqlDialect, MysqlDialectConfig, MysqlDriver, MysqlIntrospector, MysqlOkPacket, MysqlPool, MysqlPoolConnection, MysqlQueryCompiler, MysqlQueryResult, MysqlStream, MysqlStreamOptions, NOOP_QUERY_EXECUTOR, NO_MIGRATIONS, NoMigrations, NoResultError, NoResultErrorConstructor, NonNullableInsertKeys, NoopQueryExecutor, NullableInsertKeys, ON_COMMIT_ACTIONS, ON_MODIFY_FOREIGN_ACTIONS, OPERATORS, OffsetNode, OnCommitAction, OnConflictBuilder, OnConflictBuilderProps, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictNode, OnConflictNodeProps, OnConflictTables, OnConflictUpdateBuilder, OnDuplicateKeyNode, OnDuplicateKeyNodeProps, OnModifyForeignAction, OnNode, OperandValueExpression, OperandValueExpressionOrList, OperationNode, OperationNodeKind, OperationNodeSource, OperationNodeTransformer, OperationNodeVisitor, Operator, OperatorNode, OrNode, OrderByDirectionExpression, OrderByExpression, OrderByItemNode, OrderByNode, OverBuilderCallback, OverNode, ParensNode, PartitionByItemNode, PartitionByNode, PluginTransformQueryArgs, PluginTransformResultArgs, PostgresAdapter, PostgresCursor, PostgresCursorConstructor, PostgresDialect, PostgresDialectConfig, PostgresDriver, PostgresIntrospector, PostgresPool, PostgresPoolClient, PostgresQueryCompiler, PostgresQueryResult, PostgresStream, PrimaryConstraintNode, PrimaryKeyConstraintNode, PrimitiveValueListNode, QueryCompiler, QueryCreator, QueryCreatorProps, QueryExecutor, QueryExecutorProvider, QueryLogEvent, QueryNode, QueryResult, RawBuilder, RawBuilderProps, RawNode, ReferenceExpression, ReferenceExpressionOrList, ReferenceNode, ReferencesNode, RenameColumnNode, ReturningInterface, ReturningNode, RootOperationNode, SchemaMetadata, SchemaModule, SelectAllNode, SelectArg, SelectExpression, SelectQueryBuilder, SelectQueryBuilderProps, SelectQueryBuilderWithFullJoin, SelectQueryBuilderWithInnerJoin, SelectQueryBuilderWithLeftJoin, SelectQueryBuilderWithRightJoin, SelectQueryNode, SelectType, Selectable, Selection, SelectionNode, SetOperationNode, SetOperator, SimpleReferenceExpression, Simplify, SingleConnectionProvider, Sql, SqlBool, SqliteAdapter, SqliteDatabase, SqliteDialect, SqliteDialectConfig, SqliteDriver, SqliteIntrospector, SqliteQueryCompiler, SqliteStatement, Streamable, StringReference, TRANSACTION_ISOLATION_LEVELS, TableExpression, TableExpressionOrList, TableMetadata, TableNode, Transaction, TransactionBuilder, TransactionSettings, UNARY_FILTER_OPERATORS, UNARY_OPERATORS, UnaryFilterOperator, UnaryOperationNode, UnaryOperator, UniqueConstraintNode, UnknownRow, UpdateKeys, UpdateObject, UpdateQueryBuilder, UpdateQueryBuilderProps, UpdateQueryBuilderWithFullJoin, UpdateQueryBuilderWithInnerJoin, UpdateQueryBuilderWithLeftJoin, UpdateQueryBuilderWithRightJoin, UpdateQueryNode, UpdateResult, UpdateType, UpdateValuesNode, Updateable, UsingNode, ValueExpression, ValueExpressionOrList, ValueListNode, ValueNode, ValuesItemNode, ValuesNode, WhenNode, WhereExpressionFactory, WhereInterface, WhereNode, WithNode, WithNodeParams, WithSchemaPlugin, createFunctionModule, expressionBuilder, isAliasedExpression, isArithmeticOperator, isBinaryOperator, isComparisonOperator, isCompilable, isExpression, isKyselyProps, isNoResultErrorConstructor, isOperationNodeSource, isOperator, isRawBuilder, logOnce, sql };

export { jsonArrayFrom, jsonBuildObject, jsonObjectFrom };

I replaced the type definition (expr: SelectQueryBuilder) with (expr: Expression) as a temporary solution.

Since 0.26.1, SelectQueryBuilder has been an interface and this problem should no longer occur.

You probably mean 0.26.2 :)

SumUp

Until 0.26.2, hacky replacement (expr: SelectQueryBuilder<any, any, O> -> expr: Expression<O>) will be applied to helpers/mysql.

You probably mean 0.26.2 :)

Yeah, probably 😅