| 3 | |
| 4 | // eslint-disable-next-line default-param-last |
| 5 | function stencilPush(options = {}, callback) { |
| 6 | async.waterfall( |
| 7 | [ |
| 8 | async.constant(options), |
| 9 | utils.readStencilConfigFile, |
| 10 | utils.getStoreHash, |
| 11 | utils.getThemes, |
| 12 | utils.generateBundle, |
| 13 | utils.uploadBundle, |
| 14 | utils.notifyUserOfThemeLimitReachedIfNecessary, |
| 15 | utils.promptUserToDeleteThemesIfNecessary, |
| 16 | utils.deleteThemesIfNecessary, |
| 17 | utils.checkIfDeletionIsComplete(), |
| 18 | utils.uploadBundleAgainIfNecessary, |
| 19 | utils.notifyUserOfThemeUploadCompletion, |
| 20 | utils.pollForJobCompletion((data) => ({ themeId: data.theme_id })), |
| 21 | utils.promptUserWhetherToApplyTheme, |
| 22 | utils.getChannels, |
| 23 | utils.promptUserForChannels, |
| 24 | utils.getVariations, |
| 25 | utils.promptUserForVariation, |
| 26 | utils.requestToApplyVariationWithRetrys(), |
| 27 | utils.notifyUserOfCompletion, |
| 28 | ], |
| 29 | callback, |
| 30 | ); |
| 31 | } |
| 32 | export default stencilPush; |