diff --git a/.changeset/weak-avocados-lay.md b/.changeset/weak-avocados-lay.md new file mode 100644 index 0000000..625bf20 --- /dev/null +++ b/.changeset/weak-avocados-lay.md @@ -0,0 +1,5 @@ +--- +'@emigrate/plugin-tools': patch +--- + +Remove double and trailing underscores in sanitized filenames and lower case the result for consistent filenames diff --git a/packages/plugin-tools/src/index.ts b/packages/plugin-tools/src/index.ts index bd296cf..0757898 100644 --- a/packages/plugin-tools/src/index.ts +++ b/packages/plugin-tools/src/index.ts @@ -53,4 +53,9 @@ export const getTimestampPrefix = () => new Date().toISOString().replaceAll(/[-: * @param name A migration name to sanitize * @returns A sanitized migration name that can be used as a filename */ -export const sanitizeMigrationName = (name: string) => name.replaceAll(/[\W/\\:|*?'"<>]/g, '_').trim(); +export const sanitizeMigrationName = (name: string) => + name + .replaceAll(/[\W/\\:|*?'"<>]+/g, '_') + .trim() + .replace(/_$/, '') + .toLocaleLowerCase();