-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add import
prop @ FileMigrationProvider
.
#994
Open
igalklebanov
wants to merge
5
commits into
kysely-org:master
Choose a base branch
from
igalklebanov:pass-import-fn-migration-provider
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
add import
prop @ FileMigrationProvider
.
#994
igalklebanov
wants to merge
5
commits into
kysely-org:master
from
igalklebanov:pass-import-fn-migration-provider
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
igalklebanov
changed the title
add import prop @ file migration provider.
add May 18, 2024
import
prop @ FileMigrationProvider
.
igalklebanov
force-pushed
the
pass-import-fn-migration-provider
branch
from
May 18, 2024 23:16
d3cf478
to
ddfe24e
Compare
igalklebanov
added
enhancement
New feature or request
migrations
Related to migrations
labels
May 18, 2024
igalklebanov
commented
May 19, 2024
@@ -2,7 +2,8 @@ | |||
"extends": "../../tsconfig-base.json", | |||
"include": ["src/**/*"], | |||
"compilerOptions": { | |||
"module": "CommonJS", | |||
"outDir": "dist" | |||
"module": "NodeNext", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
necessary to allow importing tsx/*
.
igalklebanov
commented
May 19, 2024
Comment on lines
+2
to
+7
import chaiAsPromised from 'chai-as-promised' | ||
import chaiSubset from 'chai-subset' | ||
import Cursor from 'pg-cursor' | ||
import { Pool, PoolConfig } from 'pg' | ||
import { createPool } from 'mysql2' | ||
import * as Database from 'better-sqlite3' | ||
import Database from 'better-sqlite3' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
necessary after tsconfig
changes.
igalklebanov
force-pushed
the
pass-import-fn-migration-provider
branch
from
May 19, 2024 00:16
1003a53
to
1994fbb
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey 👋
This PR allows passing an optional custom
import
function @FileMigrationProvider
.e.g. this would allow consumers to pass a function that uses
tsImport
bytsx
to import TS files without the need to precompile them when using Node.js or a similar JavaScript runtime that doesn't have built-in TS file support.Also adds
onDiscarded
optional prop, so external tooling can warn users about files that were ignored by the migration provider.Also extracts file extension check to a protected method - can be overridden to only support TS files by an extending class.
Also adds
cjs
&cts
support.These changes were inspired by https://github.com/kysely-org/kysely-ctl/blob/main/src/kysely/ts-file-migration-provider.mts , a custom provider implementation in
kysely-ctl
that only works with TS migration files, on all runtimes.