diff --git a/src/constants/links.json b/src/constants/links.json index 3fd38ab..1f321d6 100644 --- a/src/constants/links.json +++ b/src/constants/links.json @@ -1,3052 +1,769 @@ [ - [ - "nodejs/docs/v0.1.100", - "nodejs/release/v0.1.100/docs" - ], - [ - "nodejs/docs/v0.1.101", - "nodejs/release/v0.1.101/docs" - ], - [ - "nodejs/docs/v0.1.102", - "nodejs/release/v0.1.102/docs" - ], - [ - "nodejs/docs/v0.1.103", - "nodejs/release/v0.1.103/docs" - ], - [ - "nodejs/docs/v0.1.104", - "nodejs/release/v0.1.104/docs" - ], - [ - "nodejs/docs/v0.1.14", - "nodejs/release/v0.1.14/docs" - ], - [ - "nodejs/docs/v0.1.15", - "nodejs/release/v0.1.15/docs" - ], - [ - "nodejs/docs/v0.1.16", - "nodejs/release/v0.1.16/docs" - ], - [ - "nodejs/docs/v0.1.17", - "nodejs/release/v0.1.17/docs" - ], - [ - "nodejs/docs/v0.1.18", - "nodejs/release/v0.1.18/docs" - ], - [ - "nodejs/docs/v0.1.19", - "nodejs/release/v0.1.19/docs" - ], - [ - "nodejs/docs/v0.1.20", - "nodejs/release/v0.1.20/docs" - ], - [ - "nodejs/docs/v0.1.21", - "nodejs/release/v0.1.21/docs" - ], - [ - "nodejs/docs/v0.1.22", - "nodejs/release/v0.1.22/docs" - ], - [ - "nodejs/docs/v0.1.23", - "nodejs/release/v0.1.23/docs" - ], - [ - "nodejs/docs/v0.1.24", - "nodejs/release/v0.1.24/docs" - ], - [ - "nodejs/docs/v0.1.25", - "nodejs/release/v0.1.25/docs" - ], - [ - "nodejs/docs/v0.1.26", - "nodejs/release/v0.1.26/docs" - ], - [ - "nodejs/docs/v0.1.27", - "nodejs/release/v0.1.27/docs" - ], - [ - "nodejs/docs/v0.1.28", - "nodejs/release/v0.1.28/docs" - ], - [ - "nodejs/docs/v0.1.29", - "nodejs/release/v0.1.29/docs" - ], - [ - "nodejs/docs/v0.1.30", - "nodejs/release/v0.1.30/docs" - ], - [ - "nodejs/docs/v0.1.31", - "nodejs/release/v0.1.31/docs" - ], - [ - "nodejs/docs/v0.1.32", - "nodejs/release/v0.1.32/docs" - ], - [ - "nodejs/docs/v0.1.33", - "nodejs/release/v0.1.33/docs" - ], - [ - "nodejs/docs/v0.1.90", - "nodejs/release/v0.1.90/docs" - ], - [ - "nodejs/docs/v0.1.91", - "nodejs/release/v0.1.91/docs" - ], - [ - "nodejs/docs/v0.1.92", - "nodejs/release/v0.1.92/docs" - ], - [ - "nodejs/docs/v0.1.93", - "nodejs/release/v0.1.93/docs" - ], - [ - "nodejs/docs/v0.1.94", - "nodejs/release/v0.1.94/docs" - ], - [ - "nodejs/docs/v0.1.95", - "nodejs/release/v0.1.95/docs" - ], - [ - "nodejs/docs/v0.1.96", - "nodejs/release/v0.1.96/docs" - ], - [ - "nodejs/docs/v0.1.97", - "nodejs/release/v0.1.97/docs" - ], - [ - "nodejs/docs/v0.1.98", - "nodejs/release/v0.1.98/docs" - ], - [ - "nodejs/docs/v0.1.99", - "nodejs/release/v0.1.99/docs" - ], - [ - "nodejs/docs/v0.10.0", - "nodejs/release/v0.10.0/docs" - ], - [ - "nodejs/docs/v0.10.1", - "nodejs/release/v0.10.1/docs" - ], - [ - "nodejs/docs/v0.10.10", - "nodejs/release/v0.10.10/docs" - ], - [ - "nodejs/docs/v0.10.11", - "nodejs/release/v0.10.11/docs" - ], - [ - "nodejs/docs/v0.10.12", - "nodejs/release/v0.10.12/docs" - ], - [ - "nodejs/docs/v0.10.13", - "nodejs/release/v0.10.13/docs" - ], - [ - "nodejs/docs/v0.10.14", - "nodejs/release/v0.10.14/docs" - ], - [ - "nodejs/docs/v0.10.15", - "nodejs/release/v0.10.15/docs" - ], + ["nodejs/docs/v0.1.100", "nodejs/release/v0.1.100/docs"], + ["nodejs/docs/v0.1.101", "nodejs/release/v0.1.101/docs"], + ["nodejs/docs/v0.1.102", "nodejs/release/v0.1.102/docs"], + ["nodejs/docs/v0.1.103", "nodejs/release/v0.1.103/docs"], + ["nodejs/docs/v0.1.104", "nodejs/release/v0.1.104/docs"], + ["nodejs/docs/v0.1.14", "nodejs/release/v0.1.14/docs"], + ["nodejs/docs/v0.1.15", "nodejs/release/v0.1.15/docs"], + ["nodejs/docs/v0.1.16", "nodejs/release/v0.1.16/docs"], + ["nodejs/docs/v0.1.17", "nodejs/release/v0.1.17/docs"], + ["nodejs/docs/v0.1.18", "nodejs/release/v0.1.18/docs"], + ["nodejs/docs/v0.1.19", "nodejs/release/v0.1.19/docs"], + ["nodejs/docs/v0.1.20", "nodejs/release/v0.1.20/docs"], + ["nodejs/docs/v0.1.21", "nodejs/release/v0.1.21/docs"], + ["nodejs/docs/v0.1.22", "nodejs/release/v0.1.22/docs"], + ["nodejs/docs/v0.1.23", "nodejs/release/v0.1.23/docs"], + ["nodejs/docs/v0.1.24", "nodejs/release/v0.1.24/docs"], + ["nodejs/docs/v0.1.25", "nodejs/release/v0.1.25/docs"], + ["nodejs/docs/v0.1.26", "nodejs/release/v0.1.26/docs"], + ["nodejs/docs/v0.1.27", "nodejs/release/v0.1.27/docs"], + ["nodejs/docs/v0.1.28", "nodejs/release/v0.1.28/docs"], + ["nodejs/docs/v0.1.29", "nodejs/release/v0.1.29/docs"], + ["nodejs/docs/v0.1.30", "nodejs/release/v0.1.30/docs"], + ["nodejs/docs/v0.1.31", "nodejs/release/v0.1.31/docs"], + ["nodejs/docs/v0.1.32", "nodejs/release/v0.1.32/docs"], + ["nodejs/docs/v0.1.33", "nodejs/release/v0.1.33/docs"], + ["nodejs/docs/v0.1.90", "nodejs/release/v0.1.90/docs"], + ["nodejs/docs/v0.1.91", "nodejs/release/v0.1.91/docs"], + ["nodejs/docs/v0.1.92", "nodejs/release/v0.1.92/docs"], + ["nodejs/docs/v0.1.93", "nodejs/release/v0.1.93/docs"], + ["nodejs/docs/v0.1.94", "nodejs/release/v0.1.94/docs"], + ["nodejs/docs/v0.1.95", "nodejs/release/v0.1.95/docs"], + ["nodejs/docs/v0.1.96", "nodejs/release/v0.1.96/docs"], + ["nodejs/docs/v0.1.97", "nodejs/release/v0.1.97/docs"], + ["nodejs/docs/v0.1.98", "nodejs/release/v0.1.98/docs"], + ["nodejs/docs/v0.1.99", "nodejs/release/v0.1.99/docs"], + ["nodejs/docs/v0.10.0", "nodejs/release/v0.10.0/docs"], + ["nodejs/docs/v0.10.1", "nodejs/release/v0.10.1/docs"], + ["nodejs/docs/v0.10.10", "nodejs/release/v0.10.10/docs"], + ["nodejs/docs/v0.10.11", "nodejs/release/v0.10.11/docs"], + ["nodejs/docs/v0.10.12", "nodejs/release/v0.10.12/docs"], + ["nodejs/docs/v0.10.13", "nodejs/release/v0.10.13/docs"], + ["nodejs/docs/v0.10.14", "nodejs/release/v0.10.14/docs"], + ["nodejs/docs/v0.10.15", "nodejs/release/v0.10.15/docs"], [ "nodejs/docs/v0.10.16-isaacs-manual", "nodejs/release/v0.10.16-isaacs-manual/docs" ], - [ - "nodejs/docs/v0.10.16", - "nodejs/release/v0.10.16/docs" - ], - [ - "nodejs/docs/v0.10.17", - "nodejs/release/v0.10.17/docs" - ], - [ - "nodejs/docs/v0.10.18", - "nodejs/release/v0.10.18/docs" - ], - [ - "nodejs/docs/v0.10.19", - "nodejs/release/v0.10.19/docs" - ], - [ - "nodejs/docs/v0.10.2", - "nodejs/release/v0.10.2/docs" - ], - [ - "nodejs/docs/v0.10.20", - "nodejs/release/v0.10.20/docs" - ], - [ - "nodejs/docs/v0.10.21", - "nodejs/release/v0.10.21/docs" - ], - [ - "nodejs/docs/v0.10.22", - "nodejs/release/v0.10.22/docs" - ], - [ - "nodejs/docs/v0.10.23", - "nodejs/release/v0.10.23/docs" - ], - [ - "nodejs/docs/v0.10.24", - "nodejs/release/v0.10.24/docs" - ], - [ - "nodejs/docs/v0.10.25", - "nodejs/release/v0.10.25/docs" - ], - [ - "nodejs/docs/v0.10.26", - "nodejs/release/v0.10.26/docs" - ], - [ - "nodejs/docs/v0.10.27", - "nodejs/release/v0.10.27/docs" - ], - [ - "nodejs/docs/v0.10.28", - "nodejs/release/v0.10.28/docs" - ], - [ - "nodejs/docs/v0.10.29", - "nodejs/release/v0.10.29/docs" - ], - [ - "nodejs/docs/v0.10.3", - "nodejs/release/v0.10.3/docs" - ], - [ - "nodejs/docs/v0.10.30", - "nodejs/release/v0.10.30/docs" - ], - [ - "nodejs/docs/v0.10.31", - "nodejs/release/v0.10.31/docs" - ], - [ - "nodejs/docs/v0.10.32", - "nodejs/release/v0.10.32/docs" - ], - [ - "nodejs/docs/v0.10.33", - "nodejs/release/v0.10.33/docs" - ], - [ - "nodejs/docs/v0.10.34", - "nodejs/release/v0.10.34/docs" - ], - [ - "nodejs/docs/v0.10.35", - "nodejs/release/v0.10.35/docs" - ], - [ - "nodejs/docs/v0.10.36", - "nodejs/release/v0.10.36/docs" - ], - [ - "nodejs/docs/v0.10.37", - "nodejs/release/v0.10.37/docs" - ], - [ - "nodejs/docs/v0.10.38", - "nodejs/release/v0.10.38/docs" - ], - [ - "nodejs/docs/v0.10.39", - "nodejs/release/v0.10.39/docs" - ], - [ - "nodejs/docs/v0.10.4", - "nodejs/release/v0.10.4/docs" - ], - [ - "nodejs/docs/v0.10.40", - "nodejs/release/v0.10.40/docs" - ], - [ - "nodejs/docs/v0.10.41", - "nodejs/release/v0.10.41/docs" - ], - [ - "nodejs/docs/v0.10.42", - "nodejs/release/v0.10.42/docs" - ], - [ - "nodejs/docs/v0.10.43", - "nodejs/release/v0.10.43/docs" - ], - [ - "nodejs/docs/v0.10.44", - "nodejs/release/v0.10.44/docs" - ], - [ - "nodejs/docs/v0.10.45", - "nodejs/release/v0.10.45/docs" - ], - [ - "nodejs/docs/v0.10.46", - "nodejs/release/v0.10.46/docs" - ], - [ - "nodejs/docs/v0.10.47", - "nodejs/release/v0.10.47/docs" - ], - [ - "nodejs/docs/v0.10.48", - "nodejs/release/v0.10.48/docs" - ], - [ - "nodejs/docs/v0.10.5", - "nodejs/release/v0.10.5/docs" - ], - [ - "nodejs/docs/v0.10.6", - "nodejs/release/v0.10.6/docs" - ], - [ - "nodejs/docs/v0.10.7", - "nodejs/release/v0.10.7/docs" - ], - [ - "nodejs/docs/v0.10.8", - "nodejs/release/v0.10.8/docs" - ], - [ - "nodejs/docs/v0.10.9", - "nodejs/release/v0.10.9/docs" - ], - [ - "nodejs/docs/v0.11.0", - "nodejs/release/v0.11.0/docs" - ], - [ - "nodejs/docs/v0.11.1", - "nodejs/release/v0.11.1/docs" - ], - [ - "nodejs/docs/v0.11.10", - "nodejs/release/v0.11.10/docs" - ], - [ - "nodejs/docs/v0.11.11", - "nodejs/release/v0.11.11/docs" - ], - [ - "nodejs/docs/v0.11.12", - "nodejs/release/v0.11.12/docs" - ], - [ - "nodejs/docs/v0.11.13", - "nodejs/release/v0.11.13/docs" - ], - [ - "nodejs/docs/v0.11.14", - "nodejs/release/v0.11.14/docs" - ], - [ - "nodejs/docs/v0.11.15", - "nodejs/release/v0.11.15/docs" - ], - [ - "nodejs/docs/v0.11.16", - "nodejs/release/v0.11.16/docs" - ], - [ - "nodejs/docs/v0.11.2", - "nodejs/release/v0.11.2/docs" - ], - [ - "nodejs/docs/v0.11.3", - "nodejs/release/v0.11.3/docs" - ], - [ - "nodejs/docs/v0.11.4", - "nodejs/release/v0.11.4/docs" - ], - [ - "nodejs/docs/v0.11.5", - "nodejs/release/v0.11.5/docs" - ], - [ - "nodejs/docs/v0.11.6", - "nodejs/release/v0.11.6/docs" - ], - [ - "nodejs/docs/v0.11.7", - "nodejs/release/v0.11.7/docs" - ], - [ - "nodejs/docs/v0.11.8", - "nodejs/release/v0.11.8/docs" - ], - [ - "nodejs/docs/v0.11.9", - "nodejs/release/v0.11.9/docs" - ], - [ - "nodejs/docs/v0.12.0", - "nodejs/release/v0.12.0/docs" - ], - [ - "nodejs/docs/v0.12.1", - "nodejs/release/v0.12.1/docs" - ], - [ - "nodejs/docs/v0.12.10", - "nodejs/release/v0.12.10/docs" - ], - [ - "nodejs/docs/v0.12.11", - "nodejs/release/v0.12.11/docs" - ], - [ - "nodejs/docs/v0.12.12", - "nodejs/release/v0.12.12/docs" - ], - [ - "nodejs/docs/v0.12.13", - "nodejs/release/v0.12.13/docs" - ], - [ - "nodejs/docs/v0.12.14", - "nodejs/release/v0.12.14/docs" - ], - [ - "nodejs/docs/v0.12.15", - "nodejs/release/v0.12.15/docs" - ], - [ - "nodejs/docs/v0.12.16", - "nodejs/release/v0.12.16/docs" - ], - [ - "nodejs/docs/v0.12.17", - "nodejs/release/v0.12.17/docs" - ], - [ - "nodejs/docs/v0.12.18", - "nodejs/release/v0.12.18/docs" - ], - [ - "nodejs/docs/v0.12.2", - "nodejs/release/v0.12.2/docs" - ], - [ - "nodejs/docs/v0.12.3", - "nodejs/release/v0.12.3/docs" - ], - [ - "nodejs/docs/v0.12.4", - "nodejs/release/v0.12.4/docs" - ], - [ - "nodejs/docs/v0.12.5", - "nodejs/release/v0.12.5/docs" - ], - [ - "nodejs/docs/v0.12.6", - "nodejs/release/v0.12.6/docs" - ], - [ - "nodejs/docs/v0.12.7", - "nodejs/release/v0.12.7/docs" - ], - [ - "nodejs/docs/v0.12.8", - "nodejs/release/v0.12.8/docs" - ], - [ - "nodejs/docs/v0.12.9", - "nodejs/release/v0.12.9/docs" - ], - [ - "nodejs/docs/v0.2.0", - "nodejs/release/v0.2.0/docs" - ], - [ - "nodejs/docs/v0.2.1", - "nodejs/release/v0.2.1/docs" - ], - [ - "nodejs/docs/v0.2.2", - "nodejs/release/v0.2.2/docs" - ], - [ - "nodejs/docs/v0.2.3", - "nodejs/release/v0.2.3/docs" - ], - [ - "nodejs/docs/v0.2.4", - "nodejs/release/v0.2.4/docs" - ], - [ - "nodejs/docs/v0.2.5", - "nodejs/release/v0.2.5/docs" - ], - [ - "nodejs/docs/v0.2.6", - "nodejs/release/v0.2.6/docs" - ], - [ - "nodejs/docs/v0.3.0", - "nodejs/release/v0.3.0/docs" - ], - [ - "nodejs/docs/v0.3.1", - "nodejs/release/v0.3.1/docs" - ], - [ - "nodejs/docs/v0.3.2", - "nodejs/release/v0.3.2/docs" - ], - [ - "nodejs/docs/v0.3.3", - "nodejs/release/v0.3.3/docs" - ], - [ - "nodejs/docs/v0.3.4", - "nodejs/release/v0.3.4/docs" - ], - [ - "nodejs/docs/v0.3.5", - "nodejs/release/v0.3.5/docs" - ], - [ - "nodejs/docs/v0.3.6", - "nodejs/release/v0.3.6/docs" - ], - [ - "nodejs/docs/v0.3.7", - "nodejs/release/v0.3.7/docs" - ], - [ - "nodejs/docs/v0.3.8", - "nodejs/release/v0.3.8/docs" - ], - [ - "nodejs/docs/v0.4.0", - "nodejs/release/v0.4.0/docs" - ], - [ - "nodejs/docs/v0.4.1", - "nodejs/release/v0.4.1/docs" - ], - [ - "nodejs/docs/v0.4.10", - "nodejs/release/v0.4.10/docs" - ], - [ - "nodejs/docs/v0.4.11", - "nodejs/release/v0.4.11/docs" - ], - [ - "nodejs/docs/v0.4.12", - "nodejs/release/v0.4.12/docs" - ], - [ - "nodejs/docs/v0.4.2", - "nodejs/release/v0.4.2/docs" - ], - [ - "nodejs/docs/v0.4.3", - "nodejs/release/v0.4.3/docs" - ], - [ - "nodejs/docs/v0.4.4", - "nodejs/release/v0.4.4/docs" - ], - [ - "nodejs/docs/v0.4.5", - "nodejs/release/v0.4.5/docs" - ], - [ - "nodejs/docs/v0.4.6", - "nodejs/release/v0.4.6/docs" - ], - [ - "nodejs/docs/v0.4.7", - "nodejs/release/v0.4.7/docs" - ], - [ - "nodejs/docs/v0.4.8", - "nodejs/release/v0.4.8/docs" - ], - [ - "nodejs/docs/v0.4.9", - "nodejs/release/v0.4.9/docs" - ], - [ - "nodejs/docs/v0.5.0", - "nodejs/release/v0.5.0/docs" - ], - [ - "nodejs/docs/v0.5.1", - "nodejs/release/v0.5.1/docs" - ], - [ - "nodejs/docs/v0.5.10", - "nodejs/release/v0.5.10/docs" - ], - [ - "nodejs/docs/v0.5.2", - "nodejs/release/v0.5.2/docs" - ], - [ - "nodejs/docs/v0.5.3", - "nodejs/release/v0.5.3/docs" - ], - [ - "nodejs/docs/v0.5.4", - "nodejs/release/v0.5.4/docs" - ], - [ - "nodejs/docs/v0.5.5", - "nodejs/release/v0.5.5/docs" - ], - [ - "nodejs/docs/v0.5.6", - "nodejs/release/v0.5.6/docs" - ], - [ - "nodejs/docs/v0.5.7", - "nodejs/release/v0.5.7/docs" - ], - [ - "nodejs/docs/v0.5.8", - "nodejs/release/v0.5.8/docs" - ], - [ - "nodejs/docs/v0.5.9", - "nodejs/release/v0.5.9/docs" - ], - [ - "nodejs/docs/v0.6.0", - "nodejs/release/v0.6.0/docs" - ], - [ - "nodejs/docs/v0.6.1", - "nodejs/release/v0.6.1/docs" - ], - [ - "nodejs/docs/v0.6.10", - "nodejs/release/v0.6.10/docs" - ], - [ - "nodejs/docs/v0.6.11", - "nodejs/release/v0.6.11/docs" - ], - [ - "nodejs/docs/v0.6.12", - "nodejs/release/v0.6.12/docs" - ], - [ - "nodejs/docs/v0.6.13", - "nodejs/release/v0.6.13/docs" - ], - [ - "nodejs/docs/v0.6.14", - "nodejs/release/v0.6.14/docs" - ], - [ - "nodejs/docs/v0.6.15", - "nodejs/release/v0.6.15/docs" - ], - [ - "nodejs/docs/v0.6.16", - "nodejs/release/v0.6.16/docs" - ], - [ - "nodejs/docs/v0.6.17", - "nodejs/release/v0.6.17/docs" - ], - [ - "nodejs/docs/v0.6.18", - "nodejs/release/v0.6.18/docs" - ], - [ - "nodejs/docs/v0.6.19", - "nodejs/release/v0.6.19/docs" - ], - [ - "nodejs/docs/v0.6.2", - "nodejs/release/v0.6.2/docs" - ], - [ - "nodejs/docs/v0.6.20", - "nodejs/release/v0.6.20/docs" - ], - [ - "nodejs/docs/v0.6.21", - "nodejs/release/v0.6.21/docs" - ], - [ - "nodejs/docs/v0.6.3", - "nodejs/release/v0.6.3/docs" - ], - [ - "nodejs/docs/v0.6.4", - "nodejs/release/v0.6.4/docs" - ], - [ - "nodejs/docs/v0.6.5", - "nodejs/release/v0.6.5/docs" - ], - [ - "nodejs/docs/v0.6.6", - "nodejs/release/v0.6.6/docs" - ], - [ - "nodejs/docs/v0.6.7", - "nodejs/release/v0.6.7/docs" - ], - [ - "nodejs/docs/v0.6.8", - "nodejs/release/v0.6.8/docs" - ], - [ - "nodejs/docs/v0.6.9", - "nodejs/release/v0.6.9/docs" - ], - [ - "nodejs/docs/v0.7.0", - "nodejs/release/v0.7.0/docs" - ], - [ - "nodejs/docs/v0.7.1", - "nodejs/release/v0.7.1/docs" - ], - [ - "nodejs/docs/v0.7.10", - "nodejs/release/v0.7.10/docs" - ], - [ - "nodejs/docs/v0.7.11", - "nodejs/release/v0.7.11/docs" - ], - [ - "nodejs/docs/v0.7.12", - "nodejs/release/v0.7.12/docs" - ], - [ - "nodejs/docs/v0.7.2", - "nodejs/release/v0.7.2/docs" - ], - [ - "nodejs/docs/v0.7.3", - "nodejs/release/v0.7.3/docs" - ], - [ - "nodejs/docs/v0.7.4", - "nodejs/release/v0.7.4/docs" - ], - [ - "nodejs/docs/v0.7.5", - "nodejs/release/v0.7.5/docs" - ], - [ - "nodejs/docs/v0.7.6", - "nodejs/release/v0.7.6/docs" - ], - [ - "nodejs/docs/v0.7.7", - "nodejs/release/v0.7.7/docs" - ], - [ - "nodejs/docs/v0.7.8", - "nodejs/release/v0.7.8/docs" - ], - [ - "nodejs/docs/v0.7.9", - "nodejs/release/v0.7.9/docs" - ], - [ - "nodejs/docs/v0.8.0", - "nodejs/release/v0.8.0/docs" - ], - [ - "nodejs/docs/v0.8.1", - "nodejs/release/v0.8.1/docs" - ], - [ - "nodejs/docs/v0.8.10", - "nodejs/release/v0.8.10/docs" - ], - [ - "nodejs/docs/v0.8.11", - "nodejs/release/v0.8.11/docs" - ], - [ - "nodejs/docs/v0.8.12", - "nodejs/release/v0.8.12/docs" - ], - [ - "nodejs/docs/v0.8.13", - "nodejs/release/v0.8.13/docs" - ], - [ - "nodejs/docs/v0.8.14", - "nodejs/release/v0.8.14/docs" - ], - [ - "nodejs/docs/v0.8.15", - "nodejs/release/v0.8.15/docs" - ], - [ - "nodejs/docs/v0.8.16", - "nodejs/release/v0.8.16/docs" - ], - [ - "nodejs/docs/v0.8.17", - "nodejs/release/v0.8.17/docs" - ], - [ - "nodejs/docs/v0.8.18", - "nodejs/release/v0.8.18/docs" - ], - [ - "nodejs/docs/v0.8.19", - "nodejs/release/v0.8.19/docs" - ], - [ - "nodejs/docs/v0.8.2", - "nodejs/release/v0.8.2/docs" - ], - [ - "nodejs/docs/v0.8.20", - "nodejs/release/v0.8.20/docs" - ], - [ - "nodejs/docs/v0.8.21", - "nodejs/release/v0.8.21/docs" - ], - [ - "nodejs/docs/v0.8.22", - "nodejs/release/v0.8.22/docs" - ], - [ - "nodejs/docs/v0.8.23", - "nodejs/release/v0.8.23/docs" - ], - [ - "nodejs/docs/v0.8.24", - "nodejs/release/v0.8.24/docs" - ], - [ - "nodejs/docs/v0.8.25", - "nodejs/release/v0.8.25/docs" - ], - [ - "nodejs/docs/v0.8.26", - "nodejs/release/v0.8.26/docs" - ], - [ - "nodejs/docs/v0.8.27", - "nodejs/release/v0.8.27/docs" - ], - [ - "nodejs/docs/v0.8.28", - "nodejs/release/v0.8.28/docs" - ], - [ - "nodejs/docs/v0.8.3", - "nodejs/release/v0.8.3/docs" - ], - [ - "nodejs/docs/v0.8.4", - "nodejs/release/v0.8.4/docs" - ], - [ - "nodejs/docs/v0.8.5", - "nodejs/release/v0.8.5/docs" - ], - [ - "nodejs/docs/v0.8.6", - "nodejs/release/v0.8.6/docs" - ], - [ - "nodejs/docs/v0.8.7", - "nodejs/release/v0.8.7/docs" - ], - [ - "nodejs/docs/v0.8.8", - "nodejs/release/v0.8.8/docs" - ], - [ - "nodejs/docs/v0.8.9", - "nodejs/release/v0.8.9/docs" - ], - [ - "nodejs/docs/v0.9.0", - "nodejs/release/v0.9.0/docs" - ], - [ - "nodejs/docs/v0.9.1", - "nodejs/release/v0.9.1/docs" - ], - [ - "nodejs/docs/v0.9.10", - "nodejs/release/v0.9.10/docs" - ], - [ - "nodejs/docs/v0.9.11", - "nodejs/release/v0.9.11/docs" - ], - [ - "nodejs/docs/v0.9.12", - "nodejs/release/v0.9.12/docs" - ], - [ - "nodejs/docs/v0.9.2", - "nodejs/release/v0.9.2/docs" - ], - [ - "nodejs/docs/v0.9.3", - "nodejs/release/v0.9.3/docs" - ], - [ - "nodejs/docs/v0.9.4", - "nodejs/release/v0.9.4/docs" - ], - [ - "nodejs/docs/v0.9.5", - "nodejs/release/v0.9.5/docs" - ], - [ - "nodejs/docs/v0.9.6", - "nodejs/release/v0.9.6/docs" - ], - [ - "nodejs/docs/v0.9.7", - "nodejs/release/v0.9.7/docs" - ], - [ - "nodejs/docs/v0.9.8", - "nodejs/release/v0.9.8/docs" - ], - [ - "nodejs/docs/v0.9.9", - "nodejs/release/v0.9.9/docs" - ], - [ - "nodejs/docs/v10.0.0", - "nodejs/release/v10.0.0/docs" - ], - [ - "nodejs/docs/v10.1.0", - "nodejs/release/v10.1.0/docs" - ], - [ - "nodejs/docs/v10.10.0", - "nodejs/release/v10.10.0/docs" - ], - [ - "nodejs/docs/v10.11.0", - "nodejs/release/v10.11.0/docs" - ], - [ - "nodejs/docs/v10.12.0", - "nodejs/release/v10.12.0/docs" - ], - [ - "nodejs/docs/v10.13.0", - "nodejs/release/v10.13.0/docs" - ], - [ - "nodejs/docs/v10.14.0", - "nodejs/release/v10.14.0/docs" - ], - [ - "nodejs/docs/v10.14.1", - "nodejs/release/v10.14.1/docs" - ], - [ - "nodejs/docs/v10.14.2", - "nodejs/release/v10.14.2/docs" - ], - [ - "nodejs/docs/v10.15.0", - "nodejs/release/v10.15.0/docs" - ], - [ - "nodejs/docs/v10.15.1", - "nodejs/release/v10.15.1/docs" - ], - [ - "nodejs/docs/v10.15.2", - "nodejs/release/v10.15.2/docs" - ], - [ - "nodejs/docs/v10.15.3", - "nodejs/release/v10.15.3/docs" - ], - [ - "nodejs/docs/v10.16.0", - "nodejs/release/v10.16.0/docs" - ], - [ - "nodejs/docs/v10.16.1", - "nodejs/release/v10.16.1/docs" - ], - [ - "nodejs/docs/v10.16.2", - "nodejs/release/v10.16.2/docs" - ], - [ - "nodejs/docs/v10.16.3", - "nodejs/release/v10.16.3/docs" - ], - [ - "nodejs/docs/v10.17.0", - "nodejs/release/v10.17.0/docs" - ], - [ - "nodejs/docs/v10.18.0", - "nodejs/release/v10.18.0/docs" - ], - [ - "nodejs/docs/v10.18.1", - "nodejs/release/v10.18.1/docs" - ], - [ - "nodejs/docs/v10.19.0", - "nodejs/release/v10.19.0/docs" - ], - [ - "nodejs/docs/v10.2.0", - "nodejs/release/v10.2.0/docs" - ], - [ - "nodejs/docs/v10.2.1", - "nodejs/release/v10.2.1/docs" - ], - [ - "nodejs/docs/v10.20.0", - "nodejs/release/v10.20.0/docs" - ], - [ - "nodejs/docs/v10.20.1", - "nodejs/release/v10.20.1/docs" - ], - [ - "nodejs/docs/v10.21.0", - "nodejs/release/v10.21.0/docs" - ], - [ - "nodejs/docs/v10.22.0", - "nodejs/release/v10.22.0/docs" - ], - [ - "nodejs/docs/v10.22.1", - "nodejs/release/v10.22.1/docs" - ], - [ - "nodejs/docs/v10.23.0", - "nodejs/release/v10.23.0/docs" - ], - [ - "nodejs/docs/v10.23.1", - "nodejs/release/v10.23.1/docs" - ], - [ - "nodejs/docs/v10.23.2", - "nodejs/release/v10.23.2/docs" - ], - [ - "nodejs/docs/v10.23.3", - "nodejs/release/v10.23.3/docs" - ], - [ - "nodejs/docs/v10.24.0", - "nodejs/release/v10.24.0/docs" - ], - [ - "nodejs/docs/v10.24.1", - "nodejs/release/v10.24.1/docs" - ], - [ - "nodejs/docs/v10.3.0", - "nodejs/release/v10.3.0/docs" - ], - [ - "nodejs/docs/v10.4.0", - "nodejs/release/v10.4.0/docs" - ], - [ - "nodejs/docs/v10.4.1", - "nodejs/release/v10.4.1/docs" - ], - [ - "nodejs/docs/v10.5.0", - "nodejs/release/v10.5.0/docs" - ], - [ - "nodejs/docs/v10.6.0", - "nodejs/release/v10.6.0/docs" - ], - [ - "nodejs/docs/v10.7.0", - "nodejs/release/v10.7.0/docs" - ], - [ - "nodejs/docs/v10.8.0", - "nodejs/release/v10.8.0/docs" - ], - [ - "nodejs/docs/v10.9.0", - "nodejs/release/v10.9.0/docs" - ], - [ - "nodejs/docs/v11.0.0", - "nodejs/release/v11.0.0/docs" - ], - [ - "nodejs/docs/v11.1.0", - "nodejs/release/v11.1.0/docs" - ], - [ - "nodejs/docs/v11.10.0", - "nodejs/release/v11.10.0/docs" - ], - [ - "nodejs/docs/v11.10.1", - "nodejs/release/v11.10.1/docs" - ], - [ - "nodejs/docs/v11.11.0", - "nodejs/release/v11.11.0/docs" - ], - [ - "nodejs/docs/v11.12.0", - "nodejs/release/v11.12.0/docs" - ], - [ - "nodejs/docs/v11.13.0", - "nodejs/release/v11.13.0/docs" - ], - [ - "nodejs/docs/v11.14.0", - "nodejs/release/v11.14.0/docs" - ], - [ - "nodejs/docs/v11.15.0", - "nodejs/release/v11.15.0/docs" - ], - [ - "nodejs/docs/v11.2.0", - "nodejs/release/v11.2.0/docs" - ], - [ - "nodejs/docs/v11.3.0", - "nodejs/release/v11.3.0/docs" - ], - [ - "nodejs/docs/v11.4.0", - "nodejs/release/v11.4.0/docs" - ], - [ - "nodejs/docs/v11.5.0", - "nodejs/release/v11.5.0/docs" - ], - [ - "nodejs/docs/v11.6.0", - "nodejs/release/v11.6.0/docs" - ], - [ - "nodejs/docs/v11.7.0", - "nodejs/release/v11.7.0/docs" - ], - [ - "nodejs/docs/v11.8.0", - "nodejs/release/v11.8.0/docs" - ], - [ - "nodejs/docs/v11.9.0", - "nodejs/release/v11.9.0/docs" - ], - [ - "nodejs/docs/v12.0.0", - "nodejs/release/v12.0.0/docs" - ], - [ - "nodejs/docs/v12.1.0", - "nodejs/release/v12.1.0/docs" - ], - [ - "nodejs/docs/v12.10.0", - "nodejs/release/v12.10.0/docs" - ], - [ - "nodejs/docs/v12.11.0", - "nodejs/release/v12.11.0/docs" - ], - [ - "nodejs/docs/v12.11.1", - "nodejs/release/v12.11.1/docs" - ], - [ - "nodejs/docs/v12.12.0", - "nodejs/release/v12.12.0/docs" - ], - [ - "nodejs/docs/v12.13.0", - "nodejs/release/v12.13.0/docs" - ], - [ - "nodejs/docs/v12.13.1", - "nodejs/release/v12.13.1/docs" - ], - [ - "nodejs/docs/v12.14.0", - "nodejs/release/v12.14.0/docs" - ], - [ - "nodejs/docs/v12.14.1", - "nodejs/release/v12.14.1/docs" - ], - [ - "nodejs/docs/v12.15.0", - "nodejs/release/v12.15.0/docs" - ], - [ - "nodejs/docs/v12.16.0", - "nodejs/release/v12.16.0/docs" - ], - [ - "nodejs/docs/v12.16.1", - "nodejs/release/v12.16.1/docs" - ], - [ - "nodejs/docs/v12.16.2", - "nodejs/release/v12.16.2/docs" - ], - [ - "nodejs/docs/v12.16.3", - "nodejs/release/v12.16.3/docs" - ], - [ - "nodejs/docs/v12.17.0", - "nodejs/release/v12.17.0/docs" - ], - [ - "nodejs/docs/v12.18.0", - "nodejs/release/v12.18.0/docs" - ], - [ - "nodejs/docs/v12.18.1", - "nodejs/release/v12.18.1/docs" - ], - [ - "nodejs/docs/v12.18.2", - "nodejs/release/v12.18.2/docs" - ], - [ - "nodejs/docs/v12.18.3", - "nodejs/release/v12.18.3/docs" - ], - [ - "nodejs/docs/v12.18.4", - "nodejs/release/v12.18.4/docs" - ], - [ - "nodejs/docs/v12.19.0", - "nodejs/release/v12.19.0/docs" - ], - [ - "nodejs/docs/v12.19.1", - "nodejs/release/v12.19.1/docs" - ], - [ - "nodejs/docs/v12.2.0", - "nodejs/release/v12.2.0/docs" - ], - [ - "nodejs/docs/v12.20.0", - "nodejs/release/v12.20.0/docs" - ], - [ - "nodejs/docs/v12.20.1", - "nodejs/release/v12.20.1/docs" - ], - [ - "nodejs/docs/v12.20.2", - "nodejs/release/v12.20.2/docs" - ], - [ - "nodejs/docs/v12.21.0", - "nodejs/release/v12.21.0/docs" - ], - [ - "nodejs/docs/v12.22.0", - "nodejs/release/v12.22.0/docs" - ], - [ - "nodejs/docs/v12.22.1", - "nodejs/release/v12.22.1/docs" - ], - [ - "nodejs/docs/v12.22.10", - "nodejs/release/v12.22.10/docs" - ], - [ - "nodejs/docs/v12.22.11", - "nodejs/release/v12.22.11/docs" - ], - [ - "nodejs/docs/v12.22.12", - "nodejs/release/v12.22.12/docs" - ], - [ - "nodejs/docs/v12.22.2", - "nodejs/release/v12.22.2/docs" - ], - [ - "nodejs/docs/v12.22.3", - "nodejs/release/v12.22.3/docs" - ], - [ - "nodejs/docs/v12.22.4", - "nodejs/release/v12.22.4/docs" - ], - [ - "nodejs/docs/v12.22.5", - "nodejs/release/v12.22.5/docs" - ], - [ - "nodejs/docs/v12.22.6", - "nodejs/release/v12.22.6/docs" - ], - [ - "nodejs/docs/v12.22.7", - "nodejs/release/v12.22.7/docs" - ], - [ - "nodejs/docs/v12.22.8", - "nodejs/release/v12.22.8/docs" - ], - [ - "nodejs/docs/v12.22.9", - "nodejs/release/v12.22.9/docs" - ], - [ - "nodejs/docs/v12.3.0", - "nodejs/release/v12.3.0/docs" - ], - [ - "nodejs/docs/v12.3.1", - "nodejs/release/v12.3.1/docs" - ], - [ - "nodejs/docs/v12.4.0", - "nodejs/release/v12.4.0/docs" - ], - [ - "nodejs/docs/v12.5.0", - "nodejs/release/v12.5.0/docs" - ], - [ - "nodejs/docs/v12.6.0", - "nodejs/release/v12.6.0/docs" - ], - [ - "nodejs/docs/v12.7.0", - "nodejs/release/v12.7.0/docs" - ], - [ - "nodejs/docs/v12.8.0", - "nodejs/release/v12.8.0/docs" - ], - [ - "nodejs/docs/v12.8.1", - "nodejs/release/v12.8.1/docs" - ], - [ - "nodejs/docs/v12.9.0", - "nodejs/release/v12.9.0/docs" - ], - [ - "nodejs/docs/v12.9.1", - "nodejs/release/v12.9.1/docs" - ], - [ - "nodejs/docs/v13.0.0", - "nodejs/release/v13.0.0/docs" - ], - [ - "nodejs/docs/v13.0.1", - "nodejs/release/v13.0.1/docs" - ], - [ - "nodejs/docs/v13.1.0", - "nodejs/release/v13.1.0/docs" - ], - [ - "nodejs/docs/v13.10.0", - "nodejs/release/v13.10.0/docs" - ], - [ - "nodejs/docs/v13.10.1", - "nodejs/release/v13.10.1/docs" - ], - [ - "nodejs/docs/v13.11.0", - "nodejs/release/v13.11.0/docs" - ], - [ - "nodejs/docs/v13.12.0", - "nodejs/release/v13.12.0/docs" - ], - [ - "nodejs/docs/v13.13.0", - "nodejs/release/v13.13.0/docs" - ], - [ - "nodejs/docs/v13.14.0", - "nodejs/release/v13.14.0/docs" - ], - [ - "nodejs/docs/v13.2.0", - "nodejs/release/v13.2.0/docs" - ], - [ - "nodejs/docs/v13.3.0", - "nodejs/release/v13.3.0/docs" - ], - [ - "nodejs/docs/v13.4.0", - "nodejs/release/v13.4.0/docs" - ], - [ - "nodejs/docs/v13.5.0", - "nodejs/release/v13.5.0/docs" - ], - [ - "nodejs/docs/v13.6.0", - "nodejs/release/v13.6.0/docs" - ], - [ - "nodejs/docs/v13.7.0", - "nodejs/release/v13.7.0/docs" - ], - [ - "nodejs/docs/v13.8.0", - "nodejs/release/v13.8.0/docs" - ], - [ - "nodejs/docs/v13.9.0", - "nodejs/release/v13.9.0/docs" - ], - [ - "nodejs/docs/v14.0.0", - "nodejs/release/v14.0.0/docs" - ], - [ - "nodejs/docs/v14.1.0", - "nodejs/release/v14.1.0/docs" - ], - [ - "nodejs/docs/v14.10.0", - "nodejs/release/v14.10.0/docs" - ], - [ - "nodejs/docs/v14.10.1", - "nodejs/release/v14.10.1/docs" - ], - [ - "nodejs/docs/v14.11.0", - "nodejs/release/v14.11.0/docs" - ], - [ - "nodejs/docs/v14.12.0", - "nodejs/release/v14.12.0/docs" - ], - [ - "nodejs/docs/v14.13.0", - "nodejs/release/v14.13.0/docs" - ], - [ - "nodejs/docs/v14.13.1", - "nodejs/release/v14.13.1/docs" - ], - [ - "nodejs/docs/v14.14.0", - "nodejs/release/v14.14.0/docs" - ], - [ - "nodejs/docs/v14.15.0", - "nodejs/release/v14.15.0/docs" - ], - [ - "nodejs/docs/v14.15.1", - "nodejs/release/v14.15.1/docs" - ], - [ - "nodejs/docs/v14.15.2", - "nodejs/release/v14.15.2/docs" - ], - [ - "nodejs/docs/v14.15.3", - "nodejs/release/v14.15.3/docs" - ], - [ - "nodejs/docs/v14.15.4", - "nodejs/release/v14.15.4/docs" - ], - [ - "nodejs/docs/v14.15.5", - "nodejs/release/v14.15.5/docs" - ], - [ - "nodejs/docs/v14.16.0", - "nodejs/release/v14.16.0/docs" - ], - [ - "nodejs/docs/v14.16.1", - "nodejs/release/v14.16.1/docs" - ], - [ - "nodejs/docs/v14.17.0", - "nodejs/release/v14.17.0/docs" - ], - [ - "nodejs/docs/v14.17.1", - "nodejs/release/v14.17.1/docs" - ], - [ - "nodejs/docs/v14.17.2", - "nodejs/release/v14.17.2/docs" - ], - [ - "nodejs/docs/v14.17.3", - "nodejs/release/v14.17.3/docs" - ], - [ - "nodejs/docs/v14.17.4", - "nodejs/release/v14.17.4/docs" - ], - [ - "nodejs/docs/v14.17.5", - "nodejs/release/v14.17.5/docs" - ], - [ - "nodejs/docs/v14.17.6", - "nodejs/release/v14.17.6/docs" - ], - [ - "nodejs/docs/v14.18.0", - "nodejs/release/v14.18.0/docs" - ], - [ - "nodejs/docs/v14.18.1", - "nodejs/release/v14.18.1/docs" - ], - [ - "nodejs/docs/v14.18.2", - "nodejs/release/v14.18.2/docs" - ], - [ - "nodejs/docs/v14.18.3", - "nodejs/release/v14.18.3/docs" - ], - [ - "nodejs/docs/v14.19.0", - "nodejs/release/v14.19.0/docs" - ], - [ - "nodejs/docs/v14.19.1", - "nodejs/release/v14.19.1/docs" - ], - [ - "nodejs/docs/v14.19.2", - "nodejs/release/v14.19.2/docs" - ], - [ - "nodejs/docs/v14.19.3", - "nodejs/release/v14.19.3/docs" - ], - [ - "nodejs/docs/v14.2.0", - "nodejs/release/v14.2.0/docs" - ], - [ - "nodejs/docs/v14.20.0", - "nodejs/release/v14.20.0/docs" - ], - [ - "nodejs/docs/v14.20.1", - "nodejs/release/v14.20.1/docs" - ], - [ - "nodejs/docs/v14.21.0", - "nodejs/release/v14.21.0/docs" - ], - [ - "nodejs/docs/v14.21.1", - "nodejs/release/v14.21.1/docs" - ], - [ - "nodejs/docs/v14.21.2", - "nodejs/release/v14.21.2/docs" - ], - [ - "nodejs/docs/v14.21.3", - "nodejs/release/v14.21.3/docs" - ], - [ - "nodejs/docs/v14.3.0", - "nodejs/release/v14.3.0/docs" - ], - [ - "nodejs/docs/v14.4.0", - "nodejs/release/v14.4.0/docs" - ], - [ - "nodejs/docs/v14.5.0", - "nodejs/release/v14.5.0/docs" - ], - [ - "nodejs/docs/v14.6.0", - "nodejs/release/v14.6.0/docs" - ], - [ - "nodejs/docs/v14.7.0", - "nodejs/release/v14.7.0/docs" - ], - [ - "nodejs/docs/v14.8.0", - "nodejs/release/v14.8.0/docs" - ], - [ - "nodejs/docs/v14.9.0", - "nodejs/release/v14.9.0/docs" - ], - [ - "nodejs/docs/v15.0.0", - "nodejs/release/v15.0.0/docs" - ], - [ - "nodejs/docs/v15.0.1", - "nodejs/release/v15.0.1/docs" - ], - [ - "nodejs/docs/v15.1.0", - "nodejs/release/v15.1.0/docs" - ], - [ - "nodejs/docs/v15.10.0", - "nodejs/release/v15.10.0/docs" - ], - [ - "nodejs/docs/v15.11.0", - "nodejs/release/v15.11.0/docs" - ], - [ - "nodejs/docs/v15.12.0", - "nodejs/release/v15.12.0/docs" - ], - [ - "nodejs/docs/v15.13.0", - "nodejs/release/v15.13.0/docs" - ], - [ - "nodejs/docs/v15.14.0", - "nodejs/release/v15.14.0/docs" - ], - [ - "nodejs/docs/v15.2.0", - "nodejs/release/v15.2.0/docs" - ], - [ - "nodejs/docs/v15.2.1", - "nodejs/release/v15.2.1/docs" - ], - [ - "nodejs/docs/v15.3.0", - "nodejs/release/v15.3.0/docs" - ], - [ - "nodejs/docs/v15.4.0", - "nodejs/release/v15.4.0/docs" - ], - [ - "nodejs/docs/v15.5.0", - "nodejs/release/v15.5.0/docs" - ], - [ - "nodejs/docs/v15.5.1", - "nodejs/release/v15.5.1/docs" - ], - [ - "nodejs/docs/v15.6.0", - "nodejs/release/v15.6.0/docs" - ], - [ - "nodejs/docs/v15.7.0", - "nodejs/release/v15.7.0/docs" - ], - [ - "nodejs/docs/v15.8.0", - "nodejs/release/v15.8.0/docs" - ], - [ - "nodejs/docs/v15.9.0", - "nodejs/release/v15.9.0/docs" - ], - [ - "nodejs/docs/v16.0.0", - "nodejs/release/v16.0.0/docs" - ], - [ - "nodejs/docs/v16.1.0", - "nodejs/release/v16.1.0/docs" - ], - [ - "nodejs/docs/v16.10.0", - "nodejs/release/v16.10.0/docs" - ], - [ - "nodejs/docs/v16.11.0", - "nodejs/release/v16.11.0/docs" - ], - [ - "nodejs/docs/v16.11.1", - "nodejs/release/v16.11.1/docs" - ], - [ - "nodejs/docs/v16.12.0", - "nodejs/release/v16.12.0/docs" - ], - [ - "nodejs/docs/v16.13.0", - "nodejs/release/v16.13.0/docs" - ], - [ - "nodejs/docs/v16.13.1", - "nodejs/release/v16.13.1/docs" - ], - [ - "nodejs/docs/v16.13.2", - "nodejs/release/v16.13.2/docs" - ], - [ - "nodejs/docs/v16.14.0", - "nodejs/release/v16.14.0/docs" - ], - [ - "nodejs/docs/v16.14.1", - "nodejs/release/v16.14.1/docs" - ], - [ - "nodejs/docs/v16.14.2", - "nodejs/release/v16.14.2/docs" - ], - [ - "nodejs/docs/v16.15.0", - "nodejs/release/v16.15.0/docs" - ], - [ - "nodejs/docs/v16.15.1", - "nodejs/release/v16.15.1/docs" - ], - [ - "nodejs/docs/v16.16.0", - "nodejs/release/v16.16.0/docs" - ], - [ - "nodejs/docs/v16.17.0", - "nodejs/release/v16.17.0/docs" - ], - [ - "nodejs/docs/v16.17.1", - "nodejs/release/v16.17.1/docs" - ], - [ - "nodejs/docs/v16.18.0", - "nodejs/release/v16.18.0/docs" - ], - [ - "nodejs/docs/v16.18.1", - "nodejs/release/v16.18.1/docs" - ], - [ - "nodejs/docs/v16.19.0", - "nodejs/release/v16.19.0/docs" - ], - [ - "nodejs/docs/v16.19.1", - "nodejs/release/v16.19.1/docs" - ], - [ - "nodejs/docs/v16.2.0", - "nodejs/release/v16.2.0/docs" - ], - [ - "nodejs/docs/v16.20.0", - "nodejs/release/v16.20.0/docs" - ], - [ - "nodejs/docs/v16.20.1", - "nodejs/release/v16.20.1/docs" - ], - [ - "nodejs/docs/v16.20.2", - "nodejs/release/v16.20.2/docs" - ], - [ - "nodejs/docs/v16.3.0", - "nodejs/release/v16.3.0/docs" - ], - [ - "nodejs/docs/v16.4.0", - "nodejs/release/v16.4.0/docs" - ], - [ - "nodejs/docs/v16.4.1", - "nodejs/release/v16.4.1/docs" - ], - [ - "nodejs/docs/v16.4.2", - "nodejs/release/v16.4.2/docs" - ], - [ - "nodejs/docs/v16.5.0", - "nodejs/release/v16.5.0/docs" - ], - [ - "nodejs/docs/v16.6.0", - "nodejs/release/v16.6.0/docs" - ], - [ - "nodejs/docs/v16.6.1", - "nodejs/release/v16.6.1/docs" - ], - [ - "nodejs/docs/v16.6.2", - "nodejs/release/v16.6.2/docs" - ], - [ - "nodejs/docs/v16.7.0", - "nodejs/release/v16.7.0/docs" - ], - [ - "nodejs/docs/v16.8.0", - "nodejs/release/v16.8.0/docs" - ], - [ - "nodejs/docs/v16.9.0", - "nodejs/release/v16.9.0/docs" - ], - [ - "nodejs/docs/v16.9.1", - "nodejs/release/v16.9.1/docs" - ], - [ - "nodejs/docs/v17.0.0", - "nodejs/release/v17.0.0/docs" - ], - [ - "nodejs/docs/v17.0.1", - "nodejs/release/v17.0.1/docs" - ], - [ - "nodejs/docs/v17.1.0", - "nodejs/release/v17.1.0/docs" - ], - [ - "nodejs/docs/v17.2.0", - "nodejs/release/v17.2.0/docs" - ], - [ - "nodejs/docs/v17.3.0", - "nodejs/release/v17.3.0/docs" - ], - [ - "nodejs/docs/v17.3.1", - "nodejs/release/v17.3.1/docs" - ], - [ - "nodejs/docs/v17.4.0", - "nodejs/release/v17.4.0/docs" - ], - [ - "nodejs/docs/v17.5.0", - "nodejs/release/v17.5.0/docs" - ], - [ - "nodejs/docs/v17.6.0", - "nodejs/release/v17.6.0/docs" - ], - [ - "nodejs/docs/v17.7.0", - "nodejs/release/v17.7.0/docs" - ], - [ - "nodejs/docs/v17.7.1", - "nodejs/release/v17.7.1/docs" - ], - [ - "nodejs/docs/v17.7.2", - "nodejs/release/v17.7.2/docs" - ], - [ - "nodejs/docs/v17.8.0", - "nodejs/release/v17.8.0/docs" - ], - [ - "nodejs/docs/v17.9.0", - "nodejs/release/v17.9.0/docs" - ], - [ - "nodejs/docs/v17.9.1", - "nodejs/release/v17.9.1/docs" - ], - [ - "nodejs/docs/v18.0.0", - "nodejs/release/v18.0.0/docs" - ], - [ - "nodejs/docs/v18.1.0", - "nodejs/release/v18.1.0/docs" - ], - [ - "nodejs/docs/v18.10.0", - "nodejs/release/v18.10.0/docs" - ], - [ - "nodejs/docs/v18.11.0", - "nodejs/release/v18.11.0/docs" - ], - [ - "nodejs/docs/v18.12.0", - "nodejs/release/v18.12.0/docs" - ], - [ - "nodejs/docs/v18.12.1", - "nodejs/release/v18.12.1/docs" - ], - [ - "nodejs/docs/v18.13.0", - "nodejs/release/v18.13.0/docs" - ], - [ - "nodejs/docs/v18.14.0", - "nodejs/release/v18.14.0/docs" - ], - [ - "nodejs/docs/v18.14.1", - "nodejs/release/v18.14.1/docs" - ], - [ - "nodejs/docs/v18.14.2", - "nodejs/release/v18.14.2/docs" - ], - [ - "nodejs/docs/v18.15.0", - "nodejs/release/v18.15.0/docs" - ], - [ - "nodejs/docs/v18.16.0", - "nodejs/release/v18.16.0/docs" - ], - [ - "nodejs/docs/v18.16.1", - "nodejs/release/v18.16.1/docs" - ], - [ - "nodejs/docs/v18.17.0", - "nodejs/release/v18.17.0/docs" - ], - [ - "nodejs/docs/v18.17.1", - "nodejs/release/v18.17.1/docs" - ], - [ - "nodejs/docs/v18.18.0", - "nodejs/release/v18.18.0/docs" - ], - [ - "nodejs/docs/v18.2.0", - "nodejs/release/v18.2.0/docs" - ], - [ - "nodejs/docs/v18.3.0", - "nodejs/release/v18.3.0/docs" - ], - [ - "nodejs/docs/v18.4.0", - "nodejs/release/v18.4.0/docs" - ], - [ - "nodejs/docs/v18.5.0", - "nodejs/release/v18.5.0/docs" - ], - [ - "nodejs/docs/v18.6.0", - "nodejs/release/v18.6.0/docs" - ], - [ - "nodejs/docs/v18.7.0", - "nodejs/release/v18.7.0/docs" - ], - [ - "nodejs/docs/v18.8.0", - "nodejs/release/v18.8.0/docs" - ], - [ - "nodejs/docs/v18.9.0", - "nodejs/release/v18.9.0/docs" - ], - [ - "nodejs/docs/v18.9.1", - "nodejs/release/v18.9.1/docs" - ], - [ - "nodejs/docs/v19.0.0", - "nodejs/release/v19.0.0/docs" - ], - [ - "nodejs/docs/v19.0.1", - "nodejs/release/v19.0.1/docs" - ], - [ - "nodejs/docs/v19.1.0", - "nodejs/release/v19.1.0/docs" - ], - [ - "nodejs/docs/v19.2.0", - "nodejs/release/v19.2.0/docs" - ], - [ - "nodejs/docs/v19.3.0", - "nodejs/release/v19.3.0/docs" - ], - [ - "nodejs/docs/v19.4.0", - "nodejs/release/v19.4.0/docs" - ], - [ - "nodejs/docs/v19.5.0", - "nodejs/release/v19.5.0/docs" - ], - [ - "nodejs/docs/v19.6.0", - "nodejs/release/v19.6.0/docs" - ], - [ - "nodejs/docs/v19.6.1", - "nodejs/release/v19.6.1/docs" - ], - [ - "nodejs/docs/v19.7.0", - "nodejs/release/v19.7.0/docs" - ], - [ - "nodejs/docs/v19.8.0", - "nodejs/release/v19.8.0/docs" - ], - [ - "nodejs/docs/v19.8.1", - "nodejs/release/v19.8.1/docs" - ], - [ - "nodejs/docs/v19.9.0", - "nodejs/release/v19.9.0/docs" - ], - [ - "nodejs/docs/v20.0.0", - "nodejs/release/v20.0.0/docs" - ], - [ - "nodejs/docs/v20.1.0", - "nodejs/release/v20.1.0/docs" - ], - [ - "nodejs/docs/v20.2.0", - "nodejs/release/v20.2.0/docs" - ], - [ - "nodejs/docs/v20.3.0", - "nodejs/release/v20.3.0/docs" - ], - [ - "nodejs/docs/v20.3.1", - "nodejs/release/v20.3.1/docs" - ], - [ - "nodejs/docs/v20.4.0", - "nodejs/release/v20.4.0/docs" - ], - [ - "nodejs/docs/v20.5.0", - "nodejs/release/v20.5.0/docs" - ], - [ - "nodejs/docs/v20.5.1", - "nodejs/release/v20.5.1/docs" - ], - [ - "nodejs/docs/v20.6.0", - "nodejs/release/v20.6.0/docs" - ], - [ - "nodejs/docs/v20.6.1", - "nodejs/release/v20.6.1/docs" - ], - [ - "nodejs/docs/v20.7.0", - "nodejs/release/v20.7.0/docs" - ], - [ - "nodejs/docs/v20.8.0", - "nodejs/release/v20.8.0/docs" - ], - [ - "nodejs/docs/v4.0.0", - "nodejs/release/v4.0.0/docs" - ], - [ - "nodejs/docs/v4.1.0", - "nodejs/release/v4.1.0/docs" - ], - [ - "nodejs/docs/v4.1.1", - "nodejs/release/v4.1.1/docs" - ], - [ - "nodejs/docs/v4.1.2", - "nodejs/release/v4.1.2/docs" - ], - [ - "nodejs/docs/v4.2.0", - "nodejs/release/v4.2.0/docs" - ], - [ - "nodejs/docs/v4.2.1", - "nodejs/release/v4.2.1/docs" - ], - [ - "nodejs/docs/v4.2.2", - "nodejs/release/v4.2.2/docs" - ], - [ - "nodejs/docs/v4.2.3", - "nodejs/release/v4.2.3/docs" - ], - [ - "nodejs/docs/v4.2.4", - "nodejs/release/v4.2.4/docs" - ], - [ - "nodejs/docs/v4.2.5", - "nodejs/release/v4.2.5/docs" - ], - [ - "nodejs/docs/v4.2.6", - "nodejs/release/v4.2.6/docs" - ], - [ - "nodejs/docs/v4.3.0", - "nodejs/release/v4.3.0/docs" - ], - [ - "nodejs/docs/v4.3.1", - "nodejs/release/v4.3.1/docs" - ], - [ - "nodejs/docs/v4.3.2", - "nodejs/release/v4.3.2/docs" - ], - [ - "nodejs/docs/v4.4.0", - "nodejs/release/v4.4.0/docs" - ], - [ - "nodejs/docs/v4.4.1", - "nodejs/release/v4.4.1/docs" - ], - [ - "nodejs/docs/v4.4.2", - "nodejs/release/v4.4.2/docs" - ], - [ - "nodejs/docs/v4.4.3", - "nodejs/release/v4.4.3/docs" - ], - [ - "nodejs/docs/v4.4.4", - "nodejs/release/v4.4.4/docs" - ], - [ - "nodejs/docs/v4.4.5", - "nodejs/release/v4.4.5/docs" - ], - [ - "nodejs/docs/v4.4.6", - "nodejs/release/v4.4.6/docs" - ], - [ - "nodejs/docs/v4.4.7", - "nodejs/release/v4.4.7/docs" - ], - [ - "nodejs/docs/v4.5.0", - "nodejs/release/v4.5.0/docs" - ], - [ - "nodejs/docs/v4.6.0", - "nodejs/release/v4.6.0/docs" - ], - [ - "nodejs/docs/v4.6.1", - "nodejs/release/v4.6.1/docs" - ], - [ - "nodejs/docs/v4.6.2", - "nodejs/release/v4.6.2/docs" - ], - [ - "nodejs/docs/v4.7.0", - "nodejs/release/v4.7.0/docs" - ], - [ - "nodejs/docs/v4.7.1", - "nodejs/release/v4.7.1/docs" - ], - [ - "nodejs/docs/v4.7.2", - "nodejs/release/v4.7.2/docs" - ], - [ - "nodejs/docs/v4.7.3", - "nodejs/release/v4.7.3/docs" - ], - [ - "nodejs/docs/v4.8.0", - "nodejs/release/v4.8.0/docs" - ], - [ - "nodejs/docs/v4.8.1", - "nodejs/release/v4.8.1/docs" - ], - [ - "nodejs/docs/v4.8.2", - "nodejs/release/v4.8.2/docs" - ], - [ - "nodejs/docs/v4.8.3", - "nodejs/release/v4.8.3/docs" - ], - [ - "nodejs/docs/v4.8.4", - "nodejs/release/v4.8.4/docs" - ], - [ - "nodejs/docs/v4.8.5", - "nodejs/release/v4.8.5/docs" - ], - [ - "nodejs/docs/v4.8.6", - "nodejs/release/v4.8.6/docs" - ], - [ - "nodejs/docs/v4.8.7", - "nodejs/release/v4.8.7/docs" - ], - [ - "nodejs/docs/v4.9.0", - "nodejs/release/v4.9.0/docs" - ], - [ - "nodejs/docs/v4.9.1", - "nodejs/release/v4.9.1/docs" - ], - [ - "nodejs/docs/v5.0.0", - "nodejs/release/v5.0.0/docs" - ], - [ - "nodejs/docs/v5.1.0", - "nodejs/release/v5.1.0/docs" - ], - [ - "nodejs/docs/v5.1.1", - "nodejs/release/v5.1.1/docs" - ], - [ - "nodejs/docs/v5.10.0", - "nodejs/release/v5.10.0/docs" - ], - [ - "nodejs/docs/v5.10.1", - "nodejs/release/v5.10.1/docs" - ], - [ - "nodejs/docs/v5.11.0", - "nodejs/release/v5.11.0/docs" - ], - [ - "nodejs/docs/v5.11.1", - "nodejs/release/v5.11.1/docs" - ], - [ - "nodejs/docs/v5.12.0", - "nodejs/release/v5.12.0/docs" - ], - [ - "nodejs/docs/v5.2.0", - "nodejs/release/v5.2.0/docs" - ], - [ - "nodejs/docs/v5.3.0", - "nodejs/release/v5.3.0/docs" - ], - [ - "nodejs/docs/v5.4.0", - "nodejs/release/v5.4.0/docs" - ], - [ - "nodejs/docs/v5.4.1", - "nodejs/release/v5.4.1/docs" - ], - [ - "nodejs/docs/v5.5.0", - "nodejs/release/v5.5.0/docs" - ], - [ - "nodejs/docs/v5.6.0", - "nodejs/release/v5.6.0/docs" - ], - [ - "nodejs/docs/v5.7.0", - "nodejs/release/v5.7.0/docs" - ], - [ - "nodejs/docs/v5.7.1", - "nodejs/release/v5.7.1/docs" - ], - [ - "nodejs/docs/v5.8.0", - "nodejs/release/v5.8.0/docs" - ], - [ - "nodejs/docs/v5.9.0", - "nodejs/release/v5.9.0/docs" - ], - [ - "nodejs/docs/v5.9.1", - "nodejs/release/v5.9.1/docs" - ], - [ - "nodejs/docs/v6.0.0", - "nodejs/release/v6.0.0/docs" - ], - [ - "nodejs/docs/v6.1.0", - "nodejs/release/v6.1.0/docs" - ], - [ - "nodejs/docs/v6.10.0", - "nodejs/release/v6.10.0/docs" - ], - [ - "nodejs/docs/v6.10.1", - "nodejs/release/v6.10.1/docs" - ], - [ - "nodejs/docs/v6.10.2", - "nodejs/release/v6.10.2/docs" - ], - [ - "nodejs/docs/v6.10.3", - "nodejs/release/v6.10.3/docs" - ], - [ - "nodejs/docs/v6.11.0", - "nodejs/release/v6.11.0/docs" - ], - [ - "nodejs/docs/v6.11.1", - "nodejs/release/v6.11.1/docs" - ], - [ - "nodejs/docs/v6.11.2", - "nodejs/release/v6.11.2/docs" - ], - [ - "nodejs/docs/v6.11.3", - "nodejs/release/v6.11.3/docs" - ], - [ - "nodejs/docs/v6.11.4", - "nodejs/release/v6.11.4/docs" - ], - [ - "nodejs/docs/v6.11.5", - "nodejs/release/v6.11.5/docs" - ], - [ - "nodejs/docs/v6.12.0", - "nodejs/release/v6.12.0/docs" - ], - [ - "nodejs/docs/v6.12.1", - "nodejs/release/v6.12.1/docs" - ], - [ - "nodejs/docs/v6.12.2", - "nodejs/release/v6.12.2/docs" - ], - [ - "nodejs/docs/v6.12.3", - "nodejs/release/v6.12.3/docs" - ], - [ - "nodejs/docs/v6.13.0", - "nodejs/release/v6.13.0/docs" - ], - [ - "nodejs/docs/v6.13.1", - "nodejs/release/v6.13.1/docs" - ], - [ - "nodejs/docs/v6.14.0", - "nodejs/release/v6.14.0/docs" - ], - [ - "nodejs/docs/v6.14.1", - "nodejs/release/v6.14.1/docs" - ], - [ - "nodejs/docs/v6.14.2", - "nodejs/release/v6.14.2/docs" - ], - [ - "nodejs/docs/v6.14.3", - "nodejs/release/v6.14.3/docs" - ], - [ - "nodejs/docs/v6.14.4", - "nodejs/release/v6.14.4/docs" - ], - [ - "nodejs/docs/v6.15.0", - "nodejs/release/v6.15.0/docs" - ], - [ - "nodejs/docs/v6.15.1", - "nodejs/release/v6.15.1/docs" - ], - [ - "nodejs/docs/v6.16.0", - "nodejs/release/v6.16.0/docs" - ], - [ - "nodejs/docs/v6.17.0", - "nodejs/release/v6.17.0/docs" - ], - [ - "nodejs/docs/v6.17.1", - "nodejs/release/v6.17.1/docs" - ], - [ - "nodejs/docs/v6.2.0", - "nodejs/release/v6.2.0/docs" - ], - [ - "nodejs/docs/v6.2.1", - "nodejs/release/v6.2.1/docs" - ], - [ - "nodejs/docs/v6.2.2", - "nodejs/release/v6.2.2/docs" - ], - [ - "nodejs/docs/v6.3.0", - "nodejs/release/v6.3.0/docs" - ], - [ - "nodejs/docs/v6.3.1", - "nodejs/release/v6.3.1/docs" - ], - [ - "nodejs/docs/v6.4.0", - "nodejs/release/v6.4.0/docs" - ], - [ - "nodejs/docs/v6.5.0", - "nodejs/release/v6.5.0/docs" - ], - [ - "nodejs/docs/v6.6.0", - "nodejs/release/v6.6.0/docs" - ], - [ - "nodejs/docs/v6.7.0", - "nodejs/release/v6.7.0/docs" - ], - [ - "nodejs/docs/v6.8.0", - "nodejs/release/v6.8.0/docs" - ], - [ - "nodejs/docs/v6.8.1", - "nodejs/release/v6.8.1/docs" - ], - [ - "nodejs/docs/v6.9.0", - "nodejs/release/v6.9.0/docs" - ], - [ - "nodejs/docs/v6.9.1", - "nodejs/release/v6.9.1/docs" - ], - [ - "nodejs/docs/v6.9.2", - "nodejs/release/v6.9.2/docs" - ], - [ - "nodejs/docs/v6.9.3", - "nodejs/release/v6.9.3/docs" - ], - [ - "nodejs/docs/v6.9.4", - "nodejs/release/v6.9.4/docs" - ], - [ - "nodejs/docs/v6.9.5", - "nodejs/release/v6.9.5/docs" - ], - [ - "nodejs/docs/v7.0.0", - "nodejs/release/v7.0.0/docs" - ], - [ - "nodejs/docs/v7.1.0", - "nodejs/release/v7.1.0/docs" - ], - [ - "nodejs/docs/v7.10.0", - "nodejs/release/v7.10.0/docs" - ], - [ - "nodejs/docs/v7.10.1", - "nodejs/release/v7.10.1/docs" - ], - [ - "nodejs/docs/v7.2.0", - "nodejs/release/v7.2.0/docs" - ], - [ - "nodejs/docs/v7.2.1", - "nodejs/release/v7.2.1/docs" - ], - [ - "nodejs/docs/v7.3.0", - "nodejs/release/v7.3.0/docs" - ], - [ - "nodejs/docs/v7.4.0", - "nodejs/release/v7.4.0/docs" - ], - [ - "nodejs/docs/v7.5.0", - "nodejs/release/v7.5.0/docs" - ], - [ - "nodejs/docs/v7.6.0", - "nodejs/release/v7.6.0/docs" - ], - [ - "nodejs/docs/v7.7.0", - "nodejs/release/v7.7.0/docs" - ], - [ - "nodejs/docs/v7.7.1", - "nodejs/release/v7.7.1/docs" - ], - [ - "nodejs/docs/v7.7.2", - "nodejs/release/v7.7.2/docs" - ], - [ - "nodejs/docs/v7.7.3", - "nodejs/release/v7.7.3/docs" - ], - [ - "nodejs/docs/v7.7.4", - "nodejs/release/v7.7.4/docs" - ], - [ - "nodejs/docs/v7.8.0", - "nodejs/release/v7.8.0/docs" - ], - [ - "nodejs/docs/v7.9.0", - "nodejs/release/v7.9.0/docs" - ], - [ - "nodejs/docs/v8.0.0", - "nodejs/release/v8.0.0/docs" - ], - [ - "nodejs/docs/v8.1.0", - "nodejs/release/v8.1.0/docs" - ], - [ - "nodejs/docs/v8.1.1", - "nodejs/release/v8.1.1/docs" - ], - [ - "nodejs/docs/v8.1.2", - "nodejs/release/v8.1.2/docs" - ], - [ - "nodejs/docs/v8.1.3", - "nodejs/release/v8.1.3/docs" - ], - [ - "nodejs/docs/v8.1.4", - "nodejs/release/v8.1.4/docs" - ], - [ - "nodejs/docs/v8.10.0", - "nodejs/release/v8.10.0/docs" - ], - [ - "nodejs/docs/v8.11.0", - "nodejs/release/v8.11.0/docs" - ], - [ - "nodejs/docs/v8.11.1", - "nodejs/release/v8.11.1/docs" - ], - [ - "nodejs/docs/v8.11.2", - "nodejs/release/v8.11.2/docs" - ], - [ - "nodejs/docs/v8.11.3", - "nodejs/release/v8.11.3/docs" - ], - [ - "nodejs/docs/v8.11.4", - "nodejs/release/v8.11.4/docs" - ], - [ - "nodejs/docs/v8.12.0", - "nodejs/release/v8.12.0/docs" - ], - [ - "nodejs/docs/v8.13.0", - "nodejs/release/v8.13.0/docs" - ], - [ - "nodejs/docs/v8.14.0", - "nodejs/release/v8.14.0/docs" - ], - [ - "nodejs/docs/v8.14.1", - "nodejs/release/v8.14.1/docs" - ], - [ - "nodejs/docs/v8.15.0", - "nodejs/release/v8.15.0/docs" - ], - [ - "nodejs/docs/v8.15.1", - "nodejs/release/v8.15.1/docs" - ], - [ - "nodejs/docs/v8.16.0", - "nodejs/release/v8.16.0/docs" - ], - [ - "nodejs/docs/v8.16.1", - "nodejs/release/v8.16.1/docs" - ], - [ - "nodejs/docs/v8.16.2", - "nodejs/release/v8.16.2/docs" - ], - [ - "nodejs/docs/v8.17.0", - "nodejs/release/v8.17.0/docs" - ], - [ - "nodejs/docs/v8.2.0", - "nodejs/release/v8.2.0/docs" - ], - [ - "nodejs/docs/v8.2.1", - "nodejs/release/v8.2.1/docs" - ], - [ - "nodejs/docs/v8.3.0", - "nodejs/release/v8.3.0/docs" - ], - [ - "nodejs/docs/v8.4.0", - "nodejs/release/v8.4.0/docs" - ], - [ - "nodejs/docs/v8.5.0", - "nodejs/release/v8.5.0/docs" - ], - [ - "nodejs/docs/v8.6.0", - "nodejs/release/v8.6.0/docs" - ], - [ - "nodejs/docs/v8.7.0", - "nodejs/release/v8.7.0/docs" - ], - [ - "nodejs/docs/v8.8.0", - "nodejs/release/v8.8.0/docs" - ], - [ - "nodejs/docs/v8.8.1", - "nodejs/release/v8.8.1/docs" - ], - [ - "nodejs/docs/v8.9.0", - "nodejs/release/v8.9.0/docs" - ], - [ - "nodejs/docs/v8.9.1", - "nodejs/release/v8.9.1/docs" - ], - [ - "nodejs/docs/v8.9.2", - "nodejs/release/v8.9.2/docs" - ], - [ - "nodejs/docs/v8.9.3", - "nodejs/release/v8.9.3/docs" - ], - [ - "nodejs/docs/v8.9.4", - "nodejs/release/v8.9.4/docs" - ], - [ - "nodejs/docs/v9.0.0", - "nodejs/release/v9.0.0/docs" - ], - [ - "nodejs/docs/v9.1.0", - "nodejs/release/v9.1.0/docs" - ], - [ - "nodejs/docs/v9.10.0", - "nodejs/release/v9.10.0/docs" - ], - [ - "nodejs/docs/v9.10.1", - "nodejs/release/v9.10.1/docs" - ], - [ - "nodejs/docs/v9.11.0", - "nodejs/release/v9.11.0/docs" - ], - [ - "nodejs/docs/v9.11.1", - "nodejs/release/v9.11.1/docs" - ], - [ - "nodejs/docs/v9.11.2", - "nodejs/release/v9.11.2/docs" - ], - [ - "nodejs/docs/v9.2.0", - "nodejs/release/v9.2.0/docs" - ], - [ - "nodejs/docs/v9.2.1", - "nodejs/release/v9.2.1/docs" - ], - [ - "nodejs/docs/v9.3.0", - "nodejs/release/v9.3.0/docs" - ], - [ - "nodejs/docs/v9.4.0", - "nodejs/release/v9.4.0/docs" - ], - [ - "nodejs/docs/v9.5.0", - "nodejs/release/v9.5.0/docs" - ], - [ - "nodejs/docs/v9.6.0", - "nodejs/release/v9.6.0/docs" - ], - [ - "nodejs/docs/v9.6.1", - "nodejs/release/v9.6.1/docs" - ], - [ - "nodejs/docs/v9.7.0", - "nodejs/release/v9.7.0/docs" - ], - [ - "nodejs/docs/v9.7.1", - "nodejs/release/v9.7.1/docs" - ], - [ - "nodejs/docs/v9.8.0", - "nodejs/release/v9.8.0/docs" - ], - [ - "nodejs/docs/v9.9.0", - "nodejs/release/v9.9.0/docs" - ], - [ - "nodejs/release/latest-v0.10.x", - "nodejs/release/v0.10.48" - ], - [ - "nodejs/docs/latest-v0.10.x", - "nodejs/release/v0.10.48/docs" - ], - [ - "nodejs/release/latest-v0.12.x", - "nodejs/release/v0.12.18" - ], - [ - "nodejs/docs/latest-v0.12.x", - "nodejs/release/v0.12.18/docs" - ], - [ - "nodejs/release/latest-v4.x", - "nodejs/release/v4.9.1" - ], - [ - "nodejs/docs/latest-v4.x", - "nodejs/release/v4.9.1/docs" - ], - [ - "nodejs/release/latest-argon", - "nodejs/release/v4.9.1" - ], - [ - "nodejs/docs/latest-argon", - "nodejs/release/v4.9.1/docs" - ], - [ - "nodejs/release/latest-v5.x", - "nodejs/release/v5.12.0" - ], - [ - "nodejs/docs/latest-v5.x", - "nodejs/release/v5.12.0/docs" - ], - [ - "nodejs/release/latest-v6.x", - "nodejs/release/v6.17.1" - ], - [ - "nodejs/docs/latest-v6.x", - "nodejs/release/v6.17.1/docs" - ], - [ - "nodejs/release/latest-boron", - "nodejs/release/v6.17.1" - ], - [ - "nodejs/docs/latest-boron", - "nodejs/release/v6.17.1/docs" - ], - [ - "nodejs/release/latest-v7.x", - "nodejs/release/v7.10.1" - ], - [ - "nodejs/docs/latest-v7.x", - "nodejs/release/v7.10.1/docs" - ], - [ - "nodejs/release/latest-v8.x", - "nodejs/release/v8.17.0" - ], - [ - "nodejs/docs/latest-v8.x", - "nodejs/release/v8.17.0/docs" - ], - [ - "nodejs/release/latest-carbon", - "nodejs/release/v8.17.0" - ], - [ - "nodejs/docs/latest-carbon", - "nodejs/release/v8.17.0/docs" - ], - [ - "nodejs/release/latest-v9.x", - "nodejs/release/v9.11.2" - ], - [ - "nodejs/docs/latest-v9.x", - "nodejs/release/v9.11.2/docs" - ], - [ - "nodejs/release/latest-v10.x", - "nodejs/release/v10.24.1" - ], - [ - "nodejs/docs/latest-v10.x", - "nodejs/release/v10.24.1/docs" - ], - [ - "nodejs/release/latest-dubnium", - "nodejs/release/v10.24.1" - ], - [ - "nodejs/docs/latest-dubnium", - "nodejs/release/v10.24.1/docs" - ], - [ - "nodejs/release/latest-v11.x", - "nodejs/release/v11.15.0" - ], - [ - "nodejs/docs/latest-v11.x", - "nodejs/release/v11.15.0/docs" - ], - [ - "nodejs/release/latest-v12.x", - "nodejs/release/v12.22.12" - ], - [ - "nodejs/docs/latest-v12.x", - "nodejs/release/v12.22.12/docs" - ], - [ - "nodejs/release/latest-erbium", - "nodejs/release/v12.22.12" - ], - [ - "nodejs/docs/latest-erbium", - "nodejs/release/v12.22.12/docs" - ], - [ - "nodejs/release/latest-v13.x", - "nodejs/release/v13.14.0" - ], - [ - "nodejs/docs/latest-v13.x", - "nodejs/release/v13.14.0/docs" - ], - [ - "nodejs/release/latest-v14.x", - "nodejs/release/v14.21.3" - ], - [ - "nodejs/docs/latest-v14.x", - "nodejs/release/v14.21.3/docs" - ], - [ - "nodejs/release/latest-fermium", - "nodejs/release/v14.21.3" - ], - [ - "nodejs/docs/latest-fermium", - "nodejs/release/v14.21.3/docs" - ], - [ - "nodejs/release/latest-v15.x", - "nodejs/release/v15.14.0" - ], - [ - "nodejs/docs/latest-v15.x", - "nodejs/release/v15.14.0/docs" - ], - [ - "nodejs/release/latest-v16.x", - "nodejs/release/v16.20.2" - ], - [ - "nodejs/docs/latest-v16.x", - "nodejs/release/v16.20.2/docs" - ], - [ - "nodejs/release/latest-gallium", - "nodejs/release/v16.20.2" - ], - [ - "nodejs/docs/latest-gallium", - "nodejs/release/v16.20.2/docs" - ], - [ - "nodejs/release/latest-v17.x", - "nodejs/release/v17.9.1" - ], - [ - "nodejs/docs/latest-v17.x", - "nodejs/release/v17.9.1/docs" - ], - [ - "nodejs/release/latest-v18.x", - "nodejs/release/v18.18.0" - ], - [ - "nodejs/docs/latest-v18.x", - "nodejs/release/v18.18.0/docs" - ], - [ - "nodejs/release/latest-hydrogen", - "nodejs/release/v18.18.0" - ], - [ - "nodejs/docs/latest-hydrogen", - "nodejs/release/v18.18.0/docs" - ], - [ - "nodejs/release/latest-v19.x", - "nodejs/release/v19.9.0" - ], - [ - "nodejs/docs/latest-v19.x", - "nodejs/release/v19.9.0/docs" - ], - [ - "nodejs/release/latest-v20.x", - "nodejs/release/v20.8.0" - ], - [ - "nodejs/docs/latest-v20.x", - "nodejs/release/v20.8.0/docs" - ], - [ - "nodejs/release/latest", - "nodejs/release/v20.8.0" - ], - [ - "nodejs/docs/latest", - "nodejs/release/v20.8.0/docs" - ], + ["nodejs/docs/v0.10.16", "nodejs/release/v0.10.16/docs"], + ["nodejs/docs/v0.10.17", "nodejs/release/v0.10.17/docs"], + ["nodejs/docs/v0.10.18", "nodejs/release/v0.10.18/docs"], + ["nodejs/docs/v0.10.19", "nodejs/release/v0.10.19/docs"], + ["nodejs/docs/v0.10.2", "nodejs/release/v0.10.2/docs"], + ["nodejs/docs/v0.10.20", "nodejs/release/v0.10.20/docs"], + ["nodejs/docs/v0.10.21", "nodejs/release/v0.10.21/docs"], + ["nodejs/docs/v0.10.22", "nodejs/release/v0.10.22/docs"], + ["nodejs/docs/v0.10.23", "nodejs/release/v0.10.23/docs"], + ["nodejs/docs/v0.10.24", "nodejs/release/v0.10.24/docs"], + ["nodejs/docs/v0.10.25", "nodejs/release/v0.10.25/docs"], + ["nodejs/docs/v0.10.26", "nodejs/release/v0.10.26/docs"], + ["nodejs/docs/v0.10.27", "nodejs/release/v0.10.27/docs"], + ["nodejs/docs/v0.10.28", "nodejs/release/v0.10.28/docs"], + ["nodejs/docs/v0.10.29", "nodejs/release/v0.10.29/docs"], + ["nodejs/docs/v0.10.3", "nodejs/release/v0.10.3/docs"], + ["nodejs/docs/v0.10.30", "nodejs/release/v0.10.30/docs"], + ["nodejs/docs/v0.10.31", "nodejs/release/v0.10.31/docs"], + ["nodejs/docs/v0.10.32", "nodejs/release/v0.10.32/docs"], + ["nodejs/docs/v0.10.33", "nodejs/release/v0.10.33/docs"], + ["nodejs/docs/v0.10.34", "nodejs/release/v0.10.34/docs"], + ["nodejs/docs/v0.10.35", "nodejs/release/v0.10.35/docs"], + ["nodejs/docs/v0.10.36", "nodejs/release/v0.10.36/docs"], + ["nodejs/docs/v0.10.37", "nodejs/release/v0.10.37/docs"], + ["nodejs/docs/v0.10.38", "nodejs/release/v0.10.38/docs"], + ["nodejs/docs/v0.10.39", "nodejs/release/v0.10.39/docs"], + ["nodejs/docs/v0.10.4", "nodejs/release/v0.10.4/docs"], + ["nodejs/docs/v0.10.40", "nodejs/release/v0.10.40/docs"], + ["nodejs/docs/v0.10.41", "nodejs/release/v0.10.41/docs"], + ["nodejs/docs/v0.10.42", "nodejs/release/v0.10.42/docs"], + ["nodejs/docs/v0.10.43", "nodejs/release/v0.10.43/docs"], + ["nodejs/docs/v0.10.44", "nodejs/release/v0.10.44/docs"], + ["nodejs/docs/v0.10.45", "nodejs/release/v0.10.45/docs"], + ["nodejs/docs/v0.10.46", "nodejs/release/v0.10.46/docs"], + ["nodejs/docs/v0.10.47", "nodejs/release/v0.10.47/docs"], + ["nodejs/docs/v0.10.48", "nodejs/release/v0.10.48/docs"], + ["nodejs/docs/v0.10.5", "nodejs/release/v0.10.5/docs"], + ["nodejs/docs/v0.10.6", "nodejs/release/v0.10.6/docs"], + ["nodejs/docs/v0.10.7", "nodejs/release/v0.10.7/docs"], + ["nodejs/docs/v0.10.8", "nodejs/release/v0.10.8/docs"], + ["nodejs/docs/v0.10.9", "nodejs/release/v0.10.9/docs"], + ["nodejs/docs/v0.11.0", "nodejs/release/v0.11.0/docs"], + ["nodejs/docs/v0.11.1", "nodejs/release/v0.11.1/docs"], + ["nodejs/docs/v0.11.10", "nodejs/release/v0.11.10/docs"], + ["nodejs/docs/v0.11.11", "nodejs/release/v0.11.11/docs"], + ["nodejs/docs/v0.11.12", "nodejs/release/v0.11.12/docs"], + ["nodejs/docs/v0.11.13", "nodejs/release/v0.11.13/docs"], + ["nodejs/docs/v0.11.14", "nodejs/release/v0.11.14/docs"], + ["nodejs/docs/v0.11.15", "nodejs/release/v0.11.15/docs"], + ["nodejs/docs/v0.11.16", "nodejs/release/v0.11.16/docs"], + ["nodejs/docs/v0.11.2", "nodejs/release/v0.11.2/docs"], + ["nodejs/docs/v0.11.3", "nodejs/release/v0.11.3/docs"], + ["nodejs/docs/v0.11.4", "nodejs/release/v0.11.4/docs"], + ["nodejs/docs/v0.11.5", "nodejs/release/v0.11.5/docs"], + ["nodejs/docs/v0.11.6", "nodejs/release/v0.11.6/docs"], + ["nodejs/docs/v0.11.7", "nodejs/release/v0.11.7/docs"], + ["nodejs/docs/v0.11.8", "nodejs/release/v0.11.8/docs"], + ["nodejs/docs/v0.11.9", "nodejs/release/v0.11.9/docs"], + ["nodejs/docs/v0.12.0", "nodejs/release/v0.12.0/docs"], + ["nodejs/docs/v0.12.1", "nodejs/release/v0.12.1/docs"], + ["nodejs/docs/v0.12.10", "nodejs/release/v0.12.10/docs"], + ["nodejs/docs/v0.12.11", "nodejs/release/v0.12.11/docs"], + ["nodejs/docs/v0.12.12", "nodejs/release/v0.12.12/docs"], + ["nodejs/docs/v0.12.13", "nodejs/release/v0.12.13/docs"], + ["nodejs/docs/v0.12.14", "nodejs/release/v0.12.14/docs"], + ["nodejs/docs/v0.12.15", "nodejs/release/v0.12.15/docs"], + ["nodejs/docs/v0.12.16", "nodejs/release/v0.12.16/docs"], + ["nodejs/docs/v0.12.17", "nodejs/release/v0.12.17/docs"], + ["nodejs/docs/v0.12.18", "nodejs/release/v0.12.18/docs"], + ["nodejs/docs/v0.12.2", "nodejs/release/v0.12.2/docs"], + ["nodejs/docs/v0.12.3", "nodejs/release/v0.12.3/docs"], + ["nodejs/docs/v0.12.4", "nodejs/release/v0.12.4/docs"], + ["nodejs/docs/v0.12.5", "nodejs/release/v0.12.5/docs"], + ["nodejs/docs/v0.12.6", "nodejs/release/v0.12.6/docs"], + ["nodejs/docs/v0.12.7", "nodejs/release/v0.12.7/docs"], + ["nodejs/docs/v0.12.8", "nodejs/release/v0.12.8/docs"], + ["nodejs/docs/v0.12.9", "nodejs/release/v0.12.9/docs"], + ["nodejs/docs/v0.2.0", "nodejs/release/v0.2.0/docs"], + ["nodejs/docs/v0.2.1", "nodejs/release/v0.2.1/docs"], + ["nodejs/docs/v0.2.2", "nodejs/release/v0.2.2/docs"], + ["nodejs/docs/v0.2.3", "nodejs/release/v0.2.3/docs"], + ["nodejs/docs/v0.2.4", "nodejs/release/v0.2.4/docs"], + ["nodejs/docs/v0.2.5", "nodejs/release/v0.2.5/docs"], + ["nodejs/docs/v0.2.6", "nodejs/release/v0.2.6/docs"], + ["nodejs/docs/v0.3.0", "nodejs/release/v0.3.0/docs"], + ["nodejs/docs/v0.3.1", "nodejs/release/v0.3.1/docs"], + ["nodejs/docs/v0.3.2", "nodejs/release/v0.3.2/docs"], + ["nodejs/docs/v0.3.3", "nodejs/release/v0.3.3/docs"], + ["nodejs/docs/v0.3.4", "nodejs/release/v0.3.4/docs"], + ["nodejs/docs/v0.3.5", "nodejs/release/v0.3.5/docs"], + ["nodejs/docs/v0.3.6", "nodejs/release/v0.3.6/docs"], + ["nodejs/docs/v0.3.7", "nodejs/release/v0.3.7/docs"], + ["nodejs/docs/v0.3.8", "nodejs/release/v0.3.8/docs"], + ["nodejs/docs/v0.4.0", "nodejs/release/v0.4.0/docs"], + ["nodejs/docs/v0.4.1", "nodejs/release/v0.4.1/docs"], + ["nodejs/docs/v0.4.10", "nodejs/release/v0.4.10/docs"], + ["nodejs/docs/v0.4.11", "nodejs/release/v0.4.11/docs"], + ["nodejs/docs/v0.4.12", "nodejs/release/v0.4.12/docs"], + ["nodejs/docs/v0.4.2", "nodejs/release/v0.4.2/docs"], + ["nodejs/docs/v0.4.3", "nodejs/release/v0.4.3/docs"], + ["nodejs/docs/v0.4.4", "nodejs/release/v0.4.4/docs"], + ["nodejs/docs/v0.4.5", "nodejs/release/v0.4.5/docs"], + ["nodejs/docs/v0.4.6", "nodejs/release/v0.4.6/docs"], + ["nodejs/docs/v0.4.7", "nodejs/release/v0.4.7/docs"], + ["nodejs/docs/v0.4.8", "nodejs/release/v0.4.8/docs"], + ["nodejs/docs/v0.4.9", "nodejs/release/v0.4.9/docs"], + ["nodejs/docs/v0.5.0", "nodejs/release/v0.5.0/docs"], + ["nodejs/docs/v0.5.1", "nodejs/release/v0.5.1/docs"], + ["nodejs/docs/v0.5.10", "nodejs/release/v0.5.10/docs"], + ["nodejs/docs/v0.5.2", "nodejs/release/v0.5.2/docs"], + ["nodejs/docs/v0.5.3", "nodejs/release/v0.5.3/docs"], + ["nodejs/docs/v0.5.4", "nodejs/release/v0.5.4/docs"], + ["nodejs/docs/v0.5.5", "nodejs/release/v0.5.5/docs"], + ["nodejs/docs/v0.5.6", "nodejs/release/v0.5.6/docs"], + ["nodejs/docs/v0.5.7", "nodejs/release/v0.5.7/docs"], + ["nodejs/docs/v0.5.8", "nodejs/release/v0.5.8/docs"], + ["nodejs/docs/v0.5.9", "nodejs/release/v0.5.9/docs"], + ["nodejs/docs/v0.6.0", "nodejs/release/v0.6.0/docs"], + ["nodejs/docs/v0.6.1", "nodejs/release/v0.6.1/docs"], + ["nodejs/docs/v0.6.10", "nodejs/release/v0.6.10/docs"], + ["nodejs/docs/v0.6.11", "nodejs/release/v0.6.11/docs"], + ["nodejs/docs/v0.6.12", "nodejs/release/v0.6.12/docs"], + ["nodejs/docs/v0.6.13", "nodejs/release/v0.6.13/docs"], + ["nodejs/docs/v0.6.14", "nodejs/release/v0.6.14/docs"], + ["nodejs/docs/v0.6.15", "nodejs/release/v0.6.15/docs"], + ["nodejs/docs/v0.6.16", "nodejs/release/v0.6.16/docs"], + ["nodejs/docs/v0.6.17", "nodejs/release/v0.6.17/docs"], + ["nodejs/docs/v0.6.18", "nodejs/release/v0.6.18/docs"], + ["nodejs/docs/v0.6.19", "nodejs/release/v0.6.19/docs"], + ["nodejs/docs/v0.6.2", "nodejs/release/v0.6.2/docs"], + ["nodejs/docs/v0.6.20", "nodejs/release/v0.6.20/docs"], + ["nodejs/docs/v0.6.21", "nodejs/release/v0.6.21/docs"], + ["nodejs/docs/v0.6.3", "nodejs/release/v0.6.3/docs"], + ["nodejs/docs/v0.6.4", "nodejs/release/v0.6.4/docs"], + ["nodejs/docs/v0.6.5", "nodejs/release/v0.6.5/docs"], + ["nodejs/docs/v0.6.6", "nodejs/release/v0.6.6/docs"], + ["nodejs/docs/v0.6.7", "nodejs/release/v0.6.7/docs"], + ["nodejs/docs/v0.6.8", "nodejs/release/v0.6.8/docs"], + ["nodejs/docs/v0.6.9", "nodejs/release/v0.6.9/docs"], + ["nodejs/docs/v0.7.0", "nodejs/release/v0.7.0/docs"], + ["nodejs/docs/v0.7.1", "nodejs/release/v0.7.1/docs"], + ["nodejs/docs/v0.7.10", "nodejs/release/v0.7.10/docs"], + ["nodejs/docs/v0.7.11", "nodejs/release/v0.7.11/docs"], + ["nodejs/docs/v0.7.12", "nodejs/release/v0.7.12/docs"], + ["nodejs/docs/v0.7.2", "nodejs/release/v0.7.2/docs"], + ["nodejs/docs/v0.7.3", "nodejs/release/v0.7.3/docs"], + ["nodejs/docs/v0.7.4", "nodejs/release/v0.7.4/docs"], + ["nodejs/docs/v0.7.5", "nodejs/release/v0.7.5/docs"], + ["nodejs/docs/v0.7.6", "nodejs/release/v0.7.6/docs"], + ["nodejs/docs/v0.7.7", "nodejs/release/v0.7.7/docs"], + ["nodejs/docs/v0.7.8", "nodejs/release/v0.7.8/docs"], + ["nodejs/docs/v0.7.9", "nodejs/release/v0.7.9/docs"], + ["nodejs/docs/v0.8.0", "nodejs/release/v0.8.0/docs"], + ["nodejs/docs/v0.8.1", "nodejs/release/v0.8.1/docs"], + ["nodejs/docs/v0.8.10", "nodejs/release/v0.8.10/docs"], + ["nodejs/docs/v0.8.11", "nodejs/release/v0.8.11/docs"], + ["nodejs/docs/v0.8.12", "nodejs/release/v0.8.12/docs"], + ["nodejs/docs/v0.8.13", "nodejs/release/v0.8.13/docs"], + ["nodejs/docs/v0.8.14", "nodejs/release/v0.8.14/docs"], + ["nodejs/docs/v0.8.15", "nodejs/release/v0.8.15/docs"], + ["nodejs/docs/v0.8.16", "nodejs/release/v0.8.16/docs"], + ["nodejs/docs/v0.8.17", "nodejs/release/v0.8.17/docs"], + ["nodejs/docs/v0.8.18", "nodejs/release/v0.8.18/docs"], + ["nodejs/docs/v0.8.19", "nodejs/release/v0.8.19/docs"], + ["nodejs/docs/v0.8.2", "nodejs/release/v0.8.2/docs"], + ["nodejs/docs/v0.8.20", "nodejs/release/v0.8.20/docs"], + ["nodejs/docs/v0.8.21", "nodejs/release/v0.8.21/docs"], + ["nodejs/docs/v0.8.22", "nodejs/release/v0.8.22/docs"], + ["nodejs/docs/v0.8.23", "nodejs/release/v0.8.23/docs"], + ["nodejs/docs/v0.8.24", "nodejs/release/v0.8.24/docs"], + ["nodejs/docs/v0.8.25", "nodejs/release/v0.8.25/docs"], + ["nodejs/docs/v0.8.26", "nodejs/release/v0.8.26/docs"], + ["nodejs/docs/v0.8.27", "nodejs/release/v0.8.27/docs"], + ["nodejs/docs/v0.8.28", "nodejs/release/v0.8.28/docs"], + ["nodejs/docs/v0.8.3", "nodejs/release/v0.8.3/docs"], + ["nodejs/docs/v0.8.4", "nodejs/release/v0.8.4/docs"], + ["nodejs/docs/v0.8.5", "nodejs/release/v0.8.5/docs"], + ["nodejs/docs/v0.8.6", "nodejs/release/v0.8.6/docs"], + ["nodejs/docs/v0.8.7", "nodejs/release/v0.8.7/docs"], + ["nodejs/docs/v0.8.8", "nodejs/release/v0.8.8/docs"], + ["nodejs/docs/v0.8.9", "nodejs/release/v0.8.9/docs"], + ["nodejs/docs/v0.9.0", "nodejs/release/v0.9.0/docs"], + ["nodejs/docs/v0.9.1", "nodejs/release/v0.9.1/docs"], + ["nodejs/docs/v0.9.10", "nodejs/release/v0.9.10/docs"], + ["nodejs/docs/v0.9.11", "nodejs/release/v0.9.11/docs"], + ["nodejs/docs/v0.9.12", "nodejs/release/v0.9.12/docs"], + ["nodejs/docs/v0.9.2", "nodejs/release/v0.9.2/docs"], + ["nodejs/docs/v0.9.3", "nodejs/release/v0.9.3/docs"], + ["nodejs/docs/v0.9.4", "nodejs/release/v0.9.4/docs"], + ["nodejs/docs/v0.9.5", "nodejs/release/v0.9.5/docs"], + ["nodejs/docs/v0.9.6", "nodejs/release/v0.9.6/docs"], + ["nodejs/docs/v0.9.7", "nodejs/release/v0.9.7/docs"], + ["nodejs/docs/v0.9.8", "nodejs/release/v0.9.8/docs"], + ["nodejs/docs/v0.9.9", "nodejs/release/v0.9.9/docs"], + ["nodejs/docs/v10.0.0", "nodejs/release/v10.0.0/docs"], + ["nodejs/docs/v10.1.0", "nodejs/release/v10.1.0/docs"], + ["nodejs/docs/v10.10.0", "nodejs/release/v10.10.0/docs"], + ["nodejs/docs/v10.11.0", "nodejs/release/v10.11.0/docs"], + ["nodejs/docs/v10.12.0", "nodejs/release/v10.12.0/docs"], + ["nodejs/docs/v10.13.0", "nodejs/release/v10.13.0/docs"], + ["nodejs/docs/v10.14.0", "nodejs/release/v10.14.0/docs"], + ["nodejs/docs/v10.14.1", "nodejs/release/v10.14.1/docs"], + ["nodejs/docs/v10.14.2", "nodejs/release/v10.14.2/docs"], + ["nodejs/docs/v10.15.0", "nodejs/release/v10.15.0/docs"], + ["nodejs/docs/v10.15.1", "nodejs/release/v10.15.1/docs"], + ["nodejs/docs/v10.15.2", "nodejs/release/v10.15.2/docs"], + ["nodejs/docs/v10.15.3", "nodejs/release/v10.15.3/docs"], + ["nodejs/docs/v10.16.0", "nodejs/release/v10.16.0/docs"], + ["nodejs/docs/v10.16.1", "nodejs/release/v10.16.1/docs"], + ["nodejs/docs/v10.16.2", "nodejs/release/v10.16.2/docs"], + ["nodejs/docs/v10.16.3", "nodejs/release/v10.16.3/docs"], + ["nodejs/docs/v10.17.0", "nodejs/release/v10.17.0/docs"], + ["nodejs/docs/v10.18.0", "nodejs/release/v10.18.0/docs"], + ["nodejs/docs/v10.18.1", "nodejs/release/v10.18.1/docs"], + ["nodejs/docs/v10.19.0", "nodejs/release/v10.19.0/docs"], + ["nodejs/docs/v10.2.0", "nodejs/release/v10.2.0/docs"], + ["nodejs/docs/v10.2.1", "nodejs/release/v10.2.1/docs"], + ["nodejs/docs/v10.20.0", "nodejs/release/v10.20.0/docs"], + ["nodejs/docs/v10.20.1", "nodejs/release/v10.20.1/docs"], + ["nodejs/docs/v10.21.0", "nodejs/release/v10.21.0/docs"], + ["nodejs/docs/v10.22.0", "nodejs/release/v10.22.0/docs"], + ["nodejs/docs/v10.22.1", "nodejs/release/v10.22.1/docs"], + ["nodejs/docs/v10.23.0", "nodejs/release/v10.23.0/docs"], + ["nodejs/docs/v10.23.1", "nodejs/release/v10.23.1/docs"], + ["nodejs/docs/v10.23.2", "nodejs/release/v10.23.2/docs"], + ["nodejs/docs/v10.23.3", "nodejs/release/v10.23.3/docs"], + ["nodejs/docs/v10.24.0", "nodejs/release/v10.24.0/docs"], + ["nodejs/docs/v10.24.1", "nodejs/release/v10.24.1/docs"], + ["nodejs/docs/v10.3.0", "nodejs/release/v10.3.0/docs"], + ["nodejs/docs/v10.4.0", "nodejs/release/v10.4.0/docs"], + ["nodejs/docs/v10.4.1", "nodejs/release/v10.4.1/docs"], + ["nodejs/docs/v10.5.0", "nodejs/release/v10.5.0/docs"], + ["nodejs/docs/v10.6.0", "nodejs/release/v10.6.0/docs"], + ["nodejs/docs/v10.7.0", "nodejs/release/v10.7.0/docs"], + ["nodejs/docs/v10.8.0", "nodejs/release/v10.8.0/docs"], + ["nodejs/docs/v10.9.0", "nodejs/release/v10.9.0/docs"], + ["nodejs/docs/v11.0.0", "nodejs/release/v11.0.0/docs"], + ["nodejs/docs/v11.1.0", "nodejs/release/v11.1.0/docs"], + ["nodejs/docs/v11.10.0", "nodejs/release/v11.10.0/docs"], + ["nodejs/docs/v11.10.1", "nodejs/release/v11.10.1/docs"], + ["nodejs/docs/v11.11.0", "nodejs/release/v11.11.0/docs"], + ["nodejs/docs/v11.12.0", "nodejs/release/v11.12.0/docs"], + ["nodejs/docs/v11.13.0", "nodejs/release/v11.13.0/docs"], + ["nodejs/docs/v11.14.0", "nodejs/release/v11.14.0/docs"], + ["nodejs/docs/v11.15.0", "nodejs/release/v11.15.0/docs"], + ["nodejs/docs/v11.2.0", "nodejs/release/v11.2.0/docs"], + ["nodejs/docs/v11.3.0", "nodejs/release/v11.3.0/docs"], + ["nodejs/docs/v11.4.0", "nodejs/release/v11.4.0/docs"], + ["nodejs/docs/v11.5.0", "nodejs/release/v11.5.0/docs"], + ["nodejs/docs/v11.6.0", "nodejs/release/v11.6.0/docs"], + ["nodejs/docs/v11.7.0", "nodejs/release/v11.7.0/docs"], + ["nodejs/docs/v11.8.0", "nodejs/release/v11.8.0/docs"], + ["nodejs/docs/v11.9.0", "nodejs/release/v11.9.0/docs"], + ["nodejs/docs/v12.0.0", "nodejs/release/v12.0.0/docs"], + ["nodejs/docs/v12.1.0", "nodejs/release/v12.1.0/docs"], + ["nodejs/docs/v12.10.0", "nodejs/release/v12.10.0/docs"], + ["nodejs/docs/v12.11.0", "nodejs/release/v12.11.0/docs"], + ["nodejs/docs/v12.11.1", "nodejs/release/v12.11.1/docs"], + ["nodejs/docs/v12.12.0", "nodejs/release/v12.12.0/docs"], + ["nodejs/docs/v12.13.0", "nodejs/release/v12.13.0/docs"], + ["nodejs/docs/v12.13.1", "nodejs/release/v12.13.1/docs"], + ["nodejs/docs/v12.14.0", "nodejs/release/v12.14.0/docs"], + ["nodejs/docs/v12.14.1", "nodejs/release/v12.14.1/docs"], + ["nodejs/docs/v12.15.0", "nodejs/release/v12.15.0/docs"], + ["nodejs/docs/v12.16.0", "nodejs/release/v12.16.0/docs"], + ["nodejs/docs/v12.16.1", "nodejs/release/v12.16.1/docs"], + ["nodejs/docs/v12.16.2", "nodejs/release/v12.16.2/docs"], + ["nodejs/docs/v12.16.3", "nodejs/release/v12.16.3/docs"], + ["nodejs/docs/v12.17.0", "nodejs/release/v12.17.0/docs"], + ["nodejs/docs/v12.18.0", "nodejs/release/v12.18.0/docs"], + ["nodejs/docs/v12.18.1", "nodejs/release/v12.18.1/docs"], + ["nodejs/docs/v12.18.2", "nodejs/release/v12.18.2/docs"], + ["nodejs/docs/v12.18.3", "nodejs/release/v12.18.3/docs"], + ["nodejs/docs/v12.18.4", "nodejs/release/v12.18.4/docs"], + ["nodejs/docs/v12.19.0", "nodejs/release/v12.19.0/docs"], + ["nodejs/docs/v12.19.1", "nodejs/release/v12.19.1/docs"], + ["nodejs/docs/v12.2.0", "nodejs/release/v12.2.0/docs"], + ["nodejs/docs/v12.20.0", "nodejs/release/v12.20.0/docs"], + ["nodejs/docs/v12.20.1", "nodejs/release/v12.20.1/docs"], + ["nodejs/docs/v12.20.2", "nodejs/release/v12.20.2/docs"], + ["nodejs/docs/v12.21.0", "nodejs/release/v12.21.0/docs"], + ["nodejs/docs/v12.22.0", "nodejs/release/v12.22.0/docs"], + ["nodejs/docs/v12.22.1", "nodejs/release/v12.22.1/docs"], + ["nodejs/docs/v12.22.10", "nodejs/release/v12.22.10/docs"], + ["nodejs/docs/v12.22.11", "nodejs/release/v12.22.11/docs"], + ["nodejs/docs/v12.22.12", "nodejs/release/v12.22.12/docs"], + ["nodejs/docs/v12.22.2", "nodejs/release/v12.22.2/docs"], + ["nodejs/docs/v12.22.3", "nodejs/release/v12.22.3/docs"], + ["nodejs/docs/v12.22.4", "nodejs/release/v12.22.4/docs"], + ["nodejs/docs/v12.22.5", "nodejs/release/v12.22.5/docs"], + ["nodejs/docs/v12.22.6", "nodejs/release/v12.22.6/docs"], + ["nodejs/docs/v12.22.7", "nodejs/release/v12.22.7/docs"], + ["nodejs/docs/v12.22.8", "nodejs/release/v12.22.8/docs"], + ["nodejs/docs/v12.22.9", "nodejs/release/v12.22.9/docs"], + ["nodejs/docs/v12.3.0", "nodejs/release/v12.3.0/docs"], + ["nodejs/docs/v12.3.1", "nodejs/release/v12.3.1/docs"], + ["nodejs/docs/v12.4.0", "nodejs/release/v12.4.0/docs"], + ["nodejs/docs/v12.5.0", "nodejs/release/v12.5.0/docs"], + ["nodejs/docs/v12.6.0", "nodejs/release/v12.6.0/docs"], + ["nodejs/docs/v12.7.0", "nodejs/release/v12.7.0/docs"], + ["nodejs/docs/v12.8.0", "nodejs/release/v12.8.0/docs"], + ["nodejs/docs/v12.8.1", "nodejs/release/v12.8.1/docs"], + ["nodejs/docs/v12.9.0", "nodejs/release/v12.9.0/docs"], + ["nodejs/docs/v12.9.1", "nodejs/release/v12.9.1/docs"], + ["nodejs/docs/v13.0.0", "nodejs/release/v13.0.0/docs"], + ["nodejs/docs/v13.0.1", "nodejs/release/v13.0.1/docs"], + ["nodejs/docs/v13.1.0", "nodejs/release/v13.1.0/docs"], + ["nodejs/docs/v13.10.0", "nodejs/release/v13.10.0/docs"], + ["nodejs/docs/v13.10.1", "nodejs/release/v13.10.1/docs"], + ["nodejs/docs/v13.11.0", "nodejs/release/v13.11.0/docs"], + ["nodejs/docs/v13.12.0", "nodejs/release/v13.12.0/docs"], + ["nodejs/docs/v13.13.0", "nodejs/release/v13.13.0/docs"], + ["nodejs/docs/v13.14.0", "nodejs/release/v13.14.0/docs"], + ["nodejs/docs/v13.2.0", "nodejs/release/v13.2.0/docs"], + ["nodejs/docs/v13.3.0", "nodejs/release/v13.3.0/docs"], + ["nodejs/docs/v13.4.0", "nodejs/release/v13.4.0/docs"], + ["nodejs/docs/v13.5.0", "nodejs/release/v13.5.0/docs"], + ["nodejs/docs/v13.6.0", "nodejs/release/v13.6.0/docs"], + ["nodejs/docs/v13.7.0", "nodejs/release/v13.7.0/docs"], + ["nodejs/docs/v13.8.0", "nodejs/release/v13.8.0/docs"], + ["nodejs/docs/v13.9.0", "nodejs/release/v13.9.0/docs"], + ["nodejs/docs/v14.0.0", "nodejs/release/v14.0.0/docs"], + ["nodejs/docs/v14.1.0", "nodejs/release/v14.1.0/docs"], + ["nodejs/docs/v14.10.0", "nodejs/release/v14.10.0/docs"], + ["nodejs/docs/v14.10.1", "nodejs/release/v14.10.1/docs"], + ["nodejs/docs/v14.11.0", "nodejs/release/v14.11.0/docs"], + ["nodejs/docs/v14.12.0", "nodejs/release/v14.12.0/docs"], + ["nodejs/docs/v14.13.0", "nodejs/release/v14.13.0/docs"], + ["nodejs/docs/v14.13.1", "nodejs/release/v14.13.1/docs"], + ["nodejs/docs/v14.14.0", "nodejs/release/v14.14.0/docs"], + ["nodejs/docs/v14.15.0", "nodejs/release/v14.15.0/docs"], + ["nodejs/docs/v14.15.1", "nodejs/release/v14.15.1/docs"], + ["nodejs/docs/v14.15.2", "nodejs/release/v14.15.2/docs"], + ["nodejs/docs/v14.15.3", "nodejs/release/v14.15.3/docs"], + ["nodejs/docs/v14.15.4", "nodejs/release/v14.15.4/docs"], + ["nodejs/docs/v14.15.5", "nodejs/release/v14.15.5/docs"], + ["nodejs/docs/v14.16.0", "nodejs/release/v14.16.0/docs"], + ["nodejs/docs/v14.16.1", "nodejs/release/v14.16.1/docs"], + ["nodejs/docs/v14.17.0", "nodejs/release/v14.17.0/docs"], + ["nodejs/docs/v14.17.1", "nodejs/release/v14.17.1/docs"], + ["nodejs/docs/v14.17.2", "nodejs/release/v14.17.2/docs"], + ["nodejs/docs/v14.17.3", "nodejs/release/v14.17.3/docs"], + ["nodejs/docs/v14.17.4", "nodejs/release/v14.17.4/docs"], + ["nodejs/docs/v14.17.5", "nodejs/release/v14.17.5/docs"], + ["nodejs/docs/v14.17.6", "nodejs/release/v14.17.6/docs"], + ["nodejs/docs/v14.18.0", "nodejs/release/v14.18.0/docs"], + ["nodejs/docs/v14.18.1", "nodejs/release/v14.18.1/docs"], + ["nodejs/docs/v14.18.2", "nodejs/release/v14.18.2/docs"], + ["nodejs/docs/v14.18.3", "nodejs/release/v14.18.3/docs"], + ["nodejs/docs/v14.19.0", "nodejs/release/v14.19.0/docs"], + ["nodejs/docs/v14.19.1", "nodejs/release/v14.19.1/docs"], + ["nodejs/docs/v14.19.2", "nodejs/release/v14.19.2/docs"], + ["nodejs/docs/v14.19.3", "nodejs/release/v14.19.3/docs"], + ["nodejs/docs/v14.2.0", "nodejs/release/v14.2.0/docs"], + ["nodejs/docs/v14.20.0", "nodejs/release/v14.20.0/docs"], + ["nodejs/docs/v14.20.1", "nodejs/release/v14.20.1/docs"], + ["nodejs/docs/v14.21.0", "nodejs/release/v14.21.0/docs"], + ["nodejs/docs/v14.21.1", "nodejs/release/v14.21.1/docs"], + ["nodejs/docs/v14.21.2", "nodejs/release/v14.21.2/docs"], + ["nodejs/docs/v14.21.3", "nodejs/release/v14.21.3/docs"], + ["nodejs/docs/v14.3.0", "nodejs/release/v14.3.0/docs"], + ["nodejs/docs/v14.4.0", "nodejs/release/v14.4.0/docs"], + ["nodejs/docs/v14.5.0", "nodejs/release/v14.5.0/docs"], + ["nodejs/docs/v14.6.0", "nodejs/release/v14.6.0/docs"], + ["nodejs/docs/v14.7.0", "nodejs/release/v14.7.0/docs"], + ["nodejs/docs/v14.8.0", "nodejs/release/v14.8.0/docs"], + ["nodejs/docs/v14.9.0", "nodejs/release/v14.9.0/docs"], + ["nodejs/docs/v15.0.0", "nodejs/release/v15.0.0/docs"], + ["nodejs/docs/v15.0.1", "nodejs/release/v15.0.1/docs"], + ["nodejs/docs/v15.1.0", "nodejs/release/v15.1.0/docs"], + ["nodejs/docs/v15.10.0", "nodejs/release/v15.10.0/docs"], + ["nodejs/docs/v15.11.0", "nodejs/release/v15.11.0/docs"], + ["nodejs/docs/v15.12.0", "nodejs/release/v15.12.0/docs"], + ["nodejs/docs/v15.13.0", "nodejs/release/v15.13.0/docs"], + ["nodejs/docs/v15.14.0", "nodejs/release/v15.14.0/docs"], + ["nodejs/docs/v15.2.0", "nodejs/release/v15.2.0/docs"], + ["nodejs/docs/v15.2.1", "nodejs/release/v15.2.1/docs"], + ["nodejs/docs/v15.3.0", "nodejs/release/v15.3.0/docs"], + ["nodejs/docs/v15.4.0", "nodejs/release/v15.4.0/docs"], + ["nodejs/docs/v15.5.0", "nodejs/release/v15.5.0/docs"], + ["nodejs/docs/v15.5.1", "nodejs/release/v15.5.1/docs"], + ["nodejs/docs/v15.6.0", "nodejs/release/v15.6.0/docs"], + ["nodejs/docs/v15.7.0", "nodejs/release/v15.7.0/docs"], + ["nodejs/docs/v15.8.0", "nodejs/release/v15.8.0/docs"], + ["nodejs/docs/v15.9.0", "nodejs/release/v15.9.0/docs"], + ["nodejs/docs/v16.0.0", "nodejs/release/v16.0.0/docs"], + ["nodejs/docs/v16.1.0", "nodejs/release/v16.1.0/docs"], + ["nodejs/docs/v16.10.0", "nodejs/release/v16.10.0/docs"], + ["nodejs/docs/v16.11.0", "nodejs/release/v16.11.0/docs"], + ["nodejs/docs/v16.11.1", "nodejs/release/v16.11.1/docs"], + ["nodejs/docs/v16.12.0", "nodejs/release/v16.12.0/docs"], + ["nodejs/docs/v16.13.0", "nodejs/release/v16.13.0/docs"], + ["nodejs/docs/v16.13.1", "nodejs/release/v16.13.1/docs"], + ["nodejs/docs/v16.13.2", "nodejs/release/v16.13.2/docs"], + ["nodejs/docs/v16.14.0", "nodejs/release/v16.14.0/docs"], + ["nodejs/docs/v16.14.1", "nodejs/release/v16.14.1/docs"], + ["nodejs/docs/v16.14.2", "nodejs/release/v16.14.2/docs"], + ["nodejs/docs/v16.15.0", "nodejs/release/v16.15.0/docs"], + ["nodejs/docs/v16.15.1", "nodejs/release/v16.15.1/docs"], + ["nodejs/docs/v16.16.0", "nodejs/release/v16.16.0/docs"], + ["nodejs/docs/v16.17.0", "nodejs/release/v16.17.0/docs"], + ["nodejs/docs/v16.17.1", "nodejs/release/v16.17.1/docs"], + ["nodejs/docs/v16.18.0", "nodejs/release/v16.18.0/docs"], + ["nodejs/docs/v16.18.1", "nodejs/release/v16.18.1/docs"], + ["nodejs/docs/v16.19.0", "nodejs/release/v16.19.0/docs"], + ["nodejs/docs/v16.19.1", "nodejs/release/v16.19.1/docs"], + ["nodejs/docs/v16.2.0", "nodejs/release/v16.2.0/docs"], + ["nodejs/docs/v16.20.0", "nodejs/release/v16.20.0/docs"], + ["nodejs/docs/v16.20.1", "nodejs/release/v16.20.1/docs"], + ["nodejs/docs/v16.20.2", "nodejs/release/v16.20.2/docs"], + ["nodejs/docs/v16.3.0", "nodejs/release/v16.3.0/docs"], + ["nodejs/docs/v16.4.0", "nodejs/release/v16.4.0/docs"], + ["nodejs/docs/v16.4.1", "nodejs/release/v16.4.1/docs"], + ["nodejs/docs/v16.4.2", "nodejs/release/v16.4.2/docs"], + ["nodejs/docs/v16.5.0", "nodejs/release/v16.5.0/docs"], + ["nodejs/docs/v16.6.0", "nodejs/release/v16.6.0/docs"], + ["nodejs/docs/v16.6.1", "nodejs/release/v16.6.1/docs"], + ["nodejs/docs/v16.6.2", "nodejs/release/v16.6.2/docs"], + ["nodejs/docs/v16.7.0", "nodejs/release/v16.7.0/docs"], + ["nodejs/docs/v16.8.0", "nodejs/release/v16.8.0/docs"], + ["nodejs/docs/v16.9.0", "nodejs/release/v16.9.0/docs"], + ["nodejs/docs/v16.9.1", "nodejs/release/v16.9.1/docs"], + ["nodejs/docs/v17.0.0", "nodejs/release/v17.0.0/docs"], + ["nodejs/docs/v17.0.1", "nodejs/release/v17.0.1/docs"], + ["nodejs/docs/v17.1.0", "nodejs/release/v17.1.0/docs"], + ["nodejs/docs/v17.2.0", "nodejs/release/v17.2.0/docs"], + ["nodejs/docs/v17.3.0", "nodejs/release/v17.3.0/docs"], + ["nodejs/docs/v17.3.1", "nodejs/release/v17.3.1/docs"], + ["nodejs/docs/v17.4.0", "nodejs/release/v17.4.0/docs"], + ["nodejs/docs/v17.5.0", "nodejs/release/v17.5.0/docs"], + ["nodejs/docs/v17.6.0", "nodejs/release/v17.6.0/docs"], + ["nodejs/docs/v17.7.0", "nodejs/release/v17.7.0/docs"], + ["nodejs/docs/v17.7.1", "nodejs/release/v17.7.1/docs"], + ["nodejs/docs/v17.7.2", "nodejs/release/v17.7.2/docs"], + ["nodejs/docs/v17.8.0", "nodejs/release/v17.8.0/docs"], + ["nodejs/docs/v17.9.0", "nodejs/release/v17.9.0/docs"], + ["nodejs/docs/v17.9.1", "nodejs/release/v17.9.1/docs"], + ["nodejs/docs/v18.0.0", "nodejs/release/v18.0.0/docs"], + ["nodejs/docs/v18.1.0", "nodejs/release/v18.1.0/docs"], + ["nodejs/docs/v18.10.0", "nodejs/release/v18.10.0/docs"], + ["nodejs/docs/v18.11.0", "nodejs/release/v18.11.0/docs"], + ["nodejs/docs/v18.12.0", "nodejs/release/v18.12.0/docs"], + ["nodejs/docs/v18.12.1", "nodejs/release/v18.12.1/docs"], + ["nodejs/docs/v18.13.0", "nodejs/release/v18.13.0/docs"], + ["nodejs/docs/v18.14.0", "nodejs/release/v18.14.0/docs"], + ["nodejs/docs/v18.14.1", "nodejs/release/v18.14.1/docs"], + ["nodejs/docs/v18.14.2", "nodejs/release/v18.14.2/docs"], + ["nodejs/docs/v18.15.0", "nodejs/release/v18.15.0/docs"], + ["nodejs/docs/v18.16.0", "nodejs/release/v18.16.0/docs"], + ["nodejs/docs/v18.16.1", "nodejs/release/v18.16.1/docs"], + ["nodejs/docs/v18.17.0", "nodejs/release/v18.17.0/docs"], + ["nodejs/docs/v18.17.1", "nodejs/release/v18.17.1/docs"], + ["nodejs/docs/v18.18.0", "nodejs/release/v18.18.0/docs"], + ["nodejs/docs/v18.2.0", "nodejs/release/v18.2.0/docs"], + ["nodejs/docs/v18.3.0", "nodejs/release/v18.3.0/docs"], + ["nodejs/docs/v18.4.0", "nodejs/release/v18.4.0/docs"], + ["nodejs/docs/v18.5.0", "nodejs/release/v18.5.0/docs"], + ["nodejs/docs/v18.6.0", "nodejs/release/v18.6.0/docs"], + ["nodejs/docs/v18.7.0", "nodejs/release/v18.7.0/docs"], + ["nodejs/docs/v18.8.0", "nodejs/release/v18.8.0/docs"], + ["nodejs/docs/v18.9.0", "nodejs/release/v18.9.0/docs"], + ["nodejs/docs/v18.9.1", "nodejs/release/v18.9.1/docs"], + ["nodejs/docs/v19.0.0", "nodejs/release/v19.0.0/docs"], + ["nodejs/docs/v19.0.1", "nodejs/release/v19.0.1/docs"], + ["nodejs/docs/v19.1.0", "nodejs/release/v19.1.0/docs"], + ["nodejs/docs/v19.2.0", "nodejs/release/v19.2.0/docs"], + ["nodejs/docs/v19.3.0", "nodejs/release/v19.3.0/docs"], + ["nodejs/docs/v19.4.0", "nodejs/release/v19.4.0/docs"], + ["nodejs/docs/v19.5.0", "nodejs/release/v19.5.0/docs"], + ["nodejs/docs/v19.6.0", "nodejs/release/v19.6.0/docs"], + ["nodejs/docs/v19.6.1", "nodejs/release/v19.6.1/docs"], + ["nodejs/docs/v19.7.0", "nodejs/release/v19.7.0/docs"], + ["nodejs/docs/v19.8.0", "nodejs/release/v19.8.0/docs"], + ["nodejs/docs/v19.8.1", "nodejs/release/v19.8.1/docs"], + ["nodejs/docs/v19.9.0", "nodejs/release/v19.9.0/docs"], + ["nodejs/docs/v20.0.0", "nodejs/release/v20.0.0/docs"], + ["nodejs/docs/v20.1.0", "nodejs/release/v20.1.0/docs"], + ["nodejs/docs/v20.2.0", "nodejs/release/v20.2.0/docs"], + ["nodejs/docs/v20.3.0", "nodejs/release/v20.3.0/docs"], + ["nodejs/docs/v20.3.1", "nodejs/release/v20.3.1/docs"], + ["nodejs/docs/v20.4.0", "nodejs/release/v20.4.0/docs"], + ["nodejs/docs/v20.5.0", "nodejs/release/v20.5.0/docs"], + ["nodejs/docs/v20.5.1", "nodejs/release/v20.5.1/docs"], + ["nodejs/docs/v20.6.0", "nodejs/release/v20.6.0/docs"], + ["nodejs/docs/v20.6.1", "nodejs/release/v20.6.1/docs"], + ["nodejs/docs/v20.7.0", "nodejs/release/v20.7.0/docs"], + ["nodejs/docs/v20.8.0", "nodejs/release/v20.8.0/docs"], + ["nodejs/docs/v4.0.0", "nodejs/release/v4.0.0/docs"], + ["nodejs/docs/v4.1.0", "nodejs/release/v4.1.0/docs"], + ["nodejs/docs/v4.1.1", "nodejs/release/v4.1.1/docs"], + ["nodejs/docs/v4.1.2", "nodejs/release/v4.1.2/docs"], + ["nodejs/docs/v4.2.0", "nodejs/release/v4.2.0/docs"], + ["nodejs/docs/v4.2.1", "nodejs/release/v4.2.1/docs"], + ["nodejs/docs/v4.2.2", "nodejs/release/v4.2.2/docs"], + ["nodejs/docs/v4.2.3", "nodejs/release/v4.2.3/docs"], + ["nodejs/docs/v4.2.4", "nodejs/release/v4.2.4/docs"], + ["nodejs/docs/v4.2.5", "nodejs/release/v4.2.5/docs"], + ["nodejs/docs/v4.2.6", "nodejs/release/v4.2.6/docs"], + ["nodejs/docs/v4.3.0", "nodejs/release/v4.3.0/docs"], + ["nodejs/docs/v4.3.1", "nodejs/release/v4.3.1/docs"], + ["nodejs/docs/v4.3.2", "nodejs/release/v4.3.2/docs"], + ["nodejs/docs/v4.4.0", "nodejs/release/v4.4.0/docs"], + ["nodejs/docs/v4.4.1", "nodejs/release/v4.4.1/docs"], + ["nodejs/docs/v4.4.2", "nodejs/release/v4.4.2/docs"], + ["nodejs/docs/v4.4.3", "nodejs/release/v4.4.3/docs"], + ["nodejs/docs/v4.4.4", "nodejs/release/v4.4.4/docs"], + ["nodejs/docs/v4.4.5", "nodejs/release/v4.4.5/docs"], + ["nodejs/docs/v4.4.6", "nodejs/release/v4.4.6/docs"], + ["nodejs/docs/v4.4.7", "nodejs/release/v4.4.7/docs"], + ["nodejs/docs/v4.5.0", "nodejs/release/v4.5.0/docs"], + ["nodejs/docs/v4.6.0", "nodejs/release/v4.6.0/docs"], + ["nodejs/docs/v4.6.1", "nodejs/release/v4.6.1/docs"], + ["nodejs/docs/v4.6.2", "nodejs/release/v4.6.2/docs"], + ["nodejs/docs/v4.7.0", "nodejs/release/v4.7.0/docs"], + ["nodejs/docs/v4.7.1", "nodejs/release/v4.7.1/docs"], + ["nodejs/docs/v4.7.2", "nodejs/release/v4.7.2/docs"], + ["nodejs/docs/v4.7.3", "nodejs/release/v4.7.3/docs"], + ["nodejs/docs/v4.8.0", "nodejs/release/v4.8.0/docs"], + ["nodejs/docs/v4.8.1", "nodejs/release/v4.8.1/docs"], + ["nodejs/docs/v4.8.2", "nodejs/release/v4.8.2/docs"], + ["nodejs/docs/v4.8.3", "nodejs/release/v4.8.3/docs"], + ["nodejs/docs/v4.8.4", "nodejs/release/v4.8.4/docs"], + ["nodejs/docs/v4.8.5", "nodejs/release/v4.8.5/docs"], + ["nodejs/docs/v4.8.6", "nodejs/release/v4.8.6/docs"], + ["nodejs/docs/v4.8.7", "nodejs/release/v4.8.7/docs"], + ["nodejs/docs/v4.9.0", "nodejs/release/v4.9.0/docs"], + ["nodejs/docs/v4.9.1", "nodejs/release/v4.9.1/docs"], + ["nodejs/docs/v5.0.0", "nodejs/release/v5.0.0/docs"], + ["nodejs/docs/v5.1.0", "nodejs/release/v5.1.0/docs"], + ["nodejs/docs/v5.1.1", "nodejs/release/v5.1.1/docs"], + ["nodejs/docs/v5.10.0", "nodejs/release/v5.10.0/docs"], + ["nodejs/docs/v5.10.1", "nodejs/release/v5.10.1/docs"], + ["nodejs/docs/v5.11.0", "nodejs/release/v5.11.0/docs"], + ["nodejs/docs/v5.11.1", "nodejs/release/v5.11.1/docs"], + ["nodejs/docs/v5.12.0", "nodejs/release/v5.12.0/docs"], + ["nodejs/docs/v5.2.0", "nodejs/release/v5.2.0/docs"], + ["nodejs/docs/v5.3.0", "nodejs/release/v5.3.0/docs"], + ["nodejs/docs/v5.4.0", "nodejs/release/v5.4.0/docs"], + ["nodejs/docs/v5.4.1", "nodejs/release/v5.4.1/docs"], + ["nodejs/docs/v5.5.0", "nodejs/release/v5.5.0/docs"], + ["nodejs/docs/v5.6.0", "nodejs/release/v5.6.0/docs"], + ["nodejs/docs/v5.7.0", "nodejs/release/v5.7.0/docs"], + ["nodejs/docs/v5.7.1", "nodejs/release/v5.7.1/docs"], + ["nodejs/docs/v5.8.0", "nodejs/release/v5.8.0/docs"], + ["nodejs/docs/v5.9.0", "nodejs/release/v5.9.0/docs"], + ["nodejs/docs/v5.9.1", "nodejs/release/v5.9.1/docs"], + ["nodejs/docs/v6.0.0", "nodejs/release/v6.0.0/docs"], + ["nodejs/docs/v6.1.0", "nodejs/release/v6.1.0/docs"], + ["nodejs/docs/v6.10.0", "nodejs/release/v6.10.0/docs"], + ["nodejs/docs/v6.10.1", "nodejs/release/v6.10.1/docs"], + ["nodejs/docs/v6.10.2", "nodejs/release/v6.10.2/docs"], + ["nodejs/docs/v6.10.3", "nodejs/release/v6.10.3/docs"], + ["nodejs/docs/v6.11.0", "nodejs/release/v6.11.0/docs"], + ["nodejs/docs/v6.11.1", "nodejs/release/v6.11.1/docs"], + ["nodejs/docs/v6.11.2", "nodejs/release/v6.11.2/docs"], + ["nodejs/docs/v6.11.3", "nodejs/release/v6.11.3/docs"], + ["nodejs/docs/v6.11.4", "nodejs/release/v6.11.4/docs"], + ["nodejs/docs/v6.11.5", "nodejs/release/v6.11.5/docs"], + ["nodejs/docs/v6.12.0", "nodejs/release/v6.12.0/docs"], + ["nodejs/docs/v6.12.1", "nodejs/release/v6.12.1/docs"], + ["nodejs/docs/v6.12.2", "nodejs/release/v6.12.2/docs"], + ["nodejs/docs/v6.12.3", "nodejs/release/v6.12.3/docs"], + ["nodejs/docs/v6.13.0", "nodejs/release/v6.13.0/docs"], + ["nodejs/docs/v6.13.1", "nodejs/release/v6.13.1/docs"], + ["nodejs/docs/v6.14.0", "nodejs/release/v6.14.0/docs"], + ["nodejs/docs/v6.14.1", "nodejs/release/v6.14.1/docs"], + ["nodejs/docs/v6.14.2", "nodejs/release/v6.14.2/docs"], + ["nodejs/docs/v6.14.3", "nodejs/release/v6.14.3/docs"], + ["nodejs/docs/v6.14.4", "nodejs/release/v6.14.4/docs"], + ["nodejs/docs/v6.15.0", "nodejs/release/v6.15.0/docs"], + ["nodejs/docs/v6.15.1", "nodejs/release/v6.15.1/docs"], + ["nodejs/docs/v6.16.0", "nodejs/release/v6.16.0/docs"], + ["nodejs/docs/v6.17.0", "nodejs/release/v6.17.0/docs"], + ["nodejs/docs/v6.17.1", "nodejs/release/v6.17.1/docs"], + ["nodejs/docs/v6.2.0", "nodejs/release/v6.2.0/docs"], + ["nodejs/docs/v6.2.1", "nodejs/release/v6.2.1/docs"], + ["nodejs/docs/v6.2.2", "nodejs/release/v6.2.2/docs"], + ["nodejs/docs/v6.3.0", "nodejs/release/v6.3.0/docs"], + ["nodejs/docs/v6.3.1", "nodejs/release/v6.3.1/docs"], + ["nodejs/docs/v6.4.0", "nodejs/release/v6.4.0/docs"], + ["nodejs/docs/v6.5.0", "nodejs/release/v6.5.0/docs"], + ["nodejs/docs/v6.6.0", "nodejs/release/v6.6.0/docs"], + ["nodejs/docs/v6.7.0", "nodejs/release/v6.7.0/docs"], + ["nodejs/docs/v6.8.0", "nodejs/release/v6.8.0/docs"], + ["nodejs/docs/v6.8.1", "nodejs/release/v6.8.1/docs"], + ["nodejs/docs/v6.9.0", "nodejs/release/v6.9.0/docs"], + ["nodejs/docs/v6.9.1", "nodejs/release/v6.9.1/docs"], + ["nodejs/docs/v6.9.2", "nodejs/release/v6.9.2/docs"], + ["nodejs/docs/v6.9.3", "nodejs/release/v6.9.3/docs"], + ["nodejs/docs/v6.9.4", "nodejs/release/v6.9.4/docs"], + ["nodejs/docs/v6.9.5", "nodejs/release/v6.9.5/docs"], + ["nodejs/docs/v7.0.0", "nodejs/release/v7.0.0/docs"], + ["nodejs/docs/v7.1.0", "nodejs/release/v7.1.0/docs"], + ["nodejs/docs/v7.10.0", "nodejs/release/v7.10.0/docs"], + ["nodejs/docs/v7.10.1", "nodejs/release/v7.10.1/docs"], + ["nodejs/docs/v7.2.0", "nodejs/release/v7.2.0/docs"], + ["nodejs/docs/v7.2.1", "nodejs/release/v7.2.1/docs"], + ["nodejs/docs/v7.3.0", "nodejs/release/v7.3.0/docs"], + ["nodejs/docs/v7.4.0", "nodejs/release/v7.4.0/docs"], + ["nodejs/docs/v7.5.0", "nodejs/release/v7.5.0/docs"], + ["nodejs/docs/v7.6.0", "nodejs/release/v7.6.0/docs"], + ["nodejs/docs/v7.7.0", "nodejs/release/v7.7.0/docs"], + ["nodejs/docs/v7.7.1", "nodejs/release/v7.7.1/docs"], + ["nodejs/docs/v7.7.2", "nodejs/release/v7.7.2/docs"], + ["nodejs/docs/v7.7.3", "nodejs/release/v7.7.3/docs"], + ["nodejs/docs/v7.7.4", "nodejs/release/v7.7.4/docs"], + ["nodejs/docs/v7.8.0", "nodejs/release/v7.8.0/docs"], + ["nodejs/docs/v7.9.0", "nodejs/release/v7.9.0/docs"], + ["nodejs/docs/v8.0.0", "nodejs/release/v8.0.0/docs"], + ["nodejs/docs/v8.1.0", "nodejs/release/v8.1.0/docs"], + ["nodejs/docs/v8.1.1", "nodejs/release/v8.1.1/docs"], + ["nodejs/docs/v8.1.2", "nodejs/release/v8.1.2/docs"], + ["nodejs/docs/v8.1.3", "nodejs/release/v8.1.3/docs"], + ["nodejs/docs/v8.1.4", "nodejs/release/v8.1.4/docs"], + ["nodejs/docs/v8.10.0", "nodejs/release/v8.10.0/docs"], + ["nodejs/docs/v8.11.0", "nodejs/release/v8.11.0/docs"], + ["nodejs/docs/v8.11.1", "nodejs/release/v8.11.1/docs"], + ["nodejs/docs/v8.11.2", "nodejs/release/v8.11.2/docs"], + ["nodejs/docs/v8.11.3", "nodejs/release/v8.11.3/docs"], + ["nodejs/docs/v8.11.4", "nodejs/release/v8.11.4/docs"], + ["nodejs/docs/v8.12.0", "nodejs/release/v8.12.0/docs"], + ["nodejs/docs/v8.13.0", "nodejs/release/v8.13.0/docs"], + ["nodejs/docs/v8.14.0", "nodejs/release/v8.14.0/docs"], + ["nodejs/docs/v8.14.1", "nodejs/release/v8.14.1/docs"], + ["nodejs/docs/v8.15.0", "nodejs/release/v8.15.0/docs"], + ["nodejs/docs/v8.15.1", "nodejs/release/v8.15.1/docs"], + ["nodejs/docs/v8.16.0", "nodejs/release/v8.16.0/docs"], + ["nodejs/docs/v8.16.1", "nodejs/release/v8.16.1/docs"], + ["nodejs/docs/v8.16.2", "nodejs/release/v8.16.2/docs"], + ["nodejs/docs/v8.17.0", "nodejs/release/v8.17.0/docs"], + ["nodejs/docs/v8.2.0", "nodejs/release/v8.2.0/docs"], + ["nodejs/docs/v8.2.1", "nodejs/release/v8.2.1/docs"], + ["nodejs/docs/v8.3.0", "nodejs/release/v8.3.0/docs"], + ["nodejs/docs/v8.4.0", "nodejs/release/v8.4.0/docs"], + ["nodejs/docs/v8.5.0", "nodejs/release/v8.5.0/docs"], + ["nodejs/docs/v8.6.0", "nodejs/release/v8.6.0/docs"], + ["nodejs/docs/v8.7.0", "nodejs/release/v8.7.0/docs"], + ["nodejs/docs/v8.8.0", "nodejs/release/v8.8.0/docs"], + ["nodejs/docs/v8.8.1", "nodejs/release/v8.8.1/docs"], + ["nodejs/docs/v8.9.0", "nodejs/release/v8.9.0/docs"], + ["nodejs/docs/v8.9.1", "nodejs/release/v8.9.1/docs"], + ["nodejs/docs/v8.9.2", "nodejs/release/v8.9.2/docs"], + ["nodejs/docs/v8.9.3", "nodejs/release/v8.9.3/docs"], + ["nodejs/docs/v8.9.4", "nodejs/release/v8.9.4/docs"], + ["nodejs/docs/v9.0.0", "nodejs/release/v9.0.0/docs"], + ["nodejs/docs/v9.1.0", "nodejs/release/v9.1.0/docs"], + ["nodejs/docs/v9.10.0", "nodejs/release/v9.10.0/docs"], + ["nodejs/docs/v9.10.1", "nodejs/release/v9.10.1/docs"], + ["nodejs/docs/v9.11.0", "nodejs/release/v9.11.0/docs"], + ["nodejs/docs/v9.11.1", "nodejs/release/v9.11.1/docs"], + ["nodejs/docs/v9.11.2", "nodejs/release/v9.11.2/docs"], + ["nodejs/docs/v9.2.0", "nodejs/release/v9.2.0/docs"], + ["nodejs/docs/v9.2.1", "nodejs/release/v9.2.1/docs"], + ["nodejs/docs/v9.3.0", "nodejs/release/v9.3.0/docs"], + ["nodejs/docs/v9.4.0", "nodejs/release/v9.4.0/docs"], + ["nodejs/docs/v9.5.0", "nodejs/release/v9.5.0/docs"], + ["nodejs/docs/v9.6.0", "nodejs/release/v9.6.0/docs"], + ["nodejs/docs/v9.6.1", "nodejs/release/v9.6.1/docs"], + ["nodejs/docs/v9.7.0", "nodejs/release/v9.7.0/docs"], + ["nodejs/docs/v9.7.1", "nodejs/release/v9.7.1/docs"], + ["nodejs/docs/v9.8.0", "nodejs/release/v9.8.0/docs"], + ["nodejs/docs/v9.9.0", "nodejs/release/v9.9.0/docs"], + ["nodejs/release/latest-v0.10.x", "nodejs/release/v0.10.48"], + ["nodejs/docs/latest-v0.10.x", "nodejs/release/v0.10.48/docs"], + ["nodejs/release/latest-v0.12.x", "nodejs/release/v0.12.18"], + ["nodejs/docs/latest-v0.12.x", "nodejs/release/v0.12.18/docs"], + ["nodejs/release/latest-v4.x", "nodejs/release/v4.9.1"], + ["nodejs/docs/latest-v4.x", "nodejs/release/v4.9.1/docs"], + ["nodejs/release/latest-argon", "nodejs/release/v4.9.1"], + ["nodejs/docs/latest-argon", "nodejs/release/v4.9.1/docs"], + ["nodejs/release/latest-v5.x", "nodejs/release/v5.12.0"], + ["nodejs/docs/latest-v5.x", "nodejs/release/v5.12.0/docs"], + ["nodejs/release/latest-v6.x", "nodejs/release/v6.17.1"], + ["nodejs/docs/latest-v6.x", "nodejs/release/v6.17.1/docs"], + ["nodejs/release/latest-boron", "nodejs/release/v6.17.1"], + ["nodejs/docs/latest-boron", "nodejs/release/v6.17.1/docs"], + ["nodejs/release/latest-v7.x", "nodejs/release/v7.10.1"], + ["nodejs/docs/latest-v7.x", "nodejs/release/v7.10.1/docs"], + ["nodejs/release/latest-v8.x", "nodejs/release/v8.17.0"], + ["nodejs/docs/latest-v8.x", "nodejs/release/v8.17.0/docs"], + ["nodejs/release/latest-carbon", "nodejs/release/v8.17.0"], + ["nodejs/docs/latest-carbon", "nodejs/release/v8.17.0/docs"], + ["nodejs/release/latest-v9.x", "nodejs/release/v9.11.2"], + ["nodejs/docs/latest-v9.x", "nodejs/release/v9.11.2/docs"], + ["nodejs/release/latest-v10.x", "nodejs/release/v10.24.1"], + ["nodejs/docs/latest-v10.x", "nodejs/release/v10.24.1/docs"], + ["nodejs/release/latest-dubnium", "nodejs/release/v10.24.1"], + ["nodejs/docs/latest-dubnium", "nodejs/release/v10.24.1/docs"], + ["nodejs/release/latest-v11.x", "nodejs/release/v11.15.0"], + ["nodejs/docs/latest-v11.x", "nodejs/release/v11.15.0/docs"], + ["nodejs/release/latest-v12.x", "nodejs/release/v12.22.12"], + ["nodejs/docs/latest-v12.x", "nodejs/release/v12.22.12/docs"], + ["nodejs/release/latest-erbium", "nodejs/release/v12.22.12"], + ["nodejs/docs/latest-erbium", "nodejs/release/v12.22.12/docs"], + ["nodejs/release/latest-v13.x", "nodejs/release/v13.14.0"], + ["nodejs/docs/latest-v13.x", "nodejs/release/v13.14.0/docs"], + ["nodejs/release/latest-v14.x", "nodejs/release/v14.21.3"], + ["nodejs/docs/latest-v14.x", "nodejs/release/v14.21.3/docs"], + ["nodejs/release/latest-fermium", "nodejs/release/v14.21.3"], + ["nodejs/docs/latest-fermium", "nodejs/release/v14.21.3/docs"], + ["nodejs/release/latest-v15.x", "nodejs/release/v15.14.0"], + ["nodejs/docs/latest-v15.x", "nodejs/release/v15.14.0/docs"], + ["nodejs/release/latest-v16.x", "nodejs/release/v16.20.2"], + ["nodejs/docs/latest-v16.x", "nodejs/release/v16.20.2/docs"], + ["nodejs/release/latest-gallium", "nodejs/release/v16.20.2"], + ["nodejs/docs/latest-gallium", "nodejs/release/v16.20.2/docs"], + ["nodejs/release/latest-v17.x", "nodejs/release/v17.9.1"], + ["nodejs/docs/latest-v17.x", "nodejs/release/v17.9.1/docs"], + ["nodejs/release/latest-v18.x", "nodejs/release/v18.18.0"], + ["nodejs/docs/latest-v18.x", "nodejs/release/v18.18.0/docs"], + ["nodejs/release/latest-hydrogen", "nodejs/release/v18.18.0"], + ["nodejs/docs/latest-hydrogen", "nodejs/release/v18.18.0/docs"], + ["nodejs/release/latest-v19.x", "nodejs/release/v19.9.0"], + ["nodejs/docs/latest-v19.x", "nodejs/release/v19.9.0/docs"], + ["nodejs/release/latest-v20.x", "nodejs/release/v20.8.0"], + ["nodejs/docs/latest-v20.x", "nodejs/release/v20.8.0/docs"], + ["nodejs/release/latest", "nodejs/release/v20.8.0"], + ["nodejs/docs/latest", "nodejs/release/v20.8.0/docs"], [ "nodejs/release/node-latest.tar.gz", "nodejs/release/latest/nodejs/release/v20.8.0/node-v20.8.0.tar.gz" diff --git a/src/constants/r2Prefixes.ts b/src/constants/r2Prefixes.ts index 41f554d..ad0a9e7 100644 --- a/src/constants/r2Prefixes.ts +++ b/src/constants/r2Prefixes.ts @@ -3,6 +3,9 @@ // later on. // (e.g. url path `/dist` points to R2 path `nodejs/release`) // See https://raw.githubusercontent.com/nodejs/build/main/ansible/www-standalone/resources/config/nodejs.org +import map from './links.json'; + +export const REDIRECT_MAP = new Map(map as [string, string][]); export const DIST_PATH_PREFIX = 'nodejs/release'; @@ -10,4 +13,13 @@ export const DOWNLOAD_PATH_PREFIX = 'nodejs'; export const DOCS_PATH_PREFIX = 'nodejs/docs'; -export const API_PATH_PREFIX = 'nodejs/docs/latest/api'; +export const API_PATH_PREFIX = `${REDIRECT_MAP.get('nodejs/docs/latest')}/api`; + +export const VIRTUAL_DIRS: Record> = { + 'docs/': new Set( + [...REDIRECT_MAP] + .filter(([key]) => key.startsWith('nodejs/docs/')) + .reverse() + .map(([key]) => key.substring(12) + '/') + ), +}; diff --git a/src/handlers/get.ts b/src/handlers/get.ts index bb2942b..17129c0 100644 --- a/src/handlers/get.ts +++ b/src/handlers/get.ts @@ -1,4 +1,5 @@ import responses from '../commonResponses'; +import { VIRTUAL_DIRS } from '../constants/r2Prefixes'; import { isCacheEnabled, isDirectoryPath, @@ -7,7 +8,10 @@ import { parseUrl, } from '../util'; import { Handler } from './handler'; -import { listDirectory } from './strategies/directoryListing'; +import { + listDirectory, + renderDirectoryListing, +} from './strategies/directoryListing'; import { getFile } from './strategies/serveFile'; const getHandler: Handler = async (request, env, ctx, cache) => { @@ -45,7 +49,7 @@ const getHandler: Handler = async (request, env, ctx, cache) => { return responses.FILE_NOT_FOUND(request); } - if (!hasTrailingSlash(bucketPath)) { + if (bucketPath && !hasTrailingSlash(requestUrl.pathname)) { // We always want to add trailing slashes to a directory URL requestUrl.pathname += '/'; @@ -53,14 +57,20 @@ const getHandler: Handler = async (request, env, ctx, cache) => { } } - // This returns a Promise that returns either a directory listing - // or a file response based on the requested URL - const responsePromise: Promise = isPathADirectory - ? listDirectory(requestUrl, request, bucketPath, env) - : getFile(requestUrl, request, bucketPath, env); - - // waits for the response to be resolved (async R2 request) - const response = await responsePromise; + let response: Response; + if (bucketPath in VIRTUAL_DIRS) { + response = renderDirectoryListing( + requestUrl, + request, + VIRTUAL_DIRS[bucketPath], + [], + env + ); + } else if (isPathADirectory) { + response = await listDirectory(requestUrl, request, bucketPath, env); + } else { + response = await getFile(requestUrl, request, bucketPath, env); + } // Cache response if cache is enabled if (shouldServeCache && response.status !== 304 && response.status !== 206) { diff --git a/src/handlers/strategies/directoryListing.ts b/src/handlers/strategies/directoryListing.ts index 4713ac7..93064a0 100644 --- a/src/handlers/strategies/directoryListing.ts +++ b/src/handlers/strategies/directoryListing.ts @@ -10,27 +10,23 @@ import htmlTemplate from '../../templates/directoryListing.out.js'; // Applies the Template into a Handlebars Template Function const handleBarsTemplate = Handlebars.template(htmlTemplate); -type DirectoryListingResponse = { - html: string; - lastModified: string; -}; - /** * @TODO: Simplify the iteration logic or make it more readable * * Renders the html for a directory listing response * @param url Parsed url of the request - * @param bucketPath Path in R2 bucket + * @param request Request object itself * @param delimitedPrefixes Directories in the bucket * @param listingResponse Listing response to render * @returns {@link DirectoryListingResponse} instance */ -function renderDirectoryListing( +export function renderDirectoryListing( url: URL, - bucketPath: string, + request: Request, delimitedPrefixes: Set, - objects: R2Object[] -): DirectoryListingResponse { + objects: R2Object[], + env: Env +): Response { // Holds all the html for each directory and file we're listing const tableElements = []; @@ -45,9 +41,7 @@ function renderDirectoryListing( const urlPathname = `${url.pathname}${url.pathname.endsWith('/') ? '' : '/'}`; // Renders all the subdirectories within the Directory - delimitedPrefixes.forEach(directory => { - // R2 sends us back the absolute path of the directory, cut it - const name = directory.substring(bucketPath.length); + delimitedPrefixes.forEach(name => { const extra = encodeURIComponent(name.substring(0, name.length - 1)); tableElements.push({ @@ -63,8 +57,7 @@ function renderDirectoryListing( // Renders all the Files within the Directory objects.forEach(object => { - // R2 sends us back the absolute path of the object, cut it - const name = object.key.substring(bucketPath.length); + const name = object.key; // Find the most recent date a file in this // directory was modified, we'll use it @@ -95,7 +88,13 @@ function renderDirectoryListing( // Gets an UTC-string on the ISO-8901 format of last modified date const lastModifiedUTC = (lastModified ?? new Date()).toUTCString(); - return { html: renderedListing, lastModified: lastModifiedUTC }; + return new Response(request.method === 'GET' ? renderedListing : null, { + headers: { + 'last-modified': lastModifiedUTC, + 'content-type': 'text/html', + 'cache-control': env.DIRECTORY_CACHE_CONTROL || 'no-store', + }, + }); } /** @@ -124,7 +123,10 @@ export async function listDirectory( cursor, }); - result.delimitedPrefixes.forEach(prefix => delimitedPrefixes.add(prefix)); + // R2 sends us back the absolute path of the object, cut it + result.delimitedPrefixes.forEach(prefix => + delimitedPrefixes.add(prefix.substring(bucketPath.length)) + ); const hasIndexFile = result.objects.find(object => object.key.endsWith('index.html') @@ -134,7 +136,13 @@ export async function listDirectory( return getFile(url, request, `${bucketPath}index.html`, env); } - objects.push(...result.objects); + // R2 sends us back the absolute path of the object, cut it + result.objects.forEach(object => + objects.push({ + ...object, + key: object.key.substring(bucketPath.length), + } as R2Object) + ); truncated = result.truncated; cursor = result.truncated ? result.cursor : undefined; @@ -145,18 +153,5 @@ export async function listDirectory( return responses.DIRECTORY_NOT_FOUND(request); } - const response = renderDirectoryListing( - url, - bucketPath, - delimitedPrefixes, - objects - ); - - return new Response(request.method === 'GET' ? response.html : null, { - headers: { - 'last-modified': response.lastModified, - 'content-type': 'text/html', - 'cache-control': env.DIRECTORY_CACHE_CONTROL || 'no-store', - }, - }); + return renderDirectoryListing(url, request, delimitedPrefixes, objects, env); } diff --git a/src/util.ts b/src/util.ts index f3171c1..406e117 100644 --- a/src/util.ts +++ b/src/util.ts @@ -3,6 +3,7 @@ import { DIST_PATH_PREFIX, DOCS_PATH_PREFIX, DOWNLOAD_PATH_PREFIX, + REDIRECT_MAP, } from './constants/r2Prefixes'; import { Env } from './env'; @@ -52,8 +53,7 @@ export function mapUrlPathToBucketPath( const urlToBucketPathMap: Record = { dist: DIST_PATH_PREFIX + url.pathname.substring(5), download: DOWNLOAD_PATH_PREFIX + url.pathname.substring(9), - docs: DOCS_PATH_PREFIX + url.pathname.substring(5), - api: API_PATH_PREFIX + url.pathname.substring(4), + api: API_PATH_PREFIX + (url.pathname.substring(4) || '/'), metrics: url.pathname.substring(1), // substring to cut off the / }; @@ -61,10 +61,16 @@ export function mapUrlPathToBucketPath( let bucketPath: string | undefined; const splitPath = url.pathname.split('/'); // ['', 'docs', 'asd', '123'] - const basePath = splitPath[1]; // 'docs' - if (basePath in urlToBucketPathMap) { + if ( + REDIRECT_MAP.has(`${DOWNLOAD_PATH_PREFIX}/${splitPath[1]}/${splitPath[2]}`) + ) { + // All items in REDIRECT_MAP are three levels deep, that is asserted in tests + bucketPath = `${REDIRECT_MAP.get( + `${DOWNLOAD_PATH_PREFIX}/${splitPath[1]}/${splitPath[2]}` + )}/${splitPath.slice(3).join('/')}`; + } else if (basePath in urlToBucketPathMap) { bucketPath = urlToBucketPathMap[basePath]; } else if (env.DIRECTORY_LISTING !== 'restricted') { bucketPath = url.pathname.substring(1); @@ -88,7 +94,10 @@ export function mapBucketPathToUrlPath( if (bucketPath.startsWith(DIST_PATH_PREFIX)) { const path = bucketPath.substring(15); return [`/dist${path}`, `/download/releases${path}`]; - } else if (bucketPath.startsWith(API_PATH_PREFIX)) { + } else if ( + bucketPath.startsWith(API_PATH_PREFIX) || + bucketPath.startsWith('nodejs/docs/latest/api') + ) { const path = bucketPath.substring(22); return [`/api${path}`, `/docs/latest/api${path}`]; } else if (bucketPath.startsWith(DOCS_PATH_PREFIX)) { diff --git a/tests/unit/util.test.ts b/tests/unit/util.test.ts index fabfb9d..8a92a8d 100644 --- a/tests/unit/util.test.ts +++ b/tests/unit/util.test.ts @@ -6,8 +6,20 @@ import { mapUrlPathToBucketPath, niceBytes, } from '../../src/util'; +import { REDIRECT_MAP } from '../../src/constants/r2Prefixes'; describe('mapUrlPathToBucketPath', () => { + it('expects all items in REDIRECT_MAP to be pathes in the length of 3', () => { + // If this test breaks, the code will and we'll need to fix the code + REDIRECT_MAP.forEach((val, key) => { + assert.strictEqual( + key.split('/').length, + 3, + `expected ${key} to be a path with 3 slashes` + ); + }); + }); + it('converts `/unknown-base-path` to undefined when DIRECTORY_LISTING=restricted', () => { const result = mapUrlPathToBucketPath( new URL('http://localhost/unknown-base-path'), @@ -65,38 +77,37 @@ describe('mapUrlPathToBucketPath', () => { assert.strictEqual(result, 'nodejs/releases'); }); - it('converts `/docs` to `nodejs/docs`', () => { - const result = mapUrlPathToBucketPath(new URL('http://localhost/docs'), { - DIRECTORY_LISTING: 'restricted', - }); - assert.strictEqual(result, 'nodejs/docs'); - }); - - it('converts `/docs/latest` to `nodejs/docs/latest`', () => { + it('converts `/docs/latest` to `nodejs/release/v.X.X.X/docs/`', () => { const result = mapUrlPathToBucketPath( new URL('http://localhost/docs/latest'), { DIRECTORY_LISTING: 'restricted', } ); - assert.strictEqual(result, 'nodejs/docs/latest'); + assert.match(result ?? '', /^nodejs\/release\/v.\d+\.\d+\.\d+\/docs\/$/); }); - it('converts `/api` to `nodejs/docs`', () => { + it('converts `/api` to `nodejs/release/v.X.X.X/docs/api/`', () => { const result = mapUrlPathToBucketPath(new URL('http://localhost/api'), { DIRECTORY_LISTING: 'restricted', }); - assert.strictEqual(result, 'nodejs/docs/latest/api'); + assert.match( + result ?? '', + /^nodejs\/release\/v.\d+\.\d+\.\d+\/docs\/api\/$/ + ); }); - it('converts `/api/assert.html` to `nodejs/docs/latest/api/assert.html`', () => { + it('converts `/api/assert.html` to `nodejs/release/v.X.X.X/docs/api/assert.html`', () => { const result = mapUrlPathToBucketPath( new URL('http://localhost/api/assert.html'), { DIRECTORY_LISTING: 'restricted', } ); - assert.strictEqual(result, 'nodejs/docs/latest/api/assert.html'); + assert.match( + result ?? '', + /^nodejs\/release\/v.\d+\.\d+\.\d+\/docs\/api\/assert\.html$/ + ); }); });