@redpanda-data/docs-extensions-and-macros 5.7.0 → 5.7.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.
- package/extensions/add-faq-structured-data.js +3 -0
- package/extensions/add-git-dates.js +3 -0
- package/extensions/add-global-attributes.js +2 -0
- package/extensions/add-llms-directive.js +3 -0
- package/extensions/add-markdown-urls-to-sitemap.js +3 -0
- package/extensions/add-pages-to-root.js +2 -0
- package/extensions/aggregate-terms.js +2 -0
- package/extensions/algolia-indexer/index.js +2 -0
- package/extensions/archive-attachments.js +2 -0
- package/extensions/collect-bloblang-samples.js +2 -0
- package/extensions/compute-end-of-life.js +3 -0
- package/extensions/conditional-home-redirect.js +3 -0
- package/extensions/convert-llms-to-txt.js +3 -0
- package/extensions/convert-to-markdown.js +2 -0
- package/extensions/find-related-docs.js +3 -0
- package/extensions/find-related-labs.js +3 -0
- package/extensions/generate-fields-only-pages.js +3 -0
- package/extensions/generate-index-data.js +3 -0
- package/extensions/generate-rp-connect-categories.js +3 -0
- package/extensions/generate-rp-connect-info.js +3 -0
- package/extensions/git-full-clone.js +3 -0
- package/extensions/modify-connect-tag-playbook.js +3 -0
- package/extensions/process-context-switcher.js +3 -0
- package/extensions/produce-redirects.js +3 -0
- package/extensions/replace-attributes-in-attachments.js +3 -0
- package/extensions/resolve-xrefs-in-attachments.js +3 -0
- package/extensions/set-available-attachment-versions.js +3 -0
- package/extensions/unified-navigation.js +3 -0
- package/extensions/unlisted-pages.js +3 -0
- package/extensions/unpublish-pages.js +3 -0
- package/extensions/util/raise-listener-limit.js +28 -0
- package/extensions/validate-attributes.js +3 -0
- package/extensions/version-fetcher/set-latest-version.js +3 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Generates FAQPage JSON-LD structured data for SEO.
|
|
5
7
|
*
|
|
@@ -147,6 +149,7 @@ function generateFaqJsonLd(faqs, baseUrl) {
|
|
|
147
149
|
}
|
|
148
150
|
|
|
149
151
|
module.exports.register = function () {
|
|
152
|
+
raiseListenerLimit(this)
|
|
150
153
|
const logger = this.getLogger('add-faq-structured-data-extension')
|
|
151
154
|
let playbook
|
|
152
155
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Adds Git commit dates to pages as attributes.
|
|
5
7
|
*
|
|
@@ -179,6 +181,7 @@ async function getTreeFiles (git, gitdir, oid, prefix, cache, treeCache) {
|
|
|
179
181
|
}
|
|
180
182
|
|
|
181
183
|
module.exports.register = function () {
|
|
184
|
+
raiseListenerLimit(this)
|
|
182
185
|
const logger = this.getLogger('add-git-dates-extension')
|
|
183
186
|
const context = this
|
|
184
187
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
1
2
|
/* Example use in the playbook
|
|
2
3
|
* antora:
|
|
3
4
|
extensions:
|
|
@@ -12,6 +13,7 @@ const _ = require('lodash');
|
|
|
12
13
|
const ATTRIBUTES_PATH = 'modules/ROOT/partials/'; // Default path within the 'shared' component
|
|
13
14
|
|
|
14
15
|
module.exports.register = function ({ config }) {
|
|
16
|
+
raiseListenerLimit(this)
|
|
15
17
|
const logger = this.getLogger('global-attributes-extension');
|
|
16
18
|
|
|
17
19
|
/**
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Adds llms.txt directive to HTML pages for agent-friendly documentation.
|
|
5
7
|
*
|
|
@@ -16,6 +18,7 @@
|
|
|
16
18
|
const { formatLlmsDirective } = require('../extension-utils/llms-utils')
|
|
17
19
|
|
|
18
20
|
module.exports.register = function () {
|
|
21
|
+
raiseListenerLimit(this)
|
|
19
22
|
const logger = this.getLogger('add-llms-directive-extension')
|
|
20
23
|
|
|
21
24
|
this.on('pagesComposed', ({ contentCatalog }) => {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Adds markdown URL entries to sitemap.xml files for AI-friendly documentation.
|
|
5
7
|
*
|
|
@@ -21,6 +23,7 @@ const { parseStringPromise } = require('xml2js')
|
|
|
21
23
|
const { toMarkdownUrl } = require('../extension-utils/url-utils')
|
|
22
24
|
|
|
23
25
|
module.exports.register = function () {
|
|
26
|
+
raiseListenerLimit(this)
|
|
24
27
|
const logger = this.getLogger('add-markdown-urls-to-sitemap-extension')
|
|
25
28
|
|
|
26
29
|
this.on('beforePublish', async ({ siteCatalog }) => {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
1
2
|
module.exports.register = function ({ config }) {
|
|
3
|
+
raiseListenerLimit(this)
|
|
2
4
|
this.on('beforePublish', ({ siteCatalog, contentCatalog }) => {
|
|
3
5
|
const logger = this.getLogger('add-pages-to-site-root');
|
|
4
6
|
if (!config || !config.files || !config.files.length) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
1
2
|
/* Example use in the playbook
|
|
2
3
|
* antora:
|
|
3
4
|
extensions:
|
|
@@ -10,6 +11,7 @@ const path = require('path');
|
|
|
10
11
|
const TERMS_PATH = 'modules/terms/partials/'; // Default path within the 'shared' component
|
|
11
12
|
|
|
12
13
|
module.exports.register = function ({ config }) {
|
|
14
|
+
raiseListenerLimit(this)
|
|
13
15
|
const logger = this.getLogger('term-aggregation-extension');
|
|
14
16
|
|
|
15
17
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const generateIndex = require('./generate-index')
|
|
4
|
+
const { raiseListenerLimit } = require('../util/raise-listener-limit')
|
|
4
5
|
const algoliasearch = require('algoliasearch')
|
|
5
6
|
const http = require('http')
|
|
6
7
|
const https = require('https')
|
|
@@ -21,6 +22,7 @@ function register ({
|
|
|
21
22
|
...unknownOptions
|
|
22
23
|
}
|
|
23
24
|
}) {
|
|
25
|
+
raiseListenerLimit(this)
|
|
24
26
|
const logger = this.getLogger('algolia-indexer-extension')
|
|
25
27
|
|
|
26
28
|
// Validate required environment variables
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
const fs = require("fs");
|
|
@@ -35,6 +36,7 @@ async function createTarInMemory(tempDir) {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
module.exports.register = function ({ config }) {
|
|
39
|
+
raiseListenerLimit(this)
|
|
38
40
|
const logger = this.getLogger("archive-attachments-extension");
|
|
39
41
|
const archives = config.data?.archives || [];
|
|
40
42
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
1
2
|
const yaml = require('js-yaml');
|
|
2
3
|
|
|
3
4
|
module.exports.register = function () {
|
|
5
|
+
raiseListenerLimit(this)
|
|
4
6
|
const logger = this.getLogger('collect-bloblang-samples');
|
|
5
7
|
|
|
6
8
|
this.on('contentClassified', ({ contentCatalog }) => {
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const calculateEOL = require('./util/calculate-eol.js');
|
|
4
6
|
|
|
5
7
|
module.exports.register = function ({ config }) {
|
|
8
|
+
raiseListenerLimit(this)
|
|
6
9
|
this.on('contentClassified', ({ contentCatalog }) => {
|
|
7
10
|
const logger = this.getLogger("compute-end-of-life-extension");
|
|
8
11
|
|
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
|
|
9
9
|
'use strict'
|
|
10
10
|
|
|
11
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
12
|
+
|
|
11
13
|
module.exports.register = function () {
|
|
14
|
+
raiseListenerLimit(this)
|
|
12
15
|
const logger = this.getLogger('conditional-home-redirect')
|
|
13
16
|
let shouldRedirect = false
|
|
14
17
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const { toMarkdownUrl } = require('../extension-utils/url-utils');
|
|
4
6
|
const { stripMarkdownMetadata } = require('../extension-utils/llms-utils');
|
|
5
7
|
|
|
@@ -20,6 +22,7 @@ const { stripMarkdownMetadata } = require('../extension-utils/llms-utils');
|
|
|
20
22
|
* Must run after convert-to-markdown extension to access page.markdownContents.
|
|
21
23
|
*/
|
|
22
24
|
module.exports.register = function () {
|
|
25
|
+
raiseListenerLimit(this)
|
|
23
26
|
const logger = this.getLogger('convert-llms-to-txt-extension');
|
|
24
27
|
let siteUrl = '';
|
|
25
28
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
1
2
|
const path = require('path')
|
|
2
3
|
const os = require('os')
|
|
3
4
|
const yaml = require('js-yaml')
|
|
@@ -187,6 +188,7 @@ function generateFrontmatter(page) {
|
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
module.exports.register = function () {
|
|
191
|
+
raiseListenerLimit(this)
|
|
190
192
|
const logger = this.getLogger('convert-to-markdown-extension')
|
|
191
193
|
let playbook
|
|
192
194
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
module.exports.register = function ({ config }) {
|
|
6
|
+
raiseListenerLimit(this)
|
|
4
7
|
const logger = this.getLogger('related-docs-extension');
|
|
5
8
|
|
|
6
9
|
this.on('documentsConverted', async ({ contentCatalog, siteCatalog }) => {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
module.exports.register = function ({ config }) {
|
|
6
|
+
raiseListenerLimit(this)
|
|
4
7
|
const logger = this.getLogger('related-labs-extension');
|
|
5
8
|
|
|
6
9
|
this.on('documentsConverted', async ({ contentCatalog, siteCatalog }) => {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const fs = require('fs')
|
|
4
6
|
const path = require('path')
|
|
5
7
|
const os = require('os')
|
|
@@ -121,6 +123,7 @@ const DEFAULTS = {
|
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
module.exports.register = function ({ config }) {
|
|
126
|
+
raiseListenerLimit(this)
|
|
124
127
|
const logger = this.getLogger('generate-fields-only-pages-extension')
|
|
125
128
|
|
|
126
129
|
// Merge config with defaults
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
2
4
|
const _ = require('lodash');
|
|
3
5
|
|
|
4
6
|
module.exports.register = function ({ config }) {
|
|
7
|
+
raiseListenerLimit(this)
|
|
5
8
|
const logger = this.getLogger('generate-index-data-extension');
|
|
6
9
|
|
|
7
10
|
this.on('documentsConverted', async ({ contentCatalog, siteCatalog }) => {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Redpanda Connect Category Aggregation Extension
|
|
5
7
|
*
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
* Ensure generate-rp-connect-info is listed BEFORE this extension in your playbook.
|
|
12
14
|
*/
|
|
13
15
|
module.exports.register = function ({ config }) {
|
|
16
|
+
raiseListenerLimit(this)
|
|
14
17
|
const logger = this.getLogger('redpanda-connect-category-aggregation-extension')
|
|
15
18
|
|
|
16
19
|
this.on('contentClassified', ({ contentCatalog }) => {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
+
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
2
4
|
const fs = require('fs')
|
|
3
5
|
const path = require('path')
|
|
4
6
|
const Papa = require('papaparse')
|
|
@@ -11,6 +13,7 @@ const DEFAULTS = {
|
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
module.exports.register = function ({ config }) {
|
|
16
|
+
raiseListenerLimit(this)
|
|
14
17
|
const logger = this.getLogger('redpanda-connect-info-extension')
|
|
15
18
|
const { getAntoraValue } = require('../cli-utils/antora-utils')
|
|
16
19
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const { execSync } = require('child_process')
|
|
4
6
|
const fs = require('fs')
|
|
5
7
|
const path = require('path')
|
|
@@ -33,6 +35,7 @@ const { getGitHubToken } = require('../cli-utils/github-token')
|
|
|
33
35
|
*/
|
|
34
36
|
|
|
35
37
|
module.exports.register = function ({ config, playbook }) {
|
|
38
|
+
raiseListenerLimit(this)
|
|
36
39
|
const logger = this.getLogger('git-full-clone-extension')
|
|
37
40
|
|
|
38
41
|
logger.info('✓ git-full-clone extension loaded')
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const GetLatestConnectTag = require('./version-fetcher/get-latest-connect');
|
|
4
6
|
|
|
5
7
|
module.exports.register = function ({ config }) {
|
|
8
|
+
raiseListenerLimit(this)
|
|
6
9
|
const logger = this.getLogger('modify-connect-tag-playbook-extension');
|
|
7
10
|
|
|
8
11
|
this.on('contextStarted', async ({ playbook }) => {
|
|
@@ -17,7 +17,10 @@
|
|
|
17
17
|
|
|
18
18
|
'use strict';
|
|
19
19
|
|
|
20
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
21
|
+
|
|
20
22
|
module.exports.register = function ({ config }) {
|
|
23
|
+
raiseListenerLimit(this)
|
|
21
24
|
const logger = this.getLogger('context-switcher-extension');
|
|
22
25
|
|
|
23
26
|
this.on('documentsConverted', async ({ contentCatalog }) => {
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const File = require('vinyl')
|
|
4
6
|
const { posix: path } = require('path')
|
|
5
7
|
|
|
6
8
|
const ENCODED_SPACE_RX = /%20/g
|
|
7
9
|
|
|
8
10
|
module.exports.register = function () {
|
|
11
|
+
raiseListenerLimit(this)
|
|
9
12
|
this.once('contextStarted', () => {
|
|
10
13
|
const { publishFiles: produceRedirectsDelegate } = this.getFunctions()
|
|
11
14
|
this.replaceFunctions({
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const semver = require('semver');
|
|
4
6
|
const micromatch = require('micromatch');
|
|
5
7
|
const formatVersion = require('./util/format-version.js');
|
|
@@ -24,6 +26,7 @@ const sanitize = require('./util/sanitize-attributes.js');
|
|
|
24
26
|
* - ...
|
|
25
27
|
*/
|
|
26
28
|
module.exports.register = function ({ config }) {
|
|
29
|
+
raiseListenerLimit(this)
|
|
27
30
|
const logger = this.getLogger('replace-attributes-extension');
|
|
28
31
|
const replacements = config.data?.replacements || [];
|
|
29
32
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Resolves AsciiDoc xrefs in JSON attachment files to HTML links.
|
|
5
7
|
*
|
|
@@ -19,6 +21,7 @@
|
|
|
19
21
|
*/
|
|
20
22
|
|
|
21
23
|
module.exports.register = function () {
|
|
24
|
+
raiseListenerLimit(this)
|
|
22
25
|
const logger = this.getLogger('resolve-xrefs-in-attachments')
|
|
23
26
|
|
|
24
27
|
this.on('contentClassified', ({ contentCatalog }) => {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const semver = require('semver')
|
|
4
6
|
|
|
5
7
|
/**
|
|
@@ -34,6 +36,7 @@ const PROPERTIES_JSON_RX = /^redpanda-properties-(v\d+\.\d+\.\d+(?:-[\w.]+)?)\.j
|
|
|
34
36
|
const CONNECT_JSON_RX = /^connect-(\d+\.\d+\.\d+(?:-[\w.]+)?)\.json$/
|
|
35
37
|
|
|
36
38
|
module.exports.register = function () {
|
|
39
|
+
raiseListenerLimit(this)
|
|
37
40
|
const logger = this.getLogger('set-available-attachment-versions-extension')
|
|
38
41
|
|
|
39
42
|
this.once('contentClassified', ({ contentCatalog }) => {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
const yaml = require('js-yaml')
|
|
4
6
|
|
|
5
7
|
/**
|
|
@@ -35,6 +37,7 @@ const yaml = require('js-yaml')
|
|
|
35
37
|
*/
|
|
36
38
|
|
|
37
39
|
module.exports.register = function () {
|
|
40
|
+
raiseListenerLimit(this)
|
|
38
41
|
const logger = this.getLogger('unified-navigation-extension')
|
|
39
42
|
|
|
40
43
|
this.on('navigationBuilt', ({ contentCatalog }) => {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
module.exports.register = function ({ config }) {
|
|
6
|
+
raiseListenerLimit(this)
|
|
4
7
|
const { addToNavigation, unlistedPagesHeading = 'Unlisted Pages' } = config;
|
|
5
8
|
const logger = this.getLogger('unlisted-pages-extension');
|
|
6
9
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
module.exports.register = function () {
|
|
6
|
+
raiseListenerLimit(this)
|
|
4
7
|
const logger = this.getLogger('unpublish-pages-extension');
|
|
5
8
|
|
|
6
9
|
this.on('documentsConverted', ({ siteCatalog, contentCatalog }) => {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
// Antora's GeneratorContext is one shared EventEmitter for every registered
|
|
4
|
+
// extension, and Redpanda playbooks register enough of them that per-event
|
|
5
|
+
// listener counts legitimately exceed Node's default threshold of 10. Node
|
|
6
|
+
// then prints MaxListenersExceededWarning ("Possible EventEmitter memory
|
|
7
|
+
// leak detected. 11 contentClassified listeners added to [GeneratorContext]")
|
|
8
|
+
// in build logs even though each extension adds exactly one listener per
|
|
9
|
+
// event per build.
|
|
10
|
+
//
|
|
11
|
+
// Every extension in this package raises the limit before subscribing, so
|
|
12
|
+
// the suppression holds no matter which subset of extensions a playbook
|
|
13
|
+
// registers or in what order. The cap is bounded rather than unlimited (0)
|
|
14
|
+
// to keep Node's leak detection meaningful for pathological cases.
|
|
15
|
+
const GENERATOR_CONTEXT_MAX_LISTENERS = 64
|
|
16
|
+
|
|
17
|
+
function raiseListenerLimit (context) {
|
|
18
|
+
if (
|
|
19
|
+
typeof context.getMaxListeners === 'function' &&
|
|
20
|
+
typeof context.setMaxListeners === 'function' &&
|
|
21
|
+
context.getMaxListeners() !== 0 &&
|
|
22
|
+
context.getMaxListeners() < GENERATOR_CONTEXT_MAX_LISTENERS
|
|
23
|
+
) {
|
|
24
|
+
context.setMaxListeners(GENERATOR_CONTEXT_MAX_LISTENERS)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = { raiseListenerLimit, GENERATOR_CONTEXT_MAX_LISTENERS }
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
+
const { raiseListenerLimit } = require('./util/raise-listener-limit')
|
|
10
|
+
|
|
9
11
|
module.exports.register = function ({ config }) {
|
|
12
|
+
raiseListenerLimit(this)
|
|
10
13
|
const logger = this.getLogger('attribute-validation-extension');
|
|
11
14
|
|
|
12
15
|
this.on('documentsConverted', async ({ contentCatalog, siteCatalog }) => {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const { raiseListenerLimit } = require('../util/raise-listener-limit')
|
|
4
|
+
|
|
3
5
|
module.exports.register = function ({ config }) {
|
|
6
|
+
raiseListenerLimit(this)
|
|
4
7
|
const GetLatestRedpandaVersion = require('./get-latest-redpanda-version');
|
|
5
8
|
const GetLatestConsoleVersion = require('./get-latest-console-version');
|
|
6
9
|
const GetLatestDockerTag = require('./fetch-latest-docker-tag');
|