Skip to content

v0.7.0-beta6

Pre-release
Pre-release

Choose a tag to compare

@anodynos anodynos released this 10 Nov 00:41
· 69 commits to master since this release

BundleBuilder

  • handling exceptions with promises
  • runAfterBuildTasks always
  • callback call version also deals (When.race) with possible returned promise.
  • watch improved

Build:

  • `Build::calcRequireJsConfig()
    • calculates relative paths of local deps to dstPath, blends with another config, merges shims
    • uses bundle.dependencies.paths.override always have precedence, then blended, then locals
  • default automatic template.banner (true/function/hash)
  • added dstMainFilename, dstMainFilepath, dstMainRealpath, dstRealpath
  • added hasChanged, hasErrors, hasChangedErrors, changedErrorFiles, errors for last build
  • refactored to combine and other responsibilities previously on bundle.
  • report:
    • prints files in error in bundle / build & total errors
    • Less verbose on errors & report only 1st time

Bundle:

  • errorFiles bundle.files in error,
  • Resaving _combinedTemp always when missing and build.count > 1
  • automatic loading package.json / bower.json
  • improved Bundle::xxx_depVars handling with locals, node, bundle deps etc
    • Bundle.inferMain() becomes Bundle.ensureMain(force=true)
  • calls build.finishBuild() even if no files changed

FileResource / Module:

  • unique rootExports only
  • knows if original AST has really changed.
  • dstFilenamesSaved when saved, clean() deletes em all, bundle.dstFilenames has them all

templates:

  • @globalSelector in both module & almond
  • Almond template: __nodeRequire __throwMissing & __throwExcluded
  • exportRootCheck works for non script for real

urequire: addBBExecuted(bb) & findBBExecutedBefore(bb) & findBBExecutedLast(bb)

Dependency

  • isLocal (_isInLocals) looks at all paths (bower, package etc)
  • isNode looks at dependencies.paths.node (not yet implemented;-(
  • correct translation of './' to './index' if it exists

config:

  • dependencies: paths:
    • added dependencies: paths: {ovverride, node, bower}, bower --list paths invoked and paths results cached
    • fill deps paths at start only on first build
  • deprecate 'bundle.dependencies.exports.bundle' in favor of 'bundle.dependencies.imports'
  • deprecate 'bundle.dependencies.exports.root' in favor of 'bundle.dependencies.rootExports'
  • deprecate buiild.done in favor of buiild.afterBuild
  • deprecate build.exportsRoot in favor of 'rootExports.runtimes'
  • deprecate build.noRootExports in favor of 'rootExports.ignore'
  • added 'rootExports.noConflict'
  • dependenciesBindingsBlender uses arrayizeUniqueReversingUnshifter instead of arrayizeUniquePusher
  • blendConfigs: unique cfgs added once only
  • added build.target, defaults to @target in grunt
  • build.watch is options, properly blended
  • project dependencies 'fsp', replaced ./paths/upath with upath
  • upath ravamped & spec-ed:
    • defaultExt has ignoredExt to cater for .min / .dev extensions
    • normalizeSafe deals correctly with './'
    • trimExt accepts null ext
    • changeExt accepts ext or .ext