@lmcuong29/lublue-cli 1.1.0-beta.3
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.
Potentially problematic release.
This version of @lmcuong29/lublue-cli might be problematic. Click here for more details.
- package/LICENSE.md +21 -0
- package/README.md +10 -0
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +5 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +3 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +51 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/select.d.ts +3 -0
- package/dist/commands/select.d.ts.map +1 -0
- package/dist/commands/select.js +19 -0
- package/dist/commands/select.js.map +1 -0
- package/dist/commands/theme.d.ts +3 -0
- package/dist/commands/theme.d.ts.map +1 -0
- package/dist/commands/theme.js +222 -0
- package/dist/commands/theme.js.map +1 -0
- package/dist/commands/whoiam.d.ts +3 -0
- package/dist/commands/whoiam.d.ts.map +1 -0
- package/dist/commands/whoiam.js +64 -0
- package/dist/commands/whoiam.js.map +1 -0
- package/dist/config/app-config.d.ts +3 -0
- package/dist/config/app-config.d.ts.map +1 -0
- package/dist/config/app-config.js +7 -0
- package/dist/config/app-config.js.map +1 -0
- package/dist/config/config.json +63 -0
- package/dist/helper/auth.d.ts +6 -0
- package/dist/helper/auth.d.ts.map +1 -0
- package/dist/helper/auth.js +146 -0
- package/dist/helper/auth.js.map +1 -0
- package/dist/helper/axios_hrv.d.ts +3 -0
- package/dist/helper/axios_hrv.d.ts.map +1 -0
- package/dist/helper/axios_hrv.js +82 -0
- package/dist/helper/axios_hrv.js.map +1 -0
- package/dist/helper/check_version.d.ts +8 -0
- package/dist/helper/check_version.d.ts.map +1 -0
- package/dist/helper/check_version.js +55 -0
- package/dist/helper/check_version.js.map +1 -0
- package/dist/helper/conf.d.ts +30 -0
- package/dist/helper/conf.d.ts.map +1 -0
- package/dist/helper/conf.js +93 -0
- package/dist/helper/conf.js.map +1 -0
- package/dist/helper/constants.d.ts +5 -0
- package/dist/helper/constants.d.ts.map +1 -0
- package/dist/helper/constants.js +5 -0
- package/dist/helper/constants.js.map +1 -0
- package/dist/helper/dotfile.d.ts +14 -0
- package/dist/helper/dotfile.d.ts.map +1 -0
- package/dist/helper/dotfile.js +53 -0
- package/dist/helper/dotfile.js.map +1 -0
- package/dist/helper/files.d.ts +14 -0
- package/dist/helper/files.d.ts.map +1 -0
- package/dist/helper/files.js +431 -0
- package/dist/helper/files.js.map +1 -0
- package/dist/helper/haravan-cli-error.d.ts +4 -0
- package/dist/helper/haravan-cli-error.d.ts.map +1 -0
- package/dist/helper/haravan-cli-error.js +10 -0
- package/dist/helper/haravan-cli-error.js.map +1 -0
- package/dist/helper/haravan_api.d.ts +9 -0
- package/dist/helper/haravan_api.d.ts.map +1 -0
- package/dist/helper/haravan_api.js +192 -0
- package/dist/helper/haravan_api.js.map +1 -0
- package/dist/helper/messages.d.ts +21 -0
- package/dist/helper/messages.d.ts.map +1 -0
- package/dist/helper/messages.js +29 -0
- package/dist/helper/messages.js.map +1 -0
- package/dist/helper/utils.d.ts +9 -0
- package/dist/helper/utils.d.ts.map +1 -0
- package/dist/helper/utils.js +86 -0
- package/dist/helper/utils.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -0
- package/package.json +74 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import makeDir from "make-dir";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import pMap from "p-map";
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
const { zip } = require("zip-a-folder");
|
|
8
|
+
import { HaravanCliError } from "./haravan-cli-error.js";
|
|
9
|
+
import { Conf } from "./conf.js";
|
|
10
|
+
import { ERROR } from "./messages.js";
|
|
11
|
+
import { getErrorMessage, makeRandom, stopSpinner } from "./utils.js";
|
|
12
|
+
import HaravanAPI from "./haravan_api.js";
|
|
13
|
+
import trash from "trash";
|
|
14
|
+
import { COLORS } from "./check_version.js";
|
|
15
|
+
import moment from "moment";
|
|
16
|
+
import gitRS from "git-rev-sync";
|
|
17
|
+
import { DOTFILE } from "./dotfile.js";
|
|
18
|
+
const config = Conf.get();
|
|
19
|
+
export const writeProjectFilesToTmp = async (files, rootDir = "") => {
|
|
20
|
+
var _a;
|
|
21
|
+
try {
|
|
22
|
+
// const { fileExtension } = await getProjectSettings();
|
|
23
|
+
const mapper = async (file) => {
|
|
24
|
+
var _a;
|
|
25
|
+
let arrayPathCurrent = rootDir.split("/");
|
|
26
|
+
const filePath = `tmp_pull/${file.key}`;
|
|
27
|
+
const tmpPath = `${path.join(rootDir, `../${filePath}`)}`;
|
|
28
|
+
const truePath = `${path.join(rootDir, file.key)}`;
|
|
29
|
+
const pathCurrent = `/${arrayPathCurrent[arrayPathCurrent.length - 1]}/${file.key}`;
|
|
30
|
+
try {
|
|
31
|
+
if (file.value) {
|
|
32
|
+
await makeDir(path.dirname(tmpPath));
|
|
33
|
+
await fs.writeFile(tmpPath, file.value, "utf8");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new HaravanCliError((_a = getErrorMessage(error)) !== null && _a !== void 0 ? _a : ERROR.FS_FILE_WRITE);
|
|
38
|
+
}
|
|
39
|
+
// Log only filename if pulling to root (Code.gs vs ./Code.gs)
|
|
40
|
+
// console.log(`└─ ${rootDir ? truePath : filePath}`);
|
|
41
|
+
console.log(`└─ ${rootDir ? pathCurrent : filePath}`);
|
|
42
|
+
};
|
|
43
|
+
// const fileList = files.filter((file) => file.source); // Disallow empty files
|
|
44
|
+
// fileList.sort((a, b) => a.name.localeCompare(b.name));
|
|
45
|
+
await pMap(files, mapper);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (error instanceof HaravanCliError) {
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
throw new HaravanCliError((_a = getErrorMessage(error)) !== null && _a !== void 0 ? _a : ERROR.FS_DIR_WRITE);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
export const logFileList = (files) => console.log(files.map((file) => `└─ ${file}`).join("\n"));
|
|
55
|
+
export const processingPullThemesAsync = async (id, token) => {
|
|
56
|
+
let tmpPathPull = `${path.join(process.cwd(), "../tmp_pull")}`;
|
|
57
|
+
try {
|
|
58
|
+
await removeFolder(tmpPathPull);
|
|
59
|
+
// Lấy danh sách assets
|
|
60
|
+
let urlGetListAssets = `/web/themes/${id}/assets.json`;
|
|
61
|
+
let getListAssets = await HaravanAPI.get(urlGetListAssets);
|
|
62
|
+
if (getListAssets && getListAssets.assets && getListAssets.assets.length) {
|
|
63
|
+
let listPromiseAssetsHasUrl = [];
|
|
64
|
+
let listAssetsNoUrl = [];
|
|
65
|
+
let listAssetsHasValue = [];
|
|
66
|
+
for (let i = 0; i < getListAssets.assets.length; i++) {
|
|
67
|
+
let asset = getListAssets.assets[i];
|
|
68
|
+
if (asset.public_url) {
|
|
69
|
+
if (asset.key) {
|
|
70
|
+
listPromiseAssetsHasUrl.push(asset);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
listAssetsNoUrl.push(asset);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Xử lý assets có URL
|
|
78
|
+
console.log(` Start processing ${listPromiseAssetsHasUrl.length} assets has URL...`);
|
|
79
|
+
for (let i = 0; i < listPromiseAssetsHasUrl.length; i++) {
|
|
80
|
+
const asset = listPromiseAssetsHasUrl[i];
|
|
81
|
+
try {
|
|
82
|
+
let randomId = await makeRandom(3);
|
|
83
|
+
let fullRandom = randomId + new Date().getTime();
|
|
84
|
+
let infoURL = new URL(asset.public_url);
|
|
85
|
+
asset.public_url = infoURL.origin + infoURL.pathname;
|
|
86
|
+
const filePath = `tmp_pull/${asset.key}`;
|
|
87
|
+
const tmpPath = `${path.join(process.cwd(), `../${filePath}`)}`;
|
|
88
|
+
let getValueAsset = await HaravanAPI.downloadStreamFile(asset.public_url, tmpPath);
|
|
89
|
+
if (getValueAsset) {
|
|
90
|
+
asset.value = null;
|
|
91
|
+
listAssetsHasValue.push(asset);
|
|
92
|
+
}
|
|
93
|
+
console.log(` Processing ${i + 1}/${listPromiseAssetsHasUrl.length}: ${asset.key}`);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
if (error && error.response && error.response.status === 422) {
|
|
97
|
+
console.log(`${COLORS.FgRed}An file error has occurred. Can't pull file!${COLORS.Reset} ${`File error: [${COLORS.FgRed}${asset.key}${COLORS.Reset}]`}`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
console.log(`Lỗi xử lý ${asset.key}:`, error);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Xử lý assets không có URL
|
|
105
|
+
console.log(` Start processing ${listAssetsNoUrl.length} assets no URL...`);
|
|
106
|
+
for (let i = 0; i < listAssetsNoUrl.length; i++) {
|
|
107
|
+
const asset = listAssetsNoUrl[i];
|
|
108
|
+
try {
|
|
109
|
+
if (asset.key) {
|
|
110
|
+
let urlGetValueAseet = `/web/themes/${id}/assets.json?asset[key]=${asset.key}`;
|
|
111
|
+
let getValueAsset = await HaravanAPI.get(urlGetValueAseet);
|
|
112
|
+
if (getValueAsset && getValueAsset.asset && getValueAsset.asset.value) {
|
|
113
|
+
asset.value = getValueAsset.asset.value;
|
|
114
|
+
listAssetsHasValue.push(asset);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
console.log(` Processing ${i + 1}/${listAssetsNoUrl.length}: ${asset.key}`);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (error && error.response && error.response.status === 422) {
|
|
121
|
+
console.log(`${COLORS.FgRed}An file error has occurred. Can't pull file!${COLORS.Reset} ${`File error: [${COLORS.FgRed}${asset.key}${COLORS.Reset}]`}`);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log(` Error processing ${asset.key}:`, error);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return listAssetsHasValue;
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
await removeFolder(tmpPathPull);
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
export const processingPullThemes = async (id, token) => {
|
|
138
|
+
let tmpPathPull = `${path.join(process.cwd(), "../tmp_pull")}`;
|
|
139
|
+
try {
|
|
140
|
+
// Xóa thư mục tạm cũ
|
|
141
|
+
await removeFolder(tmpPathPull);
|
|
142
|
+
// Lấy danh sách assets
|
|
143
|
+
let urlGetListAssets = `/web/themes/${id}/assets.json`;
|
|
144
|
+
let getListAssets = await HaravanAPI.get(urlGetListAssets);
|
|
145
|
+
if (getListAssets && getListAssets.assets && getListAssets.assets.length) {
|
|
146
|
+
// Khởi tạo các mảng chứa assets
|
|
147
|
+
let listPromiseAssetsHasUrl = [];
|
|
148
|
+
let listAssetsNoUrl = [];
|
|
149
|
+
let listAssetsHasValue = [];
|
|
150
|
+
// Phân loại assets
|
|
151
|
+
for (let i = 0; i < getListAssets.assets.length; i++) {
|
|
152
|
+
let asset = getListAssets.assets[i];
|
|
153
|
+
if (asset.public_url) {
|
|
154
|
+
if (asset.key) {
|
|
155
|
+
listPromiseAssetsHasUrl.push(asset);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
listAssetsNoUrl.push(asset);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Xử lý assets có URL
|
|
163
|
+
const processAsset = (asset) => async () => {
|
|
164
|
+
try {
|
|
165
|
+
let randomId = await makeRandom(3);
|
|
166
|
+
let fullRandom = randomId + new Date().getTime();
|
|
167
|
+
let infoURL = new URL(asset.public_url);
|
|
168
|
+
asset.public_url = infoURL.origin + infoURL.pathname;
|
|
169
|
+
const filePath = `tmp_pull/${asset.key}`;
|
|
170
|
+
const tmpPath = `${path.join(process.cwd(), `../${filePath}`)}`;
|
|
171
|
+
let getValueAsset = await HaravanAPI.downloadStreamFile(asset.public_url, tmpPath);
|
|
172
|
+
if (getValueAsset) {
|
|
173
|
+
asset.value = null;
|
|
174
|
+
listAssetsHasValue.push(asset);
|
|
175
|
+
}
|
|
176
|
+
return "";
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
if (error && error.response && error.response.status === 422) {
|
|
180
|
+
console.log(`${COLORS.FgRed}An file error has occurred. Can't pull file!${COLORS.Reset} ${`File error: [${COLORS.FgRed}${asset.key}${COLORS.Reset}]`}`);
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
throw { key: asset.key };
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
// Xử lý assets có URL theo batch
|
|
187
|
+
const assetProcessors = listPromiseAssetsHasUrl.map((asset) => processAsset(asset));
|
|
188
|
+
const batchSize = 30;
|
|
189
|
+
for (let i = 0; i < assetProcessors.length; i += batchSize) {
|
|
190
|
+
const batch = assetProcessors.slice(i, i + batchSize);
|
|
191
|
+
console.log(` has URL batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(assetProcessors.length / batchSize)}`);
|
|
192
|
+
const batchPromises = batch.map((processor) => processor());
|
|
193
|
+
await Promise.all(batchPromises);
|
|
194
|
+
}
|
|
195
|
+
// Xử lý assets không có URL
|
|
196
|
+
const processAssetNoUrl = (asset, id) => async () => {
|
|
197
|
+
try {
|
|
198
|
+
if (asset.key) {
|
|
199
|
+
let urlGetValueAseet = `/web/themes/${id}/assets.json?asset[key]=${asset.key}`;
|
|
200
|
+
let getValueAsset = await HaravanAPI.get(urlGetValueAseet, "json", true, false);
|
|
201
|
+
if (getValueAsset && getValueAsset.asset && getValueAsset.asset.value) {
|
|
202
|
+
asset.value = getValueAsset.asset.value;
|
|
203
|
+
listAssetsHasValue.push(asset);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return "";
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
if (error && error.response && error.response.status === 422) {
|
|
210
|
+
console.log(`${COLORS.FgRed}An file error has occurred. Can't pull file!${COLORS.Reset} ${`File error: [${COLORS.FgRed}${asset.key}${COLORS.Reset}]`}`);
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
throw { key: asset.key };
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
// Xử lý assets không có URL theo batch
|
|
217
|
+
const assetNoUrlProcessors = listAssetsNoUrl.map((asset) => processAssetNoUrl(asset, id));
|
|
218
|
+
const batchSizeNoUrl = 30;
|
|
219
|
+
for (let i = 0; i < assetNoUrlProcessors.length; i += batchSizeNoUrl) {
|
|
220
|
+
const batch = assetNoUrlProcessors.slice(i, i + batchSizeNoUrl);
|
|
221
|
+
console.log(` no Url batch ${Math.floor(i / batchSizeNoUrl) + 1}/${Math.ceil(assetNoUrlProcessors.length / batchSizeNoUrl)}`);
|
|
222
|
+
const batchPromises = batch.map((processor) => processor());
|
|
223
|
+
await Promise.all(batchPromises);
|
|
224
|
+
}
|
|
225
|
+
return listAssetsHasValue;
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
await removeFolder(tmpPathPull);
|
|
231
|
+
throw error;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
export const compressZipFolder = async (tmpPathZip, fullPathZip) => {
|
|
235
|
+
return new Promise(async (resolve, reject) => {
|
|
236
|
+
let isExistFolder = await fs.exists(tmpPathZip);
|
|
237
|
+
if (isExistFolder)
|
|
238
|
+
await zip(tmpPathZip, fullPathZip);
|
|
239
|
+
else
|
|
240
|
+
reject("Theme no data to export");
|
|
241
|
+
resolve("");
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
export const removeFolder = async (path) => {
|
|
245
|
+
return new Promise(async (resolve, reject) => {
|
|
246
|
+
let isExist = await fs.exists(path);
|
|
247
|
+
if (isExist)
|
|
248
|
+
await fs.removeSync(path);
|
|
249
|
+
resolve("");
|
|
250
|
+
});
|
|
251
|
+
};
|
|
252
|
+
export const processCompressZipFile = async (fileName = "") => {
|
|
253
|
+
try {
|
|
254
|
+
let gitShort = null;
|
|
255
|
+
try {
|
|
256
|
+
gitShort = gitRS.short(process.cwd());
|
|
257
|
+
}
|
|
258
|
+
catch (error) { }
|
|
259
|
+
fileName += `-${moment(new Date()).format("DD_MM_YYYY")}${gitShort ? "-" + gitShort : ""}.zip`;
|
|
260
|
+
let pathProject = `${path.join(process.cwd())}`;
|
|
261
|
+
let tmpPathZip = `${path.join(process.cwd(), "../tmp_zip")}`;
|
|
262
|
+
let fullPathZip = `${path.join(process.cwd(), fileName)}`;
|
|
263
|
+
await removeFolder(tmpPathZip); // xóa thư mục tạm => tránh lỗi
|
|
264
|
+
await copyThemeToFolder(pathProject, tmpPathZip); //copy
|
|
265
|
+
// await removeFileDot(tmpPathZip); //xóa file format .đầu tiên
|
|
266
|
+
await compressZipFolder(tmpPathZip, fullPathZip); //zip folder file
|
|
267
|
+
await removeFolder(tmpPathZip); // xóa thư mục tạm
|
|
268
|
+
console.log(`${COLORS.Reset}Zip file ${COLORS.FgGreen}${fileName} ${COLORS.Reset}success!`);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
stopSpinner();
|
|
273
|
+
console.log(error);
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
export const processPullFile = async (listAssets) => {
|
|
278
|
+
try {
|
|
279
|
+
let tmpPathPull = `${path.join(process.cwd(), "../tmp_pull")}`;
|
|
280
|
+
await writeProjectFilesToTmp(listAssets, process.cwd()); // ghi theme vào thư mục tạm
|
|
281
|
+
await compareFileAndRemove(tmpPathPull, process.cwd(), listAssets); // check file đã bị xóa => move to trash, check tổng số file đã ghi với tổng số file của api
|
|
282
|
+
await deleteFolderTheme(process.cwd()); // xóa file theme trong thư mục project
|
|
283
|
+
await copyThemeToFolder(tmpPathPull, path.join(process.cwd())); // copy theme thư mục tạm => thư mục project
|
|
284
|
+
await fs.writeFile(`${process.cwd()}/.gitignore`, ".haravan-cli_local.json"); // thêm file .gitignore
|
|
285
|
+
await removeFolder(tmpPathPull); // xóa thư mục tạm
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
throw error;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
export const deleteFolderTheme = async (path) => {
|
|
292
|
+
try {
|
|
293
|
+
return new Promise(async (resolve, reject) => {
|
|
294
|
+
let listFolderThemes = ["assets", "config", "layout", "snippets", "templates", "locales"];
|
|
295
|
+
for (let i = 0; i < listFolderThemes.length; i++) {
|
|
296
|
+
let folderTheme = listFolderThemes[i];
|
|
297
|
+
let isExistFolder = await fs.exists(`${path}/${folderTheme}`);
|
|
298
|
+
if (isExistFolder)
|
|
299
|
+
await fs.removeSync(`${path}/${folderTheme}`);
|
|
300
|
+
}
|
|
301
|
+
return resolve("");
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
console.log("copyThemeToTmp error: ", error);
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
export const copyThemeToFolder = async (path, toPath) => {
|
|
309
|
+
try {
|
|
310
|
+
return new Promise(async (resolve, reject) => {
|
|
311
|
+
let listFolderThemes = ["assets", "config", "layout", "snippets", "templates", "locales"];
|
|
312
|
+
for (let i = 0; i < listFolderThemes.length; i++) {
|
|
313
|
+
let folderTheme = listFolderThemes[i];
|
|
314
|
+
let checkExist = await fs.exists(`${path}/${folderTheme}`);
|
|
315
|
+
if (checkExist) {
|
|
316
|
+
await removeFolder(`${toPath}/${folderTheme}`);
|
|
317
|
+
let newPathFolder = `${path}/${folderTheme}`;
|
|
318
|
+
let newPathToFolder = `${toPath}/${folderTheme}`;
|
|
319
|
+
await fs.copySync(newPathFolder, newPathToFolder, { overwrite: true });
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return resolve("");
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
console.log("copyThemeToTmp error: ", error);
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
export const checkFilePush = async (filePath) => {
|
|
330
|
+
if (!fs.existsSync(filePath)) {
|
|
331
|
+
console.log(`${COLORS.FgRed} File not found: ${filePath}${COLORS.Reset}`);
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
const imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp", ".ico", ".eot", ".ttf", ".woff", ".woff2"];
|
|
335
|
+
const fileExtension = path.extname(filePath).toLowerCase();
|
|
336
|
+
if (imageExtensions.includes(fileExtension)) {
|
|
337
|
+
console.log(`${COLORS.FgRed} Skipping file extension not support: ${filePath}${COLORS.Reset}`);
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
return true;
|
|
341
|
+
};
|
|
342
|
+
export const processingPushFile = async (filePath, token) => {
|
|
343
|
+
try {
|
|
344
|
+
const getSettingLocal = await DOTFILE.PROJECT().read();
|
|
345
|
+
let fileContent = await fs.readFile(filePath, "utf8");
|
|
346
|
+
const dataPush = {
|
|
347
|
+
asset: {
|
|
348
|
+
key: filePath,
|
|
349
|
+
value: fileContent,
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
let urlPushFile = `/web/themes/${getSettingLocal.theme_id}/assets.json`;
|
|
353
|
+
let response = await HaravanAPI.put(urlPushFile, dataPush);
|
|
354
|
+
if (response && response.asset) {
|
|
355
|
+
console.log(`${COLORS.FgGreen} File pushed successfully: ${filePath}${COLORS.Reset}`);
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
console.log(`${COLORS.FgRed} Failed to push file: ${filePath}${COLORS.Reset}. Please relogin and try again`);
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
return true;
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
throw error;
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
const removeFileDot = async (pathFolder) => {
|
|
368
|
+
let files = await fs.readdir(pathFolder);
|
|
369
|
+
let regex = new RegExp(/^\..*/);
|
|
370
|
+
for (let i = 0; i < files.length; i++) {
|
|
371
|
+
let file = files[i];
|
|
372
|
+
if (regex.test(file)) {
|
|
373
|
+
let pathDot = `${pathFolder}/${file}`;
|
|
374
|
+
fs.removeSync(pathDot);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
export const compareFileAndRemove = async (tmpPathPull, pathProject, listAssets) => {
|
|
379
|
+
try {
|
|
380
|
+
return new Promise(async (resolve, reject) => {
|
|
381
|
+
let listFileTmp = [];
|
|
382
|
+
let listFile = [];
|
|
383
|
+
getFilesnamesRecursive(tmpPathPull, listFileTmp);
|
|
384
|
+
let listFolderThemes = ["assets", "config", "layout", "snippets", "templates", "locales"];
|
|
385
|
+
for (let i = 0; i < listFolderThemes.length; i++) {
|
|
386
|
+
let folderTheme = listFolderThemes[i];
|
|
387
|
+
getFilesnamesRecursive(`${pathProject}/${folderTheme}`, listFile);
|
|
388
|
+
}
|
|
389
|
+
for (let i = 0; i < listFile.length; i++) {
|
|
390
|
+
let file = listFile[i];
|
|
391
|
+
if (listFileTmp.indexOf(file) === -1) {
|
|
392
|
+
await trash(`${pathProject}/${file}`);
|
|
393
|
+
console.log(`${COLORS.Reset}\nMove file deleted: ${COLORS.FgRed}${file} ${COLORS.Reset}to trash`);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
if (listFileTmp.length !== listAssets.length) {
|
|
397
|
+
const duplicateAssetKeys = listAssets.filter((item, index, arr) => arr.findIndex((x) => x.key === item.key) !== index);
|
|
398
|
+
for (let i = 0; i < duplicateAssetKeys.length; i++) {
|
|
399
|
+
const asset = duplicateAssetKeys[i];
|
|
400
|
+
console.log(`${COLORS.FgRed}File duplicate in the assets template: ${COLORS.FgGreen}${asset.key}${COLORS.Reset} ${COLORS.FgRed} Please check and remove file duplicate name${COLORS.Reset}`);
|
|
401
|
+
}
|
|
402
|
+
const diff = listAssets.filter((item) => !listFileTmp.includes(item.key));
|
|
403
|
+
for (let j = 0; j < diff.length; j++) {
|
|
404
|
+
const asset = diff[j];
|
|
405
|
+
console.log(`${COLORS.FgRed}File equal not found in the project: ${COLORS.FgGreen}${asset.key}${COLORS.Reset} ${COLORS.FgRed}${COLORS.Reset}`);
|
|
406
|
+
}
|
|
407
|
+
reject({ error: "Total number of files written is not equal total number of files from assets api" });
|
|
408
|
+
}
|
|
409
|
+
resolve("");
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
catch (error) {
|
|
413
|
+
console.log("compareFile error: ", error);
|
|
414
|
+
}
|
|
415
|
+
};
|
|
416
|
+
const getFilesnamesRecursive = (dir, foundFiles) => {
|
|
417
|
+
let checkExistFolder = fs.existsSync(dir);
|
|
418
|
+
if (checkExistFolder) {
|
|
419
|
+
const files = fs.readdirSync(dir, { withFileTypes: true });
|
|
420
|
+
files.forEach((entry) => {
|
|
421
|
+
if (entry.isDirectory()) {
|
|
422
|
+
getFilesnamesRecursive(path.join(dir, entry.name), foundFiles);
|
|
423
|
+
}
|
|
424
|
+
else {
|
|
425
|
+
let nameFolder = dir.split(path.sep).pop();
|
|
426
|
+
foundFiles.push(nameFolder + "/" + entry.name);
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
};
|
|
431
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/helper/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haravan-cli-error.d.ts","sourceRoot":"","sources":["../../src/helper/haravan-cli-error.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,GAAG,EAAE,QAAQ,SAAI;CAOtC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class HaravanCliError extends Error {
|
|
2
|
+
constructor(message, exitCode = 1) {
|
|
3
|
+
super(message);
|
|
4
|
+
// @see: typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html
|
|
5
|
+
Object.setPrototypeOf(this, new.target.prototype); // Restore prototype chain
|
|
6
|
+
this.name = HaravanCliError.name; // Stack traces display correctly now
|
|
7
|
+
process.exitCode = exitCode;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=haravan-cli-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haravan-cli-error.js","sourceRoot":"","sources":["../../src/helper/haravan-cli-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACzC,YAAY,OAAY,EAAE,QAAQ,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,2EAA2E;QAC3E,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B;QAC7E,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,qCAAqC;QACvE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const HaravanAPI: {
|
|
2
|
+
get: (endPoint: string, type?: "json" | "image", isOmni?: boolean, sleepLimit?: boolean) => Promise<any>;
|
|
3
|
+
post: (endPoint: string, data: any, isFile?: boolean, isOmni?: boolean, sleepLimit?: boolean) => Promise<any>;
|
|
4
|
+
put: (endPoint: string, data: any, isFile?: boolean, isOmni?: boolean, sleepLimit?: boolean) => Promise<any>;
|
|
5
|
+
delete: (endPoint: string, isOmni?: boolean, sleepLimit?: boolean) => Promise<any>;
|
|
6
|
+
downloadStreamFile: (fileUrl: string, outputLocationPath: string) => Promise<unknown>;
|
|
7
|
+
};
|
|
8
|
+
export default HaravanAPI;
|
|
9
|
+
//# sourceMappingURL=haravan_api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haravan_api.d.ts","sourceRoot":"","sources":["../../src/helper/haravan_api.ts"],"names":[],"mappings":"AAsBA,QAAA,MAAM,UAAU;oBACgB,MAAM,SAAQ,MAAM,GAAG,OAAO,WAAmB,OAAO,eAAqB,OAAO;qBA+BxG,MAAM,QACV,GAAG,WACD,OAAO,WACP,OAAO,eACH,OAAO;oBAkCW,MAAM,QAAQ,GAAG,WAAU,OAAO,WAAkB,OAAO,eAAqB,OAAO;uBAiCpF,MAAM,WAAU,OAAO,eAAqB,OAAO;kCAyBxC,MAAM,sBAAsB,MAAM;CAqC/E,CAAC;AAEF,eAAe,UAAU,CAAC"}
|