Commit graph

149 commits

Author SHA1 Message Date
github-actions[bot]
6c4e441eff chore(release): version packages 2024-02-13 13:00:15 +01:00
57a099169e fix(cli): cleanup AbortSignal event listeners to avoid MaxListenersExceededWarning 2024-02-12 20:59:26 +01:00
github-actions[bot]
ae9e8b1b04 chore(release): version packages 2024-02-12 13:56:28 +01:00
1065322435 fix(pino): show correct statuses for the "list" and "new" commands 2024-02-12 13:47:55 +01:00
17feb2d2c2 fix(mysql): only unreference connections in a Bun environment as it has problems with Node for some reason 2024-02-12 13:35:18 +01:00
github-actions[bot]
0360d0b82f chore(release): version packages 2024-02-09 14:05:35 +01:00
c838ffb7f3 fix(typescript): load config written in TypeScript without the typescript package when using Bun, Deno or tsx 2024-02-09 14:00:24 +01:00
198aa545eb fix(mysql): unreference all connections so that the process can exit cleanly
In a NodeJS environment it will just work as before, but in a Bun environment it will make the "forced exit" error message disappear and remove the 10 s waiting period when migrations are done.
2024-02-09 13:13:27 +01:00
18382ce961 feat(reporters): add built-in "json" reporter and rename "default" to "pretty" 2024-02-06 09:22:35 +01:00
github-actions[bot]
4e8ac5294d chore(release): version packages 2024-02-05 15:51:38 +01:00
61cbcbd691 fix(cli): force exiting after 10 seconds should not change the exit code
If all migrations have been run successfully we want the exit code to be 0 even though we had to force exit the process.
This is because on some platforms (e.g. Bun) all handles are not cleaned up the same as in NodeJS, so lets be forgiving.
2024-02-05 15:48:55 +01:00
github-actions[bot]
f720aae83d chore(release): version packages 2024-02-05 15:14:33 +01:00
543b7f6f77 fix(bun): import setTimeout/setInterval from "node:timers" for .unref() to correctly work 2024-02-05 15:12:30 +01:00
db656c2310 chore: enable NPM provenance 2024-02-05 15:08:47 +01:00
github-actions[bot]
ff89dd4f86 chore(release): version packages 2024-02-05 14:54:05 +01:00
f8a5cc728d fix(storage): make sure the storage initialization crashes when db connection can't be established 2024-02-05 14:50:17 +01:00
ef45be9233 fix(reporters): show number of skipped migrations correctly in command output 2024-02-05 14:17:30 +01:00
0faebbe647 docs(cli): document the relative file path support for the "remove" command 2024-01-26 16:09:49 +01:00
2f6b4d23e0 fix(reporter-default): don't dim decimal points in durations in the default reporter 2024-01-26 16:09:49 +01:00
1f139fd975 feat(remove): rework the "remove" command to be more similar to "up" and "list"
The old reporter methods related to the "remove" command is not used anymore and instead the shared `onMigrationStart`, `onMigrationSuccess` and `onMigrationError` methods are used.
Some preparation has also been made to support for removing multiple migrations at once in the future, similar to how the `--from` and `--to` CLI options work for the "up" command.
2024-01-26 16:09:49 +01:00
86e0d52e5c feat(reporter-pino): adapt to the new Reporter interface 2024-01-26 16:09:49 +01:00
94ad9feae9 feat(types): simplify the EmigrateReporter interface by removing the "remove" specific methods 2024-01-26 16:09:49 +01:00
f2d4bb346e fix(cli): make sure errors passed to the storage are serialized correctly 2024-01-26 16:09:49 +01:00
f1b9098750 fix(migrations): don't include folders when collecting migrations
It should be possible to have folders inside your migrations folder
2024-01-26 09:26:49 +01:00
9109238b86 feat(cli): improve the "up" commands --from and --to options
The given values can either be migration names or relative paths to migration files.
The given migration must exist to avoid accidentally running migrations that wasn't intended to run.
2024-01-26 09:13:03 +01:00
github-actions[bot]
986456b038 chore(release): version packages 2024-01-23 11:44:05 +01:00
b56b6daf73 fix(cli): handle migration history entries without file extensions correctly
...even when the migration file names include periods in their names.
2024-01-23 11:36:47 +01:00
github-actions[bot]
ea327bbc49 chore(release): version packages 2024-01-22 13:49:54 +01:00
121492b303 fix(cli): sort migrations lexicographically for real 2024-01-22 13:48:09 +01:00
github-actions[bot]
bddb2d6b14 chore(release): version packages 2024-01-22 11:32:48 +01:00
a4da353d5a feat(cli): add graceful process abort
Using an AbortSignal and Promise.race we abandon running migrations that take longer to complete after the process is aborted than the given abortRespite period
2024-01-22 11:30:06 +01:00
ce15648251 feat(types): add type for the onAbort Reporter method 2024-01-22 11:30:06 +01:00
github-actions[bot]
576dfbb124 chore(release): version packages 2024-01-19 13:48:24 +01:00
98adcda37e fix(reporters): use better wording in the header in the default reporter
Also show the number of skipped migrations
2024-01-19 13:43:59 +01:00
f515c8a854 feat(cli): add --no-execution option to the "up" command
...which can be used to log manually run migrations as successful or for baselining a database.
2024-01-19 13:43:59 +01:00
e71c318ea5 test(up): structure the up tests in a better way 2024-01-19 13:43:59 +01:00
9ef0fa2776 feat(cli): add --from and --to options to limit what migrations to run 2024-01-19 13:43:59 +01:00
02c142e39a feat(up): add --limit option to limit the number of migrations to run 2024-01-19 13:43:59 +01:00
bf4d596980 fix(cli): clarify which options that takes parameters 2024-01-19 13:43:59 +01:00
github-actions[bot]
424d3e9903 chore(release): version packages 2024-01-18 15:25:51 +01:00
73a8a42e5f fix(history): support a migration history with entries without file extensions (.js is assumed in such case) 2024-01-18 15:18:35 +01:00
github-actions[bot]
114979f154 chore(release): version packages 2024-01-18 14:52:48 +01:00
dependabot[bot]
b083e88bac chore(deps): bump cosmiconfig from 8.3.6 to 9.0.0
Bumps [cosmiconfig](https://github.com/cosmiconfig/cosmiconfig) from 8.3.6 to 9.0.0.
- [Release notes](https://github.com/cosmiconfig/cosmiconfig/releases)
- [Changelog](https://github.com/cosmiconfig/cosmiconfig/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmiconfig/cosmiconfig/compare/cosmiconfig-v8.3.6...v9.0.0)

---
updated-dependencies:
- dependency-name: cosmiconfig
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 14:50:14 +01:00
github-actions[bot]
9130af7b12 chore(release): version packages 2024-01-18 10:50:05 +01:00
83dc618c2e fix(cli): remove --enable-source-maps flag 2024-01-18 10:46:04 +01:00
github-actions[bot]
3c54917c35 chore(release): version packages 2023-12-28 09:20:03 +01:00
9a605a85f1 feat: add support for TypeScript migration files
And add a guide to the documentation on how to set it up for NodeJS
2023-12-20 15:27:03 +01:00
github-actions[bot]
59eb90b8cb chore(release): version packages 2023-12-20 11:24:17 +01:00
9f91bdcfa0 feat(cli): add the --import option for importing modules/packages before commands are run
Can for instance be used to load environment variables using Dotenv
2023-12-20 11:08:27 +01:00
e6e4433018 feat(cli): rename extension short option from -e to -x
BREAKING CHANGE: if you've been using the `-e` short option you should change it to `-x` or use the long option name `--extension`
2023-12-20 09:27:43 +01:00