Skip to content

Commit 71a0532

Browse files
Merge pull request #111 from shoutem/release/0.13.13
Release/0.13.13
2 parents ec0e185 + 0366d81 commit 71a0532

File tree

5 files changed

+45
-9
lines changed

5 files changed

+45
-9
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shoutem/cli",
3-
"version": "0.13.12",
3+
"version": "0.13.13",
44
"description": "Command-line tools for Shoutem applications",
55
"repository": {
66
"type": "git",

src/cli/page/add.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ export async function createPage(opts, extensionPath) {
1919
const changes = await instantiateExtensionTemplate('settings-page', { ...opts, extensionPath, developer });
2020
await offerChanges(changes);
2121
console.log('Success'.green.bold);
22+
console.log('Remember to create \'server/translations/en.json\' and add your translation strings to it.\nYou can use \'server/translations/example.json\' to check the format.');
2223
}

src/commands/clone.js

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Promise from 'bluebird';
2+
import _ from 'lodash';
23
import mkdirp from 'mkdirp-promise';
34
import tmp from 'tmp-promise';
45
import rmrf from 'rmfr';
@@ -35,14 +36,24 @@ export async function pullExtensions(appId, destinationDir) {
3536
}
3637

3738
async function pullExtension(destinationDir, { extension, canonicalName }) {
38-
try {
39-
const url = await getExtensionUrl(extension);
40-
const tgzDir = (await tmp.dir()).path;
41-
await downloadFile(url, { directory: tgzDir, filename: 'extension.tgz' });
42-
await shoutemUnpack(path.join(tgzDir, 'extension.tgz'), path.join(destinationDir, canonicalName));
43-
} catch (err) {
44-
err.message = `Could not fetch extension ${canonicalName}.`;
45-
throw err;
39+
let pullError = {};
40+
let pullSuccessful = false;
41+
for (let i = 0; !pullSuccessful || i < 4; i++) {
42+
try {
43+
const url = await getExtensionUrl(extension);
44+
const tgzDir = (await tmp.dir()).path;
45+
await downloadFile(url, { directory: tgzDir, filename: 'extension.tgz' });
46+
await shoutemUnpack(path.join(tgzDir, 'extension.tgz'), path.join(destinationDir, canonicalName));
47+
pullSuccessful = true;
48+
} catch (error) {
49+
pullError = error;
50+
console.log(`Failed to download extension ${canonicalName}, try ${i + 1}/5`);
51+
}
52+
}
53+
54+
if (!pullSuccessful) {
55+
pullError.message = `Could not fetch extension ${canonicalName}.`;
56+
throw pullError;
4657
}
4758
}
4859

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"{{developer.name}}": {
3+
"{{extJson.name}}": {
4+
"extension-page.save-button": "Save",
5+
"extension-page.enter-company-name": "Enter company name",
6+
"extension-page.company": "Company:",
7+
"shortcut-page.save-button": "Save",
8+
"shortcut-page.choose-your-greeting": "Choose your greeting",
9+
"shortcut-page.name": "Name:"
10+
}
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"{{developer.name}}": {
3+
"{{extJson.name}}": {
4+
"extension-page.save-button": "Save",
5+
"extension-page.enter-company-name": "Enter company name",
6+
"extension-page.company": "Company:",
7+
"shortcut-page.save-button": "Save",
8+
"shortcut-page.choose-your-greeting": "Choose your greeting",
9+
"shortcut-page.name": "Name:"
10+
}
11+
}
12+
}

0 commit comments

Comments
 (0)