11const inquirer = require ( "inquirer" ) ;
2- const configuration = require ( ' ./modules.conf.js' ) ;
2+ const configuration = require ( " ./modules.conf.js" ) ;
33
44console . log ( configuration ) ;
55
66function uniq ( a ) {
7- var prims = { "boolean" : { } , "number" : { } , "string" : { } } , objs = [ ] ;
7+ var prims = { boolean : { } , number : { } , string : { } } ,
8+ objs = [ ] ;
89
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+ } ) ;
1621}
1722
1823function 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" ) ;
3034 }
31- fileList = uniq ( fileList ) ;
32- return fileList ;
35+ }
36+ fileList = uniq ( fileList ) ;
37+ return fileList ;
3338}
3439
3540/**
3641 * Ask use a few questions on command prompt
3742 * @returns {Promise } The promise with the result of the prompt
3843 */
3944function 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 ] ) ) ;
93113 } ) ;
94114}
95115
96- promptUser ( ) ;
116+ promptUser ( ) ;
0 commit comments