Extending

To extend knex's builders, we have the following methods

knex.SchemaBuilder.extend("functionName", function() {
    console.log('Custom Schema Builder Function');
    return this;
});
knex.TableBuilder.extend("functionName", function() {
    console.log('Custom Table Builder Function');
    return this;
});
knex.ViewBuilder.extend("functionName", function() {
    console.log('Custom View Builder Function');
    return this;
});
knex.ColumnBuilder.extend("functionName", function() {
    console.log('Custom Column Builder Function');
    return this;
});

To add typescript support you can add the following (.d.ts):

import "knex";
declare module "knex" {
    namespace Knex {
        interface SchemaBuilder {
            functionName (): Knex.SchemaBuilder;
        }
        interface TableBuilder {
            functionName (): Knex.TableBuilder;
        }
        interface ViewBuilder {
            functionName (): Knex.ViewBuilder;
        }
        interface ColumnBuilder {
            functionName (): Knex.ColumnBuilder;
        }
    }
}