Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@aofl/object-utils

AgeOfLearning165MIT3.14.1TypeScript support: included

A small collection of Object utility functions designed to have a small footprint (20b gz) and be performant

aofljs, @aofl/object-utils, object utility, deepAssign, deepFreeze

readme

@aofl/object-utils

A small collection of Object utility functions designed to have a small footprint (20b gz) and be performant.

Api Documentation


Why?

Libraries like Lodash have a high overhead and come with more functionality than most projects need. Also, with es6 features fewer of these "utility" functions are needed.

In Lodash's case, even if you only import the needed features you still get the 4kb gzipped Core build + additional functionality.


Installation

npm i -S @aofl/object-utils

Usage

import {deepAssign} from '@aofl/object-utils';

deepAssign(leftSource, 'nested.path.to.assign', rightSource);

Methods

deepAssign

Recursively calls Object.assign along the specified path.

Arguments

Name Type Description
leftSource Object Left source
path String Path to target
rightSource Object Right source

Example

const user = {
  name: 'Alan',
  account: {
    active: true,
    products: {
      1: true,
      2: true,
      3: true
    }
  },
  preferences: {
   locale: 'en-US'
 }
};

const user2 = deepAssign(user, 'account.products', {
  2: false
});

// { // new ref
//   name: 'Alan',
//   account: { // new ref
//     active: true,
//     products: { // new ref
//       1: true,
//       2: false, // updated value
//       3: true
//     }
//   },
//   preferences: { // same ref
//     locale: 'en-US'
//   }
// };

console.log(user2 === user); // expected result: false
console.log(user2.account === user.account); // expected result: false
console.log(user2.preferences === user.preferences); // expected result: true

deepFreeze

Recursively calls Object.freeze on objects properties.

Note: this method should only be used in development environments and disabled in production

Arguments

Name Type Description
source Object Source Object

Example

let user = deepFreeze({
  name: 'Alan',
  account: {
    active: true,
    products: {
      1: true,
      2: true,
      3: true
    }
  },
  preferences: {
   locale: 'en-US'
 }
});

user.account.active = false; // Throws an error in strict mode
console.log(user.account.active); // expected output: true

changelog

Changelog - AofL JS

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

unreleased - Date

[Added]

[Deprecated]

[Removed]

[Fixed]

[Security]


v3.14.0 - 2022-03-17

[Added]

  • @aofl/wdio - adding waitForNotExist command
  • @aofl/wdio - updated waitForExist + waitForNavigation commands to output more verbose error messages

    [Deprecated]

    [Removed]

    [Fixed]

    [Security]


v3.13.1 - 2021-06-15

[Added]

[Changed]

  • @aofl/wdio - Updating @wdio modules to latest version that includes private device fix

    [Deprecated]

    [Removed]

    [Fixed]

    [Security]


v3.13.0 - 2021-02-25

[Added]

[Changed]

  • @aofl/wdio: Updated wdio to v7

    [Deprecated]

    [Removed]

  • @aofl/wdio: Removed browser.takeScreenshot() in default preset

    [Fixed]

    [Security]


v3.12.0 - 2021-01-19

[Added]

[Changed]

  • @aofl/wdio: Updated wdio to v6, added support for additional onWorkerStart hook

    [Deprecated]

    [Removed]

    [Fixed]

    [Security]


v3.11.1 - 2020-10-27

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/wdio: fixed isExisting command to return true/false, even in the case of a reference error on the element

    [Security]


v3.11.0 - 2020-09-01

[Added]

  • @aofl/wdio - isDisplayed, isDisplayedInViewport, isEnabled, isEqual, isSelected, selectByAttribute, selectByIndex, selectByVisible, scrollIntoView, isClickable, waitForClickable, waitForEnabled, waitForDisplayed

    [Changed]

    [Deprecated]

    [Removed]

    [Fixed]

  • issue with chrome failing to start because of sandbox mode on travis-ci for merge requests

    [Security]


v3.10.0 - 2020-05-15

[Added]

[Changed]

  • @aofl/cli - source - only runs when git status is clean
  • @aofl/cli - source - more debug logs and does not run install in the package's folder
  • @aofl/cli - conclude - checks for other packages installed from the submodule and exits if finds any
  • @aofl/cli - conclude - only runs if git status is clean

    [Deprecated]

    [Removed]

    [Fixed]

    [Security]


v3.9.0 - 2020-05-15

[Added]

  • @aofl/cli - init will invoke postinit script
  • @aofl/wdio - testing bot and crossbrowser support

    [Changed]

    [Deprecated]

    [Removed]

  • @aofl/router - removed forceReload option and can't navigate to current route restriction

    [Fixed]

  • @aofl/cache-manager - fixed cannot read property 't' of null when keys expire.

    [Security]


v3.8.1 - 2020-05-12

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli-lib/git - archive paths reference

    [Security]


v3.8.0 - 2020-05-12

[Added]

[Changed]

[Deprecated]

  • @aofl/router - afterEach middleware. Use beforeEach instead.

    [Removed]

    [Fixed]

  • @aofl/cli-lib/git - fixed issue with archive command throwing an error when pulling multiple files.
  • @aofl/picture - delay interacting with parent by a micro task. Fixes loading issues when picture elements are used outside of an Aofl JS app.

    [Security]


v3.7.0 - 2020-03-13

[Added]

[Changed]

  • @aofl/form-validate - removed strict "string" type requirements from validators.

    [Deprecated]

    [Removed]

    [Fixed]

    [Security]


v3.6.1 - 2020-03-10

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • service worker bundles workbox-precaching

    [Security]


v3.6.0 - 2020-03-08

[Added]

  • @aofl/router - navigate will reject/throw error if any of the hooks throw.

    [Changed]

  • @aofl/middleware - next() takes additional parameter error and iterateMiddleware will reject if error is not null

    [Deprecated]

    [Removed]

    [Fixed]

    [Security]


v3.5.0 - 2020-02-25

[Added]

  • @aofl/wdio - Web Components support with Local and SauceLabs presets
  • @aofl/cli - source-map-loader
  • npmignore unnecessary files from the packages

[Changed]

  • @aofl/unit-testing-plugin - refactored to use WebdriverIO
  • unit testing config to work with new version
  • @aofl/cli - devtool source-map as default for development builds
  • @aofl/cli - updated workbox and pwa-manifest

[Deprecated]

[Removed]

  • lodash
  • mkdirp
  • webcomponents-tester

[Fixed]

  • Exclude babel built-ins from generated bundles
  • Source map files of generated bundles
  • @aofl/cli - eslint loader cache set to false
  • @aofl/templating-plugin - routes loader cache set to false. Build will pick up updated routes configs.
  • @aofl/cli - init - repo and branch name support

[Security]

  • Replaced WebComponentsTester with WebdriverIO
  • Updated npm packages
  • Changed .gitignore

v3.4.0 - 2020-01-27

[Added]

[Changed]

  • @aofl/router - Redirect moved to first middleware in after
  • @aofl/router - Update url converted to a middleware and is the second action in after.

    [Deprecated]

    [Removed]

    [Fixed]

  • @aofl/picture - img size updates
  • @aofl/map-state-properties-mixin - unit tests

    [Security]


v3.3.0 - 2020-01-22

[Added]

  • @aofl/form-validate - exports ValidationFunction and ValidationProperty classes
  • @aofl/form-validate - compare validator
  • @aofl/form-validate - pattern validator
  • @aofl/cli-lib - added npm run

    [Changed]

  • @aofl/picture - img inherits height, width, max-height, max-width from aofl-img
  • @aofl/picture - Uses naturalWidth and naturalHeight of the image

    [Deprecated]

    [Removed]

    [Fixed]

  • @aofl/cli - generate css templates

    [Security]


3.2.1 - 2019-11-23

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/webcomponents-css-loader - Parse doc block RegExp[] correctly

    [Security]


3.2.0 - 2019-11-23

[Added]

  • @aofl/webcomponents-css-loader - Support doc block annotation to set purgeCss config.

[Changed]

[Deprecated]

[Removed]

[Fixed]

[Security]


3.1.0 - 2019-11-21

[Added]

  • @aofl/webcomponents-css-loader - Support ~alias style @import

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli - Webpack config fonts regex

[Security]


3.0.0 - 2019-11-16

[Added]

  • Much faster dev builds
  • @aofl/cli - serve added reporter option
  • @aofl/cli - made webpack mode available in .ejs context
  • @aofl/cli - server supports hot and hot only options
  • @aofl/cli - generate - Added i18n template
  • @aofl/cli - added cache-loader to webpack config
  • @aofl/cli - serviceworker, pwaManifest and favicon can be disabled by setting to null.
  • @aofl/cli-lib - webpack config support stand-alone and project modes
  • @aofl/cli-lib - webpack config allows replace and append for include, exclude objects
  • @aofl/cli-lib - git - added archive
  • @aofl/cli-lib - git - added getNameFromUrl
  • @aofl/i18n - extracted core i18n functionality from the mixin
  • @aofl/i18n - added support for aoflDevtools.showI18nIds to display tt-tags over strings.
  • @aofl/web-components/aofl-element - added property decorator to support binding to store when declaring class properties
  • @aofl/hmr-loader
  • @aofl/web-components/aofl-element - store and state options to properties decorator
  • @aofl/templating-plugin - routes-config-loader supports hmr
  • @aofl/store - added purge
  • @aofl/api-request - added purge
  • @aofl/store - store v3
  • @aofl/api-request - added support for different expire times for each cache namespace
  • @aofl/element - as a standalone package
  • @aofl/picture - as a standalone package
  • @aofl/select - as a standalone package
  • @aofl/drawer - as a standalone package
  • all packages ship with built file
  • upgrade config for v3.0.0

[Changed]

  • @aofl/cli - webpack config will not generate sourcemaps in dev by default
  • @aofl/cli - webpack config replace imagemin-mozjpeg with imagemin-jpegtran
  • @aofl/cli - webpack config updated to reflect webcomponent-css-loader options
  • replaced purifyCss with purgeCss
  • @aofl/middleware - use() returns unsubscribe function
  • @aofl/router - hooks can unsubscribe
  • @aofl/webcomponent-css-loader - No longer imports global css into components and doesn't prune css in dev
  • @aofl/web-components - all components check customElements registry before calling define. This is done so hmr doesn't throw already defined error
  • @aofl/cli - updated babel config
  • @aofl/cli - a bunch of webpack optimization
  • @aofl/unit-testing-plugin - major rewrite and optimization
  • @aofl/cli - test command updated to work with new unit-testing-plugin
  • @aofl/store - Store move to modules/legacy
  • @aofl/form-validate - form.observed is set to true when any property is observed

[Deprecated]

  • @aofl/store/legacy
  • @aofl/web-components

[Removed]

  • style-loader
  • postcss
  • cssnano
  • autoprefixer
  • @aofl/cli - .aofl.js config - removed cssLoader and postCssLoader config
  • @aofl/cli - hard-source-webpack-plugin
  • @aofl/cli - friendly-errors-webpack-plugin

[Fixed]

  • @aofl/cli - build/server/test will exit with error when .aofl.js config contains errors instead of falling back on the default configs
  • @aofl/cli - i18n ignores _r & _c keys when validating the manifest
  • @aofl/cli - excluded @webcomponents from webpack config ignore
  • @aofl/router - fixed matching dynamic routes without trailing slash
  • @aofl/web-components/aofl-select-list - Prevent dispatching change event while initializing
  • @aofl/cli - i18n PathHelper reference typo
  • possible variable overrides

[Security]

  • @aofl/unit-testing - re-implemented dependencies to fix npm audit issues

2.0.8 - 2019-07-09

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli - i18n enabled tolerant config for esprima

    [Security]


2.0.7 - 2019-06-27

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli - build and test stopping when compiling with warnings

    [Security]


2.0.6 - 2019-06-20

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli - replaced export with module.exports

    [Security]


2.0.5 - 2019-06-20

[Added]

  • @aofl/cli - debug reporter

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli - exits with error code when compiler reports an error

    [Security]


2.0.4 - 2019-06-18

[Added]

  • @aofl/cli - reporter option for build and test

[Changed]

  • @aofl/templating-plugin - updated puppeteer and added --no-sandbox

[Deprecated]

[Removed]

[Fixed]

  • @aofl/cli - Serve only opens 2 browser tab

[Security]


2.0.3 - 2019-06-12

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/rotations - updated rotation logic so that pages with the same qualifying ID get the same version

    [Security]


2.0.2 - 2019-05-22

[Added]

[Changed]

  • @aofl/cli - test command will set webpack mode to production when NODE_ENV is test

[Deprecated]

[Removed]

[Fixed]

[Security]


2.0.1 - 2019-05-20

[Added]

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • @aofl/webcomponents/aofl-drawer - fixed issue with child elements transitions causing drawer to flicker

    [Security]


2.0.0 - 2019-04-30

[Added]

  • @aofl/cli - source will remove the added submodule if an error occurs.
  • @aofl/templating-plugin - added support for @linkTag
  • @aofl/cli - build command
  • @aofl/cli - test command
  • @aofl/cli - serve command
  • @aofl/cli - source --list option added
  • @aofl/templating-plugin - eslint-disable routes-config-loader
  • @aofl/webcomponent-css-loader - added cache option
  • @aofl/webcomponent-css-loader - added whitelist option
  • @aofl/store - auto generates setter mutations based on init() mutation
  • @aofl/dom-scope - added README.md
  • @aofl/dom-scope - added cache option
  • @aofl/dom-scope - added schema utils validation
  • @aofl/i18n-loader - added cache option
  • @aofl/i18n-auto-id-loader - added cache option
  • @aofl/component-utils - traverseParents() takes a callback function and traverses ancestors of the provided node.
  • @aofl/component-utils - findParentByAttribute() utilizes traverseParents and looks for a specific parent containing a set of attributes.
  • eslint-config-aofl
  • @aofl/router - Added an additional parameter "meta" to router.navigate() method that gets added to the request object.
  • @aofl/cli - upgrade command
  • @aofl/webcomponents/aofl-element - export render from lit-html
  • @aofl/templating-plugin - added prerender options
  • docsify for v2
  • benchmark results

[Changed]

  • Updated lit-element to 2.1.0
  • Updated lit-html to 1.0.0
  • Replaced babel-instrumenter-loader with babel-plugin-istanbul.
  • @aofl/router - match-route-middleware caches the response after matching the route instead of the route.
  • @aofl/web-components/aofl-element export an object containing AoflElement and all lit-element exports
  • @aofl/web-components/aofl-element uses css to render styles
  • Updated all references to AoflElement to reflect updated module export
  • babel settings
  • @aofl/cli - generate component template updated to use decorators

[Deprecated]

[Removed]

  • @aofl/templating-plugin - prerenderTimeout

[Fixed]

  • Fixed bugs introduced by refactoring and linting
  • @aofl/router - fixed request from link
  • @aofl/web-components/aofl-img - Delay checkInViewport by a microtask to fix issue with images not loading when aofl-img is a child of another custom component.
  • @aofl/cache-manager - getCollection updates storedKeys before returning the collection in case it changed within the context of another document.
  • @aofl/cache-manager - limit expire to max 32bit signed integer
  • @aofl/cli - Npm.installDependency force option fixed.
  • @aofl/templating - fixed issue with meta tags getting injected into body due to invalid aoflTemplate string in head. The plugin will accept template replace keys wrapped in template tags.
  • @aofl/rotations - changed window.aofljsConfig.prerender reference
  • @aofl/cli/build - uses watchOptions in webpack config

[Security]


1.4.2 - 2019-01-08

[Added]

  • webpack-packages/webcomponent-css-loader - Set cacheable to false

[Changed]

  • webpack-packages/templating-plugin - Changed str.replace algorithm when prerendering to deal with large strings.

[Deprecated]

[Removed]

[Fixed]

  • webpack-packages/unit-testing - fixed issue with istanbul coverage not working

[Security]


1.4.1 - 2019-01-07

[Added]

  • lerna setup
  • pr template
  • aofl-js-packages/resource-enumerate - added a new property ready that is a promise that resolves when init() is done fetching config files. get() awaits this promise.

[Changed]

  • issue template
  • cli-tools/cli - generate c changed context to ctx in template.js

[Deprecated]

[Removed]

[Fixed]

  • cli-tools/cli fixed aofl init new/directory
  • Add chrome and firefox addons in travis config for pull requests coming from forked repos

[Security]


1.4.0 - 2018-12-27

[Added]

  • webpack-packages/html-webpack-purify-internal-css-plugin added
  • webpack-packages/webcomponent-css-loader
    • added force option

[Changed]

  • Updated @polymer/lit-element to 0.6.5
  • Updated lit-html to 1.0.0-rc.1
  • Updated web-components-tester to 6.9.2
  • Changelog.md follows keep a changlog guidelines
  • Updated eslint rules to be more lenient
  • lint cli and webpack-packages
  • fixed typo in documentation
  • aofljs-packages
    • store
      • Push store instances to window.aoflDevtools.storeInstances, when window.aoflDevtools exists or the app runs in development mode, instead of exposing a global variable window.storeInstance.

[Deprecated]

[Removed]

[Fixed]

[Security]


1.3.0 - 2018-12-06

[Added]

  • ci pipeline setup
  • aofljs-packages/aofl-multiselect-list
  • aofljs-packages/aofl-list-option
    • added keyboard interactions
  • aofljs-packages/aofl-select-list
    • added keyboard interactions

[Changed]

  • switched to travis
  • updated README.md
  • upgrade to lit-element@0.6.4
  • upgrade to lit-html@0.14.0
  • moved issue-templates to .github
  • webpack-packages/unit-testing-plugin
    • upgraded web-component-tester to 6.9.0
  • aofljs-packages/aofl-list-option
    • updated to be compatible with aofl-multiselect-list
    • changed string attributes to boolean
  • aofl-js-packages/router
    • update url state is triggered after all 'after' middleware callbacks run successfully
  • cli
    • renamed all bin files to aofl-*
    • generate component adds "-element" if the component name doesn't include a (-)
  • aofljs-packages/aofl-select-list
    • changed string attributes to boolean

[Deprecated]

[Removed]

  • node container to run automation
  • jenkins file added

[Fixed]

[Security]


1.2.3 - 2018-11-20

[Added]

[Changed]

  • cli
    • renamed all bin files to aofl-cli-*

[Deprecated]

[Removed]

[Fixed]

  • Build tools compatible with Windows & Ubuntu
  • cli
    • fixed temp directory path
  • webpack-packages/templating-plugin
    • path.sep fixes to be windows & Ubuntu compatible
  • webpack-packages/webcomponents-css-loader
    • path.sep fixes to be windows & Ubuntu compatible

[Security]


1.2.1 - 2018-11-18

[Added]

  • gh-pages docs created
  • webpack-packages/unit-testing-plugin
    • accepts .wtcrc.js file
  • aofl-js-packages/map-state-properties-mixin
    • calls mapStateProperties function on connectedCallback automatically

[Changed]

  • decreased SauceLabs browsers to 10

[Deprecated]

[Removed]

[Fixed]

  • webpack-packages/i18n-loader
    • Set cacheable to false

[Security]


1.2.0 - 2018-11-06

[Added]

  • Added CODE_OF_CONDUCT.md
  • 100% coverage
  • node container to run automation
  • jenkins file added
  • cli-tools/cli
    • Added icons template
  • webpack-packages/webcomponent-css-loader
    • Add @import paths the modules dependencies.
    • skip pruning on dev
  • webpack-packages/templating-plugin
    • added support for variable webpackConfig.output.publicPath
    • Skip index.js files that do not contain a valid route doc block

[Changed]

  • Updated node packages
  • Adjusted eslint config for indentation
  • Moved babel config out of webpack config
  • Updated saucelabs config
  • cli-tools/cli
    • Updated generate component to match v1.1.0 standards
  • aofl-js-packages
    • Replaced babel-plugin-istanbul with istanbul-instrumenter-loader
    • SauceLabs webpack config does not instrument and .wctrc-ls.json does not include istunbul plugin.
    • Moved wct-istunbul plugin config to .wctrc.json
  • webpack-packages/unit-testing-plugin
    • Replaced web-components-tester-istanbul with wct-instanbul
    • Bundle all tests into 1 suite
  • webpack-packages/templating-plugin
    • complete refactor
    • added getTestContainer()

[Deprecated]

[Removed]

  • RegisterCallback
    • Removed error functions. Next expect an error object or null as the first argument.
  • webpack-packages/unit-testing-plugin
    • removed istanbul plugin from default list
    • moved coverage report assignment to WCT to the top of the test file to fix fatal WCT error when a tests throws a fatal error.
  • webpack-packages/webcomponent-css-loader
    • removed logs

[Fixed]

  • Fixed linting issues
  • web-components/aofl-drawer
    • refactored and added transition-count attribute. Instead of trying to detect multiple transitions.
  • webpack-packages/webcomponent-css-loader
    • Fixed hard crashes
  • webpack-packages/templating-plugin
    • Fixed double build issue
    • Fixed issue with new routes or changes to route docBlock required 2 builds

[Security]


1.1.0 - 2018-10-17

[Added]

  • aofl-js-packages
    • ready for saucelabs integration
  • aofl-js-packages/polyfill-service
    • config object accepts a {test, load} object to do custom checking
  • aofl-js-packages/i18n-mixin
    • Support for multi plural sentences
  • aofl-js-packages/router
    • Router holds reference to matchedRoute
  • webpack-packages/i18n-auto-id-loader
  • webpack-packages/webcomponent-css-loader
  • webpack-packages/templating-plugin
    • added support for baseurl and webpack output dir
  • aofl-js-packages/rotations
    • Adds several more unit tests covering all methods, w/minor refactoring

[Changed]

  • aofl-js-packages
    • upgraded lit-element to 0.6.2
    • moved tests to root of each module
    • transferred documentation examples to stackblitz and removed documentation projects
    • Updated jsdoc comments and new jsdoc theme
  • aofl-js-packages/i18n-mixin
    • Refactored to cover all requirements from the translators
  • aofl-js-packages/rotations
    • Allows qualify functions to return primitive values or promises, adds unit test for qualify order
  • webpack-packages/i18n-loader
    • Refactored to work with the updated system
  • cli/cli-tools
    • Refactored i18n. Now uses lexical analysis to find translation strings
  • @aofl/rotations
    • Complete refactor

[Deprecated]

[Removed]

  • aofl-js-packages/resource-enumerate
    • Config object no longer supports local/stageRegex. Instead environment is passed to constructor.

[Fixed]

  • aofl-js-packages
    • fix and updated unit tests for all browsers
  • aofl-js-packages/rotations
    • Fixes bug causing erratic weighted rotations
  • webpack-packages/templating-plugin
    • Fixed prod builds

[Security]


1.0.0-beta.28 - 2018-09-27

[Added]

  • added ISSUE_TEMPLATE.md
  • api-request
    • documentation
    • unit testing
  • resource-enumerate
    • documentation
    • unit testing
    • refactored to use api-request
  • map-state-properties-mixin
    • documentation
    • unit testing
  • router
    • improved unit testing coverage
    • navigate handles ?|# correctly
  • web-components
    • aofl-element
      • documentation
      • unit testing
    • aofl-select-list
      • documentation
      • unit testing
      • extends AoflElement instead of LitElement
    • aofl-list-options
      • documentation
      • unit testing
      • extends AoflElement instead of LitElement
      • Replaced deprecated parentDepMixin with @aofl/component-utils/findParent
    • aofl-drawer
      • documentation
      • unit testing
      • extends AoflElement instead of LitElement
    • aofl-source
      • documentation
      • unit testing
      • extends AoflElement instead of LitElement
    • aofl-img
      • documentation
      • unit testing
      • extends AoflElement instead of LitElement
    • aofl-picture
      • documentation
      • unit testing
      • extends AoflElement instead of LitElement
  • component-utils
    • documentation
    • unit testing
    • added is-in-viewport
    • added is-in-viewport-mixin
  • cli
    • readme.md
    • license

[Changed]

  • generate
    • changed aofl to c
    • removed lit
    • updated templates
  • templating-plugin
    • README.md added
    • prerender injects __prerender__ before page load
    • template name is added to the routes config
  • aofl-validate
    • documentation
    • unit testing
    • completely refactored
  • unit-testing-plugin
    • documentation
    • default output directory changed to __build_tests
    • supports .wtcrc.json and wtc-conf.json
    • adds fetch-mock to test suite automatically

[Deprecated]

[Removed]

  • parent-dep-mixin
  • cli/sw

[Fixed]

  • cli
    • dom-scope
      • fixed pattern bug
  • api-request
    • getCacheManager() fix issue with returning new cacheManager
    • changed cache argument to fromCache.
    • Replaced static class property with a static getter.
  • router
    • Fixes reject case in navigate method
    • router.navigate resolve after redirects
  • unit-testing-plugin
    • run initial unit test once when watch mode enabled
    • clean coverage report between runs

[Security]


1.0.0-beta.27 - 2018-09-11

[Added]

  • Unit Testing
  • uuid
    • documentation
    • unit testing
  • object-utils
    • documentation
    • unit testing
  • server-environment
    • documentation
    • unit testing
  • polyfill-service
    • added and refactored webcomponents-loader for dynamic import
    • documentation
    • unit testing
    • Refactored to static class
  • cache-manager
    • documentation
    • unit testing
  • register-callback
    • documented
    • unit testing
  • i18n-mixin
    • documentation
    • unit test
  • i18n-loader
    • added README.md
  • middleware
    • documentation
    • unit test
    • Updates constructor to take n string args for hook names
  • rotations
    • documentation
    • unit test
  • router
    • documentation
    • unit test
    • export routerInstance
  • store
    • documentation
    • unit test
    • export storeInstance
    • expose storeInstance on window when debug true or aoflDevtools available
    • Support for pending status
  • cli
    • added default init repo

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • cache-manager
    • fixed issue with expired keys
    • fixed issues with json.parse when storage is not memoryStorage
  • register-callback
    • unsubscribe can only be called once
    • check index exists in removeCb
  • router
    • Fixes typo for removing popState listener

[Security]


1.0.0-beta.26 - 2018-8-27

[Added]

  • License and github repo
  • Store
    • commit takes variadic arguments

[Changed]

[Deprecated]

[Removed]

[Fixed]

[Security]


1.0.0-beta.25 - 2018-08-23

[Added]

  • cli
    • added aofl init command

[Changed]

[Deprecated]

[Removed]

[Fixed]

  • aofl-list-option
    • changed selected from boolean to string
    • fixed checking selected attribute value to match selected|selected=true|selected=false

      [Security]


1.0.0-beta.24 - 2018-08-22

[Added]

  • cli
    • added -f to npm commands

[Changed]

  • unit-testing-plugin
    • refactor unit-testing (removed childcompiler)

[Deprecated]

[Removed]

  • templating-plugin
    • removed child compiler from templating plugin
  • unit-testing-plugin
    • removed hard coded browser options

[Fixed]

  • rotation
    • compatibility with unit-testing
  • AoflElement
    • fixed css rendering for firefox

[Security]


1.0.0-beta.23 - 2018-08-16

[Added]

  • parent-dep-mixin
    • added
  • web-components
    • aofl-element
      • added
    • aofl-select-list
      • removed _ prefix from functions _ aofl-list-options
      • removed findParent and moved it to a parent-dep-mixin
    • aofl-drawer
      • refactored

[Fixed]

  • unit-testing-plugin
    • replaces istanbul plugin with wct-istanbul

1.0.0-beta.22 - 2018-08-10

[Added]

  • cli added sw command
  • rotations
  • templating plugin
    • added locale, meta and refactored router doc block parser
  • polyfill-service
    • added object-assign-polyfill
  • unit-testing-plugin
  • i18n-mixin
  • i18n-loader
  • map-state-properties-mixin
  • cli
    • Adds i18n cli for pot generation

      [Changed]

  • cache-manager
    • renamed MemoryStorage.length to size due to Function.length not being configurable on all browsers

      [Deprecated]

      [Removed]

      [Fixed]

  • cli
    • fixed conclude and renamed aofl-source.json to aofl.json

      [Security]