bad4e252f3
feat(reporters): pass the CLI's version number to reporters ( #38 )
2023-12-14 13:11:55 +01:00
8cc43a8f83
refactor(cli): introduce the migration-runner helper for less code duplication and fewer return paths
...
Thanks to the migration-runner the "up" and "list" commands are now very similar code wise
2023-12-12 15:47:37 +01:00
a79f8e8e37
feat(plugin-tools): improve error serialization and let each storage plugin serialize errors themselves
2023-12-12 15:32:58 +01:00
8f7f9a71d0
chore(deps): upgrade import-from-esm
2023-12-08 13:14:56 +01:00
703e6f028a
feat(storage): add "end" method to storage for cleaning up resources when commands are finished
2023-12-08 13:01:46 +01:00
c1d55978d7
feat(up): serialize errors before passing them to storage plugins
2023-12-08 13:01:45 +01:00
d916043061
fix(plugin-tools): load plugins correctly when specified as strings
2023-12-07 14:34:47 +01:00
20ed2e8a50
fix(plugin-tools): prioritize prefixed plugin names over non-prefixed names when importing plugins
...
This is to not accidentally importing for instance the "pino" package if reporter is set to just "pino" and instead import the "@emigrate/reporter-pino" package if that's the case.
2023-12-07 14:33:01 +01:00
672fae1729
feat(plugins): include "@emigrate/" in the plugin search prefix list
2023-11-24 16:01:45 +01:00
acb0b4f195
fix(new): keep upper cased letters in migration file names by default
2023-11-24 15:55:32 +01:00
d8a6a2428a
feat(remove): implement the "remove" command for removing migrations from the history
2023-11-24 15:45:17 +01:00
60ae3b8c82
fix(plugin-tools): load lazy plugins with default exports correctly
2023-11-22 15:35:30 +01:00
53cdb23237
feat(cli): implement the "list" command for listing migration history and pending migrations
2023-11-22 14:35:37 +01:00
5e8572b67f
feat(plugin-tools): pass the current command to the reporter
2023-11-22 14:35:35 +01:00
8e87ade5c0
feat(cli): storage and reporter are now their own options
...
Instead of mixing storages and reporters with other plugins in the plugin option they now have their own separate options.
This is for increased future flexibility and to be more similar to other CLI tools.
BREAKING CHANGE: the storage to use must now be specified using the "storage" configuration option or the "--storage" CLI option instead of having it among other plugins.
2023-11-22 14:35:35 +01:00
59ec16b87b
feat(cli): improve "up" command output and flow a lot
2023-11-17 12:50:35 +01:00
8f35812fed
feat(cli): add support for "reporter" plugins and include a default reporter
2023-11-17 12:50:33 +01:00
62bd5a45e5
feat(plugin-tools): add more properties to the MigrationMetadata type
2023-11-16 10:54:34 +01:00
1799b6e399
fix(plugin-tools): add missing types and utils for the "loader" plugins
2023-11-16 10:53:09 +01:00
23a323c675
feat(plugin-tools): add convenience functions getOrLoadPlugin and getOrLoadPlugins
2023-11-15 16:02:57 +01:00
81fde2ebd3
feat(plugin-tools): add types for "loader" plugins
2023-11-15 16:00:21 +01:00
0b78d5cf32
refactor(cli): rename the emigrate package to @emigrate/cli to be more in line with other tools
2023-11-15 14:42:10 +01:00
9f5abf727d
refactor: simplify plugin interfaces by getting rid of the "type" property
...
This is to prepare for having packages that contains multiple different plugins in the same file.
2023-11-15 14:11:06 +01:00
e159cd17bd
test(plugin-tools): add some tests for the sanitizeMigrationName function
2023-11-10 14:49:27 +01:00
4e2a27ffeb
fix(plugin-tools): trim leading underscores from filenames
2023-11-10 14:47:44 +01:00
9c239e0ae5
feat(plugins): automatically prefix plugins when loading if necessary
...
I.e. when specifying only "--plugin generate-js" Emigrate will load the @emigrate/plugin-generate-js plugin.
2023-11-10 10:45:15 +01:00
16340940b7
fix(plugin-tools): remove double and trailing underscores from filenames and lower case the result
2023-11-10 09:33:08 +01:00
cdafd05c20
feat(plugin-tools): first version of the package with some nice plugin utilities
2023-11-09 09:26:48 +01:00