From 9196f730de2afab8b4a31b6eec329bfcc1b31c7a Mon Sep 17 00:00:00 2001 From: Konstantin Pozin Date: Wed, 11 Jul 2012 09:13:04 -0400 Subject: [PATCH 1/9] Added doclet parsing for object literal getters and setters (#100) --- rhino_modules/jsdoc/src/parser.js | 23 +++++++++++++++++-- test/fixtures/getset.js | 37 ++++++++++++++++++++++++++++++ test/specs/documentation/getset.js | 23 +++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/getset.js create mode 100644 test/specs/documentation/getset.js diff --git a/rhino_modules/jsdoc/src/parser.js b/rhino_modules/jsdoc/src/parser.js index 49a019bf..503d64fd 100644 --- a/rhino_modules/jsdoc/src/parser.js +++ b/rhino_modules/jsdoc/src/parser.js @@ -224,7 +224,8 @@ function aboutNode(node) { about.type = 'undefined'; } } - else if (node.type === Token.ASSIGN || node.type === Token.COLON) { + else if (node.type === Token.ASSIGN || node.type === Token.COLON || + node.type === Token.GET || node.type === Token.SET) { about.name = nodeToString(node.left); if (node.type === Token.COLON) { @@ -235,7 +236,13 @@ function aboutNode(node) { } about.node = node.right; about.value = nodeToString(about.node); - about.type = getTypeName(node.right); + + // Getter and setter functions should be treated as properties + if (node.type === Token.GET || node.type === Token.SET) { + about.type = nodeToString(node); + } else { + about.type = getTypeName(node.right); + } if (about.type === 'FUNCTION' && about.node.name) { about.node.type = tkn.NAMEDFUNCTIONSTATEMENT; @@ -363,6 +370,18 @@ function visitNode(node) { finishers: [currentParser.addDocletRef, currentParser.resolveEnum] }; } + else if (node.type === Token.GET || node.type === Token.SET) { // assignment within an object literal + e = { + id: 'astnode'+node.hashCode(), // the id of the GET/SET node + comment: String(node.left.getJsDoc()||'@undocumented'), + lineno: node.left.getLineno(), + filename: currentSourceName, + astnode: node, + code: aboutNode(node), + event: "symbolFound", + finishers: [currentParser.addDocletRef] + }; + } else if (node.type == Token.VAR || node.type == Token.LET || node.type == Token.CONST) { if (node.variables) { diff --git a/test/fixtures/getset.js b/test/fixtures/getset.js new file mode 100644 index 00000000..34a362f3 --- /dev/null +++ b/test/fixtures/getset.js @@ -0,0 +1,37 @@ +/** @class */ +var Person = makeClass( + /** @lends Person# */ + { + /** Set up initial values. */ + initialize: function(name) { + }, + + /** Speak a message. */ + say: function(message) { + return this.name + " says: " + message; + }, + + /** + * The name of the person. + * @type {string} + */ + get name() { + return this._name; + }, + + /** + * @type {string} + * @param val + */ + set name(val) { + this._name = name; + }, + + /** + * @type {number} + */ + get age() { + return 25; + } + } +); \ No newline at end of file diff --git a/test/specs/documentation/getset.js b/test/specs/documentation/getset.js new file mode 100644 index 00000000..d88ebe6f --- /dev/null +++ b/test/specs/documentation/getset.js @@ -0,0 +1,23 @@ +describe("When a getter or setter is the child of an object literal", function () { + var docSet = jasmine.getDocSetFromFile("test/fixtures/getset.js"), + foundName = docSet.getByLongname("Person#name"), + foundAge = docSet.getByLongname("Person#age"); + + it("should have a doclet with the correct longname", function () { + expect(foundName.length).toEqual(2); + expect(foundAge.length).toEqual(1); + }); + + it("should have a doclet with the correct name", function () { + expect(foundName[0].name).toEqual("name"); + expect(foundName[1].name).toEqual("name"); + expect(foundAge[0].name).toEqual("age"); + }); + + it("should have the correct memberof", function () { + expect(foundName[0].memberof).toEqual("Person"); + expect(foundName[1].memberof).toEqual("Person"); + expect(foundAge[0].memberof).toEqual("Person"); + }); + +}); From 73ed12733d53dd6c56e1a62291239645bfa6fcf0 Mon Sep 17 00:00:00 2001 From: Konstantin Pozin Date: Wed, 11 Jul 2012 09:13:04 -0400 Subject: [PATCH 2/9] Added doclet parsing for object literal getters and setters (#100) --- rhino_modules/jsdoc/src/parser.js | 23 +++++++++++++++++-- test/fixtures/getset.js | 37 ++++++++++++++++++++++++++++++ test/specs/documentation/getset.js | 23 +++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/getset.js create mode 100644 test/specs/documentation/getset.js diff --git a/rhino_modules/jsdoc/src/parser.js b/rhino_modules/jsdoc/src/parser.js index 49a019bf..503d64fd 100644 --- a/rhino_modules/jsdoc/src/parser.js +++ b/rhino_modules/jsdoc/src/parser.js @@ -224,7 +224,8 @@ function aboutNode(node) { about.type = 'undefined'; } } - else if (node.type === Token.ASSIGN || node.type === Token.COLON) { + else if (node.type === Token.ASSIGN || node.type === Token.COLON || + node.type === Token.GET || node.type === Token.SET) { about.name = nodeToString(node.left); if (node.type === Token.COLON) { @@ -235,7 +236,13 @@ function aboutNode(node) { } about.node = node.right; about.value = nodeToString(about.node); - about.type = getTypeName(node.right); + + // Getter and setter functions should be treated as properties + if (node.type === Token.GET || node.type === Token.SET) { + about.type = nodeToString(node); + } else { + about.type = getTypeName(node.right); + } if (about.type === 'FUNCTION' && about.node.name) { about.node.type = tkn.NAMEDFUNCTIONSTATEMENT; @@ -363,6 +370,18 @@ function visitNode(node) { finishers: [currentParser.addDocletRef, currentParser.resolveEnum] }; } + else if (node.type === Token.GET || node.type === Token.SET) { // assignment within an object literal + e = { + id: 'astnode'+node.hashCode(), // the id of the GET/SET node + comment: String(node.left.getJsDoc()||'@undocumented'), + lineno: node.left.getLineno(), + filename: currentSourceName, + astnode: node, + code: aboutNode(node), + event: "symbolFound", + finishers: [currentParser.addDocletRef] + }; + } else if (node.type == Token.VAR || node.type == Token.LET || node.type == Token.CONST) { if (node.variables) { diff --git a/test/fixtures/getset.js b/test/fixtures/getset.js new file mode 100644 index 00000000..34a362f3 --- /dev/null +++ b/test/fixtures/getset.js @@ -0,0 +1,37 @@ +/** @class */ +var Person = makeClass( + /** @lends Person# */ + { + /** Set up initial values. */ + initialize: function(name) { + }, + + /** Speak a message. */ + say: function(message) { + return this.name + " says: " + message; + }, + + /** + * The name of the person. + * @type {string} + */ + get name() { + return this._name; + }, + + /** + * @type {string} + * @param val + */ + set name(val) { + this._name = name; + }, + + /** + * @type {number} + */ + get age() { + return 25; + } + } +); \ No newline at end of file diff --git a/test/specs/documentation/getset.js b/test/specs/documentation/getset.js new file mode 100644 index 00000000..d88ebe6f --- /dev/null +++ b/test/specs/documentation/getset.js @@ -0,0 +1,23 @@ +describe("When a getter or setter is the child of an object literal", function () { + var docSet = jasmine.getDocSetFromFile("test/fixtures/getset.js"), + foundName = docSet.getByLongname("Person#name"), + foundAge = docSet.getByLongname("Person#age"); + + it("should have a doclet with the correct longname", function () { + expect(foundName.length).toEqual(2); + expect(foundAge.length).toEqual(1); + }); + + it("should have a doclet with the correct name", function () { + expect(foundName[0].name).toEqual("name"); + expect(foundName[1].name).toEqual("name"); + expect(foundAge[0].name).toEqual("age"); + }); + + it("should have the correct memberof", function () { + expect(foundName[0].memberof).toEqual("Person"); + expect(foundName[1].memberof).toEqual("Person"); + expect(foundAge[0].memberof).toEqual("Person"); + }); + +}); From 29b8ab5ff456b0344965d7dfd26af7a471637fe6 Mon Sep 17 00:00:00 2001 From: Ludo Antonov Date: Wed, 25 Jul 2012 22:00:04 -0700 Subject: [PATCH 3/9] Adding a plugin that enables a @partial tag for re-usable partial documentation kept in separate files. --- plugins/partial.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 plugins/partial.js diff --git a/plugins/partial.js b/plugins/partial.js new file mode 100644 index 00000000..abbd7b09 --- /dev/null +++ b/plugins/partial.js @@ -0,0 +1,30 @@ +/** + @overview Adds support for reusable partial jsdoc files. + @module plugins/partial + @author Ludo Antonov + */ + +var fs = require('fs'); +var path = require('path'); + +exports.handlers = { + /// + /// Include a partial jsdoc + /// @param e + /// @param e.filename + /// @param e.source + /// + /// @example + /// @partial "partial_doc.jsdoc" + /// + beforeParse: function(e) { + e.source = e.source.replace(/(@partial \".*\")+/g, function($) { + var pathArg = $.match(/\".*\"/)[0].replace(/"/g,''); + var fullPath = path.join(e.filename , '..', pathArg); + + var partialData = fs.readFileSync(fullPath); + + return partialData; + }); + } +}; From ab31150d9a397dc1c7d0256e63ddd80932359a44 Mon Sep 17 00:00:00 2001 From: Rob Taylor Date: Wed, 8 Aug 2012 16:25:53 +0100 Subject: [PATCH 4/9] First init of verboseOutput plugin. --- plugins/verboseOutput.js | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 plugins/verboseOutput.js diff --git a/plugins/verboseOutput.js b/plugins/verboseOutput.js new file mode 100644 index 00000000..c45a9936 --- /dev/null +++ b/plugins/verboseOutput.js @@ -0,0 +1,41 @@ +/** + * Adds a verbose output to the console, so that you can see what's happening in your process. + * @module plugins/verboseOutput + * @author Rob Taylor - The basic idea + * @author Michael Mathews - Wrote the first itteration with me :) + */ + + +var _config = { + prefix: { + fileBegin: " > ", + newDoclet: " > " + }, + suffix: { + fileBegin: "", + newDoclet: "" + }, + enable: { + fileBegin: true, + newDoclet: false + } +}; + +/** + * Logging the file name to the console + */ +exports.fileBegin = function (event) { + if (_config.enable.fileBegin) { + console.log(_config.prefix.fileBegin, event.filename, _config.suffix.fileBegin); + } +}; + +/** + * Logging the doclet object to the console. This will print out a lot of info, + * so I suggest only using it for debugging. + */ +exports.newDoclet = function (event) { + if (_config.enable.newDoclet) { + console.log(_config.prefix.newDoclet, event, _config.suffix.newDoclet); + } +}; From a378c9f0b9d4224c07eafa6cd50194b9fb81dda9 Mon Sep 17 00:00:00 2001 From: Rob Taylor Date: Wed, 8 Aug 2012 19:03:40 +0100 Subject: [PATCH 5/9] Removing _config, as it bleeds into global, and I don't like that. Moved fileBegin and newDoclet back onto the handlers namespace of exports. --- plugins/verboseOutput.js | 43 +++++++++++----------------------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/plugins/verboseOutput.js b/plugins/verboseOutput.js index c45a9936..181ceaac 100644 --- a/plugins/verboseOutput.js +++ b/plugins/verboseOutput.js @@ -5,37 +5,18 @@ * @author Michael Mathews - Wrote the first itteration with me :) */ - -var _config = { - prefix: { - fileBegin: " > ", - newDoclet: " > " +exports.handlers = { + /** + * Logging the file name to the console. + */ + fileBegin: function (data) { + console.log(data.filename); }, - suffix: { - fileBegin: "", - newDoclet: "" - }, - enable: { - fileBegin: true, - newDoclet: false - } -}; - -/** - * Logging the file name to the console - */ -exports.fileBegin = function (event) { - if (_config.enable.fileBegin) { - console.log(_config.prefix.fileBegin, event.filename, _config.suffix.fileBegin); - } -}; - -/** - * Logging the doclet object to the console. This will print out a lot of info, - * so I suggest only using it for debugging. - */ -exports.newDoclet = function (event) { - if (_config.enable.newDoclet) { - console.log(_config.prefix.newDoclet, event, _config.suffix.newDoclet); + /** + * Logging the doclet object to the console. This will print out a lot of info, + * so I suggest only using it for debugging. + */ + newDoclet: function (data) { + // console.log(data); } }; From 6193b418f7204a175301a4d285823a27403ff6be Mon Sep 17 00:00:00 2001 From: Rob Taylor Date: Wed, 8 Aug 2012 19:20:55 +0100 Subject: [PATCH 6/9] Removing newDoclet, as I don't think it's necessary. --- plugins/verboseOutput.js | 7 ------- 1 file changed, 7 deletions(-) diff --git a/plugins/verboseOutput.js b/plugins/verboseOutput.js index 181ceaac..454a4a05 100644 --- a/plugins/verboseOutput.js +++ b/plugins/verboseOutput.js @@ -11,12 +11,5 @@ exports.handlers = { */ fileBegin: function (data) { console.log(data.filename); - }, - /** - * Logging the doclet object to the console. This will print out a lot of info, - * so I suggest only using it for debugging. - */ - newDoclet: function (data) { - // console.log(data); } }; From 1cc0907aa435579a82e0cb1f966d892537d98fca Mon Sep 17 00:00:00 2001 From: Rob Taylor Date: Wed, 8 Aug 2012 20:53:56 +0100 Subject: [PATCH 7/9] Adding verboseOutput test. --- plugins/test/specs/verboseOutput.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 plugins/test/specs/verboseOutput.js diff --git a/plugins/test/specs/verboseOutput.js b/plugins/test/specs/verboseOutput.js new file mode 100644 index 00000000..04a4a4d9 --- /dev/null +++ b/plugins/test/specs/verboseOutput.js @@ -0,0 +1,17 @@ +/** + * @author Rob Taylor [manix84@gmail.com] + */ + +describe("verbose output plugin", function () { + var parser = new (require("jsdoc/src/parser")).Parser(), + plugin = require('plugins/verboseOutput'), + docSet; + + installPlugins(['plugins/verboseOutput'], parser); + docSet = jasmine.getDocSetFromFile("plugins/verboseOutput.js", parser); + + it("should log file names to console", function() { + var fileBegin = docSet.getByLongname("module:plugins/verboseOutput.handlers.fileBegin"); + expect(fileBegin[0].description).toEqual("Logging the file name to the console."); + }); +}); From d61259a90c48bf4b4a0a9d893a5bcba13b19b6df Mon Sep 17 00:00:00 2001 From: Jakob Heuser Date: Wed, 15 Aug 2012 11:09:58 -0700 Subject: [PATCH 8/9] attempt to make npm compatible paths by removing node_modules as a path... darn you npm --- README.md | 4 ++-- jsdoc | 4 ++-- jsdoc.cmd | 4 ++-- {node_modules => nodejs_modules}/common/args.js | 0 {node_modules => nodejs_modules}/common/assert.js | 0 {node_modules => nodejs_modules}/common/events.js | 0 {node_modules => nodejs_modules}/common/query.js | 0 {node_modules => nodejs_modules}/common/sqlite.js | 0 {node_modules => nodejs_modules}/common/util.js | 0 {node_modules => nodejs_modules}/evilstreak/markdown.js | 0 {node_modules => nodejs_modules}/gfm/showdown.js | 0 {node_modules => nodejs_modules}/goessner/json2xml.js | 0 {node_modules => nodejs_modules}/jshint/jshint.js | 0 {node_modules => nodejs_modules}/pajhome/hash.js | 0 {node_modules => nodejs_modules}/sitepen/jsonschema.js | 0 {node_modules => nodejs_modules}/typicaljoe/taffy.js | 0 {node_modules => nodejs_modules}/underscore/template.js | 0 {node_modules => nodejs_modules}/wrench/wrench.js | 0 test/README.md | 2 +- test/spec-collection.js | 2 +- 20 files changed, 8 insertions(+), 8 deletions(-) rename {node_modules => nodejs_modules}/common/args.js (100%) rename {node_modules => nodejs_modules}/common/assert.js (100%) rename {node_modules => nodejs_modules}/common/events.js (100%) rename {node_modules => nodejs_modules}/common/query.js (100%) rename {node_modules => nodejs_modules}/common/sqlite.js (100%) rename {node_modules => nodejs_modules}/common/util.js (100%) rename {node_modules => nodejs_modules}/evilstreak/markdown.js (100%) rename {node_modules => nodejs_modules}/gfm/showdown.js (100%) rename {node_modules => nodejs_modules}/goessner/json2xml.js (100%) rename {node_modules => nodejs_modules}/jshint/jshint.js (100%) rename {node_modules => nodejs_modules}/pajhome/hash.js (100%) rename {node_modules => nodejs_modules}/sitepen/jsonschema.js (100%) rename {node_modules => nodejs_modules}/typicaljoe/taffy.js (100%) rename {node_modules => nodejs_modules}/underscore/template.js (100%) rename {node_modules => nodejs_modules}/wrench/wrench.js (100%) diff --git a/README.md b/README.md index 9cde2fe9..5ab58542 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ and run the following command on Windows: If you can't get the short-form commands to work, try invoking Java directly: java -cp lib/js.jar org.mozilla.javascript.tools.shell.Main \ - -modules node_modules -modules rhino_modules -modules . \ + -modules nodejs_modules -modules rhino_modules -modules . \ jsdoc.js -T Usage @@ -72,7 +72,7 @@ or the long form version: $ java -classpath lib/js.jar \ org.mozilla.javascript.tools.debugger.Main -debug \ - -modules node_modules -modules rhino_modules -modules . \ + -modules nodejs_modules -modules rhino_modules -modules . \ jsdoc.js \ your/script.js diff --git a/jsdoc b/jsdoc index a6f216dd..4c82ee53 100755 --- a/jsdoc +++ b/jsdoc @@ -25,9 +25,9 @@ fi if test "$1" = "-T" then echo "Running Tests" - java -classpath "${BASEPATH}/lib/js.jar" ${CMD} -opt -1 -modules "${URLPATH}/node_modules" -modules "${URLPATH}/rhino_modules" -modules "${URLPATH}" "${BASEPATH}/jsdoc.js" $ARGS --dirname="${BASEPATH}/" + java -classpath "${BASEPATH}/lib/js.jar" ${CMD} -opt -1 -modules "${URLPATH}/nodejs_modules" -modules "${URLPATH}/rhino_modules" -modules "${URLPATH}" "${BASEPATH}/jsdoc.js" $ARGS --dirname="${BASEPATH}/" else # normal mode should be quiet - java -classpath "${BASEPATH}/lib/js.jar" ${CMD} -modules "${URLPATH}/node_modules" -modules "${URLPATH}/rhino_modules" -modules "${URLPATH}" "${BASEPATH}/jsdoc.js" $ARGS --dirname="${BASEPATH}/" + java -classpath "${BASEPATH}/lib/js.jar" ${CMD} -modules "${URLPATH}/nodejs_modules" -modules "${URLPATH}/rhino_modules" -modules "${URLPATH}" "${BASEPATH}/jsdoc.js" $ARGS --dirname="${BASEPATH}/" fi diff --git a/jsdoc.cmd b/jsdoc.cmd index 96db593b..c08d424d 100644 --- a/jsdoc.cmd +++ b/jsdoc.cmd @@ -36,10 +36,10 @@ IF [%1]==[--debug] ( IF [%1]==[-T] ( ECHO Running Tests - java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -opt -1 -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --dirname="%_BASEPATH%/ + java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -opt -1 -modules "%_URLPATH%/nodejs_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --dirname="%_BASEPATH%/ ) ELSE ( REM normal mode should be quiet - java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --dirname="%_BASEPATH%/ + java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -modules "%_URLPATH%/nodejs_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --dirname="%_BASEPATH%/ ) ENDLOCAL diff --git a/node_modules/common/args.js b/nodejs_modules/common/args.js similarity index 100% rename from node_modules/common/args.js rename to nodejs_modules/common/args.js diff --git a/node_modules/common/assert.js b/nodejs_modules/common/assert.js similarity index 100% rename from node_modules/common/assert.js rename to nodejs_modules/common/assert.js diff --git a/node_modules/common/events.js b/nodejs_modules/common/events.js similarity index 100% rename from node_modules/common/events.js rename to nodejs_modules/common/events.js diff --git a/node_modules/common/query.js b/nodejs_modules/common/query.js similarity index 100% rename from node_modules/common/query.js rename to nodejs_modules/common/query.js diff --git a/node_modules/common/sqlite.js b/nodejs_modules/common/sqlite.js similarity index 100% rename from node_modules/common/sqlite.js rename to nodejs_modules/common/sqlite.js diff --git a/node_modules/common/util.js b/nodejs_modules/common/util.js similarity index 100% rename from node_modules/common/util.js rename to nodejs_modules/common/util.js diff --git a/node_modules/evilstreak/markdown.js b/nodejs_modules/evilstreak/markdown.js similarity index 100% rename from node_modules/evilstreak/markdown.js rename to nodejs_modules/evilstreak/markdown.js diff --git a/node_modules/gfm/showdown.js b/nodejs_modules/gfm/showdown.js similarity index 100% rename from node_modules/gfm/showdown.js rename to nodejs_modules/gfm/showdown.js diff --git a/node_modules/goessner/json2xml.js b/nodejs_modules/goessner/json2xml.js similarity index 100% rename from node_modules/goessner/json2xml.js rename to nodejs_modules/goessner/json2xml.js diff --git a/node_modules/jshint/jshint.js b/nodejs_modules/jshint/jshint.js similarity index 100% rename from node_modules/jshint/jshint.js rename to nodejs_modules/jshint/jshint.js diff --git a/node_modules/pajhome/hash.js b/nodejs_modules/pajhome/hash.js similarity index 100% rename from node_modules/pajhome/hash.js rename to nodejs_modules/pajhome/hash.js diff --git a/node_modules/sitepen/jsonschema.js b/nodejs_modules/sitepen/jsonschema.js similarity index 100% rename from node_modules/sitepen/jsonschema.js rename to nodejs_modules/sitepen/jsonschema.js diff --git a/node_modules/typicaljoe/taffy.js b/nodejs_modules/typicaljoe/taffy.js similarity index 100% rename from node_modules/typicaljoe/taffy.js rename to nodejs_modules/typicaljoe/taffy.js diff --git a/node_modules/underscore/template.js b/nodejs_modules/underscore/template.js similarity index 100% rename from node_modules/underscore/template.js rename to nodejs_modules/underscore/template.js diff --git a/node_modules/wrench/wrench.js b/nodejs_modules/wrench/wrench.js similarity index 100% rename from node_modules/wrench/wrench.js rename to nodejs_modules/wrench/wrench.js diff --git a/test/README.md b/test/README.md index 386cde61..483a34fb 100644 --- a/test/README.md +++ b/test/README.md @@ -16,7 +16,7 @@ and run the following command on Windows: If you can't get the short-form commands to work, try invoking Java directly: java -cp lib/js.jar org.mozilla.javascript.tools.shell.Main -opt -1 \ - -modules node_modules -modules rhino_modules -modules . \ + -modules nodejs_modules -modules rhino_modules -modules . \ jsdoc.js -T Writing Tests diff --git a/test/spec-collection.js b/test/spec-collection.js index 146d9833..627c89bc 100644 --- a/test/spec-collection.js +++ b/test/spec-collection.js @@ -36,7 +36,7 @@ exports.load = function(loadpath, matcher, clear) { var file = path.join(env.dirname, loadpath, wannaBeSpecs[i]); try { if (fs.statSync(file).isFile()) { - if (!/.*node_modules.*/.test(file) && matcher.test(path.filename(file))) { + if (!/.*nodejs_modules.*/.test(file) && matcher.test(path.filename(file))) { specs.push(createSpecObj(file)); } } From 1c6ff9421c41752947e6eda223c466fbe25972e9 Mon Sep 17 00:00:00 2001 From: Michael Mathews Date: Wed, 15 Aug 2012 21:56:06 +0100 Subject: [PATCH 9/9] Bumped revision number. --- package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/package.json b/package.json index 128f8e2a..5c2a2620 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "JSDoc", "version": "3.0.0", - "revision": "1339743348712", + "revision": "1345064014682", "description": "An automatic documentation generator for javascript.", "keywords": [ "documentation", "javascript" ], "licenses": [ @@ -29,10 +29,6 @@ { "name": "Jannon Frank", "email": "jannon@jannon.net" - }, - { - "name": "Jeff Williams", - "email": "jeffrey.l.williams@gmail.com" } ], "maintainers": [