Bryan Ashby
2d9cd39ae8
Use config route path for temp files
2017-02-09 20:34:29 -07:00
Bryan Ashby
a257a9ba4b
* Fix up and improve oputil file-base stuff
...
* Specialize if user does not have upload ACS
2017-02-08 22:53:48 -07:00
Bryan Ashby
5549ff5512
* Help pages
...
* No results for criteria page
* noHistory can be passed to gotoMenu()
2017-02-07 22:15:34 -07:00
Bryan Ashby
f0db0e3c94
* file.db: file_user_rating: Table for tracking average user rating of a file
...
* Default filter order to descending
* File rating support including in search/filter
* Default to passing submitted form data (if any) @ prevMenu()
* Fix issues with byte/size formatting for 0
* Allow action keys for prompts
* use MenuModule.pausePrompt() in various places
* Add quick search to file area
* Display dupes, if any @ upload
2017-02-07 20:20:10 -07:00
Bryan Ashby
5f929b3d63
comment
2017-02-07 20:14:56 -07:00
Bryan Ashby
92772eb1a9
* Added ability to serve static files from web server
...
* Web server can have custom error pages, e.g. 404.html
* "file_area" stuff -> "file_base"
* Fix some rare bugs in theme/art loading
* Adjust tab order dynamically for file upload details
2017-02-04 09:20:36 -07:00
Bryan Ashby
ff64a7aed5
* SEXYZ: XModem & YModem
...
* Explicit sort avail to protocols
* MenuView.removeItem()
* Natural sort for more things
* Fix some issues with HorizontalMenuView redraw/update
* Sanatize non-blind upload filename (security)
* Validator on non-blind upload filename
2017-02-01 19:42:27 -07:00
Bryan Ashby
8261881e3e
Initial support for non-blind aka non-batch uploads
2017-01-31 23:10:17 -07:00
Bryan Ashby
690d148ad5
* Move to uuid vs node-uuid
...
* Use uuid-parse for to/from string
2017-01-31 00:17:19 -07:00
Bryan Ashby
9c61b2b945
Use natural sort
2017-01-31 00:16:43 -07:00
Bryan Ashby
807ca9bded
Fix some year est regex's, add yyyy-mm-dd
2017-01-31 00:16:28 -07:00
Bryan Ashby
c7640de07e
Add focusItemIndex property
2017-01-30 21:54:32 -07:00
Bryan Ashby
6f1015305b
* Allow alternate matching group order for archive short/long desc
...
* max short/long desc file input byte size (ignore files larger than N)
* Add Arj support via 'arj'
2017-01-29 22:30:48 -07:00
Bryan Ashby
9525afddd3
* Created new npm module: temptmp: This replaces node-temp usage & solves global temp file cleanup issue with concept of temp "sessions"
2017-01-29 19:56:46 -07:00
Bryan Ashby
e10d085cab
Remove accidental typo in code
2017-01-29 19:56:34 -07:00
Bryan Ashby
8aa42342a2
Fix setText('')/clearText() issue with text views
2017-01-28 12:48:04 -07:00
Bryan Ashby
12d4c158c4
* ENiGMA now require Node.js 6.x LTS+
...
* Bump version to 0.0.4-alpha
* Update package dependencies
* Use modified node-buffers that does not use deprecated Array.get()
* Update lodash dependency to 4.x & convert to new methods/etc.
* Better 'noHistory' support for menu stack
* Fix bug in download queue init
* Misc code cleanup
2017-01-28 12:33:06 -07:00
Bryan Ashby
8889014f47
Update copyrights
2017-01-25 22:59:12 -07:00
Bryan Ashby
99ab60bf77
* Convert MenuModule to ES6 style class
...
* Convert modules that are MenuModule subclasses to ES6 style classes
* Convert mixins to ES6 style
* Various cleanup
2017-01-25 22:18:05 -07:00
Bryan Ashby
1c03c3021a
* Temporary fix for MAJOR global temp cleanup bug: comment out node-temp .cleanup() methods
...
* Don't move temp uploads to area directory until user submit/completed
* New file util module
2017-01-23 23:32:40 -07:00
Bryan Ashby
99036592ae
* Bump version to 0.0.2-alpha: File Base alpha here
...
* LHA/LZH archive support via external lha command
* Nearly complete upload processor
* Set default file base filter if none is set
* Additional MenuModule common method/helpers
* MLTEV property: tabSwitchesView
2017-01-22 21:30:49 -07:00
Bryan Ashby
8d51c7d47c
* Additional helpers to MenuModule
...
* Gzip signature (.gz)
* Switch to sha-256 vs sha1 for internal file hashes
* Nearly complete callback / scan update support for scanFile()
* Fix data input issue after performing upload
* Support 'sz' recv (uploads)
2017-01-21 22:09:29 -07:00
Bryan Ashby
fb176d3ab3
* Fix updating of existing file filter
...
* Update findFiles() to properly apply filters, sort order / direction, etc.
* Properly persist hash tags @ file entry persist
* Lots of improvements / additions to MCI for upload/download, etc. stats
* Persist processed entries @ upload (WIP, but close!)
2017-01-18 22:23:53 -07:00
Bryan Ashby
e265e3cc97
* WIP on upload scan/processing
...
* WIP on user add/edit data to uploads
* Add write access (upload) to area ACS
* Add upload collision handling
* Add upload stats
2017-01-11 22:51:00 -07:00
Bryan Ashby
4c1c05e4da
Fix bug with already logged in/connected check logic @ login
2017-01-11 22:48:04 -07:00
Bryan Ashby
1218fe65f9
Add new file scan year est regexp
2017-01-11 22:47:00 -07:00
Bryan Ashby
a45142f2fd
* Use more standard code paths & emit index events in ToggleMenuView
...
* Fix fetching areas & internal message attach area name
* Use proper config in new MenuModule methods
* More good progress on uploading
2017-01-01 21:53:04 -07:00
Bryan Ashby
0a92eec5e8
* WIP on upload support - protocols, modules, etc.
...
* Ability for KeyEntryView to only show specific/allowed keys
* Start moving/adding common methods to MenuModule vs boilerplate code
* menuFlags: String|StringArray: flags for menus, e.g. new 'noHistory' flag to prevent appending to history/stack
* New download stats/MCI codes
* Ability to redirect input stream to [protocols] temporairly
2016-12-31 14:50:29 -07:00
Bryan Ashby
6f3fe7c52d
#103 : FTN PKT files need to be uppercase
2016-12-06 20:51:48 -07:00
Bryan Ashby
6da7d557f9
* Improvements to ANSI parser
...
* Introduction of storage tags for file bases / areas
* Expiration for file web server items
* WIP work on clean ANSI (on hold for a bit while other file base stuff is worked on)
2016-12-06 18:58:56 -07:00
Bryan Ashby
a7c0f2b7b0
* Add FileBaseFilters
...
* Add HTTP(S) file web server with temp URLs
* Get temp web d/l from file list
* Add File area filter editor (all file area stuff will be rename to file "base" later)
* Concept of "listening servers" vs "login servers"
* Ability to get servers by their package name
* New MCI: %FN: File Base active filter name
* Some ES6 updates
* VC resetInitialFocus() to set focus to explicit/detected initial focus field
* Limit what is dumped out when logging form data
2016-10-24 21:49:45 -06:00
Bryan Ashby
712cf512f0
* Add another year est regex
...
* Add queue file support
2016-10-14 21:57:02 -06:00
Bryan Ashby
1ef546d569
Download queue manager
2016-10-14 21:56:45 -06:00
Bryan Ashby
78607f8a48
* Add CRC32
...
* Fix stale entries loaded from previous item in file listing
2016-10-13 20:53:38 -06:00
Bryan Ashby
806e6539f4
* Lots of improvements (WIP) to file browsing
2016-10-12 22:07:22 -06:00
Bryan Ashby
67e2ff987f
* getISOTimestampString()
...
* More file entry load/persist
2016-10-06 21:03:04 -06:00
Bryan Ashby
29947611f6
* New archives/archiver format - more flexible, more formats, etc.
...
* Add scanning inside archives ability, extract file_id.diz, etc.
* Initial year est (WIP) work
2016-10-05 23:22:59 -06:00
Bryan Ashby
61b0658743
Work on new archivers layout, short/long desc file discovery
2016-10-03 22:03:32 -06:00
Bryan Ashby
9593da5626
Additional work with archivers
2016-10-02 22:21:37 -06:00
Bryan Ashby
ec716fdf2c
* More file area utility methods/etc.
...
* Start adding oputil file-area --scan <areaTag> stuff
* New new ArchiveUtil.getInstance()
2016-10-02 21:40:37 -06:00
Bryan Ashby
35e7610670
Better code, more flexible ArchiveUtil
2016-10-02 21:39:29 -06:00
Bryan Ashby
0a98ce651f
#101 set real names for message areas
2016-10-02 13:47:19 -06:00
Bryan Ashby
c715bb7731
Allow tab to process as 'next' in preview mode
2016-10-02 13:46:12 -06:00
Bryan Ashby
f8c4990646
Add 'pcansi' support for ZOC terminal
2016-10-01 13:30:02 -06:00
Bryan Ashby
ac35d3506d
File area updates WIP
2016-10-01 13:25:32 -06:00
Bryan Ashby
c81b6789f4
Add 'pcansi' support for ZOC terminal
2016-10-01 13:22:34 -06:00
Bryan Ashby
b9ef561058
Parse file meta values @ load (e.g. to number
2016-09-28 22:26:06 -06:00
Bryan Ashby
5a0b291a02
* Some WIP on file area releated stuff - various partially implemented pieces coming together
...
* Some changes to database.js: Triggers for FTS were not being created properly
* Misc fixes & improvements
2016-09-28 21:54:25 -06:00
Bryan Ashby
7da0abdc39
Work on EnigError and usage as experiment; This will go to many other areas of the code
2016-09-19 21:30:26 -06:00
Bryan Ashby
6a28b3ff35
Dump schedule info @ load
2016-09-19 21:29:46 -06:00
Bryan Ashby
9f22117e49
* Move login servers to core/servers/login
2016-09-19 21:28:50 -06:00
Bryan Ashby
caa9137162
* Move login servers to core/servers/login
...
* A bit of minor changes related to upcoming file areas --- will likely branch before anything major
* Clean up database.js a bit
2016-09-19 21:28:21 -06:00
Bryan Ashby
34474bc610
minor cleanup
2016-09-14 21:08:59 -06:00
Bryan Ashby
e90cf673e3
Updates to event scheduler
2016-09-13 21:44:35 -06:00
Bryan Ashby
70d1eb8d91
Update ssh2 3rd party module & ssh.js local server
2016-09-11 16:21:27 -06:00
Bryan Ashby
ae02f35baa
Fix NaN issue in string_format.js
2016-09-08 22:32:24 -06:00
Bryan Ashby
d621fa9566
* renderStringLength(): Account for ESC[<N>C "forward" ESC seq
...
* Use string util renderStringLength() in word wrap
* Hopefully resolve all issues with renderSubstr()
* Fix width issue in message list
2016-09-06 23:20:11 -06:00
Bryan Ashby
f7c21baa52
* FSE quote format is now configurable and random if there are 2:n available
...
* Remove old 3rd party string-format & replace with string_format.js version
* Some fix some bugs with string_format.js padding, width, and number format
2016-09-04 21:36:26 -06:00
Bryan Ashby
d4d64f925d
* Attempt to hide sensitive information by default (e.g. 'password' fields) in log
...
* New logger configuration - change logging: level -> logging: rotatingFile: level for current functionality
2016-09-04 17:46:28 -06:00
Bryan Ashby
a729944af7
ANSI resources (comments)
2016-09-04 17:44:51 -06:00
Bryan Ashby
82533eae2d
Don't re-add + log MCI cache if already cached. Also fix wording :)
2016-09-01 23:57:57 -06:00
Bryan Ashby
767bddcc4b
StatLog will now store for N days or N max/count items
2016-09-01 23:41:20 -06:00
Bryan Ashby
9d46f23c66
Allow spaces in usernames by default
2016-09-01 23:39:49 -06:00
Bryan Ashby
f4c041abdf
Better sliceAtEOF()
2016-09-01 23:37:57 -06:00
David Stephens
0b3b7bee41
Small typo in username validation error message
2016-09-01 19:34:31 +01:00
Bryan Ashby
00330020b9
Some ES6 cleanup
2016-08-31 22:25:41 -06:00
Bryan Ashby
2c53515b60
Better isGroupMember() impl.
2016-08-31 22:06:49 -06:00
Bryan Ashby
e7ba6c406e
* Introduce MCI cache: Art files are hashed and MCI info (per client) is cached. Term resizes invalidate the cache
...
* Bring in farmhash for art file hashing (and perhaps other uses soon)
* Re-write of art.js display(). Better system, use MCI cache, etc.
* Update package.json engines node req.
2016-08-31 22:06:28 -06:00
Bryan Ashby
0a3a62edf3
* Added ability to pass a "menu result" from a menu when calling prev()/prevMenu()
...
* Ability to fully quit newscan with X key using new menu result functionality
2016-08-30 21:31:24 -06:00
Bryan Ashby
57309b433a
Misc & isRootUserId()
2016-08-29 21:03:48 -06:00
Bryan Ashby
a54caed41e
Catch ACS parse exception
2016-08-29 21:01:51 -06:00
Bryan Ashby
8002bbe8fe
Start using new enig assert vs standard assert
2016-08-26 21:30:25 -06:00
Bryan Ashby
8d484daa3a
Enigma error objects
2016-08-26 21:29:57 -06:00
Bryan Ashby
6fa19f9ac3
assert() that won't expload when not in 'dev' mode
2016-08-26 21:29:49 -06:00
Bryan Ashby
3bae109537
Fix formatting on banner
2016-08-26 21:28:29 -06:00
Bryan Ashby
3319e8d7f9
Formatting
2016-08-26 21:28:17 -06:00
Bryan Ashby
ef6c21e48e
comment
2016-08-26 21:28:02 -06:00
Bryan Ashby
9bd39f6d80
format() that works with RA pipe codes & ANSI ESC seqs
2016-08-26 21:27:32 -06:00
Bryan Ashby
b19d06df26
Default to NOT showing non-authenticated users in who's online / getActiveNodeList()
2016-08-26 20:53:27 -06:00
Bryan Ashby
51baba1f2a
Add preAuthIdleLogoutSeconds
2016-08-21 19:59:21 -06:00
Bryan Ashby
d50e505bd7
* Allow for clients such as ConnectBot that see "home" as 0,0 vs ANSI-BBS standard 1,1 by offsetting CPR values
...
* Some code cleanup
* Don't assert in View.js setPosition(); Instead, sanatize values
2016-08-14 11:45:31 -06:00
Bryan Ashby
cf30389146
ToggleMenuView causes Engima to crash when connecting with ConnectBot #83
2016-08-13 10:05:49 -06:00
Bryan Ashby
383b3b449d
* Fix key press event for EditTextView
...
* Fix MCI draw issue for TextView
* Missing bbs.js MCI init
2016-08-10 23:35:17 -06:00
Bryan Ashby
30ba609fb4
* Add rumorz mod
...
* ANSI/pipe working properly in VerticalMenuView
* Fix bug in renderStringLength()
* Make initSequence() part of prototype chain for inheritance
* Use proper 'desc' field vs 'status' for menus when setting client/user status
* Move pipeToAnsi() to setItems/setFocusItems vs every render
* Add %RR random rumor MCI
* Predefined MCI's can be init @ startup - RR uses random as a test bed
* Add some StatLog functionality for ordering, keep forever, etc.
* Fix TextView redraw issue
* Better VerticalMenuView drawItem() logic
* Add 'key press' emit for View
* Enable formats for BBS list - works with MCI
* Remove old system_property.js
2016-08-10 22:48:13 -06:00
Bryan Ashby
2b68201f7d
* Pretty big optimization with TextView: Don't attempt to draw empty items - which needs SGR work and all sorts of processing - if there is not (yet) a non-empty string to draw
2016-08-06 20:11:04 -06:00
Bryan Ashby
6283a047f3
Fix renderSubstr() with start > 0
2016-08-06 19:58:14 -06:00
Bryan Ashby
257081b250
Help catch errors in configs easier
2016-08-06 19:57:27 -06:00
Bryan Ashby
26fb4692dc
Attempt to detect when an archiver does not exist (HACK!)
2016-08-06 16:30:56 -06:00
Bryan Ashby
9af9bfe3d0
More switch style
2016-08-03 22:43:56 -06:00
Bryan Ashby
33f0553ea9
Use sane switch style :)
2016-08-03 22:43:06 -06:00
Bryan Ashby
b12d9aad04
sysStat for +op username vs old config value
2016-08-03 21:46:38 -06:00
Bryan Ashby
969cd35ece
* Use standard MCI codes in FSE/etc.
...
* Add mod mixin for temp area/conf switch e.g. used by new scan, fse, so on
* string utils: renderSubstr(), renderStringLength(): Works with *rendered* text. That is, is smart enough to ignore ANSI and RA style pipe color codes
* string util pad() works with ANSI/RA pipe codes
* TextView can now display text with RA pipe codes and MCI codes
* Message conf/area welcome art #81
* Update luciano art with new MCI
2016-08-03 19:48:45 -06:00
Bryan Ashby
3d098e927a
Misc minor cleanup
2016-08-03 19:38:06 -06:00
Bryan Ashby
c93638a5e6
Ooops... missing StatLog module :)
2016-07-27 21:48:13 -06:00
Bryan Ashby
8787703989
* New StatLog: Replaces various logs, system props, etc. into one class/methods
...
* Uew StatLog for last callers
* Use new StatLog for +op props
* Use new StatLog for user props such as posts & MCI to access such
* Use StatLog for various new MCI codes for +op
* Misc missing MCI codes
2016-07-27 21:44:27 -06:00
Bryan Ashby
d4ce574be3
Case insensitive areaTag compare
2016-07-25 14:36:57 -06:00
Bryan Ashby
0a629feeb0
Resolve: System methods prev/nextArea, and prev/nextConf can cause a crash #79
2016-07-25 14:35:58 -06:00
Bryan Ashby
fb737357f5
Update copyright
2016-07-25 14:26:34 -06:00
Bryan Ashby
8d75a675dd
Make linter happy
2016-07-25 14:26:20 -06:00
Bryan Ashby
b39c26153b
* Don't allow pure numbers as usernames (e.g. "1234")
...
* Minor code cleanup
2016-07-25 10:49:41 -06:00
Bryan Ashby
b0ddc3fec4
Minor cleanup, allow console.log(), .error(), etc. here
2016-07-25 10:47:30 -06:00
Bryan Ashby
623e96feb0
Replaced by acs.js
2016-07-25 10:46:58 -06:00
Bryan Ashby
0aa75c17c1
Style + import lodash
2016-07-25 09:30:49 -06:00
Robert Mooney
9ab4adc05f
Handle empty text masks.
...
This allows themes to prevent text from being sent during password
entry. To enable, edit theme.hjson and set $.customization.defaults
.general.passwordChar to "". e.g.,
{
...
customization: {
defaults: {
general: {
passwordChar: ""
}
}
...
}
}
2016-07-25 02:02:37 -07:00
Robert Mooney
e080b5dcfa
Spelling and grammar!
2016-07-25 02:02:37 -07:00
Bryan Ashby
87c6746676
validateUserNameExists()
2016-07-25 01:01:14 -06:00
Bryan Ashby
820e150708
Properly filter out private mail by user ID
2016-07-25 01:00:35 -06:00
Bryan Ashby
c3ae30a8aa
isPrivateTagArea()
2016-07-25 00:58:49 -06:00
Bryan Ashby
c2cbc7913c
Use new menu stack code
2016-07-25 00:58:27 -06:00
Bryan Ashby
ea0ec9ae4e
ES6 menu stack
2016-07-25 00:57:12 -06:00
Bryan Ashby
08393e0aff
* New ACS class avail @ client.acs
...
* Experimental / WIP work on issue #79
2016-07-24 11:48:59 -06:00
Bryan Ashby
8bd61f2d01
* New ACS class avail @ client.acs
...
* Experimental / WIP work on issue #79
* Issue # 77: Changes to new_scan.js, temp conf/area swapping, etc.
* message area: getMessageConfByAreaTag(), getMessageConfTagByAreaTag(), tempChangeMessageConfAndArea(), getNewMessageCountInAreaForUser()
2016-07-24 11:47:34 -06:00
Bryan Ashby
359241654b
Case insensitive compare for area tags ( #78 )
2016-07-21 21:04:08 -06:00
Bryan Ashby
a1167acc03
Fix non 'ch' issue
2016-07-20 22:21:46 -06:00
Bryan Ashby
9545cb620b
Add KeyEntryView (%KE)
2016-07-20 22:11:57 -06:00
Bryan Ashby
8cd07d2af4
Add startup log entry
2016-07-19 21:23:41 -06:00
Bryan Ashby
7f1aec4fca
Make linter happy
2016-07-19 21:02:12 -06:00
Bryan Ashby
2d1f3d3c17
Minor cleanup work
2016-07-19 21:01:49 -06:00
Bryan Ashby
5e13a78f31
Minor cleanup
2016-07-19 21:01:25 -06:00
Bryan Ashby
64044399ab
error -> reason when failing to display art
2016-07-19 21:00:56 -06:00
Bryan Ashby
b0930a3b7e
Add setSyncTermFontWithAlias()
2016-07-19 20:58:51 -06:00
Bryan Ashby
df56391338
Fix message and conf area sorting for 'sort' > 9 (again)
2016-07-19 08:45:18 -06:00
Bryan Ashby
985d239ab9
Fix message and conf area sorting for 'sort' > 9
2016-07-18 21:18:55 -06:00
Bryan Ashby
09e399a060
Messages Cut Off #73
2016-07-18 20:05:29 -06:00
Bryan Ashby
b8a23b827c
* Improved message trimming
...
* Better logs, code cleanup, etc. around trimming
2016-07-17 22:17:24 -06:00
Bryan Ashby
e19b725aa8
Various cleanup WIP
2016-07-17 22:16:15 -06:00
Bryan Ashby
b7274a16d4
(Yet another) fix for setFocusItemIndex() draw issues!
2016-07-17 22:15:43 -06:00
Bryan Ashby
a7993281b9
Better missing art log
2016-07-16 13:17:16 -06:00
Bryan Ashby
2bd548d284
Code cleanup (minor)
2016-07-16 13:06:03 -06:00
Bryan Ashby
485711b5da
* Clean up some logs
...
* Add serializer for 'err' in logs for passing full err object
* Don't dump HUGE message lists to log during new scan
2016-07-16 13:05:32 -06:00
Bryan Ashby
787a855097
Auto-activation by default
2016-07-14 21:30:02 -06:00
Bryan Ashby
43c5de3e40
Finally fix setFocusItemIndex() draw issues!
2016-07-13 22:46:14 -06:00
Bryan Ashby
c94f663947
* DRY menu pop/goto into reloadMenu() (temp hack until we can find a good solution for simple redraw)
...
* Only reloadMenu() if we actually change areas
* Code style cleanup
2016-07-12 23:38:40 -06:00
Andrew Pamment
1ddbb98319
Updated to use findIndex
2016-07-13 14:43:13 +10:00
Andrew Pamment
b627977f9c
Fixed Next/prev conf/areas
2016-07-12 20:52:17 +10:00
Andrew Pamment
369d17c407
Message Area/Conf Prev, Next (Unfinished)
2016-07-12 19:57:07 +10:00
Bryan Ashby
dfb4f17c5f
* Resp DONT to WONT NEW-ENVIRONMENT
2016-07-10 22:14:30 -06:00
Bryan Ashby
1ecc68b250
Fix erronous warning
2016-07-09 20:10:03 -06:00
Bryan Ashby
6ffef26cbf
Start of cleanup
2016-07-09 20:09:03 -06:00
Bryan Ashby
1aa77530dd
TODO reminder
2016-07-09 20:08:08 -06:00
Bryan Ashby
7717ac8b5f
Change default SSH port
2016-07-09 16:01:38 -06:00
Bryan Ashby
0519d9a001
Minor cleanup, prevent XY from warning in log
2016-07-06 20:56:30 -06:00
Bryan Ashby
03ee20783b
Enable FK's, duh
2016-07-06 20:55:50 -06:00
Bryan Ashby
3bbdd4abae
Check for MSGID explicitly during dupe check if present
2016-07-05 22:32:13 -06:00
Bryan Ashby
f87e9917a0
* Resolve issue #59 : Better message UUID generation and dupe checks
2016-07-05 22:18:43 -06:00
Bryan Ashby
9e573e6810
* Allow relative or absolute paths in for art
...
* Misc cleanup
2016-07-04 12:58:41 -06:00
Bryan Ashby
396e7cc747
Default to empty[] args
2016-07-04 12:57:49 -06:00
Bryan Ashby
ce1d3e6a7e
* ES6 & misc cleanup
...
* Add index to message for quicker retrieval
2016-07-04 12:56:15 -06:00
Bryan Ashby
f6d363b53d
Allow modules to live in their own subdirectory (by matching module name) such that they can have their own package.json, deps, etc.
2016-07-03 10:58:57 -06:00
Bryan Ashby
a5fafc25ae
Clear out old items before drawing new
2016-07-02 23:09:27 -06:00