-
v2.3.2 November 1, 2013
- Can now pass
binaryas thereadFilesoption value to return buffers instead of strings for file contents - Updated dependencies
- Can now pass
-
v2.3.1 October 27, 2013
- Updated dependencies
-
v2.3.0 July 12, 2013
- Split out
balUtilEvents.EventEmitterEnhancedinto event-emitter-grouped
- Split out
-
v2.2.0 June 24, 2013
- Split out
balUtilModulesinto safeps - Split out
balUtilFlow.extractOptsAndCallbackinto extract-opts
- Split out
-
v2.1.0 May 25, 2013
balUtilEventchanges:- Event listeners can now have priorities. Highest priorities run first. Set them by
listener.priority = 500 - Added
offalias forremoveListener
- Event listeners can now have priorities. Highest priorities run first. Set them by
-
v2.0.5 April 25, 2013
balUtilFlowchanges:extractOptsAndCallbacknow accepts config argument
balUtilPathschanges:readPathnow usesWget/1.14 (linux-gnu)as the default user agent
-
v2.0.4 April 6, 2013
balUtilPathschanges:- Fixed redirect handling on
readPath
- Fixed redirect handling on
-
v2.0.3 April 5, 2013
balUtilModuleschanges:- Fixed
spawnCommands initGitRepoandinitNodeModulesnow take alogfunction rather than aloggerobject (regards opts)
- Fixed
-
v2.0.2 April 5, 2013
balUtilModuleschanges:- Fixed
spawnCommandandspawnCommands closeProcessnow deprecated in favor of completion callback onopenProcess
- Fixed
-
v2.0.1 April 5, 2013
balUtilPathschanges:- Removed safefs aliases
-
v2.0.0 April 5, 2013
- We no longer alias split off projects, you should use them directly now
balUtilModuleschanges:- Killed
(git|node|npm)(Command|Commands)functions, usespawnCommandandspawnCommandsinstead
- Killed
balUtilHTMLchanges:replaceElementAsyncnow executes tasks in parallel rather than in serial
-
v1.18.0 April 1, 2013
- We now use the projects we split away from bal-util
-
v1.17.0 March 27, 2013
- Killed explicit browser support, use Browserify instead
- Removed the
outdirectory from git - Now compiled with the coffee-script bare option
-
v1.16.13 March 23, 2013
balUtilEventschanges:EventEmitterEnhancedchanges:- Now works with
oncecalls in node 0.10.0- Closes bevry/docpad#462
- Changed
emitSyncto be an alias toemitSerialandemitAsyncto be an alias toemitParallel - Added new
getListenerGroupfunction
- Now works with
balUtilFlowchanges:fireWithOptionalCallbackcan now take the method as an array of[fireMethod,introspectMethod]useful for pesly binds
-
v1.16.12 March 18, 2013
balUtilFlowchanges:Groups::runsignature changed from no arguments to a singlemodeargument
-
v1.16.11 March 10, 2013
balUtilModuleschanges:- Fixed
getCountryCodeandgetLanguageCodefailing when there is no locale code
- Fixed
-
v1.16.10 March 8, 2013
balUtilModuleschanges:- Fixed
requireFreshregression, added test
- Fixed
-
v1.16.9 March 8, 2013
balUtilModuleschanges:- Added
getLocaleCode - Added
getCountryCode - Added
getLanguageCode
- Added
-
v1.16.8 February 16, 2013
balUtilModuleschanges:spawnMultiple,execMultiple: now accept atasksModeoption that can beserial(default) orparallel
-
v1.16.7 February 12, 2013
balUtilPathschanges:readPath: do not prefer gzip, but still support it for decoding, as the zlib library is buggy
-
v1.16.6 February 12, 2013
balUtilPathschanges:readPath: add support for gzip decoding for node 0.6 and higher
-
v1.16.5 February 6, 2013
- More browserify support
-
v1.16.4 February 6, 2013
- Browserify support
-
v1.16.3 February 5, 2013
- Node v0.4 support
balUtilPathschanges:- Removed deprecated
console.logs when errors occur (they are now sent to the callback) - Fixed
determineExecPathwhen executable requires the environment configuration
- Removed deprecated
balUtilTypeschanges:isEmptyObjectnow works for empty values (e.g.null)
balUtilFlowchanges:- Added
clone - Added
deepClone setDeepandgetDeepnow handleundefinedvalues correctly
- Added
-
v1.16.2 February 1, 2013
balUtilPathschanges:- Added timeout support to
readPath
- Added timeout support to
balUtilFlowchanges:- Added
setDeep - Added
getDeep
- Added
-
v1.16.1 January 25, 2013
balUtilFlowchanges:- Added
safeShallowExtendPlainObjects - Added
safeDeepExtendPlainObjects
- Added
-
v1.16.0 January 24, 2013
- Node v0.9 compatability
balUtilModuleschanges:- Added
getEnvironmentPaths - Added
getStandardExecPaths(execName) execnow supports theoutputoptiondetermineExecPathnow resolves the possible paths and checks for their existance- This avoids Node v0.9's ENOENT crash when executing a path that doesn't exit
getExecPathwill now try for.exepaths as well when running on windows if an extension hasn't already been definedgetGitPath,getNodePath,getNpmPathwill now also check the environment paths
- Added
balUtilFlowchanges:- Added
createSnore - Added
suffixArray flownow accepts the signatures({object,actions,action,args,tasks,next}),(object, action, args, next)and(actions,args,next)Groupchanges:modecan now be eitherparallelorserial, rather thanasyncandsyncasync()is nowparallel()(aliased for b/c)sync()is nowserial()(aliased for b/c)
- Added
balUtilTypeschanges:- Added
isEmptyObject
- Added
-
v1.15.4 January 8, 2013
balUtilPathschanges:- Renamed
testIgnorePatternstoisIgnoredPath- Added aliases for b/c compatibility
- Added new
ignorePathsoption
- Renamed
-
v1.15.3 December 24, 2012
balUtilModuleschanges:- Added
requireFresh
- Added
-
v1.15.2 December 16, 2012
balUtilPathschanges:- Fixed
scandirnot inheriting ignore patterns when recursing
- Fixed
-
v1.15.1 December 15, 2012
balUtilPathschanges:- Fixed
testIgnorePatternswhenignoreCommonPatternsis set totrue
- Fixed
-
v1.15.0 December 15, 2012
balUtilPathschanges:- Added
testIgnorePatterns - Renamed
ignorePatternstoignoreCommonPatterns, and added newignoreCustomPatterns- Affects
scandiroptions
- Affects
- Added emac cache files to
ignoreCommonPatterns
- Added
-
v1.14.1 December 14, 2012
balUtilModuleschanges:- Added
getExecPaththat will fetch an executable path based on the paths within the environmentPATHvariable
- Added
- Rebuilt with CoffeeScript 1.4.x
-
v1.14.0 November 23, 2012
balUtilPathschanges:readPathwill now follow url redirects
-
v1.13.13 October 26, 2012
balUtilPathschanges:- Files that start with
~are now correctly ignored incommonIgnorePatterns
- Files that start with
-
v1.13.12 October 22, 2012
balUtilFlowchanges:extendis now an alias ofshallowExtendPlainObjectsas they were exactly the same
balUtilHTMLchanges:replaceElementandreplaceElementAsyncchanges:- now accept arguments in object form as well
- accept a
removeIndentationargument that defaults totrue
-
v1.13.11 October 22, 2012
balUtilPathschanges:ensurePathnow returnserrandexistsinstead of justerr
balUtilModuleschanges:initGitRepowill now defaultremotetooriginandbranchtomaster- Added
initOrPullGitRepo
-
v1.13.10 October 7, 2012
balUtilPathschanges:- Added
shallowExtendPlainObjects
- Added
-
v1.13.9 October 7, 2012
balUtilPathschanges:- VIM swap files now added to
commonIgnorePatterns- Thanks to Sean Fridman for pull request #4
- VIM swap files now added to
-
v1.13.8 October 2, 2012
balUtilModuleschanges:- Added
openProcessandcloseProcess, and using them inspawnandexec, used to preventEMFILEerrors when there are too many open processes - Max number of open processes is configurable via the
NODE_MAX_OPEN_PROCESSESenvironment variablebalUtilPathschanges: - Max number of open files is now configurable via the
NODE_MAX_OPEN_FILESenvironment variable
- Added
-
v1.13.7 September 24, 2012
balUtilPathschanges:- Added
textExtensionsandbinaryExtensions- The environment variables
TEXT_EXTENSIONSandBINARY_EXTENSIONSwill append to these arrays
- The environment variables
- Added
isTextandisTextSync
- Added
-
v1.13.6 September 18, 2012
balUtilPathschanges:- Improved
getEncoding/getEncodingSyncdetection- Will now scan start, middle and end, instead of just middle
- Improved
-
v1.13.5 September 13, 2012
balUtilPathschanges:- Added
getEncodingandgetEncodingSync
- Added
-
v1.13.4 August 28, 2012
balUtilModuleschanges:- Failing to retrieve the path on
getGitPath,getNodePathandgetNpmPathwill now result in an error
- Failing to retrieve the path on
-
v1.13.3 August 28, 2012
balUtilModuleschanges:- Fixed
execandexecMultiple - Added
gitCommands,nodeCommandsandnpmCommands
- Fixed
- Dropped node v0.4 support, min required version now 0.6
-
v1.13.2 August 16, 2012
- Repackaged
-
v1.13.1 August 16, 2012
balUtilHTMLchanges:- Fixed
replaceElementfrom mixing up elements that start with our desired selector, instead of being only our desired selector
- Fixed
-
v1.13.0 August 3, 2012
balUtilModuleschanges:- Added
determineExecPath,getNpmPath,getTmpPath,nodeCommandandgitCommand initNodeModulesandinitGitRepowill now get the determined path of the executable if a path isn't passed
- Added
- Re-added markdown files to npm distribution as they are required for the npm website
-
v1.12.5 July 18, 2012
balUtilTypeschanges:- Better checks for
isStringandisNumberunder some environments
- Better checks for
balUtilFlowchanges:- Removed ambigious
clonefunction, usedereferenceorextendordeepExtendPlainObjectsinstead
- Removed ambigious
-
v1.12.4 July 12, 2012
balUtilTypeschanges:isObjectnow also checks truthyness to avoidnullandundefinedfrom being objectsisPlainObjectgot so good, it can't get better
balUtilFlowchanges:- added
deepExtendPlainObjects
- added
-
v1.12.3 July 12, 2012
balUtilModuleschanges:npmCommandwill now only prefix with the nodePath if the npmPath existsnpmCommandandinitNodeModulesnow use async fs calls instead of sync calls
-
v1.12.2 July 12, 2012
balUtilFlowchanges:- Added
dereference
- Added
-
v1.12.1 July 10, 2012
balUtilModuleschanges:- Added
stdinoption tospawn
- Added
-
v1.12.0 July 7, 2012
- Rejigged
balUtilTypesand now top level- Other components now make use of this instead of inline
typeofandinstanceofchecks
- Other components now make use of this instead of inline
balUtilFlowchanges:isArrayandtoStringmoved tobalUtilTypes
- Rejigged
-
v1.11.2 July 7, 2012
balUtilFlowchanges:- Added
clone
- Added
balUtilModuleschanges:- Fixed exists warning on
initNodeModules
- Fixed exists warning on
balUtilPathschanges:- Added
scanlist scandirchanges:- If
readFilesistrue, then we will return the contents into the list entries as well as the tree entries (we weren't doing this for lists before)
- If
- Added
-
v1.11.1 July 4, 2012
balUtilFlowchanges:Groupchanges:- Cleaned up the context handling code
Blockchanges:- Block constructor as well as
createSubBlockarguments is now a singleoptsobject, acceping the optionsname,fn,parentBlockand the newcomplete - Fixed bug introduced in v1.11.0 causing blocks to complete instantly (instead of once their tasks are finished)
- Block constructor as well as
-
v1.11.0 July 1, 2012
- Added
balUtilHTML:getAttribute(attributes,attribute)detectIndentation(source)removeIndentation(source)replaceElement(source, elementNameMatcher, replaceElementCallback)replaceElementAsync(source, elementNameMatcher, replaceElementCallback, next)
balUtilFlowchanges:wait(delay,fn)introduced as an alternative tosetTimeoutGroupchanges:pushandpushAndRunsignatures are now([context], task)contextis optional, and what we should bind to this- it saves us having to often wrap our task pushing into for each scopes
- task completion callbacks are now optional, if not specified a task will be completed as soon as it finishes executing
balUtilEvents,balUtilModuleschanges:- Now make use of the
balUtilFlow.push|pushAndRunnewcontextargument to simplify some loops
- Now make use of the
- Added
-
v1.10.3 June 26, 2012
balUtilModuleschanges:initNodeModuleswill now install modules from cache, unlessforceis true
-
v1.10.2 June 26, 2012
balUtilModuleschanges:initNodeModuleswill now never install modules from cache
-
v1.10.1 June 26, 2012
balUtilModuleschanges:- Fixed
npmCommandunder some situations
- Fixed
-
v1.10.0 June 26, 2012
balUtilModuleschanges:- Added
spawnMultiple,execMultiple,gitGitPath,getNodePath, andnpmCommand spawnandexecare now only for single commands, use the newspawnMultipleandexecMultiplefor multiple commands instead- error exit code is now anything that isnt
0
- Added
-
v1.9.4 June 22, 2012
- Fixed a problem with large asynchronous groups
-
v1.9.3 June 22, 2012
balUtilFlowchanges:- Added
extractOptsAndCallbackandextend
- Added
-
v1.9.2 June 21, 2012
balUtilFlowchanges:- Added
fireWithOptionalCallback, updated groups and emitters to use this
- Added
-
v1.9.1 June 21, 2012
balUtilModuleschanges:initNodeModulesnow supportsoutputoption
-
v1.9.0 June 21, 2012
balUtilEventschanges:EventEmitterEnhancedchanges:emitSyncandemitAsyncchanges:- The next callback is now optional, if it is not detected then we will automatically mark the listener as completed once we have executed it (in other words, if it doesn't have a next callback, then we treat it as a synchronous listener)
-
v1.8.8 June 19, 2012
- Fixed a problem with large synchronous groups
-
v1.8.7 June 19, 2012
- Defaulted
dependenciesto an empty object, to hopefully fix npm issue #2540
- Defaulted
-
v1.8.6 June 19, 2012
balUtilEventschanges:- Split
emitSyncandemitAsyncout ofEventSystemand into newEventEmitterEnhancedthatEventSystemextends
- Split
-
v1.8.5 June 11, 2012
- Made next callbacks necessary by default
-
v1.8.4 June 11, 2012
balUtilModulechanges:spawn- will now return results in the order of
err,stdout,stderr,code,signal - now splits string commands using
/ /
- will now return results in the order of
balUtilFlowchanges:Groupwill now only return error as an array if we have more than one error
- Updated for Joe v1.0.0
-
v1.8.3 June 9, 2012
balUtilComparechanges:packageComparewill now fail gracefully if it receives malformed json
-
v1.8.2 June 9, 2012
- Removed request dependency, we now use the native http/https modules
-
v1.8.1 June 9, 2012
-
v1.8.0 June 9, 2012
- Added expiremental
balUtilFlow.Block - Possibly some undocumented
balUtilFlow.Groupchanges
- Added expiremental
-
v1.7.0 June 4, 2012
balUtilFlowchanges:Groupchanges:- Constructor now supports
nextandmodearguments in any order clear()now clears everything- Added
hasTasks() - Group completion callback's first argument (the error argument) is now an array of errors (or null if no errors)
- Added
breakOnErroroption (defaults totrue) - Added
autoClearoption to clear once all tasks have run (defualts tofalse)
- Constructor now supports
-
v1.6.5 May 30, 2012
balUtilFlowchanges:Groupchanges:- Reverted the change made in v1.6.4 where errors in callbacks still increment the complete count
- Instead, you should be using the
hasExited()instead ofhasCompleted()which is used to find out if everything passed successfully
- Instead, you should be using the
- Reverted the change made in v1.6.4 where errors in callbacks still increment the complete count
-
v1.6.4 May 30, 2012
balUtilFlowchanges:- Added
flow({object,action,[args],[tasks],next})to simplify calling a series of functions of an object Groupchanges:- If complete callback is called with an error, it'll still increment the complete count (it didn't before)
- Added
hasExited()
- Added
balUtilPathschanges:writeFilewill now callensurePathbefore writing the file
-
v1.6.3 May 22, 2012
balUtilPathschanges:- Fixed a problem introduced with v1.6.0 with
isDirectorynot opening the file before closing it - If the number of open files becomes a negative number, we will now throw an error
- Decreased the max amount of allowed open files from
500to100 - Increased the wait time for opening a file from
50to100- This is now customisable through the global
waitingToOpenFileDelay
- This is now customisable through the global
- Fixed a problem introduced with v1.6.0 with
-
v1.6.2 May 13, 2012
- Added support for
balUtilFlowandbalUtilTypesto be used inside web browsers
- Added support for
-
v1.6.1 May 4, 2012
balUtilPathschanges:- Fixed
initNodeModules
- Fixed
-
v1.6.0 May 4, 2012
- We now pre-compile our coffee-script
balUtilPathschanges:- Added
readFile,writeFile,mkdir,stat,readdir,unlink,rmdir - Renamed
rmdirtormdirDeep
- Added
balUtilModuleschanges:- Removed
initGitSubmodules,gitPull - Added
initGitRepo - Rewrote
initNodeModules
- Removed
-
v1.5.0 April 18, 2012
balUtilPathschanges:scanwas removed, not sure what it was used forisDirectorynow returns thefileStatargument to the callbackscandirchanges:ignorePatternsoption when set to true now uses the newbalUtilPaths.commonIgnorePatternsproperty- fixed error throwing when passed an invalid path
- now supports a new
statoption - will return the
fileStatargument to thefileActionanddirActioncallbacks ignorePatternsandignoreHiddenFileswill now correctly be passed to child scandir calls
cpdirandrpdirnow usespath.joinand supportignoreHiddenFilesandignorePatternswritetreenow usespath.join
-
v1.4.3 April 14, 2012
- CoffeeScript dependency is now bundled
- Fixed incorrect octal
0700should have been700
-
v1.4.2 April 5, 2012
- Fixed a failing test due to the
bal-util.npmtobal-utilrename - Improvements to
balUtilModules.spawn- will only return an error if the exit code was
1 - will also contain the
codeandsignalwith the results results[x][0]is now the stderr string, rather than an error object
- will only return an error if the exit code was
- Fixed a failing test due to the
-
v1.4.1 April 5, 2012
- Added
spawntobalUtilModules - Added
ignoreHiddenFilesoption tobalUtilPaths.scandir
- Added
-
v1.4.0 April 2, 2012
- Renamed
balUtilGroupstobalUtilFlow - Added
toString,isArrayandeachtobalUtilFlow - Added
rpdir,empty, andisPathOlderThantobalUtilPaths
- Renamed
-
v1.3.0 February 26, 2012
- Added
openFileandcloseFileto open and close files safely (always stays below the maximum number of allowed open files) - Updated all path utilities to use
openFileandcloseFile - Added npm scripts
- Added
-
v1.2.0 February 14, 2012
- Removed single and multi modes from
exec, now always returns the same consistentcallback(err,results)instead
- Removed single and multi modes from
-
v1.1.0 February 6, 2012
- Modularized
- Added docco docs
-
v1.0 February 5, 2012
- Moved unit tests to Mocha
- Offers more flexible unit testing
- Offers better guarantees that tests actually ran, and that they actually ran correctly
- Added
readPathandscantree - Added
readFilesoption toscandir scandirnow supports arguments in object format- Removed
parallel - Tasks inside groups now are passed
nextas there only argument - Removed
resolvePath,expandPathandexpandPaths, they were essentially the same aspath.resolve - Most functions will now chain
comparePackagenow supports comparing two local, or two remote packages- Added
gitPull
- Moved unit tests to Mocha
-
v0.9 January 18, 2012
- Added
exec,initNodeModules,initGitSubmodules,EventSystem.when - Added support for no callbacks
- Added
-
v0.8 November 2, 2011
- Considerable improvements to
scandir,cpdirandrmdir- Note, passing
falseas the file or dir actions will now skip all of that type. Passnullif you do not want that. dirActionis now fired before we read the directories children, if you want it to fire after then in the next callback, pass a callback in the 3rd argument. Seermdirfor an example of this.
- Note, passing
- Fixed npm web to url warnings
- Considerable improvements to
-
v0.7 October 3, 2011
- Added
versionCompareandpackageComparefunctions- Added
requestdependency
- Added
- Added
-
v0.6 September 14, 2011
- Updated
util.Groupto supportasyncandsyncgrouping
- Updated
-
v0.4 June 2, 2011
- Added util.type for testing the type of a variable
- Added util.expandPath and util.expandPaths
-
v0.3 June 1, 2011
- Added util.Group class for your async needs :)
-
v0.2 May 20, 2011
- Added some tests with expresso
- util.scandir now returns err,list,tree
- Added util.writetree
-
v0.1 May 18, 2011
- Initial commit