diff --git a/CHANGELOG.md b/CHANGELOG.md
index e6e0b24..5a2db36 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
+## 1.0.16 (2021-01-16)
+
+* chore: moved helpers in own file ([29bcf41](https://github.com/simonecorsi/mawesome/commit/29bcf41))
+* fix: if tempalte fail should exit(1) ([ee824d1](https://github.com/simonecorsi/mawesome/commit/ee824d1))
+
+
+
## 1.0.15 (2021-01-16)
+* chore(release): v1.0.15 ([03e1973](https://github.com/simonecorsi/mawesome/commit/03e1973))
* fix: template cannot be loaded from ejs file ([78c0f37](https://github.com/simonecorsi/mawesome/commit/78c0f37))
diff --git a/index.js b/index.js
index 63dacb8..f005fa3 100644
--- a/index.js
+++ b/index.js
@@ -21318,7 +21318,7 @@ exports.default = new (class Git {
/***/ }),
-/***/ 6144:
+/***/ 3015:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
@@ -21356,31 +21356,38 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
var _a;
Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.run = exports.main = exports.generateMd = void 0;
-const fs_1 = __importDefault(__nccwpck_require__(5747));
+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;
const ejs_1 = __importDefault(__nccwpck_require__(8431));
+const core = __importStar(__nccwpck_require__(2186));
const remark_1 = __importDefault(__nccwpck_require__(2081));
const remark_toc_1 = __importDefault(__nccwpck_require__(5096));
-const core = __importStar(__nccwpck_require__(2186));
+const template_1 = __importDefault(__nccwpck_require__(3932));
const api_1 = __importDefault(__nccwpck_require__(8229));
const link_1 = __importDefault(__nccwpck_require__(9338));
const git_1 = __importDefault(__nccwpck_require__(6350));
-const template_1 = __importDefault(__nccwpck_require__(3932));
+const fs_1 = __importDefault(__nccwpck_require__(5747));
const fsp = fs_1.default.promises;
-const OUTPUT_FILENAME = core.getInput('output-filename') || 'README.md';
-const REPO_USERNAME = (_a = process.env.GITHUB_REPOSITORY) === null || _a === void 0 ? void 0 : _a.split('/')[0];
-const API_STARRED_URL = `${process.env.GITHUB_API_URL}/users/${REPO_USERNAME}/starred`;
-const renderer = (data, templateString = template_1.default) => __awaiter(void 0, void 0, void 0, function* () {
- try {
- return ejs_1.default.render(templateString, data);
- }
- catch (error) {
- core.error('#renderer');
- core.error(error);
- return '';
- }
-});
-const wait = (time = 200) => new Promise((resolve) => setTimeout(resolve, time));
+function wait(time = 200) {
+ return new Promise((resolve) => setTimeout(resolve, time));
+}
+exports.wait = wait;
+function isLastPage(links) {
+ return links.next === links.last;
+}
+exports.isLastPage = isLastPage;
+function renderer(data, templateString = template_1.default) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ return ejs_1.default.render(templateString, data);
+ }
+ catch (error) {
+ core.error('#renderer');
+ core.error(error);
+ process.exit(1);
+ }
+ });
+}
+exports.renderer = renderer;
function apiGetStar(url) {
return __awaiter(this, void 0, void 0, function* () {
const { headers, body } = yield api_1.default.get(url);
@@ -21390,9 +21397,23 @@ function apiGetStar(url) {
};
});
}
-function isLastPage(links) {
- return links.next === links.last;
+exports.apiGetStar = apiGetStar;
+exports.REPO_USERNAME = (_a = process.env.GITHUB_REPOSITORY) === null || _a === void 0 ? void 0 : _a.split('/')[0];
+exports.API_STARRED_URL = `${process.env.GITHUB_API_URL}/users/${exports.REPO_USERNAME}/starred`;
+let links = {
+ next: exports.API_STARRED_URL,
+ last: undefined,
+};
+function paginate() {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!isLastPage(links))
+ return null;
+ const r = yield apiGetStar(links.next);
+ links = r.links;
+ return r;
+ });
}
+exports.paginate = paginate;
function generateMd(data) {
return new Promise((resolve) => {
remark_1.default()
@@ -21408,19 +21429,68 @@ function generateMd(data) {
});
}
exports.generateMd = generateMd;
+exports.OUTPUT_FILENAME = core.getInput('output-filename') || 'README.md';
+function pushNewFile(markdown) {
+ return __awaiter(this, void 0, void 0, function* () {
+ yield fsp.writeFile(exports.OUTPUT_FILENAME, markdown);
+ 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 git_1.default.push();
+ });
+}
+exports.pushNewFile = pushNewFile;
+
+
+/***/ }),
+
+/***/ 6144:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.run = exports.main = void 0;
+const core = __importStar(__nccwpck_require__(2186));
+const helpers_1 = __nccwpck_require__(3015);
function main() {
return __awaiter(this, void 0, void 0, function* () {
- let links = {
- next: API_STARRED_URL,
- last: undefined,
- };
let results = [];
- do {
- const r = yield apiGetStar(links.next);
- links = r.links;
+ while (true) {
+ // sorry.
+ const r = yield helpers_1.paginate();
+ if (!r || r === null)
+ break;
results = results.concat(r.data);
- yield wait();
- } while (!isLastPage(links));
+ }
const sortedByLanguages = results.reduce((acc, val) => {
const language = val.language || 'generic';
if (!acc[language]) {
@@ -21431,16 +21501,13 @@ function main() {
}
return acc;
}, {});
- const rendered = yield renderer({
- username: REPO_USERNAME,
+ const rendered = yield helpers_1.renderer({
+ username: helpers_1.REPO_USERNAME,
stars: Object.entries(sortedByLanguages),
updatedAt: Date.now(),
});
- const markdown = yield generateMd(rendered);
- yield fsp.writeFile(OUTPUT_FILENAME, markdown);
- yield git_1.default.add(OUTPUT_FILENAME);
- yield git_1.default.commit(`chore(${OUTPUT_FILENAME}): updated ${OUTPUT_FILENAME}`);
- yield git_1.default.push();
+ const markdown = yield helpers_1.generateMd(rendered);
+ yield helpers_1.pushNewFile(markdown);
});
}
exports.main = main;
diff --git a/package.json b/package.json
index bb23966..ba96098 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mawesome",
- "version": "1.0.15",
+ "version": "1.0.16",
"description": "",
"main": "index.js",
"scripts": {