| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -39,34 +39,10 @@ for (const [, envVar] of manPageText.matchAll(/\.It Fl (-[a-zA-Z0-9._-]+)/g)) { | |||
| 39 | 39 | } | |
| 40 | 40 | ||
| 41 | 41 | for (const [, envVar, config] of nodeOptionsCC.matchAll(addOptionRE)) { | |
| 42 | - let hasTrueAsDefaultValue = false; | ||
| 43 | - let isInNodeOption = false; | ||
| 44 | - let isV8Option = false; | ||
| 45 | - let isNoOp = false; | ||
| 46 | - | ||
| 47 | - if (config.includes('NoOp{}')) { | ||
| 48 | - isNoOp = true; | ||
| 49 | - } | ||
| 50 | - | ||
| 51 | - if (config.includes('kAllowedInEnvvar')) { | ||
| 52 | - isInNodeOption = true; | ||
| 53 | - } | ||
| 54 | - if (config.includes('kDisallowedInEnvvar')) { | ||
| 55 | - isInNodeOption = false; | ||
| 56 | - } | ||
| 57 | - | ||
| 58 | - if (config.includes('V8Option{}')) { | ||
| 59 | - isV8Option = true; | ||
| 60 | - } | ||
| 61 | - | ||
| 62 | - if (/^\s*true\s*$/.test(config.split(',').pop())) { | ||
| 63 | - hasTrueAsDefaultValue = true; | ||
| 64 | - } | ||
| 65 | - | ||
| 66 | - // Exception for HAVE_AMARO conditional default (defaults to true when Amaro is available) | ||
| 67 | - if (config.includes('HAVE_AMARO')) { | ||
| 68 | - hasTrueAsDefaultValue = true; | ||
| 69 | - } | ||
| 42 | + const hasTrueAsDefaultValue = /,\s*(?:true|HAVE_[A-Z_]+)\s*$/.test(config); | ||
| 43 | + const isInNodeOption = config.includes('kAllowedInEnvvar') && !config.includes('kDisallowedInEnvvar'); | ||
| 44 | + const isV8Option = config.includes('V8Option{}'); | ||
| 45 | + const isNoOp = config.includes('NoOp{}'); | ||
| 70 | 46 | ||
| 71 | 47 | if ( | |
| 72 | 48 | envVar.startsWith('[') || | |
@@ -79,50 +55,50 @@ for (const [, envVar, config] of nodeOptionsCC.matchAll(addOptionRE)) { | |||
| 79 | 55 | } | |
| 80 | 56 | ||
| 81 | 57 | // Internal API options are documented in /doc/contributing/internal-api.md | |
| 82 | - if (new RegExp(`####.*\`${envVar}[[=\\s\\b\`]`).test(internalApiText) === true) { | ||
| 58 | + if (new RegExp(`####.*\`${RegExp.escape(envVar)}[[=\\s\\b\`]`).test(internalApiText)) { | ||
| 83 | 59 | manPagesOptions.delete(envVar.slice(1)); | |
| 84 | 60 | continue; | |
| 85 | 61 | } | |
| 86 | 62 | ||
| 87 | 63 | // CLI options | |
| 88 | 64 | if (!isV8Option && !hasTrueAsDefaultValue) { | |
| 89 | - if (new RegExp(`###.*\`${envVar}[[=\\s\\b\`]`).test(cliText) === false) { | ||
| 90 | - assert(false, `Should have option ${envVar} documented`); | ||
| 65 | + if (!new RegExp(`###.*\`${RegExp.escape(envVar)}[[=\\s\\b\`]`).test(cliText)) { | ||
| 66 | + assert.fail(`Should have option ${envVar} documented`); | ||
| 91 | 67 | } else { | |
| 92 | 68 | manPagesOptions.delete(envVar.slice(1)); | |
| 93 | 69 | } | |
| 94 | 70 | } | |
| 95 | 71 | ||
| 96 | - if (!hasTrueAsDefaultValue && new RegExp(`###.*\`--no${envVar.slice(1)}[[=\\s\\b\`]`).test(cliText) === true) { | ||
| 97 | - assert(false, `Should not have option --no${envVar.slice(1)} documented`); | ||
| 72 | + if (!hasTrueAsDefaultValue && new RegExp(`###.*\`--no${RegExp.escape(envVar.slice(1))}[[=\\s\\b\`]`).test(cliText)) { | ||
| 73 | + assert.fail(`Should not have option --no${envVar.slice(1)} documented`); | ||
| 98 | 74 | } | |
| 99 | 75 | ||
| 100 | 76 | if (!isV8Option && hasTrueAsDefaultValue) { | |
| 101 | - if (new RegExp(`###.*\`--no${envVar.slice(1)}[[=\\s\\b\`]`).test(cliText) === false) { | ||
| 102 | - assert(false, `Should have option --no${envVar.slice(1)} documented`); | ||
| 77 | + if (!new RegExp(`###.*\`--no${RegExp.escape(envVar.slice(1))}[[=\\s\\b\`]`).test(cliText)) { | ||
| 78 | + assert.fail(`Should have option --no${envVar.slice(1)} documented`); | ||
| 103 | 79 | } else { | |
| 104 | 80 | manPagesOptions.delete(`-no${envVar.slice(1)}`); | |
| 105 | 81 | } | |
| 106 | 82 | } | |
| 107 | 83 | ||
| 108 | 84 | // NODE_OPTIONS | |
| 109 | 85 | if (isInNodeOption && !hasTrueAsDefaultValue && | |
| 110 | - new RegExp(`\`${envVar}\``).test(nodeOptionsText) === false) { | ||
| 111 | - assert(false, `Should have option ${envVar} in NODE_OPTIONS documented`); | ||
| 86 | + !new RegExp(`\`${RegExp.escape(envVar)}\``).test(nodeOptionsText)) { | ||
| 87 | + assert.fail(`Should have option ${envVar} in NODE_OPTIONS documented`); | ||
| 112 | 88 | } | |
| 113 | 89 | ||
| 114 | - if (isInNodeOption && hasTrueAsDefaultValue && new RegExp(`\`--no${envVar.slice(1)}\``).test(cliText) === false) { | ||
| 115 | - assert(false, `Should have option --no${envVar.slice(1)} in NODE_OPTIONS documented`); | ||
| 90 | + if (isInNodeOption && hasTrueAsDefaultValue && !new RegExp(`\`--no${RegExp.escape(envVar.slice(1))}\``).test(cliText)) { | ||
| 91 | + assert.fail(`Should have option --no${envVar.slice(1)} in NODE_OPTIONS documented`); | ||
| 116 | 92 | } | |
| 117 | 93 | ||
| 118 | - if (!hasTrueAsDefaultValue && new RegExp(`\`--no${envVar.slice(1)}\``).test(cliText) === true) { | ||
| 119 | - assert(false, `Should not have option --no${envVar.slice(1)} in NODE_OPTIONS documented`); | ||
| 94 | + if (!hasTrueAsDefaultValue && new RegExp(`\`--no${RegExp.escape(envVar.slice(1))}\``).test(cliText)) { | ||
| 95 | + assert.fail(`Should not have option --no${envVar.slice(1)} in NODE_OPTIONS documented`); | ||
| 120 | 96 | } | |
| 121 | 97 | ||
| 122 | 98 | // V8 options | |
| 123 | 99 | if (isV8Option) { | |
| 124 | - if (new RegExp(`###.*\`${envVar}[[=\\s\\b\`]`).test(v8OptionsText) === false) { | ||
| 125 | - assert(false, `Should have option ${envVar} in V8 options documented`); | ||
| 100 | + if (!new RegExp(`###.*\`${RegExp.escape(envVar)}[[=\\s\\b\`]`).test(v8OptionsText)) { | ||
| 101 | + assert.fail(`Should have option ${envVar} in V8 options documented`); | ||
| 126 | 102 | } else { | |
| 127 | 103 | manPagesOptions.delete(envVar.slice(1)); | |
| 128 | 104 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments