Skip to content

Latest commit

 

History

History
278 lines (272 loc) · 11.2 KB

CHANGELOG.md

File metadata and controls

278 lines (272 loc) · 11.2 KB

🏷 v4.1.0

  • 🏰 refactoring to add prototype methods, instead of many multi-inherit
  • 📜📒 Makefile
    • ⚡ deopt checking
    • 🃏🚩 more jest flags
  • ⚒👣 fix traverser map
  • 📖 docs
    • ℹ️️ migrate almost all docs into docblocks in preparation
    • 🆙⛓ start updating chain-able-md (unreleased, so new)
    • 🆕🎁🤖📚 docgen!
      • 🍴 fork
        • docdown (had a bug that threw an error, made it unusable)
        • doxdox
        • ramda site docgen (unused)
        • lodash site docgen (unused)
      • 🖇 utils
        • 🆙 improve/update/change
          • modernize utils
          • move normalize
        • 🎁 add
          • removeDotCom
          • humanizeLinkLabel
          • stringify
          • deref
          • urlRegExp & isUrl
          • isNotReal
          • getIncludesCount
          • replace
          • isNotFile
          • getDocBlocksFrom
          • isNativePropFilter
          • stripPeriodsAndDashes
          • isLowerCaseType
          • matchesFunction
          • formatWithParens
          • toHash
          • getParentParam
          • getFunction
          • getFallbackFunction
          • extractCall
          • getAsStr
          • slashStarToSlash
      • 🏰 modernize generator, divide pieces with comments for future split since 600 line function is not so maintainable
      • 🏰⛓ℹ️ refactor giant entry fn proto assignment into Chain class
        • scoped persisted .file for searching filenames to auto-link with
        • persist path
        • parse-as-needed
    • 📖🤖 docgen: 🎁
      • 🏭 factories to make accessing & adding easier, +better to maintainable
    • 🎁🏷🔨️ ALMOST ALL TAGS!
      • [🏷] support arrays of tags
        • @see
        • @example
        • @note
        • @todo
      • 🎯 WITH ALIAS SUPPORT! WITH PRESET COMBOS!
        • @sig
        • @symb
        • @modifies
        • @enum
        • @variation
        • @mixins
        • @class @classdesc @classdescription
        • @throws @exception
        • @func @function @method @callback
        • @inheritdoc
        • @override
        • @module @namespace
        • @abstract @virtual
        • @see @link
        • @desc @description (not just default from doctrine)
        • @types @tests @typedef
    • 🔗⛓ @LinkChain
      • 🚑🐛 doctrine has an issue with valid jsdoc
      • parse @link and @see with @link
      • strip @link out so doctrine does not choke
      • 💸 cache
    • ⛓ EntryChain
    • ⚡ optimizes the getEntries which was creating hundreds of instances, now uses scoped instances from a cache, and the pre-created api array of entry instances when possible
    • 🐫📦📇🐈 (de-)camelize & humanize deps & metadata

4.0.1-4.0.7

  • multiple releases quickly debugging an issue:
  • 🚑🐛 fixed major bug with .when where the falseBrancher was being checked for isUndefined instead of isFunction & was also being checked for the true brancher!
  • 🚑🐛🕴 fixed export minification for uglifiable names

4.0.0

  • 🏗🔨️ really battoned-down the hatches on build system
    • 🗞️🔌🥙 falafel-rollup-plugin!!!
  • 🔬 more tests, ensured the lines were all covered
  • 🎡 updated playground

4.0.0-beta.2

  • 🔬 tests 🃏
    • 🃏 convert to jest
    • more +tests
    • ♻️ abstract dist api tests + type tests
    • 🔬 ava for built
    • 🃏👕🔌 jest lint plugin
  • 🏗 build
    • 🎡 playground for rollup uglify testing repl style
    • 🖥🛁 cli clean on postpublish
    • 🏰🗞️ refactor to use rollup node api
    • 🔊 debugger build replacement export for easy usage with debuggering by clients
    • ⚙ fix editor config
    • 💣🛅 fuse-box scope hoisting run - close to rollup size!
    • 🛁 clean & comment fuse.js
    • 📜📒 all scripts moved to makefile
    • 📛 🎡 playground badge
    • ⚡ enable optimizejs
    • 📦🐈 use yarn to run makefile scripts instead of npm
    • 💸💚 cache for travis
  • 📘 examples
      • examples
      • examples submodule/repo
      • decorators
    • 🍭 not-bundled/exported importable decorators
    • flatten the examples folder
    • 📖 lots more docs
  • 🏰 refactor
    • ⛓ MethodChain
      • ❗🌐 add name/key as first arg in .onValid .onInvalid
      • 🔌 plugins for ^
    • ⛑ encase - MAJOR remove .rethrow - put into error enhancer
  • 🖇 utils/deps
    • 🎁 add conditional
      • eq, not, or, and, some, all, includes
    • ♻️ abstract getPrototypeOf
    • ⚒ fix some types
    • 🐣 isNotNested schema validation fix
    • rename ezType -> simpleKindOf
  • 📒🚚 move
    • dopemerge & validators/types & reduce/ & dot-prop
  • 👣 traverser
    • 🛁 clean
    • ℹ️️ more docs
    • 🎁 map & set support #21
  • test cov 90 -> 96%
  • MAJOR
    • .when(string) string now checks .has
    • moved .clean
    • observable dot.prop
    • caching
    • removed many classes
    • MethodChain
      • removed .extendsGetSet, .defineGetSet, .extendIncrement, .extendWith, .extendAlias, .decorateParent, .typed
      • replaced ^ with .alias(), .getSet(), .decorate(obj), .define(), .autoIncrement(), .default(), .initial(), .bind(), .encase(), .call(), .get(), .set(), .returns(), .camelCase(), .factory(for extending), .build with + support
      • removed compose/Extend, compose/Child, compose/immutable, compose/Extend, compose/Types, compose/Symbols, compose/Debug, compose/define
      • .schema feature
        • optional types, array types, or types
        • 📐🛂🏭 refactor out schema factory
    • integrated histories from deepmerge, dot-prop, traverse-js, webpack-chain (all commit hashes change, extremely likely they are not used anywhere, even so there is a branch backup so hardly 100% breaking)
    • completely redid type definitions
    • took out unsable-to-be-used method instanceof static instance on Chainable
  • PATCH
    • 📖 updating all docs
    • tsc for dev version
    • exported more deps
    • fixed hasInstance Object.prototype.instanceOf.call in Chainable
    • 🤸 split ChainedMap for circular usage (in MethodChain & MergeChain & TraverseChain)
    • inlined methods in MergeChain & TraverseChain
  • MINOR
    • fix typo on .setIfEmpty
    • dot-prop array paths
    • validator factories
    • traverser
      • eq: optimized typechecks, const & let, size
      • traverse-js: optimized argument slicing, const & let, jsdocs
    • 🔬 many more tests
      • covered reduce for tests
      • covered almost all traverser branches
      • all old tests updated to new .method api
    • fix sourcemaps for tests for more accurate coverage (was failing the unused built code such as Object.create)
    • 👕 tslint
    • 🏰🏗 refactor build system
  • merge
    • covered all branches of dopemerge tests
    • fixed null ignored type on ezTypes in dopemerge
    • renamed .dopemerge -> .merge for exports
    • optimized forEach loops
    • optimized switch case into if-else for uglification
    • map & set merger (unused)
  • build
    • webpack build config experiment to check new scope hoisting size
    • fusebox updates - close to rollup size
    • optimizejs
  • utils
    • 🖇🌊 typechecking utils null, undefined, objloose, strornum, class, false, true, updated all clients
    • argumentor util (used in traverser, from deopt checks)
    • concat util
    • move out old isNode into utils from Chainable
    • 🆕🖇 isMapish util
    • 🖇 entries util
    • ⚡ 🖇 isIgnored as a util
    • isEnumerable, isPrototypeOf, isEmptyArray, isUndefined, isIterator (merged to kind-of repo)
    • garbage collector
    • reduce (moved from Chainable)
    • 🖇 false/true/eqCurry/ezType/charCodeAtZero/length/typeof utils
    • 🖇 length -1 util, strange
    • clean (moved from Chainable)
    • encase (moved from compose/Extend)
      • 📐⛑🏭refactor encase factory
    • ♻️ abstract 🏰 refactor 🛂validators - split into more reusable functions for later
    • 🚑🐛 fix isUndefined & isNull in validators stripping to .null & 2x the obj size
  • dot-prop
    • re-add caching
    • observable
    • dot-prop paths tests
    • dot-prop paths experiment for alternative regex implementation & minor optimization for size
    • dot-prop paths traverser to gather paths of objects
      • 👣 longest paths option
  • matcher
    • re-add caching
  • stress test https://github.com/aretecode/stress-test
  • export more things
  • add magic glob matcher forked from matcher
  • more tests
  • stress tests
  • improved traversal
  • fixed typos / bad spelling
  • decorator support / top-down composable
  • full typescript definitions
  • convoluted crazy rollup typescript buble build script running...
  • ...all while keeping the same size :-D
  • MAJOR
    • 🏷 version bump 📜 minor scripts
    • 🆙.remapKey -> .remap (accepts an object, or .remapKey)
    • 🗑🤖 .from in compose/Transform removed, transformers work in .merge, .set, .from, etc.
    • 🗑 removed .whitelist from compose/Traverse
    • transformers[key] is now an array, to .reduce values with, vs replacing and having only 1 transformer per key
  • PATCH:
    • allow .transform to take in any traversable, nested conditional: compatible boolean to still use .entries(true) | this, but when an iteratable is passed in, returns traverser chain on that iteratable
  • MINOR:
    • 📦⬇ remove izz
    • 🆙🔬 update traverse tests with inlined equals
    • 🆙🔬🗺 update remap test
    • 📘🔬 example mobx test
    • 🆙🔬👂 update & add more observe tests
    • 🖇🔬 utils/is tests
    • 🆙🎼🔬 update & add more dot-prop tests
    • 🚨🔬⚒ failing merge tests that wanted .clone fixed
    • 💣🛅🏗 fuse-box file added for building with quantum
    • 📦🐈 yarn.lock
    • 🏗 Makefile
    • 👕⚒ lint autofixes & 📝 todo in 🎼 compose/Define
    • 👾♻️⚡ simplify the symbol & typechecks in core lib
      • abstract out reduce for maps & isObjWithKeys into is
    • 🎁⚒ dot-prop implemented with .get .set .has .delete in 🎼 compose/DotProp
    • ⚒👂 observables fixed, only calls on changed
      • ⚖️ ===? deps/transformers/eq added for traversable minimal deepEquals implementation
    • 🏛️ refactor traverse with deps/is
    • 🖇 traverser util for cloning, unused
    • ❌🌊 remove some minor flowtypes for easier usage from raw source
    • 👾 dopemerge simplified
    • 📒🚚🖇 symbols & is[X] moved into individual files
      • 🖇🎯 to-test util (str->regex/fn)
      • 🖇🎯 str-to-regex util
      • 🖇🗺 map reduce util
      • 🖇🤸 split dot-prop-path-segments util
      • 🖇🆙 minor dot-prop change to use deps/is
      • 🍬 .getDecoration 🖇 use is & other deps
      • index files for the folders are compat for experimentation when needed
      • reduces file size
        • instead of assigning data to an object & spreading the data into named variables
        • additionally smaller variable names when uniquing those scoped variables in each file when bundling into a single file
        • smaller functions are optimized faster (usually) by v8
        • moves them out of every instantiated object as a property and only uses reference by scope
        • ♻️⚡ abstract out encase fn
    • 🔊 changelog added
    • 🚨🔬 failing tests for traversing a map & set without transforming with .entries & .values first
    • ⛑🛅🔬 safety in built for .entries, yay tests