dorky 4.1.0 → 4.1.1

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.
Files changed (2) hide show
  1. package/bin/index.js +28 -29
  2. package/package.json +1 -1
package/bin/index.js CHANGED
@@ -278,6 +278,11 @@ async function push() {
278
278
 
279
279
  if (filesToUpload.length === 0 && filesToDelete.length === 0) return console.log(chalk.yellow("ℹ Nothing to push."));
280
280
 
281
+ const commitFiles = { ...meta["stage-1-files"] };
282
+ const commitId = md5(JSON.stringify(commitFiles)).slice(0, 8);
283
+ const history = existsSync(HISTORY_PATH) ? JSON.parse(readFileSync(HISTORY_PATH)) : [];
284
+ if (history.length > 0 && history[history.length - 1].id === commitId) return console.log(chalk.yellow("ℹ Already on the latest commit. Nothing to push."));
285
+
281
286
  const creds = readJson(CREDENTIALS_PATH);
282
287
  if (creds.storage === "aws") {
283
288
  await runS3(creds, async (s3, bucket) => {
@@ -331,35 +336,30 @@ async function push() {
331
336
  meta["uploaded-files"] = { ...meta["stage-1-files"] };
332
337
  writeJson(METADATA_PATH, meta);
333
338
 
334
- const commitFiles = { ...meta["stage-1-files"] };
335
- const commitId = md5(JSON.stringify(commitFiles)).slice(0, 8);
336
- const history = existsSync(HISTORY_PATH) ? JSON.parse(readFileSync(HISTORY_PATH)) : [];
337
- if (!history.find(e => e.id === commitId)) {
338
- history.push({ id: commitId, timestamp: new Date().toISOString(), files: commitFiles });
339
- writeJson(HISTORY_PATH, history);
339
+ history.push({ id: commitId, timestamp: new Date().toISOString(), files: commitFiles });
340
+ writeJson(HISTORY_PATH, history);
340
341
 
341
- const root = path.basename(process.cwd());
342
- const historyPrefix = path.join(root, ".dorky-history", commitId);
343
- if (creds.storage === "aws") {
344
- await runS3(creds, async (s3, bucket) => {
345
- await Promise.all(Object.keys(commitFiles).map(async f => {
346
- const key = path.join(historyPrefix, f);
347
- await s3.send(new PutObjectCommand({ Bucket: bucket, Key: key, Body: readFileSync(f) }));
348
- }));
349
- });
350
- } else if (creds.storage === "google-drive") {
351
- await runDrive(async (drive) => {
352
- for (const f of Object.keys(commitFiles)) {
353
- const parentId = await getFolderId(path.join(root, ".dorky-history", commitId, path.dirname(f)), drive);
354
- await drive.files.create({
355
- requestBody: { name: path.basename(f), parents: [parentId] },
356
- media: { mimeType: commitFiles[f]["mime-type"], body: createReadStream(f) }
357
- });
358
- }
359
- });
360
- }
361
- console.log(chalk.cyan(`ℹ History commit saved: ${commitId}`));
342
+ const root = path.basename(process.cwd());
343
+ const historyPrefix = path.join(root, ".dorky-history", commitId);
344
+ if (creds.storage === "aws") {
345
+ await runS3(creds, async (s3, bucket) => {
346
+ await Promise.all(Object.keys(commitFiles).map(async f => {
347
+ const key = path.join(historyPrefix, f);
348
+ await s3.send(new PutObjectCommand({ Bucket: bucket, Key: key, Body: readFileSync(f) }));
349
+ }));
350
+ });
351
+ } else if (creds.storage === "google-drive") {
352
+ await runDrive(async (drive) => {
353
+ for (const f of Object.keys(commitFiles)) {
354
+ const parentId = await getFolderId(path.join(root, ".dorky-history", commitId, path.dirname(f)), drive);
355
+ await drive.files.create({
356
+ requestBody: { name: path.basename(f), parents: [parentId] },
357
+ media: { mimeType: commitFiles[f]["mime-type"], body: createReadStream(f) }
358
+ });
359
+ }
360
+ });
362
361
  }
362
+ console.log(chalk.cyan(`ℹ History commit saved: ${commitId}`));
363
363
  }
364
364
 
365
365
  async function pull() {
@@ -455,9 +455,8 @@ async function checkout(commitId) {
455
455
 
456
456
  const meta = readJson(METADATA_PATH);
457
457
  meta["stage-1-files"] = { ...entry.files };
458
- meta["uploaded-files"] = { ...entry.files };
459
458
  writeJson(METADATA_PATH, meta);
460
- console.log(chalk.cyan(`\nℹ Staged and uploaded state restored to commit ${entry.id}.`));
459
+ console.log(chalk.cyan(`\nℹ Staged state restored to commit ${entry.id}. Run --push to publish this state.`));
461
460
  }
462
461
 
463
462
  async function destroy() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dorky",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "description": "DevOps Records Keeper.",
5
5
  "bin": {
6
6
  "dorky": "bin/index.js",