strapi-startup-optimizer
v1.0.0
Published
Optimize Strapi startup by skipping heavy tasks when schemas haven't changed.
Maintainers
Readme
strapi-startup-optimizer
Optimize Strapi startup by skipping heavy bootstrap tasks (like seeding or slow batch jobs) when schemas haven't changed.
Installation
npm install strapi-startup-optimizerUsage
In your src/index.ts (or src/index.js):
import { checkIfSchemaChanged } from 'strapi-startup-optimizer';
export default {
async bootstrap({ strapi }) {
const hasChanged = await checkIfSchemaChanged({
patterns: [
'src/api/*/content-types/*/schema.json',
'src/components/**/*.json'
]
});
if (!hasChanged) {
console.log("Skipping heavy bootstrap tasks...");
return;
}
// Your heavy bootstrap logic here
await seedDatabase();
}
};Configuration
Options for checkIfSchemaChanged:
patterns: (string[]) Glob patterns of files to watch.stateFile: (string) Path to store the hash cache. Default:.strapi/startup-state.json.forceEnv: (string) Env var name to force execution. Default:FORCE_BOOTSTRAP.
Publishing to NPM
Login to NPM:
npm loginNavigate to the package directory:
cd packages/strapi-startup-optimizerCheck Availability: Ensure the name
strapi-startup-optimizerisn't taken. If it is, change the"name"inpackage.json.Publish:
npm publish --access public
