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'));