@dittowords/cli 2.5.2 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -3
- package/bin/config.js +2 -1
- package/bin/config.js.map +1 -1
- package/bin/ditto.js +0 -0
- package/bin/pull.js +41 -14
- package/bin/pull.js.map +1 -1
- package/lib/config.ts +3 -1
- package/lib/pull.test.ts +48 -6
- package/lib/pull.ts +50 -12
- package/lib/types.ts +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -67,7 +67,7 @@ it's better to fully delete the file and then re-run the CLI so that a new key i
|
|
|
67
67
|
|
|
68
68
|
**Action:** Pulls text data from projects linked in `config.yml` and stores it in the `ditto/` folder.
|
|
69
69
|
|
|
70
|
-
The data will be stored in JSON files according to the `format` property specified in `config.yml`. If no format is specified, the default structured format will be used. Every time text is pulled, the existing text data is removed before new data is generated and stored.
|
|
70
|
+
The data will be stored in JSON, XML, or .strings files according to the `format` property specified in `config.yml`. If no format is specified, the default structured format will be used. Every time text is pulled, the existing text data is removed before new data is generated and stored.
|
|
71
71
|
|
|
72
72
|
For more details on files generated by the `pull` command, see [JSON Files](#json-files).
|
|
73
73
|
|
|
@@ -142,7 +142,7 @@ If you run the CLI in a directory that does not contain a `ditto/` folder, the f
|
|
|
142
142
|
|
|
143
143
|
##### `format`
|
|
144
144
|
|
|
145
|
-
The format the specified projects should be stored in. Acceptable values are `structured`
|
|
145
|
+
The format the specified projects should be stored in. Acceptable values are `structured`, `flat`, `android`, and `ios-strings`.
|
|
146
146
|
|
|
147
147
|
If not specified, the default format containing block and frame data will be used.
|
|
148
148
|
|
|
@@ -150,6 +150,16 @@ If you run the CLI in a directory that does not contain a `ditto/` folder, the f
|
|
|
150
150
|
format: flat
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
+
##### `status`
|
|
154
|
+
|
|
155
|
+
If included, results will only include data with the passed in status value. Excluding this value will result in no filtering. Acceptable values are `NONE`, `WIP`, `REVIEW`, `FINAL`, and `DEV`.
|
|
156
|
+
|
|
157
|
+
More information about statuses can be found [here](https://www.dittowords.com/docs/tips-for-collaborating).
|
|
158
|
+
|
|
159
|
+
```yml
|
|
160
|
+
staus: FINAL
|
|
161
|
+
```
|
|
162
|
+
|
|
153
163
|
**Full Example**
|
|
154
164
|
|
|
155
165
|
```yml
|
|
@@ -161,11 +171,12 @@ If you run the CLI in a directory that does not contain a `ditto/` folder, the f
|
|
|
161
171
|
components: true
|
|
162
172
|
variants: true
|
|
163
173
|
format: flat
|
|
174
|
+
status: FINAL
|
|
164
175
|
```
|
|
165
176
|
|
|
166
177
|
- #### JSON Files
|
|
167
178
|
|
|
168
|
-
|
|
179
|
+
For `structured` and `flat` formats the copy pulled from your Ditto projects is saved to JSON files in the `ditto/` folder.
|
|
169
180
|
|
|
170
181
|
The number of files present and the convention with which they're named will vary according to the options specified in `config.yml`:
|
|
171
182
|
|
|
@@ -174,6 +185,12 @@ If you run the CLI in a directory that does not contain a `ditto/` folder, the f
|
|
|
174
185
|
- If the `variants` option is unset and the `format` open is `flat` or `structured`, files will be written on a per-project basis following the pattern `[project-id].json`.
|
|
175
186
|
- If the `variants` option is `true` and the `format` option is `flat` or `structured`, files will be written on a per-project per-variant basis following the pattern `[project-id__variant-api-id].json`. These files will NOT contain the top-level `projects` and `project_xyz` keys.
|
|
176
187
|
|
|
188
|
+
- #### Mobile files (XML and .strings)
|
|
189
|
+
|
|
190
|
+
When `format` is set to `android`, the resulting files will be in XML format. More information about the contents of the XML files can be found [here](https://developer.dittowords.com/api-reference#android).
|
|
191
|
+
|
|
192
|
+
When `format` is set to `ios-strings`, the resulting files will be in .strings format. More information about the contents of the .strings files can be found [here](https://developer.dittowords.com/api-reference#ios-strings).
|
|
193
|
+
|
|
177
194
|
- #### `index.js`
|
|
178
195
|
|
|
179
196
|
An automatically generated driver file that simplifies the process of passing text data to Ditto JavaScript SDKs. This file has a standardized format that is always the same independent of the CLI configuration used to generate it.
|
package/bin/config.js
CHANGED
|
@@ -131,7 +131,7 @@ function dedupeProjectName(projectNames, projectName) {
|
|
|
131
131
|
* - the `variants` and `format` config options
|
|
132
132
|
*/
|
|
133
133
|
function parseSourceInformation() {
|
|
134
|
-
const { projects, components, variants, format } = readProjectConfigData();
|
|
134
|
+
const { projects, components, variants, format, status } = readProjectConfigData();
|
|
135
135
|
const projectNames = new Set();
|
|
136
136
|
const validProjects = [];
|
|
137
137
|
let componentLibraryInProjects = false;
|
|
@@ -156,6 +156,7 @@ function parseSourceInformation() {
|
|
|
156
156
|
shouldFetchComponentLibrary,
|
|
157
157
|
variants: variants || false,
|
|
158
158
|
format,
|
|
159
|
+
status,
|
|
159
160
|
};
|
|
160
161
|
}
|
|
161
162
|
exports.default = {
|
package/bin/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../lib/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../lib/config.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,8CAAsB;AACtB,sDAA2B;AAE3B,sDAA8B;AAG9B,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,YAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,YAAE,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;KAC1C;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACrC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAa;IAEb,OAAO,CACL,CAAC,CAAC,IAAI;QACN,OAAO,IAAI,KAAK,QAAQ;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAChC,GAAG,CAAC,KAAK,CACP,CAAC,GAAQ,EAAE,EAAE,CACX,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAChE,CACF,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,IAAI,GAAG,gBAAM,CAAC,mBAAmB,EACjC,WAAW,GAAG,EAAE;IAEhB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QAC9B,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,IAAI,GAAG,gBAAM,CAAC,WAAW,EACzB,WAAW,GAAG,EAAE;IAEhB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QAC9B,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,IAAY;IACxD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,iBAAI,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACxD,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,IAAY;IACvD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,iBAAI,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACxD,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,aAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACpC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,KAAa;IAC1D,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,gCAAgC;IACvD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;IAChC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACrC,CAAC;AAED,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,SAAS,iBAAiB,CAAC,YAAyB,EAAE,WAAmB;IACvE,IAAI,WAAW,GAAG,WAAW,CAAC;IAE9B,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACjC,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACpC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;gBAC5C,WAAW,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,IACpD,QAAQ,CAAC,SAAS,CAAC,GAAG,CACxB,EAAE,CAAC;aACJ;iBAAM;gBACL,WAAW,GAAG,GAAG,WAAW,IAAI,CAAC;aAClC;SACF;KACF;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB;IAC7B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GACtD,qBAAqB,EAAE,CAAC;IAE1B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,aAAa,GAAc,EAAE,CAAC;IAEpC,IAAI,0BAA0B,GAAG,KAAK,CAAC;IAEvC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,IAAI,OAAO,CAAC,EAAE,KAAK,yBAAyB,EAAE;YAC5C,0BAA0B,GAAG,IAAI,CAAC;YAClC,OAAO;SACR;QAED,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAC/B,CAAC,CAAC,UAAU,IAAI,0BAA0B,CAAC;IAE7C,MAAM,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,2BAA2B,CAAC;IAE5E,OAAO;QACL,aAAa;QACb,aAAa;QACb,2BAA2B;QAC3B,QAAQ,EAAE,QAAQ,IAAI,KAAK;QAC3B,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,kBAAe;IACb,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,WAAW;IACX,SAAS;IACT,WAAW;IACX,QAAQ;IACR,eAAe;IACf,sBAAsB;CACvB,CAAC"}
|
package/bin/ditto.js
CHANGED
|
File without changes
|
package/bin/pull.js
CHANGED
|
@@ -13,7 +13,7 @@ const consts_1 = __importDefault(require("./consts"));
|
|
|
13
13
|
const output_1 = __importDefault(require("./output"));
|
|
14
14
|
const token_1 = require("./init/token");
|
|
15
15
|
const sourcesToText_1 = __importDefault(require("./utils/sourcesToText"));
|
|
16
|
-
const NON_DEFAULT_FORMATS = ["flat", "structured"];
|
|
16
|
+
const NON_DEFAULT_FORMATS = ["flat", "structured", "android", "ios-strings"];
|
|
17
17
|
const DEFAULT_FORMAT_KEYS = ["projects", "exported_at"];
|
|
18
18
|
const hasVariantData = (data) => {
|
|
19
19
|
const hasTopLevelKeys = Object.keys(data).filter((key) => !DEFAULT_FORMAT_KEYS.includes(key))
|
|
@@ -26,6 +26,15 @@ async function askForAnotherToken() {
|
|
|
26
26
|
const message = "Looks like the API key you have saved no longer works. Please enter another one.";
|
|
27
27
|
await (0, token_1.collectAndSaveToken)(message);
|
|
28
28
|
}
|
|
29
|
+
function getExtension(format) {
|
|
30
|
+
if (format === "android") {
|
|
31
|
+
return ".xml";
|
|
32
|
+
}
|
|
33
|
+
if (format === "ios-strings") {
|
|
34
|
+
return ".strings";
|
|
35
|
+
}
|
|
36
|
+
return ".json";
|
|
37
|
+
}
|
|
29
38
|
/**
|
|
30
39
|
* For a given variant:
|
|
31
40
|
* - if format is unspecified, fetch data for all projects from `/projects` and
|
|
@@ -33,13 +42,16 @@ async function askForAnotherToken() {
|
|
|
33
42
|
* - if format is `flat` or `structured`, fetch data for each project from `/project/:project_id` and
|
|
34
43
|
* save in `{projectName}-${variantApiId}.json`
|
|
35
44
|
*/
|
|
36
|
-
async function downloadAndSaveVariant(variantApiId, projects, format, token) {
|
|
45
|
+
async function downloadAndSaveVariant(variantApiId, projects, format, status, token) {
|
|
37
46
|
const params = {
|
|
38
47
|
variant: variantApiId,
|
|
39
48
|
};
|
|
40
49
|
if (format) {
|
|
41
50
|
params.format = format;
|
|
42
51
|
}
|
|
52
|
+
if (status) {
|
|
53
|
+
params.status = status;
|
|
54
|
+
}
|
|
43
55
|
if (format && NON_DEFAULT_FORMATS.includes(format)) {
|
|
44
56
|
const savedMessages = await Promise.all(projects.map(async ({ id, fileName }) => {
|
|
45
57
|
const { data } = await api_1.default.get(`/projects/${id}`, {
|
|
@@ -49,9 +61,13 @@ async function downloadAndSaveVariant(variantApiId, projects, format, token) {
|
|
|
49
61
|
if (!hasVariantData(data)) {
|
|
50
62
|
return "";
|
|
51
63
|
}
|
|
52
|
-
const
|
|
64
|
+
const extension = getExtension(format);
|
|
65
|
+
const filename = fileName + ("__" + (variantApiId || "base")) + extension;
|
|
53
66
|
const filepath = path_1.default.join(consts_1.default.TEXT_DIR, filename);
|
|
54
|
-
|
|
67
|
+
let dataString = data;
|
|
68
|
+
if (extension === ".json") {
|
|
69
|
+
dataString = JSON.stringify(data, null, 2);
|
|
70
|
+
}
|
|
55
71
|
fs_1.default.writeFileSync(filepath, dataString);
|
|
56
72
|
return getSavedMessage(filename);
|
|
57
73
|
}));
|
|
@@ -72,7 +88,7 @@ async function downloadAndSaveVariant(variantApiId, projects, format, token) {
|
|
|
72
88
|
return getSavedMessage(filename);
|
|
73
89
|
}
|
|
74
90
|
}
|
|
75
|
-
async function downloadAndSaveVariants(projects, format, token, options) {
|
|
91
|
+
async function downloadAndSaveVariants(projects, format, status, token, options) {
|
|
76
92
|
const meta = options ? options.meta : {};
|
|
77
93
|
const { data: variants } = await api_1.default.get("/variants", {
|
|
78
94
|
params: {
|
|
@@ -82,12 +98,12 @@ async function downloadAndSaveVariants(projects, format, token, options) {
|
|
|
82
98
|
headers: { Authorization: `token ${token}` },
|
|
83
99
|
});
|
|
84
100
|
const messages = await Promise.all([
|
|
85
|
-
downloadAndSaveVariant(null, projects, format, token),
|
|
86
|
-
...variants.map(({ apiID }) => downloadAndSaveVariant(apiID, projects, format, token)),
|
|
101
|
+
downloadAndSaveVariant(null, projects, format, status, token),
|
|
102
|
+
...variants.map(({ apiID }) => downloadAndSaveVariant(apiID, projects, format, status, token)),
|
|
87
103
|
]);
|
|
88
104
|
return messages.join("");
|
|
89
105
|
}
|
|
90
|
-
async function downloadAndSaveBase(projects, format, token, options) {
|
|
106
|
+
async function downloadAndSaveBase(projects, format, status, token, options) {
|
|
91
107
|
const meta = options ? options.meta : {};
|
|
92
108
|
const params = {
|
|
93
109
|
...meta,
|
|
@@ -95,15 +111,22 @@ async function downloadAndSaveBase(projects, format, token, options) {
|
|
|
95
111
|
if (format) {
|
|
96
112
|
params.format = format;
|
|
97
113
|
}
|
|
114
|
+
if (status) {
|
|
115
|
+
params.status = status;
|
|
116
|
+
}
|
|
98
117
|
if (format && NON_DEFAULT_FORMATS.includes(format)) {
|
|
99
118
|
const savedMessages = await Promise.all(projects.map(async ({ id, fileName }) => {
|
|
100
119
|
const { data } = await api_1.default.get(`/projects/${id}`, {
|
|
101
120
|
params,
|
|
102
121
|
headers: { Authorization: `token ${token}` },
|
|
103
122
|
});
|
|
104
|
-
const
|
|
123
|
+
const extension = getExtension(format);
|
|
124
|
+
const filename = `${fileName}${extension}`;
|
|
105
125
|
const filepath = path_1.default.join(consts_1.default.TEXT_DIR, filename);
|
|
106
|
-
|
|
126
|
+
let dataString = data;
|
|
127
|
+
if (extension === ".json") {
|
|
128
|
+
dataString = JSON.stringify(data, null, 2);
|
|
129
|
+
}
|
|
107
130
|
fs_1.default.writeFileSync(filepath, dataString);
|
|
108
131
|
return getSavedMessage(filename);
|
|
109
132
|
}));
|
|
@@ -128,7 +151,7 @@ function cleanOutputFiles() {
|
|
|
128
151
|
}
|
|
129
152
|
const fileNames = fs_1.default.readdirSync(consts_1.default.TEXT_DIR);
|
|
130
153
|
fileNames.forEach((fileName) => {
|
|
131
|
-
if (/\.js(on)
|
|
154
|
+
if (/\.js(on)?|\.xml|\.strings$/.test(fileName)) {
|
|
132
155
|
fs_1.default.unlinkSync(path_1.default.resolve(consts_1.default.TEXT_DIR, fileName));
|
|
133
156
|
}
|
|
134
157
|
});
|
|
@@ -218,7 +241,7 @@ function generateJsDriver(projects, variants, format) {
|
|
|
218
241
|
return `Generated .js SDK driver at ${output_1.default.info(filePath)}`;
|
|
219
242
|
}
|
|
220
243
|
async function downloadAndSave(sourceInformation, token, options) {
|
|
221
|
-
const { validProjects, variants, format, shouldFetchComponentLibrary } = sourceInformation;
|
|
244
|
+
const { validProjects, variants, format, shouldFetchComponentLibrary, status, } = sourceInformation;
|
|
222
245
|
let msg = `\nFetching the latest text from ${(0, sourcesToText_1.default)(validProjects, shouldFetchComponentLibrary)}\n`;
|
|
223
246
|
const spinner = (0, ora_1.default)(msg);
|
|
224
247
|
spinner.start();
|
|
@@ -236,8 +259,12 @@ async function downloadAndSave(sourceInformation, token, options) {
|
|
|
236
259
|
msg += cleanOutputFiles();
|
|
237
260
|
const meta = options ? options.meta : {};
|
|
238
261
|
msg += variants
|
|
239
|
-
? await downloadAndSaveVariants(validProjects, format, token, {
|
|
240
|
-
|
|
262
|
+
? await downloadAndSaveVariants(validProjects, format, status, token, {
|
|
263
|
+
meta,
|
|
264
|
+
})
|
|
265
|
+
: await downloadAndSaveBase(validProjects, format, status, token, {
|
|
266
|
+
meta,
|
|
267
|
+
});
|
|
241
268
|
msg += generateJsDriver(validProjects, variants, format);
|
|
242
269
|
msg += `\n${output_1.default.success("Done")}!`;
|
|
243
270
|
spinner.stop();
|
package/bin/pull.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../lib/pull.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../lib/pull.ts"],"names":[],"mappings":"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"}
|
package/lib/config.ts
CHANGED
|
@@ -161,7 +161,8 @@ function dedupeProjectName(projectNames: Set<string>, projectName: string) {
|
|
|
161
161
|
* - the `variants` and `format` config options
|
|
162
162
|
*/
|
|
163
163
|
function parseSourceInformation() {
|
|
164
|
-
const { projects, components, variants, format } =
|
|
164
|
+
const { projects, components, variants, format, status } =
|
|
165
|
+
readProjectConfigData();
|
|
165
166
|
|
|
166
167
|
const projectNames = new Set<string>();
|
|
167
168
|
const validProjects: Project[] = [];
|
|
@@ -196,6 +197,7 @@ function parseSourceInformation() {
|
|
|
196
197
|
shouldFetchComponentLibrary,
|
|
197
198
|
variants: variants || false,
|
|
198
199
|
format,
|
|
200
|
+
status,
|
|
199
201
|
};
|
|
200
202
|
}
|
|
201
203
|
|
package/lib/pull.test.ts
CHANGED
|
@@ -13,7 +13,8 @@ const testProjects = [
|
|
|
13
13
|
];
|
|
14
14
|
|
|
15
15
|
jest.mock("./api");
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
const mockApi = api as jest.Mocked<typeof api>;
|
|
17
18
|
|
|
18
19
|
jest.mock("./consts", () => ({
|
|
19
20
|
TEXT_DIR: ".testing",
|
|
@@ -43,15 +44,17 @@ afterAll(() => {
|
|
|
43
44
|
});
|
|
44
45
|
|
|
45
46
|
describe("cleanOutputFiles", () => {
|
|
46
|
-
it("removes .js and .
|
|
47
|
+
it("removes .js, .json, .xml, and .strings files", () => {
|
|
47
48
|
cleanOutputDir();
|
|
48
49
|
|
|
49
50
|
fs.writeFileSync(path.resolve(consts.TEXT_DIR, "test.json"), "test");
|
|
50
51
|
fs.writeFileSync(path.resolve(consts.TEXT_DIR, "test.js"), "test");
|
|
52
|
+
fs.writeFileSync(path.resolve(consts.TEXT_DIR, "test.xml"), "test");
|
|
53
|
+
fs.writeFileSync(path.resolve(consts.TEXT_DIR, "test.strings"), "test");
|
|
51
54
|
// this file shouldn't be deleted
|
|
52
55
|
fs.writeFileSync(path.resolve(consts.TEXT_DIR, "test.txt"), "test");
|
|
53
56
|
|
|
54
|
-
expect(fs.readdirSync(consts.TEXT_DIR).length).toEqual(
|
|
57
|
+
expect(fs.readdirSync(consts.TEXT_DIR).length).toEqual(5);
|
|
55
58
|
|
|
56
59
|
cleanOutputFiles();
|
|
57
60
|
|
|
@@ -112,7 +115,8 @@ describe("downloadAndSaveBase", () => {
|
|
|
112
115
|
it("writes to text.json for default format", async () => {
|
|
113
116
|
cleanOutputDir();
|
|
114
117
|
|
|
115
|
-
|
|
118
|
+
mockApi.get.mockResolvedValueOnce({ data: [] });
|
|
119
|
+
const output = await downloadAndSaveBase(testProjects, "", undefined);
|
|
116
120
|
|
|
117
121
|
expect(/saved to.*text\.json/.test(output)).toEqual(true);
|
|
118
122
|
expect(output.match(/saved to/g)?.length).toEqual(1);
|
|
@@ -122,7 +126,8 @@ describe("downloadAndSaveBase", () => {
|
|
|
122
126
|
it("writes multiple files for flat format", async () => {
|
|
123
127
|
cleanOutputDir();
|
|
124
128
|
|
|
125
|
-
|
|
129
|
+
mockApi.get.mockResolvedValue({ data: [] });
|
|
130
|
+
const output = await downloadAndSaveBase(testProjects, "flat", undefined);
|
|
126
131
|
expect(/saved to.*Project 1\.json/.test(output)).toEqual(true);
|
|
127
132
|
expect(/saved to.*Project 2\.json/.test(output)).toEqual(true);
|
|
128
133
|
expect(output.match(/saved to/g)?.length).toEqual(2);
|
|
@@ -132,11 +137,48 @@ describe("downloadAndSaveBase", () => {
|
|
|
132
137
|
it("writes multiple files for structured format", async () => {
|
|
133
138
|
cleanOutputDir();
|
|
134
139
|
|
|
135
|
-
|
|
140
|
+
mockApi.get.mockResolvedValue({ data: [] });
|
|
141
|
+
const output = await downloadAndSaveBase(
|
|
142
|
+
testProjects,
|
|
143
|
+
"structured",
|
|
144
|
+
undefined
|
|
145
|
+
);
|
|
136
146
|
|
|
137
147
|
expect(/saved to.*Project 1\.json/.test(output)).toEqual(true);
|
|
138
148
|
expect(/saved to.*Project 2\.json/.test(output)).toEqual(true);
|
|
139
149
|
expect(output.match(/saved to/g)?.length).toEqual(2);
|
|
140
150
|
expect(fs.readdirSync(consts.TEXT_DIR).length).toEqual(2);
|
|
141
151
|
});
|
|
152
|
+
|
|
153
|
+
it("writes .xml files for android", async () => {
|
|
154
|
+
cleanOutputDir();
|
|
155
|
+
|
|
156
|
+
mockApi.get.mockResolvedValue({ data: "hello" });
|
|
157
|
+
const output = await downloadAndSaveBase(
|
|
158
|
+
testProjects,
|
|
159
|
+
"android",
|
|
160
|
+
undefined
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
expect(/saved to.*Project 1\.xml/.test(output)).toEqual(true);
|
|
164
|
+
expect(/saved to.*Project 2\.xml/.test(output)).toEqual(true);
|
|
165
|
+
expect(output.match(/saved to/g)?.length).toEqual(2);
|
|
166
|
+
expect(fs.readdirSync(consts.TEXT_DIR).length).toEqual(2);
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
it("writes .strings files for ios-strings", async () => {
|
|
170
|
+
cleanOutputDir();
|
|
171
|
+
|
|
172
|
+
mockApi.get.mockResolvedValue({ data: "hello" });
|
|
173
|
+
const output = await downloadAndSaveBase(
|
|
174
|
+
testProjects,
|
|
175
|
+
"ios-strings",
|
|
176
|
+
undefined
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
expect(/saved to.*Project 1\.strings/.test(output)).toEqual(true);
|
|
180
|
+
expect(/saved to.*Project 2\.strings/.test(output)).toEqual(true);
|
|
181
|
+
expect(output.match(/saved to/g)?.length).toEqual(2);
|
|
182
|
+
expect(fs.readdirSync(consts.TEXT_DIR).length).toEqual(2);
|
|
183
|
+
});
|
|
142
184
|
});
|
package/lib/pull.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { collectAndSaveToken } from "./init/token";
|
|
|
11
11
|
import sourcesToText from "./utils/sourcesToText";
|
|
12
12
|
import { SourceInformation, Token, Project } from "./types";
|
|
13
13
|
|
|
14
|
-
const NON_DEFAULT_FORMATS = ["flat", "structured"];
|
|
14
|
+
const NON_DEFAULT_FORMATS = ["flat", "structured", "android", "ios-strings"];
|
|
15
15
|
|
|
16
16
|
const DEFAULT_FORMAT_KEYS = ["projects", "exported_at"];
|
|
17
17
|
const hasVariantData = (data: any) => {
|
|
@@ -31,6 +31,16 @@ async function askForAnotherToken() {
|
|
|
31
31
|
await collectAndSaveToken(message);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
function getExtension(format: string) {
|
|
35
|
+
if (format === "android") {
|
|
36
|
+
return ".xml";
|
|
37
|
+
}
|
|
38
|
+
if (format === "ios-strings") {
|
|
39
|
+
return ".strings";
|
|
40
|
+
}
|
|
41
|
+
return ".json";
|
|
42
|
+
}
|
|
43
|
+
|
|
34
44
|
/**
|
|
35
45
|
* For a given variant:
|
|
36
46
|
* - if format is unspecified, fetch data for all projects from `/projects` and
|
|
@@ -42,6 +52,7 @@ async function downloadAndSaveVariant(
|
|
|
42
52
|
variantApiId: string | null,
|
|
43
53
|
projects: Project[],
|
|
44
54
|
format: string | undefined,
|
|
55
|
+
status: string | undefined,
|
|
45
56
|
token?: Token
|
|
46
57
|
) {
|
|
47
58
|
const params: Record<string, string | null> = {
|
|
@@ -50,6 +61,9 @@ async function downloadAndSaveVariant(
|
|
|
50
61
|
if (format) {
|
|
51
62
|
params.format = format;
|
|
52
63
|
}
|
|
64
|
+
if (status) {
|
|
65
|
+
params.status = status;
|
|
66
|
+
}
|
|
53
67
|
|
|
54
68
|
if (format && NON_DEFAULT_FORMATS.includes(format)) {
|
|
55
69
|
const savedMessages = await Promise.all(
|
|
@@ -63,10 +77,16 @@ async function downloadAndSaveVariant(
|
|
|
63
77
|
return "";
|
|
64
78
|
}
|
|
65
79
|
|
|
66
|
-
const
|
|
80
|
+
const extension = getExtension(format);
|
|
81
|
+
|
|
82
|
+
const filename =
|
|
83
|
+
fileName + ("__" + (variantApiId || "base")) + extension;
|
|
67
84
|
const filepath = path.join(consts.TEXT_DIR, filename);
|
|
68
85
|
|
|
69
|
-
|
|
86
|
+
let dataString = data;
|
|
87
|
+
if (extension === ".json") {
|
|
88
|
+
dataString = JSON.stringify(data, null, 2);
|
|
89
|
+
}
|
|
70
90
|
|
|
71
91
|
fs.writeFileSync(filepath, dataString);
|
|
72
92
|
|
|
@@ -99,6 +119,7 @@ async function downloadAndSaveVariant(
|
|
|
99
119
|
async function downloadAndSaveVariants(
|
|
100
120
|
projects: Project[],
|
|
101
121
|
format: string | undefined,
|
|
122
|
+
status: string | undefined,
|
|
102
123
|
token?: Token,
|
|
103
124
|
options?: PullOptions
|
|
104
125
|
) {
|
|
@@ -113,9 +134,9 @@ async function downloadAndSaveVariants(
|
|
|
113
134
|
});
|
|
114
135
|
|
|
115
136
|
const messages = await Promise.all([
|
|
116
|
-
downloadAndSaveVariant(null, projects, format, token),
|
|
137
|
+
downloadAndSaveVariant(null, projects, format, status, token),
|
|
117
138
|
...variants.map(({ apiID }: { apiID: string }) =>
|
|
118
|
-
downloadAndSaveVariant(apiID, projects, format, token)
|
|
139
|
+
downloadAndSaveVariant(apiID, projects, format, status, token)
|
|
119
140
|
),
|
|
120
141
|
]);
|
|
121
142
|
|
|
@@ -125,6 +146,7 @@ async function downloadAndSaveVariants(
|
|
|
125
146
|
async function downloadAndSaveBase(
|
|
126
147
|
projects: Project[],
|
|
127
148
|
format: string | undefined,
|
|
149
|
+
status: string | undefined,
|
|
128
150
|
token?: Token,
|
|
129
151
|
options?: PullOptions
|
|
130
152
|
) {
|
|
@@ -136,6 +158,9 @@ async function downloadAndSaveBase(
|
|
|
136
158
|
if (format) {
|
|
137
159
|
params.format = format;
|
|
138
160
|
}
|
|
161
|
+
if (status) {
|
|
162
|
+
params.status = status;
|
|
163
|
+
}
|
|
139
164
|
|
|
140
165
|
if (format && NON_DEFAULT_FORMATS.includes(format)) {
|
|
141
166
|
const savedMessages = await Promise.all(
|
|
@@ -145,10 +170,14 @@ async function downloadAndSaveBase(
|
|
|
145
170
|
headers: { Authorization: `token ${token}` },
|
|
146
171
|
});
|
|
147
172
|
|
|
148
|
-
const
|
|
173
|
+
const extension = getExtension(format);
|
|
174
|
+
const filename = `${fileName}${extension}`;
|
|
149
175
|
const filepath = path.join(consts.TEXT_DIR, filename);
|
|
150
176
|
|
|
151
|
-
|
|
177
|
+
let dataString = data;
|
|
178
|
+
if (extension === ".json") {
|
|
179
|
+
dataString = JSON.stringify(data, null, 2);
|
|
180
|
+
}
|
|
152
181
|
|
|
153
182
|
fs.writeFileSync(filepath, dataString);
|
|
154
183
|
|
|
@@ -182,7 +211,7 @@ function cleanOutputFiles() {
|
|
|
182
211
|
|
|
183
212
|
const fileNames = fs.readdirSync(consts.TEXT_DIR);
|
|
184
213
|
fileNames.forEach((fileName) => {
|
|
185
|
-
if (/\.js(on)
|
|
214
|
+
if (/\.js(on)?|\.xml|\.strings$/.test(fileName)) {
|
|
186
215
|
fs.unlinkSync(path.resolve(consts.TEXT_DIR, fileName));
|
|
187
216
|
}
|
|
188
217
|
});
|
|
@@ -304,8 +333,13 @@ async function downloadAndSave(
|
|
|
304
333
|
token?: Token,
|
|
305
334
|
options?: PullOptions
|
|
306
335
|
) {
|
|
307
|
-
const {
|
|
308
|
-
|
|
336
|
+
const {
|
|
337
|
+
validProjects,
|
|
338
|
+
variants,
|
|
339
|
+
format,
|
|
340
|
+
shouldFetchComponentLibrary,
|
|
341
|
+
status,
|
|
342
|
+
} = sourceInformation;
|
|
309
343
|
|
|
310
344
|
let msg = `\nFetching the latest text from ${sourcesToText(
|
|
311
345
|
validProjects,
|
|
@@ -331,8 +365,12 @@ async function downloadAndSave(
|
|
|
331
365
|
|
|
332
366
|
const meta = options ? options.meta : {};
|
|
333
367
|
msg += variants
|
|
334
|
-
? await downloadAndSaveVariants(validProjects, format, token, {
|
|
335
|
-
|
|
368
|
+
? await downloadAndSaveVariants(validProjects, format, status, token, {
|
|
369
|
+
meta,
|
|
370
|
+
})
|
|
371
|
+
: await downloadAndSaveBase(validProjects, format, status, token, {
|
|
372
|
+
meta,
|
|
373
|
+
});
|
|
336
374
|
|
|
337
375
|
msg += generateJsDriver(validProjects, variants, format);
|
|
338
376
|
|
package/lib/types.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface ConfigYAML {
|
|
|
9
9
|
components?: boolean;
|
|
10
10
|
projects?: Project[];
|
|
11
11
|
format?: string;
|
|
12
|
+
status?: string;
|
|
12
13
|
variants?: boolean;
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -18,6 +19,7 @@ export interface SourceInformation {
|
|
|
18
19
|
shouldFetchComponentLibrary: boolean;
|
|
19
20
|
variants: boolean;
|
|
20
21
|
format: string | undefined;
|
|
22
|
+
status: string | undefined;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export type Token = string | undefined;
|