From f2669ae8780dbf3de1bc102910fab215c55f1f78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?=
Date: Tue, 24 Feb 2015 13:00:42 -0500
Subject: [PATCH 01/54] API Sites: Add support for custom examples in widget
events
---
tasks/jquery-xml/entries2html-base.xsl | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 68fe9de..98e331f 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -1118,6 +1118,15 @@
$( ".selector" ).on( "", function( event, ui ) {} );
+
+
+
+
+
+
+
+
+
From 47e54dcd22a3799d4b4978e4b1fed1261fca9f86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?=
Date: Tue, 24 Feb 2015 13:01:18 -0500
Subject: [PATCH 02/54] 2.0.1
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 71e4c72..349d5a0 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.0.0",
+ "version": "2.0.1",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 39c1f0021c7241adde17855298d759e4d65f0da5 Mon Sep 17 00:00:00 2001
From: Aurelio De Rosa
Date: Sat, 28 Feb 2015 15:50:37 +0000
Subject: [PATCH 03/54] API Sites: Fix inclusion of notes on Windows
Added the slash so the task searches the file in the root and not in the
"jquery-xml" folder.
Closes gh-62
---
tasks/jquery-xml/all-entries.xsl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tasks/jquery-xml/all-entries.xsl b/tasks/jquery-xml/all-entries.xsl
index 55f98d7..10415e7 100644
--- a/tasks/jquery-xml/all-entries.xsl
+++ b/tasks/jquery-xml/all-entries.xsl
@@ -1,7 +1,7 @@
-
+
From 6b2321b9d71f9c047a705d74dfdd11765a0e9ffc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?=
Date: Mon, 2 Mar 2015 18:22:28 -0500
Subject: [PATCH 04/54] 2.1.0
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 349d5a0..bde846e 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.0.1",
+ "version": "2.1.0",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From f841813cdb2bcb4c76f7c4d2da0175be69f13cb0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Fri, 20 Mar 2015 11:55:05 +0100
Subject: [PATCH 05/54] API Sites: Loop over method examples instead of
assuming there's just one
Ref jquery/api.jqueryui.com#257
Closes #63
---
tasks/jquery-xml/entries2html-base.xsl | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 98e331f..5ba8745 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -1022,10 +1022,12 @@
-
-
-
-
+
+
+
+
+
+
From 0bd1568abd2f13a7d8a2181108930bf5d3002e42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Sat, 21 Mar 2015 11:39:17 +0100
Subject: [PATCH 06/54] 2.1.1
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index bde846e..5e2ee7f 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.1.0",
+ "version": "2.1.1",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 8245a09e662afc18999b275622cd6c03d36356d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Thu, 9 Apr 2015 18:28:09 +0200
Subject: [PATCH 07/54] API sites: Consistent styling for examples
Fixes #65
---
tasks/jquery-xml/entries2html-base.xsl | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 5ba8745..76debd6 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -435,14 +435,17 @@
-
-
-
-
+
+ Code examples:
+
+
+
+
+
+
+
+
-
-
-
@@ -581,8 +584,6 @@
- Code examples:
-
Initialize the with the
option specified:
$( ".selector" ).
@@ -656,10 +657,9 @@
-
- Example:
-
-
+
+
+
From d60fe8461c8c2d6d3a90effae8512dd7876ff1a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Thu, 9 Apr 2015 21:30:40 +0200
Subject: [PATCH 08/54] API sites: Replace inside elements
Fixes #66
Closes #67
---
tasks/jquery-xml/entries2html-base.xsl | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 76debd6..4fecfb8 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -435,14 +435,14 @@
-
+
Code examples:
-
+
@@ -666,7 +666,7 @@
-
+
@@ -1132,9 +1132,9 @@
-
-
+
From 0fb99ba7daa6848c82528f16d1e31aefb7289168 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Thu, 9 Apr 2015 22:11:30 +0200
Subject: [PATCH 09/54] API sites: Support inside options, fix hiding
of gutter
Due to some bad logic, the gutter was always displayed by default, the
reverse of what the code intended. Changing the actual default now to
keep the previous behaviour, but allowing opt-out, which the new
element is now using.
Fixes #64
---
lib/highlight.js | 4 ++--
lib/lineNumberTemplate.jst | 4 +++-
tasks/jquery-xml/entries2html-base.xsl | 7 ++++++-
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/lib/highlight.js b/lib/highlight.js
index beedf71..375f1dc 100644
--- a/lib/highlight.js
+++ b/lib/highlight.js
@@ -71,8 +71,8 @@ function syntaxHighlight( html ) {
(code.trim().charAt( 0 ) === "<" ? "xml" : "") ||
"javascript",
linenumAttr = $t.attr( "data-linenum" ),
- linenum = (linenumAttr === "true" ? 1 : parseInt( linenumAttr, 10 ) ) || 1,
- gutter = linenumAttr === undefined ? false : true,
+ linenum = parseInt( linenumAttr, 10 ) || 1,
+ gutter = linenumAttr === "false" ? false : true,
highlighted = hljs.highlight( lang, code ),
fixed = hljs.fixMarkup( highlighted.value, " " );
diff --git a/lib/lineNumberTemplate.jst b/lib/lineNumberTemplate.jst
index 3a8bb39..a2a9a43 100644
--- a/lib/lineNumberTemplate.jst
+++ b/lib/lineNumberTemplate.jst
@@ -1,12 +1,14 @@
-
+
+ <% if (gutter) { %>
<% _.forEach(lines, function(line, i) { %>
<%= i + startAt %>
<% }); %>
|
+ <% } %>
<% _.forEach(lines, function(line, i) { %><% }); %>
|
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 4fecfb8..b7d748d 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -413,7 +413,12 @@
From 51733536707bc1745d7d66a155ead3fb379db094 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Thu, 9 Apr 2015 22:40:09 +0200
Subject: [PATCH 10/54] API sites: Render option type on its own line
Fixes #51
---
tasks/jquery-xml/entries2html-base.xsl | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index b7d748d..1497561 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -405,12 +405,12 @@
-
-
- Type:
-
-
+
+
+ Type:
+
+
Default:
From 3f94a5d23f528792f69cd6c20ff216f16d32773d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Thu, 9 Apr 2015 22:42:27 +0200
Subject: [PATCH 11/54] 2.2.0
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 5e2ee7f..7023694 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.1.1",
+ "version": "2.2.0",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 81579ec2e3db6327969f0f7cfcaab2b6afedec11 Mon Sep 17 00:00:00 2001
From: Corey Frang
Date: Sat, 18 Jul 2015 16:36:13 -0400
Subject: [PATCH 12/54] Redirects: Add support for setting redirects in
redirects.json
Ref jquery/grunt-jquery-content#61
Closes gh-69
---
package.json | 3 ++-
tasks/redirects.js | 15 +++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
create mode 100644 tasks/redirects.js
diff --git a/package.json b/package.json
index 7023694..267b853 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,8 @@
"marked": "0.3.2",
"rimraf": "2.2.8",
"spawnback": "1.0.0",
- "which": "1.0.5"
+ "which": "1.0.5",
+ "wordpress": "0.1.3"
},
"devDependencies": {
"grunt": "0.4.5",
diff --git a/tasks/redirects.js b/tasks/redirects.js
new file mode 100644
index 0000000..c51bd0f
--- /dev/null
+++ b/tasks/redirects.js
@@ -0,0 +1,15 @@
+module.exports = function( grunt ) {
+
+var wp = require( "wordpress" );
+
+grunt.registerTask( "deploy-redirects", function() {
+ var config = grunt.config( "wordpress" );
+ var redirects = grunt.file.exists( "redirects.json" ) ? grunt.file.readJSON( "redirects.json" ) : {};
+ var client = wp.createClient( config );
+
+ client.authenticatedCall( "jq.setRedirects", JSON.stringify( redirects ), this.async() );
+} );
+
+grunt.registerTask( "deploy", [ "wordpress-deploy", "deploy-redirects" ] );
+
+};
From c83d3ecdf562289ae6d1427de442d966409c4998 Mon Sep 17 00:00:00 2001
From: Corey Frang
Date: Tue, 21 Jul 2015 11:47:16 -0400
Subject: [PATCH 13/54] 2.3.0
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 267b853..091fb8c 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.2.0",
+ "version": "2.3.0",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 99c8c802ce4d722ae761df3a41c3a837dadfad97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Tue, 27 Oct 2015 16:44:10 +0100
Subject: [PATCH 14/54] API sites: Make sure options examples have unique IDs
Ref jquery/api.jqueryui.com#280
---
tasks/jquery-xml/entries2html-base.xsl | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 1497561..7e88124 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -449,6 +449,7 @@
+
@@ -651,9 +652,11 @@
+
+
example-
From 84c6ad5b5932841949901d7d436221309dcefff6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=CC=88rn=20Zaefferer?=
Date: Tue, 27 Oct 2015 16:45:06 +0100
Subject: [PATCH 15/54] 2.3.1
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 091fb8c..ca1bc7a 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.3.0",
+ "version": "2.3.1",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 9cdfa8c5e4b4c7f9c49f99b2c20dbdcc3658e656 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?=
Date: Wed, 16 Dec 2015 20:17:50 -0500
Subject: [PATCH 16/54] Build: Upgrade grunt-wordpress
---
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index ca1bc7a..86c3ec2 100644
--- a/package.json
+++ b/package.json
@@ -23,14 +23,14 @@
"async": "0.9.0",
"cheerio": "0.17.0",
"grunt-check-modules": "1.0.0",
- "grunt-wordpress": "2.1.0",
+ "grunt-wordpress": "2.1.1",
"he": "0.5.0",
"highlight.js": "7.3.0",
"marked": "0.3.2",
"rimraf": "2.2.8",
"spawnback": "1.0.0",
"which": "1.0.5",
- "wordpress": "0.1.3"
+ "wordpress": "1.1.2"
},
"devDependencies": {
"grunt": "0.4.5",
From cf29f1a2cafdcd5f034dba50504fe31677769687 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?=
Date: Wed, 16 Dec 2015 20:18:44 -0500
Subject: [PATCH 17/54] 3.0.0
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 86c3ec2..d1d7939 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "2.3.1",
+ "version": "3.0.0",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 92ef8c0a456e377f1962615a419dfc041c3e9519 Mon Sep 17 00:00:00 2001
From: Kris Borchers
Date: Tue, 29 Mar 2016 14:51:04 -0700
Subject: [PATCH 18/54] Build: Update grunt-wordpress
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index d1d7939..8ad2247 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"async": "0.9.0",
"cheerio": "0.17.0",
"grunt-check-modules": "1.0.0",
- "grunt-wordpress": "2.1.1",
+ "grunt-wordpress": "2.1.2",
"he": "0.5.0",
"highlight.js": "7.3.0",
"marked": "0.3.2",
From a6bdf5a02fc38fef1e95291b712653929dacd8b3 Mon Sep 17 00:00:00 2001
From: Kris Borchers
Date: Wed, 30 Mar 2016 15:11:12 +0100
Subject: [PATCH 19/54] 3.0.1
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 8ad2247..f5e7d9c 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.0.0",
+ "version": "3.0.1",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 29fa4be2cf9448a9bc46f6eb22c0fe5dc4d8deba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski?=
Date: Wed, 16 Nov 2016 17:57:04 -0500
Subject: [PATCH 20/54] Build: Upgrade grunt-check-modules, add .npmrc with
save-exact=true Closes gh-71
---
.npmrc | 1 +
package.json | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 .npmrc
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..cffe8cd
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+save-exact=true
diff --git a/package.json b/package.json
index f5e7d9c..6c00d5a 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"dependencies": {
"async": "0.9.0",
"cheerio": "0.17.0",
- "grunt-check-modules": "1.0.0",
+ "grunt-check-modules": "1.1.0",
"grunt-wordpress": "2.1.2",
"he": "0.5.0",
"highlight.js": "7.3.0",
From c4a2339ce568fb460c69d00c054112ba48a4ce27 Mon Sep 17 00:00:00 2001
From: Karl Swedberg
Date: Wed, 16 Nov 2016 17:58:52 -0500
Subject: [PATCH 21/54] 3.0.2
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 6c00d5a..6f87b6b 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.0.1",
+ "version": "3.0.2",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 6194ebf479ceeb10e9a3a1176ccc97e7143596eb Mon Sep 17 00:00:00 2001
From: Markus Staab
Date: Tue, 12 Jul 2016 21:39:08 +0200
Subject: [PATCH 22/54] Support newer versions of gilded-wordpress,
node-wordpress
Closes gh-72
---
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index 6f87b6b..07a77b9 100644
--- a/package.json
+++ b/package.json
@@ -23,14 +23,14 @@
"async": "0.9.0",
"cheerio": "0.17.0",
"grunt-check-modules": "1.1.0",
- "grunt-wordpress": "2.1.2",
+ "grunt-wordpress": "2.1.3",
"he": "0.5.0",
"highlight.js": "7.3.0",
"marked": "0.3.2",
"rimraf": "2.2.8",
"spawnback": "1.0.0",
"which": "1.0.5",
- "wordpress": "1.1.2"
+ "wordpress": "1.3.0"
},
"devDependencies": {
"grunt": "0.4.5",
From 910293948dbf5ef1e46a91b33682fcb66676a8d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?=
Date: Sat, 11 Mar 2017 07:11:30 -0500
Subject: [PATCH 23/54] 3.0.3
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 07a77b9..303c677 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.0.2",
+ "version": "3.0.3",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 0b869471cd6b1e4b47dbbc018108405b1135d454 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
Date: Thu, 12 Oct 2017 11:37:39 +0200
Subject: [PATCH 24/54] Build: Add .mailmap with my new name
---
.mailmap | 1 +
1 file changed, 1 insertion(+)
create mode 100644 .mailmap
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 0000000..1f2f86f
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1 @@
+Michał Gołębiowski-Owczarek
From 4534d3e6771cfea2d69a110d65cf33b88467a764 Mon Sep 17 00:00:00 2001
From: Richard Gibson
Date: Fri, 13 Jul 2018 08:40:07 -0400
Subject: [PATCH 25/54] API sites: Make anchors for object properties and
method arguments
Fixes #73
Closes #74
---
tasks/jquery-xml/entries2html-base.xsl | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 7e88124..bc7b909 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -280,7 +280,9 @@
-
+
+
+
@@ -343,7 +345,9 @@
-
+
+
+
@@ -863,9 +867,12 @@
+
@@ -887,16 +894,25 @@
+
+
+
+
+
+
+
(default:
)
From 8bd0226bfc0c3de4a3b361fb8bd69b81cca37e34 Mon Sep 17 00:00:00 2001
From: Andrew <974088545@qq.com>
Date: Wed, 19 May 2021 19:03:05 +0800
Subject: [PATCH 26/54] API sites: Support multiple return types in function
parameters
Fixes jquery/api.jquery.com#1184
Closes gh-80
---
tasks/jquery-xml/entries2html-base.xsl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index bc7b909..3555b2e 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -793,11 +793,11 @@
-
+
- ERROR: A single return element is expected
+ |
From 27a54fbfd03aefcf8934a7c0f10afa6e8e495da4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?=
Date: Fri, 21 May 2021 18:35:34 +0200
Subject: [PATCH 27/54] Build: Update dependencies
* Update dependencies.
* Switch from JSHint to ESLint.
Closes https://github.com/jquery/grunt-jquery-content/pull/81.
---
.eslintrc.json | 20 +
.jshintrc | 17 -
.npmrc | 1 -
Gruntfile.js | 16 +-
index.js | 6 +-
lib/highlight.js | 56 +-
lib/util.js | 20 +-
package-lock.json | 1921 ++++++++++++++++++++++++++++++++++++++++++++
package.json | 27 +-
tasks/build-xml.js | 56 +-
tasks/build.js | 41 +-
tasks/redirects.js | 12 +-
12 files changed, 2067 insertions(+), 126 deletions(-)
create mode 100644 .eslintrc.json
delete mode 100644 .jshintrc
delete mode 100644 .npmrc
create mode 100644 package-lock.json
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..9aab0e7
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,20 @@
+{
+ "root": true,
+
+ "extends": "jquery",
+
+ "reportUnusedDisableDirectives": true,
+
+ "parserOptions": {
+ "ecmaVersion": 2018
+ },
+
+ "env": {
+ "es6": true,
+ "node": true
+ },
+
+ "rules": {
+ "strict": ["error", "global"]
+ }
+}
diff --git a/.jshintrc b/.jshintrc
deleted file mode 100644
index d34c42d..0000000
--- a/.jshintrc
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "boss": true,
- "curly": true,
- "eqeqeq": true,
- "eqnull": true,
- "expr": true,
- "immed": true,
- "noarg": true,
- "onevar": true,
- "quotmark": "double",
- "smarttabs": true,
- "trailing": true,
- "undef": true,
- "unused": true,
-
- "node": true
-}
diff --git a/.npmrc b/.npmrc
deleted file mode 100644
index cffe8cd..0000000
--- a/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-save-exact=true
diff --git a/Gruntfile.js b/Gruntfile.js
index 0e77a9a..df57e25 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,20 +1,22 @@
-module.exports = function( grunt ) {
+"use strict";
-grunt.loadNpmTasks( "grunt-contrib-jshint" );
+module.exports = function( grunt ) {
-grunt.initConfig({
+grunt.initConfig( {
watch: {
files: "",
tasks: "default"
},
- jshint: {
+ eslint: {
options: {
jshintrc: true
},
- files: [ "Gruntfile.js", "tasks/**/*.js" ]
+ files: [ "*.js", "lib/**/*.js", "tasks/**/*.js" ]
}
-});
+} );
+
+grunt.loadNpmTasks( "grunt-eslint" );
-grunt.registerTask( "default", "jshint" );
+grunt.registerTask( "default", "eslint" );
};
diff --git a/index.js b/index.js
index d959c0f..08bea70 100644
--- a/index.js
+++ b/index.js
@@ -1,9 +1,11 @@
-var syntaxHighlight = require( "./lib/highlight" );
+"use strict";
+
+const syntaxHighlight = require( "./lib/highlight" );
exports.syntaxHighlight = syntaxHighlight;
exports.postPreprocessors = {
- _default: function( post, fileName, callback ) {
+ _default( post, _fileName, callback ) {
callback( null, post );
}
};
diff --git a/lib/highlight.js b/lib/highlight.js
index 375f1dc..aa62c5e 100644
--- a/lib/highlight.js
+++ b/lib/highlight.js
@@ -1,20 +1,22 @@
-var fs = require( "fs" ),
- hljs = require( "highlight.js" ),
- cheerio = require( "cheerio" ),
- he = require( "he" ),
- grunt = require( "grunt" ),
- lineNumberTemplate = fs.readFileSync( __dirname + "/lineNumberTemplate.jst", "utf-8" );
+"use strict";
+
+const fs = require( "fs" );
+const hljs = require( "highlight.js" );
+const cheerio = require( "cheerio" );
+const he = require( "he" );
+const grunt = require( "grunt" );
+const lineNumberTemplate = fs.readFileSync( __dirname + "/lineNumberTemplate.jst", "utf-8" );
// When parsing the class attribute, make sure a class matches an actually
// highlightable language, instead of being presentational (e.g. 'example')
function getLanguageFromClass( str ) {
- var classes = (str || "").split( " " ),
+ var classes = ( str || "" ).split( " " ),
i = 0,
length = classes.length;
for ( ; i < length; i++ ) {
- if ( hljs.LANGUAGES[ classes[ i ].replace( /^lang-/, "" ) ] ) {
- return classes[i].replace( /^lang-/, "" );
+ if ( hljs.getLanguage( classes[ i ].replace( /^lang-/, "" ) ) ) {
+ return classes[ i ].replace( /^lang-/, "" );
}
}
@@ -27,34 +29,34 @@ function outdent( string ) {
minTabs = Infinity,
rLeadingTabs = /^\t+/;
- string.split( "\n" ).forEach(function( line, i, arr ) {
+ string.split( "\n" ).forEach( function( line, i, arr ) {
// Don't include first or last line if it's nothing but whitespace
- if ( (i === 0 || i === arr.length - 1) && !line.trim().length ) {
+ if ( ( i === 0 || i === arr.length - 1 ) && !line.trim().length ) {
return;
}
// For empty lines inside the snippet, push a space so the line renders properly
if ( !line.trim().length ) {
- adjustedLines.push(" ");
+ adjustedLines.push( " " );
return;
}
// Count how many leading tabs there are and update the global minimum
var match = line.match( rLeadingTabs ),
- tabs = match ? match[0].length : 0;
+ tabs = match ? match[ 0 ].length : 0;
minTabs = Math.min( minTabs, tabs );
adjustedLines.push( line );
- });
+ } );
if ( minTabs !== Infinity ) {
// Outdent the lines as much as possible
rOutdent = new RegExp( "^\t{" + minTabs + "}" );
- adjustedLines = adjustedLines.map(function( line ) {
+ adjustedLines = adjustedLines.map( function( line ) {
return line.replace( rOutdent, "" );
- });
+ } );
}
return adjustedLines.join( "\n" );
@@ -63,25 +65,25 @@ function outdent( string ) {
function syntaxHighlight( html ) {
var $ = cheerio.load( html );
- $( "pre > code" ).each(function() {
+ $( "pre > code" ).each( function() {
var $t = $( this ),
code = he.decode( outdent( $t.html() ) ),
lang = $t.attr( "data-lang" ) ||
getLanguageFromClass( $t.attr( "class" ) ) ||
- (code.trim().charAt( 0 ) === "<" ? "xml" : "") ||
+ ( code.trim().charAt( 0 ) === "<" ? "xml" : "" ) ||
"javascript",
linenumAttr = $t.attr( "data-linenum" ),
linenum = parseInt( linenumAttr, 10 ) || 1,
- gutter = linenumAttr === "false" ? false : true,
- highlighted = hljs.highlight( lang, code ),
- fixed = hljs.fixMarkup( highlighted.value, " " );
+ gutter = linenumAttr !== "false",
+ highlighted = hljs.highlight( code, { language: lang } ),
+ fixed = highlighted.value.replace( /\t/g, " " );
// Handle multi-line comments (#32)
fixed = fixed.replace(
- /
-
\ No newline at end of file
From 8290d0674b68691be44aa40cf748648e68d5c7b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
Date: Wed, 8 Nov 2023 18:54:58 +0100
Subject: [PATCH 43/54] Pin a version of grunt-wordpress to `2.1.4`
`grunt-wordpress` updates `gilded-wordpress` in patch releases. However,
our infra requires strict matching of the `gilded-wordpress` version
in the `GW_VERSION` variable set in `gilded-wordpress.php`. Let's pin
the version to avoid breaking changes from subdependencies updates.
---
package-lock.json | 2 +-
package.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index bebb751..5b59d67 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"async": "^3.2.0",
"cheerio": "^1.0.0-rc.12",
"grunt-check-modules": "^1.1.0",
- "grunt-wordpress": "^2.1.4",
+ "grunt-wordpress": "2.1.4",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
diff --git a/package.json b/package.json
index 9fc3dd7..9c22e98 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"async": "^3.2.0",
"cheerio": "^1.0.0-rc.12",
"grunt-check-modules": "^1.1.0",
- "grunt-wordpress": "^2.1.4",
+ "grunt-wordpress": "2.1.4",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
From d2f2afcf8b8a98a324c8cac553a1ce47c7a9935c Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 12 Nov 2023 16:30:29 +0000
Subject: [PATCH 44/54] Build: Remove dependency on grunt-wordpress
This 20-line grunt plugin is a very thin wrapper around
gilded-wordpress and node-wordpress. For ease of maintenance,
use these directly here.
None of scripts and other code is copied from the grunt-wordpress
repository, only the grunt task itself. Reformatted per current
jQuery code conventions to satisfy the ESLint preset.
Ref https://github.com/jquery/api.jquery.com/issues/1119
---
LICENSE.txt | 7 +-
README.md | 208 ++++++++++++++++++++++++++++++++++-----------
package-lock.json | 18 +---
package.json | 2 +-
tasks/build.js | 3 +-
tasks/wordpress.js | 41 +++++++++
6 files changed, 205 insertions(+), 74 deletions(-)
create mode 100644 tasks/wordpress.js
diff --git a/LICENSE.txt b/LICENSE.txt
index af932fa..1f0face 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,8 +1,5 @@
-Copyright jQuery Foundation and other contributors, https://jquery.org/
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/jquery/grunt-jquery-content
+Copyright jQuery Foundation and other contributors, https://github.com/jquery/grunt-jquery-content
+Copyright Scott González, http://scottgonzalez.com
The following license applies to all parts of this software except as
documented below:
diff --git a/README.md b/README.md
index 113eb55..6ecd675 100644
--- a/README.md
+++ b/README.md
@@ -2,83 +2,111 @@
# grunt-jquery-content
-A collection of tasks for building the jQuery web sites via Grunt.
+A collection of Grunt tasks for deploying jQuery documentation sites.
-This module builds on top of [grunt-wordpress](https://github.com/scottgonzalez/grunt-wordpress), which builds on top of [Gilded WordPress](https://github.com/scottgonzalez/gilded-wordpress). See the Gilded WordPress documentation for details on the [directory structure and file formats](https://github.com/scottgonzalez/gilded-wordpress#directory-structure).
+This module builds on top of [node-wordpress](https://github.com/scottgonzalez/node-wordpress) and the [Gilded WordPress](https://github.com/scottgonzalez/gilded-wordpress) plugin. See the Gilded WordPress documentation for details on the [directory structure and file formats](https://github.com/scottgonzalez/gilded-wordpress#directory-structure).
-## Tasks
+## Getting started
-### clean-dist
+Prerequisites:
-This task removes all files in the `dist/` directory.
+* Install the gilded-wordpress.php plugin on your WordPress site (copy from [Gilded WordPress](https://github.com/scottgonzalez/gilded-wordpress)).
+* Depending on what kind of files you want to upload as "resources", you may need to configure WordPress to allow more permissive uploads. See the [Gilded WordPress documentation](https://github.com/scottgonzalez/gilded-wordpress#permissive-uploads) for how to do this.
-### lint
+Basic set up for your project:
-This is an empty task list. If the site contains any lint checks, they should be defined here. For example, API sites should have the following task list:
+1. add `wordpress` configuration to Gruntfile.js.
+2. add `build-posts` task configuration to Gruntfile.js.
+3. add `grunt.registerTask( "build", [ "build-posts" ] );` to Gruntfile.js
-```
-grunt.registerTask( "lint", [ "xmllint" ] );
-```
+You can now use `grunt wordpress-deploy` to build and deploy your project.
-### build
+The `wordpress-deploy` task is a tree of the following tasks:
-This is a task list that must be defined per site, containing all of the build steps. A simple site would have the following task list:
+* `wordpress-deploy`
+ * `build-wordpress`
+ * `check-modules`
+ * `lint` (empty placeholder by default)
+ * `clean-dist`
+ * `build` (undefined by default)
+ * `wordpress-publish`
+ * `wordpress-validate`
+ * `wordpress-sync`
-```
-grunt.registerTask( "build", [ "build-posts", "build-resources" ] );
-```
+The following optional tasks are made available to use via the `lint` or `build` phase:
-### build-posts
+* lint:
+ * `xmllint`
+* build:
+ * `build-posts`
+ * `build-resources`
+ * `build-xml-entries`
+ * `build-xml-categories`
+ * `build-xml-full`
-This multi-task takes a list of html or markdown files, copies them to `[wordpress.dir]/posts/[post-type]/`, processes `@partial` entries and highlights the syntax in each. The keys are the post types for each set of posts.
+## Config
-See the [`postPreprocessors` export](#postpreprocessors) for a hook to implement custom processing.
+```javascript
+grunt.initConfig({
+ wordpress: {
+ url: "wordpress.localhost",
+ username: "admin",
+ password: "admin",
+ dir: "dist"
+ }
+});
+```
-#### markdown
+* `url`: The URL for the WordPress install.
+ Can be a full URL, e.g., `http://wordpress.localhost:1234/some/path`
+ or as short as just the host name.
+ If the protocol is `https`, then a secure connection will be used.
+* `host` (optional): The actual host to connect to if different from the URL, e.g., when deploying to a local server behind a firewall.
+* `username`: WordPress username.
+* `password`: WordPress password.
+* `dir`: Directory containing posts, taxonomies, and resources.
+ * See the [Gilded WordPress documentation](https://github.com/scottgonzalez/gilded-wordpress#directory-structure) for details on the directory structure and file formats.
-Using markdown files provides additional features over HTML files. By default, links for each header are automatically generated for markdown files.
+## Tasks
-In addition to the [standard metadata](https://github.com/scottgonzalez/gilded-wordpress#post-files) for post files, the following properties can be set:
+### clean-dist
-* `noHeadingLinks`: When set to `false`, heading links won't be generated.
-* `toc`: When set to `true`, a table of contents will be inserted at the top of the post based on the headings within the post.
+This task removes all files in the `dist/` directory.
-#### @partial
+### lint
-Usage:
+This is an empty task list by default. If the site contains any lint checks, they should be defined here. For example, API documentation sites should have the following task list:
-```html
-@partial(resources/code-sample.html)
+```javascript
+grunt.registerTask( "lint", [ "xmllint" ] );
```
-Where `resources/code-sample.html` is a relative path in the current directory. That html file will be inserted, escaped and highlighted.
-
-#### @placeholder
-
-Inside markup included with `@partial`, you can mark sections of code as `@placeholder` code, to be excluded from the inserted code, replaced with an html comment.
-
-Usage:
+### build-posts
-```html
-regular markup will show up here
-
-this will be replaced
-
-other content
+```javascript
+grunt.initConfig({
+ "build-posts": {
+ page: "pages/**"
+ },
+});
```
-That will result in:
+This multi-task takes a list of html or markdown files, copies them to `[wordpress.dir]/posts/[post-type]/`, processes `@partial` entries and highlights the syntax in each. The keys are the post types for each set of posts.
-```html
-regular markup will show up here
-
-other content
-```
+See the [`postPreprocessors` export](#postpreprocessors) for a hook to implement custom processing.
### build-resources
This mult-task copies all source files into `[wordpress.dir]/resources/`.
+```javascript
+grunt.initConfig({
+ "build-resources": {
+ all: "resources/**"
+ },
+});
+```
+
### xmllint
This multi-task lints XML files to ensure the files are valid.
@@ -114,19 +142,101 @@ Code examples in the descriptions will be syntax highlighted.
This task generates a single XML file that contains all entries and stores the result in `[wordpress.dir]/resources/api.xml`.
+### wordpress-validate
+
+Walks through the `wordpress.dir` directory and performs various validations, such as:
+
+* Verifying that XML-RPC is enabled for the WordPress site.
+* Verifying that the custom XML-RPC methods for gilded-wordpress are installed.
+* Verifying the taxonomies and terms in `taxonomies.json`.
+* Verifying that child-parent relationships for posts are valid.
+* Verifying data for each post.
+### wordpress-sync
+
+Synchronizes everything in `wordpress.dir` to the WordPress site.
+This will create/edit/delete terms, posts, and resources.
+
+*Note: `wordpress-validate` must run prior to `wordpress-sync`.*
+
+### wordpress-publish
+
+Alias task for `wordpress-validate` and `wordpress-sync`.
+This is useful if your original source content is already in the proper format,
+or if you want to manually verify generated content between your custom build and publishing.
+
+### wordpress-deploy
+
+Alias task for `build-wordpress` and `wordpress-publish`.
+This is useful if you are generating content for use with `wordpress-sync`.
+Simply create a `build-wordpress` task that populates the `wordpress.dir` directory
+and your deployments will be as simple as `grunt wordpress-deploy`.
+
+### deploy
+
+Alias task for `wordpress-deploy`.
+
+Since most projects that use grunt-jquery-content have one deploy target (WordPress),
+there is a built-in `deploy` task that just runs `wordpress-deploy`.
+
+If your project has other deploy targets, you can redefine `deploy` as an alias that runs both `wordpress-deploy` and your other deployment-related tasks.
+
+## Page content
+
+The following features are available in pages built via the `build-posts` task.
+
+### Markdown
+
+Using markdown files provides additional features over HTML files. By default, links for each header are automatically generated for markdown files.
+
+In addition to the [standard metadata](https://github.com/scottgonzalez/gilded-wordpress#post-files) for post files, the following properties can be set:
+
+* `noHeadingLinks`: When set to `false`, heading links won't be generated.
+* `toc`: When set to `true`, a table of contents will be inserted at the top of the post based on the headings within the post.
+
+### `@partial`
+
+Usage:
+
+```html
+@partial(resources/code-sample.html)
+```
+
+Where `resources/code-sample.html` is a relative path in the current directory. That html file will be inserted, escaped and highlighted.
+
+### `@placeholder`
+
+Inside markup included with `@partial`, you can mark sections of code as `@placeholder` code, to be excluded from the inserted code, replaced with an html comment.
+
+Usage:
+
+```html
+regular markup will show up here
+
+this will be replaced
+
+other content
+```
+
+That will result in:
+
+```html
+regular markup will show up here
+
+other content
+```
## Exports
-This module also exports some methods through the standard node `require()` API.
+The grunt-jquery-content module primarily registers Grunt tasks, but it also exports some methods through the `require()` API.
-### syntaxHighlight( content )
+### `syntaxHighlight( content )`
Syntax highlights content.
* `content` String: The string the highlight.
-### postPreprocessors
+### `postPreprocessors`
Hooks for modifying the posts before they're processed in the [`build-posts`](#build-posts) task.
diff --git a/package-lock.json b/package-lock.json
index 5b59d67..5619967 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,8 +10,8 @@
"dependencies": {
"async": "^3.2.0",
"cheerio": "^1.0.0-rc.12",
+ "gilded-wordpress": "1.0.6",
"grunt-check-modules": "^1.1.0",
- "grunt-wordpress": "2.1.4",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
@@ -1178,14 +1178,6 @@
"node": ">=10"
}
},
- "node_modules/grunt-wordpress": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/grunt-wordpress/-/grunt-wordpress-2.1.4.tgz",
- "integrity": "sha512-6rGpy8qm231FGbLdIylD+3nEpDLRUtJ3DSVaoYHimj388fwVWuLMnYZ7PkoYVa4tJnHkP+Tj0SuMRP5v0baYrQ==",
- "dependencies": {
- "gilded-wordpress": "1.0.6"
- }
- },
"node_modules/grunt/node_modules/glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -3272,14 +3264,6 @@
"which": "~2.0.2"
}
},
- "grunt-wordpress": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/grunt-wordpress/-/grunt-wordpress-2.1.4.tgz",
- "integrity": "sha512-6rGpy8qm231FGbLdIylD+3nEpDLRUtJ3DSVaoYHimj388fwVWuLMnYZ7PkoYVa4tJnHkP+Tj0SuMRP5v0baYrQ==",
- "requires": {
- "gilded-wordpress": "1.0.6"
- }
- },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
diff --git a/package.json b/package.json
index 9c22e98..2068b03 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"async": "^3.2.0",
"cheerio": "^1.0.0-rc.12",
"grunt-check-modules": "^1.1.0",
- "grunt-wordpress": "2.1.4",
+ "gilded-wordpress": "1.0.6",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
diff --git a/tasks/build.js b/tasks/build.js
index 767c326..e960fa4 100644
--- a/tasks/build.js
+++ b/tasks/build.js
@@ -3,14 +3,13 @@
module.exports = function( grunt ) {
const fs = require( "fs" );
-const wordpress = require( "grunt-wordpress" );
+const wordpress = require( "gilded-wordpress" );
const util = require( "../lib/util" );
const syntaxHighlight = require( "../lib/highlight" );
const mainExports = require( "../" );
// Load external tasks as local tasks
// Grunt doesn't provide an API to pass thru tasks from dependent grunt plugins
-require( "grunt-wordpress/tasks/wordpress" )( grunt );
require( "grunt-check-modules/tasks/check-modules" )( grunt );
grunt.registerTask( "clean-dist", function() {
diff --git a/tasks/wordpress.js b/tasks/wordpress.js
new file mode 100644
index 0000000..b79ced8
--- /dev/null
+++ b/tasks/wordpress.js
@@ -0,0 +1,41 @@
+"use strict";
+
+const wordpress = require( "gilded-wordpress" );
+
+module.exports = function( grunt ) {
+
+ var client = ( function() {
+ var _client;
+
+ return function() {
+ if ( !_client ) {
+ var config = grunt.config( "wordpress" );
+ config.verbose = grunt.option( "verbose" ) || false;
+
+ _client = wordpress.createClient( config );
+ _client.log = function() {
+ grunt.log.writeln.apply( grunt.log, arguments );
+ };
+ _client.logError = function() {
+ grunt.log.error.apply( grunt.log, arguments );
+ };
+ }
+
+ return _client;
+ };
+ } )();
+
+ grunt.registerTask( "wordpress-validate", function() {
+ client().validate( this.async() );
+ } );
+
+ grunt.registerTask( "wordpress-sync", function() {
+ this.requires( "wordpress-validate" );
+ client().sync( this.async() );
+ } );
+
+ grunt.registerTask( "wordpress-publish", [ "wordpress-validate", "wordpress-sync" ] );
+ grunt.registerTask( "wordpress-deploy", [ "build-wordpress", "wordpress-publish" ] );
+ grunt.registerTask( "deploy", [ "wordpress-deploy" ] );
+
+};
From 8f769df213bd04f71dc85e142de598129c64b2fc Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 5 Nov 2023 05:36:11 +0000
Subject: [PATCH 45/54] Build: Upgrade from `which@2` to `which@4`
https://github.com/npm/node-which/blob/v4.0.0/CHANGELOG.md
* which 3.0: Removes support for Node 10 and 12. Requires Node 14+.
* which 4.0: Removes support for Node 14. Requires Node 16+.
---
package-lock.json | 87 +++++++++++++++++++++++++++++++++++++++++------
package.json | 2 +-
2 files changed, 77 insertions(+), 12 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5619967..54647a6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
"spawnback": "^1.0.1",
- "which": "^2.0.2",
+ "which": "^4.0.0",
"wordpress": "^1.4.1"
},
"devDependencies": {
@@ -448,6 +448,21 @@
"node": ">= 8"
}
},
+ "node_modules/cross-spawn/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/css-select": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
@@ -1178,6 +1193,20 @@
"node": ">=10"
}
},
+ "node_modules/grunt-legacy-util/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/grunt/node_modules/glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -2293,17 +2322,25 @@
}
},
"node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
"dependencies": {
- "isexe": "^2.0.0"
+ "isexe": "^3.1.1"
},
"bin": {
- "node-which": "bin/node-which"
+ "node-which": "bin/which.js"
},
"engines": {
- "node": ">= 8"
+ "node": "^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/which/node_modules/isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "engines": {
+ "node": ">=16"
}
},
"node_modules/wordpress": {
@@ -2671,6 +2708,17 @@
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"css-select": {
@@ -3262,6 +3310,16 @@
"lodash": "~4.17.21",
"underscore.string": "~3.3.5",
"which": "~2.0.2"
+ },
+ "dependencies": {
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"has": {
@@ -4016,11 +4074,18 @@
}
},
"which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
"requires": {
- "isexe": "^2.0.0"
+ "isexe": "^3.1.1"
+ },
+ "dependencies": {
+ "isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="
+ }
}
},
"wordpress": {
diff --git a/package.json b/package.json
index 2068b03..56bd910 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
"spawnback": "^1.0.1",
- "which": "^2.0.2",
+ "which": "^4.0.0",
"wordpress": "^1.4.1"
},
"scripts": {
From b51c322a4d1a483a2d6bc68378f4a6c8978e65a4 Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 12 Nov 2023 17:36:45 +0000
Subject: [PATCH 46/54] Build: remove `async` and `spawnback` dependencies
Use async-await, for-of, and cp.spawn directly.
---
Gruntfile.js | 7 ++
lib/util.js | 21 +---
package-lock.json | 12 ---
package.json | 3 +-
tasks/build-xml.js | 257 +++++++++++++++++++++++----------------------
tasks/build.js | 140 ++++++++++++------------
test/lint.test.js | 30 ++++++
7 files changed, 248 insertions(+), 222 deletions(-)
create mode 100644 test/lint.test.js
diff --git a/Gruntfile.js b/Gruntfile.js
index bdba453..d73b79d 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -2,6 +2,12 @@
module.exports = function( grunt ) {
grunt.initConfig( {
+ xmllint: {
+ all: [
+ "fixture/entries/**",
+ "entries2html.xsl"
+ ]
+ },
"build-posts": {
page: "fixture/pages/**"
},
@@ -21,5 +27,6 @@ module.exports = function( grunt ) {
grunt.loadTasks( "tasks" );
+ grunt.registerTask( "lint", [ "xmllint" ] );
grunt.registerTask( "build", [ "build-posts", "build-resources", "build-xml-entries" ] );
};
diff --git a/lib/util.js b/lib/util.js
index 8b83d91..8e8d2f8 100644
--- a/lib/util.js
+++ b/lib/util.js
@@ -1,7 +1,6 @@
"use strict";
const fs = require( "fs" );
-const async = require( "async" );
const marked = require( "marked" );
function htmlEscape( text ) {
@@ -69,23 +68,13 @@ function parseMarkdown( src, options ) {
return marked.parser( tokens );
}
-function eachFile( files, stepFn, complete ) {
- var count = 0;
-
- async.forEachSeries( files, function( fileName, fileDone ) {
+async function eachFile( files, stepFn ) {
+ for ( const fileName of files ) {
if ( !fs.statSync( fileName ).isFile() ) {
- return fileDone();
- }
-
- count++;
- stepFn( fileName, fileDone );
- }, function( error ) {
- if ( error ) {
- return complete( error );
+ continue;
}
-
- complete( null, count );
- } );
+ await stepFn( fileName );
+ }
}
exports.htmlEscape = htmlEscape;
diff --git a/package-lock.json b/package-lock.json
index 54647a6..c3bae2a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,14 +8,12 @@
"name": "grunt-jquery-content",
"version": "3.2.0",
"dependencies": {
- "async": "^3.2.0",
"cheerio": "^1.0.0-rc.12",
"gilded-wordpress": "1.0.6",
"grunt-check-modules": "^1.1.0",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
- "spawnback": "^1.0.1",
"which": "^4.0.0",
"wordpress": "^1.4.1"
},
@@ -2169,11 +2167,6 @@
"node": ">=8"
}
},
- "node_modules/spawnback": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.1.tgz",
- "integrity": "sha512-340ZqtqJzWAZtHwaCC2gx4mdQOnkUWAWNDp7y0bCEatdjmgQ4j7b0qQ7qO5WIJWx/luNrKcrYzpKbH3NTR030A=="
- },
"node_modules/sprintf-js": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
@@ -3960,11 +3953,6 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
- "spawnback": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.1.tgz",
- "integrity": "sha512-340ZqtqJzWAZtHwaCC2gx4mdQOnkUWAWNDp7y0bCEatdjmgQ4j7b0qQ7qO5WIJWx/luNrKcrYzpKbH3NTR030A=="
- },
"sprintf-js": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
diff --git a/package.json b/package.json
index 56bd910..3392ce7 100644
--- a/package.json
+++ b/package.json
@@ -20,19 +20,18 @@
}
],
"dependencies": {
- "async": "^3.2.0",
"cheerio": "^1.0.0-rc.12",
"grunt-check-modules": "^1.1.0",
"gilded-wordpress": "1.0.6",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
- "spawnback": "^1.0.1",
"which": "^4.0.0",
"wordpress": "^1.4.1"
},
"scripts": {
"test": "eslint . && qunit test/*.js",
+ "lint-example": "grunt lint",
"build-example": "grunt build"
},
"devDependencies": {
diff --git a/tasks/build-xml.js b/tasks/build-xml.js
index d133dbf..5f76934 100644
--- a/tasks/build-xml.js
+++ b/tasks/build-xml.js
@@ -5,7 +5,7 @@ module.exports = function( grunt ) {
const fs = require( "fs" );
const path = require( "path" );
const which = require( "which" );
-const spawn = require( "spawnback" );
+const cp = require( "child_process" );
const util = require( "../lib/util" );
const syntaxHighlight = require( "../lib/highlight" );
@@ -30,7 +30,7 @@ function checkXsltproc() {
return checkLibxml2( "xsltproc" );
}
-grunt.registerMultiTask( "xmllint", "Lint xml files", function() {
+grunt.registerMultiTask( "xmllint", "Lint xml files", async function() {
var task = this,
taskDone = task.async();
@@ -38,31 +38,30 @@ grunt.registerMultiTask( "xmllint", "Lint xml files", function() {
return taskDone( false );
}
- util.eachFile( this.filesSrc, function( fileName, fileDone ) {
+ var count = 0;
+ async function lintFile( fileName ) {
+ count++;
grunt.verbose.write( "Linting " + fileName + "..." );
- spawn( "xmllint", [ "--noout", fileName ], function( error ) {
- if ( error ) {
- grunt.verbose.error();
- grunt.log.error( error );
- return fileDone();
- }
-
- grunt.verbose.ok();
- fileDone();
- } );
- }, function( _error, count ) {
- if ( task.errorCount ) {
- grunt.warn( "Task \"" + task.name + "\" failed." );
- return taskDone();
- }
+ cp.spawnSync( "xmllint", [ "--noout", fileName ] );
+ grunt.verbose.ok();
+ }
- grunt.log.writeln( "Lint free files: " + count );
+ try {
+ await util.eachFile( this.filesSrc, lintFile );
+ } catch ( e ) {
+ grunt.verbose.error();
+ grunt.log.error( e );
+ grunt.warn( "Task \"" + task.name + "\" failed." );
taskDone();
- } );
+ return;
+ }
+
+ grunt.log.writeln( "Lint free files: " + count );
+ taskDone();
} );
grunt.registerMultiTask( "build-xml-entries",
- "Process API xml files with xsl and syntax highlight", function() {
+ "Process API xml files with xsl and syntax highlight", async function() {
var task = this,
taskDone = task.async(),
targetDir = grunt.config( "wordpress.dir" ) + "/posts/post/";
@@ -73,45 +72,45 @@ grunt.registerMultiTask( "build-xml-entries",
grunt.file.mkdir( targetDir );
- util.eachFile( this.filesSrc, function( fileName, fileDone ) {
+ var count = 0;
+ async function transformFile( fileName ) {
+ count++;
grunt.verbose.write( "Transforming " + fileName + "..." );
- spawn( "xsltproc",
- [ "--xinclude", "entries2html.xsl", fileName ],
- function( error, content, stderr ) {
-
- // Certain errors won't cause the tranform to fail. For example, a
- // broken include will write to stderr, but still exit cleanly.
- if ( stderr && !error ) {
- error = new Error( stderr );
- }
+ const result = cp.spawnSync( "xsltproc",
+ [ "--xinclude", "entries2html.xsl", fileName ]
+ );
- if ( error ) {
- grunt.verbose.error();
- grunt.log.error( error );
- return fileDone( error );
- }
-
- grunt.verbose.ok();
-
- var targetFileName = targetDir + path.basename( fileName, ".xml" ) + ".html";
+ // Certain errors won't cause the tranform to fail. For example, a
+ // broken include will write to stderr, but still exit cleanly.
+ const error = result.stderr && result.stderr.toString();
+ if ( error ) {
+ throw new Error( error );
+ }
- // Syntax highlight code blocks
- if ( !grunt.option( "nohighlight" ) ) {
- content = syntaxHighlight( content );
- }
+ let content = result.stdout.toString();
- grunt.file.write( targetFileName, content );
- fileDone();
- } );
- }, function( _error, count ) {
- if ( task.errorCount ) {
- grunt.warn( "Task \"" + task.name + "\" failed." );
- return taskDone();
+ // Syntax highlight code blocks
+ if ( !grunt.option( "nohighlight" ) ) {
+ content = syntaxHighlight( content );
}
- grunt.log.writeln( "Built " + count + " entries." );
+ const targetFileName = targetDir + path.basename( fileName, ".xml" ) + ".html";
+ grunt.file.write( targetFileName, content );
+ grunt.verbose.ok();
+ }
+
+ try {
+ await util.eachFile( this.filesSrc, transformFile );
+ } catch ( e ) {
+ grunt.verbose.error();
+ grunt.log.error( e );
+ grunt.warn( "Task \"" + task.name + "\" failed." );
taskDone();
- } );
+ return;
+ }
+
+ grunt.log.writeln( "Built " + count + " entries." );
+ taskDone();
} );
grunt.registerTask( "build-xml-categories", function() {
@@ -122,68 +121,70 @@ grunt.registerTask( "build-xml-categories", function() {
return taskDone( false );
}
- spawn( "xsltproc",
- [ "--output", "taxonomies.xml",
- path.join( __dirname, "jquery-xml/cat2tax.xsl" ), "categories.xml" ],
- function( error ) {
- if ( error ) {
- grunt.verbose.error();
- grunt.log.error( error );
- return taskDone();
+ try {
+ cp.spawnSync( "xsltproc", [
+ "--output", "taxonomies.xml",
+ path.join( __dirname, "jquery-xml/cat2tax.xsl" ),
+ "categories.xml"
+ ] );
+ } catch ( error ) {
+ grunt.verbose.error();
+ grunt.log.error( error );
+ return taskDone();
+ }
+
+ try {
+ cp.spawnSync( "xsltproc", [
+ "--output", targetPath,
+ path.join( __dirname, "jquery-xml/xml2json.xsl" ),
+ "taxonomies.xml"
+ ] );
+ } catch ( error ) {
+ grunt.verbose.error();
+ grunt.log.error( error );
+ return taskDone();
+ }
+
+ // xml2json can't determine when to use an array if there is only one child,
+ // so we need to ensure all child terms are stored in an array
+ var taxonomies = grunt.file.readJSON( targetPath );
+ function normalize( term ) {
+ if ( term.children && term.children.item ) {
+ term.children = [ term.children.item ];
}
- spawn( "xsltproc",
- [ "--output", targetPath,
- path.join( __dirname, "jquery-xml/xml2json.xsl" ), "taxonomies.xml" ],
- function( error ) {
- if ( error ) {
- grunt.verbose.error();
- grunt.log.error( error );
- return taskDone();
- }
+ if ( term.children ) {
+ term.children.forEach( normalize );
+ }
+ }
+ taxonomies.category.forEach( normalize );
+ grunt.file.write( targetPath, JSON.stringify( taxonomies ) );
- // xml2json can't determine when to use an array if there is only one child,
- // so we need to ensure all child terms are stored in an array
- var taxonomies = grunt.file.readJSON( targetPath );
- function normalize( term ) {
- if ( term.children && term.children.item ) {
- term.children = [ term.children.item ];
- }
-
- if ( term.children ) {
- term.children.forEach( normalize );
- }
- }
- taxonomies.category.forEach( normalize );
- grunt.file.write( targetPath, JSON.stringify( taxonomies ) );
-
- // Syntax highlight code blocks
- function highlightDescription( category ) {
- if ( category.description ) {
- category.description = syntaxHighlight( category.description );
- }
- }
+ // Syntax highlight code blocks
+ function highlightDescription( category ) {
+ if ( category.description ) {
+ category.description = syntaxHighlight( category.description );
+ }
+ }
- function highlightCategories( categories ) {
- categories.forEach( function( category ) {
- highlightDescription( category );
- if ( category.children ) {
- highlightCategories( category.children );
- }
- } );
+ function highlightCategories( categories ) {
+ categories.forEach( function( category ) {
+ highlightDescription( category );
+ if ( category.children ) {
+ highlightCategories( category.children );
}
+ } );
+ }
- if ( !grunt.option( "nohighlight" ) ) {
- taxonomies = grunt.file.readJSON( targetPath );
- highlightCategories( taxonomies.category );
- grunt.file.write( targetPath, JSON.stringify( taxonomies ) );
- }
+ if ( !grunt.option( "nohighlight" ) ) {
+ taxonomies = grunt.file.readJSON( targetPath );
+ highlightCategories( taxonomies.category );
+ grunt.file.write( targetPath, JSON.stringify( taxonomies ) );
+ }
- fs.unlinkSync( "taxonomies.xml" );
- grunt.verbose.ok();
- taskDone();
- } );
- } );
+ fs.unlinkSync( "taxonomies.xml" );
+ grunt.verbose.ok();
+ taskDone();
} );
grunt.registerTask( "build-xml-full", function() {
@@ -202,26 +203,32 @@ grunt.registerTask( "build-xml-full", function() {
}
} );
- spawn( "xsltproc",
- [ "--xinclude", "--path", process.cwd(),
-
- // "--output", grunt.config( "wordpress.dir" ) + "/resources/api.xml",
- path.join( __dirname, "jquery-xml/all-entries.xsl" ), "all-entries.xml" ],
- function( error, result ) {
+ let result;
+ let error;
+ try {
+ result = cp.spawnSync( "xsltproc", [
+ "--xinclude",
+ "--path", process.cwd(),
+ path.join( __dirname, "jquery-xml/all-entries.xsl" ),
+ "all-entries.xml"
+ ] );
+ } catch ( e ) {
+ error = e;
+ }
- // For some reason using --output with xsltproc kills the --xinclude option,
- // so we let it write to stdout, then save it to a file
- grunt.file.write( grunt.config( "wordpress.dir" ) + "/resources/api.xml", result );
- fs.unlinkSync( "all-entries.xml" );
+ // For some reason using --output with xsltproc kills the --xinclude option,
+ // so we let it write to stdout, then save it to a file
+ const content = result.stdout.toString();
+ grunt.file.write( grunt.config( "wordpress.dir" ) + "/resources/api.xml", content );
+ fs.unlinkSync( "all-entries.xml" );
- if ( error ) {
- grunt.verbose.error();
- grunt.log.error( error );
- return taskDone( false );
- }
+ if ( error ) {
+ grunt.verbose.error();
+ grunt.log.error( error );
+ return taskDone( false );
+ }
- taskDone();
- } );
+ taskDone();
} );
};
diff --git a/tasks/build.js b/tasks/build.js
index e960fa4..271fef7 100644
--- a/tasks/build.js
+++ b/tasks/build.js
@@ -21,7 +21,8 @@ grunt.registerTask( "lint", [] );
grunt.registerTask( "build-wordpress", [ "check-modules", "lint", "clean-dist", "build" ] );
-grunt.registerMultiTask( "build-posts", "Process html and markdown files as posts", function() {
+grunt.registerMultiTask( "build-posts",
+ "Process html and markdown files as posts", async function() {
var task = this,
taskDone = task.async(),
wordpressClient = wordpress.createClient( grunt.config( "wordpress" ) ),
@@ -32,74 +33,78 @@ grunt.registerMultiTask( "build-posts", "Process html and markdown files as post
grunt.file.mkdir( targetDir );
- function parsePost( fileName, callback ) {
- wordpressClient.parsePost( fileName, function( error, post ) {
- if ( error ) {
- return callback( error );
- }
-
- preprocessor( post, fileName, callback );
+ async function parsePost( fileName ) {
+ return new Promise( function( resolve, reject ) {
+ wordpressClient.parsePost( fileName, function( error, post ) {
+ if ( error ) {
+ return reject( error );
+ }
+
+ preprocessor( post, fileName, function( err, res ) {
+ if ( error ) {
+ return reject( err );
+ }
+ resolve( res );
+ } );
+ } );
} );
}
- util.eachFile( this.filesSrc, function( fileName, fileDone ) {
+ var count = 0;
+ async function processFile( fileName ) {
+ count++;
grunt.verbose.write( "Processing " + fileName + "..." );
- parsePost( fileName, function( error, post ) {
- if ( error ) {
- return fileDone( error );
- }
+ const post = await parsePost( fileName );
- var content = post.content,
- fileType = /\.(\w+)$/.exec( fileName )[ 1 ],
- targetFileName = targetDir +
- ( post.fileName || fileName.replace( /^.+?\/(.+)\.\w+$/, "$1" ) + ".html" );
+ var content = post.content,
+ fileType = /\.(\w+)$/.exec( fileName )[ 1 ],
+ targetFileName = targetDir +
+ ( post.fileName || fileName.replace( /^.+?\/(.+)\.\w+$/, "$1" ) + ".html" );
- delete post.content;
- delete post.fileName;
+ delete post.content;
+ delete post.fileName;
- // Convert markdown to HTML
- if ( fileType === "md" ) {
- content = util.parseMarkdown( content, {
- generateLinks: post.toc || !post.noHeadingLinks,
- generateToc: post.toc
- } );
- delete post.noHeadingLinks;
- delete post.toc;
- }
-
- // Replace partials
- content = content.replace( /@partial\((.+)\)/g,
- function( _match, input ) {
- return util.htmlEscape( grunt.file.read( input ) );
+ // Convert markdown to HTML
+ if ( fileType === "md" ) {
+ content = util.parseMarkdown( content, {
+ generateLinks: post.toc || !post.noHeadingLinks,
+ generateToc: post.toc
} );
+ delete post.noHeadingLinks;
+ delete post.toc;
+ }
- // Syntax highlight code blocks
- if ( !grunt.option( "nohighlight" ) ) {
- content = syntaxHighlight( content );
- }
-
- post.customFields = post.customFields || [];
- post.customFields.push( {
- key: "source_path",
- value: fileName
- } );
+ // Replace partials
+ content = content.replace( /@partial\((.+)\)/g, function( _match, input ) {
+ return util.htmlEscape( grunt.file.read( input ) );
+ } );
- // Write file
- grunt.file.write( targetFileName,
- "\n" + content );
+ // Syntax highlight code blocks
+ if ( !grunt.option( "nohighlight" ) ) {
+ content = syntaxHighlight( content );
+ }
- fileDone();
+ post.customFields = post.customFields || [];
+ post.customFields.push( {
+ key: "source_path",
+ value: fileName
} );
- }, function( _error, count ) {
- if ( task.errorCount ) {
- grunt.warn( "Task \"" + task.name + "\" failed." );
- return taskDone();
- }
- grunt.log.writeln( "Built " + count + " pages." );
- taskDone();
- } );
+ // Write file
+ grunt.file.write( targetFileName,
+ "\n" + content );
+ }
+
+ try {
+ await util.eachFile( this.filesSrc, processFile );
+ } catch ( e ) {
+ grunt.warn( "Task \"" + task.name + "\" failed." );
+ return taskDone();
+ }
+
+ grunt.log.writeln( "Built " + count + " pages." );
+ taskDone();
} );
grunt.registerMultiTask( "build-resources", "Copy resources", function() {
@@ -109,20 +114,21 @@ grunt.registerMultiTask( "build-resources", "Copy resources", function() {
grunt.file.mkdir( targetDir );
- util.eachFile( this.filesSrc, function( fileName, fileDone ) {
- if ( grunt.file.isFile( fileName ) ) {
- grunt.file.copy( fileName, targetDir + fileName.replace( /^.+?\//, "" ) );
- }
- fileDone();
- }, function( _error, count ) {
- if ( task.errorCount ) {
- grunt.warn( "Task \"" + task.name + "\" failed." );
- return taskDone();
+ var count = 0;
+ try {
+ for ( const fileName of this.filesSrc ) {
+ if ( grunt.file.isFile( fileName ) ) {
+ grunt.file.copy( fileName, targetDir + fileName.replace( /^.+?\//, "" ) );
+ count++;
+ }
}
+ } catch ( e ) {
+ grunt.warn( "Task \"" + task.name + "\" failed." );
+ return taskDone();
+ }
- grunt.log.writeln( "Built " + count + " resources." );
- taskDone();
- } );
+ grunt.log.writeln( "Built " + count + " resources." );
+ taskDone();
} );
};
diff --git a/test/lint.test.js b/test/lint.test.js
new file mode 100644
index 0000000..6d3667f
--- /dev/null
+++ b/test/lint.test.js
@@ -0,0 +1,30 @@
+/* eslint-env qunit */
+"use strict";
+
+const cp = require( "child_process" );
+const path = require( "path" );
+const ROOT = path.join( __dirname, ".." );
+
+QUnit.module( "lint", function() {
+ QUnit.test( "fixture", function( assert ) {
+ let stdout;
+ try {
+ const result = cp.execSync( "npm run -s lint-example", {
+ cwd: ROOT,
+ env: { PATH: process.env.PATH, NPM_CONFIG_UPDATE_NOTIFIER: "false" },
+ encoding: "utf8"
+ } );
+ stdout = result.toString().trim();
+ } catch ( e ) {
+ assert.equal( e.stdout || e.toString(), "", "error" );
+ return;
+ }
+
+ const expect =
+`Running "xmllint:all" (xmllint) task
+Lint free files: 2
+
+Done.`;
+ assert.strictEqual( stdout, expect, "stdout" );
+ } );
+} );
From 7ff23bea871be6121c55837aad382a56260580fa Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 12 Nov 2023 19:02:05 +0000
Subject: [PATCH 47/54] 3.2.1
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index c3bae2a..cf21338 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "grunt-jquery-content",
- "version": "3.2.0",
+ "version": "3.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "grunt-jquery-content",
- "version": "3.2.0",
+ "version": "3.2.1",
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"gilded-wordpress": "1.0.6",
diff --git a/package.json b/package.json
index 3392ce7..f7280e5 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.2.0",
+ "version": "3.2.1",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 0326aa52c62fe368f05c7d2c8e7891d39255eb7d Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 12 Nov 2023 20:34:20 +0000
Subject: [PATCH 48/54] 3.3.0
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index cf21338..532c77e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "grunt-jquery-content",
- "version": "3.2.1",
+ "version": "3.3.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "grunt-jquery-content",
- "version": "3.2.1",
+ "version": "3.3.0",
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"gilded-wordpress": "1.0.6",
diff --git a/package.json b/package.json
index f7280e5..06a3b76 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.2.1",
+ "version": "3.3.0",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 57bcbf75bc1e99f798d823f48d928aa129daf364 Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 12 Nov 2023 20:38:57 +0000
Subject: [PATCH 49/54] Build: Update to gilded-wordpress 1.0.7
This resolves npm audit warnings about minimatch,
which affected `glob <=5.0.14`.
Ref https://github.com/scottgonzalez/gilded-wordpress/pull/7
---
package-lock.json | 146 ++++++----------------------------------------
package.json | 2 +-
2 files changed, 18 insertions(+), 130 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 532c77e..276b9bf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "3.3.0",
"dependencies": {
"cheerio": "^1.0.0-rc.12",
- "gilded-wordpress": "1.0.6",
+ "gilded-wordpress": "1.0.7",
"grunt-check-modules": "^1.1.0",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
@@ -98,18 +98,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/@eslint/eslintrc/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/@eslint/js": {
"version": "8.53.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
@@ -133,18 +121,6 @@
"node": ">=10.10.0"
}
},
- "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -719,18 +695,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/eslint/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/espree": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
@@ -991,12 +955,11 @@
}
},
"node_modules/gilded-wordpress": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.6.tgz",
- "integrity": "sha512-xL03MCIpMfIgwsnSA2akCqRZ35Odfgp5xi6xXIl494LA4MwY3VGw844X+AlSHKnIezL/0aHQQNOevWtmpfvzTw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.7.tgz",
+ "integrity": "sha512-w8g4jfs1TWywX2hZ4+LlzQoz2z/JRX/8S6OgelD3IUsNnGHxXQ1FgExoIqomwZVPAmxYs0vEu2BeA1Y4KciZlw==",
"dependencies": {
"async": "^0.9.0",
- "glob": "^4.0.6",
"wordpress": "^1.4.2"
}
},
@@ -1005,20 +968,6 @@
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw=="
},
- "node_modules/glob": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==",
- "dependencies": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^2.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -1665,12 +1614,12 @@
}
},
"node_modules/minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue",
+ "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.0.0"
+ "brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
@@ -2101,18 +2050,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rimraf/node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -2436,15 +2373,6 @@
"requires": {
"argparse": "^2.0.1"
}
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
}
}
},
@@ -2463,17 +2391,6 @@
"@humanwhocodes/object-schema": "^2.0.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
- },
- "dependencies": {
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
}
},
"@humanwhocodes/module-importer": {
@@ -2869,15 +2786,6 @@
"requires": {
"argparse": "^2.0.1"
}
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
}
}
},
@@ -3099,12 +3007,11 @@
"integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg=="
},
"gilded-wordpress": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.6.tgz",
- "integrity": "sha512-xL03MCIpMfIgwsnSA2akCqRZ35Odfgp5xi6xXIl494LA4MwY3VGw844X+AlSHKnIezL/0aHQQNOevWtmpfvzTw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.7.tgz",
+ "integrity": "sha512-w8g4jfs1TWywX2hZ4+LlzQoz2z/JRX/8S6OgelD3IUsNnGHxXQ1FgExoIqomwZVPAmxYs0vEu2BeA1Y4KciZlw==",
"requires": {
"async": "^0.9.0",
- "glob": "^4.0.6",
"wordpress": "^1.4.2"
},
"dependencies": {
@@ -3115,17 +3022,6 @@
}
}
},
- "glob": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==",
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^2.0.1",
- "once": "^1.3.0"
- }
- },
"glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -3608,11 +3504,12 @@
}
},
"minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
"requires": {
- "brace-expansion": "^1.0.0"
+ "brace-expansion": "^1.1.7"
}
},
"ms": {
@@ -3907,15 +3804,6 @@
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
}
}
},
diff --git a/package.json b/package.json
index 06a3b76..1ef5975 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"grunt-check-modules": "^1.1.0",
- "gilded-wordpress": "1.0.6",
+ "gilded-wordpress": "1.0.7",
"he": "^1.2.0",
"highlight.js": "^10.7.2",
"marked": "^4.0.0",
From add624ce8934596302b216144727cb7a1a768b99 Mon Sep 17 00:00:00 2001
From: Timo Tijhof
Date: Sun, 12 Nov 2023 20:41:24 +0000
Subject: [PATCH 50/54] 3.3.1
---
.npmignore | 3 +
package-lock.json | 1684 +--------------------------------------------
package.json | 2 +-
3 files changed, 7 insertions(+), 1682 deletions(-)
create mode 100644 .npmignore
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000..b0a3eb8
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,3 @@
+/.*
+/fixture
+/test
diff --git a/package-lock.json b/package-lock.json
index 276b9bf..90593fc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "grunt-jquery-content",
- "version": "3.3.0",
- "lockfileVersion": 2,
+ "version": "3.3.1",
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "grunt-jquery-content",
- "version": "3.3.0",
+ "version": "3.3.1",
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"gilded-wordpress": "1.0.7",
@@ -2319,1683 +2319,5 @@
"url": "https://github.com/sponsors/sindresorhus"
}
}
- },
- "dependencies": {
- "@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
- },
- "@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,
- "requires": {
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "@eslint-community/regexpp": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
- "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
- "dev": true
- },
- "@eslint/eslintrc": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
- "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
- "dev": true,
- "requires": {
- "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"
- },
- "dependencies": {
- "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
- },
- "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,
- "requires": {
- "argparse": "^2.0.1"
- }
- }
- }
- },
- "@eslint/js": {
- "version": "8.53.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
- "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
- "dev": true
- },
- "@humanwhocodes/config-array": {
- "version": "0.11.13",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
- "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^2.0.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- }
- },
- "@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
- },
- "@humanwhocodes/object-schema": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
- "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
- "dev": true
- },
- "@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,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@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
- },
- "@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,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
- },
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "acorn": {
- "version": "8.11.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
- "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
- "dev": true
- },
- "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,
- "requires": {}
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "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
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "requires": {
- "sprintf-js": "~1.0.2"
- },
- "dependencies": {
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
- }
- }
- },
- "array-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA=="
- },
- "array-slice": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
- },
- "async": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz",
- "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g=="
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "cheerio": {
- "version": "1.0.0-rc.12",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
- "requires": {
- "cheerio-select": "^2.1.0",
- "dom-serializer": "^2.0.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1",
- "htmlparser2": "^8.0.1",
- "parse5": "^7.0.0",
- "parse5-htmlparser2-tree-adapter": "^7.0.0"
- }
- },
- "cheerio-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
- "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
- "requires": {
- "boolbase": "^1.0.0",
- "css-select": "^5.1.0",
- "css-what": "^6.1.0",
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1"
- }
- },
- "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==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "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=="
- },
- "colors": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
- },
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "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,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "css-select": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^6.1.0",
- "domhandler": "^5.0.2",
- "domutils": "^3.0.1",
- "nth-check": "^2.0.1"
- }
- },
- "css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
- },
- "dateformat": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
- "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA=="
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "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
- },
- "detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "dom-serializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
- "requires": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.2",
- "entities": "^4.2.0"
- }
- },
- "domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
- },
- "domhandler": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
- "requires": {
- "domelementtype": "^2.3.0"
- }
- },
- "domutils": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
- "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
- "requires": {
- "dom-serializer": "^2.0.0",
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.1"
- }
- },
- "entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "eslint": {
- "version": "8.53.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
- "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.3",
- "@eslint/js": "8.53.0",
- "@humanwhocodes/config-array": "^0.11.13",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "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"
- },
- "dependencies": {
- "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
- },
- "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,
- "requires": {
- "argparse": "^2.0.1"
- }
- }
- }
- },
- "eslint-config-jquery": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/eslint-config-jquery/-/eslint-config-jquery-3.0.2.tgz",
- "integrity": "sha512-1CdP7AY5ZuhDGUXz+/b7FwhRnDoK0A1swz+2nZ+zpEYJ3EyV085AOAfpFJL2s+ioHDspNQEsGSsl9uUEm9/f/g==",
- "dev": true
- },
- "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,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "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
- },
- "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,
- "requires": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
- },
- "esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "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,
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "eventemitter2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
- "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas="
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
- },
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "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
- },
- "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
- },
- "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
- },
- "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,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "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,
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "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,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "findup-sync": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
- "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.3",
- "micromatch": "^4.0.4",
- "resolve-dir": "^1.0.1"
- }
- },
- "fined": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
- "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
- "requires": {
- "expand-tilde": "^2.0.2",
- "is-plain-object": "^2.0.3",
- "object.defaults": "^1.1.0",
- "object.pick": "^1.2.0",
- "parse-filepath": "^1.0.1"
- }
- },
- "flagged-respawn": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
- "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
- },
- "flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "requires": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
- "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
- "dev": true
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
- },
- "for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "getobject": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz",
- "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg=="
- },
- "gilded-wordpress": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.7.tgz",
- "integrity": "sha512-w8g4jfs1TWywX2hZ4+LlzQoz2z/JRX/8S6OgelD3IUsNnGHxXQ1FgExoIqomwZVPAmxYs0vEu2BeA1Y4KciZlw==",
- "requires": {
- "async": "^0.9.0",
- "wordpress": "^1.4.2"
- },
- "dependencies": {
- "async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw=="
- }
- }
- },
- "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,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
- "requires": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
- }
- },
- "global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "requires": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "globals": {
- "version": "13.23.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
- "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globalyzer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
- "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
- "dev": true
- },
- "globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
- },
- "graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
- },
- "grunt": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz",
- "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==",
- "requires": {
- "dateformat": "~4.6.2",
- "eventemitter2": "~0.4.13",
- "exit": "~0.1.2",
- "findup-sync": "~5.0.0",
- "glob": "~7.1.6",
- "grunt-cli": "~1.4.3",
- "grunt-known-options": "~2.0.0",
- "grunt-legacy-log": "~3.0.0",
- "grunt-legacy-util": "~2.0.1",
- "iconv-lite": "~0.6.3",
- "js-yaml": "~3.14.0",
- "minimatch": "~3.0.4",
- "nopt": "~3.0.6"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "grunt-cli": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
- "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
- "requires": {
- "grunt-known-options": "~2.0.0",
- "interpret": "~1.1.0",
- "liftup": "~3.0.1",
- "nopt": "~4.0.1",
- "v8flags": "~3.2.0"
- },
- "dependencies": {
- "nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- }
- }
- },
- "minimatch": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
- "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "grunt-check-modules": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/grunt-check-modules/-/grunt-check-modules-1.1.0.tgz",
- "integrity": "sha1-fBZB28ZlSGdqbVl5Ga35C3s11kQ=",
- "requires": {}
- },
- "grunt-known-options": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz",
- "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA=="
- },
- "grunt-legacy-log": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz",
- "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==",
- "requires": {
- "colors": "~1.1.2",
- "grunt-legacy-log-utils": "~2.1.0",
- "hooker": "~0.2.3",
- "lodash": "~4.17.19"
- }
- },
- "grunt-legacy-log-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz",
- "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==",
- "requires": {
- "chalk": "~4.1.0",
- "lodash": "~4.17.19"
- }
- },
- "grunt-legacy-util": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz",
- "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==",
- "requires": {
- "async": "~3.2.0",
- "exit": "~0.1.2",
- "getobject": "~1.0.0",
- "hooker": "~0.2.3",
- "lodash": "~4.17.21",
- "underscore.string": "~3.3.5",
- "which": "~2.0.2"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- },
- "highlight.js": {
- "version": "10.7.2",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz",
- "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg=="
- },
- "homedir-polyfill": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
- "requires": {
- "parse-passwd": "^1.0.0"
- }
- },
- "hooker": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
- "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk="
- },
- "htmlparser2": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
- "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
- "requires": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1",
- "entities": "^4.4.0"
- }
- },
- "iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true
- },
- "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,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
- },
- "interpret": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
- },
- "is-absolute": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
- "requires": {
- "is-relative": "^1.0.0",
- "is-windows": "^1.0.1"
- }
- },
- "is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "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
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-relative": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
- "requires": {
- "is-unc-path": "^1.0.0"
- }
- },
- "is-unc-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
- "requires": {
- "unc-path-regex": "^0.1.2"
- }
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "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
- },
- "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
- },
- "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,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "liftup": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz",
- "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==",
- "requires": {
- "extend": "^3.0.2",
- "findup-sync": "^4.0.0",
- "fined": "^1.2.0",
- "flagged-respawn": "^1.0.1",
- "is-plain-object": "^2.0.4",
- "object.map": "^1.0.1",
- "rechoir": "^0.7.0",
- "resolve": "^1.19.0"
- },
- "dependencies": {
- "findup-sync": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz",
- "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==",
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.0",
- "micromatch": "^4.0.2",
- "resolve-dir": "^1.0.1"
- }
- }
- }
- },
- "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,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "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
- },
- "make-iterator": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
- "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
- },
- "marked": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
- "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A=="
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "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
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node-watch": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz",
- "integrity": "sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==",
- "dev": true
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "requires": {
- "abbrev": "1"
- }
- },
- "nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "object.defaults": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
- "requires": {
- "array-each": "^1.0.1",
- "array-slice": "^1.0.0",
- "for-own": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "object.map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
- "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
- "requires": {
- "for-own": "^1.0.0",
- "make-iterator": "^1.0.0"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
- "optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "dev": true,
- "requires": {
- "@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"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
- },
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "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,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "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,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "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,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-filepath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
- "requires": {
- "is-absolute": "^1.0.0",
- "map-cache": "^0.2.0",
- "path-root": "^0.1.1"
- }
- },
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
- },
- "parse5": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
- "requires": {
- "entities": "^4.4.0"
- }
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
- "requires": {
- "domhandler": "^5.0.2",
- "parse5": "^7.0.0"
- }
- },
- "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
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "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
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "requires": {
- "path-root-regex": "^0.1.0"
- }
- },
- "path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "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
- },
- "punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true
- },
- "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
- },
- "qunit": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.20.0.tgz",
- "integrity": "sha512-N8Fp1J55waE+QG1KwX2LOyqulZUToRrrPBqDOfYfuAMkEglFL15uwvmH1P4Tq/omQ/mGbBI8PEB3PhIfvUb+jg==",
- "dev": true,
- "requires": {
- "commander": "7.2.0",
- "node-watch": "0.7.3",
- "tiny-glob": "0.2.9"
- }
- },
- "rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
- "requires": {
- "resolve": "^1.9.0"
- }
- },
- "resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "requires": {
- "is-core-module": "^2.8.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
- "requires": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
- }
- },
- "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
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "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,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "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,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "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
- },
- "sprintf-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
- },
- "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,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "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
- },
- "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==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "tiny-glob": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
- "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
- "dev": true,
- "requires": {
- "globalyzer": "0.1.0",
- "globrex": "^0.1.2"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "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,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
- },
- "unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
- },
- "underscore.string": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz",
- "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==",
- "requires": {
- "sprintf-js": "^1.1.1",
- "util-deprecate": "^1.0.2"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "v8flags": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
- "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
- "which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
- "requires": {
- "isexe": "^3.1.1"
- },
- "dependencies": {
- "isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="
- }
- }
- },
- "wordpress": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/wordpress/-/wordpress-1.4.2.tgz",
- "integrity": "sha512-T+o+Af6pK7mhTz/rJEZk4PpSIyRMVhx6vZm6UsmrnlL8pVudhu1gWzn1n3wZXlcEZQz7I0AOkEvPQ5hu++L+qg==",
- "requires": {
- "xmlrpc": "1.3.2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "xmlbuilder": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
- "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
- },
- "xmlrpc": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz",
- "integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=",
- "requires": {
- "sax": "1.2.x",
- "xmlbuilder": "8.2.x"
- }
- },
- "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
- }
}
}
diff --git a/package.json b/package.json
index 1ef5975..307177e 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.3.0",
+ "version": "3.3.1",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"
From 89ec87a29d198018fc258609ddbd5acf4caca3bd Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 8 Jul 2024 23:21:20 +0200
Subject: [PATCH 51/54] Build(deps): Bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)
Closes gh-93
---
updated-dependencies:
- dependency-name: braces
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 90593fc..9f9c3bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -300,11 +300,11 @@
}
},
"node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dependencies": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -835,9 +835,9 @@
}
},
"node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dependencies": {
"to-regex-range": "^5.0.1"
},
From 1abaf4b81c800f332880583e6d97b0ef6b2b44c0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 2 Sep 2024 23:49:03 +0200
Subject: [PATCH 52/54] Build: Bump micromatch from 4.0.5 to 4.0.8
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)
Closes gh-94
---
updated-dependencies:
- dependency-name: micromatch
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9f9c3bd..8f164a6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1602,11 +1602,11 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dependencies": {
- "braces": "^3.0.2",
+ "braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
From 00ee37ddbedb9a63b21197951770fe7d1b1263d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aldimar=20J=C3=BAnior?=
<98884282+aldimar-junior@users.noreply.github.com>
Date: Mon, 14 Apr 2025 13:56:01 -0300
Subject: [PATCH 53/54] API Sites: Separate consecutive examples more clearly
If there's more than one example append an `` tag with the number of
the example, e.g. "Example 1".
Closes gh-95
Ref jquery/api.jquery.com#1157
Ref jquery/jquery-wp-content#481
---
tasks/jquery-xml/entries2html-base.xsl | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tasks/jquery-xml/entries2html-base.xsl b/tasks/jquery-xml/entries2html-base.xsl
index 3555b2e..fa2b581 100644
--- a/tasks/jquery-xml/entries2html-base.xsl
+++ b/tasks/jquery-xml/entries2html-base.xsl
@@ -669,6 +669,11 @@
+
+
+ Example
+
+
From a8c00fa2ea22d9a9ea55816ab946908ebf25919a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
Date: Mon, 14 Apr 2025 19:01:41 +0200
Subject: [PATCH 54/54] 3.3.2
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 8f164a6..4f679c6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "grunt-jquery-content",
- "version": "3.3.1",
+ "version": "3.3.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "grunt-jquery-content",
- "version": "3.3.1",
+ "version": "3.3.2",
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"gilded-wordpress": "1.0.7",
diff --git a/package.json b/package.json
index 307177e..64bcda7 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "grunt-jquery-content",
"description": "A collection of tasks for building the jQuery websites",
- "version": "3.3.1",
+ "version": "3.3.2",
"homepage": "https://github.com/jquery/grunt-jquery-content",
"author": {
"name": "jQuery Foundation and other contributors"