diff --git a/CHANGELOG.md b/CHANGELOG.md
index e8fe9bc..c947bf9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,19 @@
+## 1.0.36 (2021-06-23)
+
+* feat: saving json data for future use ([7ceb9cb](https://github.com/simonecorsi/mawesome/commit/7ceb9cb))
+
+
+
+## 1.0.35 (2021-06-22)
+
+* chore(release): v1.0.35 ([cee1906](https://github.com/simonecorsi/mawesome/commit/cee1906))
+* build(deps): bump set-getter from 0.1.0 to 0.1.1 ([970d603](https://github.com/simonecorsi/mawesome/commit/970d603))
+
+
+
## 1.0.34 (2021-05-19)
+* chore(release): v1.0.34 ([ab02c0d](https://github.com/simonecorsi/mawesome/commit/ab02c0d))
@@ -19,17 +33,3 @@
-## 1.0.31 (2021-01-21)
-
-* chore(release): v1.0.31 ([903c070](https://github.com/simonecorsi/mawesome/commit/903c070))
-* feat: added user/email input for commiting ([58a7dc1](https://github.com/simonecorsi/mawesome/commit/58a7dc1))
-
-
-
-## 1.0.30 (2021-01-16)
-
-* chore(release): v1.0.30 ([a5f15da](https://github.com/simonecorsi/mawesome/commit/a5f15da))
-* fix: removed push ([7f42ca0](https://github.com/simonecorsi/mawesome/commit/7f42ca0))
-
-
-
diff --git a/index.js b/index.js
index 5ddaafd..4bc6455 100644
--- a/index.js
+++ b/index.js
@@ -21361,7 +21361,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
var _a;
Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.pushNewFile = exports.OUTPUT_FILENAME = exports.generateMd = exports.paginate = exports.API_STARRED_URL = exports.REPO_USERNAME = exports.apiGetStar = exports.renderer = exports.isLastPage = exports.wait = void 0;
+exports.pushNewFiles = exports.MARKDOWN_FILENAME = exports.generateMd = exports.paginate = exports.API_STARRED_URL = exports.REPO_USERNAME = exports.apiGetStar = exports.renderer = exports.isLastPage = exports.wait = void 0;
const ejs_1 = __importDefault(__nccwpck_require__(8431));
const core = __importStar(__nccwpck_require__(2186));
const remark_1 = __importDefault(__nccwpck_require__(2081));
@@ -21433,17 +21433,21 @@ function generateMd(data) {
});
}
exports.generateMd = generateMd;
-exports.OUTPUT_FILENAME = core.getInput('output-filename') || 'README.md';
-function pushNewFile(markdown) {
+exports.MARKDOWN_FILENAME = core.getInput('output-filename') || 'README.md';
+function pushNewFiles(files = []) {
return __awaiter(this, void 0, void 0, function* () {
- yield fsp.writeFile(exports.OUTPUT_FILENAME, markdown);
+ if (!files.length)
+ return;
yield git_1.default.pull();
- yield git_1.default.add(exports.OUTPUT_FILENAME);
- yield git_1.default.commit(`chore(${exports.OUTPUT_FILENAME}): updated ${exports.OUTPUT_FILENAME}`);
+ yield Promise.all(files.map(({ filename, data }) => __awaiter(this, void 0, void 0, function* () {
+ yield fsp.writeFile(filename, data);
+ yield git_1.default.add(filename);
+ yield git_1.default.commit(`chore(${filename}): updated ${filename}`);
+ })));
yield git_1.default.push();
});
}
-exports.pushNewFile = pushNewFile;
+exports.pushNewFiles = pushNewFiles;
/***/ }),
@@ -21511,7 +21515,16 @@ function main() {
updatedAt: Date.now(),
});
const markdown = yield helpers_1.generateMd(rendered);
- yield helpers_1.pushNewFile(markdown);
+ yield helpers_1.pushNewFiles([
+ {
+ filename: helpers_1.MARKDOWN_FILENAME,
+ data: markdown,
+ },
+ {
+ filename: 'data.json',
+ data: JSON.stringify(sortedByLanguages, null, 2),
+ },
+ ]);
});
}
exports.main = main;
diff --git a/package-lock.json b/package-lock.json
index f120564..2e90a93 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "mawesome",
- "version": "1.0.34",
+ "version": "1.0.36",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -7358,9 +7358,9 @@
"dev": true
},
"set-getter": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
- "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz",
+ "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==",
"dev": true,
"requires": {
"to-object-path": "^0.3.0"
diff --git a/package.json b/package.json
index e52e050..52f78a3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mawesome",
- "version": "1.0.34",
+ "version": "1.0.36",
"description": "Generate awesome list from user starred repositories",
"main": "index.js",
"author": "Simone Corsi",
diff --git a/src/helpers.ts b/src/helpers.ts
index 8776382..3687671 100644
--- a/src/helpers.ts
+++ b/src/helpers.ts
@@ -77,12 +77,26 @@ export function generateMd(data: string): Promise {
});
}
-export const OUTPUT_FILENAME: string =
+export const MARKDOWN_FILENAME: string =
core.getInput('output-filename') || 'README.md';
-export async function pushNewFile(markdown: string): Promise {
- await fsp.writeFile(OUTPUT_FILENAME, markdown);
+
+type File = {
+ filename: string;
+ data: string;
+};
+
+export async function pushNewFiles(files: File[] = []): Promise {
+ if (!files.length) return;
+
await git.pull();
- await git.add(OUTPUT_FILENAME);
- await git.commit(`chore(${OUTPUT_FILENAME}): updated ${OUTPUT_FILENAME}`);
+
+ await Promise.all(
+ files.map(async ({ filename, data }) => {
+ await fsp.writeFile(filename, data);
+ await git.add(filename);
+ await git.commit(`chore(${filename}): updated ${filename}`);
+ })
+ );
+
await git.push();
}
diff --git a/src/index.ts b/src/index.ts
index 02b4669..a120f63 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,11 +1,13 @@
import * as core from '@actions/core';
+import { data } from 'remark';
import {
renderer,
paginate,
REPO_USERNAME,
generateMd,
- pushNewFile,
+ pushNewFiles,
+ MARKDOWN_FILENAME,
} from './helpers';
import type { SortedLanguageList, Stars, Star } from './types';
@@ -41,7 +43,16 @@ export async function main(): Promise {
const markdown: string = await generateMd(rendered);
- await pushNewFile(markdown);
+ await pushNewFiles([
+ {
+ filename: MARKDOWN_FILENAME,
+ data: markdown,
+ },
+ {
+ filename: 'data.json',
+ data: JSON.stringify(sortedByLanguages, null, 2),
+ },
+ ]);
}
export async function run(): Promise {
diff --git a/test/helpers.spec.ts b/test/helpers.spec.ts
index ffd5e7d..d1b35de 100644
--- a/test/helpers.spec.ts
+++ b/test/helpers.spec.ts
@@ -38,7 +38,7 @@ import {
apiGetStar,
paginate,
generateMd,
- pushNewFile,
+ pushNewFiles,
} from '../src/helpers';
test('wait should wait', async (t) => {
@@ -97,7 +97,7 @@ test('generateMd should create TOC', async (t) => {
});
test('should push', async (t) => {
- await pushNewFile('# title');
+ await pushNewFiles([{filename: "README.md", data: '# title'}]);
t.true(writeFile.calledWith('README.md', '# title'));
t.true(pull.called);
t.true(add.calledWith('README.md'));