♻️ CLI & GUI for continuous migration of config data across environments
 
 
Go to file
Boaz Poolman 83cf8ed165 fix: up the cypress timeout time 2024-12-30 19:59:39 +00:00
.github fix: upload video artifacts on runner failure 2024-12-30 18:32:06 +00:00
admin/src fix: diff viewer 2024-12-30 15:09:52 +00:00
bin refactor: use pack-up for bundling 2024-11-06 11:59:15 +01:00
cypress/support fix: updated eslint rules for cypress files 2024-12-30 10:43:38 +00:00
playground chore: add config/sync to the watch ignore files 2024-12-29 22:38:38 +00:00
server chore: fix deprecated strapi config annotation 2024-11-11 19:58:29 +01:00
.editorconfig chore: Miscellaneous 2021-10-13 17:31:16 +02:00
.eslintignore fix: add the /dist folder to eslintignore 2024-12-30 10:43:18 +00:00
.eslintrc fix: updated eslint rules for cypress files 2024-12-30 10:43:38 +00:00
.gitattributes Initial commit 2021-03-19 19:04:22 +01:00
.gitignore feat: add cypress and e2e tests 2024-12-29 22:41:05 +00:00
CODE_OF_CONDUCT.md chore: Miscellaneous 2021-10-13 17:31:16 +02:00
CONTRIBUTING.md docs: update contributing docs 2024-10-12 16:46:48 +02:00
LICENSE.md Package init 2021-03-20 00:57:12 +01:00
README.md docs: update the README to refer to the docs website 2024-10-05 14:01:01 +02:00
codecov.yml chore: Miscellaneous 2021-10-13 17:31:16 +02:00
cypress.config.js fix: up the cypress timeout time 2024-12-30 19:59:39 +00:00
jest.config.js chore: Miscellaneous 2021-10-13 17:31:16 +02:00
package.json fix: add missing playground:start command 2024-12-30 12:37:38 +00:00
packup.config.ts refactor: use pack-up for bundling 2024-11-06 11:59:15 +01:00
yarn.lock feat: add cypress and e2e tests 2024-12-29 22:41:05 +00:00

README.md

Strapi config-sync plugin

This plugin is a multi-purpose tool to manage your Strapi database records through JSON files. Mostly used to version controlconfig data for automated deployment, automated tests and data sharing for collaboration purposes.

Read the documentation

NPM Version Monthly download on NPM CI build status codecov.io

Features

  • CLI - config-sync CLI for syncing the config from the command line
  • GUI - Settings page for syncing the config in Strapi admin
  • Partial sync - Import or export only specific portions of config
  • Custom types - Include your custom collection types in the sync process
  • Import on bootstrap - Easy automated deployment with importOnBootstrap
  • Exclusion - Exclude single config entries or all entries of a given type
  • Diff viewer - A git-style diff viewer to inspect the config changes

Getting started

Read the Getting Started tutorial or follow the steps below:

# using yarn
yarn add strapi-plugin-config-sync

# using npm
npm install strapi-plugin-config-sync --save

Add the export path to the watchIgnoreFiles list in the config/admin.js file. This way your app won't reload when you export the config in development.

config/admin.js:
module.exports = ({ env }) => ({
  // ...
  watchIgnoreFiles: [
    '**/config/sync/**',
  ],
});

After successful installation you have to rebuild the admin UI so it'll include this plugin. To rebuild and restart Strapi run:

# using yarn
yarn build
yarn develop

# using npm
npm run build
npm run develop

The Config Sync plugin should now appear in the Settings section of your Strapi app.

To start tracking your config changes you have to make the first export. This will dump all your configuration data to the /config/sync directory. You can export either through the CLI or Strapi admin panel

Enjoy 🎉

📓 Documentation

See our dedicated repository for all of PluginPal's documentation, or view the Config Sync documentation live:

🤝 Contributing

Feel free to fork and make a pull request of this plugin. All the input is welcome!

Show your support

Give a star if this project helped you.

🌎 Community support

📝 Resources