Subj : load() search paths...
To : Deuce
From : Digital Man
Date : Thu Aug 06 2009 04:01 pm
Re: load() search paths...
By: Deuce to All on Wed Aug 05 2009 04:22 pm
> So, after looking at the vast (and increasing) number of *.js files in the
> exec directory which are not intended to be executed but are instead
> intended to be load()ed by some other script, I've started thinking about a
> library system for the JS load() method. My initial thoughts are something
> like the following:
>
> - There be some array of search paths for load() which can be added to by a
> script. Additions can be at either end of the array, and these paths can
> be
> either absolute or relative.
> - If the path is absolute, only a single directory will be searched.
> - If the path is relative, two directories will be searched, a "mods"
> style directory and a stock directory. The question of if these belong
> under a shared parent directory (ie: jslibs) or under the exec/mods
> directory is an open question.
> - Some way of specifying an initial list (in the ini file)
>
> You would end up then with something like this:
> jslibs/
> std/
> sbbs/
> ars_defs.js
> nodedefs.js
> sbbsdefs.js
> sockdefs.js
> uifcdefs.js
> irc/
> irc-default.js
> irclib.js
> ircd/
> ircd_channel.js
> ircd_server.js
> ircd_unreg.js
> ircd_user.js
> mods/
> irc/
> irc-cyan.js
> Etc.
>
> This change would impact all JS files, but with reasonable defaults, the
> impact could be mitigated.
>
> Comments?
I like the idea of the dynamic search-path appendage ability, allowing 3rd
party scripts (e.g. games, add-ons) to (easily) store all their files in some
directory other than 'exec'.
I think the default directory for most scripts should still be mods & exec.
What do you think of:
exec/
login.js
logon.js
listserver.js
nntpservice.js
etc.
exec/include
*defs.js
*lib.js
*util.js
where 'exec' can be replaced with 'mods' (and is searched first), as is the
current scheme.
You could use 'libs' instead of 'include' (the name isn't that important), but
I would just add one new default directory and move the lib/include type files
there. I wouldn't really call it a 'library system', as libraries historically,
are collections (e.g. archives) of modules with callable functions. That's not
exactly describing the contents of the *defs.js, *util.js, and *lib.js files we
have.
digital man
Snapple "Real Fact" #83:
Googol is a number (1 followed by 100 zeros).
---
� Synchronet � Vertrauen � Home of Synchronet � telnet://vert.synchro.net