@@ -4,6 +4,7 @@ var npmi = require('npmi')
44var path = require ( 'path' )
55var colors = require ( 'colors' )
66var replHistory = require ( 'repl.history' )
7+ var exec = require ( 'child_process' ) . exec
78
89const TRYMODULE_PATH = process . env . TRYMODULE_PATH || path . resolve ( ( process . env . HOME || process . env . USERPROFILE ) , '.trymodule' )
910const TRYMODULE_HISTORY_PATH = process . env . TRYMODULE_HISTORY_PATH || path . resolve ( TRYMODULE_PATH , 'repl_history' )
@@ -53,22 +54,32 @@ const addPackageToObject = (obj, pkg) => {
5354 return obj
5455}
5556
56- logGreen ( 'Gonna start a REPL with packages installed and loaded for you' )
57-
58- const packages_to_install = takePackageArguments ( process . argv )
59-
60- const promises_for_installation = packages_to_install . map ( ( package_name ) => loadPackage ( package_name ) )
57+ if ( process . argv [ 2 ] === '--clear' ) {
58+ console . log ( `Removing folder ${ TRYMODULE_PATH + '/node_modules' } ` )
59+ exec ( 'rm -r ' + TRYMODULE_PATH + '/node_modules' , ( err , stdout , stderr ) => {
60+ if ( ! err ) {
61+ logGreen ( 'Cache successfully cleared!' )
62+ process . exit ( 0 )
63+ } else {
64+ throw new Error ( 'Could not remove cache! Error ' + err )
65+ }
66+ } )
67+ } else {
68+ logGreen ( 'Gonna start a REPL with packages installed and loaded for you' )
69+ const packages_to_install = takePackageArguments ( process . argv )
70+ const promises_for_installation = packages_to_install . map ( ( package_name ) => loadPackage ( package_name ) )
6171
62- Promise . all ( promises_for_installation ) . then ( ( packages ) => {
63- const context_packages = packages . reduce ( ( context , pkg ) => {
64- return addPackageToObject ( context , pkg )
65- } , { } )
66- console . log ( 'REPL started...' )
67- if ( ! process . env . TRYMODULE_NONINTERACTIVE ) {
68- var replServer = repl . start ( {
69- prompt : '> '
70- } )
71- replHistory ( replServer , TRYMODULE_HISTORY_PATH )
72- replServer . context = Object . assign ( replServer . context , context_packages )
73- }
74- } )
72+ Promise . all ( promises_for_installation ) . then ( ( packages ) => {
73+ const context_packages = packages . reduce ( ( context , pkg ) => {
74+ return addPackageToObject ( context , pkg )
75+ } , { } )
76+ console . log ( 'REPL started...' )
77+ if ( ! process . env . TRYMODULE_NONINTERACTIVE ) {
78+ var replServer = repl . start ( {
79+ prompt : '> '
80+ } )
81+ replHistory ( replServer , TRYMODULE_HISTORY_PATH )
82+ replServer . context = Object . assign ( replServer . context , context_packages )
83+ }
84+ } )
85+ }
0 commit comments