Skip to content

feat: Create new files ext#1636

Merged
Shinigami92 merged 11 commits into
salsita:mainfrom
beterrabaA:beterraba-create-new-files-ext
May 21, 2026
Merged

feat: Create new files ext#1636
Shinigami92 merged 11 commits into
salsita:mainfrom
beterrabaA:beterraba-create-new-files-ext

Conversation

@beterrabaA

@beterrabaA beterrabaA commented May 20, 2026

Copy link
Copy Markdown
Contributor

I suffered from a building problem in vercel where the .js file format was not accepted in the cloud environment.So added .cjs and .mjs options. I had the idea of ​​adding this option to the project. I believe it is not a critical change but just another detail. I hope you accept my contribution with good heart.

Suported extensions js, ts, sql
Added extensions : cjs, mjs, cts, mts

image

@beterrabaA beterrabaA changed the title Beterraba create new files ext Chore: Create new files ext May 20, 2026
@beterrabaA beterrabaA changed the title Chore: Create new files ext chore: Create new files ext May 20, 2026

@brenoepics brenoepics left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, thanks for your contribution! 🥳

Since v9 we do support ts, cjs, cts, mts, mjs... on runtime, yet we didn't add a create command since we couldn't find the use case at time, I like this option on the create command, yet I don't think we need it at the migrate command docs.

On a side note, I'm aware that Vercel auto ignores some file extensions and paths yeah, not sure if you can disable that somewhere.

Comment thread docs/src/getting-started.md Outdated
@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 93.64% (🎯 90%)
🟰 ±0%
1548 / 1653
🔵 Statements 93.55% (🎯 90%)
🟰 ±0%
1568 / 1676
🔵 Functions 95.04% (🎯 90%)
🟰 ±0%
345 / 363
🔵 Branches 87.14% (🎯 85%)
🟰 ±0%
976 / 1120
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/migration.ts 76.53%
🟰 ±0%
69.11%
🟰 ±0%
80%
🟰 ±0%
76.28%
🟰 ±0%
129-131, 153-168, 233-268, 334, 361-363, 371, 389-391, 421
src/migrationLoader.ts 90.81%
🟰 ±0%
82.69%
🟰 ±0%
90%
🟰 ±0%
93.54%
🟰 ±0%
225, 364, 368, 371, 374, 408, 427, 434-435
Unchanged Files
src/db.ts 78.43% 75% 76.92% 78% 88-90, 123-135, 171, 175-176
src/index.ts 100% 100% 100% 100%
src/logger.ts 100% 100% 100% 100%
src/migrationBuilder.ts 95.49% 62.5% 90% 95.49% 833-836, 973-977
src/migrationOptions.ts 100% 100% 100% 100%
src/pgType.ts 100% 100% 100% 100%
src/runner.ts 78.33% 62.31% 82.6% 77.58% 210-212, 225, 277, 322, 332-335, 349, 361-363, 387, 428-439, 444-446, 467-468, 478, 480-488
src/sqlMigration.ts 100% 100% 100% 100%
src/operations/sql.ts 100% 50% 100% 100%
src/operations/casts/createCast.ts 100% 100% 100% 100%
src/operations/casts/dropCast.ts 100% 100% 100% 100%
src/operations/casts/index.ts 100% 100% 100% 100%
src/operations/domains/alterDomain.ts 100% 100% 100% 100%
src/operations/domains/createDomain.ts 100% 95.45% 100% 100%
src/operations/domains/dropDomain.ts 100% 100% 100% 100%
src/operations/domains/index.ts 100% 100% 100% 100%
src/operations/domains/renameDomain.ts 100% 100% 100% 100%
src/operations/domains/shared.ts 100% 100% 100% 100%
src/operations/extensions/createExtension.ts 100% 100% 100% 100%
src/operations/extensions/dropExtension.ts 100% 100% 100% 100%
src/operations/extensions/index.ts 100% 100% 100% 100%
src/operations/extensions/shared.ts 100% 100% 100% 100%
src/operations/functions/createFunction.ts 96.29% 92% 100% 96.29% 71-73
src/operations/functions/dropFunction.ts 100% 100% 100% 100%
src/operations/functions/index.ts 100% 100% 100% 100%
src/operations/functions/renameFunction.ts 100% 100% 100% 100%
src/operations/functions/shared.ts 100% 100% 100% 100%
src/operations/grants/grantOnSchemas.ts 100% 100% 100% 100%
src/operations/grants/grantOnTables.ts 100% 100% 100% 100%
src/operations/grants/grantRoles.ts 100% 100% 100% 100%
src/operations/grants/index.ts 100% 100% 100% 100%
src/operations/grants/revokeOnSchemas.ts 100% 100% 100% 100%
src/operations/grants/revokeOnTables.ts 100% 100% 100% 100%
src/operations/grants/revokeRoles.ts 100% 100% 100% 100%
src/operations/grants/shared.ts 100% 75% 100% 100%
src/operations/indexes/createIndex.ts 100% 100% 100% 100%
src/operations/indexes/dropIndex.ts 100% 100% 100% 100%
src/operations/indexes/index.ts 100% 100% 100% 100%
src/operations/indexes/shared.ts 100% 88.23% 100% 100%
src/operations/materializedViews/alterMaterializedView.ts 100% 100% 100% 100%
src/operations/materializedViews/createMaterializedView.ts 100% 100% 100% 100%
src/operations/materializedViews/dropMaterializedView.ts 100% 100% 100% 100%
src/operations/materializedViews/index.ts 100% 100% 100% 100%
src/operations/materializedViews/refreshMaterializedView.ts 100% 100% 100% 100%
src/operations/materializedViews/renameMaterializedView.ts 100% 100% 100% 100%
src/operations/materializedViews/renameMaterializedViewColumn.ts 100% 100% 100% 100%
src/operations/materializedViews/shared.ts 100% 83.33% 100% 100%
src/operations/operators/addToOperatorFamily.ts 100% 100% 100% 100%
src/operations/operators/createOperator.ts 100% 88.88% 100% 100%
src/operations/operators/createOperatorClass.ts 100% 75% 100% 100%
src/operations/operators/createOperatorFamily.ts 100% 100% 100% 100%
src/operations/operators/dropOperator.ts 100% 100% 100% 100%
src/operations/operators/dropOperatorClass.ts 100% 100% 100% 100%
src/operations/operators/dropOperatorFamily.ts 100% 100% 100% 100%
src/operations/operators/index.ts 100% 100% 100% 100%
src/operations/operators/removeFromOperatorFamily.ts 100% 100% 100% 100%
src/operations/operators/renameOperatorClass.ts 100% 100% 100% 100%
src/operations/operators/renameOperatorFamily.ts 100% 100% 100% 100%
src/operations/operators/shared.ts 81.81% 77.77% 100% 81.81% 24, 38
src/operations/policies/alterPolicy.ts 100% 100% 100% 100%
src/operations/policies/createPolicy.ts 100% 100% 100% 100%
src/operations/policies/dropPolicy.ts 100% 100% 100% 100%
src/operations/policies/index.ts 100% 100% 100% 100%
src/operations/policies/renamePolicy.ts 100% 100% 100% 100%
src/operations/policies/shared.ts 100% 100% 100% 100%
src/operations/roles/alterRole.ts 100% 100% 100% 100%
src/operations/roles/createRole.ts 100% 92.3% 100% 100%
src/operations/roles/dropRole.ts 100% 100% 100% 100%
src/operations/roles/index.ts 100% 100% 100% 100%
src/operations/roles/renameRole.ts 100% 100% 100% 100%
src/operations/roles/shared.ts 100% 86.66% 100% 100%
src/operations/schemas/createSchema.ts 100% 100% 100% 100%
src/operations/schemas/dropSchema.ts 100% 100% 100% 100%
src/operations/schemas/index.ts 100% 100% 100% 100%
src/operations/schemas/renameSchema.ts 100% 100% 100% 100%
src/operations/sequences/alterSequence.ts 90% 83.33% 100% 90% 23
src/operations/sequences/createSequence.ts 100% 100% 100% 100%
src/operations/sequences/dropSequence.ts 100% 100% 100% 100%
src/operations/sequences/index.ts 100% 100% 100% 100%
src/operations/sequences/renameSequence.ts 100% 100% 100% 100%
src/operations/sequences/shared.ts 81.48% 83.33% 100% 81.48% 41, 43, 49, 63, 69
src/operations/tables/addColumns.ts 100% 85.71% 100% 100%
src/operations/tables/addConstraint.ts 100% 100% 100% 100%
src/operations/tables/alterColumn.ts 91.17% 81.25% 100% 91.17% 69, 76-83
src/operations/tables/alterTable.ts 100% 100% 100% 100%
src/operations/tables/createTable.ts 88% 82.14% 100% 88% 51-54, 92
src/operations/tables/dropColumns.ts 100% 100% 100% 100%
src/operations/tables/dropConstraint.ts 100% 100% 100% 100%
src/operations/tables/dropTable.ts 100% 100% 100% 100%
src/operations/tables/index.ts 100% 100% 100% 100%
src/operations/tables/renameColumn.ts 100% 100% 100% 100%
src/operations/tables/renameConstraint.ts 100% 100% 100% 100%
src/operations/tables/renameTable.ts 100% 100% 100% 100%
src/operations/tables/shared.ts 86.79% 76.76% 76.47% 86.79% 157, 239, 259, 285, 289-295, 299, 440-461
src/operations/triggers/createTrigger.ts 88.23% 71.79% 100% 88.23% 53, 66, 70, 74-76
src/operations/triggers/dropTrigger.ts 100% 100% 100% 100%
src/operations/triggers/index.ts 100% 100% 100% 100%
src/operations/triggers/renameTrigger.ts 100% 100% 100% 100%
src/operations/triggers/shared.ts 100% 100% 100% 100%
src/operations/types/addTypeAttribute.ts 100% 100% 100% 100%
src/operations/types/addTypeValue.ts 100% 100% 100% 100%
src/operations/types/createType.ts 100% 100% 100% 100%
src/operations/types/dropType.ts 100% 100% 100% 100%
src/operations/types/dropTypeAttribute.ts 100% 100% 100% 100%
src/operations/types/index.ts 100% 100% 100% 100%
src/operations/types/renameType.ts 100% 100% 100% 100%
src/operations/types/renameTypeAttribute.ts 100% 100% 100% 100%
src/operations/types/renameTypeValue.ts 100% 100% 100% 100%
src/operations/types/setTypeAttribute.ts 100% 100% 100% 100%
src/operations/views/alterView.ts 100% 100% 100% 100%
src/operations/views/alterViewColumn.ts 100% 100% 100% 100%
src/operations/views/createView.ts 100% 100% 100% 100%
src/operations/views/dropView.ts 100% 100% 100% 100%
src/operations/views/index.ts 100% 100% 100% 100%
src/operations/views/renameView.ts 100% 100% 100% 100%
src/operations/views/shared.ts 100% 50% 100% 100%
src/utils/PgLiteral.ts 100% 100% 100% 100%
src/utils/comparators.ts 100% 100% 100% 100%
src/utils/createSchemalize.ts 96.42% 93.54% 100% 96.29% 84
src/utils/createTransformer.ts 100% 100% 100% 100%
src/utils/decamelize.ts 100% 100% 100% 100%
src/utils/escapeValue.ts 100% 100% 100% 100%
src/utils/fileNameUtils.ts 100% 100% 100% 100%
src/utils/formatLines.ts 100% 100% 100% 100%
src/utils/formatParams.ts 100% 87.5% 100% 100%
src/utils/formatPartitionColumns.ts 100% 100% 100% 100%
src/utils/getMigrationTableSchema.ts 100% 100% 100% 100%
src/utils/getSchemas.ts 100% 100% 100% 100%
src/utils/identity.ts 100% 100% 100% 100%
src/utils/index.ts 100% 100% 100% 100%
src/utils/intersection.ts 100% 100% 100% 100%
src/utils/makeComment.ts 100% 100% 100% 100%
src/utils/quote.ts 100% 100% 100% 100%
src/utils/stringIdGenerator.ts 100% 100% 100% 100%
src/utils/toArray.ts 100% 100% 100% 100%
src/utils/types.ts 100% 100% 100% 100%
Generated in workflow #3318 for commit e3e5cdf by the Vitest Coverage Report Action

@beterrabaA

Copy link
Copy Markdown
Contributor Author

Hey, thanks for your contribution! 🥳

Since v9 we do support ts, cjs, cts, mts, mjs... on runtime, yet we didn't add a create command since we couldn't find the use case at time, I like this option on the create command, yet I don't think we need it at the migrate command docs.

On a side note, I'm aware that Vercel auto ignores some file extensions and paths yeah, not sure if you can disable that somewhere.

I think this problem occurred in vercel because of NodeJs v24

@beterrabaA
beterrabaA requested a review from brenoepics May 20, 2026 23:50
@Shinigami92

Copy link
Copy Markdown
Collaborator

(Currently on mobile, so no in-depth review yet)

IMO if we do this, we should also add support for mts and cts

This looks like a feat instead of a chore to me

Unrelated and not for this PR, but maybe it would be possible to infer e.g. based on package.json typescript dependency or tsconfig existence that the default dynamically is ts instead of js 👀

@beterrabaA beterrabaA changed the title chore: Create new files ext feat: Create new files ext May 21, 2026
@beterrabaA

Copy link
Copy Markdown
Contributor Author

(Currently on mobile, so no in-depth review yet)

IMO if we do this, we should also add support for mts and cts

This looks like a feat instead of a chore to me

Unrelated and not for this PR, but maybe it would be possible to infer e.g. based on package.json typescript dependency or tsconfig existence that the default dynamically is ts instead of js 👀

I'll add suport for mts and cts.
And about dynamically change file format for .ts/.js that's a good idea and possible.I'll search more about and create a new PR as soon as possible

@Shinigami92 Shinigami92 added the c: feature Request for new feature label May 21, 2026
@Shinigami92
Shinigami92 added this pull request to the merge queue May 21, 2026
Merged via the queue into salsita:main with commit 1c1ac9f May 21, 2026
29 checks passed
@beterrabaA
beterrabaA deleted the beterraba-create-new-files-ext branch May 22, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c: feature Request for new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants