1
1
const inquirer = require ( "inquirer" ) ;
2
- const configuration = require ( ' ./modules.conf.js' ) ;
2
+ const configuration = require ( " ./modules.conf.js" ) ;
3
3
4
4
console . log ( configuration ) ;
5
5
6
6
function uniq ( a ) {
7
- var prims = { "boolean" : { } , "number" : { } , "string" : { } } , objs = [ ] ;
7
+ var prims = { boolean : { } , number : { } , string : { } } ,
8
+ objs = [ ] ;
8
9
9
- return a . filter ( function ( item ) {
10
- var type = typeof item ;
11
- if ( type in prims )
12
- return prims [ type ] . hasOwnProperty ( item ) ? false : ( prims [ type ] [ item ] = true ) ;
13
- else
14
- return objs . indexOf ( item ) >= 0 ? false : objs . push ( item ) ;
15
- } ) ;
10
+ return a . filter ( function ( item ) {
11
+ var type = typeof item ;
12
+ if ( type in prims )
13
+ if ( Object . prototype . hasOwnProperty . call ( prims [ type ] , item ) ) {
14
+ return false ;
15
+ } else {
16
+ prims [ type ] [ item ] = true ;
17
+ return true ;
18
+ }
19
+ else return objs . indexOf ( item ) >= 0 ? false : objs . push ( item ) ;
20
+ } ) ;
16
21
}
17
22
18
23
function generateFileList ( list ) {
19
- var fileList = [ ] ;
20
- var file ;
21
- for ( var i = 0 ; i < list . length ; i ++ ) {
22
- fileList . push ( list [ i ] . name + '.js' ) ;
23
- console . log ( list [ i ] )
24
- console . log ( configuration [ list [ i ] . name ] )
25
- for ( var j = 0 ; j < configuration [ list [ i ] ] . deps . length ; j ++ ) {
26
- file = configuration [ list [ i ] ] . deps [ j ] ;
27
- configuration [ file ] . type
28
- fileList . push ( configuration [ file ] . type + '/' + '.js' ) ;
29
- }
24
+ var fileList = [ ] ;
25
+ var file ;
26
+ for ( var i = 0 ; i < list . length ; i ++ ) {
27
+ fileList . push ( list [ i ] . name + ".js" ) ;
28
+ console . log ( list [ i ] ) ;
29
+ console . log ( configuration [ list [ i ] . name ] ) ;
30
+ for ( var j = 0 ; j < configuration [ list [ i ] ] . deps . length ; j ++ ) {
31
+ file = configuration [ list [ i ] ] . deps [ j ] ;
32
+ configuration [ file ] . type ;
33
+ fileList . push ( configuration [ file ] . type + "/" + ".js" ) ;
30
34
}
31
- fileList = uniq ( fileList ) ;
32
- return fileList ;
35
+ }
36
+ fileList = uniq ( fileList ) ;
37
+ return fileList ;
33
38
}
34
39
35
40
/**
36
41
* Ask use a few questions on command prompt
37
42
* @returns {Promise } The promise with the result of the prompt
38
43
*/
39
44
function promptUser ( ) {
40
- return inquirer . prompt ( [
41
- {
42
- type : "list" ,
43
- name : "env" ,
44
- message : "Where does your code run?" ,
45
- default : [ "browser" ] ,
46
- choices : [
47
- { name : "Browser" , value : "browser" } ,
48
- { name : "Node" , value : "node" }
49
- ]
50
- } ,
51
- {
52
- type : "checkbox" ,
53
- name : "images" ,
54
- message : "Which ImageTypes should be supported?" ,
55
- default : [ "jpeg_support" , 'bmp_support' , 'gif_support' , 'webp_support' ] ,
56
- choices : [
57
- { name : "Jpeg" , value : "jpeg_support" } ,
58
- { name : "Bmp" , value : "bmp_support" } ,
59
- { name : "Gif" , value : "gif_support" } ,
60
- { name : "WebP" , value : "webp_support" }
61
- ]
62
- } ,
63
- {
64
- type : "checkbox" ,
65
- name : "modules" ,
66
- message : "Additional Modules" ,
67
- default : [ 'acroform' , 'annotations' , 'arabic' , 'autoprint' , 'context2d' ,
68
- 'fileloading' , 'filters' , 'html' , 'javascript' , 'outline' ,
69
- 'setlanguage' , 'svg' , 'total_pages' , 'utf8' , 'viewerpreferences' ,
70
- 'xmp_metadata'
71
- ] ,
72
- choices : [
73
- { name : "Acroform" , value : "acroform" } ,
74
- { name : "Annotations" , value : "annotations" } ,
75
- { name : "Arabic Parser" , value : "arabic" } ,
76
- { name : "Autoprint" , value : "autoprint" } ,
77
- { name : "Context2d" , value : "context2d" } ,
78
- { name : "File Loading" , value : "fileloading" } ,
79
- { name : "Filters" , value : "filters" } ,
80
- { name : "HTML" , value : "html" } ,
81
- { name : "Javascript" , value : "javascript" } ,
82
- { name : "Outline" , value : "outline" } ,
83
- { name : "Language-Tagging" , value : "setlanguage" } ,
84
- { name : "SVG" , value : "svg" } ,
85
- { name : "TotalPages" , value : "total_pages" } ,
86
- { name : "Unicode" , value : "utf8" } ,
87
- { name : "ViewerPreferences" , value : "viewerpreferences" } ,
88
- { name : "XMP Metadata" , value : "xmp_metadata" }
89
- ]
90
- }
91
- ] ) . then ( result => {
92
- console . log ( generateFileList ( [ ...result . images , ...result . modules ] ) ) ;
45
+ return inquirer
46
+ . prompt ( [
47
+ {
48
+ type : "list" ,
49
+ name : "env" ,
50
+ message : "Where does your code run?" ,
51
+ default : [ "browser" ] ,
52
+ choices : [
53
+ { name : "Browser" , value : "browser" } ,
54
+ { name : "Node" , value : "node" }
55
+ ]
56
+ } ,
57
+ {
58
+ type : "checkbox" ,
59
+ name : "images" ,
60
+ message : "Which ImageTypes should be supported?" ,
61
+ default : [ "jpeg_support" , "bmp_support" , "gif_support" , "webp_support" ] ,
62
+ choices : [
63
+ { name : "Jpeg" , value : "jpeg_support" } ,
64
+ { name : "Bmp" , value : "bmp_support" } ,
65
+ { name : "Gif" , value : "gif_support" } ,
66
+ { name : "WebP" , value : "webp_support" }
67
+ ]
68
+ } ,
69
+ {
70
+ type : "checkbox" ,
71
+ name : "modules" ,
72
+ message : "Additional Modules" ,
73
+ default : [
74
+ "acroform" ,
75
+ "annotations" ,
76
+ "arabic" ,
77
+ "autoprint" ,
78
+ "context2d" ,
79
+ "fileloading" ,
80
+ "filters" ,
81
+ "html" ,
82
+ "javascript" ,
83
+ "outline" ,
84
+ "setlanguage" ,
85
+ "svg" ,
86
+ "total_pages" ,
87
+ "utf8" ,
88
+ "viewerpreferences" ,
89
+ "xmp_metadata"
90
+ ] ,
91
+ choices : [
92
+ { name : "Acroform" , value : "acroform" } ,
93
+ { name : "Annotations" , value : "annotations" } ,
94
+ { name : "Arabic Parser" , value : "arabic" } ,
95
+ { name : "Autoprint" , value : "autoprint" } ,
96
+ { name : "Context2d" , value : "context2d" } ,
97
+ { name : "File Loading" , value : "fileloading" } ,
98
+ { name : "Filters" , value : "filters" } ,
99
+ { name : "HTML" , value : "html" } ,
100
+ { name : "Javascript" , value : "javascript" } ,
101
+ { name : "Outline" , value : "outline" } ,
102
+ { name : "Language-Tagging" , value : "setlanguage" } ,
103
+ { name : "SVG" , value : "svg" } ,
104
+ { name : "TotalPages" , value : "total_pages" } ,
105
+ { name : "Unicode" , value : "utf8" } ,
106
+ { name : "ViewerPreferences" , value : "viewerpreferences" } ,
107
+ { name : "XMP Metadata" , value : "xmp_metadata" }
108
+ ]
109
+ }
110
+ ] )
111
+ . then ( result => {
112
+ console . log ( generateFileList ( [ ...result . images , ...result . modules ] ) ) ;
93
113
} ) ;
94
114
}
95
115
96
- promptUser ( ) ;
116
+ promptUser ( ) ;
0 commit comments