Generate FlowJs Types from Sequelize model definitions
constflowize=require('flowize');constsequelize=require('sequelize');(async()=>{// make sure sequelize models are initialized and associatedawaitflowize(sequelize,{outputPath: `${__dirname}/flow-typed`,typePrefix: 'Type',excludedModelNames: ['audit'],typePerField: true,});process.exit();})();For below sequelize models;
classTaskextendsModel{}Task.init({title: Sequelize.STRING,},{ sequelize,modelName: 'task'});classUserextendsModel{}User.init({username: Sequelize.STRING},{ sequelize,modelName: 'user'});User.hasMany(Task);Task.belongsTo(User);below FlowJs definitions will be created under outputPath option with in <typePrefix><model name>.js format.
TypeTitle.js
declaretypeTypeTaskId=number;declaretypeTypeTaskTitle=string;typeTitle={|id: TypeTaskId,title: TypeTaskTitle,userId: TypeUserId,user: TypeUser,|};declaretypeTypeTitle=$Shape<Title>;TypeUser.js
declaretypeTypeUserId=number;typeUser={|id: TypeUserId,tasks: TypeTitle[],|};declaretypeTypeUser=$Shape<User>;