backend-manager 5.0.22 → 5.0.23

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.
@@ -14,3 +14,11 @@
14
14
  [debug] [2025-10-20T07:15:36.357Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
15
15
  [debug] [2025-10-20T07:15:36.358Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
16
16
  [debug] [2025-10-20T07:15:36.358Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
17
+ [debug] [2025-10-20T23:59:40.560Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
18
+ [debug] [2025-10-20T23:59:40.561Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
19
+ [debug] [2025-10-20T23:59:40.562Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
20
+ [debug] [2025-10-20T23:59:40.563Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
21
+ [debug] [2025-10-20T23:59:40.563Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
22
+ [debug] [2025-10-20T23:59:40.562Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
23
+ [debug] [2025-10-20T23:59:40.563Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
24
+ [debug] [2025-10-20T23:59:40.563Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backend-manager",
3
- "version": "5.0.22",
3
+ "version": "5.0.23",
4
4
  "description": "Quick tools for developing Firebase functions",
5
5
  "main": "src/manager/index.js",
6
6
  "bin": {
@@ -8,13 +8,9 @@ const path = require('path');
8
8
  const { Octokit } = require('@octokit/rest');
9
9
 
10
10
  const POST_TEMPLATE = jetpack.read(`${__dirname}/templates/post.html`);
11
- const IMAGE_TAG = `{%- include /master/helpers/blog-image.html name="{name}" alt="{alt}" -%}`;
12
- const IMAGE_PATH_SRC = `assets/_src/images/blog/posts/post-{id}/`;
13
- // const IMAGE_PATH_REG = `/assets/images/blog/posts/post-{id}/`;
14
- const AD_TAG = `{% include /master/modules/adunits/adsense-in-article.html index="{index}" %}`;
11
+ const IMAGE_PATH_SRC = `src/assets/images/blog/posts/post-{id}/`;
15
12
 
16
13
  const IMAGE_REGEX = /(?:!\[(.*?)\]\((.*?)\))/img;
17
- const LINK_REGEX = /(?:\[(.*?)\]\((.*?)\))/img;
18
14
 
19
15
  function Module() {
20
16
 
@@ -51,8 +47,8 @@ Module.prototype.main = function () {
51
47
  return reject(assistant.errorify(`Missing required parameter: title`, {code: 400}));
52
48
  } else if (!payload.data.payload.url) {
53
49
  return reject(assistant.errorify(`Missing required parameter: url`, {code: 400}));
54
- } else if (!payload.data.payload.excerpt) {
55
- return reject(assistant.errorify(`Missing required parameter: excerpt`, {code: 400}));
50
+ } else if (!payload.data.payload.description) {
51
+ return reject(assistant.errorify(`Missing required parameter: description`, {code: 400}));
56
52
  } else if (!payload.data.payload.headerImageURL) {
57
53
  return reject(assistant.errorify(`Missing required parameter: headerImageURL`, {code: 400}));
58
54
  } else if (!payload.data.payload.body) {
@@ -91,7 +87,7 @@ Module.prototype.main = function () {
91
87
  payload.data.payload.layout = payload.data.payload.layout || 'app/blog/post';
92
88
  payload.data.payload.date = moment(payload.data.payload.date || now).subtract(1, 'days').format('YYYY-MM-DD');
93
89
  payload.data.payload.id = payload.data.payload.id || Math.round(new Date(now).getTime() / 1000);
94
- payload.data.payload.path = `_posts/${moment(now).format('YYYY')}/${payload.data.payload.path || 'guest'}`;
90
+ payload.data.payload.path = `src/_posts/${moment(now).format('YYYY')}/${payload.data.payload.path || 'guest'}`;
95
91
  payload.data.payload.githubUser = payload.data.payload.githubUser || bemRepo.user;
96
92
  payload.data.payload.githubRepo = payload.data.payload.githubRepo || bemRepo.name;
97
93
 
@@ -107,14 +103,8 @@ Module.prototype.main = function () {
107
103
  formatClone(payload.data.payload),
108
104
  );
109
105
 
110
- // Insert ads
111
- const articleWithAds = insertAds(formattedContent, 6, 4000);
112
-
113
- // Log
114
- assistant.log(`main(): articleWithAds`, articleWithAds);
115
-
116
106
  // Upload post
117
- const uploadPost = await self.uploadPost(articleWithAds);
107
+ const uploadPost = await self.uploadPost(formattedContent);
118
108
 
119
109
  // Log
120
110
  assistant.log(`main(): uploadPost`, uploadPost);
@@ -139,19 +129,15 @@ Module.prototype.extractImages = function () {
139
129
  // Extract images
140
130
  const matches = payload.data.payload.body.matchAll(IMAGE_REGEX);
141
131
  const images = Array.from(matches).map(match => ({
142
- full: match[0] || '',
143
132
  src: match[2] || '',
144
133
  alt: match[1] || uuidv4(),
145
- replace: true,
146
134
  header: false,
147
135
  }));
148
136
 
149
137
  // Add heading image to beginning of images
150
138
  images.unshift({
151
- full: '',
152
139
  src: payload.data.payload.headerImageURL,
153
140
  alt: payload.data.payload.url,
154
- replace: false,
155
141
  header: true,
156
142
  });
157
143
 
@@ -202,18 +188,6 @@ Module.prototype.extractImages = function () {
202
188
  continue;
203
189
  }
204
190
  }
205
-
206
- // Create new image tag
207
- const tag = powertools.template(IMAGE_TAG, {name: download.filename, alt: image.alt});
208
-
209
- // Replace image in body
210
- if (image.replace) {
211
- payload.data.payload.body = payload.data.payload.body
212
- .replace(image.full, tag);
213
- }
214
-
215
- // Log
216
- assistant.log(`extractImages(): tag`, tag);
217
191
  }
218
192
 
219
193
  // Resolve
@@ -406,26 +380,4 @@ function hyphenate(s) {
406
380
  .toLowerCase();
407
381
  }
408
382
 
409
- function insertAds(article, paragraphsPerAd, minCharsBetweenAds) {
410
- const paragraphs = article.split('\n\n');
411
- const newParagraphs = [];
412
- let charCount = 0;
413
- let adCount = 0;
414
-
415
- for (let i = 0, total = paragraphs.length; i < total; i++) {
416
- const collection = paragraphs[i];
417
-
418
- charCount += collection.length;
419
-
420
- newParagraphs.push(collection);
421
-
422
- if (i >= paragraphsPerAd && charCount >= minCharsBetweenAds) {
423
- newParagraphs.push(powertools.template(AD_TAG, {index: adCount++}));
424
- charCount = 0;
425
- }
426
- }
427
-
428
- return newParagraphs.join('\n\n');
429
- }
430
-
431
383
  module.exports = Module;
@@ -1,16 +1,15 @@
1
1
  ---
2
2
  ### ALL PAGES ###
3
- layout: {layout}
3
+ layout: { layout }
4
4
 
5
5
  ### POST ONLY ###
6
6
  post:
7
- title: "{title}"
8
- excerpt: "{excerpt}"
9
- author: {author}
10
- id: {id}
11
- tags: {tags}
12
- categories: {categories}
13
- affiliate-search-term: {affiliate}
7
+ title: "{ title }"
8
+ description: "{ description }"
9
+ author: { author }
10
+ id: { id }
11
+ tags: { tags }
12
+ categories: { categories }
14
13
  ---
15
14
 
16
- {body}
15
+ { body }