From eb94877ffaf09a61e9b50bbbb11ff5ae38fb09da Mon Sep 17 00:00:00 2001 From: zefie Date: Sun, 27 Aug 2023 02:37:11 -0400 Subject: [PATCH] Fix pagebuilder cannot create more than 2 pages Fix pagebuilder prototype breaks usenet Add default limit of 4 pages (configurable) --- zefie_wtvp_minisrv/app.js | 17 + .../ServiceVault/wtv-author/doc-info.js | 98 +- .../ServiceVault/wtv-author/documents.js | 266 +- .../ServiceVault/wtv-author/edit-title.js | 2 +- .../includes/ServiceVault/wtv-author/new.js | 18 +- .../wtv-author/samples_en-US/index.html | 58 +- .../ServiceVault/wtv-author/show-blocks.js | 2 +- .../ServiceVault/wtv-author/styles.js | 5444 +++++++++-------- .../ServiceVault/wtv-author/templates.js | 499 +- .../includes/classes/WTVAuthor.js | 71 +- zefie_wtvp_minisrv/includes/config.json | 1 + zefie_wtvp_minisrv/package-lock.json | 1113 ++++ zefie_wtvp_minisrv/package.json | 3 + 13 files changed, 4517 insertions(+), 3075 deletions(-) diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index 75480d4e..657ce7a9 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -168,6 +168,22 @@ if (!String.prototype.reverse) { } } +// for some reason making this a prototype override breaks newsie + +/* +if (!Array.prototype.movekey) { + Array.prototype.movekey = function (from, to) { + this.splice(to, 0, this.splice(from, 1)[0]); + return this; + }; +} +*/ + +function moveArrayKey(array, from, to) { + array.splice(to, 0, array.splice(from, 1)[0]); + return array; +}; + // add .getCaseInsensitiveKey() to all JavaScript Objects in this application { // works for service vault scripts too. @@ -250,6 +266,7 @@ var runScriptInVM = function (script_data, user_contextObj = {}, privileged = fa "sendToClient": sendToClient, "service_vaults": service_vaults, "service_deps": service_deps, + "moveArrayKey": moveArrayKey, "cwd": __dirname, // current working directory // Our prototype overrides diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/doc-info.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/doc-info.js index d30da36a..3a2f54ab 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/doc-info.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/doc-info.js @@ -42,52 +42,62 @@ Content-Type: text/html` data = ` - -Page Settings + + Page Settings - - - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Index
-
-
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Index +
+
+
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- -Page Builder index + + Page Builder index - - - - - - - - - - - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Create
-
-
  -
- - - -
-
Scrapbook
-
-
  -
- - - -
-
Clean up
-
-
  -
- - - -
-
Examples
-
-
  -
- - - -
-
Archive
-
-
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + + + + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Create +
+
+
  +
+ + + +
+ + + +
+ Scrapbook +
+
+
  +
+ + + +
+ + + +
+ Clean up +
+
+
  +
+ + + +
+ + + +
+ Examples +
+
+
  +
+ + + +
+ + + +
+ Archive +
+
+
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - -
- - - - - - -
-
-
- Page Builder index -
- Choose a document to change or view it -
-
- + + + + + +
+ + + + + + +
+ + +
+
+ + Page Builder index + +
+ Choose a document to change or view it +
+
+ ` for (let i = 0; i < numofpages; i++) { data += `
` @@ -163,14 +189,20 @@ data += `
` +} +if (minisrv_config.services["wtv-author"].max_pages) { + data += ` +
+

A maximum of ${minisrv_config.services["wtv-author"].max_pages} pages can be created, regardless of publish status. +

` + } data += ` -
- + `; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/edit-title.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/edit-title.js index 58228957..b83f6102 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/edit-title.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/edit-title.js @@ -34,7 +34,7 @@ if (request_headers.query.publishing == "true") { - + + + + + + +
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/new.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/new.js index 18f0106a..6ef23ed6 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/new.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/new.js @@ -1,9 +1,21 @@ var minisrv_service_file = true; +var create = true; +var pagenums = session_data.pagestore.listPages().length; +if (minisrv_config.services["wtv-author"].max_pages) { + if (pagenums + 1 > minisrv_config.services["wtv-author"].max_pages) { + create = false; + } +} +if (create) { + var pagename = session_data.pagestore.createPage(request_headers.query.styleName.replace(' ', '_')); -var pagename = session_data.pagestore.createPage(request_headers.query.styleName.replace(' ', '_')); - -headers = `300 OK + headers = `300 OK Connection: Keep-Alive Content-Type: text/html wtv-expire-all: wtv-author:/documents Location: wtv-author:/show-blocks?docName=${pagename}` +} else { + var err = wtvshared.doErrorPage(500, "You are not allowed to create more than "+minisrv_config.services["wtv-author"].max_pages+" pages."); + headers = err[0]; + data = err[1]; +} \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/samples_en-US/index.html b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/samples_en-US/index.html index d67a9eee..1942c5f8 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/samples_en-US/index.html +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/samples_en-US/index.html @@ -7,8 +7,62 @@ AppName = window.navigator.appName; if (AppName.indexOf("WebTV") >= 0 ) gIsWebTV = true; -Sammy M. Surfer +Examples + + + + + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Index +
+
+
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
+
-Pages of Sammy M. Surfer +Example Pages:
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/show-blocks.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/show-blocks.js index e4fef001..d79a1a39 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/show-blocks.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/show-blocks.js @@ -83,7 +83,7 @@ cellspacing=0 cellpadding=0>
- + + + + + + - + - + - - + + - + - + -
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/styles.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/styles.js index 2e0568bb..dc10fe51 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/styles.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/styles.js @@ -12,249 +12,266 @@ if (styleName) { case "1": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
2 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
- Your current style is: ${styleName} -
-
- - - +
+
+ +
+
+ + 2 of 6 + + + + +
+ +
+
+
+
+ You can change the style at any time without losing your text or images. +
+
+ Your current style is: ${styleName} + +
+
+ + + - - - - - - -
- - -Blue -
-
-
- -
-
-
- - - + + + + + + +
+ + Blue
+
+
+ +
+
+ +
+ + + +
+
+ + + - - - - - - -
- - -Green -
-
-
- -
-
-
- - - + + + + + + +
+ + Green
+
+
+ +
+
+ +
+ + + +
+
+ + + - - - - - - -
- - -Red -
-
-
- -
-
-
- - - + + + + + + +
+ + Red
+
+
+ +
+
+ +
+ + + +
+
+ + + - - - - - - -
- - -Tan -
-
-
- -
-
-
- - - + + + + + + +
+ + Tan
+
+
+ +
+
+ +
+ + + +
+
+ + + - - - - - - -
- - -Grey -
-
-
- -
-
-
- - - + + + + + + +
+ + Grey
+
+
+ +
+
+ +
+ + + +
+
+ + + - - - - - - -
- - -Rivets -
-
-
- -
-
-
+&blocksPerPage=0" name="Rivets +"> + + Rivets
+
+
+ +
+
+ +
+ + + +
+ + ` @@ -263,249 +280,266 @@ Rivets case "2": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
3 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
- Your current style is: ${styleName} -
-
- - - +
+
+ +
+
+ + 3 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + Your current style is: ${styleName} + + + + + + + + - - - - - - -
- - -Football -
-
-
- -
-
- - - - - + + + + + + +
+ + Football
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Baseball -
-
-
- -
-
- - - - - + + + + + + +
+ + Baseball
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Christmas -
-
-
- -
-
- - - - - - + + + + + + +
+ + Christmas
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -Channukah -
-
-
- -
-
- - - - - + + + + + + +
+ + Channukah
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Easter -
-
-
- -
-
- - - - - + + + + + + +
+ + Easter
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Halloween -
-
-
- -
-
- - +&blocksPerPage=0" name="Halloween +"> + + Halloween
+
+
+ +
+ + + + + + + + + + + + + + + + ` @@ -514,249 +548,266 @@ Halloween case "3": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
4 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
- Your current style is: ${styleName} -
-
- - - +
+
+ +
+
+ + 4 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + Your current style is: ${styleName} + + + + + + + + - - - - - - -
- - -Democratic -
-
-
- -
-
- - - - - + + + + + + +
+ + Democratic
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Republican -
-
-
- -
-
- - - - - + + + + + + +
+ + Republican
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Flowers -
-
-
- -
-
- - - - - - + + + + + + +
+ + Flowers
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -It's a Girl -
-
-
- -
-
- - - - - + + + + + + +
+ + It's a Girl
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -It's a Boy -
-
-
- -
-
- - - - - + + + + + + +
+ + It's a Boy
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Wedding -
-
-
- -
-
- - +&blocksPerPage=0" name="Wedding +"> + + Wedding
+
+
+ +
+ + + + + + + + + + + + + + + + ` @@ -765,249 +816,266 @@ Wedding case "4": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
5 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
- Your current style is: ${styleName} -
-
- - - +
+
+ +
+
+ + 5 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + Your current style is: ${styleName} + + + + + + + + - - - - - - -
- - -New Wave -
-
-
- -
-
- - - - - + + + + + + +
+ + New Wave
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Eyeballs -
-
-
- -
-
- - - - - + + + + + + +
+ + Eyeballs
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -American -
-
-
- -
-
- - - - - - + + + + + + +
+ + American
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -South Beach -
-
-
- -
-
- - - - - + + + + + + +
+ + South Beach
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Paisley -
-
-
- -
-
- - - - - + + + + + + +
+ + Paisley
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Green Paper -
-
-
- -
-
- - +&blocksPerPage=0" name="Green Paper +"> + + Green Paper
+
+
+ +
+ + + + + + + + + + + + + + + + ` @@ -1016,164 +1084,179 @@ Green Paper case "5": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
6 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
- Your current style is: ${styleName} -
-
- - - +
+
+ +
+
+ + 6 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + Your current style is: ${styleName} + + + + + + + + - - - - - - -
- - -Water -
-
-
- -
-
- - - - - + + + + + + +
+ + Water
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Marble -
-
-
- -
-
- - - - - - - - - - - -
- - -Finance
-
-
- -
-
- - +&blocksPerPage=0" name="Marble +"> + + Marble
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Finance
+
+
+ +
+
+ +
+ + + +
+ + ` @@ -1182,248 +1265,265 @@ Finance
default: data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
1 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
- Your current style is: ${styleName} -
-
- - -
+
+
+ + 1 of 1 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + Your current style is: ${styleName} + + + + + + + + - - - - - - -
- - -Blue Sands -
-
-
- -
-
- - - - - - - - - - - -
- - -Ocean -
-
-
- -
-
- - - - - + + + + + + +
+ + Blue Sands
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Space -
-
-
- -
-
- - - - - - - - - - - - -
- - -Ringbinder -
-
-
- -
-
- - - - - - - - - - - -
- - -Stone -
-
-
- -
-
- - - - - + + + + + + +
+ + Space
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Cats -
-
-
- -
-
- - +&blocksPerPage=0" name="Cats +"> + + Cats
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Blue
+
+
+ +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ + Red
+
+
+ +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ + Republican
+
+
+ +
+
+ +
+ + + +
+ + `; @@ -1434,494 +1534,525 @@ break; case "1": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
2 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - - +
+
+ +
+
+ + 2 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + + + + + - - - - - - -
- - -Blue -
-
-
- -
-
- - - - - + + + + + + +
+ + Blue
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Green -
-
-
- -
-
- - - - - + + + + + + +
+ + Green
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Red -
-
-
- -
-
- - - - - - + + + + + + +
+ + Red
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -Tan -
-
-
- -
-
- - - - - + + + + + + +
+ + Tan
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Grey -
-
-
- -
-
- - - - - + + + + + + +
+ + Grey
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Rivets -
-
-
- -
-
- - +&blocksPerPage=0" name="Rivets +"> + + Rivets
+
+
+ +
+ + + + + + + + + + + + + + + + - -` +` break; case "2": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
3 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - - +
+
+ +
+
+ + 3 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + + + + + - - - - - - -
- - -Football -
-
-
- -
-
- - - - - + + + + + + +
+ + Football
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Baseball -
-
-
- -
-
- - - - - + + + + + + +
+ + Baseball
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Christmas -
-
-
- -
-
- - - - - - + + + + + + +
+ + Christmas
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -Channukah -
-
-
- -
-
- - - - - + + + + + + +
+ + Channukah
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Easter -
-
-
- -
-
- - - - - + + + + + + +
+ + Easter
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Halloween -
-
-
- -
-
- - +&blocksPerPage=0" name="Halloween +"> + + Halloween
+
+
+ +
+ + + + + + + + + + + + + + + + ` @@ -1930,246 +2061,262 @@ Halloween case "3": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
4 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - - +
+
+ +
+
+ + 4 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + + + + + - - - - - - -
- - -Democratic -
-
-
- -
-
- - - - - + + + + + + +
+ + Democratic
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Republican -
-
-
- -
-
- - - - - + + + + + + +
+ + Republican
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Flowers -
-
-
- -
-
- - - - - - + + + + + + +
+ + Flowers
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -It's a Girl -
-
-
- -
-
- - - - - + + + + + + +
+ + It's a Girl
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -It's a Boy -
-
-
- -
-
- - - - - + + + + + + +
+ + It's a Boy
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Wedding -
-
-
- -
-
- - +&blocksPerPage=0" name="Wedding +"> + + Wedding
+
+
+ +
+ + + + + + + + + + + + + + + + ` @@ -2178,246 +2325,262 @@ Wedding case "4": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
5 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - - +
+
+ +
+
+ + 5 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + + + + + - - - - - - -
- - -New Wave -
-
-
- -
-
- - - - - + + + + + + +
+ + New Wave
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Eyeballs -
-
-
- -
-
- - - - - + + + + + + +
+ + Eyeballs
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -American -
-
-
- -
-
- - - - - - + + + + + + +
+ + American
+
+
+ +
+
+ +
+ + + +
+ + + + + + - - - - - - -
- - -South Beach -
-
-
- -
-
- - - - - + + + + + + +
+ + South Beach
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Paisley -
-
-
- -
-
- - - - - + + + + + + +
+ + Paisley
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Green Paper -
-
-
- -
-
- - +&blocksPerPage=0" name="Green Paper +"> + + Green Paper
+
+
+ +
+ + + + + + + + + + + + + + + + ` @@ -2426,408 +2589,437 @@ Green Paper case "5": data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
6 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - - +
+
+ +
+
+ + 6 of 6 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + + + + + - - - - - - -
- - -Water -
-
-
- -
-
- - - - - + + + + + + +
+ + Water
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Marble -
-
-
- -
-
- - - - - - - - - - - -
- - -Finance
-
-
- -
-
- - +&blocksPerPage=0" name="Marble +"> + + Marble
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Finance
+
+
+ +
+
+ +
+ + + +
+ + - -` +` break; default: data = ` - -Select a page style + + Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - + + + +
-
- Choose a page style - - - - - - - -
-
-
-
1 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - -
+
+
+ + 1 of 1 + + + + +
+ +
+
+ + + + + You can change the style at any time without losing your text or images. + + + + + + + + + - - - - - - -
- - -Blue Sands -
-
-
- -
-
- - - - - - - - - - - -
- - -Ocean -
-
-
- -
-
- - - - - + + + + + + +
+ + Blue Sands
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Space -
-
-
- -
-
- - - - - - - - - - - - -
- - -Ringbinder -
-
-
- -
-
- - - - - - - - - - - -
- - -Stone -
-
-
- -
-
- - - - - + + + + + + +
+ + Space
+
+
+ +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ + Space
+
+
+ +
+
+ +
+ + + +
+ + + + + + + + + + + + +
+ + Blue
+
+
+ +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ + Red
+
+
+ +
+
+ +
+ + + +
+ + + + + - - - - - - -
- - -Cats -
-
-
- -
-
- - +&blocksPerPage=0" name="Cats +"> + + Cats
+
+
+ +
+ + + + + + + + + + + + + + + + ` break; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/templates.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/templates.js index 0761f3ac..5580573d 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/templates.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-author/templates.js @@ -1,5 +1,13 @@ var minisrv_service_file = true; +var create = true; +var pagenums = session_data.pagestore.listPages().length; +if (minisrv_config.services["wtv-author"].max_pages) { + if (pagenums + 1 > minisrv_config.services["wtv-author"].max_pages) { + create = false; + } +} +if (create) { headers = `200 OK Connection: Keep-Alive Content-Type: text/html` @@ -10,241 +18,264 @@ data = ` Select a page style - - - - - - - - -
- -  - - - -
- - -
  -
  -
- - - -
-
Help
-
-
  -
-   -
+ + + + + + + + + + + +
+ +   + + + +
+ + +
  +
  +
+ + + +
+ + + +
+ Index +
+
+
  +
+ + + +
+ + + +
+ Help +
+
+
  +
+ +   +
- - - - - - - - - - - - - - - - -
-
- Choose a page style - - - - - - - -
-
-
-
1 of 6 -
-
-
-
-
You can change the style at any time without losing your text or images. - -
-
-
- - - - - - - - - -
- - -Blue Sands -
-
-
- -
-
-
- - - - - - - - - -
- - -Ocean -
-
-
- -
-
-
- - - - - - - - - -
- - -Space -
-
-
- -
-
-
- - - - - - - - - -
- - -Ringbinder -
-
-
- -
-
-
- - - - - - - - - -
- - -Stone -
-
-
- -
-
-
- - - - - - - - - -
- - -Cats -
-
-
- -
-
-
+ + + + + + + + + + + + + + + + +
+
+ + Choose a page style + + + + + + + + +
+ + +
+ +
+
+ + 1 of 1 + + + + +
+ +
+
+
+
+ You can change the style at any time without losing your text or images. +
+
+
+ + + + + + + + + + +
+ + Blue Sands
+
+
+ +
+
+ +
+ + + +
+
+ + + + + + + + + + +
+ + Space
+
+
+ +
+
+ +
+ + + +
+
+ + + + + + + + + + +
+ + Cats
+
+
+ +
+
+ +
+ + + +
+
+ + + + + + + + + +
+ + Blue
+
+
+ +
+
+ +
+ + + +
+
+ + + + + + + + + + +
+ + Red
+
+
+ +
+
+ +
+ + + +
+
+ + + + + + + + + + +
+ + Republican
+
+
+ +
+
+ +
+ + + +
+
`; +} else { + var err = wtvshared.doErrorPage(500, "You are not allowed to create more than "+minisrv_config.services["wtv-author"].max_pages+" pages."); + headers = err[0]; + data = err[1]; +} diff --git a/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js b/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js index 86616ba0..20c3b4b6 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js @@ -88,22 +88,25 @@ class WTVAuthor { if (pages.length == 0) { pagenum = 0; } else { - var pagelen = pages.length - 1; - this.debug("createPage","pages",pages) - var pagenums = []; - for(let i = 0; i < pagelen; i++) { - var toarr = pages[i].substr(0, pages[i].indexOf('.')); - pagenums.push(parseInt(toarr)); - } - pagenums = pagenums.sort() - var pagenum = pagenums[pagelen]; - this.debug("createPage", "pagenum",pagenum) + var pagelen = pages.length; + if (pagelen < 0) pagelen = 0; + this.debug("createPage","pages",pages) + var pagenums = []; + for(let i = 0; i < pagelen; i++) { + var toarr = pages[i].substr(0, pages[i].indexOf('.')); + pagenums.push(parseInt(toarr)); + } + pagenums = pagenums.sort() + this.debug("createPage", "pagenums", pagenums) + var pagenum = parseInt(pagenums[pagelen - 1]); + this.debug("createPage", "pagenum", pagenum) + this.debug("createPage", "pagelen", pagelen) } if (pages.length == 0) { pagenum = 0 var pagefile = pagenum + this.pageFileExt; - } else { - var pagefile = pagenum + 1 + this.pageFileExt; + } else {; + var pagefile = (pagenum + 1) + this.pageFileExt; } var pagefileout = this.pagestore_dir + pagefile; // JSON data structure @@ -970,12 +973,7 @@ vspace=0 return true; } - editTextBlock(pagenum, title, caption, size, style, position, oldposition) { - Array.prototype.move = function(from,to){ - this.splice(to,0,this.splice(from,1)[0]); - return this; - }; - + editTextBlock(pagenum, title, caption, size, style, position, oldposition) { var pagedata = this.loadPage(pagenum); if (!pagedata) return false; @@ -993,7 +991,7 @@ vspace=0 pagedata.blocks[oldposition].style = style if (oldposition != position) - pagedata.blocks.move(oldposition,position); + moveArrayKey(pagedata.blocks,oldposition,position); this.editPage(pagedata, pagenum); return true; @@ -1018,11 +1016,7 @@ vspace=0 } editPhotoBlock(pagenum, oldposition, position, photo, type, title, caption) { - Array.prototype.move = function(from,to){ - this.splice(to,0,this.splice(from,1)[0]); - return this; - }; - + var pagedata = this.loadPage(pagenum); if (!pagedata) return false; @@ -1044,7 +1038,7 @@ vspace=0 blocks[oldposition].caption = caption if (oldposition != position) { - blocks.move(oldposition,position); + moveArrayKey(blocks, oldposition,position); } this.editPage(pagedata, pagenum); @@ -1070,10 +1064,6 @@ vspace=0 } editHeaderBlock(pagenum, text, size, dividerBefore, dividerAfter, position, oldposition) { - Array.prototype.move = function(from,to){ - this.splice(to,0,this.splice(from,1)[0]); - return this; - }; var pagedata = this.loadPage(pagenum); if (!pagedata) return false; @@ -1092,7 +1082,7 @@ vspace=0 pagedata.blocks[oldposition].dividerAfter = dividerAfter if (oldposition != position) - pagedata.blocks.move(oldposition,position); + moveArrayKey(pagedata.blocks, oldposition,position); this.editPage(pagedata, pagenum); return true; @@ -1115,11 +1105,7 @@ vspace=0 } editListBlock(pagenum, title, items, position, oldposition) { - Array.prototype.move = function(from,to){ - this.splice(to,0,this.splice(from,1)[0]); - return this; - }; - + var pagedata = this.loadPage(pagenum); if (!pagedata) return false; @@ -1133,7 +1119,7 @@ vspace=0 pagedata.blocks[oldposition].items = items if (oldposition != position) - pagedata.blocks.move(oldposition,position); + moveArrayKey(pagedata.blocks,oldposition,position); this.editPage(pagedata, pagenum); return true; @@ -1173,10 +1159,6 @@ vspace=0 } editLinkBlock(pagenum, title, listItems, linkItems, position, oldposition) { - Array.prototype.move = function(from,to){ - this.splice(to,0,this.splice(from,1)[0]); - return this; - }; var pagedata = this.loadPage(pagenum); if (!pagedata) return false; @@ -1202,7 +1184,7 @@ vspace=0 pagedata.blocks[oldposition].items = items if (oldposition != position) - pagedata.blocks.move(oldposition,position); + moveArrayKey(pagedata.blocks,oldposition,position); this.editPage(pagedata, pagenum); return true; @@ -1224,16 +1206,11 @@ vspace=0 } editBreakBlock(pagenum, position, oldposition) { - Array.prototype.move = function(from,to){ - this.splice(to,0,this.splice(from,1)[0]); - return this; - }; - var pagedata = this.loadPage(pagenum); if (!pagedata) return false; if (oldposition != position) - pagedata.blocks.move(oldposition,position); + moveArrayKey(pagedata.blocks,oldposition,position); this.editPage(pagedata, pagenum); this.generateBreakList(pagenum); diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index 03771d4f..f7320e39 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -281,6 +281,7 @@ "port": 1643, "connections": 3, "enable_multi_query": true, + "max_pages": 4, "publish_mode": "service", // "service" or "directory" "publish_dest": "pb_services", // service name, or directory path "modules": [ diff --git a/zefie_wtvp_minisrv/package-lock.json b/zefie_wtvp_minisrv/package-lock.json index 92c3182f..27c0f2b6 100644 --- a/zefie_wtvp_minisrv/package-lock.json +++ b/zefie_wtvp_minisrv/package-lock.json @@ -28,11 +28,158 @@ "strftime": "^0.10.2", "uuid": "^8.3.2" }, + "devDependencies": { + "eslint": "^8.48.0" + }, "funding": { "type": "patreon", "url": "https://www.patreon.com/zefie" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", + "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@eslint/js": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", + "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "node_modules/@mafintosh/vm2": { "version": "3.9.2", "resolved": "https://registry.npmjs.org/@mafintosh/vm2/-/vm2-3.9.2.tgz", @@ -44,6 +191,41 @@ "node": ">=6.0" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", @@ -61,6 +243,27 @@ "node": ">= 0.6" } }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, "node_modules/adm-zip": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", @@ -101,6 +304,52 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -117,6 +366,12 @@ "node": ">=4" } }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "node_modules/basic-ftp": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", @@ -159,6 +414,16 @@ "node": ">=0.10.0" } }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -179,6 +444,55 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -211,6 +525,20 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/crypto-js": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", @@ -232,6 +560,12 @@ "ms": "2.0.0" } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -278,6 +612,18 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -402,6 +748,128 @@ "source-map": "~0.6.1" } }, + "node_modules/eslint": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", + "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.48.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -414,6 +882,30 @@ "node": ">=4" } }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", @@ -479,6 +971,45 @@ "node": ">= 0.10.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -496,6 +1027,42 @@ "node": ">= 0.8" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, "node_modules/follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", @@ -544,6 +1111,12 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -598,11 +1171,64 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -614,6 +1240,15 @@ "node": ">= 0.4.0" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", @@ -761,6 +1396,50 @@ "node": ">=0.10.0" } }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -779,6 +1458,36 @@ "node": ">= 0.10" } }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -787,6 +1496,42 @@ "node": ">=0.10.0" } }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -795,6 +1540,49 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -854,6 +1642,18 @@ "node": ">= 0.6" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -876,6 +1676,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -951,6 +1757,62 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pac-proxy-agent": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.0.tgz", @@ -1003,6 +1865,18 @@ "node": ">= 14" } }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/parse-srcset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", @@ -1016,6 +1890,33 @@ "node": ">= 0.8" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -1053,6 +1954,15 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -1109,6 +2019,15 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -1123,6 +2042,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -1161,6 +2100,63 @@ "resolved": "https://registry.npmjs.org/rc4-crypto/-/rc4-crypto-1.5.0.tgz", "integrity": "sha512-0auP5EfZ21/RP437NgmH+eCTgwDGA611KYCU/2ywk1aIUhR1rHToI4z3ZtQ9BRZYw44M9htklIZK5khkBJerAw==" }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1259,6 +2255,27 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -1374,6 +2391,48 @@ "node": ">=0.2.0" } }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -1387,6 +2446,18 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -1426,6 +2497,15 @@ "node": ">= 0.8" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -1449,6 +2529,39 @@ "engines": { "node": ">= 0.8" } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index d6a8e2ea..808853d4 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -44,5 +44,8 @@ "socks-proxy-agent": "^8.0.1", "strftime": "^0.10.2", "uuid": "^8.3.2" + }, + "devDependencies": { + "eslint": "^8.48.0" } }