5
5
var documentation = require ( '../' ) ,
6
6
7
7
streamArray = require ( 'stream-array' ) ,
8
- path = require ( 'path' ) ,
9
8
fs = require ( 'fs' ) ,
10
9
vfs = require ( 'vinyl-fs' ) ,
11
10
formatError = require ( '../lib/error' ) ,
12
- loadConfig = require ( '../lib/load_config.js' ) ,
13
- args = require ( '../lib/args.js' ) ,
14
- argv = args . parse ( process . argv . slice ( 2 ) ) ;
11
+ args = require ( '../lib/args.js' ) ;
15
12
16
- var inputs ,
17
- name = argv . name ,
18
- version = argv . version ,
19
- transform ;
13
+ var parsedArgs = args ( process . argv . slice ( 2 ) ) ;
14
+ var inputs = parsedArgs . inputs ,
15
+ options = parsedArgs . options ,
16
+ formatterOptions = parsedArgs . formatterOptions ,
17
+ outputLocation = parsedArgs . output ;
20
18
21
- if ( argv . _ . length > 0 ) {
22
- inputs = argv . _ ;
23
- } else {
24
- try {
25
- var p = require ( path . resolve ( 'package.json' ) ) ;
26
- inputs = [ p . main ] ;
27
- name = name || p . name ;
28
- version = version || p . version ;
29
- if ( p . browserify && p . browserify . transform ) {
30
- transform = p . browserify . transform ;
31
- }
32
- } catch ( e ) {
33
- args . showHelp ( ) ;
34
- throw new Error ( 'documentation was given no files and was not run in a module directory' ) ;
35
- }
36
- }
37
-
38
- if ( ! documentation . formats [ argv . f ] ) {
39
- args . showHelp ( ) ;
40
- throw new Error ( 'Formatter not found' ) ;
41
- }
42
-
43
- var formatterOptions = {
44
- name : name ,
45
- version : version ,
46
- theme : argv . theme
47
- } ;
48
-
49
- var formatter = documentation . formats [ argv . f ] ;
50
-
51
- if ( argv . f === 'html' && argv . o === 'stdout' ) {
52
- args . showHelp ( ) ;
53
- throw new Error ( 'The HTML output mode requires a destination directory set with -o' ) ;
54
- }
55
-
56
- var config = { } ;
57
-
58
- if ( argv . config ) {
59
- config = loadConfig ( argv . config ) ;
60
- }
19
+ var formatter = documentation . formats [ parsedArgs . formatter ] ;
61
20
62
- documentation ( inputs , {
63
- private : argv . private ,
64
- transform : transform ,
65
- github : argv . github ,
66
- polyglot : argv . polyglot ,
67
- order : config . order || [ ] ,
68
- shallow : argv . shallow
69
- } , function ( err , result ) {
21
+ documentation ( parsedArgs . inputs , parsedArgs . options , function ( err , result ) {
70
22
if ( err ) {
71
23
throw err ;
72
24
}
@@ -82,11 +34,11 @@ documentation(inputs, {
82
34
throw err ;
83
35
}
84
36
85
- if ( argv . o !== 'stdout' ) {
86
- if ( argv . f === 'html' ) {
87
- streamArray ( output ) . pipe ( vfs . dest ( argv . o ) ) ;
37
+ if ( outputLocation !== 'stdout' ) {
38
+ if ( parsedArgs . formatter === 'html' ) {
39
+ streamArray ( output ) . pipe ( vfs . dest ( outputLocation ) ) ;
88
40
} else {
89
- fs . writeFileSync ( argv . o , output ) ;
41
+ fs . writeFileSync ( outputLocation , output ) ;
90
42
}
91
43
} else {
92
44
process . stdout . write ( output ) ;
0 commit comments