quackage 1.0.64 → 1.0.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quackage",
3
- "version": "1.0.64",
3
+ "version": "1.0.66",
4
4
  "description": "Building. Testing. Quacking. Reloading.",
5
5
  "main": "source/Quackage-CLIProgram.js",
6
6
  "scripts": {
@@ -60,14 +60,14 @@
60
60
  "gulp-env": "^0.4.0",
61
61
  "gulp-sourcemaps": "^3.0.0",
62
62
  "gulp-terser": "^2.1.0",
63
- "indoctrinate": "^1.0.8",
63
+ "indoctrinate": "^1.0.9",
64
64
  "jsdoc": "^4.0.5",
65
65
  "mocha": "10.4.0",
66
66
  "npm-check-updates": "^18.0.1",
67
67
  "nyc": "^15.1.0",
68
68
  "pict-docuserve": "^0.0.32",
69
69
  "pict-service-commandlineutility": "^1.0.19",
70
- "retold-harness": "^1.1.2",
70
+ "retold-harness": "^1.1.6",
71
71
  "vinyl-buffer": "^1.0.1",
72
72
  "vinyl-source-stream": "^2.0.0"
73
73
  },
@@ -16,6 +16,7 @@ class QuackageCommandPrepareDocs extends libCommandLineCommand
16
16
  this.options.CommandOptions.push({ Name: '-d, --directory_root [directory_root]', Description: 'Root directory to scan for modules (defaults to CWD).', Default: '' });
17
17
  this.options.CommandOptions.push({ Name: '-b, --branch [branch]', Description: 'Git branch for GitHub raw URLs (defaults to master).', Default: 'master' });
18
18
  this.options.CommandOptions.push({ Name: '-g, --github_org [github_org]', Description: 'GitHub organization for raw URLs (defaults to stevenvelozo).', Default: 'stevenvelozo' });
19
+ this.options.CommandOptions.push({ Name: '-x, --excluded_modules [excluded_modules]', Description: 'Comma-separated list of module names to exclude from the catalog and keyword index. Merged with any ExcludedModules list in indoctrinate\'s loaded config file (e.g. .indoctrinate.config.json).', Default: '' });
19
20
 
20
21
  this.options.Aliases.push('docs');
21
22
  this.options.Aliases.push('prep-docs');
@@ -30,6 +31,15 @@ class QuackageCommandPrepareDocs extends libCommandLineCommand
30
31
  let tmpBranch = this.CommandOptions.branch || 'master';
31
32
  let tmpGitHubOrg = this.CommandOptions.github_org || 'stevenvelozo';
32
33
 
34
+ // Exclusion list passthrough. When set, both indoctrinate sub-commands
35
+ // get -x <list>. Comma-separated; indoctrinate will merge this with
36
+ // any ExcludedModules entries in its loaded config file.
37
+ let tmpExcludedModulesArgs = [];
38
+ if (this.CommandOptions.excluded_modules && this.CommandOptions.excluded_modules.length > 0)
39
+ {
40
+ tmpExcludedModulesArgs = ['-x', this.CommandOptions.excluded_modules];
41
+ }
42
+
33
43
  this.log.info(`Preparing documentation in [${tmpDocsFolder}]...`);
34
44
 
35
45
  // Ensure the output folder exists
@@ -81,7 +91,7 @@ class QuackageCommandPrepareDocs extends libCommandLineCommand
81
91
  '-o', tmpCatalogFile,
82
92
  '-b', tmpBranch,
83
93
  '-g', tmpGitHubOrg
84
- ],
94
+ ].concat(tmpExcludedModulesArgs),
85
95
  { cwd: this.fable.AppData.CWD },
86
96
  fNext
87
97
  );
@@ -98,7 +108,7 @@ class QuackageCommandPrepareDocs extends libCommandLineCommand
98
108
  'generate_keyword_index',
99
109
  '-d', tmpDirectoryRoot,
100
110
  '-o', tmpKeywordIndexFile
101
- ].concat(tmpExtraScanArgs),
111
+ ].concat(tmpExtraScanArgs).concat(tmpExcludedModulesArgs),
102
112
  { cwd: this.fable.AppData.CWD },
103
113
  fNext
104
114
  );
@@ -19,7 +19,7 @@ class QuackageCommandBuild extends libCommandLineCommand
19
19
  onRunAsync(fCallback)
20
20
  {
21
21
  // See if the user passed in a filter for tests
22
- let tmpTestGrepExpression = (typeof(this.CommandOptions.search_expression) === 'undefined') ? false : this.CommandOptions.search_expression;
22
+ let tmpTestGrepExpression = (typeof(this.CommandOptions.grep) === 'undefined') ? false : this.CommandOptions.grep;
23
23
 
24
24
  let tmpCWDMochaLocation = `${this.fable.AppData.CWD}/node_modules/.bin/mocha`;
25
25
  let tmpRelativePackageMochaLocation = `${__dirname}/../../../.bin/mocha`;
@@ -210,6 +210,38 @@ suite
210
210
  Expect(tmpClass.prototype.onRunAsync).to.be.a('function');
211
211
  }
212
212
  );
213
+
214
+ test
215
+ (
216
+ 'RunMochaTests command should have a --grep option registered.',
217
+ function()
218
+ {
219
+ let tmpCommand = getCommand('run-mocha-tests');
220
+ Expect(tmpCommand).to.be.an('object');
221
+
222
+ // Verify the --grep option is registered on the commander command
223
+ let tmpGrepOption = tmpCommand.options.find((pOpt) => pOpt.long === '--grep');
224
+ Expect(tmpGrepOption).to.be.an('object', 'Expected --grep option to be registered on run-mocha-tests command');
225
+ Expect(tmpGrepOption.short).to.equal('-g');
226
+ Expect(tmpGrepOption.optional).to.equal(true, 'grep should accept an optional value');
227
+ }
228
+ );
229
+
230
+ test
231
+ (
232
+ 'RunMochaTests --grep option property name should match what onRunAsync reads.',
233
+ function()
234
+ {
235
+ let tmpCommand = getCommand('run-mocha-tests');
236
+ let tmpGrepOption = tmpCommand.options.find((pOpt) => pOpt.long === '--grep');
237
+
238
+ // Commander derives the property name from the long flag (--grep => "grep").
239
+ // onRunAsync reads this.CommandOptions.grep to get the expression.
240
+ // This test ensures the two stay in sync — the bug was that onRunAsync
241
+ // previously read "search_expression" (the placeholder name) instead of "grep".
242
+ Expect(tmpGrepOption.attributeName()).to.equal('grep');
243
+ }
244
+ );
213
245
  }
214
246
  );
215
247