From 92d058bdcf0b91b6820c52f31a08471c8e4defa5 Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:32:49 +0200
Subject: [PATCH 01/13] chore(beautify): dependency reordering after npm i

---
 package.json | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/package.json b/package.json
index 17be6b991..73cd47816 100644
--- a/package.json
+++ b/package.json
@@ -10,19 +10,19 @@
     ]
   },
   "dependencies": {
+    "@auto-it/released": "^9.40.5",
     "@babel/plugin-proposal-decorators": "^7.13.5",
     "@babel/plugin-syntax-jsx": "^7.12.13",
+    "auto": "^9.40.5",
     "babel-eslint": "^10.0.2",
     "eslint": "^6.1.0",
     "eslint-config-airbnb-base": "^14.0.0",
     "eslint-config-prettier": "^6.0.0",
     "eslint-plugin-import": "^2.18.2",
     "eslint-plugin-prettier": "^3.1.0",
-    "prettier": "^1.14.3",
     "lerna": "3.17.0",
-    "pretty-quick": "^1.11.1",
-    "auto": "^9.40.5",
-    "@auto-it/released": "^9.40.5"
+    "prettier": "^1.14.3",
+    "pretty-quick": "^1.11.1"
   },
   "repository": {
     "type": "git",

From 1e4e7a1db329eea926da42a011cc4bc1cac49d24 Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:35:46 +0200
Subject: [PATCH 02/13] refactor: eslint feedback / prefer-const

'matches' is never reassigned. Use 'const' instead
---
 .../src/scripts/components/pl-nav/get-parents.js              | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js b/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js
index 2f4ce35e8..65b8db12e 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js
@@ -8,7 +8,9 @@ export const getParents = (elem, selector) => {
       Element.prototype.oMatchesSelector ||
       Element.prototype.webkitMatchesSelector ||
       function(s) {
-        let matches = (this.document || this.ownerDocument).querySelectorAll(s),
+        const matches = (this.document || this.ownerDocument).querySelectorAll(
+            s
+          ),
           i = matches.length;
         while (--i >= 0 && matches.item(i) !== this) {}
         return i > -1;

From f455c2c9e631c01f651e0d48717449e966fc5ce7 Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:37:09 +0200
Subject: [PATCH 03/13] refactor: eslint feedback / prettier

---
 packages/uikit-workshop/src/scripts/store.js | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/packages/uikit-workshop/src/scripts/store.js b/packages/uikit-workshop/src/scripts/store.js
index 07de940b4..505de0549 100644
--- a/packages/uikit-workshop/src/scripts/store.js
+++ b/packages/uikit-workshop/src/scripts/store.js
@@ -17,10 +17,7 @@ const compose = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || origCompose;
 export const store = createStore(
   (state, action) => state,
   loadState(), // If there is local storage data, load it.
-  compose(
-    lazyReducerEnhancer(combineReducers),
-    applyMiddleware(thunk)
-  )
+  compose(lazyReducerEnhancer(combineReducers), applyMiddleware(thunk))
 );
 
 store.addReducers({

From 8ddec2c2610d61cc9c61aba911d51dcc44638b38 Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:38:28 +0200
Subject: [PATCH 04/13] refactor: eslint feedback / no-shadow

'e' is already declared in the upper scope on line 202 column 24
---
 .../src/scripts/components/modal-styleguide.js              | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/packages/uikit-workshop/src/scripts/components/modal-styleguide.js b/packages/uikit-workshop/src/scripts/components/modal-styleguide.js
index 4692f3f78..1eefbccae 100644
--- a/packages/uikit-workshop/src/scripts/components/modal-styleguide.js
+++ b/packages/uikit-workshop/src/scripts/components/modal-styleguide.js
@@ -258,9 +258,9 @@ export const modalStyleguide = {
             }
 
             elsToHighlight[j].onclick = (function(el) {
-              return function(e) {
-                e.preventDefault();
-                e.stopPropagation();
+              return function(event) {
+                event.preventDefault();
+                event.stopPropagation();
                 const obj = JSON.stringify({
                   event: 'patternLab.annotationNumberClicked',
                   displayNumber: el.displayNumber,

From e721b1395f363c66186e298a1fdb94a83f8a4ca7 Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:39:21 +0200
Subject: [PATCH 05/13] refactor: eslint feedback / no-shadow

'port' is already declared in the upper scope on line 28 column 9
---
 packages/uikit-workshop/build/webpack-server.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/uikit-workshop/build/webpack-server.js b/packages/uikit-workshop/build/webpack-server.js
index 6021d1509..a6c42dc47 100644
--- a/packages/uikit-workshop/build/webpack-server.js
+++ b/packages/uikit-workshop/build/webpack-server.js
@@ -27,8 +27,8 @@ async function serve(patternlab, configPath, buildDir = 'public') {
 
   const port = await portfinder
     .getPortPromise()
-    .then(port => {
-      return port;
+    .then(portNo => {
+      return portNo;
     })
     .catch(err => {
       console.log(err);

From 134f2a7f1c1ca7d3a9b4b5234c670706894dc5da Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:39:47 +0200
Subject: [PATCH 06/13] chore: typo

---
 packages/core/src/lib/object_factory.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/core/src/lib/object_factory.js b/packages/core/src/lib/object_factory.js
index efb6e1b4e..688e79d63 100644
--- a/packages/core/src/lib/object_factory.js
+++ b/packages/core/src/lib/object_factory.js
@@ -55,7 +55,7 @@ const Pattern = function(
   this.fileExtension = pathObj.ext; // '.mustache'
 
   // TODO: Remove if block when dropping ordering by prefix and keep else code
-  // (When we dorp the info about the old ordering is deprecated)
+  // (When we drop the info about the old ordering is deprecated)
   if (
     (prefixMatcherDeprecationCheckOrder.test(this.getDirLevel(0, info)) ||
       prefixMatcherDeprecationCheckOrder.test(this.getDirLevel(1, info)) ||

From dce9aa106d2c21c78120e557c4a727aa44171909 Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <github-public-address-20201011-mfr@nzke.net>
Date: Wed, 14 Apr 2021 19:42:16 +0200
Subject: [PATCH 07/13] test(eslint): error / Unexpected var, use let or const
 instead / no-var

---
 .../lib/engine_underscore.js                  | 37 ++++++++++---------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/packages/engine-underscore/lib/engine_underscore.js b/packages/engine-underscore/lib/engine_underscore.js
index f6019d913..9781645f8 100644
--- a/packages/engine-underscore/lib/engine_underscore.js
+++ b/packages/engine-underscore/lib/engine_underscore.js
@@ -21,10 +21,10 @@
 const fs = require('fs-extra');
 const path = require('path');
 
-var _ = require('underscore');
+const _ = require('underscore');
 
-var partialRegistry = {};
-var errorStyling = `
+const partialRegistry = {};
+const errorStyling = `
 <style>
   .plError {
     background: linear-gradient(to bottom, #f1f1f1 0%,#ffffff 60%);
@@ -52,7 +52,7 @@ function addParentContext(data, currentContext) {
 
 _.mixin({
   renderNamedPartial: function(partialKey, data, currentContext) {
-    var compiledPartial = partialRegistry[partialKey];
+    const compiledPartial = partialRegistry[partialKey];
     if (typeof compiledPartial !== 'function') {
       throw `Pattern ${partialKey} not found.`;
     }
@@ -60,7 +60,7 @@ _.mixin({
     return _.renderPartial(compiledPartial, data, currentContext);
   },
   renderPartial: function(compiledPartial, dataIn, currentContext) {
-    var data = dataIn || {};
+    let data = dataIn || {};
 
     if (
       dataIn &&
@@ -76,7 +76,7 @@ _.mixin({
   /* eslint-disable no-eval, no-unused-vars */
   getPath: function(pathString, currentContext, debug) {
     try {
-      var result = eval('currentContext.' + pathString);
+      const result = eval('currentContext.' + pathString);
       if (debug) {
         console.log('getPath result = ', result);
       }
@@ -87,7 +87,7 @@ _.mixin({
   },
 });
 
-var engine_underscore = {
+const engine_underscore = {
   engine: _,
   engineName: 'underscore',
   engineFileExtension: ['.html', '.underscore'],
@@ -102,8 +102,8 @@ var engine_underscore = {
 
   // render it
   renderPattern: function renderPattern(pattern, data, partials) {
-    var renderedHTML;
-    var compiled;
+    let renderedHTML;
+    let compiled;
 
     try {
       compiled = partialRegistry[pattern.patternPartial];
@@ -127,7 +127,7 @@ var engine_underscore = {
         })
       );
     } catch (e) {
-      var errorMessage = `Error rendering underscore pattern "${
+      const errorMessage = `Error rendering underscore pattern "${
         pattern.patternName
       }" (${pattern.relPath}): [${e.toString()}]`;
       console.log(errorMessage);
@@ -146,10 +146,10 @@ var engine_underscore = {
   },
 
   registerPartial: function(pattern) {
-    var compiled;
+    let compiled;
 
     try {
-      var templateString = pattern.extendedTemplate || pattern.template;
+      const templateString = pattern.extendedTemplate || pattern.template;
       compiled = _.template(templateString);
     } catch (e) {
       console.log(
@@ -163,7 +163,7 @@ var engine_underscore = {
 
   // find and return any {{> template-name }} within pattern
   findPartials: function findPartials(pattern) {
-    var matches = pattern.template.match(this.findPartialsRE);
+    const matches = pattern.template.match(this.findPartialsRE);
     return matches;
   },
   findPartialsWithStyleModifiers: function() {
@@ -176,16 +176,19 @@ var engine_underscore = {
     return [];
   },
   findListItems: function(pattern) {
-    var matches = pattern.template.match(this.findListItemsRE);
+    const matches = pattern.template.match(this.findListItemsRE);
     return matches;
   },
 
   // given a pattern, and a partial string, tease out the "pattern key" and
   // return it.
   findPartial: function(partialString) {
-    var edgeQuotesMatcher = /^["']|["']$/g;
-    var partialIDWithQuotes = partialString.replace(this.findPartialsRE, '$1');
-    var partialID = partialIDWithQuotes.replace(edgeQuotesMatcher, '');
+    const edgeQuotesMatcher = /^["']|["']$/g;
+    const partialIDWithQuotes = partialString.replace(
+      this.findPartialsRE,
+      '$1'
+    );
+    const partialID = partialIDWithQuotes.replace(edgeQuotesMatcher, '');
 
     return partialID;
   },

From 93620834cee5482cc4197efd382667e59a0d36ba Mon Sep 17 00:00:00 2001
From: Maximilian Franzke <787658+mfranzke@users.noreply.github.com>
Date: Sun, 18 Apr 2021 10:54:17 +0200
Subject: [PATCH 08/13] refactor: eslint feedback / prettier/prettier

---
 packages/cli/bin/archive.js                   |  2 +-
 packages/cli/bin/ask.js                       |  4 +--
 packages/cli/bin/cli-actions/build.js         |  4 +--
 packages/cli/bin/cli-actions/disable.js       |  6 ++---
 packages/cli/bin/cli-actions/enable.js        |  6 ++---
 packages/cli/bin/cli-actions/export.js        |  4 +--
 packages/cli/bin/cli-actions/init.js          |  4 +--
 packages/cli/bin/cli-actions/install.js       | 12 ++++-----
 packages/cli/bin/cli-actions/serve.js         |  4 +--
 packages/cli/bin/inquiries/edition.js         |  2 +-
 packages/cli/bin/install-edition.js           |  2 +-
 packages/cli/bin/install-plugin.js            |  2 +-
 packages/cli/bin/install-starterkit.js        |  2 +-
 packages/cli/bin/patternlab.js                | 10 +++----
 packages/cli/bin/resolve-config.js            |  2 +-
 packages/cli/bin/scaffold.js                  |  2 +-
 packages/cli/bin/utils.js                     | 22 +++++++---------
 packages/core/scripts/docs.js                 |  4 +--
 packages/core/src/index.js                    | 26 +++++++++----------
 .../webpack-dev-server-waitpage/index.js      | 10 +++----
 .../uikit-workshop/build/webpack-server.js    | 14 +++++-----
 .../uikit-workshop/src/scripts/actions/app.js | 23 +++++++++-------
 .../scripts/components/base-skate-element.js  | 22 ++++++++--------
 .../components/base-skate-preact-element.js   |  2 +-
 .../scripts/components/copy-to-clipboard.js   |  2 +-
 .../scripts/components/modal-styleguide.js    |  6 ++---
 .../src/scripts/components/modal-viewer.js    |  6 ++---
 .../src/scripts/components/panels-util.js     |  2 +-
 .../pl-copy-to-clipboard.js                   |  2 +-
 .../scripts/components/pl-nav/get-parents.js  |  2 +-
 .../components/pl-nav/pl-nav.iframe-helper.js |  4 +--
 .../src/scripts/components/pl-nav/pl-nav.js   | 18 ++++++-------
 .../components/pl-nav/src/NavButton.js        |  2 +-
 .../scripts/components/pl-nav/src/NavItem.js  |  2 +-
 .../scripts/components/pl-nav/src/NavLink.js  |  4 +--
 .../scripts/components/pl-nav/src/NavList.js  | 12 ++++-----
 .../scripts/components/pl-nav/src/NavTitle.js |  2 +-
 .../components/pl-nav/src/NavToggle.js        |  2 +-
 .../components/pl-nav/src/PatternState.js     |  2 +-
 .../pl-search/pl-search.iframe-helper.js      |  2 +-
 .../scripts/components/pl-search/pl-search.js | 14 +++++-----
 .../lit-components/pl-drawer/pl-drawer.js     |  2 +-
 .../lit-components/pl-header/pl-header.js     |  4 +--
 .../scripts/lit-components/pl-icon/pl-icon.js |  8 +++---
 .../lit-components/pl-icon/unsafe-svg.js      |  2 +-
 .../scripts/lit-components/pl-logo/pl-logo.js |  4 +--
 .../pl-toggle-theme/pl-toggle-theme.js        |  2 +-
 .../pl-viewport-size-list.iframe-helper.js    |  4 +--
 .../lit-components/pl-viewport/pl-viewport.js |  6 ++---
 .../src/scripts/lit-components/slotify.js     |  8 +++---
 .../src/scripts/localstorage.js               |  2 +-
 .../src/scripts/utils/postmessage.js          |  2 +-
 .../src/scripts/utils/url-handler.js          |  4 +--
 packages/uikit-workshop/webpack.config.js     |  4 +--
 54 files changed, 162 insertions(+), 165 deletions(-)

diff --git a/packages/cli/bin/archive.js b/packages/cli/bin/archive.js
index 9d7a6989c..e27696977 100644
--- a/packages/cli/bin/archive.js
+++ b/packages/cli/bin/archive.js
@@ -31,7 +31,7 @@ function exportPatterns(config) {
     );
   });
 
-  archive.on('error', function(err) {
+  archive.on('error', function (err) {
     throw new TypeError(
       `export: An error occured during zipping the patterns: ${err}`
     );
diff --git a/packages/cli/bin/ask.js b/packages/cli/bin/ask.js
index 55a337230..652fbda3b 100644
--- a/packages/cli/bin/ask.js
+++ b/packages/cli/bin/ask.js
@@ -12,8 +12,8 @@ const ask = inquirer.prompt;
  * @param {object} options - Options passed in from CLI
  * @param {boolean} options.force - Flag whether to force install in existing project directory. May overwrite stuff.
  */
-const init = options =>
-  wrapsAsync(function*() {
+const init = (options) =>
+  wrapsAsync(function* () {
     /**
      * @property {string} project_root="./" - Path to the project root directory
      * @property {string|Symbol} edition - The name of the edition npm package or a Symbol for no install
diff --git a/packages/cli/bin/cli-actions/build.js b/packages/cli/bin/cli-actions/build.js
index c6a34434a..aca73760c 100644
--- a/packages/cli/bin/cli-actions/build.js
+++ b/packages/cli/bin/cli-actions/build.js
@@ -3,8 +3,8 @@ const buildPatterns = require('../build');
 const resolveConfig = require('../resolve-config');
 const { error, info, wrapAsync } = require('../utils');
 
-const build = options =>
-  wrapAsync(function*() {
+const build = (options) =>
+  wrapAsync(function* () {
     try {
       const config = yield resolveConfig(options.parent.config);
       yield buildPatterns(config, options);
diff --git a/packages/cli/bin/cli-actions/disable.js b/packages/cli/bin/cli-actions/disable.js
index 6c53cb5a2..75a534b5a 100644
--- a/packages/cli/bin/cli-actions/disable.js
+++ b/packages/cli/bin/cli-actions/disable.js
@@ -10,8 +10,8 @@ const writeJsonAsync = require('../utils').writeJsonAsync;
  * @desc Handles deactivation of starterkits/plugins
  * @param {object} options
  */
-const enable = options =>
-  wrapAsync(function*() {
+const enable = (options) =>
+  wrapAsync(function* () {
     const {
       parent: { config: configPath },
       plugins,
@@ -24,7 +24,7 @@ const enable = options =>
       spinner.succeed(
         `⊙ patternlab → Disable following plugins: ${plugins.join(', ')}`
       );
-      plugins.map(plugin => {
+      plugins.map((plugin) => {
         if (_.has(config, `plugins[${plugin}]`)) {
           _.set(config, `plugins[${plugin}]['enabled']`, false);
           spinner.succeed(
diff --git a/packages/cli/bin/cli-actions/enable.js b/packages/cli/bin/cli-actions/enable.js
index 0edb57401..4c493cc51 100644
--- a/packages/cli/bin/cli-actions/enable.js
+++ b/packages/cli/bin/cli-actions/enable.js
@@ -10,8 +10,8 @@ const writeJsonAsync = require('../utils').writeJsonAsync;
  * @desc Handles activation of starterkits/plugins
  * @param {object} options
  */
-const enable = options =>
-  wrapAsync(function*() {
+const enable = (options) =>
+  wrapAsync(function* () {
     const {
       parent: { config: configPath },
       plugins,
@@ -24,7 +24,7 @@ const enable = options =>
       spinner.succeed(
         `⊙ patternlab → Enable following plugins: ${plugins.join(', ')}`
       );
-      plugins.map(plugin => {
+      plugins.map((plugin) => {
         if (_.has(config, `plugins[${plugin}]`)) {
           _.set(config, `plugins[${plugin}]['enabled']`, true);
           spinner.succeed(`⊙ patternlab → Enabled following plugin: ${plugin}`);
diff --git a/packages/cli/bin/cli-actions/export.js b/packages/cli/bin/cli-actions/export.js
index 5f4f4ebc7..8f67251e2 100644
--- a/packages/cli/bin/cli-actions/export.js
+++ b/packages/cli/bin/cli-actions/export.js
@@ -3,8 +3,8 @@ const archive = require('../archive');
 const resolveConfig = require('../resolve-config');
 const wrapAsync = require('../utils').wrapAsync;
 
-const _export = options =>
-  wrapAsync(function*() {
+const _export = (options) =>
+  wrapAsync(function* () {
     const config = yield resolveConfig(options.parent.config);
     archive(config);
   });
diff --git a/packages/cli/bin/cli-actions/init.js b/packages/cli/bin/cli-actions/init.js
index f7bbd2f34..5016a68df 100644
--- a/packages/cli/bin/cli-actions/init.js
+++ b/packages/cli/bin/cli-actions/init.js
@@ -16,8 +16,8 @@ const defaultPatternlabConfig = patternlab.getDefaultConfig();
 // https://github.com/TehShrike/deepmerge#overwrite-array
 const overwriteMerge = (destinationArray, sourceArray, options) => sourceArray;
 
-const init = options =>
-  wrapAsync(function*() {
+const init = (options) =>
+  wrapAsync(function* () {
     const sourceDir = 'source';
     const publicDir = 'public';
     const exportDir = 'pattern_exports';
diff --git a/packages/cli/bin/cli-actions/install.js b/packages/cli/bin/cli-actions/install.js
index 28aa8a445..9c070bb17 100644
--- a/packages/cli/bin/cli-actions/install.js
+++ b/packages/cli/bin/cli-actions/install.js
@@ -11,8 +11,8 @@ const writeJsonAsync = require('../utils').writeJsonAsync;
  * @desc Handles async install and activation of starterkits/plugins
  * @param {object} options
  */
-const install = options =>
-  wrapAsync(function*() {
+const install = (options) =>
+  wrapAsync(function* () {
     const config = yield resolveConfig(options.parent.config);
 
     const spinner = ora(
@@ -21,8 +21,8 @@ const install = options =>
 
     if (options.starterkits && Array.isArray(options.starterkits)) {
       const starterkits = yield Promise.all(
-        options.starterkits.map(starterkit =>
-          wrapAsync(function*() {
+        options.starterkits.map((starterkit) =>
+          wrapAsync(function* () {
             spinner.text = `⊙ patternlab → Installing starterkit: ${starterkit}`;
             return yield installStarterkit(
               {
@@ -42,8 +42,8 @@ const install = options =>
     }
     if (options.plugins && Array.isArray(options.plugins)) {
       const plugins = yield Promise.all(
-        options.plugins.map(plugin =>
-          wrapAsync(function*() {
+        options.plugins.map((plugin) =>
+          wrapAsync(function* () {
             return yield installPlugin(
               {
                 name: plugin,
diff --git a/packages/cli/bin/cli-actions/serve.js b/packages/cli/bin/cli-actions/serve.js
index 6e2cc8fd2..9ef4e42f2 100644
--- a/packages/cli/bin/cli-actions/serve.js
+++ b/packages/cli/bin/cli-actions/serve.js
@@ -3,8 +3,8 @@ const resolveConfig = require('../resolve-config');
 const servePatterns = require('../serve');
 const wrapAsync = require('../utils').wrapAsync;
 
-const serve = options =>
-  wrapAsync(function*() {
+const serve = (options) =>
+  wrapAsync(function* () {
     const config = yield resolveConfig(options.parent.config);
     servePatterns(config, options);
   });
diff --git a/packages/cli/bin/inquiries/edition.js b/packages/cli/bin/inquiries/edition.js
index f62dba232..fca4958f2 100644
--- a/packages/cli/bin/inquiries/edition.js
+++ b/packages/cli/bin/inquiries/edition.js
@@ -28,7 +28,7 @@ const editionSetup = [
         value: false,
       },
     ],
-    default: function() {
+    default: function () {
       return {
         name: 'Handlebars',
         value: '@pattern-lab/edition-node',
diff --git a/packages/cli/bin/install-edition.js b/packages/cli/bin/install-edition.js
index 3d6047fb6..41392c8c9 100644
--- a/packages/cli/bin/install-edition.js
+++ b/packages/cli/bin/install-edition.js
@@ -22,7 +22,7 @@ const overwriteMerge = (destinationArray, sourceArray, options) => sourceArray;
 const installEdition = (edition, config, projectDir) => {
   const pkg = require(path.resolve(projectDir, 'package.json'));
 
-  return wrapAsync(function*() {
+  return wrapAsync(function* () {
     /**
      * 1. Trigger edition install
      * 2. Copy over the mandatory edition files to sourceDir
diff --git a/packages/cli/bin/install-plugin.js b/packages/cli/bin/install-plugin.js
index ee1d18d5d..f152076b0 100644
--- a/packages/cli/bin/install-plugin.js
+++ b/packages/cli/bin/install-plugin.js
@@ -6,7 +6,7 @@ const { checkAndInstallPackage, wrapAsync } = require('./utils');
 const { resolveFileInPackage } = require('@pattern-lab/core/src/lib/resolver');
 
 const installPlugin = (plugin, config) =>
-  wrapAsync(function*() {
+  wrapAsync(function* () {
     const name = plugin.name || plugin;
     yield checkAndInstallPackage(name);
     // Put the installed plugin in the patternlab-config.json
diff --git a/packages/cli/bin/install-starterkit.js b/packages/cli/bin/install-starterkit.js
index 5de245b1e..016548737 100644
--- a/packages/cli/bin/install-starterkit.js
+++ b/packages/cli/bin/install-starterkit.js
@@ -13,7 +13,7 @@ const {
 } = require('@pattern-lab/core/src/lib/resolver');
 
 const installStarterkit = (starterkit, config) =>
-  wrapAsync(function*() {
+  wrapAsync(function* () {
     const sourceDir = config.paths.source.root;
     const name = starterkit.value || starterkit;
     yield checkAndInstallPackage(name);
diff --git a/packages/cli/bin/patternlab.js b/packages/cli/bin/patternlab.js
index 80c12acfb..e2ed6cd1e 100755
--- a/packages/cli/bin/patternlab.js
+++ b/packages/cli/bin/patternlab.js
@@ -16,11 +16,11 @@ const { error, log } = require('./utils');
 const pkg = require('../package.json');
 
 // Register info and error logging
-log.on('patternlab.error', err => console.log(err)); // eslint-disable-line
-log.on('patternlab.info', msg => console.log(msg)); // eslint-disable-line
+log.on('patternlab.error', (err) => console.log(err)); // eslint-disable-line
+log.on('patternlab.info', (msg) => console.log(msg)); // eslint-disable-line
 
 // Conditionally register verbose logging
-const verboseLogs = () => log.on('patternlab.debug', msg => console.log(msg)); // eslint-disable-line
+const verboseLogs = () => log.on('patternlab.debug', (msg) => console.log(msg)); // eslint-disable-line
 
 // Conditionally unregister all logging
 const silenceLogs = () => {
@@ -30,7 +30,7 @@ const silenceLogs = () => {
 };
 
 // Split strings into an array
-const list = val => val.split(',');
+const list = (val) => val.split(',');
 
 /**
  * Hook up cli version, usage and options
@@ -42,7 +42,7 @@ cli
   .option(
     '-c, --config <path>',
     'Specify config file. Default looks up the project dir',
-    val => val.trim(),
+    (val) => val.trim(),
     path.resolve(process.cwd(), 'patternlab-config.json')
   )
   .option('-v, --verbose', 'Show verbose console logs', verboseLogs)
diff --git a/packages/cli/bin/resolve-config.js b/packages/cli/bin/resolve-config.js
index f34c5e083..968719b0d 100644
--- a/packages/cli/bin/resolve-config.js
+++ b/packages/cli/bin/resolve-config.js
@@ -12,7 +12,7 @@ const wrapAsync = require('./utils').wrapAsync;
  * @return {object|boolean} Returns the config object or false otherwise.
  */
 function resolveConfig(configPath) {
-  return wrapAsync(function*() {
+  return wrapAsync(function* () {
     if (typeof configPath !== 'string') {
       error(
         'resolveConfig: If configPath is set, it is expected to be of type string.'
diff --git a/packages/cli/bin/scaffold.js b/packages/cli/bin/scaffold.js
index de1e4df73..ac2b4378b 100644
--- a/packages/cli/bin/scaffold.js
+++ b/packages/cli/bin/scaffold.js
@@ -15,7 +15,7 @@ const mkdirsAsync = require('./utils').mkdirsAsync;
  * @return {void}
  */
 const scaffold = (projectDir, sourceDir, publicDir, exportDir) =>
-  wrapAsync(function*() {
+  wrapAsync(function* () {
     const projectPath = path.join(process.cwd(), projectDir);
     if (!fs.existsSync(path.join(projectPath, 'package.json'))) {
       fs.ensureDirSync(projectPath);
diff --git a/packages/cli/bin/utils.js b/packages/cli/bin/utils.js
index a9cdcaf63..dbf6e3aa8 100644
--- a/packages/cli/bin/utils.js
+++ b/packages/cli/bin/utils.js
@@ -66,7 +66,7 @@ const error = log.error.bind(log);
  * @desc Wraps an generator function to yield out promisified stuff
  * @param {function} fn - Takes a generator function
  */
-const wrapAsync = fn =>
+const wrapAsync = (fn) =>
   new Promise((resolve, reject) => {
     const generator = fn();
     /* eslint-disable */
@@ -84,9 +84,7 @@ const wrapAsync = fn =>
       if (res.done) {
         return resolve(v);
       }
-      Promise.resolve(v)
-        .then(spwn)
-        .catch(spwn);
+      Promise.resolve(v).then(spwn).catch(spwn);
     })();
     /* eslint-enable */
   });
@@ -114,13 +112,13 @@ const asyncGlob = (pattern, opts) =>
  * @return {Promise}
  */
 const copyWithPattern = (cwd, pattern, dest) =>
-  wrapAsync(function*() {
+  wrapAsync(function* () {
     const files = yield asyncGlob(pattern, { cwd: cwd });
     if (files.length === 0) {
       debug('copy: Nothing to copy');
     }
     // Copy concurrently
-    const promises = files.map(file =>
+    const promises = files.map((file) =>
       fs.copy(path.join(cwd, file), path.join(dest, file))
     );
     return yield Promise.all(promises);
@@ -131,8 +129,8 @@ const copyWithPattern = (cwd, pattern, dest) =>
  * @desc Fetches packages from an npm package registry and adds a reference in the package.json under dependencies
  * @param {string} packageName - The package name
  */
-const fetchPackage = packageName =>
-  wrapAsync(function*() {
+const fetchPackage = (packageName) =>
+  wrapAsync(function* () {
     const useYarn = hasYarn();
     const pm = useYarn ? 'yarn' : 'npm';
     const installCmd = useYarn ? 'add' : 'install';
@@ -159,8 +157,8 @@ const fetchPackage = packageName =>
  * @param {string} packageName - The package name
  * @return {boolean}
  */
-const checkAndInstallPackage = packageName =>
-  wrapAsync(function*() {
+const checkAndInstallPackage = (packageName) =>
+  wrapAsync(function* () {
     try {
       resolvePackageFolder(packageName);
       return true;
@@ -186,7 +184,7 @@ const noop = () => {};
  * @param {object} data
  */
 const writeJsonAsync = (filePath, data) =>
-  wrapAsync(function*() {
+  wrapAsync(function* () {
     yield fs.outputJSON(filePath, data, { spaces: 2 });
   });
 
@@ -198,7 +196,7 @@ const writeJsonAsync = (filePath, data) =>
  * @param {object} fileName - the filePath of the JSON
  */
 const getJSONKey = (packageName, key, fileName = 'package.json') =>
-  wrapAsync(function*() {
+  wrapAsync(function* () {
     yield checkAndInstallPackage(packageName);
     const jsonData = yield fs.readJson(
       resolveFileInPackage(packageName, fileName)
diff --git a/packages/core/scripts/docs.js b/packages/core/scripts/docs.js
index 8b0907aca..92d16092c 100644
--- a/packages/core/scripts/docs.js
+++ b/packages/core/scripts/docs.js
@@ -18,7 +18,7 @@ doc
     'name-format': 'backticks',
     template: fs.readFileSync('./scripts/api.handlebars', 'utf8'),
   })
-  .then(x => {
+  .then((x) => {
     fs.outputFile(path.resolve(process.cwd(), './docs/README.md'), x);
   });
 
@@ -29,6 +29,6 @@ doc
     'name-format': 'backticks',
     template: fs.readFileSync('./scripts/events.handlebars', 'utf8'),
   })
-  .then(x => {
+  .then((x) => {
     fs.outputFile(path.resolve(process.cwd(), './docs/events.md'), x);
   });
diff --git a/packages/core/src/index.js b/packages/core/src/index.js
index 1d26387ea..371c6c149 100644
--- a/packages/core/src/index.js
+++ b/packages/core/src/index.js
@@ -41,7 +41,7 @@ updateNotifier({
  * @static
  * @return {object} Returns the object representation of the `patternlab-config.json`
  */
-const getDefaultConfig = function() {
+const getDefaultConfig = function () {
   return defaultConfig;
 };
 
@@ -53,11 +53,11 @@ const getDefaultConfig = function() {
  * @static
  * @returns {string} current @pattern-lab/core version as defined in `package.json`
  */
-const getVersion = function() {
+const getVersion = function () {
   return packageInfo.version;
 };
 
-const patternlab_module = function(config) {
+const patternlab_module = function (config) {
   const PatternLabClass = require('./lib/patternlab');
   const patternlab = new PatternLabClass(config);
   const server = serverModule(patternlab);
@@ -71,7 +71,7 @@ const patternlab_module = function(config) {
      * @instance
      * @returns {string} current patternlab-node version as defined in `package.json`, as string
      */
-    version: function() {
+    version: function () {
       return patternlab.getVersion();
     },
 
@@ -95,7 +95,7 @@ const patternlab_module = function(config) {
      * @instance
      * @returns {boolean} if pattern lab is currently busy compiling
      */
-    isBusy: function() {
+    isBusy: function () {
       return patternlab.isBusy;
     },
 
@@ -114,7 +114,7 @@ const patternlab_module = function(config) {
      * @see {@link ./events.md|all events}
      * @returns {Promise} a promise fulfilled when build is complete
      */
-    build: async function(options) {
+    build: async function (options) {
       // process.on('unhandledRejection', (reason, p) => {
       //   console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
       //   // application specific logging, throwing an error, or other logic here
@@ -186,7 +186,7 @@ const patternlab_module = function(config) {
      * @instance
      * @return {object} Returns the object representation of the `patternlab-config.json`
      */
-    getDefaultConfig: function() {
+    getDefaultConfig: function () {
       return getDefaultConfig();
     },
 
@@ -198,7 +198,7 @@ const patternlab_module = function(config) {
      * @instance
      * @returns {Array<string>} all supported file extensions
      */
-    getSupportedTemplateExtensions: function() {
+    getSupportedTemplateExtensions: function () {
       return patternlab.getSupportedTemplateExtensions();
     },
 
@@ -210,7 +210,7 @@ const patternlab_module = function(config) {
      * @instance
      * @returns {Promise} Returns an Array<{name,url}> for the starterkit repos
      */
-    liststarterkits: function() {
+    liststarterkits: function () {
       return patternlab.listStarterkits();
     },
 
@@ -224,7 +224,7 @@ const patternlab_module = function(config) {
      * @param {boolean} clean whether or not to delete contents of source/ before load
      * @returns {void}
      */
-    loadstarterkit: function(starterkitName, clean) {
+    loadstarterkit: function (starterkitName, clean) {
       patternlab.loadStarterKit(starterkitName, clean);
     },
 
@@ -239,7 +239,7 @@ const patternlab_module = function(config) {
      * @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
      * @returns {Promise} a promise fulfilled when build is complete
      */
-    patternsonly: async function(options) {
+    patternsonly: async function (options) {
       if (patternlab && patternlab.isBusy) {
         logger.info(
           'Pattern Lab is busy building a previous run - returning early.'
@@ -274,11 +274,11 @@ const patternlab_module = function(config) {
        * @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
        * @returns {Promise} a promise fulfilled when build is complete
        */
-      serve: options => {
+      serve: (options) => {
         return _api
           .build(options)
           .then(() => server.serve())
-          .catch(e =>
+          .catch((e) =>
             logger.error(`error inside core index.js server serve: ${e}`)
           );
       },
diff --git a/packages/uikit-workshop/build/webpack-dev-server-waitpage/index.js b/packages/uikit-workshop/build/webpack-dev-server-waitpage/index.js
index 600568619..c4376d45d 100644
--- a/packages/uikit-workshop/build/webpack-dev-server-waitpage/index.js
+++ b/packages/uikit-workshop/build/webpack-dev-server-waitpage/index.js
@@ -43,7 +43,7 @@ const webpackDevServerWaitpage = (server, options) => {
   const compilers = server.compilers;
   //  || [server.middleware.context.compiler];
   for (let i = 0; i < compilers.length; i++) {
-    new webpack.ProgressPlugin(function() {
+    new webpack.ProgressPlugin(function () {
       data.progress[i] = arguments;
     }).apply(compilers[i]);
   }
@@ -53,8 +53,8 @@ const webpackDevServerWaitpage = (server, options) => {
     if (
       fs
         .readdirSync(__dirname)
-        .filter(x => x.endsWith('.ejs'))
-        .map(x => x.slice(0, -4))
+        .filter((x) => x.endsWith('.ejs'))
+        .map((x) => x.slice(0, -4))
         .indexOf(options.theme) < 0
     ) {
       throw new Error(`Unknown theme provided: ${options.theme}`);
@@ -66,12 +66,12 @@ const webpackDevServerWaitpage = (server, options) => {
   }
 
   // eslint-disable-next-line no-return-assign
-  Object.keys(options).forEach(key => (data[key] = options[key])); // expend data with options
+  Object.keys(options).forEach((key) => (data[key] = options[key])); // expend data with options
 
   let wasValid = false;
 
   return async (req, res, next) => {
-    const valid = data.progress.every(p => p[0] === 1);
+    const valid = data.progress.every((p) => p[0] === 1);
     wasValid = wasValid || valid;
 
     if (
diff --git a/packages/uikit-workshop/build/webpack-server.js b/packages/uikit-workshop/build/webpack-server.js
index a6c42dc47..397d1aa5e 100644
--- a/packages/uikit-workshop/build/webpack-server.js
+++ b/packages/uikit-workshop/build/webpack-server.js
@@ -27,10 +27,10 @@ async function serve(patternlab, configPath, buildDir = 'public') {
 
   const port = await portfinder
     .getPortPromise()
-    .then(portNo => {
+    .then((portNo) => {
       return portNo;
     })
-    .catch(err => {
+    .catch((err) => {
       console.log(err);
       return 3000;
     });
@@ -39,10 +39,10 @@ async function serve(patternlab, configPath, buildDir = 'public') {
   const filesToWatch = [
     {
       match: [`${process.cwd()}/patternlab-config.json`],
-      fn: async function(event, filePath) {
+      fn: async function (event, filePath) {
         // when the main PL config changes, clear Node's cache (so the JSON config is re-read) and trigger another PL build
         // this allows config changes to show up without restarting the build!
-        Object.keys(require.cache).forEach(function(key) {
+        Object.keys(require.cache).forEach(function (key) {
           delete require.cache[key];
         });
 
@@ -59,7 +59,7 @@ async function serve(patternlab, configPath, buildDir = 'public') {
     `${root}/**/*.js`,
     {
       match: [`${root}/**/*.svg`, `${root}/**/*.png`, `${root}/**/*.jpg`],
-      fn: async function() {
+      fn: async function () {
         browserSync.reload();
       },
     },
@@ -69,7 +69,7 @@ async function serve(patternlab, configPath, buildDir = 'public') {
         path.join(process.cwd(), `${root}/*.html`),
         path.join(process.cwd(), `${root}/styleguide/html/*.html`),
       ],
-      fn: async function(event, filePath) {
+      fn: async function (event, filePath) {
         let updatedHash = false;
 
         const hash = await hasha.fromFile(
@@ -105,7 +105,7 @@ async function serve(patternlab, configPath, buildDir = 'public') {
       },
       files: filesToWatch,
     },
-    function(err, bs) {
+    function (err, bs) {
       // assigned port from browsersync based on what's available
       const assignedPort = bs.options.get('port');
       opn(`http://localhost:${assignedPort}`);
diff --git a/packages/uikit-workshop/src/scripts/actions/app.js b/packages/uikit-workshop/src/scripts/actions/app.js
index 2b2f9813c..16ed551bb 100644
--- a/packages/uikit-workshop/src/scripts/actions/app.js
+++ b/packages/uikit-workshop/src/scripts/actions/app.js
@@ -9,7 +9,10 @@ export const UPDATE_CURRENT_URL = 'UPDATE_CURRENT_URL';
 export const UPDATE_CURRENT_PATTERN = 'UPDATE_CURRENT_PATTERN';
 export const IS_VIEWALL_PAGE = 'IS_VIEWALL_PAGE';
 
-export const updateCurrentPattern = currentPattern => (dispatch, getState) => {
+export const updateCurrentPattern = (currentPattern) => (
+  dispatch,
+  getState
+) => {
   if (getState().app.currentPattern !== currentPattern) {
     dispatch({
       type: UPDATE_CURRENT_PATTERN,
@@ -18,7 +21,7 @@ export const updateCurrentPattern = currentPattern => (dispatch, getState) => {
   }
 };
 
-export const updateCurrentUrl = currentUrl => (dispatch, getState) => {
+export const updateCurrentUrl = (currentUrl) => (dispatch, getState) => {
   if (getState().app.currentUrl !== currentUrl) {
     dispatch({
       type: UPDATE_CURRENT_URL,
@@ -27,7 +30,7 @@ export const updateCurrentUrl = currentUrl => (dispatch, getState) => {
   }
 };
 
-export const updateLayoutMode = layoutMode => (dispatch, getState) => {
+export const updateLayoutMode = (layoutMode) => (dispatch, getState) => {
   if (getState().app.layoutMode !== layoutMode) {
     dispatch({
       type: UPDATE_LAYOUT_MODE,
@@ -36,7 +39,7 @@ export const updateLayoutMode = layoutMode => (dispatch, getState) => {
   }
 };
 
-export const updateViewportPx = viewportPx => (dispatch, getState) => {
+export const updateViewportPx = (viewportPx) => (dispatch, getState) => {
   if (getState().app.viewportPx !== viewportPx) {
     dispatch({
       type: UPDATE_VIEWPORT_PX,
@@ -45,7 +48,7 @@ export const updateViewportPx = viewportPx => (dispatch, getState) => {
   }
 };
 
-export const updateViewportEm = viewportEm => (dispatch, getState) => {
+export const updateViewportEm = (viewportEm) => (dispatch, getState) => {
   if (getState().app.viewportEm !== viewportEm) {
     dispatch({
       type: UPDATE_VIEWPORT_EM,
@@ -54,7 +57,7 @@ export const updateViewportEm = viewportEm => (dispatch, getState) => {
   }
 };
 
-export const updateThemeMode = themeMode => (dispatch, getState) => {
+export const updateThemeMode = (themeMode) => (dispatch, getState) => {
   if (getState().app.themeMode !== themeMode) {
     dispatch({
       type: UPDATE_THEME_MODE,
@@ -63,7 +66,7 @@ export const updateThemeMode = themeMode => (dispatch, getState) => {
   }
 };
 
-export const updateDrawerState = opened => (dispatch, getState) => {
+export const updateDrawerState = (opened) => (dispatch, getState) => {
   if (getState().app.drawerOpened !== opened) {
     dispatch({
       type: UPDATE_DRAWER_STATE,
@@ -72,7 +75,7 @@ export const updateDrawerState = opened => (dispatch, getState) => {
   }
 };
 
-export const updateDrawerAnimationState = drawerIsAnimating => (
+export const updateDrawerAnimationState = (drawerIsAnimating) => (
   dispatch,
   getState
 ) => {
@@ -84,7 +87,7 @@ export const updateDrawerAnimationState = drawerIsAnimating => (
   }
 };
 
-export const updateDrawerHeight = height => (dispatch, getState) => {
+export const updateDrawerHeight = (height) => (dispatch, getState) => {
   if (getState().app.drawerHeight !== height) {
     dispatch({
       type: UPDATE_DRAWER_HEIGHT,
@@ -93,7 +96,7 @@ export const updateDrawerHeight = height => (dispatch, getState) => {
   }
 };
 
-export const isViewallPage = isViewall => (dispatch, getState) => {
+export const isViewallPage = (isViewall) => (dispatch, getState) => {
   if (getState().app.isViewallPage !== isViewall) {
     dispatch({
       type: IS_VIEWALL_PAGE,
diff --git a/packages/uikit-workshop/src/scripts/components/base-skate-element.js b/packages/uikit-workshop/src/scripts/components/base-skate-element.js
index 4513b3349..47bca23b8 100644
--- a/packages/uikit-workshop/src/scripts/components/base-skate-element.js
+++ b/packages/uikit-workshop/src/scripts/components/base-skate-element.js
@@ -2,7 +2,7 @@ import { dashCase, empty, keys } from 'skatejs/dist/esnext/util';
 
 const _extends =
   Object.assign ||
-  function(target) {
+  function (target) {
     for (let i = 1; i < arguments.length; i++) {
       const source = arguments[i];
       for (const key in source) {
@@ -54,7 +54,7 @@ function defineProps(constructor) {
     return;
   }
   const { props } = constructor;
-  keys(props).forEach(name => {
+  keys(props).forEach((name) => {
     let func = props[name] || props.any;
     if (defaultTypesMap.has(func)) {
       func = defaultTypesMap.get(func);
@@ -78,7 +78,7 @@ export function prop(definition) {
   const propertyDefinition = definition || {};
 
   // Allows decorators, or imperative definitions.
-  const func = function({ constructor }, name) {
+  const func = function ({ constructor }, name) {
     const normalized = normalizePropertyDefinition(name, propertyDefinition);
 
     // Ensure that we can cache properties. We have to do this so the _props object literal doesn't modify parent
@@ -128,7 +128,7 @@ export function prop(definition) {
 
   // Allows easy extension of pre-defined props { ...prop(), ...{} }.
   Object.keys(propertyDefinition).forEach(
-    key => (func[key] = propertyDefinition[key])
+    (key) => (func[key] = propertyDefinition[key])
   );
 
   return func;
@@ -172,7 +172,7 @@ export class SkateElement extends HTMLElement {
 
   set props(props) {
     const ctorProps = this.constructor.props;
-    keys(props).forEach(k => k in ctorProps && (this[k] = props[k]));
+    keys(props).forEach((k) => k in ctorProps && (this[k] = props[k]));
   }
 
   get state() {
@@ -255,7 +255,7 @@ SkateElement._props = {};
 
 const { parse, stringify } = JSON;
 const attribute = Object.freeze({ source: true });
-const zeroOrNumber = val => (empty(val) ? 0 : Number(val));
+const zeroOrNumber = (val) => (empty(val) ? 0 : Number(val));
 
 const any = prop({
   attribute,
@@ -263,7 +263,7 @@ const any = prop({
 
 const array = prop({
   attribute,
-  coerce: val => (Array.isArray(val) ? val : empty(val) ? null : [val]),
+  coerce: (val) => (Array.isArray(val) ? val : empty(val) ? null : [val]),
   default: Object.freeze([]),
   deserialize: parse,
   serialize: stringify,
@@ -273,8 +273,8 @@ const boolean = prop({
   attribute,
   coerce: Boolean,
   default: false,
-  deserialize: val => !empty(val),
-  serialize: val => (val ? '' : null),
+  deserialize: (val) => !empty(val),
+  serialize: (val) => (val ? '' : null),
 });
 
 const number = prop({
@@ -282,7 +282,7 @@ const number = prop({
   default: 0,
   coerce: zeroOrNumber,
   deserialize: zeroOrNumber,
-  serialize: val => (empty(val) ? null : String(Number(val))),
+  serialize: (val) => (empty(val) ? null : String(Number(val))),
 });
 
 const object = prop({
@@ -296,7 +296,7 @@ const string = prop({
   attribute,
   default: '',
   coerce: String,
-  serialize: val => (empty(val) ? null : String(val)),
+  serialize: (val) => (empty(val) ? null : String(val)),
 });
 
 defaultTypesMap.set(Array, array);
diff --git a/packages/uikit-workshop/src/scripts/components/base-skate-preact-element.js b/packages/uikit-workshop/src/scripts/components/base-skate-preact-element.js
index 33b761570..884d7c61e 100644
--- a/packages/uikit-workshop/src/scripts/components/base-skate-preact-element.js
+++ b/packages/uikit-workshop/src/scripts/components/base-skate-preact-element.js
@@ -1,6 +1,6 @@
 const _extends =
   Object.assign ||
-  function(target) {
+  function (target) {
     for (let i = 1; i < arguments.length; i++) {
       const source = arguments[i];
       for (const key in source) {
diff --git a/packages/uikit-workshop/src/scripts/components/copy-to-clipboard.js b/packages/uikit-workshop/src/scripts/components/copy-to-clipboard.js
index 5b8d0b16e..60cb46a8b 100644
--- a/packages/uikit-workshop/src/scripts/components/copy-to-clipboard.js
+++ b/packages/uikit-workshop/src/scripts/components/copy-to-clipboard.js
@@ -5,7 +5,7 @@
 import Clipboard from 'clipboard';
 
 const clipboard = new Clipboard('.pl-js-code-copy-btn');
-clipboard.on('success', function(e) {
+clipboard.on('success', function (e) {
   const copyButton = document.querySelectorAll('.pl-js-code-copy-btn');
   for (let i = 0; i < copyButton.length; i++) {
     copyButton[i].querySelector('.pl-c-code-copy-btn__icon-text').innerText =
diff --git a/packages/uikit-workshop/src/scripts/components/modal-styleguide.js b/packages/uikit-workshop/src/scripts/components/modal-styleguide.js
index 1eefbccae..e3e0cdda8 100644
--- a/packages/uikit-workshop/src/scripts/components/modal-styleguide.js
+++ b/packages/uikit-workshop/src/scripts/components/modal-styleguide.js
@@ -23,7 +23,7 @@ export const modalStyleguide = {
     const toggles = document.querySelectorAll('.pl-js-pattern-extra-toggle');
 
     for (let i = 0; i < toggles.length; i++) {
-      toggles[i].addEventListener('click', e => {
+      toggles[i].addEventListener('click', (e) => {
         const patternPartial = toggles[i].getAttribute('data-patternpartial');
         modalStyleguide.toggle(patternPartial);
       });
@@ -257,8 +257,8 @@ export const modalStyleguide = {
               annotationTip.style.display = 'inline-flex';
             }
 
-            elsToHighlight[j].onclick = (function(el) {
-              return function(event) {
+            elsToHighlight[j].onclick = (function (el) {
+              return function (event) {
                 event.preventDefault();
                 event.stopPropagation();
                 const obj = JSON.stringify({
diff --git a/packages/uikit-workshop/src/scripts/components/modal-viewer.js b/packages/uikit-workshop/src/scripts/components/modal-viewer.js
index 3b9b736f0..3052b77a6 100644
--- a/packages/uikit-workshop/src/scripts/components/modal-viewer.js
+++ b/packages/uikit-workshop/src/scripts/components/modal-viewer.js
@@ -178,8 +178,8 @@ export const modalViewer = {
   },
 
   addClickEvents(contentContainer = document) {
-    contentContainer.querySelectorAll('.pl-js-lineage-link').forEach(link => {
-      link.addEventListener('click', e => {
+    contentContainer.querySelectorAll('.pl-js-lineage-link').forEach((link) => {
+      link.addEventListener('click', (e) => {
         const patternPartial = e.target.getAttribute('data-patternpartial');
 
         if (patternPartial && modalViewer.iframeCustomElement) {
@@ -233,7 +233,7 @@ export const modalViewer = {
         scrollTo(patternInfoElem, document.body, {
           top: els[i].offsetTop - 14,
           behavior: 'smooth',
-        }).then(function() {
+        }).then(function () {
           // console.log('finished scrolling');
         });
       }
diff --git a/packages/uikit-workshop/src/scripts/components/panels-util.js b/packages/uikit-workshop/src/scripts/components/panels-util.js
index 45ed1c12f..a485e3c97 100644
--- a/packages/uikit-workshop/src/scripts/components/panels-util.js
+++ b/packages/uikit-workshop/src/scripts/components/panels-util.js
@@ -12,7 +12,7 @@ export const panelsUtil = {
   addClickEvents(templateRendered, patternPartial) {
     const els = templateRendered.querySelectorAll('.pl-js-tab-link');
     for (let i = 0; i < els.length; ++i) {
-      els[i].onclick = function(e) {
+      els[i].onclick = function (e) {
         e.preventDefault();
 
         const partial = this.getAttribute('data-patternpartial');
diff --git a/packages/uikit-workshop/src/scripts/components/pl-copy-to-clipboard/pl-copy-to-clipboard.js b/packages/uikit-workshop/src/scripts/components/pl-copy-to-clipboard/pl-copy-to-clipboard.js
index 5b8d0b16e..60cb46a8b 100755
--- a/packages/uikit-workshop/src/scripts/components/pl-copy-to-clipboard/pl-copy-to-clipboard.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-copy-to-clipboard/pl-copy-to-clipboard.js
@@ -5,7 +5,7 @@
 import Clipboard from 'clipboard';
 
 const clipboard = new Clipboard('.pl-js-code-copy-btn');
-clipboard.on('success', function(e) {
+clipboard.on('success', function (e) {
   const copyButton = document.querySelectorAll('.pl-js-code-copy-btn');
   for (let i = 0; i < copyButton.length; i++) {
     copyButton[i].querySelector('.pl-c-code-copy-btn__icon-text').innerText =
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js b/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js
index 65b8db12e..608c7775a 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/get-parents.js
@@ -7,7 +7,7 @@ export const getParents = (elem, selector) => {
       Element.prototype.msMatchesSelector ||
       Element.prototype.oMatchesSelector ||
       Element.prototype.webkitMatchesSelector ||
-      function(s) {
+      function (s) {
         const matches = (this.document || this.ownerDocument).querySelectorAll(
             s
           ),
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.iframe-helper.js b/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.iframe-helper.js
index 710e2d3c2..5b2a0fd13 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.iframe-helper.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.iframe-helper.js
@@ -2,7 +2,7 @@
 import Mousetrap from 'mousetrap';
 import { targetOrigin } from '../../utils';
 
-document.addEventListener('click', function() {
+document.addEventListener('click', function () {
   try {
     const obj = JSON.stringify({
       event: 'patternLab.pageClick',
@@ -13,7 +13,7 @@ document.addEventListener('click', function() {
   }
 });
 
-Mousetrap.bind('esc', function(e) {
+Mousetrap.bind('esc', function (e) {
   try {
     const obj = JSON.stringify({
       event: 'patternLab.keyPress',
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.js b/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.js
index 8156ffcf6..5ea423bad 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/pl-nav.js
@@ -118,25 +118,25 @@ class Nav extends BaseComponent {
 
     if (topLevelOnly === true && window.innerWidth > 670) {
       this.navContainer.classList.remove('pl-is-active');
-      this.topLevelTriggers.forEach(trigger => {
+      this.topLevelTriggers.forEach((trigger) => {
         trigger.classList.remove('pl-is-active');
         trigger.nextSibling.classList.remove('pl-is-active');
       });
     } else {
       if (this.layoutMode !== 'vertical') {
         this.navContainer.classList.remove('pl-is-active');
-        this.navAccordionTriggers.forEach(trigger => {
+        this.navAccordionTriggers.forEach((trigger) => {
           trigger.classList.remove('pl-is-active');
         });
-        this.navAccordionPanels.forEach(panel => {
+        this.navAccordionPanels.forEach((panel) => {
           panel.classList.remove('pl-is-active');
         });
       } else if (this.layoutMode === 'vertical' && window.innerWidth <= 670) {
         this.navContainer.classList.remove('pl-is-active');
-        this.navAccordionTriggers.forEach(trigger => {
+        this.navAccordionTriggers.forEach((trigger) => {
           trigger.classList.remove('pl-is-active');
         });
-        this.navAccordionPanels.forEach(panel => {
+        this.navAccordionPanels.forEach((panel) => {
           panel.classList.remove('pl-is-active');
         });
       } else {
@@ -170,14 +170,14 @@ class Nav extends BaseComponent {
         getParents(this.activeLink, '.pl-js-acc-panel')
       );
 
-      panels.forEach(panel => {
+      panels.forEach((panel) => {
         const panelTrigger = panel.previousSibling;
         if (panelTrigger) {
           triggers.push(panelTrigger);
         }
       });
 
-      triggers.forEach(trigger => {
+      triggers.forEach((trigger) => {
         trigger.classList.add('pl-is-active');
         this.previousActiveLinks.push(trigger);
       });
@@ -221,7 +221,7 @@ class Nav extends BaseComponent {
         '.pl-c-nav__link--title.pl-is-active'
       );
 
-      this.topLevelTriggers.forEach(trigger => {
+      this.topLevelTriggers.forEach((trigger) => {
         if (trigger !== target) {
           trigger.classList.remove('pl-is-active');
           trigger.nextSibling.classList.remove('pl-is-active');
@@ -300,7 +300,7 @@ class Nav extends BaseComponent {
           !this.noViewAll && (
             <NavItem>
               <a
-                onClick={e => this.handleClick(e, 'all')}
+                onClick={(e) => this.handleClick(e, 'all')}
                 href="styleguide/html/styleguide.html"
                 class="pl-c-nav__link pl-c-nav__link--pattern"
                 data-patternpartial="all"
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavButton.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavButton.js
index 3ce1ee00d..550d21ebe 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavButton.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavButton.js
@@ -1,6 +1,6 @@
 import { h } from 'preact';
 
-export const NavButton = props => {
+export const NavButton = (props) => {
   return (
     <button
       className={`pl-c-nav__link pl-c-nav__link--dropdown pl-js-acc-handle`}
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavItem.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavItem.js
index b346cd3e9..48214ce49 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavItem.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavItem.js
@@ -1,7 +1,7 @@
 import { h } from 'preact';
 import cx from 'classnames';
 
-export const NavItem = props => {
+export const NavItem = (props) => {
   const classes = cx('pl-c-nav__item', props.className);
 
   return <li className={classes}>{props.children}</li>;
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavLink.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavLink.js
index 6a55dabb3..6966b1ff0 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavLink.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavLink.js
@@ -1,7 +1,7 @@
 import { h } from 'preact';
 import { PatternState } from './PatternState';
 
-export const NavLink = props => {
+export const NavLink = (props) => {
   return (
     <a
       href={`patterns/${props.item.patternPath}`}
@@ -12,7 +12,7 @@ export const NavLink = props => {
                 : 'pl-c-nav__link--subsublink'
             }
           `}
-      onClick={e => props.elem.handleClick(e, props.item.patternPartial)}
+      onClick={(e) => props.elem.handleClick(e, props.item.patternPartial)}
       data-patternpartial={props.item.patternPartial}
     >
       {props.item.isDocPattern && props.category
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavList.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavList.js
index 5b7b70a75..7268d4544 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavList.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavList.js
@@ -4,25 +4,25 @@ import { NavLink } from './NavLink';
 import { NavItem } from './NavItem';
 import { NavButton } from './NavButton';
 
-export const NavList = props => {
+export const NavList = (props) => {
   const { children, category, categoryName, elem } = props;
   const reorderedChildren = [];
 
   const nonViewAllItems = elem.noViewAll
-    ? children.filter(item => !item.isDocPattern)
+    ? children.filter((item) => !item.isDocPattern)
     : children.filter(
-        item => !item.isDocPattern && !item.patternName.includes(' Docs')
+        (item) => !item.isDocPattern && !item.patternName.includes(' Docs')
       );
   const viewAllItems = elem.noViewAll
     ? []
-    : children.filter(item => item.isDocPattern);
+    : children.filter((item) => item.isDocPattern);
 
   reorderedChildren.push(...viewAllItems, ...nonViewAllItems);
 
   return (
     <NavItem className={`pl-c-nav__item--${category.toLowerCase()}`}>
       {viewAllItems.length > 0 ? (
-        viewAllItems.map(patternSubgroupItem => (
+        viewAllItems.map((patternSubgroupItem) => (
           <div class="pl-c-nav__link--overview-wrapper">
             <NavLink
               category={category}
@@ -53,7 +53,7 @@ export const NavList = props => {
           id={category}
           className={`pl-c-nav__subsublist pl-c-nav__subsublist--dropdown pl-js-acc-panel`}
         >
-          {nonViewAllItems.map(patternSubgroupItem => (
+          {nonViewAllItems.map((patternSubgroupItem) => (
             <NavItem>
               <NavLink
                 category={category}
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavTitle.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavTitle.js
index 1ecc22548..fc47ff4db 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavTitle.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavTitle.js
@@ -1,6 +1,6 @@
 import { h } from 'preact';
 
-export const NavTitle = props => {
+export const NavTitle = (props) => {
   return (
     <button
       className={`pl-c-nav__link pl-c-nav__link--title pl-js-acc-handle`}
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavToggle.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavToggle.js
index f879e00f4..d4c1dbe65 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavToggle.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/NavToggle.js
@@ -1,6 +1,6 @@
 import { h } from 'preact';
 
-export const NavToggle = props => {
+export const NavToggle = (props) => {
   return (
     <button
       className={`pl-c-nav__link pl-c-nav__link--section-dropdown pl-js-acc-handle`}
diff --git a/packages/uikit-workshop/src/scripts/components/pl-nav/src/PatternState.js b/packages/uikit-workshop/src/scripts/components/pl-nav/src/PatternState.js
index 37a78093d..b92de40ba 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-nav/src/PatternState.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-nav/src/PatternState.js
@@ -1,6 +1,6 @@
 import { h } from 'preact';
 
-export const PatternState = props => {
+export const PatternState = (props) => {
   return (
     <span
       class={`pl-c-pattern-state pl-c-pattern-state--${props.variant}`}
diff --git a/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.iframe-helper.js b/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.iframe-helper.js
index f330c8cd7..b62896af0 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.iframe-helper.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.iframe-helper.js
@@ -2,7 +2,7 @@
 import Mousetrap from 'mousetrap';
 import { targetOrigin } from '../../utils';
 
-Mousetrap.bind('command+shift+f', function(e) {
+Mousetrap.bind('command+shift+f', function (e) {
   e.preventDefault();
 
   try {
diff --git a/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.js b/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.js
index 9e49a3e11..46d049a4f 100644
--- a/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.js
+++ b/packages/uikit-workshop/src/scripts/components/pl-search/pl-search.js
@@ -60,7 +60,7 @@ class Search extends BaseComponent {
   }
 
   connected() {
-    Mousetrap.bind('command+shift+f', function(e) {
+    Mousetrap.bind('command+shift+f', function (e) {
       e.preventDefault();
       this.toggleSearch();
     });
@@ -83,7 +83,7 @@ class Search extends BaseComponent {
     clearButtonText: props.string,
   };
 
-  onInput = e => {
+  onInput = (e) => {
     const value = e.target.value;
 
     this.setState({
@@ -130,7 +130,7 @@ class Search extends BaseComponent {
     }
   }
 
-  getSuggestionValue = suggestion => suggestion.label;
+  getSuggestionValue = (suggestion) => suggestion.label;
 
   renderSuggestion(item, { query, isHighlighted }) {
     return <span>{item.highlightedLabel}</span>;
@@ -156,9 +156,9 @@ class Search extends BaseComponent {
     const fuse = new Fuse(this.items, fuseOptions);
     const results = fuse.search(value);
 
-    const highlighter = function(item) {
+    const highlighter = function (item) {
       const resultItem = item;
-      resultItem.matches.forEach(matchItem => {
+      resultItem.matches.forEach((matchItem) => {
         const text = resultItem.item[matchItem.key];
         const result = [];
         const matches = [].concat(matchItem.indices);
@@ -182,14 +182,14 @@ class Search extends BaseComponent {
         );
 
         if (resultItem.children && resultItem.children.length > 0) {
-          resultItem.children.forEach(child => {
+          resultItem.children.forEach((child) => {
             highlighter(child);
           });
         }
       });
     };
 
-    results.forEach(resultItem => {
+    results.forEach((resultItem) => {
       highlighter(resultItem);
     });
 
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-drawer/pl-drawer.js b/packages/uikit-workshop/src/scripts/lit-components/pl-drawer/pl-drawer.js
index 1d1d52903..ccb0bfdc3 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-drawer/pl-drawer.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-drawer/pl-drawer.js
@@ -138,7 +138,7 @@ class Drawer extends LitElement {
                   title="Menu"
                   size="small"
                   icon-only="true"
-                  @click="${_ => store.dispatch(updateDrawerState(false))}"
+                  @click="${(_) => store.dispatch(updateDrawerState(false))}"
                 >
                   <pl-icon slot="after" name="close"></pl-icon>
                 </pl-button>
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-header/pl-header.js b/packages/uikit-workshop/src/scripts/lit-components/pl-header/pl-header.js
index 404fe38de..57f9b879b 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-header/pl-header.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-header/pl-header.js
@@ -109,9 +109,9 @@ class Header extends BaseLitComponent {
           ? html`
               <pl-logo
                 src-light="${window.config?.theme?.logo?.srcLight ||
-                  'styleguide/images/pattern-lab-logo--on-light.svg'}"
+                'styleguide/images/pattern-lab-logo--on-light.svg'}"
                 src-dark="${window.config?.theme?.logo?.srcDark ||
-                  'styleguide/images/pattern-lab-logo--on-dark.svg'}"
+                'styleguide/images/pattern-lab-logo--on-dark.svg'}"
                 url="${window.config?.theme?.logo?.url === '' ||
                 window.config?.theme?.logo?.url === 'none'
                   ? ''
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-icon/pl-icon.js b/packages/uikit-workshop/src/scripts/lit-components/pl-icon/pl-icon.js
index c04bb5256..0051771de 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-icon/pl-icon.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-icon/pl-icon.js
@@ -12,11 +12,11 @@ const icons = {};
 
 // automatically pull in every SVG icon file in from the icons folder
 const svgIcons = require.context('../../../icons', true, /\.svg$/);
-svgIcons.keys().forEach(iconName => {
+svgIcons.keys().forEach((iconName) => {
   const name = iconName.replace('./', '');
   const icon = import(`../../../icons/${name}`);
 
-  icon.then(Icon => {
+  icon.then((Icon) => {
     icons[Icon.default.id] = Icon.default;
   });
 });
@@ -65,9 +65,7 @@ class Icon extends LitElement {
       </svg>
     `;
 
-    return html`
-      ${unsafeHTML(svgMarkup)}
-    `;
+    return html` ${unsafeHTML(svgMarkup)} `;
   }
 }
 
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-icon/unsafe-svg.js b/packages/uikit-workshop/src/scripts/lit-components/pl-icon/unsafe-svg.js
index 2c2d74d56..25c4147d9 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-icon/unsafe-svg.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-icon/unsafe-svg.js
@@ -37,7 +37,7 @@ const previousValues = new WeakMap();
  * sanitized or escaped, as it may lead to cross-site-scripting
  * vulnerabilities.
  */
-export const unsafeSVG = directive(value => part => {
+export const unsafeSVG = directive((value) => (part) => {
   // if (!(part instanceof NodePart)) {
   //   throw new Error('unsafeSVG can only be used in text bindings');
   // }
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-logo/pl-logo.js b/packages/uikit-workshop/src/scripts/lit-components/pl-logo/pl-logo.js
index e1ad2dcc7..75eba1f21 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-logo/pl-logo.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-logo/pl-logo.js
@@ -54,9 +54,7 @@ class Logo extends BaseLitComponent {
           height="${ifDefined(this.height)}"
         />
         ${this.text && this.text !== ''
-          ? html`
-              <span class="pl-c-logo__text">${this.text}</span>
-            `
+          ? html` <span class="pl-c-logo__text">${this.text}</span> `
           : ''}
       </a>
     `;
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-toggle-theme/pl-toggle-theme.js b/packages/uikit-workshop/src/scripts/lit-components/pl-toggle-theme/pl-toggle-theme.js
index 929b798ec..31a8ebf65 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-toggle-theme/pl-toggle-theme.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-toggle-theme/pl-toggle-theme.js
@@ -72,7 +72,7 @@ class ThemeToggle extends LitElement {
       <pl-button
         class="pl-c-tools__action pl-c-toggle-theme__action"
         title="Switch Theme"
-        @click="${_ => store.dispatch(updateThemeMode(toggleThemeMode))}"
+        @click="${(_) => store.dispatch(updateThemeMode(toggleThemeMode))}"
       >
         Switch Theme
 
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-viewport-size-list/pl-viewport-size-list.iframe-helper.js b/packages/uikit-workshop/src/scripts/lit-components/pl-viewport-size-list/pl-viewport-size-list.iframe-helper.js
index 16c0e36b1..c1fe8b7a0 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-viewport-size-list/pl-viewport-size-list.iframe-helper.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-viewport-size-list/pl-viewport-size-list.iframe-helper.js
@@ -15,10 +15,10 @@ function sendPatternLabKeyEvent(e, name) {
   }
 }
 
-document.addEventListener('keydown', e => {
+document.addEventListener('keydown', (e) => {
   sendPatternLabKeyEvent(e, 'iframeKeyDownEvent');
 });
 
-document.addEventListener('keyup', e => {
+document.addEventListener('keyup', (e) => {
   sendPatternLabKeyEvent(e, 'iframeKeyUpEvent');
 });
diff --git a/packages/uikit-workshop/src/scripts/lit-components/pl-viewport/pl-viewport.js b/packages/uikit-workshop/src/scripts/lit-components/pl-viewport/pl-viewport.js
index ccf00a26f..0f1b95378 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/pl-viewport/pl-viewport.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/pl-viewport/pl-viewport.js
@@ -222,7 +222,7 @@ class IFrame extends BaseLitComponent {
       // this.iframe.style.width = theSize + 'px'; // resize viewport to desired size
 
       // auto-remove transition classes if not the animate param isn't set to true
-      setTimeout(function() {
+      setTimeout(function () {
         if (animate === true) {
           self.iframeContainer.classList.remove('is-animating');
           self.iframe.classList.remove('is-animating');
@@ -255,7 +255,7 @@ class IFrame extends BaseLitComponent {
       this.origOrientation = window.orientation;
       window.addEventListener(
         'orientationchange',
-        function() {
+        function () {
           if (window.orientation !== this.origOrientation) {
             const newWidth = window.innerWidth;
             self.iframeContainer.style.width = newWidth;
@@ -468,7 +468,7 @@ class IFrame extends BaseLitComponent {
 
     document.body.addEventListener(
       'mouseup',
-      function() {
+      function () {
         self.iframeCover.removeEventListener(
           'mousemove',
           handleIframeCoverResize
diff --git a/packages/uikit-workshop/src/scripts/lit-components/slotify.js b/packages/uikit-workshop/src/scripts/lit-components/slotify.js
index f3177ad5e..23aeccd6b 100644
--- a/packages/uikit-workshop/src/scripts/lit-components/slotify.js
+++ b/packages/uikit-workshop/src/scripts/lit-components/slotify.js
@@ -1,4 +1,4 @@
-export const Slotify = Base =>
+export const Slotify = (Base) =>
   class extends Base {
     templateMap = new Map();
 
@@ -15,7 +15,7 @@ export const Slotify = Base =>
     // Save a reference to the pseudoSlot content before lit-element renders
     saveSlots() {
       const childNodes = [];
-      Array.from(this.childNodes).forEach(child => {
+      Array.from(this.childNodes).forEach((child) => {
         const slot = this.assignSlotToContent(child);
 
         if (!child.textContent || child.textContent.trim().length > 0) {
@@ -29,12 +29,12 @@ export const Slotify = Base =>
 
       const shouldSlotChildren =
         childNodes.length > 1 ||
-        childNodes.some(child => !this.isEmptyTextNode(child));
+        childNodes.some((child) => !this.isEmptyTextNode(child));
 
       if (shouldSlotChildren) {
         const fragment = document.createDocumentFragment();
 
-        childNodes.forEach(child => {
+        childNodes.forEach((child) => {
           fragment.appendChild(child);
         });
 
diff --git a/packages/uikit-workshop/src/scripts/localstorage.js b/packages/uikit-workshop/src/scripts/localstorage.js
index f93c837f0..e2c1d0202 100644
--- a/packages/uikit-workshop/src/scripts/localstorage.js
+++ b/packages/uikit-workshop/src/scripts/localstorage.js
@@ -1,4 +1,4 @@
-export const saveState = state => {
+export const saveState = (state) => {
   const json = localStorage.getItem('patternlab') || '{}';
   const stringifiedNewState = JSON.stringify(state);
 
diff --git a/packages/uikit-workshop/src/scripts/utils/postmessage.js b/packages/uikit-workshop/src/scripts/utils/postmessage.js
index 96a3501fc..78ac5462c 100644
--- a/packages/uikit-workshop/src/scripts/utils/postmessage.js
+++ b/packages/uikit-workshop/src/scripts/utils/postmessage.js
@@ -12,7 +12,7 @@ if (window.self !== window.top) {
   // find all links and add an onclick handler for replacing the iframe address so the history works
   const aTags = document.getElementsByTagName('a');
   for (let i = 0; i < aTags.length; i++) {
-    aTags[i].onclick = function(e) {
+    aTags[i].onclick = function (e) {
       const href = this.getAttribute('href');
       const target = this.getAttribute('target');
       if (
diff --git a/packages/uikit-workshop/src/scripts/utils/url-handler.js b/packages/uikit-workshop/src/scripts/utils/url-handler.js
index 71b37a15b..ca7751aaf 100644
--- a/packages/uikit-workshop/src/scripts/utils/url-handler.js
+++ b/packages/uikit-workshop/src/scripts/utils/url-handler.js
@@ -132,7 +132,7 @@ export const urlHandler = {
    */
   getRequestVars() {
     // the following is taken from https://developer.mozilla.org/en-US/docs/Web/API/window.location
-    const oGetVars = new (function(sSearch) {
+    const oGetVars = new (function (sSearch) {
       if (sSearch.length > 1) {
         for (
           let aItKey, nKeyId = 0, aCouples = sSearch.substr(1).split('&');
@@ -216,6 +216,6 @@ export const urlHandler = {
 /**
  * handle the onpopstate event
  */
-window.onpopstate = function(event) {
+window.onpopstate = function (event) {
   urlHandler.skipBack = true;
 };
diff --git a/packages/uikit-workshop/webpack.config.js b/packages/uikit-workshop/webpack.config.js
index 6129d83e5..22b22b1ec 100644
--- a/packages/uikit-workshop/webpack.config.js
+++ b/packages/uikit-workshop/webpack.config.js
@@ -31,8 +31,8 @@ const defaultConfig = {
   noViewAll: false,
 };
 
-module.exports = function(apiConfig) {
-  return new Promise(async resolve => {
+module.exports = function (apiConfig) {
+  return new Promise(async (resolve) => {
     let customConfig = defaultConfig;
     let configToSearchFor;
 

From 116b0599d3d295172a5b4c7621f8fc228380de45 Mon Sep 17 00:00:00 2001
From: Maximilian <787658+mfranzke@users.noreply.github.com>
Date: Wed, 12 May 2021 10:32:38 +0200
Subject: [PATCH 09/13] refactor(test): equals() is deprecated, replaced by
 equal()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

@deprecated — use equal() instead.

'equals' is deprecated.ts(6385)
index.d.ts(53, 8): The declaration was marked as deprecated here.
---
 packages/core/test/addPattern_tests.js        |  16 +-
 .../core/test/annotation_exporter_tests.js    |  34 +-
 packages/core/test/changes_hunter_tests.js    |  14 +-
 packages/core/test/copier_tests.js            |  10 +-
 packages/core/test/data_loader_tests.js       |   4 +-
 packages/core/test/engine_handlebars_tests.js |  71 +--
 packages/core/test/engine_liquid_tests.js     |  80 ++--
 packages/core/test/engine_mustache_tests.js   |  80 ++--
 packages/core/test/engine_react_tests.js      |  12 +-
 packages/core/test/engine_twig_tests.js       |  99 ++--
 packages/core/test/engine_underscore_tests.js |  18 +-
 packages/core/test/exportData_tests.js        |  42 +-
 packages/core/test/get_tests.js               |  45 +-
 packages/core/test/index_tests.js             |  86 ++--
 packages/core/test/lineage_hunter_tests.js    | 326 ++++++-------
 packages/core/test/list_item_hunter_tests.js  |   8 +-
 packages/core/test/loadPattern_tests.js       |  72 +--
 packages/core/test/loaduitkits_tests.js       |  14 +-
 packages/core/test/markdown_parser_tests.js   |  16 +-
 packages/core/test/object_factory_tests.js    | 443 +++++++++---------
 packages/core/test/parameter_hunter_tests.js  |  50 +-
 packages/core/test/parseAllLinks_tests.js     |  50 +-
 packages/core/test/pattern_engines_tests.js   |  44 +-
 packages/core/test/pattern_graph_tests.js     | 130 ++---
 packages/core/test/pattern_registry_tests.js  |  12 +-
 packages/core/test/patternlab_tests.js        |  41 +-
 packages/core/test/processRecursive_tests.js  | 116 +++--
 .../core/test/pseudopattern_hunter_tests.js   |  42 +-
 packages/core/test/replaceParameter_tests.js  |  28 +-
 .../core/test/style_modifier_hunter_tests.js  |  16 +-
 packages/core/test/ui_builder_tests.js        | 189 ++++----
 packages/core/test/watchAssets_tests.js       |  10 +-
 .../core/test/watchPatternLabFiles_tests.js   |   4 +-
 33 files changed, 1132 insertions(+), 1090 deletions(-)

diff --git a/packages/core/test/addPattern_tests.js b/packages/core/test/addPattern_tests.js
index 23edb6c0b..cf495cccb 100644
--- a/packages/core/test/addPattern_tests.js
+++ b/packages/core/test/addPattern_tests.js
@@ -10,7 +10,7 @@ const patterns_dir = './test/files/_patterns';
 
 tap.test(
   'addPattern - adds pattern extended template to patternlab partial object',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -22,16 +22,16 @@ tap.test(
     addPattern(pattern, patternlab);
 
     //assert
-    test.equals(patternlab.patterns.length, 1);
-    test.equals(patternlab.partials['test-bar'] !== undefined, true);
-    test.equals(patternlab.partials['test-bar'], 'barExtended');
+    test.equal(patternlab.patterns.length, 1);
+    test.equal(patternlab.partials['test-bar'] !== undefined, true);
+    test.equal(patternlab.partials['test-bar'], 'barExtended');
     test.end();
   }
 );
 
 tap.test(
   'addPattern - adds pattern template to patternlab partial object if extendedtemplate does not exist yet',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -43,9 +43,9 @@ tap.test(
     addPattern(pattern, patternlab);
 
     //assert
-    test.equals(patternlab.patterns.length, 1);
-    test.equals(patternlab.partials['test-bar'] !== undefined, true);
-    test.equals(patternlab.partials['test-bar'], 'bar');
+    test.equal(patternlab.patterns.length, 1);
+    test.equal(patternlab.partials['test-bar'] !== undefined, true);
+    test.equal(patternlab.partials['test-bar'], 'bar');
     test.end();
   }
 );
diff --git a/packages/core/test/annotation_exporter_tests.js b/packages/core/test/annotation_exporter_tests.js
index 68c7b2f48..01b71e6d8 100644
--- a/packages/core/test/annotation_exporter_tests.js
+++ b/packages/core/test/annotation_exporter_tests.js
@@ -22,16 +22,16 @@ function createFakePatternLab(anPath, customProps) {
 var patternlab = createFakePatternLab(anPath);
 var ae = require('../src/lib/annotation_exporter')(patternlab);
 
-tap.test('converts old JS annotations into new format', function(test) {
+tap.test('converts old JS annotations into new format', function (test) {
   //arrange
   //act
   var annotations = ae.gatherJS();
 
   //assert
-  test.equals(annotations.length, 2);
-  test.equals(annotations[1].el, '.logo');
-  test.equals(annotations[1].title, 'Logo');
-  test.equals(
+  test.equal(annotations.length, 2);
+  test.equal(annotations[1].el, '.logo');
+  test.equal(annotations[1].title, 'Logo');
+  test.equal(
     annotations[1].comment,
     'The logo image is an SVG file, which ensures that the logo displays crisply even on high resolution displays. A PNG fallback is provided for browsers that don\'t support SVG images.</p><p>Further reading: <a href="http://bradfrostweb.com/blog/mobile/hi-res-optimization/">Optimizing Web Experiences for High Resolution Screens</a></p>'
   );
@@ -39,16 +39,16 @@ tap.test('converts old JS annotations into new format', function(test) {
   test.end();
 });
 
-tap.test('converts new markdown annotations into an array', function(test) {
+tap.test('converts new markdown annotations into an array', function (test) {
   //arrange
   //act
   var annotations = ae.gatherMD();
 
   //assert
-  test.equals(annotations.length, 3);
-  test.equals(annotations[1].el, '.logo');
-  test.equals(annotations[1].title, 'Logo');
-  test.equals(
+  test.equal(annotations.length, 3);
+  test.equal(annotations[1].el, '.logo');
+  test.equal(annotations[1].title, 'Logo');
+  test.equal(
     annotations[1].comment.replace(/\r?\n|\r/gm, ''),
     '<p>The <em>logo image</em> is an SVG file.</p>'
   );
@@ -56,17 +56,17 @@ tap.test('converts new markdown annotations into an array', function(test) {
   test.end();
 });
 
-tap.test('merges both annotation methods into one array', function(test) {
+tap.test('merges both annotation methods into one array', function (test) {
   //arrange
 
   //act
   var annotations = ae.gather();
 
   //assert
-  test.equals(annotations.length, 3);
-  test.equals(annotations[2].el, '#nav');
-  test.equals(annotations[2].title, 'Navigation');
-  test.equals(
+  test.equal(annotations.length, 3);
+  test.equal(annotations[2].el, '#nav');
+  test.equal(annotations[2].title, 'Navigation');
+  test.equal(
     annotations[2].comment.replace(/\r?\n|\r/gm, ''),
     '<p>Navigation for adaptive web experiences can be tricky. Refer to <a href="https://bradfrost.github.io/this-is-responsive/patterns.html#navigation">these repsonsive patterns</a> when evaluating solutions.</p>'
   );
@@ -74,12 +74,12 @@ tap.test('merges both annotation methods into one array', function(test) {
   test.end();
 });
 
-tap.test('when there are 0 annotation files', function(test) {
+tap.test('when there are 0 annotation files', function (test) {
   var emptyAnPath = './test/files/empty/';
   var patternlab2 = createFakePatternLab(emptyAnPath);
   var ae2 = require('../src/lib/annotation_exporter')(patternlab2);
 
   var annotations = ae2.gather();
-  test.equals(annotations.length, 0);
+  test.equal(annotations.length, 0);
   test.end();
 });
diff --git a/packages/core/test/changes_hunter_tests.js b/packages/core/test/changes_hunter_tests.js
index 68b6c054d..a9050af0a 100644
--- a/packages/core/test/changes_hunter_tests.js
+++ b/packages/core/test/changes_hunter_tests.js
@@ -6,7 +6,7 @@ const rewire = require('rewire');
 const ch = rewire('../src/lib/changes_hunter');
 
 const fsMock = {
-  statSync: function() {
+  statSync: function () {
     return {
       mtime: {
         getTime: () => {
@@ -27,41 +27,41 @@ ch.__set__({
 
 const changes_hunter = new ch();
 
-tap.test('checkLastModified - sets lastModified to fileTime ', function(test) {
+tap.test('checkLastModified - sets lastModified to fileTime ', function (test) {
   //arrange
   const mockPattern = { lastModified: 0 };
   //act
   changes_hunter.checkLastModified(mockPattern, {});
 
   //assert
-  test.equals(mockPattern.lastModified, 100);
+  test.equal(mockPattern.lastModified, 100);
   test.end();
 });
 
 tap.test(
   'checkLastModified - does not alter pattern if file not found',
-  function(test) {
+  function (test) {
     //arrange
     const mockPattern = { lastModified: 1010 };
     //act
     changes_hunter.checkLastModified(mockPattern, null);
 
     //assert
-    test.equals(mockPattern.lastModified, 1010);
+    test.equal(mockPattern.lastModified, 1010);
     test.end();
   }
 );
 
 tap.test(
   'checkLastModified - uses pattern.lastModified if greater than file time',
-  function(test) {
+  function (test) {
     //arrange
     const mockPattern = { lastModified: 101 };
     //act
     changes_hunter.checkLastModified(mockPattern, {});
 
     //assert
-    test.equals(mockPattern.lastModified, 101);
+    test.equal(mockPattern.lastModified, 101);
     test.end();
   }
 );
diff --git a/packages/core/test/copier_tests.js b/packages/core/test/copier_tests.js
index 388300a01..b7e57af3d 100644
--- a/packages/core/test/copier_tests.js
+++ b/packages/core/test/copier_tests.js
@@ -52,7 +52,7 @@ function createFakePatternLab(customProps) {
 
 tap.test(
   'transformConfigPaths takes configuration.paths() and maps to a better key store',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({});
 
@@ -60,10 +60,10 @@ tap.test(
     var result = copier.transformConfigPaths(patternlab.config.paths);
 
     //assert
-    test.equals(result.img.source, './test/img');
-    test.equals(result.img.public, './test/output/img');
-    test.equals(result.css.source, './test/css');
-    test.equals(result.css.public, './test/output/css');
+    test.equal(result.img.source, './test/img');
+    test.equal(result.img.public, './test/output/img');
+    test.equal(result.css.source, './test/css');
+    test.equal(result.css.public, './test/output/css');
     test.end();
   }
 );
diff --git a/packages/core/test/data_loader_tests.js b/packages/core/test/data_loader_tests.js
index 9eaa8864b..2eae23311 100644
--- a/packages/core/test/data_loader_tests.js
+++ b/packages/core/test/data_loader_tests.js
@@ -2,12 +2,12 @@
 
 const tap = require('tap');
 
-tap.test('loadDataFromFile - Load ', function(test) {
+tap.test('loadDataFromFile - Load ', function (test) {
   const fs = require('fs-extra'),
     dataLoader = require('../src/lib/data_loader')(),
     data_dir = `${__dirname}/files/_data/`;
 
   let data = dataLoader.loadDataFromFile(data_dir + 'foo', fs);
-  test.equals(data.foo, 'bar');
+  test.equal(data.foo, 'bar');
   test.end();
 });
diff --git a/packages/core/test/engine_handlebars_tests.js b/packages/core/test/engine_handlebars_tests.js
index 5376e2bbd..f842c4357 100644
--- a/packages/core/test/engine_handlebars_tests.js
+++ b/packages/core/test/engine_handlebars_tests.js
@@ -24,7 +24,7 @@ engineLoader.loadAllEngines(config);
 
 // don't run these tests unless handlebars is installed
 if (!engineLoader.handlebars) {
-  tap.test('Handlebars engine not installed, skipping tests.', function(test) {
+  tap.test('Handlebars engine not installed, skipping tests.', function (test) {
     test.end();
   });
   return;
@@ -74,15 +74,15 @@ function testFindPartials(test, partialTests) {
   var results = currentPattern.findPartials();
 
   // assert
-  test.equals(results.length, partialTests.length);
-  partialTests.forEach(function(testString, index) {
-    test.equals(results[index], testString);
+  test.equal(results.length, partialTests.length);
+  partialTests.forEach(function (testString, index) {
+    test.equal(results[index], testString);
   });
 
   test.end();
 }
 
-tap.test('hello world handlebars pattern renders', function(test) {
+tap.test('hello world handlebars pattern renders', function (test) {
   test.plan(1);
 
   var patternPath = path.join('atoms', 'global', 'helloworld.hbs');
@@ -91,10 +91,10 @@ tap.test('hello world handlebars pattern renders', function(test) {
   var patternlab = new fakePatternLab();
   var helloWorldPattern = loadPattern(patternPath, patternlab);
 
-  processIterative(helloWorldPattern, patternlab).then(helloWorldPattern => {
+  processIterative(helloWorldPattern, patternlab).then((helloWorldPattern) => {
     processRecursive(patternPath, patternlab).then(() => {
-      helloWorldPattern.render().then(results => {
-        test.equals(results, 'Hello world!' + eol);
+      helloWorldPattern.render().then((results) => {
+        test.equal(results, 'Hello world!' + eol);
         test.end();
       });
     });
@@ -103,7 +103,7 @@ tap.test('hello world handlebars pattern renders', function(test) {
 
 tap.test(
   'hello worlds handlebars pattern can see the atoms-helloworld partial and renders it twice',
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -124,8 +124,8 @@ tap.test(
       processRecursive(pattern1Path, patternlab).then(() => {
         processRecursive(pattern2Path, patternlab).then(() => {
           // test
-          pattern2.render().then(results => {
-            test.equals(
+          pattern2.render().then((results) => {
+            test.equal(
               results,
               'Hello world!' + eol + ' and Hello world!' + eol + eol
             );
@@ -137,7 +137,7 @@ tap.test(
   }
 );
 
-tap.test('handlebars partials can render JSON values', function(test) {
+tap.test('handlebars partials can render JSON values', function (test) {
   test.plan(1);
 
   // pattern paths
@@ -152,8 +152,8 @@ tap.test('handlebars partials can render JSON values', function(test) {
   processIterative(helloWorldWithData, patternlab).then(() => {
     processRecursive(pattern1Path, patternlab).then(() => {
       // test
-      helloWorldWithData.render().then(results => {
-        test.equals(
+      helloWorldWithData.render().then((results) => {
+        test.equal(
           results,
           'Hello world!' +
             eol +
@@ -168,7 +168,7 @@ tap.test('handlebars partials can render JSON values', function(test) {
 
 tap.test(
   'handlebars partials use the JSON environment from the calling pattern and can accept passed parameters',
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -192,9 +192,9 @@ tap.test(
       processRecursive(atomPath, patternlab),
       processRecursive(molPath, patternlab),
     ]).then(() => {
-      mol.render().then(results => {
+      mol.render().then((results) => {
         // test
-        test.equals(
+        test.equal(
           results,
           '<h2>Call with default JSON environment:</h2>' +
             eol +
@@ -217,7 +217,7 @@ tap.test(
   }
 );
 
-tap.only('find_pattern_partials finds partials', function(test) {
+tap.only('find_pattern_partials finds partials', function (test) {
   testFindPartials(test, [
     '{{> molecules-comment-header}}',
     '{{>  molecules-comment-header}}',
@@ -227,7 +227,7 @@ tap.only('find_pattern_partials finds partials', function(test) {
   ]);
 });
 
-tap.test('find_pattern_partials finds verbose partials', function(test) {
+tap.test('find_pattern_partials finds verbose partials', function (test) {
   testFindPartials(test, [
     '{{> molecules/components/comment-header.hbs }}',
     "{{> molecules/components/single-comment.hbs(description: 'A life is like a garden. Perfect moments can be had, but not preserved, except in memory.') }}",
@@ -240,7 +240,7 @@ tap.test('find_pattern_partials finds verbose partials', function(test) {
 
 tap.test(
   'find_pattern_partials finds simple partials with parameters',
-  function(test) {
+  function (test) {
     testFindPartials(test, [
       "{{> molecules-single-comment(description: 'A life isn't like a garden. Perfect moments can be had, but not preserved, except in memory.') }}",
       '{{> molecules-single-comment(description:"A life is like a "garden". Perfect moments can be had, but not preserved, except in memory.") }}',
@@ -250,14 +250,14 @@ tap.test(
 
 tap.test(
   'find_pattern_partials finds simple partials with style modifiers',
-  function(test) {
+  function (test) {
     testFindPartials(test, ['{{> molecules-single-comment:foo }}']);
   }
 );
 
 tap.test(
   'find_pattern_partials finds partials with handlebars parameters',
-  function(test) {
+  function (test) {
     testFindPartials(test, [
       '{{> atoms-title title="bravo" headingLevel="2" headingSize="bravo" position="left"}}',
       '{{> atoms-title title="bravo"' +
@@ -277,15 +277,16 @@ tap.test(
   }
 );
 
-tap.test('find_pattern_partials finds handlebars block partials', function(
-  test
-) {
-  testFindPartials(test, ['{{#> myPartial }}']);
-});
+tap.test(
+  'find_pattern_partials finds handlebars block partials',
+  function (test) {
+    testFindPartials(test, ['{{#> myPartial }}']);
+  }
+);
 
 tap.only(
   'hidden handlebars patterns can be called by their nice names',
-  function(test) {
+  function (test) {
     //arrange
     const testPatternsPath = path.resolve(
       __dirname,
@@ -310,9 +311,9 @@ tap.only(
       processRecursive(hiddenPatternPath, pl),
       processRecursive(testPatternPath, pl),
     ]).then(() => {
-      testPattern.render().then(results => {
+      testPattern.render().then((results) => {
         //act
-        test.equals(
+        test.equal(
           util.sanitized(results),
           util.sanitized("Here's the hidden atom: [I'm the hidden atom\n]\n")
         );
@@ -324,7 +325,7 @@ tap.only(
 
 tap.test(
   '@partial-block template should render without throwing (@geoffp repo issue #3)',
-  function(test) {
+  function (test) {
     test.plan(1);
 
     var patternPath = path.join('atoms', 'global', 'at-partial-block.hbs');
@@ -335,7 +336,7 @@ tap.test(
 
     processIterative(atPartialBlockPattern, patternlab).then(() => {
       processRecursive(patternPath, patternlab).then(() => {
-        atPartialBlockPattern.render().then(results => {
+        atPartialBlockPattern.render().then((results) => {
           var expectedResults =
             '&#123;{> @partial-block }&#125;' + eol + 'It worked!' + eol;
           test.equal(results, expectedResults);
@@ -347,7 +348,7 @@ tap.test(
 
 tap.test(
   'A template calling a @partial-block template should render correctly',
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -371,10 +372,10 @@ tap.test(
       processRecursive(pattern1Path, patternlab),
       processRecursive(pattern2Path, patternlab),
     ]).then(() => {
-      callAtPartialBlockPattern.render().then(results => {
+      callAtPartialBlockPattern.render().then((results) => {
         // test
         var expectedResults = 'Hello World!' + eol + 'It worked!' + eol;
-        test.equals(results, expectedResults);
+        test.equal(results, expectedResults);
       });
     });
   }
diff --git a/packages/core/test/engine_liquid_tests.js b/packages/core/test/engine_liquid_tests.js
index 177d41677..728eba75a 100644
--- a/packages/core/test/engine_liquid_tests.js
+++ b/packages/core/test/engine_liquid_tests.js
@@ -12,7 +12,7 @@ var eol = require('os').EOL;
 // don't run these tests unless liquid is installed
 var engineLoader = require('../src/lib/pattern_engines');
 if (!engineLoader.liquid) {
-  tap.test('Liquid engine not installed, skipping tests.', function(test) {
+  tap.test('Liquid engine not installed, skipping tests.', function (test) {
     test.end();
   });
   return;
@@ -62,15 +62,15 @@ function testFindPartials(test, partialTests) {
   var results = currentPattern.findPartials();
 
   // assert
-  test.equals(results.length, partialTests.length);
-  partialTests.forEach(function(testString, index) {
-    test.equals(results[index], testString);
+  test.equal(results.length, partialTests.length);
+  partialTests.forEach(function (testString, index) {
+    test.equal(results[index], testString);
   });
 
   test.end();
 }
 
-tap.test('button liquid pattern renders', function(test) {
+tap.test('button liquid pattern renders', function (test) {
   test.plan(1);
 
   var patternPath = path.join('atoms', 'general', 'button.liquid');
@@ -105,13 +105,13 @@ tap.test('button liquid pattern renders', function(test) {
     .then(() => {
       assembler.process_pattern_recursive(patternPath, patternlab);
 
-      test.equals(helloWorldPattern.render(), expectedValue);
+      test.equal(helloWorldPattern.render(), expectedValue);
     });
 });
 
 tap.test(
   'media object liquid pattern can see the atoms-button and atoms-image partials and renders them',
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -145,7 +145,7 @@ tap.test(
 
       // test
       // this pattern is too long - so just remove line endings on both sides and compare output
-      test.equals(
+      test.equal(
         mediaObjectPattern.render().replace(/\r?\n|\r/gm, ''),
         expectedValue.replace(/\r?\n|\r/gm, '')
       );
@@ -153,41 +153,43 @@ tap.test(
   }
 );
 
-tap.test('liquid partials can render JSON values', { skip: true }, function(
-  test
-) {
-  test.plan(1);
+tap.test(
+  'liquid partials can render JSON values',
+  { skip: true },
+  function (test) {
+    test.plan(1);
 
-  // pattern paths
-  var pattern1Path = path.resolve(
-    testPatternsPath,
-    'atoms',
-    'global',
-    'helloworld-withdata.hbs'
-  );
+    // pattern paths
+    var pattern1Path = path.resolve(
+      testPatternsPath,
+      'atoms',
+      'global',
+      'helloworld-withdata.hbs'
+    );
 
-  // set up environment
-  var patternlab = new fakePatternLab(); // environment
+    // set up environment
+    var patternlab = new fakePatternLab(); // environment
 
-  // do all the normal processing of the pattern
-  var helloWorldWithData = assembler.process_pattern_iterative(
-    pattern1Path,
-    patternlab
-  );
-  assembler.process_pattern_recursive(pattern1Path, patternlab);
+    // do all the normal processing of the pattern
+    var helloWorldWithData = assembler.process_pattern_iterative(
+      pattern1Path,
+      patternlab
+    );
+    assembler.process_pattern_recursive(pattern1Path, patternlab);
 
-  // test
-  test.equals(
-    helloWorldWithData.render(),
-    'Hello world!\nYeah, we got the subtitle from the JSON.\n'
-  );
-  test.end();
-});
+    // test
+    test.equal(
+      helloWorldWithData.render(),
+      'Hello world!\nYeah, we got the subtitle from the JSON.\n'
+    );
+    test.end();
+  }
+);
 
 tap.test(
   'liquid partials use the JSON environment from the calling pattern and can accept passed parameters',
   { skip: true },
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -214,7 +216,7 @@ tap.test(
     assembler.process_pattern_recursive(molPath, patternlab);
 
     // test
-    test.equals(
+    test.equal(
       mol.render(),
       '<h2>Call with default JSON environment:</h2>\nThis is Hello world!\nfrom the default JSON.\n\n\n<h2>Call with passed parameter:</h2>\nHowever, this is Hello world!\nfrom a totally different blob.\n\n'
     );
@@ -222,7 +224,7 @@ tap.test(
   }
 );
 
-tap.test('find_pattern_partials finds partials', function(test) {
+tap.test('find_pattern_partials finds partials', function (test) {
   testFindPartials(test, [
     '{% include "atoms-image" %}',
     "{% include 'atoms-image' %}",
@@ -233,7 +235,7 @@ tap.test('find_pattern_partials finds partials', function(test) {
   ]);
 });
 
-tap.test('find_pattern_partials finds verbose partials', function(test) {
+tap.test('find_pattern_partials finds verbose partials', function (test) {
   testFindPartials(test, [
     "{% include 'molecules/components/comment-header.liquid' %}",
     "{% include 'atoms/global/test' %}",
@@ -242,7 +244,7 @@ tap.test('find_pattern_partials finds verbose partials', function(test) {
 
 tap.test(
   'find_pattern_partials finds partials with liquid parameters',
-  function(test) {
+  function (test) {
     testFindPartials(test, [
       "{% include 'molecules-template' with {'foo': 'bar'} %}",
       "{% include 'molecules-template' with vars %}",
diff --git a/packages/core/test/engine_mustache_tests.js b/packages/core/test/engine_mustache_tests.js
index de1cb210c..1bfcf8cee 100644
--- a/packages/core/test/engine_mustache_tests.js
+++ b/packages/core/test/engine_mustache_tests.js
@@ -13,7 +13,7 @@ var config = require('./util/patternlab-config.json');
 var engineLoader = require('../src/lib/pattern_engines');
 engineLoader.loadAllEngines(config);
 if (!engineLoader.mustache) {
-  tap.test('Mustache engine not installed, skipping tests.', function(test) {
+  tap.test('Mustache engine not installed, skipping tests.', function (test) {
     test.end();
   });
   return;
@@ -63,9 +63,9 @@ function testFindPartials(test, partialTests) {
   var results = currentPattern.findPartials();
 
   // assert
-  test.equals(results.length, partialTests.length);
-  partialTests.forEach(function(testString, index) {
-    test.equals(results[index], testString);
+  test.equal(results.length, partialTests.length);
+  partialTests.forEach(function (testString, index) {
+    test.equal(results[index], testString);
   });
 
   test.end();
@@ -89,9 +89,9 @@ function testFindPartialsWithStyleModifiers(test, partialTests) {
   var results = currentPattern.findPartialsWithStyleModifiers();
 
   // assert
-  test.equals(results.length, partialTests.length);
-  partialTests.forEach(function(testString, index) {
-    test.equals(results[index], testString);
+  test.equal(results.length, partialTests.length);
+  partialTests.forEach(function (testString, index) {
+    test.equal(results[index], testString);
   });
 
   test.end();
@@ -115,21 +115,21 @@ function testFindPartialsWithPatternParameters(test, partialTests) {
   var results = currentPattern.findPartialsWithPatternParameters();
 
   // assert
-  test.equals(results.length, partialTests.length);
-  partialTests.forEach(function(testString, index) {
-    test.equals(results[index], testString);
+  test.equal(results.length, partialTests.length);
+  partialTests.forEach(function (testString, index) {
+    test.equal(results[index], testString);
   });
 
   test.end();
 }
 
-tap.test('find_pattern_partials finds one simple partial', function(test) {
+tap.test('find_pattern_partials finds one simple partial', function (test) {
   testFindPartials(test, ['{{> molecules-comment-header}}']);
 });
 
 tap.test(
   'find_pattern_partials finds simple partials under stressed circumstances',
-  function(test) {
+  function (test) {
     testFindPartials(test, [
       '{{>molecules-comment-header}}',
       '{{> ' + eol + ' molecules-comment-header' + eol + '}}',
@@ -138,29 +138,31 @@ tap.test(
   }
 );
 
-tap.test('find_pattern_partials finds one simple verbose partial', function(
-  test
-) {
-  testFindPartials(test, ['{{> atoms/global/test }}']);
-});
+tap.test(
+  'find_pattern_partials finds one simple verbose partial',
+  function (test) {
+    testFindPartials(test, ['{{> atoms/global/test }}']);
+  }
+);
 
-tap.test('find_pattern_partials finds partials with parameters', function(
-  test
-) {
-  testFindPartials(test, [
-    '{{> molecules-single-comment(description: true) }}',
-    '{{> molecules-single-comment(description: 42) }}',
-    "{{> molecules-single-comment(description: '42') }}",
-    '{{> molecules-single-comment(description: "42") }}',
-    "{{> molecules-single-comment(description: 'test', anotherThing: 'retest') }}",
-    '{{> molecules-single-comment(description: false, anotherThing: "retest") }}',
-    '{{> molecules-single-comment(description:"A life is like a "garden". Perfect moments can be had, but not preserved, except in memory.") }}',
-  ]);
-});
+tap.test(
+  'find_pattern_partials finds partials with parameters',
+  function (test) {
+    testFindPartials(test, [
+      '{{> molecules-single-comment(description: true) }}',
+      '{{> molecules-single-comment(description: 42) }}',
+      "{{> molecules-single-comment(description: '42') }}",
+      '{{> molecules-single-comment(description: "42") }}',
+      "{{> molecules-single-comment(description: 'test', anotherThing: 'retest') }}",
+      '{{> molecules-single-comment(description: false, anotherThing: "retest") }}',
+      '{{> molecules-single-comment(description:"A life is like a "garden". Perfect moments can be had, but not preserved, except in memory.") }}',
+    ]);
+  }
+);
 
 tap.test(
   'find_pattern_partials finds simple partials with style modifiers',
-  function(test) {
+  function (test) {
     testFindPartials(test, [
       '{{> molecules-single-comment:foo }}',
       '{{> molecules-single-comment:foo|bar }}',
@@ -168,7 +170,7 @@ tap.test(
   }
 );
 
-tap.test('find_pattern_partials finds mixed partials', function(test) {
+tap.test('find_pattern_partials finds mixed partials', function (test) {
   testFindPartials(test, [
     '{{> molecules-single-comment:foo(description: "test", anotherThing: true) }}',
     '{{> molecules-single-comment:foo|bar(description: true) }}',
@@ -177,7 +179,7 @@ tap.test('find_pattern_partials finds mixed partials', function(test) {
 
 tap.test(
   'find_pattern_partials finds one simple partial with styleModifier',
-  function(test) {
+  function (test) {
     testFindPartialsWithStyleModifiers(test, [
       '{{> molecules-comment-header:test}}',
     ]);
@@ -186,7 +188,7 @@ tap.test(
 
 tap.test(
   'find_pattern_partials finds partial with many styleModifiers',
-  function(test) {
+  function (test) {
     testFindPartialsWithStyleModifiers(test, [
       '{{> molecules-comment-header:test|test2|test3}}',
     ]);
@@ -195,7 +197,7 @@ tap.test(
 
 tap.test(
   'find_pattern_partials finds partials with differing styleModifiers',
-  function(test) {
+  function (test) {
     testFindPartialsWithStyleModifiers(test, [
       '{{> molecules-comment-header:test|test2|test3}}',
       '{{> molecules-comment-header:foo-1}}',
@@ -206,7 +208,7 @@ tap.test(
 
 tap.test(
   'find_pattern_partials finds partials with styleModifiers when parameters present',
-  function(test) {
+  function (test) {
     testFindPartialsWithStyleModifiers(test, [
       '{{> molecules-comment-header:test|test2|test3(description: true)}}',
       "{{> molecules-comment-header:foo-1(description: 'foo')}}",
@@ -217,7 +219,7 @@ tap.test(
 
 tap.test(
   'find_pattern_partials_with_parameters finds one simple partial with parameters',
-  function(test) {
+  function (test) {
     testFindPartialsWithPatternParameters(test, [
       "{{> molecules-comment-header(description: 'test')}}",
     ]);
@@ -226,7 +228,7 @@ tap.test(
 
 tap.test(
   'find_pattern_partials_with_parameters finds partials with parameters',
-  function(test) {
+  function (test) {
     testFindPartialsWithPatternParameters(test, [
       '{{> molecules-single-comment(description: true) }}',
       '{{> molecules-single-comment(description: 42) }}',
@@ -241,7 +243,7 @@ tap.test(
 
 tap.test(
   'find_pattern_partials finds partials with parameters when styleModifiers present',
-  function(test) {
+  function (test) {
     testFindPartialsWithPatternParameters(test, [
       '{{> molecules-comment-header:test|test2|test3(description: true)}}',
       "{{> molecules-comment-header:foo-1(description: 'foo')}}",
diff --git a/packages/core/test/engine_react_tests.js b/packages/core/test/engine_react_tests.js
index da7b92f47..8e34d5338 100644
--- a/packages/core/test/engine_react_tests.js
+++ b/packages/core/test/engine_react_tests.js
@@ -15,13 +15,13 @@ engineLoader.loadAllEngines(config);
 
 // don't run these tests unless the react engine is installed
 if (!engineLoader.react) {
-  tap.test('React engine not installed, skipping tests.', test => {
+  tap.test('React engine not installed, skipping tests.', (test) => {
     test.end();
   });
 } else {
   const fpl = testUtils.fakePatternLab(testPatternsPath);
 
-  tap.test('Load the hello world pattern and verify contents', test => {
+  tap.test('Load the hello world pattern and verify contents', (test) => {
     const patternPath = path.join(
       testPatternsPath,
       'atoms/general/HelloWorld.jsx'
@@ -29,19 +29,19 @@ if (!engineLoader.react) {
     const patternContent = fs.readFileSync(patternPath, { encoding: 'utf8' });
     const pattern = loadPattern(patternPath, fpl);
 
-    test.equals(pattern.template, patternContent);
+    test.equal(pattern.template, patternContent);
     test.end();
   });
 
-  tap.test('Load the hello world pattern and verify output', test => {
+  tap.test('Load the hello world pattern and verify output', (test) => {
     const patternPath = path.join(
       testPatternsPath,
       'atoms/general/HelloWorld.jsx'
     );
     const pattern = loadPattern(patternPath, fpl);
 
-    return pattern.render().then(output => {
-      test.equals(output, '<div>Hello world!</div>\n');
+    return pattern.render().then((output) => {
+      test.equal(output, '<div>Hello world!</div>\n');
     });
   });
 }
diff --git a/packages/core/test/engine_twig_tests.js b/packages/core/test/engine_twig_tests.js
index 310a07803..73c80e9a0 100644
--- a/packages/core/test/engine_twig_tests.js
+++ b/packages/core/test/engine_twig_tests.js
@@ -12,7 +12,7 @@ var eol = require('os').EOL;
 // don't run these tests unless twig is installed
 var engineLoader = require('../src/lib/pattern_engines');
 if (!engineLoader.twig) {
-  tap.test('Twig engine not installed, skipping tests.', function(test) {
+  tap.test('Twig engine not installed, skipping tests.', function (test) {
     test.end();
   });
   return;
@@ -62,15 +62,15 @@ function testFindPartials(test, partialTests) {
   var results = currentPattern.findPartials();
 
   // assert
-  test.equals(results.length, partialTests.length);
-  partialTests.forEach(function(testString, index) {
-    test.equals(results[index], testString);
+  test.equal(results.length, partialTests.length);
+  partialTests.forEach(function (testString, index) {
+    test.equal(results[index], testString);
   });
 
   test.end();
 }
 
-tap.test('button twig pattern renders', function(test) {
+tap.test('button twig pattern renders', function (test) {
   test.plan(1);
 
   var patternPath = path.join('atoms', 'general', 'button.twig');
@@ -105,13 +105,13 @@ tap.test('button twig pattern renders', function(test) {
     .then(() => {
       assembler.process_pattern_recursive(patternPath, patternlab);
 
-      test.equals(helloWorldPattern.render(), expectedValue);
+      test.equal(helloWorldPattern.render(), expectedValue);
     });
 });
 
 tap.test(
   'media object twig pattern can see the atoms-button and atoms-image partials and renders them',
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -145,7 +145,7 @@ tap.test(
 
       // test
       // this pattern is too long - so just remove line endings on both sides and compare output
-      test.equals(
+      test.equal(
         mediaObjectPattern.render().replace(/\r?\n|\r/gm, ''),
         expectedValue.replace(/\r?\n|\r/gm, '')
       );
@@ -153,41 +153,43 @@ tap.test(
   }
 );
 
-tap.test('twig partials can render JSON values', { skip: true }, function(
-  test
-) {
-  test.plan(1);
+tap.test(
+  'twig partials can render JSON values',
+  { skip: true },
+  function (test) {
+    test.plan(1);
 
-  // pattern paths
-  var pattern1Path = path.resolve(
-    testPatternsPath,
-    'atoms',
-    'global',
-    'helloworld-withdata.hbs'
-  );
+    // pattern paths
+    var pattern1Path = path.resolve(
+      testPatternsPath,
+      'atoms',
+      'global',
+      'helloworld-withdata.hbs'
+    );
 
-  // set up environment
-  var patternlab = new fakePatternLab(); // environment
+    // set up environment
+    var patternlab = new fakePatternLab(); // environment
 
-  // do all the normal processing of the pattern
-  var helloWorldWithData = assembler.process_pattern_iterative(
-    pattern1Path,
-    patternlab
-  );
-  assembler.process_pattern_recursive(pattern1Path, patternlab);
+    // do all the normal processing of the pattern
+    var helloWorldWithData = assembler.process_pattern_iterative(
+      pattern1Path,
+      patternlab
+    );
+    assembler.process_pattern_recursive(pattern1Path, patternlab);
 
-  // test
-  test.equals(
-    helloWorldWithData.render(),
-    'Hello world!\nYeah, we got the subtitle from the JSON.\n'
-  );
-  test.end();
-});
+    // test
+    test.equal(
+      helloWorldWithData.render(),
+      'Hello world!\nYeah, we got the subtitle from the JSON.\n'
+    );
+    test.end();
+  }
+);
 
 tap.test(
   'twig partials use the JSON environment from the calling pattern and can accept passed parameters',
   { skip: true },
-  function(test) {
+  function (test) {
     test.plan(1);
 
     // pattern paths
@@ -214,7 +216,7 @@ tap.test(
     assembler.process_pattern_recursive(molPath, patternlab);
 
     // test
-    test.equals(
+    test.equal(
       mol.render(),
       '<h2>Call with default JSON environment:</h2>\nThis is Hello world!\nfrom the default JSON.\n\n\n<h2>Call with passed parameter:</h2>\nHowever, this is Hello world!\nfrom a totally different blob.\n\n'
     );
@@ -222,7 +224,7 @@ tap.test(
   }
 );
 
-tap.test('find_pattern_partials finds partials', function(test) {
+tap.test('find_pattern_partials finds partials', function (test) {
   testFindPartials(test, [
     '{% include "atoms-image" %}',
     "{% include 'atoms-image' %}",
@@ -233,20 +235,21 @@ tap.test('find_pattern_partials finds partials', function(test) {
   ]);
 });
 
-tap.test('find_pattern_partials finds verbose partials', function(test) {
+tap.test('find_pattern_partials finds verbose partials', function (test) {
   testFindPartials(test, [
     "{% include 'molecules/components/comment-header.twig' %}",
     "{% include 'atoms/global/test' %}",
   ]);
 });
 
-tap.test('find_pattern_partials finds partials with twig parameters', function(
-  test
-) {
-  testFindPartials(test, [
-    "{% include 'molecules-template' with {'foo': 'bar'} %}",
-    "{% include 'molecules-template' with vars %}",
-    "{% include 'molecules-template.twig' with {'foo': 'bar'} only %}",
-    "{% include 'organisms-sidebar' ignore missing with {'foo': 'bar'} %}",
-  ]);
-});
+tap.test(
+  'find_pattern_partials finds partials with twig parameters',
+  function (test) {
+    testFindPartials(test, [
+      "{% include 'molecules-template' with {'foo': 'bar'} %}",
+      "{% include 'molecules-template' with vars %}",
+      "{% include 'molecules-template.twig' with {'foo': 'bar'} only %}",
+      "{% include 'organisms-sidebar' ignore missing with {'foo': 'bar'} %}",
+    ]);
+  }
+);
diff --git a/packages/core/test/engine_underscore_tests.js b/packages/core/test/engine_underscore_tests.js
index 01204fefe..a944e830b 100644
--- a/packages/core/test/engine_underscore_tests.js
+++ b/packages/core/test/engine_underscore_tests.js
@@ -14,7 +14,7 @@ var eol = require('os').EOL;
 // don't run tests unless underscore is installed
 var engineLoader = require('../src/lib/pattern_engines');
 if (!engineLoader.underscore) {
-  tap.test('Underscore engine not installed, skipping tests', function(test) {
+  tap.test('Underscore engine not installed, skipping tests', function (test) {
     test.end();
   });
   return;
@@ -45,7 +45,7 @@ function fakePatternLab() {
   return fpl;
 }
 
-tap.test('hello world underscore pattern renders', function(test) {
+tap.test('hello world underscore pattern renders', function (test) {
   test.plan(1);
 
   var patternPath = path.resolve(
@@ -65,11 +65,11 @@ tap.test('hello world underscore pattern renders', function(test) {
     .then(() => {
       assembler.process_pattern_recursive(patternPath, patternlab);
 
-      test.equals(helloWorldPattern.render(), 'Hello world!' + eol);
+      test.equal(helloWorldPattern.render(), 'Hello world!' + eol);
     });
 });
 
-tap.test('underscore partials can render JSON values', function(test) {
+tap.test('underscore partials can render JSON values', function (test) {
   test.plan(1);
 
   // pattern paths
@@ -91,7 +91,7 @@ tap.test('underscore partials can render JSON values', function(test) {
       assembler.process_pattern_recursive(pattern1Path, patternlab);
 
       // test
-      test.equals(
+      test.equal(
         helloWorldWithData.render(),
         'Hello world!' + eol + 'Yeah, we got the subtitle from the JSON.' + eol
       );
@@ -100,7 +100,7 @@ tap.test('underscore partials can render JSON values', function(test) {
 
 tap.test(
   'findPartial return the ID of the partial, given a whole partial call',
-  function(test) {
+  function (test) {
     var engineLoader = require('../src/lib/pattern_engines');
     var underscoreEngine = engineLoader.underscore;
 
@@ -108,7 +108,7 @@ tap.test(
 
     // do all the normal processing of the pattern
     // test
-    test.equals(
+    test.equal(
       underscoreEngine.findPartial(
         "<%= _.renderNamedPartial('molecules-details', obj) %>"
       ),
@@ -120,7 +120,7 @@ tap.test(
 
 tap.test(
   'hidden underscore patterns can be called by their nice names',
-  function(test) {
+  function (test) {
     const util = require('./util/test_utils.js');
 
     //arrange
@@ -149,7 +149,7 @@ tap.test(
       pattern_assembler.process_pattern_recursive(testPatternPath, pl);
 
       //act
-      test.equals(
+      test.equal(
         util.sanitized(testPattern.render()),
         util.sanitized("Here's the hidden atom: [I'm the hidden atom\n]\n")
       );
diff --git a/packages/core/test/exportData_tests.js b/packages/core/test/exportData_tests.js
index 3e0a7df67..2443dde76 100644
--- a/packages/core/test/exportData_tests.js
+++ b/packages/core/test/exportData_tests.js
@@ -10,7 +10,7 @@ const util = require('./util/test_utils.js');
 const testPatternsPath = path.resolve(__dirname, 'files', '_patterns');
 
 const fsMock = {
-  outputFileSync: function(path, content) {
+  outputFileSync: function (path, content) {
     /* INTENTIONAL NOOP */
   },
 };
@@ -28,70 +28,70 @@ const uikitFoo = {
   excludedTags: ['baz'],
 };
 
-tap.test('exportData exports config', function(test) {
+tap.test('exportData exports config', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('config') > -1, true);
-  test.equals(result.indexOf('paths') > -1, true);
-  test.equals(result.indexOf('theme') > -1, true);
+  test.equal(result.indexOf('config') > -1, true);
+  test.equal(result.indexOf('paths') > -1, true);
+  test.equal(result.indexOf('theme') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports ishControls', function(test) {
+tap.test('exportData exports ishControls', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('ishControlsHide') > -1, true);
+  test.equal(result.indexOf('ishControlsHide') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports navItems', function(test) {
+tap.test('exportData exports navItems', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('patternGroups') > -1, true);
+  test.equal(result.indexOf('patternGroups') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports patternPaths', function(test) {
+tap.test('exportData exports patternPaths', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('patternPaths') > -1, true);
+  test.equal(result.indexOf('patternPaths') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports viewAllPaths', function(test) {
+tap.test('exportData exports viewAllPaths', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('viewAllPaths') > -1, true);
+  test.equal(result.indexOf('viewAllPaths') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports plugins', function(test) {
+tap.test('exportData exports plugins', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('plugins') > -1, true);
+  test.equal(result.indexOf('plugins') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports defaultShowPatternInfo', function(test) {
+tap.test('exportData exports defaultShowPatternInfo', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('defaultShowPatternInfo') > -1, true);
-  test.equals(result.indexOf('"defaultShowPatternInfo":false') > -1, true);
+  test.equal(result.indexOf('defaultShowPatternInfo') > -1, true);
+  test.equal(result.indexOf('"defaultShowPatternInfo":false') > -1, true);
   test.end();
 });
 
-tap.test('exportData exports defaultPattern', function(test) {
+tap.test('exportData exports defaultPattern', function (test) {
   const patternlab = util.fakePatternLab(testPatternsPath);
   const result = exportData(patternlab, uikitFoo);
 
-  test.equals(result.indexOf('defaultPattern') > -1, true);
-  test.equals(result.indexOf('"defaultPattern":"all"') > -1, true);
+  test.equal(result.indexOf('defaultPattern') > -1, true);
+  test.equal(result.indexOf('"defaultPattern":"all"') > -1, true);
   test.end();
 });
diff --git a/packages/core/test/get_tests.js b/packages/core/test/get_tests.js
index 5e954182c..59be0fd20 100644
--- a/packages/core/test/get_tests.js
+++ b/packages/core/test/get_tests.js
@@ -7,29 +7,30 @@ const getPartial = require('../src/lib/get');
 
 const patterns_dir = './test/files/_patterns';
 
-tap.test('getPartial - returns the fuzzy result when no others found', function(
-  test
-) {
-  //arrange
-  const patternlab = util.fakePatternLab(patterns_dir);
-  patternlab.patterns = [];
+tap.test(
+  'getPartial - returns the fuzzy result when no others found',
+  function (test) {
+    //arrange
+    const patternlab = util.fakePatternLab(patterns_dir);
+    patternlab.patterns = [];
 
-  patternlab.patterns.push({
-    patternPartial: 'character-han-solo',
-    subdir: 'character',
-    fileName: 'han-solo',
-    verbosePartial: 'character/han-solo',
-  });
+    patternlab.patterns.push({
+      patternPartial: 'character-han-solo',
+      subdir: 'character',
+      fileName: 'han-solo',
+      verbosePartial: 'character/han-solo',
+    });
 
-  //act
-  var result = getPartial('character-han', patternlab);
+    //act
+    var result = getPartial('character-han', patternlab);
 
-  //assert
-  test.equals(result, patternlab.patterns[0]);
-  test.end();
-});
+    //assert
+    test.equal(result, patternlab.patterns[0]);
+    test.end();
+  }
+);
 
-tap.test('getPartial - returns the verbose result if found', function(test) {
+tap.test('getPartial - returns the verbose result if found', function (test) {
   //arrange
   const patternlab = util.fakePatternLab(patterns_dir);
   patternlab.patterns = [];
@@ -53,11 +54,11 @@ tap.test('getPartial - returns the verbose result if found', function(test) {
   var result = getPartial('molecules/primary-nav', patternlab);
 
   //assert
-  test.equals(result, patternlab.patterns[1]);
+  test.equal(result, patternlab.patterns[1]);
   test.end();
 });
 
-tap.test('getPartial - returns the exact key if found', function(test) {
+tap.test('getPartial - returns the exact key if found', function (test) {
   //arrange
   const patternlab = util.fakePatternLab(patterns_dir);
   patternlab.patterns = [];
@@ -79,6 +80,6 @@ tap.test('getPartial - returns the exact key if found', function(test) {
   var result = getPartial('molecules-primary-nav', patternlab);
 
   //assert
-  test.equals(result, patternlab.patterns[1]);
+  test.equal(result, patternlab.patterns[1]);
   test.end();
 });
diff --git a/packages/core/test/index_tests.js b/packages/core/test/index_tests.js
index 8f851cb26..f8b49ff61 100644
--- a/packages/core/test/index_tests.js
+++ b/packages/core/test/index_tests.js
@@ -15,33 +15,33 @@ process.env.PATTERNLAB_ENV = 'CI';
 
 //set up a global mocks - we don't want to be writing/rendering any files right now
 
-const copierMock = function() {
+const copierMock = function () {
   return {
-    copyAndWatch: function() {
+    copyAndWatch: function () {
       return Promise.resolve();
     },
   };
 };
 
-const uiBuilderMock = function() {
+const uiBuilderMock = function () {
   return {
-    buildFrontend: function() {
+    buildFrontend: function () {
       return Promise.resolve();
     },
   };
 };
 
 const fsMock = {
-  outputFileSync: function(path, content) {
+  outputFileSync: function (path, content) {
     /* INTENTIONAL NOOP */
   },
-  readJSONSync: function(path, encoding) {
+  readJSONSync: function (path, encoding) {
     return fs.readJSONSync(path, encoding);
   },
-  emptyDir: function(path) {
+  emptyDir: function (path) {
     return fs.emptyDir(path);
   },
-  readFileSync: function(path, encoding) {
+  readFileSync: function (path, encoding) {
     return fs.readFileSync(path, encoding);
   },
 };
@@ -57,29 +57,29 @@ entry.__set__({
   copier: copierMock,
 });
 
-tap.test('version - should call patternlab.getVersion', test => {
+tap.test('version - should call patternlab.getVersion', (test) => {
   //arrange
   const pl = new entry(testConfig);
 
   //act
   //assert
-  test.equals(pl.version(), packageInfo.version);
+  test.equal(pl.version(), packageInfo.version);
   test.end();
 });
 
 tap.test(
   'getDefaultConfig - static method should return the default config object',
-  test => {
+  (test) => {
     const requestedConfig = entry.getDefaultConfig();
     test.type(requestedConfig, 'object');
-    test.equals(requestedConfig, defaultConfig);
+    test.equal(requestedConfig, defaultConfig);
     test.end();
   }
 );
 
 tap.test(
   'getDefaultConfig - instance method should return the default config object',
-  test => {
+  (test) => {
     //arrange
     const pl = new entry(testConfig);
 
@@ -87,12 +87,12 @@ tap.test(
     //assert
     const requestedConfig = pl.getDefaultConfig();
     test.type(requestedConfig, 'object');
-    test.equals(requestedConfig, defaultConfig);
+    test.equal(requestedConfig, defaultConfig);
     test.end();
   }
 );
 
-tap.test('patternsonly a promise', test => {
+tap.test('patternsonly a promise', (test) => {
   //arrange
   const revert = entry.__set__('buildPatterns', buildPatternsMock);
   const pl = new entry(testConfig);
@@ -104,7 +104,7 @@ tap.test('patternsonly a promise', test => {
   });
 });
 
-tap.test('patternsonly calls buildPatterns', test => {
+tap.test('patternsonly calls buildPatterns', (test) => {
   //arrange
   const revert = entry.__set__(
     'buildPatterns',
@@ -113,7 +113,7 @@ tap.test('patternsonly calls buildPatterns', test => {
       test.ok(cleanPublic);
       test.type(patternlab, 'object');
       test.type(data, 'object');
-      test.equals(data.foo, 'bar');
+      test.equal(data.foo, 'bar');
       return Promise.resolve();
     }
   );
@@ -128,9 +128,9 @@ tap.test('patternsonly calls buildPatterns', test => {
     });
 });
 
-tap.test('serve calls serve', test => {
+tap.test('serve calls serve', (test) => {
   //arrange
-  const revert = entry.__set__('serverModule', patternlab => {
+  const revert = entry.__set__('serverModule', (patternlab) => {
     return {
       serve: () => {
         test.ok(1);
@@ -149,7 +149,7 @@ tap.test('serve calls serve', test => {
   });
 });
 
-tap.test('buildPatterns suite', test => {
+tap.test('buildPatterns suite', (test) => {
   //arrange
 
   const patternExporterMock = {
@@ -158,17 +158,17 @@ tap.test('buildPatterns suite', test => {
      the contents of the patterns look like. This, coupled with a mocking of fs and the ui_builder, allow us to focus
      only on the order of events within build.
      */
-    export_patterns: function(patternlab) {
+    export_patterns: function (patternlab) {
       tap.test(
         'replace data link even when pattern parameter present',
-        function(test) {
+        function (test) {
           var pattern = get('test-paramParent', patternlab);
-          test.equals(
+          test.equal(
             util.sanitized(pattern.extendedTemplate),
             '<div class="foo"> <a href="{{url}}">Cool Dude</a> </div>',
             'partial inclusion completes'
           );
-          test.equals(
+          test.equal(
             pattern.patternPartialCode.indexOf('test-foo.rendered.html') > -1,
             true,
             'data link should be replaced properly'
@@ -179,9 +179,9 @@ tap.test('buildPatterns suite', test => {
 
       tap.test(
         'finds partials with their own parameters and renders them too',
-        function(test) {
+        function (test) {
           var pattern = get('test-c', patternlab);
-          test.equals(
+          test.equal(
             util.sanitized(pattern.patternPartialCode),
             util.sanitized(`<b>c</b>
         <b>b</b>
@@ -195,9 +195,9 @@ tap.test('buildPatterns suite', test => {
 
       tap.test(
         'finds and extends templates with mixed parameter and global data',
-        function(test) {
+        function (test) {
           var pattern = get('test-sticky-comment', patternlab);
-          test.equals(
+          test.equal(
             util.sanitized(pattern.patternPartialCode),
             util.sanitized(
               `<h1>Bar</h1><p>A life is like a garden. Perfect moments can be had, but not preserved, except in memory.</p>`
@@ -207,9 +207,9 @@ tap.test('buildPatterns suite', test => {
         }
       );
 
-      tap.test('expands links inside parameters', function(test) {
+      tap.test('expands links inside parameters', function (test) {
         var pattern = get('test-linkInParameter', patternlab);
-        test.equals(
+        test.equal(
           util.sanitized(pattern.patternPartialCode),
           util.sanitized(
             `<a href="/patterns/test-comment/test-comment.rendered.html">Cool Dude</a>`
@@ -218,10 +218,10 @@ tap.test('buildPatterns suite', test => {
         test.end();
       });
 
-      tap.test('uses global listItem property', test => {
+      tap.test('uses global listItem property', (test) => {
         var pattern = get('test-listWithPartial', patternlab);
         let assertionCount = 0;
-        ['dA', 'dB', 'dC'].forEach(d => {
+        ['dA', 'dB', 'dC'].forEach((d) => {
           if (pattern.patternPartialCode.indexOf(d) > -1) {
             assertionCount++;
           }
@@ -232,7 +232,7 @@ tap.test('buildPatterns suite', test => {
 
       tap.test(
         'overwrites listItem property if that property is in local .listitem.json',
-        test => {
+        (test) => {
           var pattern = get('test-listWithListItems', patternlab);
           test.ok(pattern.patternPartialCode.indexOf('tX') > -1);
           test.ok(pattern.patternPartialCode.indexOf('tY') > -1);
@@ -244,7 +244,7 @@ tap.test('buildPatterns suite', test => {
 
       tap.test(
         'uses global listItem property after merging local .listitem.json',
-        test => {
+        (test) => {
           var pattern = get('test-listWithListItems', patternlab);
           test.ok(pattern.patternPartialCode.indexOf('dA') > -1);
           test.ok(pattern.patternPartialCode.indexOf('dB') > -1);
@@ -255,9 +255,9 @@ tap.test('buildPatterns suite', test => {
 
       tap.test(
         'correctly ignores bookended partials without a style modifier when the same partial has a style modifier between',
-        test => {
+        (test) => {
           var pattern = get('test-bookend-listitem', patternlab);
-          test.equals(
+          test.equal(
             util.sanitized(pattern.extendedTemplate),
             util.sanitized(`<div class="test_group">
           {{#listItems-two}}
@@ -283,9 +283,9 @@ tap.test('buildPatterns suite', test => {
 
       tap.test(
         'listItems keys (`one` through `twelve`) can be used more than once per pattern',
-        test => {
+        (test) => {
           var pattern = get('test-repeatedListItems', patternlab);
-          test.equals(
+          test.equal(
             util.sanitized(pattern.patternPartialCode),
             util.sanitized(`AAA BBB`)
           );
@@ -298,7 +298,7 @@ tap.test('buildPatterns suite', test => {
       // From issue #145 https://github.com/pattern-lab/patternlab-node/issues/145
       // tap.test(' parses parameters containing html tags', function (test) {
       //   var pattern = get('test-parameterTags', patternlab);
-      //   test.equals(util.sanitized(pattern.patternPartialCode), util.sanitized(`<p><strong>Single-quoted</strong></p><p><em>Double-quoted</em></p><p><strong class="foo" id=\'bar\'>With attributes</strong></p>`));
+      //   test.equal(util.sanitized(pattern.patternPartialCode), util.sanitized(`<p><strong>Single-quoted</strong></p><p><em>Double-quoted</em></p><p><strong class="foo" id=\'bar\'>With attributes</strong></p>`));
       //   test.end();
       // });
 
@@ -313,7 +313,7 @@ tap.test('buildPatterns suite', test => {
   testConfig.patternExportPatternPartials = ['test-paramParent'];
   const pl = new entry(testConfig);
 
-  test.equals(pl.events.eventNames().length, 0);
+  test.equal(pl.events.eventNames().length, 0);
 
   //act
   return pl
@@ -325,12 +325,12 @@ tap.test('buildPatterns suite', test => {
       },
     })
     .then(() => {
-      test.equals(
+      test.equal(
         pl.events.eventNames().length,
         2,
         'should register two events'
       );
-      test.equals(pl.events.listenerCount(events.PATTERNLAB_PATTERN_CHANGE), 1);
-      test.equals(pl.events.listenerCount(events.PATTERNLAB_GLOBAL_CHANGE), 1);
+      test.equal(pl.events.listenerCount(events.PATTERNLAB_PATTERN_CHANGE), 1);
+      test.equal(pl.events.listenerCount(events.PATTERNLAB_GLOBAL_CHANGE), 1);
     });
 });
diff --git a/packages/core/test/lineage_hunter_tests.js b/packages/core/test/lineage_hunter_tests.js
index 87d6a868d..3ac79646a 100644
--- a/packages/core/test/lineage_hunter_tests.js
+++ b/packages/core/test/lineage_hunter_tests.js
@@ -58,7 +58,7 @@ function createBasePatternLabObject() {
   return pl;
 }
 
-tap.test('find_lineage - finds lineage', function(test) {
+tap.test('find_lineage - finds lineage', function (test) {
   //setup current pattern from what we would have during execution
   var currentPattern = new Pattern(
     'organisms/global/header.mustache', // relative path now
@@ -148,7 +148,7 @@ tap.test('find_lineage - finds lineage', function(test) {
     },
   };
   // BAD: This "patches" the relative path which is unset when using "createEmpty"
-  patternlab.patterns.forEach(p => (p.relPath = p.patternLink));
+  patternlab.patterns.forEach((p) => (p.relPath = p.patternLink));
 
   lineage_hunter.find_lineage(currentPattern, patternlab);
 
@@ -156,10 +156,10 @@ tap.test('find_lineage - finds lineage', function(test) {
 
   // Ensure compatibility
   for (let i of [currentPattern.lineageIndex, graphLineageIndex]) {
-    test.equals(i.length, 3);
-    test.equals(i[0], 'atoms-logo');
-    test.equals(i[1], 'molecules-primary-nav');
-    test.equals(i[2], 'molecules-search');
+    test.equal(i.length, 3);
+    test.equal(i[0], 'atoms-logo');
+    test.equal(i[1], 'molecules-primary-nav');
+    test.equal(i[2], 'molecules-search');
   }
 
   test.end();
@@ -167,7 +167,7 @@ tap.test('find_lineage - finds lineage', function(test) {
 
 tap.test(
   'find_lineage - finds lineage with spaced pattern parameters',
-  function(test) {
+  function (test) {
     //setup current pattern from what we would have during execution
     var currentPattern = createFakeEmptyErrorPattern();
     extend(currentPattern, {
@@ -194,10 +194,10 @@ tap.test(
 
     lineage_hunter.find_lineage(currentPattern, patternlab);
 
-    test.equals(currentPattern.lineageIndex.length, 1);
-    test.equals(currentPattern.lineageIndex[0], 'atoms-error');
-    test.equals(patternlab.patterns[0].lineageRIndex.length, 1);
-    test.equals(
+    test.equal(currentPattern.lineageIndex.length, 1);
+    test.equal(currentPattern.lineageIndex[0], 'atoms-error');
+    test.equal(patternlab.patterns[0].lineageRIndex.length, 1);
+    test.equal(
       patternlab.patterns[0].lineageR[0].lineagePattern,
       'molecules-error'
     );
@@ -212,14 +212,14 @@ tap.test(
     );
     var currentPatternLineageIndex = graph.lineageIndex(currentPattern);
 
-    test.equals(currentPatternLineageIndex.length, 1);
-    test.equals(currentPatternLineageIndex[0], 'atoms-error');
+    test.equal(currentPatternLineageIndex.length, 1);
+    test.equal(currentPatternLineageIndex[0], 'atoms-error');
 
     var patternlabPattern0_lineageRIndex = graph.lineageRIndex(
       patternlab.patterns[0]
     );
-    test.equals(patternlabPattern0_lineageRIndex.length, 1);
-    test.equals(patternlabPattern0_lineageRIndex[0], 'molecules-error');
+    test.equal(patternlabPattern0_lineageRIndex.length, 1);
+    test.equal(patternlabPattern0_lineageRIndex[0], 'molecules-error');
 
     test.end();
   }
@@ -227,7 +227,7 @@ tap.test(
 
 tap.test(
   'cascade_pattern_states promotes a lower pattern state up to the consumer',
-  function(test) {
+  function (test) {
     //arrange
     var pl = createBasePatternLabObject();
 
@@ -257,14 +257,14 @@ tap.test(
 
     //assert
     var consumerPatternReturned = getPartial('test-foo', pl);
-    test.equals(consumerPatternReturned.patternState, 'inreview');
+    test.equal(consumerPatternReturned.patternState, 'inreview');
     test.end();
   }
 );
 
 tap.test(
   'cascade_pattern_states promotes a lower pattern state up to the consumers lineage',
-  function(test) {
+  function (test) {
     //arrange
     var pl = createBasePatternLabObject();
 
@@ -295,14 +295,14 @@ tap.test(
     //assert
     var consumerPatternReturned = getPartial('test-foo', pl);
     const lineage = pl.graph.lineage(consumerPatternReturned);
-    test.equals(lineage[0].lineageState, 'inreview');
+    test.equal(lineage[0].lineageState, 'inreview');
     test.end();
   }
 );
 
 tap.test(
   'cascade_pattern_states sets the pattern state on any lineage patterns reverse lineage',
-  function(test) {
+  function (test) {
     //arrange
     var pl = createBasePatternLabObject();
 
@@ -317,7 +317,7 @@ tap.test(
     //assert
     var consumedPatternReturned = getPartial('test-bar', pl);
     let lineageR = pl.graph.lineageR(consumedPatternReturned);
-    test.equals(lineageR[0].lineageState, 'inreview');
+    test.equal(lineageR[0].lineageState, 'inreview');
 
     test.end();
   }
@@ -325,7 +325,7 @@ tap.test(
 
 tap.test(
   'cascade_pattern_states promotes lower pattern state when consumer does not have its own state',
-  function(test) {
+  function (test) {
     //arrange
     var pl = createBasePatternLabObject();
 
@@ -354,16 +354,16 @@ tap.test(
 
     //assert
     var consumerPatternReturned = getPartial('test-foo', pl);
-    test.equals(consumerPatternReturned.lineage.length, 1);
-    test.equals(consumerPatternReturned.lineage[0].lineageState, 'inreview');
-    test.equals(consumerPatternReturned.patternState, 'inreview');
+    test.equal(consumerPatternReturned.lineage.length, 1);
+    test.equal(consumerPatternReturned.lineage[0].lineageState, 'inreview');
+    test.equal(consumerPatternReturned.patternState, 'inreview');
     test.end();
   }
 );
 
 tap.test(
   'find_lineage - finds lineage with unspaced pattern parameters',
-  function(test) {
+  function (test) {
     //setup current pattern from what we would have during execution
     var currentPattern = createFakeEmptyErrorPattern();
     extend(currentPattern, {
@@ -405,10 +405,10 @@ tap.test(
 
     lineage_hunter.find_lineage(currentPattern, patternlab);
 
-    test.equals(currentPattern.lineageIndex.length, 1);
-    test.equals(currentPattern.lineageIndex[0], 'atoms-error');
-    test.equals(patternlab.patterns[0].lineageRIndex.length, 1);
-    test.equals(
+    test.equal(currentPattern.lineageIndex.length, 1);
+    test.equal(currentPattern.lineageIndex[0], 'atoms-error');
+    test.equal(patternlab.patterns[0].lineageRIndex.length, 1);
+    test.equal(
       patternlab.patterns[0].lineageR[0].lineagePattern,
       'molecules-error'
     );
@@ -416,148 +416,150 @@ tap.test(
     var currentPatternLineageIndex = patternlab.graph.lineageIndex(
       currentPattern
     );
-    test.equals(currentPatternLineageIndex.length, 1);
-    test.equals(currentPatternLineageIndex[0], 'atoms-error');
+    test.equal(currentPatternLineageIndex.length, 1);
+    test.equal(currentPatternLineageIndex[0], 'atoms-error');
 
     var pattern0LineageRIndex = patternlab.graph.lineageRIndex(
       patternlab.patterns[0]
     );
-    test.equals(pattern0LineageRIndex.length, 1);
-    test.equals(pattern0LineageRIndex[0], 'molecules-error');
+    test.equal(pattern0LineageRIndex.length, 1);
+    test.equal(pattern0LineageRIndex[0], 'molecules-error');
 
     test.end();
   }
 );
 
-tap.test('find_lineage - finds lineage with spaced styleModifier', function(
-  test
-) {
-  //setup current pattern from what we would have during execution
-  var currentPattern = Pattern.createEmpty({
-    name: 'molecules-toast-error',
-    subdir: 'molecules\\toast',
-    filename: 'error.mustache',
-    data: null,
-    template: '{{> atoms-error:foo }}',
-    extendedTemplate: '{{> atoms-error:foo }}',
-    patternBaseName: 'error',
-    patternLink: 'molecules-toast-error/molecules-toast-error.html',
-    patternGroup: 'molecules',
-    patternSubgroup: 'molecules\\toast',
-    flatPatternPath: 'molecules\\toast',
-    patternPartial: 'molecules-error',
-    patternState: '',
-    lineage: [],
-    lineageIndex: [],
-    lineageR: [],
-    lineageRIndex: [],
-  });
-  var patternlab = {
-    graph: new PatternGraph(null, 0),
-    patterns: [
-      Pattern.createEmpty({
-        name: 'atoms-alerts-error',
-        subdir: 'atoms\\alerts',
-        filename: 'error.mustache',
-        data: null,
-        template: '<h1> {{message}} </h1>',
-        extendedTemplate: '<h1> {{message}} </h1>',
-        patternBaseName: 'error',
-        patternLink: 'atoms-alerts-error/atoms-alerts-error.html',
-        patternGroup: 'atoms',
-        patternSubgroup: 'atoms\\alerts',
-        flatPatternPath: 'atoms\\alerts',
-        patternPartial: 'atoms-error',
-        patternState: '',
-        lineage: [],
-        lineageIndex: [],
-        lineageR: [],
-        lineageRIndex: [],
-      }),
-    ],
-    config: {
-      outputFileSuffixes: {
-        rendered: '.rendered',
-        rawTemplate: '',
-        markupOnly: '.markup-only',
+tap.test(
+  'find_lineage - finds lineage with spaced styleModifier',
+  function (test) {
+    //setup current pattern from what we would have during execution
+    var currentPattern = Pattern.createEmpty({
+      name: 'molecules-toast-error',
+      subdir: 'molecules\\toast',
+      filename: 'error.mustache',
+      data: null,
+      template: '{{> atoms-error:foo }}',
+      extendedTemplate: '{{> atoms-error:foo }}',
+      patternBaseName: 'error',
+      patternLink: 'molecules-toast-error/molecules-toast-error.html',
+      patternGroup: 'molecules',
+      patternSubgroup: 'molecules\\toast',
+      flatPatternPath: 'molecules\\toast',
+      patternPartial: 'molecules-error',
+      patternState: '',
+      lineage: [],
+      lineageIndex: [],
+      lineageR: [],
+      lineageRIndex: [],
+    });
+    var patternlab = {
+      graph: new PatternGraph(null, 0),
+      patterns: [
+        Pattern.createEmpty({
+          name: 'atoms-alerts-error',
+          subdir: 'atoms\\alerts',
+          filename: 'error.mustache',
+          data: null,
+          template: '<h1> {{message}} </h1>',
+          extendedTemplate: '<h1> {{message}} </h1>',
+          patternBaseName: 'error',
+          patternLink: 'atoms-alerts-error/atoms-alerts-error.html',
+          patternGroup: 'atoms',
+          patternSubgroup: 'atoms\\alerts',
+          flatPatternPath: 'atoms\\alerts',
+          patternPartial: 'atoms-error',
+          patternState: '',
+          lineage: [],
+          lineageIndex: [],
+          lineageR: [],
+          lineageRIndex: [],
+        }),
+      ],
+      config: {
+        outputFileSuffixes: {
+          rendered: '.rendered',
+          rawTemplate: '',
+          markupOnly: '.markup-only',
+        },
       },
-    },
-  };
+    };
 
-  lineage_hunter.find_lineage(currentPattern, patternlab);
+    lineage_hunter.find_lineage(currentPattern, patternlab);
 
-  test.equals(currentPattern.lineageIndex.length, 1);
-  test.equals(currentPattern.lineageIndex[0], 'atoms-error');
+    test.equal(currentPattern.lineageIndex.length, 1);
+    test.equal(currentPattern.lineageIndex[0], 'atoms-error');
 
-  test.end();
-});
+    test.end();
+  }
+);
 
-tap.test('find_lineage - finds lineage with unspaced styleModifier', function(
-  test
-) {
-  //setup current pattern from what we would have during execution
-  var currentPattern = Pattern.createEmpty({
-    name: 'molecules-toast-error',
-    subdir: 'molecules\\toast',
-    filename: 'error.mustache',
-    data: null,
-    template: '{{> atoms-error:foo }}',
-    extendedTemplate: '{{>atoms-error:foo}}',
-    patternBaseName: 'error',
-    patternLink: 'molecules-toast-error/molecules-toast-error.html',
-    patternGroup: 'molecules',
-    patternSubgroup: 'molecules\\toast',
-    flatPatternPath: 'molecules\\toast',
-    patternPartial: 'molecules-error',
-    patternState: '',
-    lineage: [],
-    lineageIndex: [],
-    lineageR: [],
-    lineageRIndex: [],
-  });
-  var patternlab = {
-    graph: PatternGraph.empty(),
-    patterns: [
-      Pattern.createEmpty({
-        name: 'atoms-alerts-error',
-        subdir: 'atoms\\alerts',
-        filename: 'error.mustache',
-        data: null,
-        template: '<h1> {{message}} </h1>',
-        extendedTemlpate: '<h1> {{message}} </h1>',
-        patternBaseName: 'error',
-        patternLink: 'atoms-alerts-error/atoms-alerts-error.html',
-        patternGroup: 'atoms',
-        patternSubgroup: 'atoms\\alerts',
-        flatPatternPath: 'atoms\\alerts',
-        patternPartial: 'atoms-error',
-        patternState: '',
-        lineage: [],
-        lineageIndex: [],
-        lineageR: [],
-        lineageRIndex: [],
-      }),
-    ],
-    config: {
-      outputFileSuffixes: {
-        rendered: '.rendered',
-        rawTemplate: '',
-        markupOnly: '.markup-only',
+tap.test(
+  'find_lineage - finds lineage with unspaced styleModifier',
+  function (test) {
+    //setup current pattern from what we would have during execution
+    var currentPattern = Pattern.createEmpty({
+      name: 'molecules-toast-error',
+      subdir: 'molecules\\toast',
+      filename: 'error.mustache',
+      data: null,
+      template: '{{> atoms-error:foo }}',
+      extendedTemplate: '{{>atoms-error:foo}}',
+      patternBaseName: 'error',
+      patternLink: 'molecules-toast-error/molecules-toast-error.html',
+      patternGroup: 'molecules',
+      patternSubgroup: 'molecules\\toast',
+      flatPatternPath: 'molecules\\toast',
+      patternPartial: 'molecules-error',
+      patternState: '',
+      lineage: [],
+      lineageIndex: [],
+      lineageR: [],
+      lineageRIndex: [],
+    });
+    var patternlab = {
+      graph: PatternGraph.empty(),
+      patterns: [
+        Pattern.createEmpty({
+          name: 'atoms-alerts-error',
+          subdir: 'atoms\\alerts',
+          filename: 'error.mustache',
+          data: null,
+          template: '<h1> {{message}} </h1>',
+          extendedTemlpate: '<h1> {{message}} </h1>',
+          patternBaseName: 'error',
+          patternLink: 'atoms-alerts-error/atoms-alerts-error.html',
+          patternGroup: 'atoms',
+          patternSubgroup: 'atoms\\alerts',
+          flatPatternPath: 'atoms\\alerts',
+          patternPartial: 'atoms-error',
+          patternState: '',
+          lineage: [],
+          lineageIndex: [],
+          lineageR: [],
+          lineageRIndex: [],
+        }),
+      ],
+      config: {
+        outputFileSuffixes: {
+          rendered: '.rendered',
+          rawTemplate: '',
+          markupOnly: '.markup-only',
+        },
       },
-    },
-  };
+    };
 
-  lineage_hunter.find_lineage(currentPattern, patternlab);
+    lineage_hunter.find_lineage(currentPattern, patternlab);
 
-  test.equals(currentPattern.lineageIndex.length, 1);
-  test.equals(currentPattern.lineageIndex[0], 'atoms-error');
+    test.equal(currentPattern.lineageIndex.length, 1);
+    test.equal(currentPattern.lineageIndex[0], 'atoms-error');
 
-  test.end();
-});
+    test.end();
+  }
+);
 
 tap.test(
   'find_lineage - finds lineage with fuzzy partial with styleModifier',
-  function(test) {
+  function (test) {
     //setup current pattern from what we would have during execution
     var currentPattern = Pattern.createEmpty({
       name: 'molecules-toast-error',
@@ -613,14 +615,14 @@ tap.test(
     var lineage_hunter = new lh();
     lineage_hunter.find_lineage(currentPattern, patternlab);
 
-    test.equals(currentPattern.lineageIndex.length, 1);
-    test.equals(currentPattern.lineageIndex[0], 'atoms-error');
+    test.equal(currentPattern.lineageIndex.length, 1);
+    test.equal(currentPattern.lineageIndex[0], 'atoms-error');
 
     test.end();
   }
 );
 
-tap.test('find_lineage - does not apply lineage twice', function(test) {
+tap.test('find_lineage - does not apply lineage twice', function (test) {
   //setup current pattern from what we would have during execution
   var currentPattern = createFakeEmptyErrorPattern();
   extend(currentPattern, {
@@ -663,10 +665,10 @@ tap.test('find_lineage - does not apply lineage twice', function(test) {
   lineage_hunter.find_lineage(currentPattern, patternlab);
   lineage_hunter.find_lineage(currentPattern, patternlab);
 
-  test.equals(currentPattern.lineageIndex.length, 1);
-  test.equals(currentPattern.lineageIndex[0], 'atoms-error');
-  test.equals(patternlab.patterns[0].lineageRIndex.length, 1);
-  test.equals(
+  test.equal(currentPattern.lineageIndex.length, 1);
+  test.equal(currentPattern.lineageIndex[0], 'atoms-error');
+  test.equal(patternlab.patterns[0].lineageRIndex.length, 1);
+  test.equal(
     patternlab.patterns[0].lineageR[0].lineagePattern,
     'molecules-error'
   );
@@ -674,11 +676,11 @@ tap.test('find_lineage - does not apply lineage twice', function(test) {
   var graph = patternlab.graph;
 
   var currentPatternLineageIndex = graph.lineageIndex(currentPattern);
-  test.equals(currentPatternLineageIndex.length, 1);
-  test.equals(currentPatternLineageIndex[0], 'atoms-error');
+  test.equal(currentPatternLineageIndex.length, 1);
+  test.equal(currentPatternLineageIndex[0], 'atoms-error');
   var patternZeroLineageR = graph.lineageR(patternlab.patterns[0]);
-  test.equals(patternZeroLineageR.length, 1);
-  test.equals(patternZeroLineageR[0].patternPartial, 'molecules-error');
+  test.equal(patternZeroLineageR.length, 1);
+  test.equal(patternZeroLineageR[0].patternPartial, 'molecules-error');
 
   test.end();
 });
diff --git a/packages/core/test/list_item_hunter_tests.js b/packages/core/test/list_item_hunter_tests.js
index 516eb3468..5447f194f 100644
--- a/packages/core/test/list_item_hunter_tests.js
+++ b/packages/core/test/list_item_hunter_tests.js
@@ -16,7 +16,7 @@ engineLoader.loadAllEngines(config);
 
 tap.test(
   'process_list_item_partials converts partial to simpler format',
-  test => {
+  (test) => {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
     const listPath = path.join('test', 'list.mustache');
@@ -28,7 +28,7 @@ tap.test(
     //act
     list_item_hunter.process_list_item_partials(testPattern, pl).then(() => {
       //assert
-      test.equals(
+      test.equal(
         util.sanitized(testPattern.extendedTemplate),
         util.sanitized(`
       {{#listItems-three}}
@@ -43,7 +43,7 @@ tap.test(
 
 tap.test(
   'process_list_item_partials converts partial with includes to simpler format',
-  test => {
+  (test) => {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
     const listPath = path.join('test', 'listWithPartial.mustache');
@@ -55,7 +55,7 @@ tap.test(
     //act
     list_item_hunter.process_list_item_partials(testPattern, pl).then(() => {
       //assert
-      test.equals(
+      test.equal(
         util.sanitized(testPattern.extendedTemplate),
         util.sanitized(`
       {{#listItems-two}}
diff --git a/packages/core/test/loadPattern_tests.js b/packages/core/test/loadPattern_tests.js
index 00643666e..d2903a6c0 100644
--- a/packages/core/test/loadPattern_tests.js
+++ b/packages/core/test/loadPattern_tests.js
@@ -12,20 +12,23 @@ patternEngines.loadAllEngines(config);
 
 const patterns_dir = `${__dirname}/files/_patterns`;
 
-tap.test('loadPattern - returns null if file is not a pattern', function(test) {
-  //arrange
-  const patternlab = util.fakePatternLab(patterns_dir);
-  var patternPath = path.join('test', 'styled-atom.json');
+tap.test(
+  'loadPattern - returns null if file is not a pattern',
+  function (test) {
+    //arrange
+    const patternlab = util.fakePatternLab(patterns_dir);
+    var patternPath = path.join('test', 'styled-atom.json');
 
-  //act
-  var result = loadPattern(patternPath, patternlab);
+    //act
+    var result = loadPattern(patternPath, patternlab);
 
-  //assert
-  test.equals(result, null);
-  test.end();
-});
+    //assert
+    test.equal(result, null);
+    test.end();
+  }
+);
 
-tap.test('loadPattern - loads pattern sibling json if found', function(test) {
+tap.test('loadPattern - loads pattern sibling json if found', function (test) {
   //arrange
   const patternlab = util.fakePatternLab(patterns_dir);
   var patternPath = path.join('test', 'styled-atom.mustache');
@@ -34,13 +37,13 @@ tap.test('loadPattern - loads pattern sibling json if found', function(test) {
   var result = loadPattern(patternPath, patternlab);
 
   //assert
-  test.equals(result.jsonFileData.message, 'baseMessage');
+  test.equal(result.jsonFileData.message, 'baseMessage');
   test.end();
 });
 
 tap.test(
   'loadPattern - adds the pattern to the patternlab.partials object',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
     var fooPatternPath = path.join('test', 'bar.mustache');
@@ -49,25 +52,26 @@ tap.test(
     var result = loadPattern(fooPatternPath, patternlab);
 
     //assert
-    test.equals(util.sanitized(patternlab.partials['test-bar']), 'bar');
+    test.equal(util.sanitized(patternlab.partials['test-bar']), 'bar');
     test.end();
   }
 );
 
-tap.test('loadPattern - returns pattern with template populated', function(
-  test
-) {
-  //arrange
-  const patternlab = util.fakePatternLab(patterns_dir);
-  var fooPatternPath = path.join('test', 'bar.mustache');
+tap.test(
+  'loadPattern - returns pattern with template populated',
+  function (test) {
+    //arrange
+    const patternlab = util.fakePatternLab(patterns_dir);
+    var fooPatternPath = path.join('test', 'bar.mustache');
 
-  //act
-  var result = loadPattern(fooPatternPath, patternlab);
+    //act
+    var result = loadPattern(fooPatternPath, patternlab);
 
-  //assert
-  test.equals(util.sanitized(result.template), util.sanitized('bar'));
-  test.end();
-});
+    //assert
+    test.equal(util.sanitized(result.template), util.sanitized('bar'));
+    test.end();
+  }
+);
 
 // TODO: Fix doc pattern test when new logic in loadPattern is implemented
 // tap.test('loadPattern - adds a markdown pattern if encountered', function(
@@ -83,21 +87,21 @@ tap.test('loadPattern - returns pattern with template populated', function(
 //   //assert
 //   const subgroupPattern =
 //     patternlab.subgroupPatterns['patternGroup1-patternSubgroup1'];
-//   test.equals(subgroupPattern.patternSectionSubgroup, true);
-//   test.equals(subgroupPattern.isPattern, false);
-//   test.equals(subgroupPattern.patternDesc, '<p>Colors</p>\n');
-//   test.equals(subgroupPattern.engine, null);
-//   test.equals(
+//   test.equal(subgroupPattern.patternSectionSubgroup, true);
+//   test.equal(subgroupPattern.isPattern, false);
+//   test.equal(subgroupPattern.patternDesc, '<p>Colors</p>\n');
+//   test.equal(subgroupPattern.engine, null);
+//   test.equal(
 //     subgroupPattern.flatPatternPath,
 //     'patternGroup1-patternSubgroup1'
 //   );
-//   test.equals(result, subgroupPattern);
+//   test.equal(result, subgroupPattern);
 //   test.end();
 // });
 
 tap.test(
   'loadPattern - does not load pseudopattern data on the base pattern',
-  test => {
+  (test) => {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
     const basePatternPath = path.join('test', 'pseudomodifier.mustache');
@@ -114,7 +118,7 @@ tap.test(
 
 tap.test(
   'loadPattern - group and subgroup ordering will be taken from markdown files',
-  test => {
+  (test) => {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
diff --git a/packages/core/test/loaduitkits_tests.js b/packages/core/test/loaduitkits_tests.js
index 7cdc16401..a4cf2bd3b 100644
--- a/packages/core/test/loaduitkits_tests.js
+++ b/packages/core/test/loaduitkits_tests.js
@@ -9,7 +9,7 @@ const loaduikits = rewire('../src/lib/loaduikits');
 
 const testConfig = require('./util/patternlab-config.json');
 
-tap.test('loaduikits - does warn on missing package property', test => {
+tap.test('loaduikits - does warn on missing package property', (test) => {
   //arrange
   const patternlab = {
     config: testConfig,
@@ -17,7 +17,7 @@ tap.test('loaduikits - does warn on missing package property', test => {
   };
 
   patternlab.config.logLevel = 'warning';
-  logger.log.on('warning', msg => test.ok(msg.includes('package:')));
+  logger.log.on('warning', (msg) => test.ok(msg.includes('package:')));
 
   //act
   loaduikits(patternlab).then(() => {
@@ -26,7 +26,7 @@ tap.test('loaduikits - does warn on missing package property', test => {
   });
 });
 
-tap.test('loaduikits - maps fields correctly', function(test) {
+tap.test('loaduikits - maps fields correctly', function (test) {
   //arrange
   const patternlab = {
     config: testConfig,
@@ -36,8 +36,8 @@ tap.test('loaduikits - maps fields correctly', function(test) {
   //act
   loaduikits(patternlab).then(() => {
     //assert
-    test.equals(patternlab.uikits['uikit-workshop'].name, 'uikit-workshop');
-    test.equals(
+    test.equal(patternlab.uikits['uikit-workshop'].name, 'uikit-workshop');
+    test.equal(
       patternlab.uikits['uikit-workshop'].package,
       '@pattern-lab/uikit-workshop'
     );
@@ -46,7 +46,7 @@ tap.test('loaduikits - maps fields correctly', function(test) {
       path.join('packages', 'uikit-workshop')
     );
     test.ok(patternlab.uikits['uikit-workshop'].enabled);
-    test.equals(patternlab.uikits['uikit-workshop'].outputDir, 'test/');
+    test.equal(patternlab.uikits['uikit-workshop'].outputDir, 'test/');
     test.deepEquals(patternlab.uikits['uikit-workshop'].excludedPatternStates, [
       'legacy',
     ]);
@@ -55,7 +55,7 @@ tap.test('loaduikits - maps fields correctly', function(test) {
   });
 });
 
-tap.test('loaduikits - only adds files for enabled uikits', function(test) {
+tap.test('loaduikits - only adds files for enabled uikits', function (test) {
   //arrange
   const patternlab = {
     config: testConfig,
diff --git a/packages/core/test/markdown_parser_tests.js b/packages/core/test/markdown_parser_tests.js
index dbd9673c8..717f5b27f 100644
--- a/packages/core/test/markdown_parser_tests.js
+++ b/packages/core/test/markdown_parser_tests.js
@@ -9,7 +9,7 @@ var markdown_parser = new mp();
 
 tap.test(
   'parses pattern description block correctly when frontmatter not present',
-  function(test) {
+  function (test) {
     //arrange
     var markdownFileName = path.resolve(
       `${__dirname}/files/_patterns/test/baz.md`
@@ -20,14 +20,14 @@ tap.test(
     var returnObject = markdown_parser.parse(markdownFileContents);
 
     //assert
-    test.equals(returnObject.markdown, '<h3>Only baz</h3>\n');
+    test.equal(returnObject.markdown, '<h3>Only baz</h3>\n');
     test.end();
   }
 );
 
 tap.test(
   'parses pattern description block correctly when frontmatter present',
-  function(test) {
+  function (test) {
     //arrange
     var markdownFileName = path.resolve(
       `${__dirname}/files/_patterns/test/bar.md`
@@ -38,16 +38,16 @@ tap.test(
     var returnObject = markdown_parser.parse(markdownFileContents);
 
     //assert
-    test.equals(
+    test.equal(
       returnObject.markdown,
       '<h2>A Simple Bit of Markup</h2>\n<p>Foo cannot get simpler than bar, amiright?</p>\n'
     );
-    test.equals(returnObject.state, 'complete');
+    test.equal(returnObject.state, 'complete');
     test.end();
   }
 );
 
-tap.test('parses frontmatter only when no markdown present', function(test) {
+tap.test('parses frontmatter only when no markdown present', function (test) {
   //arrange
   var markdownFileName = path.resolve(
     `${__dirname}/files/_patterns/test/styled-atom.md`
@@ -58,7 +58,7 @@ tap.test('parses frontmatter only when no markdown present', function(test) {
   var returnObject = markdown_parser.parse(markdownFileContents);
 
   //assert
-  test.equals(returnObject.markdown, '');
-  test.equals(returnObject.state, 'inprogress');
+  test.equal(returnObject.markdown, '');
+  test.equal(returnObject.state, 'inprogress');
   test.end();
 });
diff --git a/packages/core/test/object_factory_tests.js b/packages/core/test/object_factory_tests.js
index 435a3c936..6684628df 100644
--- a/packages/core/test/object_factory_tests.js
+++ b/packages/core/test/object_factory_tests.js
@@ -30,44 +30,44 @@ var pl = fakePatternLab();
 var engineLoader = require('../src/lib/pattern_engines');
 engineLoader.loadAllEngines(config);
 
-tap.test('test Pattern initializes correctly', function(test) {
+tap.test('test Pattern initializes correctly', function (test) {
   var p = new Pattern('atoms/global/colors.mustache', { d: 123 });
-  test.equals(
+  test.equal(
     p.relPath,
     'atoms' + path.sep + 'global' + path.sep + 'colors.mustache'
   );
-  test.equals(p.name, 'atoms-global-colors');
-  test.equals(p.subdir, 'atoms' + path.sep + 'global');
-  test.equals(p.fileName, 'colors');
-  test.equals(p.fileExtension, '.mustache');
-  test.equals(p.jsonFileData.d, 123);
-  test.equals(p.patternBaseName, 'colors');
-  test.equals(p.patternName, 'Colors');
-  test.equals(
+  test.equal(p.name, 'atoms-global-colors');
+  test.equal(p.subdir, 'atoms' + path.sep + 'global');
+  test.equal(p.fileName, 'colors');
+  test.equal(p.fileExtension, '.mustache');
+  test.equal(p.jsonFileData.d, 123);
+  test.equal(p.patternBaseName, 'colors');
+  test.equal(p.patternName, 'Colors');
+  test.equal(
     p.getPatternLink(pl),
     'atoms-global-colors' + path.sep + 'atoms-global-colors.rendered.html'
   );
-  test.equals(p.patternGroup, 'atoms');
-  test.equals(p.patternSubgroup, 'global');
-  test.equals(p.flatPatternPath, 'atoms-global');
-  test.equals(p.patternPartial, 'atoms-colors');
-  test.equals(p.template, '');
-  test.equals(p.patternPartialCode, '');
-  test.equals(p.lineage.length, 0);
-  test.equals(p.lineageIndex.length, 0);
-  test.equals(p.lineageR.length, 0);
-  test.equals(p.lineageRIndex.length, 0);
-  test.equals(p.patternState, '');
+  test.equal(p.patternGroup, 'atoms');
+  test.equal(p.patternSubgroup, 'global');
+  test.equal(p.flatPatternPath, 'atoms-global');
+  test.equal(p.patternPartial, 'atoms-colors');
+  test.equal(p.template, '');
+  test.equal(p.patternPartialCode, '');
+  test.equal(p.lineage.length, 0);
+  test.equal(p.lineageIndex.length, 0);
+  test.equal(p.lineageR.length, 0);
+  test.equal(p.lineageRIndex.length, 0);
+  test.equal(p.patternState, '');
   test.end();
 });
 
 tap.test(
   'test Pattern initializes correctly with pattern in sepatated directory',
-  function(test) {
+  function (test) {
     var p = new Pattern('atoms/global/colors/colors.mustache', {
       d: 123,
     });
-    test.equals(
+    test.equal(
       p.relPath,
       'atoms' +
         path.sep +
@@ -77,245 +77,254 @@ tap.test(
         path.sep +
         'colors.mustache'
     );
-    test.equals(p.name, 'atoms-global-colors');
-    test.equals(p.subdir, path.join('atoms', 'global', 'colors'));
-    test.equals(p.fileName, 'colors');
-    test.equals(p.fileExtension, '.mustache');
-    test.equals(p.jsonFileData.d, 123);
-    test.equals(p.patternBaseName, 'colors');
-    test.equals(p.patternName, 'Colors');
-    test.equals(
+    test.equal(p.name, 'atoms-global-colors');
+    test.equal(p.subdir, path.join('atoms', 'global', 'colors'));
+    test.equal(p.fileName, 'colors');
+    test.equal(p.fileExtension, '.mustache');
+    test.equal(p.jsonFileData.d, 123);
+    test.equal(p.patternBaseName, 'colors');
+    test.equal(p.patternName, 'Colors');
+    test.equal(
       p.getPatternLink(pl),
       'atoms-global-colors' + path.sep + 'atoms-global-colors.rendered.html'
     );
-    test.equals(p.patternGroup, 'atoms');
-    test.equals(p.patternSubgroup, 'global');
-    test.equals(p.flatPatternPath, 'atoms-global');
-    test.equals(p.patternPartial, 'atoms-colors');
-    test.equals(p.template, '');
-    test.equals(p.patternPartialCode, '');
-    test.equals(p.lineage.length, 0);
-    test.equals(p.lineageIndex.length, 0);
-    test.equals(p.lineageR.length, 0);
-    test.equals(p.lineageRIndex.length, 0);
-    test.equals(p.patternState, '');
+    test.equal(p.patternGroup, 'atoms');
+    test.equal(p.patternSubgroup, 'global');
+    test.equal(p.flatPatternPath, 'atoms-global');
+    test.equal(p.patternPartial, 'atoms-colors');
+    test.equal(p.template, '');
+    test.equal(p.patternPartialCode, '');
+    test.equal(p.lineage.length, 0);
+    test.equal(p.lineageIndex.length, 0);
+    test.equal(p.lineageR.length, 0);
+    test.equal(p.lineageRIndex.length, 0);
+    test.equal(p.patternState, '');
     test.end();
   }
 );
 
-tap.test('test Pattern name for variants correctly initialzed', function(test) {
-  var p1 = new Pattern('atoms/global/colors/colors~variant.mustache', {
-    d: 123,
-  });
-  var p2 = new Pattern('atoms/global/colors/colors~variant-minus.json', {
-    d: 123,
-  });
-  test.equals(p1.name, 'atoms-global-colors-variant');
-  test.equals(p2.name, 'atoms-global-colors-variant-minus');
-  test.end();
-});
+tap.test(
+  'test Pattern name for variants correctly initialzed',
+  function (test) {
+    var p1 = new Pattern('atoms/global/colors/colors~variant.mustache', {
+      d: 123,
+    });
+    var p2 = new Pattern('atoms/global/colors/colors~variant-minus.json', {
+      d: 123,
+    });
+    test.equal(p1.name, 'atoms-global-colors-variant');
+    test.equal(p2.name, 'atoms-global-colors-variant-minus');
+    test.end();
+  }
+);
 
-tap.test('test Pattern with one-directory subdir works as expected', function(
-  test
-) {
-  var p = new Pattern('atoms/colors.mustache', { d: 123 });
-  test.equals(p.relPath, 'atoms' + path.sep + 'colors.mustache');
-  test.equals(p.name, 'atoms-colors');
-  test.equals(p.subdir, 'atoms');
-  test.equals(p.fileName, 'colors');
-  test.equals(p.fileExtension, '.mustache');
-  test.equals(p.jsonFileData.d, 123);
-  test.equals(p.patternBaseName, 'colors');
-  test.equals(p.patternName, 'Colors');
-  test.equals(
-    p.getPatternLink(pl),
-    'atoms-colors' + path.sep + 'atoms-colors.rendered.html'
-  );
-  test.equals(p.patternGroup, 'atoms');
-  test.equals(p.flatPatternPath, 'atoms');
-  test.equals(p.patternPartial, 'atoms-colors');
-  test.equals(p.template, '');
-  test.equals(p.lineage.length, 0);
-  test.equals(p.lineageIndex.length, 0);
-  test.equals(p.lineageR.length, 0);
-  test.equals(p.lineageRIndex.length, 0);
-  test.end();
-});
+tap.test(
+  'test Pattern with one-directory subdir works as expected',
+  function (test) {
+    var p = new Pattern('atoms/colors.mustache', { d: 123 });
+    test.equal(p.relPath, 'atoms' + path.sep + 'colors.mustache');
+    test.equal(p.name, 'atoms-colors');
+    test.equal(p.subdir, 'atoms');
+    test.equal(p.fileName, 'colors');
+    test.equal(p.fileExtension, '.mustache');
+    test.equal(p.jsonFileData.d, 123);
+    test.equal(p.patternBaseName, 'colors');
+    test.equal(p.patternName, 'Colors');
+    test.equal(
+      p.getPatternLink(pl),
+      'atoms-colors' + path.sep + 'atoms-colors.rendered.html'
+    );
+    test.equal(p.patternGroup, 'atoms');
+    test.equal(p.flatPatternPath, 'atoms');
+    test.equal(p.patternPartial, 'atoms-colors');
+    test.equal(p.template, '');
+    test.equal(p.lineage.length, 0);
+    test.equal(p.lineageIndex.length, 0);
+    test.equal(p.lineageR.length, 0);
+    test.equal(p.lineageRIndex.length, 0);
+    test.end();
+  }
+);
 
-tap.test('test Pattern with own-directory gets resetted as expected', function(
-  test
-) {
-  var p = new Pattern('atoms/button/button.mustache', { d: 123 }, pl);
-  p.promoteFromDirectoryToFlatPattern(pl);
+tap.test(
+  'test Pattern with own-directory gets resetted as expected',
+  function (test) {
+    var p = new Pattern('atoms/button/button.mustache', { d: 123 }, pl);
+    p.promoteFromDirectoryToFlatPattern(pl);
 
-  test.equals(p.relPath, path.join('atoms', 'button', 'button.mustache'));
-  test.equals(p.name, 'atoms-button');
-  test.equals(p.subdir, path.join('atoms', 'button'));
-  test.equals(p.fileName, 'button');
-  test.equals(p.fileExtension, '.mustache');
-  test.equals(p.jsonFileData.d, 123);
-  test.equals(p.patternBaseName, 'button');
-  test.equals(p.patternName, 'Button');
-  test.equals(
-    p.getPatternLink(pl),
-    path.join('atoms-button', 'atoms-button.rendered.html')
-  );
-  test.equals(p.patternGroup, 'atoms');
-  test.equals(p.flatPatternPath, 'atoms');
-  test.equals(p.patternPartial, 'atoms-button');
-  test.equals(p.template, '');
-  test.equals(p.lineage.length, 0);
-  test.equals(p.lineageIndex.length, 0);
-  test.equals(p.lineageR.length, 0);
-  test.equals(p.lineageRIndex.length, 0);
-  test.end();
-});
+    test.equal(p.relPath, path.join('atoms', 'button', 'button.mustache'));
+    test.equal(p.name, 'atoms-button');
+    test.equal(p.subdir, path.join('atoms', 'button'));
+    test.equal(p.fileName, 'button');
+    test.equal(p.fileExtension, '.mustache');
+    test.equal(p.jsonFileData.d, 123);
+    test.equal(p.patternBaseName, 'button');
+    test.equal(p.patternName, 'Button');
+    test.equal(
+      p.getPatternLink(pl),
+      path.join('atoms-button', 'atoms-button.rendered.html')
+    );
+    test.equal(p.patternGroup, 'atoms');
+    test.equal(p.flatPatternPath, 'atoms');
+    test.equal(p.patternPartial, 'atoms-button');
+    test.equal(p.template, '');
+    test.equal(p.lineage.length, 0);
+    test.equal(p.lineageIndex.length, 0);
+    test.equal(p.lineageR.length, 0);
+    test.equal(p.lineageRIndex.length, 0);
+    test.end();
+  }
+);
 
 tap.test(
   'test Pattern with no numbers in pattern group works as expected',
-  function(test) {
+  function (test) {
     var p = new Pattern('atoms/colors.mustache', { d: 123 });
-    test.equals(p.relPath, 'atoms' + path.sep + 'colors.mustache');
-    test.equals(p.name, 'atoms-colors');
-    test.equals(p.subdir, 'atoms');
-    test.equals(p.fileName, 'colors');
-    test.equals(
+    test.equal(p.relPath, 'atoms' + path.sep + 'colors.mustache');
+    test.equal(p.name, 'atoms-colors');
+    test.equal(p.subdir, 'atoms');
+    test.equal(p.fileName, 'colors');
+    test.equal(
       p.getPatternLink(pl),
       'atoms-colors' + path.sep + 'atoms-colors.rendered.html'
     );
-    test.equals(p.patternGroup, 'atoms');
-    test.equals(p.flatPatternPath, 'atoms');
-    test.equals(p.patternPartial, 'atoms-colors');
+    test.equal(p.patternGroup, 'atoms');
+    test.equal(p.flatPatternPath, 'atoms');
+    test.equal(p.patternPartial, 'atoms-colors');
     test.end();
   }
 );
 
-tap.test('test Pattern capitalizes patternDisplayName correctly', function(
-  test
-) {
-  var p = new Pattern('atoms/global/colors-alt.mustache', { d: 123 });
-  test.equals(p.patternBaseName, 'colors-alt');
-  test.equals(p.patternName, 'Colors Alt');
-  test.end();
-});
+tap.test(
+  'test Pattern capitalizes patternDisplayName correctly',
+  function (test) {
+    var p = new Pattern('atoms/global/colors-alt.mustache', { d: 123 });
+    test.equal(p.patternBaseName, 'colors-alt');
+    test.equal(p.patternName, 'Colors Alt');
+    test.end();
+  }
+);
 
-tap.test('test Pattern get dir level no separated pattern directory', function(
-  test
-) {
-  var p = new Pattern('atoms/global/colors-alt.mustache', { d: 123 });
-  console.log(p);
-  test.equals(p.getDirLevel(0, { patternHasOwnDir: false }), 'atoms');
-  test.equals(p.getDirLevel(1, { patternHasOwnDir: false }), 'global');
-  test.equals(p.getDirLevel(2, { patternHasOwnDir: false }), ''); // There is no third level
-  var p = new Pattern('atoms/colors-alt.mustache', { d: 123 });
-  test.equals(p.getDirLevel(0, { patternHasOwnDir: false }), 'atoms');
-  test.equals(p.getDirLevel(1, { patternHasOwnDir: false }), ''); // There is no second level
-  test.equals(p.getDirLevel(2, { patternHasOwnDir: false }), ''); // There is no third level
-  var p = new Pattern('colors-alt.mustache', { d: 123 });
-  test.equals(p.getDirLevel(0, { patternHasOwnDir: false }), 'root'); // No first level means root
-  test.equals(p.getDirLevel(1, { patternHasOwnDir: false }), ''); // There is no second level
-  test.equals(p.getDirLevel(2, { patternHasOwnDir: false }), ''); // There is no third leveL
-  test.end();
-});
+tap.test(
+  'test Pattern get dir level no separated pattern directory',
+  function (test) {
+    var p = new Pattern('atoms/global/colors-alt.mustache', { d: 123 });
+    console.log(p);
+    test.equal(p.getDirLevel(0, { patternHasOwnDir: false }), 'atoms');
+    test.equal(p.getDirLevel(1, { patternHasOwnDir: false }), 'global');
+    test.equal(p.getDirLevel(2, { patternHasOwnDir: false }), ''); // There is no third level
+    var p = new Pattern('atoms/colors-alt.mustache', { d: 123 });
+    test.equal(p.getDirLevel(0, { patternHasOwnDir: false }), 'atoms');
+    test.equal(p.getDirLevel(1, { patternHasOwnDir: false }), ''); // There is no second level
+    test.equal(p.getDirLevel(2, { patternHasOwnDir: false }), ''); // There is no third level
+    var p = new Pattern('colors-alt.mustache', { d: 123 });
+    test.equal(p.getDirLevel(0, { patternHasOwnDir: false }), 'root'); // No first level means root
+    test.equal(p.getDirLevel(1, { patternHasOwnDir: false }), ''); // There is no second level
+    test.equal(p.getDirLevel(2, { patternHasOwnDir: false }), ''); // There is no third leveL
+    test.end();
+  }
+);
 
 tap.test(
   'test Pattern get dir level with separated pattern directory',
-  function(test) {
+  function (test) {
     var p = new Pattern('atoms/global/colors-alt/colors-alt.mustache', {
       d: 123,
     });
-    test.equals(p.getDirLevel(0, { patternHasOwnDir: true }), 'atoms');
-    test.equals(p.getDirLevel(1, { patternHasOwnDir: true }), 'global');
-    test.equals(p.getDirLevel(2, { patternHasOwnDir: true }), ''); // There is no third level
+    test.equal(p.getDirLevel(0, { patternHasOwnDir: true }), 'atoms');
+    test.equal(p.getDirLevel(1, { patternHasOwnDir: true }), 'global');
+    test.equal(p.getDirLevel(2, { patternHasOwnDir: true }), ''); // There is no third level
 
     var p = new Pattern('atoms/colors-alt/colors-alt.mustache', {
       d: 123,
     });
-    test.equals(p.getDirLevel(0, { patternHasOwnDir: true }), 'atoms');
-    test.equals(p.getDirLevel(1, { patternHasOwnDir: true }), ''); // There is no second level
-    test.equals(p.getDirLevel(2, { patternHasOwnDir: true }), ''); // There is no third level
+    test.equal(p.getDirLevel(0, { patternHasOwnDir: true }), 'atoms');
+    test.equal(p.getDirLevel(1, { patternHasOwnDir: true }), ''); // There is no second level
+    test.equal(p.getDirLevel(2, { patternHasOwnDir: true }), ''); // There is no third level
 
     var p = new Pattern('colors-alt/colors-alt.mustache', { d: 123 });
-    test.equals(p.getDirLevel(0, { patternHasOwnDir: true }), 'root'); // No first level means root
-    test.equals(p.getDirLevel(1, { patternHasOwnDir: true }), ''); // There is no second level
-    test.equals(p.getDirLevel(2, { patternHasOwnDir: true }), ''); // There is no third leveL
+    test.equal(p.getDirLevel(0, { patternHasOwnDir: true }), 'root'); // No first level means root
+    test.equal(p.getDirLevel(1, { patternHasOwnDir: true }), ''); // There is no second level
+    test.equal(p.getDirLevel(2, { patternHasOwnDir: true }), ''); // There is no third leveL
 
     var p = new Pattern('atoms/global/colors-alt/colors-alt~variant.mustache', {
       d: 123,
     });
-    test.equals(p.name, 'atoms-global-colors-alt-variant');
-    test.equals(p.flatPatternPath, 'atoms-global');
-    test.equals(p.patternBaseName, 'colors-alt-variant');
+    test.equal(p.name, 'atoms-global-colors-alt-variant');
+    test.equal(p.flatPatternPath, 'atoms-global');
+    test.equal(p.patternBaseName, 'colors-alt-variant');
 
     test.end();
   }
 );
 
-tap.test('test Patterns that are nested deeper without own directory', function(
-  test
-) {
-  var p = new Pattern('atoms/global/random-folder/colors-alt.mustache', {
-    d: 123,
-  });
-  test.equals(p.name, 'atoms-global-colors-alt');
-  test.equals(p.flatPatternPath, 'atoms-global');
-
-  var p = new Pattern(
-    'atoms/global/random-folder/another-folder/colors-alt.mustache',
-    {
+tap.test(
+  'test Patterns that are nested deeper without own directory',
+  function (test) {
+    var p = new Pattern('atoms/global/random-folder/colors-alt.mustache', {
       d: 123,
-    }
-  );
-  test.equals(p.name, 'atoms-global-colors-alt');
-  test.equals(p.flatPatternPath, 'atoms-global');
+    });
+    test.equal(p.name, 'atoms-global-colors-alt');
+    test.equal(p.flatPatternPath, 'atoms-global');
 
-  var p = new Pattern(
-    'atoms/global/random-folder/another-folder/some-folder/colors-alt.mustache',
-    { d: 123 }
-  );
-  test.equals(p.name, 'atoms-global-colors-alt');
-  test.equals(p.flatPatternPath, 'atoms-global');
+    var p = new Pattern(
+      'atoms/global/random-folder/another-folder/colors-alt.mustache',
+      {
+        d: 123,
+      }
+    );
+    test.equal(p.name, 'atoms-global-colors-alt');
+    test.equal(p.flatPatternPath, 'atoms-global');
 
-  var p = new Pattern(
-    'atoms/global/random-folder/another-folder/colors-alt/colors-alt.mustache',
-    { d: 123 }
-  );
-  test.equals(p.name, 'atoms-global-colors-alt');
-  test.equals(p.flatPatternPath, 'atoms-global');
+    var p = new Pattern(
+      'atoms/global/random-folder/another-folder/some-folder/colors-alt.mustache',
+      { d: 123 }
+    );
+    test.equal(p.name, 'atoms-global-colors-alt');
+    test.equal(p.flatPatternPath, 'atoms-global');
 
-  var p = new Pattern(
-    'atoms/global/random-folder/another-folder/some-folder/colors-alt~variant.mustache',
-    { d: 123 }
-  );
-  test.equals(p.name, 'atoms-global-colors-alt-variant');
-  test.equals(p.flatPatternPath, 'atoms-global');
-  test.equals(p.patternBaseName, 'colors-alt-variant');
-  test.end();
-});
+    var p = new Pattern(
+      'atoms/global/random-folder/another-folder/colors-alt/colors-alt.mustache',
+      { d: 123 }
+    );
+    test.equal(p.name, 'atoms-global-colors-alt');
+    test.equal(p.flatPatternPath, 'atoms-global');
 
-tap.test('The forms of Pattern.getPatternLink() work as expected', function(
-  test
-) {
-  var p = new Pattern('atoms/global/colors.hbs');
-  test.equals(
-    p.getPatternLink(pl),
-    'atoms-global-colors' + path.sep + 'atoms-global-colors.rendered.html'
-  );
-  test.equals(
-    p.getPatternLink(pl, 'rendered'),
-    'atoms-global-colors' + path.sep + 'atoms-global-colors.rendered.html'
-  );
-  test.equals(
-    p.getPatternLink(pl, 'rawTemplate'),
-    'atoms-global-colors' + path.sep + 'atoms-global-colors.hbs'
-  );
-  test.equals(
-    p.getPatternLink(pl, 'markupOnly'),
-    'atoms-global-colors' + path.sep + 'atoms-global-colors.markup-only.html'
-  );
-  test.equals(
-    p.getPatternLink(pl, 'custom', '.custom-extension'),
-    'atoms-global-colors' + path.sep + 'atoms-global-colors.custom-extension'
-  );
-  test.end();
-});
+    var p = new Pattern(
+      'atoms/global/random-folder/another-folder/some-folder/colors-alt~variant.mustache',
+      { d: 123 }
+    );
+    test.equal(p.name, 'atoms-global-colors-alt-variant');
+    test.equal(p.flatPatternPath, 'atoms-global');
+    test.equal(p.patternBaseName, 'colors-alt-variant');
+    test.end();
+  }
+);
+
+tap.test(
+  'The forms of Pattern.getPatternLink() work as expected',
+  function (test) {
+    var p = new Pattern('atoms/global/colors.hbs');
+    test.equal(
+      p.getPatternLink(pl),
+      'atoms-global-colors' + path.sep + 'atoms-global-colors.rendered.html'
+    );
+    test.equal(
+      p.getPatternLink(pl, 'rendered'),
+      'atoms-global-colors' + path.sep + 'atoms-global-colors.rendered.html'
+    );
+    test.equal(
+      p.getPatternLink(pl, 'rawTemplate'),
+      'atoms-global-colors' + path.sep + 'atoms-global-colors.hbs'
+    );
+    test.equal(
+      p.getPatternLink(pl, 'markupOnly'),
+      'atoms-global-colors' + path.sep + 'atoms-global-colors.markup-only.html'
+    );
+    test.equal(
+      p.getPatternLink(pl, 'custom', '.custom-extension'),
+      'atoms-global-colors' + path.sep + 'atoms-global-colors.custom-extension'
+    );
+    test.end();
+  }
+);
diff --git a/packages/core/test/parameter_hunter_tests.js b/packages/core/test/parameter_hunter_tests.js
index fad796212..b19314d10 100644
--- a/packages/core/test/parameter_hunter_tests.js
+++ b/packages/core/test/parameter_hunter_tests.js
@@ -16,7 +16,7 @@ engineLoader.loadAllEngines(config);
 
 const testPatternsPath = path.resolve(__dirname, 'files', '_patterns');
 
-tap.test('parameter hunter finds and extends templates', function(test) {
+tap.test('parameter hunter finds and extends templates', function (test) {
   //arrange
   const pl = util.fakePatternLab(testPatternsPath);
 
@@ -36,7 +36,7 @@ tap.test('parameter hunter finds and extends templates', function(test) {
         .find_parameters(testPattern, pl)
         .then(() => {
           //assert
-          test.equals(
+          test.equal(
             util.sanitized(testPattern.extendedTemplate),
             util.sanitized(
               '<h1>{{foo}}</h1><p>A life is like a garden. Perfect moments can be had, but not preserved, except in memory.</p>'
@@ -51,7 +51,7 @@ tap.test('parameter hunter finds and extends templates', function(test) {
 
 tap.test(
   'parameter hunter finds and extends templates with verbose partials',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -71,7 +71,7 @@ tap.test(
           .find_parameters(testPattern, pl)
           .then(() => {
             //assert
-            test.equals(
+            test.equal(
               util.sanitized(testPattern.extendedTemplate),
               util.sanitized(
                 '<h1>{{foo}}</h1><p>A life is like a garden. Perfect moments can be had, but not preserved, except in memory.</p>'
@@ -89,7 +89,7 @@ tap.test(
 //test other quoting options.
 tap.test(
   'parameter hunter parses parameters with unquoted keys and unquoted values',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -111,7 +111,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>{{foo}}</h1><p>true</p>')
         );
@@ -123,7 +123,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with unquoted keys and double-quoted values',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -145,7 +145,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>{{foo}}</h1><p>true</p>')
         );
@@ -157,7 +157,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with single-quoted keys and unquoted values',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -179,7 +179,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>{{foo}}</h1><p>true</p>')
         );
@@ -191,7 +191,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with single-quoted keys and single-quoted values wrapping internal escaped single-quotes',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -214,7 +214,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized(`<h1>{{foo}}</h1><p>true not,'true'</p>`)
         );
@@ -226,7 +226,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with single-quoted keys and double-quoted values wrapping internal single-quotes',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -249,7 +249,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized(`<h1>{{foo}}</h1><p>true not:'true'</p>`)
         );
@@ -261,7 +261,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with double-unquoted keys and unquoted values',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -283,7 +283,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>{{foo}}</h1><p>true</p>')
         );
@@ -295,7 +295,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with double-quoted keys and single-quoted values wrapping internal double-quotes',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -318,7 +318,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>{{foo}}</h1><p>true not{"true"</p>')
         );
@@ -330,7 +330,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with double-quoted keys and double-quoted values wrapping internal escaped double-quotes',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -353,7 +353,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>{{foo}}</h1><p>true not}"true"</p>')
         );
@@ -365,7 +365,7 @@ tap.test(
 
 tap.test(
   'parameter hunter parses parameters with combination of quoting schemes for keys and values',
-  function(test) {
+  function (test) {
     //arrange
     const pl = util.fakePatternLab(testPatternsPath);
 
@@ -388,7 +388,7 @@ tap.test(
       //act
       parameter_hunter.find_parameters(testPattern, pl).then(() => {
         //assert
-        test.equals(
+        test.equal(
           util.sanitized(testPattern.extendedTemplate),
           util.sanitized('<h1>false</h1><p>true</p>')
         );
@@ -421,13 +421,13 @@ tap.test(
 //     //act
 //     parameter_hunter.find_parameters(testPattern, pl).then(() => {
 //       //assert
-//       test.equals(util.sanitized(testPattern.extendedTemplate), util.sanitized('<h1></h1><p>Hello ) World</p>'));
+//       test.equal(util.sanitized(testPattern.extendedTemplate), util.sanitized('<h1></h1><p>Hello ) World</p>'));
 //       test.end();
 //     });
 //   });
 // });
 
-tap.test('parameter hunter skips malformed parameters', function(test) {
+tap.test('parameter hunter skips malformed parameters', function (test) {
   const pl = util.fakePatternLab(testPatternsPath);
 
   var commentPath = path.join('test', 'comment.mustache');
@@ -452,7 +452,7 @@ tap.test('parameter hunter skips malformed parameters', function(test) {
       console.log(
         '\nPattern Lab should catch JSON.parse() errors and output useful debugging information...'
       );
-      test.equals(
+      test.equal(
         util.sanitized(testPattern.extendedTemplate),
         util.sanitized('<h1>{{foo}}</h1><p>{{description}}</p>')
       );
diff --git a/packages/core/test/parseAllLinks_tests.js b/packages/core/test/parseAllLinks_tests.js
index 43dd0e030..7077bf454 100644
--- a/packages/core/test/parseAllLinks_tests.js
+++ b/packages/core/test/parseAllLinks_tests.js
@@ -17,7 +17,7 @@ const patterns_dir = './test/files/_patterns';
 
 tap.test(
   'parseDataLinks - replaces found link.* data for their expanded links',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
     patternlab.graph = PatternGraph.empty();
@@ -56,51 +56,51 @@ tap.test(
     patternlab.data.someone2 = { url: 'link.facebook-someone2' };
 
     let pattern = patternlab.patterns.find(
-      p => p.patternPartial === 'test-nav'
+      (p) => p.patternPartial === 'test-nav'
     );
 
     //assert before
-    test.equals(
+    test.equal(
       pattern.jsonFileData.brad.url,
       'link.twitter-brad',
       'brad pattern data should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.dave.url,
       'link.twitter-dave',
       'dave pattern data should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.brian.url,
       'link.twitter-brian',
       'brian pattern data should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.someone.url,
       'link.twitter-someone',
       'brian pattern data should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.someone2.url,
       'link.facebook-someone2',
       'brian pattern data should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-twitter'].url,
       'link.viewall-twitter-all',
       'view all twitter link should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-twitter-people'].url,
       'link.viewall-twitter-people',
       'view all twitter people link should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-facebook'].url,
       'link.viewall-facebook-all',
       'view all facebook link should be found'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-facebook-people'].url,
       'link.viewall-facebook-people',
       'view all facebook people link should be found'
@@ -110,73 +110,73 @@ tap.test(
     parseAllLinks(patternlab);
 
     //assert after
-    test.equals(
+    test.equal(
       pattern.jsonFileData.brad.url,
       '/patterns/twitter-brad/twitter-brad.rendered.html',
       'brad pattern data should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.dave.url,
       '/patterns/twitter-dave/twitter-dave.rendered.html',
       'dave pattern data should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.brian.url,
       '/patterns/twitter-brian/twitter-brian.rendered.html',
       'brian pattern data should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.someone.url,
       '/patterns/twitter-people-someone/twitter-people-someone.rendered.html',
       'twitter people someone pattern data should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData.someone2.url,
       '/patterns/facebook-people-someone2/facebook-people-someone2.rendered.html',
       'facebook people someone2 pattern data should be replaced with prefix pattern'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-twitter'].url,
       '/patterns/twitter/index.html',
       'view all twitter link should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-twitter-people'].url,
       '/patterns/twitter-people/index.html',
       'view all twitter people link should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-facebook'].url,
       '/patterns/facebook/index.html',
       'view all facebook link should be replaced'
     );
-    test.equals(
+    test.equal(
       pattern.jsonFileData['viewall-facebook-people'].url,
       '/patterns/facebook-people/index.html',
       'view all facebook people link should be replaced'
     );
 
-    test.equals(
+    test.equal(
       patternlab.data.brad.url,
       '/patterns/twitter-brad/twitter-brad.rendered.html',
       'global brad data should be replaced'
     );
-    test.equals(
+    test.equal(
       patternlab.data.dave.url,
       '/patterns/twitter-dave/twitter-dave.rendered.html',
       'global dave data should be replaced'
     );
-    test.equals(
+    test.equal(
       patternlab.data.brian.url,
       '/patterns/twitter-brian/twitter-brian.rendered.html',
       'global brian data should be replaced'
     );
-    test.equals(
+    test.equal(
       patternlab.data.someone.url,
       '/patterns/twitter-people-someone/twitter-people-someone.rendered.html',
       'twitter people someone pattern data should be replaced'
     );
-    test.equals(
+    test.equal(
       patternlab.data.someone2.url,
       '/patterns/facebook-people-someone2/facebook-people-someone2.rendered.html',
       'facebook people someone2 pattern data should be replaced with prefix pattern'
diff --git a/packages/core/test/pattern_engines_tests.js b/packages/core/test/pattern_engines_tests.js
index 300b5b7e7..9036984b2 100644
--- a/packages/core/test/pattern_engines_tests.js
+++ b/packages/core/test/pattern_engines_tests.js
@@ -27,20 +27,20 @@ var engineNames = Object.keys(patternEngines);
 
 tap.test(
   'getEngineNameForPattern returns "mustache" from test pattern',
-  function(test) {
+  function (test) {
     var engineName = patternEngines.getEngineNameForPattern(
       mustacheTestPattern
     );
-    test.equals(engineName, 'mustache');
+    test.equal(engineName, 'mustache');
     test.end();
   }
 );
 
 tap.test(
   'getEngineNameForPattern returns "mustache" for a plain string template as a backwards compatibility measure',
-  function(test) {
+  function (test) {
     test.plan(1);
-    test.equals(
+    test.equal(
       patternEngines.getEngineNameForPattern('plain text string'),
       'mustache'
     );
@@ -50,10 +50,10 @@ tap.test(
 
 tap.test(
   'getEngineNameForPattern returns "mustache" for an artificial empty template',
-  function(test) {
+  function (test) {
     test.plan(1);
     var emptyPattern = Pattern.createEmpty();
-    test.equals(
+    test.equal(
       patternEngines.getEngineNameForPattern(emptyPattern),
       'mustache'
     );
@@ -63,25 +63,25 @@ tap.test(
 
 tap.test(
   'getEngineForPattern returns a reference to the mustache engine from test pattern',
-  function(test) {
+  function (test) {
     var engine = patternEngines.getEngineForPattern(mustacheTestPattern);
-    test.equals(engine, patternEngines.mustache);
+    test.equal(engine, patternEngines.mustache);
     test.end();
   }
 );
 
 tap.test(
   'getEngineForPattern returns a reference to the mustache engine from test pseudo-pattern',
-  function(test) {
+  function (test) {
     var engine = patternEngines.getEngineForPattern(mustacheTestPseudoPattern);
-    test.equals(engine, patternEngines.mustache);
+    test.equal(engine, patternEngines.mustache);
     test.end();
   }
 );
 
 tap.test(
   'isPseudoPatternJSON correctly identifies pseudo-pattern JSON filenames',
-  function(test) {
+  function (test) {
     // each test case
     var filenames = {
       'homepage~emergency.json': true,
@@ -96,7 +96,7 @@ tap.test(
     test.plan(Object.keys(filenames).length);
 
     // loop over each test case and test it
-    Object.keys(filenames).forEach(function(filename) {
+    Object.keys(filenames).forEach(function (filename) {
       var expectedResult = filenames[filename],
         actualResult = patternEngines.isPseudoPatternJSON(filename),
         testMessage =
@@ -114,7 +114,7 @@ tap.test(
 
 tap.test(
   'isPatternFile correctly identifies pattern files and rejects non-pattern files',
-  function(test) {
+  function (test) {
     // each test case
     var filenames = {
       'comment-thread.mustache': true,
@@ -129,7 +129,7 @@ tap.test(
     test.plan(Object.keys(filenames).length);
 
     // loop over each test case and test it
-    Object.keys(filenames).forEach(function(filename) {
+    Object.keys(filenames).forEach(function (filename) {
       var expectedResult = filenames[filename],
         actualResult = patternEngines.isPatternFile(filename),
         testMessage =
@@ -160,10 +160,10 @@ function testProps(object, propTests, test) {
     }
 
     var isOneOfTheseTypes = possibleTypes
-      .map(function(type) {
+      .map(function (type) {
         return typeof object[propName] === type;
       })
-      .reduce(function(isPrevType, isCurrentType) {
+      .reduce(function (isPrevType, isCurrentType) {
         return isPrevType || isCurrentType;
       });
 
@@ -183,7 +183,7 @@ function testProps(object, propTests, test) {
   }
 
   // go over each property test and run it
-  Object.keys(propTests).forEach(function(propName) {
+  Object.keys(propTests).forEach(function (propName) {
     var propType = propTests[propName];
     testProp(propName, propType);
   });
@@ -191,7 +191,7 @@ function testProps(object, propTests, test) {
 
 tap.test(
   'patternEngines object contains at least the default mustache engine',
-  function(test) {
+  function (test) {
     test.plan(1);
     test.ok(patternEngines.hasOwnProperty('mustache'));
     test.end();
@@ -200,7 +200,7 @@ tap.test(
 
 tap.test(
   'patternEngines object reports that it supports the .mustache extension',
-  function(test) {
+  function (test) {
     test.plan(1);
     test.ok(patternEngines.isFileExtensionSupported('.mustache'));
     test.end();
@@ -208,10 +208,10 @@ tap.test(
 );
 
 // make one big test group for each pattern engine
-engineNames.forEach(function(engineName) {
+engineNames.forEach(function (engineName) {
   tap.test(
     'engine ' + engineName + ' contains expected properties and methods',
-    function(test) {
+    function (test) {
       var propertyTests = {
         engine: ['object', 'function'],
         engineName: 'string',
@@ -229,7 +229,7 @@ engineNames.forEach(function(engineName) {
 
 tap.test(
   'patternEngines getSupportedFileExtensions flattens known engine extensions into a single array',
-  function(test) {
+  function (test) {
     //arrange
     patternEngines.fooEngine = {
       engineFileExtension: ['.foo1', '.foo2'],
diff --git a/packages/core/test/pattern_graph_tests.js b/packages/core/test/pattern_graph_tests.js
index 366f6c006..4bbff233a 100644
--- a/packages/core/test/pattern_graph_tests.js
+++ b/packages/core/test/pattern_graph_tests.js
@@ -22,21 +22,21 @@ var patternlab = {
   },
 };
 
-var mockGraph = function() {
+var mockGraph = function () {
   return PatternGraph.empty();
 };
 
-tap.test('checkVersion - Current version returns true', test => {
+tap.test('checkVersion - Current version returns true', (test) => {
   test.same(PatternGraph.checkVersion({ version: VERSION }), true);
   test.end();
 });
 
-tap.test('checkVersion - Older version returns false', test => {
+tap.test('checkVersion - Older version returns false', (test) => {
   test.same(PatternGraph.checkVersion({ version: VERSION - 1 }), false);
   test.end();
 });
 
-tap.test('Loading an empty graph works', test => {
+tap.test('Loading an empty graph works', (test) => {
   var g = PatternGraph.loadFromFile(
     path.resolve(__dirname, 'public'),
     'does not exist'
@@ -45,7 +45,7 @@ tap.test('Loading an empty graph works', test => {
   test.end();
 });
 
-tap.test('PatternGraph.fromJson() - Loading a graph from JSON', test => {
+tap.test('PatternGraph.fromJson() - Loading a graph from JSON', (test) => {
   var graph = PatternGraph.loadFromFile(
     path.resolve(__dirname, 'public'),
     'testDependencyGraph.json'
@@ -58,9 +58,9 @@ tap.test('PatternGraph.fromJson() - Loading a graph from JSON', test => {
 
 tap.test(
   'PatternGraph.fromJson() - Loading a graph from JSON using an older version throws error',
-  test => {
+  (test) => {
     test.throws(
-      function() {
+      function () {
         PatternGraph.fromJson({ version: 0 });
       },
       {},
@@ -71,7 +71,7 @@ tap.test(
   }
 );
 
-tap.test('toJson() - Storing a graph to JSON correctly', test => {
+tap.test('toJson() - Storing a graph to JSON correctly', (test) => {
   var graph = mockGraph();
   graph.timestamp = 1337;
   var atomFoo = Pattern.create('atom-foo', null, {
@@ -101,7 +101,7 @@ tap.test('toJson() - Storing a graph to JSON correctly', test => {
 
 tap.test(
   'Storing and loading a graph from JSON return the identical graph',
-  test => {
+  (test) => {
     var oldGraph = mockGraph();
     oldGraph.timestamp = 1337;
     var atomFoo = Pattern.create('atom-foo', null, {
@@ -128,7 +128,7 @@ tap.test(
   }
 );
 
-tap.test('clone()', test => {
+tap.test('clone()', (test) => {
   var oldGraph = mockGraph();
   oldGraph.timestamp = 1337;
   var atomFoo = Pattern.create('atom-foo', null, {
@@ -154,7 +154,7 @@ tap.test('clone()', test => {
   test.end();
 });
 
-tap.test('Adding a node', test => {
+tap.test('Adding a node', (test) => {
   var g = mockGraph();
   var pattern = Pattern.create('atom-foo', null, {
     compileState: CompileState.CLEAN,
@@ -170,7 +170,7 @@ tap.test('Adding a node', test => {
   test.end();
 });
 
-tap.test('Adding a node twice', test => {
+tap.test('Adding a node twice', (test) => {
   var g = mockGraph();
   var pattern = Pattern.create('atom-foo', null, {
     compileState: CompileState.CLEAN,
@@ -182,7 +182,7 @@ tap.test('Adding a node twice', test => {
   test.end();
 });
 
-tap.test('Adding two nodes', test => {
+tap.test('Adding two nodes', (test) => {
   var g = mockGraph();
   var atomFoo = Pattern.create('atom-foo', {
     compileState: CompileState.CLEAN,
@@ -197,7 +197,7 @@ tap.test('Adding two nodes', test => {
   test.end();
 });
 
-tap.test('Adding two nodes with only different subpattern types', test => {
+tap.test('Adding two nodes with only different subpattern types', (test) => {
   var g = mockGraph();
   var atomFoo = Pattern.create('atoms/foo/baz.html', {
     compileState: CompileState.CLEAN,
@@ -212,7 +212,7 @@ tap.test('Adding two nodes with only different subpattern types', test => {
   test.end();
 });
 
-tap.test('Linking two nodes', test => {
+tap.test('Linking two nodes', (test) => {
   var g = mockGraph();
   var atomFoo = Pattern.create('atom-foo', null, {
     compileState: CompileState.CLEAN,
@@ -231,7 +231,7 @@ tap.test('Linking two nodes', test => {
   test.end();
 });
 
-tap.test('remove() - Removing a node', test => {
+tap.test('remove() - Removing a node', (test) => {
   var g = mockGraph();
   var atomFoo = Pattern.create('atom-foo', null, {
     compileState: CompileState.CLEAN,
@@ -256,7 +256,7 @@ tap.test('remove() - Removing a node', test => {
   test.end();
 });
 
-tap.test('filter() - Removing nodes via filter', test => {
+tap.test('filter() - Removing nodes via filter', (test) => {
   var g = mockGraph();
   var atomFoo = Pattern.create('atom-foo', null, {
     compileState: CompileState.CLEAN,
@@ -267,7 +267,7 @@ tap.test('filter() - Removing nodes via filter', test => {
   g.add(atomFoo);
   g.add(moleculeFoo);
   test.same(g.nodes(), ['atom-foo', 'molecule-foo']);
-  g.filter(n => n != 'molecule-foo');
+  g.filter((n) => n != 'molecule-foo');
   test.same(
     g.graph.nodes(),
     ['atom-foo'],
@@ -283,7 +283,7 @@ tap.test('filter() - Removing nodes via filter', test => {
 
 // Prevents nodes from escaping the scope, at the same time have some default graph for lineage to
 // test on
-(function() {
+(function () {
   var atomFoo = Pattern.create('atom/xy/foo', null, {
     compileState: CompileState.CLEAN,
   });
@@ -324,26 +324,32 @@ tap.test('filter() - Removing nodes via filter', test => {
   g.link(moleculeFoo, atomFoo);
   g.link(moleculeBar, atomFoo);
 
-  tap.test('lineage() - Calculate the lineage of a node', test => {
-    test.same(posixPath(g.lineage(organismFoo).map(p => p.relPath)), [
+  tap.test('lineage() - Calculate the lineage of a node', (test) => {
+    test.same(posixPath(g.lineage(organismFoo).map((p) => p.relPath)), [
       'molecule/xy/foo',
     ]);
-    test.same(posixPath(g.lineage(organismBar).map(p => p.relPath)), [
+    test.same(posixPath(g.lineage(organismBar).map((p) => p.relPath)), [
       'molecule/xy/foo',
       'molecule/xy/bar',
     ]);
-    test.same(posixPath(g.lineage(moleculeFoo).map(p => p.relPath)), [
+    test.same(posixPath(g.lineage(moleculeFoo).map((p) => p.relPath)), [
       'atom/xy/foo',
     ]);
-    test.same(posixPath(g.lineage(moleculeBar).map(p => p.relPath)), [
+    test.same(posixPath(g.lineage(moleculeBar).map((p) => p.relPath)), [
       'atom/xy/foo',
     ]);
-    test.same(g.lineage(atomFoo).map(p => p.relPath), []);
-    test.same(g.lineage(atomIsolated).map(p => p.relPath), []);
+    test.same(
+      g.lineage(atomFoo).map((p) => p.relPath),
+      []
+    );
+    test.same(
+      g.lineage(atomIsolated).map((p) => p.relPath),
+      []
+    );
     test.end();
   });
 
-  tap.test('lineageIndex() - Calculate the lineage of a node', test => {
+  tap.test('lineageIndex() - Calculate the lineage of a node', (test) => {
     test.same(g.lineageIndex(organismFoo), ['molecule-foo']);
     test.same(g.lineageIndex(organismBar), ['molecule-foo', 'molecule-bar']);
     test.same(g.lineageIndex(moleculeFoo), ['atom-foo']);
@@ -353,36 +359,48 @@ tap.test('filter() - Removing nodes via filter', test => {
     test.end();
   });
 
-  tap.test('lineageR() - Calculate the reverse lineage of a node', test => {
-    test.same(g.lineageR(organismFoo).map(p => p.relPath), []);
-    test.same(g.lineageR(organismBar).map(p => p.relPath), []);
-    test.same(posixPath(g.lineageR(moleculeFoo).map(p => p.relPath)), [
+  tap.test('lineageR() - Calculate the reverse lineage of a node', (test) => {
+    test.same(
+      g.lineageR(organismFoo).map((p) => p.relPath),
+      []
+    );
+    test.same(
+      g.lineageR(organismBar).map((p) => p.relPath),
+      []
+    );
+    test.same(posixPath(g.lineageR(moleculeFoo).map((p) => p.relPath)), [
       'organism/xy/foo',
       'organism/xy/bar',
     ]);
-    test.same(posixPath(g.lineageR(moleculeBar).map(p => p.relPath)), [
+    test.same(posixPath(g.lineageR(moleculeBar).map((p) => p.relPath)), [
       'organism/xy/bar',
     ]);
-    test.same(posixPath(g.lineageR(atomFoo).map(p => p.relPath)), [
+    test.same(posixPath(g.lineageR(atomFoo).map((p) => p.relPath)), [
       'molecule/xy/foo',
       'molecule/xy/bar',
     ]);
-    test.same(g.lineageR(atomIsolated).map(p => p.relPath), []);
+    test.same(
+      g.lineageR(atomIsolated).map((p) => p.relPath),
+      []
+    );
     test.end();
   });
 
-  tap.test('lineageRIndex() - Calculate the lineage index of a node', test => {
-    test.same(g.lineageRIndex(organismFoo), []);
-    test.same(g.lineageRIndex(organismBar), []);
-    test.same(g.lineageRIndex(moleculeFoo), ['organism-foo', 'organism-bar']);
-    test.same(g.lineageRIndex(moleculeBar), ['organism-bar']);
-    test.same(g.lineageRIndex(atomFoo), ['molecule-foo', 'molecule-bar']);
-    test.same(g.lineageRIndex(atomIsolated), []);
-    test.end();
-  });
+  tap.test(
+    'lineageRIndex() - Calculate the lineage index of a node',
+    (test) => {
+      test.same(g.lineageRIndex(organismFoo), []);
+      test.same(g.lineageRIndex(organismBar), []);
+      test.same(g.lineageRIndex(moleculeFoo), ['organism-foo', 'organism-bar']);
+      test.same(g.lineageRIndex(moleculeBar), ['organism-bar']);
+      test.same(g.lineageRIndex(atomFoo), ['molecule-foo', 'molecule-bar']);
+      test.same(g.lineageRIndex(atomIsolated), []);
+      test.end();
+    }
+  );
 })();
 
-(function() {
+(function () {
   function TestGraph() {
     function csAt(args, idx) {
       return { compileState: args[idx] || CompileState.CLEAN };
@@ -443,17 +461,17 @@ tap.test('filter() - Removing nodes via filter', test => {
 
   tap.test(
     'compileOrder() - A clean graph results in no nodes to recompile',
-    test => {
+    (test) => {
       var g = new TestGraph();
       var co = g.graph.compileOrder();
-      test.equals(0, co.length);
+      test.equal(0, co.length);
       test.end();
     }
   );
 
   tap.test(
     'compileOrder() - Recompile isolated atoms does not do anything else',
-    test => {
+    (test) => {
       var g = new TestGraph(
         // atomFoo
         CompileState.CLEAN,
@@ -463,7 +481,7 @@ tap.test('filter() - Removing nodes via filter', test => {
 
       var co = g.graph.compileOrder();
       test.same([g.atomIsolated], co, 'Only recompile atomIsolated');
-      co.forEach(p =>
+      co.forEach((p) =>
         test.same(
           p.compileState,
           CompileState.NEEDS_REBUILD,
@@ -477,18 +495,18 @@ tap.test('filter() - Removing nodes via filter', test => {
 
   tap.test(
     'compileOrder() - Changing a linked atom bubbles back to the organisms',
-    test => {
+    (test) => {
       // Almost every pattern - except atomIsolated - has a transitive dependency on atomFoo
       var g = new TestGraph(CompileState.NEEDS_REBUILD);
       var co = g.graph.compileOrder();
 
-      test.equals(5, co.length);
+      test.equal(5, co.length);
       test.same(
         [g.atomFoo, g.moleculeFoo, g.organismFoo, g.moleculeBar, g.organismBar],
         co,
         'Recompile everything except atomIsolated'
       );
-      co.forEach(p =>
+      co.forEach((p) =>
         test.same(
           p.compileState,
           CompileState.NEEDS_REBUILD,
@@ -502,7 +520,7 @@ tap.test('filter() - Removing nodes via filter', test => {
 
   tap.test(
     'compileOrder() - Changing a molecule leaves atoms untouched',
-    test => {
+    (test) => {
       // Bubble up from molecules to organisms, leaving atoms unchanged as they were not modified
       var g = new TestGraph(null, null, CompileState.NEEDS_REBUILD);
       var co = g.graph.compileOrder();
@@ -512,7 +530,7 @@ tap.test('filter() - Removing nodes via filter', test => {
         co,
         'Recompile moleculeFoo and transitive dependencies'
       );
-      co.forEach(p =>
+      co.forEach((p) =>
         test.same(
           p.compileState,
           CompileState.NEEDS_REBUILD,
@@ -525,7 +543,7 @@ tap.test('filter() - Removing nodes via filter', test => {
 
   tap.test(
     'compileOrder() - Changing an organism leaves atoms and molecules untouched',
-    test => {
+    (test) => {
       // Almost every pattern - except atomIsolated - has a transitive dependency on atomFoo
       var g = new TestGraph(
         // atoms
@@ -549,7 +567,7 @@ tap.test('filter() - Removing nodes via filter', test => {
     }
   );
 
-  tap.test('compileOrder() - Recompile everything', test => {
+  tap.test('compileOrder() - Recompile everything', (test) => {
     // Almost every pattern - except atomIsolated - has a transitive dependency on atomFoo
     // Also recompile atomIsolated
     var g = new TestGraph(
@@ -570,7 +588,7 @@ tap.test('filter() - Removing nodes via filter', test => {
       compileOrder,
       'Recompile everything except atomIsolated'
     );
-    compileOrder.forEach(p =>
+    compileOrder.forEach((p) =>
       test.same(
         p.compileState,
         CompileState.NEEDS_REBUILD,
diff --git a/packages/core/test/pattern_registry_tests.js b/packages/core/test/pattern_registry_tests.js
index bf2e71914..72eef2c4f 100644
--- a/packages/core/test/pattern_registry_tests.js
+++ b/packages/core/test/pattern_registry_tests.js
@@ -7,7 +7,7 @@ var tap = require('tap');
 // #540 Copied from pattern_assembler_tests
 tap.test(
   'get_pattern_by_key - returns the fuzzy result when no others found',
-  function(test) {
+  function (test) {
     var pattern_registry = new PatternRegistry();
 
     var pattern = {
@@ -21,13 +21,13 @@ tap.test(
     //act
     var result = pattern_registry.getPartial('character-han');
     //assert
-    test.equals(result, pattern);
+    test.equal(result, pattern);
     test.end();
   }
 );
 
 // #540 Copied from pattern_assembler_tests
-tap.test('remove - remove an existing pattern', function(test) {
+tap.test('remove - remove an existing pattern', function (test) {
   var pattern_registry = new PatternRegistry();
 
   var pattern = {
@@ -45,7 +45,7 @@ tap.test('remove - remove an existing pattern', function(test) {
 });
 
 // #540 Copied from pattern_assembler_tests
-tap.test('getPartial - returns the exact key if found', function(test) {
+tap.test('getPartial - returns the exact key if found', function (test) {
   //arrange
   var pattern_registry = new PatternRegistry();
   let patterns = [
@@ -62,11 +62,11 @@ tap.test('getPartial - returns the exact key if found', function(test) {
       fileName: 'molecules-primary-nav',
     },
   ];
-  patterns.forEach(p => pattern_registry.put(p));
+  patterns.forEach((p) => pattern_registry.put(p));
 
   //act
   var result = pattern_registry.getPartial('molecules-primary-nav');
   //assert
-  test.equals(result, patterns[1]);
+  test.equal(result, patterns[1]);
   test.end();
 });
diff --git a/packages/core/test/patternlab_tests.js b/packages/core/test/patternlab_tests.js
index 741fbca15..b2971bec6 100644
--- a/packages/core/test/patternlab_tests.js
+++ b/packages/core/test/patternlab_tests.js
@@ -9,16 +9,16 @@ var plEngineModule = rewire('../src/lib/patternlab');
 
 //set up a global mocks - we don't want to be writing/rendering any files right now
 const fsMock = {
-  outputFileSync: function(path, content) {
+  outputFileSync: function (path, content) {
     /* INTENTIONAL NOOP */
   },
-  readJSONSync: function(path, encoding) {
+  readJSONSync: function (path, encoding) {
     return fs.readJSONSync(path, encoding);
   },
-  emptyDir: function(path) {
+  emptyDir: function (path) {
     return fs.emptyDir(path);
   },
-  readFileSync: function(path, encoding) {
+  readFileSync: function (path, encoding) {
     return fs.readFileSync(path, encoding);
   },
 };
@@ -30,27 +30,28 @@ plEngineModule.__set__({
 
 tap.test(
   'buildPatternData - should merge all JSON files in the data folder except listitems',
-  function(test) {
+  function (test) {
     const data_dir = `${__dirname}/files/_data/`;
 
     var pl = new plEngineModule(config);
     var dataResult = pl.buildPatternData(data_dir, fs);
-    test.equals(dataResult.data, 'test');
-    test.equals(dataResult.foo, 'bar');
-    test.equals(dataResult.test_list_item, undefined);
+    test.equal(dataResult.data, 'test');
+    test.equal(dataResult.foo, 'bar');
+    test.equal(dataResult.test_list_item, undefined);
     test.end();
   }
 );
 
-tap.test('buildPatternData - can load json, yaml, and yml files', function(
-  test
-) {
-  const data_dir = `${__dirname}/files/_data/`;
-
-  var pl = new plEngineModule(config);
-  var dataResult = pl.buildPatternData(data_dir, fs);
-  test.equals(dataResult.from_yml, 'from_yml');
-  test.equals(dataResult.from_yaml, 'from_yaml');
-  test.equals(dataResult.from_json, 'from_json');
-  test.end();
-});
+tap.test(
+  'buildPatternData - can load json, yaml, and yml files',
+  function (test) {
+    const data_dir = `${__dirname}/files/_data/`;
+
+    var pl = new plEngineModule(config);
+    var dataResult = pl.buildPatternData(data_dir, fs);
+    test.equal(dataResult.from_yml, 'from_yml');
+    test.equal(dataResult.from_yaml, 'from_yaml');
+    test.equal(dataResult.from_json, 'from_json');
+    test.end();
+  }
+);
diff --git a/packages/core/test/processRecursive_tests.js b/packages/core/test/processRecursive_tests.js
index 9f4388f61..96de00066 100644
--- a/packages/core/test/processRecursive_tests.js
+++ b/packages/core/test/processRecursive_tests.js
@@ -16,7 +16,7 @@ engineLoader.loadAllEngines(config);
 
 const patterns_dir = `${__dirname}/files/_patterns`;
 
-tap.test('processRecursive recursively includes partials', function(test) {
+tap.test('processRecursive recursively includes partials', function (test) {
   //assert
   const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -36,7 +36,7 @@ tap.test('processRecursive recursively includes partials', function(test) {
         .then(() => {
           //assert
           const expectedValue = 'bar';
-          test.equals(
+          test.equal(
             util.sanitized(fooPattern.extendedTemplate),
             util.sanitized(expectedValue)
           );
@@ -49,7 +49,7 @@ tap.test('processRecursive recursively includes partials', function(test) {
 
 tap.test(
   'processRecursive - correctly replaces all stylemodifiers when multiple duplicate patterns with different stylemodifiers found',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -70,7 +70,7 @@ tap.test(
             //assert
             const expectedValue =
               '<div class="test_group"> <span class="test_base test_1"> {{message}} </span> <span class="test_base test_2"> {{message}} </span> <span class="test_base test_3"> {{message}} </span> <span class="test_base test_4"> {{message}} </span> </div>';
-            test.equals(
+            test.equal(
               util.sanitized(groupPattern.extendedTemplate),
               util.sanitized(expectedValue)
             );
@@ -84,7 +84,7 @@ tap.test(
 
 tap.only(
   'processRecursive - correctly replaces multiple stylemodifier classes on same partial',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -105,7 +105,7 @@ tap.only(
             //assert
             const expectedValue =
               '<div class="test_group"> <span class="test_base foo1"> {{message}} </span> <span class="test_base foo1 foo2"> {{message}} </span> <span class="test_base foo1 foo2"> bar </span> </div>';
-            test.equals(
+            test.equal(
               util.sanitized(groupPattern.extendedTemplate),
               util.sanitized(expectedValue)
             );
@@ -119,7 +119,7 @@ tap.only(
 
 tap.test(
   'processRecursive - correctly ignores a partial without a style modifier when the same partial later has a style modifier',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -140,7 +140,7 @@ tap.test(
             //assert. here we expect {{styleModifier}} to be in the first group, since it was not replaced by anything. rendering with data will then remove this (correctly)
             const expectedValue =
               '<div class="test_group"> <span class="test_base {{styleModifier}}"> {{message}} </span> <span class="test_base test_2"> {{message}} </span> <span class="test_base test_3"> {{message}} </span> <span class="test_base test_4"> {{message}} </span> </div>';
-            test.equals(
+            test.equal(
               util.sanitized(mixedPattern.extendedTemplate),
               util.sanitized(expectedValue)
             );
@@ -154,7 +154,7 @@ tap.test(
 
 tap.test(
   'processRecursive - correctly ignores bookended partials without a style modifier when the same partial has a style modifier  between',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -175,7 +175,7 @@ tap.test(
             //assert. here we expect {{styleModifier}} to be in the first and last group, since it was not replaced by anything. rendering with data will then remove this (correctly)
             const expectedValue =
               '<div class="test_group"> <span class="test_base {{styleModifier}}"> {{message}} </span> <span class="test_base test_2"> {{message}} </span> <span class="test_base test_3"> {{message}} </span> <span class="test_base {{styleModifier}}"> {{message}} </span> </div>';
-            test.equals(
+            test.equal(
               util.sanitized(bookendPattern.extendedTemplate),
               util.sanitized(expectedValue)
             );
@@ -189,7 +189,7 @@ tap.test(
 
 tap.test(
   'processRecursive - correctly ignores a partial without a style modifier when the same partial later has a style modifier and pattern parameters',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -210,7 +210,7 @@ tap.test(
             //assert. here we expect {{styleModifier}} to be in the first span, since it was not replaced by anything. rendering with data will then remove this (correctly)
             const expectedValue =
               '<div class="test_group"> <span class="test_base {{styleModifier}}"> {{message}} </span> <span class="test_base test_2"> 2 </span> <span class="test_base test_3"> 3 </span> <span class="test_base test_4"> 4 </span> </div>';
-            test.equals(
+            test.equal(
               util.sanitized(mixedPattern.extendedTemplate),
               util.sanitized(expectedValue)
             );
@@ -224,7 +224,7 @@ tap.test(
 
 tap.test(
   'processRecursive - correctly ignores bookended partials without a style modifier when the same partial has a style modifier and pattern parameters between',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -245,7 +245,7 @@ tap.test(
             //assert. here we expect {{styleModifier}} to be in the first and last span, since it was not replaced by anything. rendering with data will then remove this (correctly)
             const expectedValue =
               '<div class="test_group"> <span class="test_base {{styleModifier}}"> {{message}} </span> <span class="test_base test_2"> 2 </span> <span class="test_base test_3"> 3 </span> <span class="test_base {{styleModifier}}"> {{message}} </span> </div>';
-            test.equals(
+            test.equal(
               util.sanitized(bookendPattern.extendedTemplate),
               util.sanitized(expectedValue)
             );
@@ -259,7 +259,7 @@ tap.test(
 
 tap.test(
   'processRecursive - does not pollute previous patterns when a later one is found with a styleModifier',
-  function(test) {
+  function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -284,21 +284,21 @@ tap.test(
               '<span class="test_base test_1"> {{message}} </span>';
 
             //this is the "atom" - it should remain unchanged
-            test.equals(
+            test.equal(
               util.sanitized(atomPattern.template),
               util.sanitized(expectedCleanValue)
             );
-            test.equals(
+            test.equal(
               util.sanitized(atomPattern.extendedTemplate),
               util.sanitized(expectedCleanValue)
             );
 
             // this is the style modifier pattern, which should resolve correctly
-            test.equals(
+            test.equal(
               util.sanitized(anotherPattern.template),
               '{{> test-styled-atom:test_1 }}'
             );
-            test.equals(
+            test.equal(
               util.sanitized(anotherPattern.extendedTemplate),
               util.sanitized(expectedSetValue)
             );
@@ -311,7 +311,7 @@ tap.test(
 );
 
 tap
-  .test('processRecursive - ensure deep-nesting works', function(test) {
+  .test('processRecursive - ensure deep-nesting works', function (test) {
     //arrange
     const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -339,31 +339,28 @@ tap
       //act
       return test.test(
         'processRecursive - ensure deep-nesting works2',
-        function(tt) {
+        function (tt) {
           //assert
           const expectedCleanValue = 'bar';
           const expectedSetValue = 'bar';
 
           //this is the "atom" - it should remain unchanged
-          tt.equals(util.sanitized(atomPattern.template), expectedCleanValue);
-          tt.equals(
+          tt.equal(util.sanitized(atomPattern.template), expectedCleanValue);
+          tt.equal(
             util.sanitized(atomPattern.extendedTemplate),
             expectedCleanValue
           );
 
           //this is the "template pattern" - it should have an updated extendedTemplate but an unchanged template
-          tt.equals(
-            util.sanitized(templatePattern.template),
-            '{{> test-bar }}'
-          );
-          tt.equals(
+          tt.equal(util.sanitized(templatePattern.template), '{{> test-bar }}');
+          tt.equal(
             util.sanitized(templatePattern.extendedTemplate),
             expectedSetValue
           );
 
           //this is the "pages pattern" - it should have an updated extendedTemplate equal to the template pattern but an unchanged template
-          tt.equals(util.sanitized(pagesPattern.template), '{{> test-foo }}');
-          tt.equals(
+          tt.equal(util.sanitized(pagesPattern.template), '{{> test-foo }}');
+          tt.equal(
             util.sanitized(pagesPattern.extendedTemplate),
             expectedSetValue
           );
@@ -375,7 +372,7 @@ tap
   })
   .catch(tap.threw);
 
-tap.test('hidden patterns can be called by their nice names', function(test) {
+tap.test('hidden patterns can be called by their nice names', function (test) {
   //arrange
   const patternlab = util.fakePatternLab(patterns_dir);
 
@@ -393,9 +390,9 @@ tap.test('hidden patterns can be called by their nice names', function(test) {
     //act
     processRecursive(hiddenPatternPath, patternlab).then(() => {
       processRecursive(testPatternPath, patternlab).then(() => {
-        testPattern.render().then(results => {
+        testPattern.render().then((results) => {
           //assert
-          test.equals(
+          test.equal(
             util.sanitized(results),
             util.sanitized(
               "Hello there! Here's the hidden atom: [This is the hidden atom]"
@@ -409,35 +406,36 @@ tap.test('hidden patterns can be called by their nice names', function(test) {
   });
 });
 
-tap.test('parses pattern title correctly when frontmatter present', function(
-  test
-) {
-  //arrange
-  var pl = util.fakePatternLab(patterns_dir);
+tap.test(
+  'parses pattern title correctly when frontmatter present',
+  function (test) {
+    //arrange
+    var pl = util.fakePatternLab(patterns_dir);
 
-  var testPatternPath = path.join('test', 'bar.mustache');
-  var testPattern = loadPattern(testPatternPath, pl);
+    var testPatternPath = path.join('test', 'bar.mustache');
+    var testPattern = loadPattern(testPatternPath, pl);
 
-  //act
-  Promise.all([
-    processIterative(testPattern, pl),
-    processRecursive(testPatternPath, pl),
-  ])
-    .then(results => {
-      //assert
-      test.equals(
-        results[0].patternName,
-        'An Atom Walks Into a Bar',
-        'patternName not overridden'
-      );
-      test.end();
-    })
-    .catch(test.threw);
-});
+    //act
+    Promise.all([
+      processIterative(testPattern, pl),
+      processRecursive(testPatternPath, pl),
+    ])
+      .then((results) => {
+        //assert
+        test.equal(
+          results[0].patternName,
+          'An Atom Walks Into a Bar',
+          'patternName not overridden'
+        );
+        test.end();
+      })
+      .catch(test.threw);
+  }
+);
 
 tap.test(
   'parses pattern extra frontmatter correctly when frontmatter present',
-  function(test) {
+  function (test) {
     //arrange
     var pl = util.fakePatternLab(patterns_dir);
 
@@ -449,9 +447,9 @@ tap.test(
       processIterative(testPattern, pl),
       processRecursive(testPatternPath, pl),
     ])
-      .then(results => {
+      .then((results) => {
         //assert
-        test.equals(results[0].allMarkdown.joke, 'bad', 'extra key not added');
+        test.equal(results[0].allMarkdown.joke, 'bad', 'extra key not added');
         test.end();
       })
       .catch(test.threw);
diff --git a/packages/core/test/pseudopattern_hunter_tests.js b/packages/core/test/pseudopattern_hunter_tests.js
index c1372db4f..f37b60363 100644
--- a/packages/core/test/pseudopattern_hunter_tests.js
+++ b/packages/core/test/pseudopattern_hunter_tests.js
@@ -42,7 +42,7 @@ function stubPatternlab() {
   return pl;
 }
 
-tap.test('pseudpattern found and added as a pattern', function(test) {
+tap.test('pseudpattern found and added as a pattern', function (test) {
   //arrange
   var pl = stubPatternlab();
 
@@ -53,20 +53,20 @@ tap.test('pseudpattern found and added as a pattern', function(test) {
   var patternCountBefore = pl.patterns.length;
   return pph.find_pseudopatterns(atomPattern, pl).then(() => {
     //assert
-    test.equals(patternCountBefore + 1, pl.patterns.length);
-    test.equals(pl.patterns[1].patternPartial, 'test-styled-atom-alt');
-    test.equals(
+    test.equal(patternCountBefore + 1, pl.patterns.length);
+    test.equal(pl.patterns[1].patternPartial, 'test-styled-atom-alt');
+    test.equal(
       JSON.stringify(pl.patterns[1].jsonFileData),
       JSON.stringify({ message: 'alternateMessage' })
     );
-    test.equals(
+    test.equal(
       pl.patterns[1].patternLink,
       'test-styled-atom-alt' + path.sep + 'test-styled-atom-alt.html'
     );
   });
 });
 
-tap.test('pseudpattern does not pollute base pattern data', function(test) {
+tap.test('pseudpattern does not pollute base pattern data', function (test) {
   //arrange
   var pl = stubPatternlab();
 
@@ -76,8 +76,8 @@ tap.test('pseudpattern does not pollute base pattern data', function(test) {
   var patternCountBefore = pl.patterns.length;
   return pph.find_pseudopatterns(atomPattern, pl).then(() => {
     //assert
-    test.equals(pl.patterns[0].patternPartial, 'test-styled-atom');
-    test.equals(
+    test.equal(pl.patterns[0].patternPartial, 'test-styled-atom');
+    test.equal(
       JSON.stringify(pl.patterns[0].jsonFileData),
       JSON.stringify({ message: 'baseMessage' })
     );
@@ -86,7 +86,7 @@ tap.test('pseudpattern does not pollute base pattern data', function(test) {
 
 tap.test(
   'pseudpattern variant includes stylePartials and parameteredPartials',
-  function(test) {
+  function (test) {
     //arrange
     var pl = stubPatternlab();
 
@@ -122,9 +122,9 @@ tap.test(
     //act
     return pph.find_pseudopatterns(pseudoPattern, pl).then(() => {
       //assert
-      test.equals(pl.patterns[2].patternPartial, 'test-pseudomodifier-test');
-      test.equals(pl.patterns[2].stylePartials, pseudoPattern.stylePartials);
-      test.equals(
+      test.equal(pl.patterns[2].patternPartial, 'test-pseudomodifier-test');
+      test.equal(pl.patterns[2].stylePartials, pseudoPattern.stylePartials);
+      test.equal(
         pl.patterns[2].parameteredPartials,
         pseudoPattern.parameteredPartials
       );
@@ -132,7 +132,7 @@ tap.test(
   }
 );
 
-tap.test('pseudo pattern variant data should merge arrays', function(test) {
+tap.test('pseudo pattern variant data should merge arrays', function (test) {
   const pl = stubPatternlab();
   pl.config.patternMergeVariantArrays = true;
 
@@ -141,8 +141,8 @@ tap.test('pseudo pattern variant data should merge arrays', function(test) {
   addPattern(pattern, pl);
 
   return pph.find_pseudopatterns(pattern, pl).then(() => {
-    test.equals(pl.patterns[1].patternPartial, 'test-variant-test-merge');
-    test.equals(
+    test.equal(pl.patterns[1].patternPartial, 'test-variant-test-merge');
+    test.equal(
       JSON.stringify(pl.patterns[1].jsonFileData),
       JSON.stringify({
         a: 2,
@@ -155,7 +155,7 @@ tap.test('pseudo pattern variant data should merge arrays', function(test) {
 
 tap.test(
   'pseudo pattern variant data should merge arrays if config "patternMergeVariantArrays" is not available as default behavior',
-  function(test) {
+  function (test) {
     const pl = stubPatternlab();
 
     const pattern = loadPattern('test/variant-test.mustache', pl);
@@ -163,8 +163,8 @@ tap.test(
     addPattern(pattern, pl);
 
     return pph.find_pseudopatterns(pattern, pl).then(() => {
-      test.equals(pl.patterns[1].patternPartial, 'test-variant-test-merge');
-      test.equals(
+      test.equal(pl.patterns[1].patternPartial, 'test-variant-test-merge');
+      test.equal(
         JSON.stringify(pl.patterns[1].jsonFileData),
         JSON.stringify({
           a: 2,
@@ -176,7 +176,7 @@ tap.test(
   }
 );
 
-tap.test('pseudo pattern variant data should override arrays', function(test) {
+tap.test('pseudo pattern variant data should override arrays', function (test) {
   const pl = stubPatternlab();
   pl.config.patternMergeVariantArrays = false;
 
@@ -185,8 +185,8 @@ tap.test('pseudo pattern variant data should override arrays', function(test) {
   addPattern(pattern, pl);
 
   return pph.find_pseudopatterns(pattern, pl).then(() => {
-    test.equals(pl.patterns[1].patternPartial, 'test-variant-test-merge');
-    test.equals(
+    test.equal(pl.patterns[1].patternPartial, 'test-variant-test-merge');
+    test.equal(
       JSON.stringify(pl.patterns[1].jsonFileData),
       JSON.stringify({
         a: 2,
diff --git a/packages/core/test/replaceParameter_tests.js b/packages/core/test/replaceParameter_tests.js
index 41fde31c1..c3dfc129f 100644
--- a/packages/core/test/replaceParameter_tests.js
+++ b/packages/core/test/replaceParameter_tests.js
@@ -6,44 +6,44 @@ const tap = require('tap');
 
 const replaceParameter = require('../src/lib/replaceParameter');
 
-tap.test('replaces simple value', function(test) {
+tap.test('replaces simple value', function (test) {
   const result = replaceParameter('{{key}}', 'key', 'value');
-  test.equals(result, 'value');
+  test.equal(result, 'value');
   test.end();
 });
 
-tap.test('replaces simple boolean true value', function(test) {
+tap.test('replaces simple boolean true value', function (test) {
   const result = replaceParameter('{{key}}', 'key', true);
-  test.equals(result, 'true');
+  test.equal(result, 'true');
   test.end();
 });
 
-tap.test('replaces simple boolean false value', function(test) {
+tap.test('replaces simple boolean false value', function (test) {
   const result = replaceParameter('{{key}}', 'key', false);
-  test.equals(result, 'false');
+  test.equal(result, 'false');
   test.end();
 });
 
-tap.test('replaces raw value', function(test) {
+tap.test('replaces raw value', function (test) {
   const result = replaceParameter('{{{key}}}', 'key', 'value');
-  test.equals(result, 'value');
+  test.equal(result, 'value');
   test.end();
 });
 
-tap.test('replaces boolean true section', function(test) {
+tap.test('replaces boolean true section', function (test) {
   const result = replaceParameter('1{{#key}}value{{/key}}2', 'key', true);
-  test.equals(result, '1value2');
+  test.equal(result, '1value2');
   test.end();
 });
 
-tap.only('replaces boolean true section with spaces', function(test) {
+tap.only('replaces boolean true section with spaces', function (test) {
   const result = replaceParameter('1{{ #key }}value{{ /key }}2', 'key', true);
-  test.equals(result, '1value2');
+  test.equal(result, '1value2');
   test.end();
 });
 
-tap.test('replaces boolean section false', function(test) {
+tap.test('replaces boolean section false', function (test) {
   const result = replaceParameter('1{{#key}}value{{/key}}2', 'key', false);
-  test.equals(result, '12');
+  test.equal(result, '12');
   test.end();
 });
diff --git a/packages/core/test/style_modifier_hunter_tests.js b/packages/core/test/style_modifier_hunter_tests.js
index bdbc1e994..93c76f92e 100644
--- a/packages/core/test/style_modifier_hunter_tests.js
+++ b/packages/core/test/style_modifier_hunter_tests.js
@@ -6,7 +6,7 @@ var smh = require('../src/lib/style_modifier_hunter');
 
 tap.test(
   'uses the partial stylemodifer to modify the patterns extendedTemplate',
-  function(test) {
+  function (test) {
     //arrange
     var pl = {};
     pl.partials = {};
@@ -27,12 +27,12 @@ tap.test(
     );
 
     //assert
-    test.equals(pattern.extendedTemplate, '<div class="foo bar"></div>');
+    test.equal(pattern.extendedTemplate, '<div class="foo bar"></div>');
     test.end();
   }
 );
 
-tap.test('replaces style modifiers with spaces in the syntax', function(test) {
+tap.test('replaces style modifiers with spaces in the syntax', function (test) {
   //arrange
   var pl = {};
   pl.partials = {};
@@ -53,11 +53,11 @@ tap.test('replaces style modifiers with spaces in the syntax', function(test) {
   );
 
   //assert
-  test.equals(pattern.extendedTemplate, '<div class="foo bar"></div>');
+  test.equal(pattern.extendedTemplate, '<div class="foo bar"></div>');
   test.end();
 });
 
-tap.test('replaces multiple style modifiers', function(test) {
+tap.test('replaces multiple style modifiers', function (test) {
   //arrange
   var pl = {};
   pl.partials = {};
@@ -78,13 +78,13 @@ tap.test('replaces multiple style modifiers', function(test) {
   );
 
   //assert
-  test.equals(pattern.extendedTemplate, '<div class="foo bar baz dum"></div>');
+  test.equal(pattern.extendedTemplate, '<div class="foo bar baz dum"></div>');
   test.end();
 });
 
 tap.test(
   'does not alter pattern extendedTemplate if styleModifier not found in partial',
-  function(test) {
+  function (test) {
     //arrange
     var pl = {};
     pl.partials = {};
@@ -101,7 +101,7 @@ tap.test(
     style_modifier_hunter.consume_style_modifier(pattern, '{{> partial}}', pl);
 
     //assert
-    test.equals(
+    test.equal(
       pattern.extendedTemplate,
       '<div class="foo {{styleModifier}}"></div>'
     );
diff --git a/packages/core/test/ui_builder_tests.js b/packages/core/test/ui_builder_tests.js
index f5e63f4e8..010bba9d4 100644
--- a/packages/core/test/ui_builder_tests.js
+++ b/packages/core/test/ui_builder_tests.js
@@ -15,14 +15,14 @@ engineLoader.loadAllEngines(config);
 
 //set up a global mocks - we don't want to be writing/rendering any files right now
 var fsMock = {
-  outputFileSync: function(path, data, cb) {},
-  outputFile: function(path, data, cb) {},
+  outputFileSync: function (path, data, cb) {},
+  outputFile: function (path, data, cb) {},
 };
 
-var renderMock = function(template, data, partials) {
+var renderMock = function (template, data, partials) {
   return Promise.resolve('');
 };
-var buildFooterMock = function(patternlab, patternPartial) {
+var buildFooterMock = function (patternlab, patternPartial) {
   return Promise.resolve('');
 };
 
@@ -69,7 +69,7 @@ function createFakePatternLab(customProps) {
 
 tap.test(
   'isPatternExcluded - returns true when pattern filename starts with underscore',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({});
     var pattern = new Pattern('test/ignored-pattern.mustache');
@@ -79,14 +79,14 @@ tap.test(
     var result = ui.isPatternExcluded(pattern, patternlab, uikit);
 
     //assert
-    test.equals(result, true);
+    test.equal(result, true);
     test.end();
   }
 );
 
 tap.test(
   'isPatternExcluded - returns true when pattern is defaultPattern',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({});
     var pattern = new Pattern('test/foo.mustache');
@@ -96,14 +96,14 @@ tap.test(
     var result = ui.isPatternExcluded(pattern, patternlab, uikit);
 
     //assert
-    test.equals(result, true);
+    test.equal(result, true);
     test.end();
   }
 );
 
 tap.test(
   'isPatternExcluded - returns true when pattern within underscored directory - top level',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({});
     var pattern = Pattern.createEmpty({
@@ -127,14 +127,14 @@ tap.test(
     var result = ui.isPatternExcluded(pattern, patternlab, uikit);
 
     //assert
-    test.equals(result, true);
+    test.equal(result, true);
     test.end();
   }
 );
 
 tap.test(
   'isPatternExcluded - returns true when pattern within underscored directory - subgroup level',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({});
     var pattern = Pattern.createEmpty({
@@ -153,14 +153,14 @@ tap.test(
     var result = ui.isPatternExcluded(pattern, patternlab, uikit);
 
     //assert
-    test.equals(result, true);
+    test.equal(result, true);
     test.end();
   }
 );
 
 tap.test(
   'isPatternExcluded - returns true when pattern state found withing uikit exclusions',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({});
     var pattern = Pattern.createEmpty({
@@ -178,12 +178,12 @@ tap.test(
     });
 
     //assert
-    test.equals(result, true);
+    test.equal(result, true);
     test.end();
   }
 );
 
-tap.test('groupPatterns - creates pattern groups correctly', function(test) {
+tap.test('groupPatterns - creates pattern groups correctly', function (test) {
   //arrange
   var patternlab = createFakePatternLab({
     patterns: [],
@@ -207,27 +207,27 @@ tap.test('groupPatterns - creates pattern groups correctly', function(test) {
   //act
   var result = ui.groupPatterns(patternlab, uikit);
 
-  test.equals(
+  test.equal(
     result.patternGroups.patternGroup1.patternSubgroup1.blue.patternPartial,
     'patternGroup1-blue'
   );
-  test.equals(
+  test.equal(
     result.patternGroups.patternGroup1.patternSubgroup1.red.patternPartial,
     'patternGroup1-red'
   );
-  test.equals(
+  test.equal(
     result.patternGroups.patternGroup1.patternSubgroup1.yellow.patternPartial,
     'patternGroup1-yellow'
   );
-  test.equals(
+  test.equal(
     result.patternGroups.patternGroup1.patternSubgroup2.black.patternPartial,
     'patternGroup1-black'
   );
-  test.equals(
+  test.equal(
     result.patternGroups.patternGroup1.patternSubgroup2.grey.patternPartial,
     'patternGroup1-grey'
   );
-  test.equals(
+  test.equal(
     result.patternGroups.patternGroup1.patternSubgroup2.white.patternPartial,
     'patternGroup1-white'
   );
@@ -241,17 +241,17 @@ tap.test('groupPatterns - creates pattern groups correctly', function(test) {
   //"patternGroup1", "root" (because it's a top-level flat pattern) and at last "test"
 
   // Flat patterns
-  test.equals(
+  test.equal(
     patternlab.patternGroups[1].patternItems[0].patternPartial,
     'root-foobar',
     'flat pattern foobar on root'
   );
-  test.equals(
+  test.equal(
     patternlab.patternGroups[2].patternItems[0].patternPartial,
     'test-bar',
     'first pattern item should be test-bar'
   );
-  test.equals(
+  test.equal(
     patternlab.patternGroups[2].patternItems[1].patternPartial,
     'test-foo',
     'second pattern item should be test-foo'
@@ -262,51 +262,52 @@ tap.test('groupPatterns - creates pattern groups correctly', function(test) {
   test.end();
 });
 
-tap.test('groupPatterns - orders patterns when provided from md', function(
-  test
-) {
-  //arrange
-  var patternlab = createFakePatternLab({
-    patterns: [],
-    patternGroups: {},
-    subgroupPatterns: {},
-  });
+tap.test(
+  'groupPatterns - orders patterns when provided from md',
+  function (test) {
+    //arrange
+    var patternlab = createFakePatternLab({
+      patterns: [],
+      patternGroups: {},
+      subgroupPatterns: {},
+    });
 
-  // Should be sorted by order and secondly by name
-  patternlab.patterns.push(
-    new Pattern('patternGroup1/patternSubgroup1/yellow.mustache'),
-    new Pattern('patternGroup1/patternSubgroup1/red.mustache'),
-    new Pattern('patternGroup1/patternSubgroup1/blue.mustache')
-  );
-  ui.resetUIBuilderState(patternlab);
+    // Should be sorted by order and secondly by name
+    patternlab.patterns.push(
+      new Pattern('patternGroup1/patternSubgroup1/yellow.mustache'),
+      new Pattern('patternGroup1/patternSubgroup1/red.mustache'),
+      new Pattern('patternGroup1/patternSubgroup1/blue.mustache')
+    );
+    ui.resetUIBuilderState(patternlab);
 
-  // Set order of red to 1 to sort it after the others
-  patternlab.patterns[1].order = 1;
+    // Set order of red to 1 to sort it after the others
+    patternlab.patterns[1].order = 1;
 
-  //act
-  ui.groupPatterns(patternlab, uikit);
-
-  let patternGroup = _.find(patternlab.patternGroups, [
-    'patternGroup',
-    'patternGroup1',
-  ]);
-  let patternSubgroup = _.find(patternGroup.patternGroupItems, [
-    'patternSubgroup',
-    'patternSubgroup1',
-  ]);
-  var items = patternSubgroup.patternSubgroupItems;
-
-  // Viewall should come last since it shows all patterns that are above
-  test.equals(items[0].patternPartial, 'patternGroup1-blue');
-  test.equals(items[1].patternPartial, 'patternGroup1-yellow');
-  test.equals(items[2].patternPartial, 'patternGroup1-red');
+    //act
+    ui.groupPatterns(patternlab, uikit);
 
-  test.end();
-});
+    let patternGroup = _.find(patternlab.patternGroups, [
+      'patternGroup',
+      'patternGroup1',
+    ]);
+    let patternSubgroup = _.find(patternGroup.patternGroupItems, [
+      'patternSubgroup',
+      'patternSubgroup1',
+    ]);
+    var items = patternSubgroup.patternSubgroupItems;
+
+    // Viewall should come last since it shows all patterns that are above
+    test.equal(items[0].patternPartial, 'patternGroup1-blue');
+    test.equal(items[1].patternPartial, 'patternGroup1-yellow');
+    test.equal(items[2].patternPartial, 'patternGroup1-red');
+
+    test.end();
+  }
+);
 
 tap.test(
   'groupPatterns - retains pattern order from name when order provided from md is malformed',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({
       patterns: [],
@@ -337,9 +338,9 @@ tap.test(
     var items = patternSubgroup.patternSubgroupItems;
 
     // Viewall should come last since it shows all patterns that are above
-    test.equals(items[0].patternPartial, 'patternGroup1-blue');
-    test.equals(items[1].patternPartial, 'patternGroup1-red');
-    test.equals(items[2].patternPartial, 'patternGroup1-yellow');
+    test.equal(items[0].patternPartial, 'patternGroup1-blue');
+    test.equal(items[1].patternPartial, 'patternGroup1-red');
+    test.equal(items[2].patternPartial, 'patternGroup1-yellow');
 
     test.end();
   }
@@ -347,7 +348,7 @@ tap.test(
 
 tap.test(
   'groupPatterns - sorts viewall subgroup pattern to the beginning',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({
       patterns: [],
@@ -380,13 +381,13 @@ tap.test(
     var items = patternSubgroup.patternSubgroupItems;
 
     // Viewall should come last since it shows all patterns that are above
-    test.equals(
+    test.equal(
       items[3].patternPartial,
       'viewall-patternGroup1-patternSubgroup1'
     );
-    test.equals(items[0].patternPartial, 'patternGroup1-blue');
-    test.equals(items[1].patternPartial, 'patternGroup1-yellow');
-    test.equals(items[2].patternPartial, 'patternGroup1-red');
+    test.equal(items[0].patternPartial, 'patternGroup1-blue');
+    test.equal(items[1].patternPartial, 'patternGroup1-yellow');
+    test.equal(items[2].patternPartial, 'patternGroup1-red');
 
     test.end();
   }
@@ -394,7 +395,7 @@ tap.test(
 
 tap.test(
   'groupPatterns - creates documentation patterns for each type and subgroup if not exists',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({
       patterns: [],
@@ -418,13 +419,13 @@ tap.test(
     var result = ui.groupPatterns(patternlab, uikit);
 
     //assert
-    test.equals(
+    test.equal(
       result.patternGroups.patternGroup1.patternSubgroup1[
         'viewall-patternGroup1-patternSubgroup1'
       ].patternPartial,
       'viewall-patternGroup1-patternSubgroup1'
     );
-    test.equals(
+    test.equal(
       result.patternGroups.patternGroup1.patternSubgroup2[
         'viewall-patternGroup1-patternSubgroup2'
       ].patternPartial,
@@ -437,7 +438,7 @@ tap.test(
 
 tap.test(
   'groupPatterns - adds each pattern to the patternPaths object',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({
       patterns: [],
@@ -461,29 +462,29 @@ tap.test(
     var result = ui.groupPatterns(patternlab, uikit);
 
     //assert
-    test.equals(patternlab.patternPaths['test']['foo'], 'test-foo');
-    test.equals(patternlab.patternPaths['test']['bar'], 'test-bar');
-    test.equals(
+    test.equal(patternlab.patternPaths['test']['foo'], 'test-foo');
+    test.equal(patternlab.patternPaths['test']['bar'], 'test-bar');
+    test.equal(
       patternlab.patternPaths['patternGroup1']['blue'],
       'patternGroup1-patternSubgroup1-blue'
     );
-    test.equals(
+    test.equal(
       patternlab.patternPaths['patternGroup1']['red'],
       'patternGroup1-patternSubgroup1-red'
     );
-    test.equals(
+    test.equal(
       patternlab.patternPaths['patternGroup1']['yellow'],
       'patternGroup1-patternSubgroup1-yellow'
     );
-    test.equals(
+    test.equal(
       patternlab.patternPaths['patternGroup1']['black'],
       'patternGroup1-patternSubgroup2-black'
     );
-    test.equals(
+    test.equal(
       patternlab.patternPaths['patternGroup1']['grey'],
       'patternGroup1-patternSubgroup2-grey'
     );
-    test.equals(
+    test.equal(
       patternlab.patternPaths['patternGroup1']['white'],
       'patternGroup1-patternSubgroup2-white'
     );
@@ -494,7 +495,7 @@ tap.test(
 
 tap.test(
   'groupPatterns - adds each pattern to the view all paths object',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = createFakePatternLab({
       patterns: [],
@@ -518,13 +519,13 @@ tap.test(
     var result = ui.groupPatterns(patternlab, uikit);
 
     //assert
-    test.equals('todo', 'todo');
+    test.equal('todo', 'todo');
 
     test.end();
   }
 );
 
-tap.test('resetUIBuilderState - reset global objects', function(test) {
+tap.test('resetUIBuilderState - reset global objects', function (test) {
   //arrange
   var patternlab = createFakePatternLab({
     patternPaths: { foo: 1 },
@@ -536,16 +537,16 @@ tap.test('resetUIBuilderState - reset global objects', function(test) {
   ui.resetUIBuilderState(patternlab);
 
   //assert
-  test.equals(patternlab.patternPaths.foo, undefined);
-  test.equals(patternlab.viewAllPaths.bar, undefined);
-  test.equals(patternlab.patternGroups.length, 0);
+  test.equal(patternlab.patternPaths.foo, undefined);
+  test.equal(patternlab.viewAllPaths.bar, undefined);
+  test.equal(patternlab.patternGroups.length, 0);
 
   test.end();
 });
 
 tap.test(
   'buildViewAllPages - adds viewall page for each type and subgroup NOT! for flat patterns',
-  function(test) {
+  function (test) {
     //arrange
     const mainPageHeadHtml = '<head></head>';
     const patternlab = createFakePatternLab({
@@ -577,7 +578,7 @@ tap.test(
       patternlab,
       styleguidePatterns,
       uikit
-    ).then(allPatterns => {
+    ).then((allPatterns) => {
       // assert
       // this was a nuanced one. buildViewAllPages() had return false; statements
       // within _.forOwn(...) loops, causing premature termination of the entire loop
@@ -604,7 +605,7 @@ tap.test(
        * --- grey
        * --- white
        */
-      test.equals(uniquePatterns.length, 9, '3 viewall pages should be added');
+      test.equal(uniquePatterns.length, 9, '3 viewall pages should be added');
 
       test.end();
     });
@@ -613,7 +614,7 @@ tap.test(
 
 tap.test(
   'buildViewAllPages - adds viewall page for each type and subgroup FOR! flat patterns',
-  function(test) {
+  function (test) {
     //arrange
     const mainPageHeadHtml = '<head></head>';
     const patternlab = createFakePatternLab({
@@ -647,7 +648,7 @@ tap.test(
       patternlab,
       styleguidePatterns,
       uikit
-    ).then(allPatterns => {
+    ).then((allPatterns) => {
       // assert
       // this was a nuanced one. buildViewAllPages() had return false; statements
       // within _.forOwn(...) loops, causing premature termination of the entire loop
@@ -677,7 +678,7 @@ tap.test(
        * --- grey
        * --- white
        */
-      test.equals(uniquePatterns.length, 11, '4 viewall pages should be added');
+      test.equal(uniquePatterns.length, 11, '4 viewall pages should be added');
 
       test.end();
     });
diff --git a/packages/core/test/watchAssets_tests.js b/packages/core/test/watchAssets_tests.js
index d72cd0715..ab96f3b0b 100644
--- a/packages/core/test/watchAssets_tests.js
+++ b/packages/core/test/watchAssets_tests.js
@@ -12,7 +12,7 @@ const patterns_dir = './test/files/_patterns';
 
 tap.test(
   'watchAssets - adds assetWatcher to patternlab.watchers for given key ',
-  test => {
+  (test) => {
     const pl = util.fakePatternLab(patterns_dir, { watchers: [] });
     const key = 'images';
 
@@ -25,15 +25,15 @@ tap.test(
       true
     );
 
-    test.equals(_.keys(pl.watchers)[0], 'images');
+    test.equal(_.keys(pl.watchers)[0], 'images');
 
     test.end();
   }
 );
 
-tap.test('watchAssets - complete path copied', test => {
-  const copyFileMock = function(p, des) {
-    test.equals(des, path.resolve('/proj/public/images/sample/waterfall.jpg'));
+tap.test('watchAssets - complete path copied', (test) => {
+  const copyFileMock = function (p, des) {
+    test.equal(des, path.resolve('/proj/public/images/sample/waterfall.jpg'));
   };
 
   //set our mocks in place of usual require()
diff --git a/packages/core/test/watchPatternLabFiles_tests.js b/packages/core/test/watchPatternLabFiles_tests.js
index f61b873e6..0dcc7fbc1 100644
--- a/packages/core/test/watchPatternLabFiles_tests.js
+++ b/packages/core/test/watchPatternLabFiles_tests.js
@@ -12,7 +12,7 @@ const patterns_dir = './test/files/_patterns';
 
 tap.test(
   'watchPatternLabFiles - adds watcher to patternlab.watchers for given patternWatchPath',
-  test => {
+  (test) => {
     const pl = util.fakePatternLab(patterns_dir, {
       watchers: [],
       engines: {},
@@ -37,7 +37,7 @@ tap.test(
 
     // should have two for _data and _meta
     // should have five for '.json', '.yml', '.yaml', '.md' and '.mustache'
-    test.equals(Object.keys(pl.watchers).length, 7);
+    test.equal(Object.keys(pl.watchers).length, 7);
 
     test.end();
   }

From fd3964cf2d70070b9f533df1e0723474b7e11344 Mon Sep 17 00:00:00 2001
From: Maximilian <787658+mfranzke@users.noreply.github.com>
Date: Wed, 12 May 2021 10:37:24 +0200
Subject: [PATCH 10/13] refactor: removed unused variables

'fs' is declared but its value is never read.ts(6133)
---
 packages/core/src/index.js             | 1 -
 packages/core/src/lib/buildPatterns.js | 1 -
 2 files changed, 2 deletions(-)

diff --git a/packages/core/src/index.js b/packages/core/src/index.js
index 371c6c149..f5a215668 100644
--- a/packages/core/src/index.js
+++ b/packages/core/src/index.js
@@ -21,7 +21,6 @@ const defaultConfig = require('../patternlab-config.json');
 
 let buildPatterns = require('./lib/buildPatterns'); // eslint-disable-line
 let logger = require('./lib/log'); // eslint-disable-line
-let fs = require('fs-extra'); // eslint-disable-line
 let ui_builder = require('./lib/ui_builder'); // eslint-disable-line
 let copier = require('./lib/copier'); // eslint-disable-line
 let pattern_exporter = new pe(); // eslint-disable-line
diff --git a/packages/core/src/lib/buildPatterns.js b/packages/core/src/lib/buildPatterns.js
index 476a373c6..f77e7af72 100644
--- a/packages/core/src/lib/buildPatterns.js
+++ b/packages/core/src/lib/buildPatterns.js
@@ -21,7 +21,6 @@ const parseAllLinks = require('./parseAllLinks');
 const render = require('./render');
 const Pattern = require('./object_factory').Pattern;
 
-let fs = require('fs-extra'); // eslint-disable-line
 let pattern_exporter = new pe(); // eslint-disable-line
 
 const lineage_hunter = new lh();

From 4dcd9971720b941c2c90ab5decf5e28ad0cf3fcc Mon Sep 17 00:00:00 2001
From: Maximilian <787658+mfranzke@users.noreply.github.com>
Date: Wed, 12 May 2021 10:43:16 +0200
Subject: [PATCH 11/13] refactor: eslint & prettier fixes

---
 packages/live-server/index.js       | 68 ++++++++++++++---------------
 packages/live-server/live-server.js | 40 ++++++++---------
 2 files changed, 54 insertions(+), 54 deletions(-)

diff --git a/packages/live-server/index.js b/packages/live-server/index.js
index 84c4f5558..2fcd40d5c 100644
--- a/packages/live-server/index.js
+++ b/packages/live-server/index.js
@@ -43,7 +43,7 @@ function staticServer(root) {
   } catch (e) {
     if (e.code !== 'ENOENT') throw e;
   }
-  return function(req, res, next) {
+  return function (req, res, next) {
     if (req.method !== 'GET' && req.method !== 'HEAD') return next();
 
     const reqpath = isFile ? '' : url.parse(req.url).pathname;
@@ -112,7 +112,7 @@ function staticServer(root) {
         res.setHeader('Content-Length', len);
 
         const originalPipe = stream.pipe;
-        stream.pipe = function(resp) {
+        stream.pipe = function (resp) {
           originalPipe
             .call(
               stream,
@@ -139,11 +139,11 @@ function staticServer(root) {
  */
 function entryPoint(staticHandler, file) {
   if (!file)
-    return function(req, res, next) {
+    return function (req, res, next) {
       next();
     };
 
-  return function(req, res, next) {
+  return function (req, res, next) {
     req.url = '/' + file;
     staticHandler(req, res, next);
   };
@@ -167,7 +167,7 @@ function entryPoint(staticHandler, file) {
  * @param middleware {array} Append middleware to stack, e.g. [function(req, res, next) { next(); }].
  * @param assets {String[]} path of asset directories to watch
  */
-LiveServer.start = function(options) {
+LiveServer.start = function (options) {
   const host = options.host || '0.0.0.0';
   const port = options.port !== undefined ? options.port : 8080; // 0 means random
   const root = options.root || process.cwd();
@@ -216,7 +216,7 @@ LiveServer.start = function(options) {
   if (LiveServer.logLevel === 2) {
     app.use(
       logger('dev', {
-        skip: function(req, res) {
+        skip: function (req, res) {
           return res.statusCode < 400;
         },
       })
@@ -231,7 +231,7 @@ LiveServer.start = function(options) {
   }
 
   // Add middleware
-  middleware.map(mw => {
+  middleware.map((mw) => {
     let mwm = mw;
     if (typeof mw === 'string') {
       if (path.extname(mw).toLocaleLowerCase() !== '.js') {
@@ -262,7 +262,7 @@ LiveServer.start = function(options) {
     );
   }
 
-  mount.forEach(mountRule => {
+  mount.forEach((mountRule) => {
     const mountPath = path.resolve(process.cwd(), mountRule[1]);
     if (!options.watch) {
       // Auto add mount paths to wathing but only if exclusive path option is not given
@@ -275,7 +275,7 @@ LiveServer.start = function(options) {
     }
   });
 
-  proxy.forEach(proxyRule => {
+  proxy.forEach((proxyRule) => {
     const proxyOpts = url.parse(proxyRule[1]);
     proxyOpts.via = true;
     proxyOpts.preserveHost = true;
@@ -306,13 +306,13 @@ LiveServer.start = function(options) {
   }
 
   // Handle server startup errors
-  server.addListener('error', function(e) {
+  server.addListener('error', function (e) {
     if (e.code === 'EADDRINUSE') {
       console.log(
         '%s is already in use. Trying another port.'.yellow,
         `${protocol}://${host}:${port}`
       );
-      setTimeout(function() {
+      setTimeout(function () {
         server.listen(0, host);
       }, 1000);
     } else {
@@ -322,7 +322,7 @@ LiveServer.start = function(options) {
   });
 
   // Handle successful server
-  server.addListener('listening', function(/*e*/) {
+  server.addListener('listening', function (/*e*/) {
     LiveServer.server = server;
 
     const address = server.address();
@@ -337,15 +337,15 @@ LiveServer.start = function(options) {
     if (LiveServer.logLevel > 2 && address.address === '0.0.0.0') {
       const ifaces = os.networkInterfaces();
       serveURLs = Object.keys(ifaces)
-        .map(iface => ifaces[iface])
+        .map((iface) => ifaces[iface])
         // flatten address data, use only IPv4
         .reduce((data, addresses) => {
           addresses
-            .filter(addr => addr.family === 'IPv4')
-            .forEach(addr => data.push(addr));
+            .filter((addr) => addr.family === 'IPv4')
+            .forEach((addr) => data.push(addr));
           return data;
         }, [])
-        .map(addr => `${protocol}://${addr.address}:${address.port}`);
+        .map((addr) => `${protocol}://${addr.address}:${address.port}`);
     }
 
     // Output
@@ -367,7 +367,7 @@ LiveServer.start = function(options) {
     // Launch browser
     if (openPath !== null)
       if (typeof openPath === 'object') {
-        openPath.forEach(p =>
+        openPath.forEach((p) =>
           open(openURL + p, { app: browser }).catch(() =>
             console.log(
               'Warning: Could not open pattern lab in default browser.'
@@ -386,35 +386,35 @@ LiveServer.start = function(options) {
 
   // WebSocket
   let clients = [];
-  server.addListener('upgrade', function(request, socket, head) {
+  server.addListener('upgrade', function (request, socket, head) {
     const ws = new WebSocket(request, socket, head);
-    ws.onopen = function() {
+    ws.onopen = function () {
       ws.send('connected');
     };
 
     if (wait > 0) {
-      (function() {
+      (function () {
         const wssend = ws.send;
         let waitTimeout;
-        ws.send = function() {
+        ws.send = function () {
           const args = arguments;
           if (waitTimeout) clearTimeout(waitTimeout);
-          waitTimeout = setTimeout(function() {
+          waitTimeout = setTimeout(function () {
             wssend.apply(ws, args);
           }, wait);
         };
       })();
     }
 
-    ws.onclose = function() {
-      clients = clients.filter(x => x !== ws);
+    ws.onclose = function () {
+      clients = clients.filter((x) => x !== ws);
     };
 
     clients.push(ws);
   });
 
   let ignored = [
-    function(testPath) {
+    function (testPath) {
       // Always ignore dotfiles (important e.g. because editor hidden temp files)
       return (
         testPath !== '.' && /(^[.#]|(?:__|~)$)/.test(path.basename(testPath))
@@ -434,7 +434,7 @@ LiveServer.start = function(options) {
   LiveServer.watcher = chokidar.watch(
     // Replace backslashes with slashes, because chokidar pattern
     // like path/**/*.xyz only acceps linux file path
-    watchPaths.map(p => p.replace(/\\/g, '/')),
+    watchPaths.map((p) => p.replace(/\\/g, '/')),
     {
       ignored: ignored,
       ignoreInitial: true,
@@ -449,7 +449,7 @@ LiveServer.start = function(options) {
       else console.log('Change detected'.cyan, changePath);
     }
 
-    clients.forEach(ws => {
+    clients.forEach((ws) => {
       if (ws) ws.send(cssChange ? 'refreshcss' : 'reload');
     });
   }
@@ -460,31 +460,31 @@ LiveServer.start = function(options) {
     .on('unlink', handleChange)
     .on('addDir', handleChange)
     .on('unlinkDir', handleChange)
-    .on('ready', function() {
+    .on('ready', function () {
       if (LiveServer.logLevel >= 1) console.log('Ready for changes'.cyan);
     })
-    .on('error', function(err) {
+    .on('error', function (err) {
       console.log('ERROR:'.red, err);
     });
 
-  LiveServer.refreshCSS = function() {
+  LiveServer.refreshCSS = function () {
     if (clients.length) {
-      clients.forEach(ws => {
+      clients.forEach((ws) => {
         if (ws) ws.send('refreshcss');
       });
     }
   };
 
-  LiveServer.reload = function() {
+  LiveServer.reload = function () {
     if (clients.length) {
-      clients.forEach(ws => {
+      clients.forEach((ws) => {
         if (ws) ws.send('reload');
       });
     }
   };
 };
 
-LiveServer.shutdown = function() {
+LiveServer.shutdown = function () {
   if (LiveServer.watcher) {
     LiveServer.watcher.close();
   }
diff --git a/packages/live-server/live-server.js b/packages/live-server/live-server.js
index a4efff0dd..3fd1a6115 100755
--- a/packages/live-server/live-server.js
+++ b/packages/live-server/live-server.js
@@ -1,10 +1,10 @@
 #!/usr/bin/env node
-var path = require('path');
-var fs = require('fs');
-var assign = require('object-assign');
-var liveServer = require('./index');
+const path = require('path');
+const fs = require('fs');
+const assign = require('object-assign');
+const liveServer = require('./index');
 
-var opts = {
+const opts = {
   host: process.env.IP,
   port: process.env.PORT,
   open: true,
@@ -14,20 +14,20 @@ var opts = {
   logLevel: 2,
 };
 
-var homeDir =
+const homeDir =
   process.env[process.platform === 'win32' ? 'USERPROFILE' : 'HOME'];
-var configPath = path.join(homeDir, '.live-server.json');
+const configPath = path.join(homeDir, '.live-server.json');
 if (fs.existsSync(configPath)) {
-  var userConfig = fs.readFileSync(configPath, 'utf8');
+  const userConfig = fs.readFileSync(configPath, 'utf8');
   assign(opts, JSON.parse(userConfig));
   if (opts.ignorePattern) opts.ignorePattern = new RegExp(opts.ignorePattern);
 }
 
-for (var i = process.argv.length - 1; i >= 2; --i) {
-  var arg = process.argv[i];
+for (let i = process.argv.length - 1; i >= 2; --i) {
+  const arg = process.argv[i];
   if (arg.indexOf('--port=') > -1) {
-    var portString = arg.substring(7);
-    var portNumber = parseInt(portString, 10);
+    const portString = arg.substring(7);
+    const portNumber = parseInt(portString, 10);
     if (portNumber === +portString) {
       opts.port = portNumber;
       process.argv.splice(i, 1);
@@ -36,7 +36,7 @@ for (var i = process.argv.length - 1; i >= 2; --i) {
     opts.host = arg.substring(7);
     process.argv.splice(i, 1);
   } else if (arg.indexOf('--open=') > -1) {
-    var open = arg.substring(7);
+    let open = arg.substring(7);
     if (open.indexOf('/') !== 0) {
       open = '/' + open;
     }
@@ -73,7 +73,7 @@ for (var i = process.argv.length - 1; i >= 2; --i) {
     opts.browser = arg.substring(10).split(',');
     process.argv.splice(i, 1);
   } else if (arg.indexOf('--entry-file=') > -1) {
-    var file = arg.substring(13);
+    const file = arg.substring(13);
     if (file.length) {
       opts.file = file;
       process.argv.splice(i, 1);
@@ -95,14 +95,14 @@ for (var i = process.argv.length - 1; i >= 2; --i) {
     opts.mount.push([match[1], match[2]]);
     process.argv.splice(i, 1);
   } else if (arg.indexOf('--wait=') > -1) {
-    var waitString = arg.substring(7);
-    var waitNumber = parseInt(waitString, 10);
+    const waitString = arg.substring(7);
+    const waitNumber = parseInt(waitString, 10);
     if (waitNumber === +waitString) {
       opts.wait = waitNumber;
       process.argv.splice(i, 1);
     }
   } else if (arg === '--version' || arg === '-v') {
-    var packageJson = require('./package.json');
+    const packageJson = require('./package.json');
     console.log(packageJson.name, packageJson.version);
     process.exit();
   } else if (arg.indexOf('--htpasswd=') > -1) {
@@ -138,15 +138,15 @@ for (var i = process.argv.length - 1; i >= 2; --i) {
 }
 
 // Patch paths
-var dir = (opts.root = process.argv[2] || '');
+const dir = (opts.root = process.argv[2] || '');
 
 if (opts.watch) {
-  opts.watch = opts.watch.map(function(relativePath) {
+  opts.watch = opts.watch.map(function (relativePath) {
     return path.join(dir, relativePath);
   });
 }
 if (opts.ignore) {
-  opts.ignore = opts.ignore.map(function(relativePath) {
+  opts.ignore = opts.ignore.map(function (relativePath) {
     return path.join(dir, relativePath);
   });
 }

From c015bd34418017d8176305f9ec85760e793ecc10 Mon Sep 17 00:00:00 2001
From: Maximilian <787658+mfranzke@users.noreply.github.com>
Date: Wed, 12 May 2021 11:08:12 +0200
Subject: [PATCH 12/13] refactor: code formatting via prettier

---
 packages/cli/test/build.test.js               |   2 +-
 packages/cli/test/cli-build.test.js           |   4 +-
 packages/cli/test/cli-disable.test.js         |   4 +-
 packages/cli/test/cli-enable.test.js          |   4 +-
 packages/cli/test/cli-export.test.js          |   4 +-
 packages/cli/test/cli-init.test.js            |   4 +-
 packages/cli/test/export.test.js              |  10 +-
 packages/cli/test/install-plugin.test.js      |   4 +-
 packages/cli/test/install-starterkit.test.js  |  24 +--
 packages/cli/test/mocks/liverserver.mock.js   |   6 +-
 packages/cli/test/mocks/patternlab.mock.js    |  10 +-
 .../cli/test/replace_config_paths.test.js     |   2 +-
 packages/cli/test/resolve_config.test.js      |   4 +-
 packages/cli/test/scaffold.test.js            |   4 +-
 packages/cli/test/serve.test.js               |   4 +-
 packages/cli/test/utils/spawnCmd.js           |   4 +-
 packages/core/test/buildListItems_tests.js    |   6 +-
 packages/core/test/files/_meta/_head.html     |  15 +-
 .../core/test/markModifiedPatterns_tests.js   |  49 ++---
 .../core/test/uikitExcludePattern_tests.js    |  12 +-
 packages/core/test/util/test_utils.js         |   4 +-
 .../helpers/test.js                           |   4 +-
 .../gulpfile.js                               |  14 +-
 .../source/_meta/_head.html                   |  15 +-
 packages/docs/.eleventy.js                    |  26 +--
 packages/docs/rollup.config.js                |  19 +-
 packages/docs/src/_data/global.js             |  14 +-
 packages/docs/src/_data/helpers.js            |  16 +-
 packages/docs/src/_data/styleguide.js         |  40 ++--
 packages/docs/src/admin/previews.js           | 122 ++++++------
 packages/docs/src/admin/util.js               |   7 +-
 packages/docs/src/filters/date-filter.js      |  29 ++-
 packages/docs/src/filters/markdown-filter.js  |   8 +-
 packages/docs/src/filters/w3-date-filter.js   |   4 +-
 .../docs/src/js/components/theme-toggle.js    | 176 +++++++++---------
 packages/docs/src/js/primary-nav.js           |   6 +-
 .../docs/src/transforms/html-min-transform.js |  20 +-
 .../docs/src/transforms/parse-transform.js    | 125 ++++++-------
 packages/docs/src/utils/minify.js             |   2 +-
 packages/edition-node-gulp/gulpfile.js        |  12 +-
 .../source/css/pattern-scaffolding.css        |   8 +-
 .../edition-node-gulp/source/css/style.css    |   2 +-
 packages/edition-node/helpers/test.js         |   4 +-
 .../lib/engine_handlebars.js                  |  20 +-
 packages/engine-liquid/lib/engine_liquid.js   |  26 +--
 .../engine-mustache/lib/engine_mustache.js    |  16 +-
 .../engine-nunjucks/lib/engine_nunjucks.js    |  20 +-
 packages/engine-react/lib/engine_react.js     |   8 +-
 .../engine-twig-php/lib/engine_twig_php.js    |  16 +-
 packages/engine-underscore/_meta/_head.html   |  15 +-
 .../lib/engine_underscore.js                  |  20 +-
 packages/live-server/middleware/example.js    |   2 +-
 .../middleware/spa-ignore-assets.js           |   2 +-
 packages/live-server/middleware/spa.js        |   2 +-
 packages/live-server/test/acceptance.js       |  24 +--
 packages/live-server/test/cli.js              |  87 +++++----
 packages/live-server/test/cors.js             |   8 +-
 packages/live-server/test/data/fragment.html  |   4 +-
 packages/live-server/test/data/index-caps.htm |  25 ++-
 .../live-server/test/data/index-head.html     |  10 +-
 packages/live-server/test/data/index.html     |  18 +-
 packages/live-server/test/data/middleware.js  |   2 +-
 packages/live-server/test/data/style.css      |   4 +-
 packages/live-server/test/data/sub/sub.html   |  14 +-
 packages/live-server/test/htpasswd.js         |  17 +-
 packages/live-server/test/https.js            |  12 +-
 packages/live-server/test/middleware.js       |  20 +-
 packages/live-server/test/mount.js            |   6 +-
 packages/live-server/test/proxy.js            |   4 +-
 packages/live-server/test/spa.js              |  14 +-
 packages/plugin-tab/index.js                  |   4 +-
 packages/plugin-tab/src/tab-loader.js         |   4 +-
 packages/uikit-workshop/.jshintrc             |   4 +-
 packages/uikit-workshop/src/html/index.html   |   4 +-
 .../src/scripts/components/panels-viewer.js   |   4 +-
 .../src/scripts/components/styleguide.js      |  24 +--
 packages/uikit-workshop/views-twig/README     |   2 +-
 packages/uikit-workshop/views/README          |   2 +-
 78 files changed, 662 insertions(+), 655 deletions(-)

diff --git a/packages/cli/test/build.test.js b/packages/cli/test/build.test.js
index 6a56cb6fe..8ee4770f4 100644
--- a/packages/cli/test/build.test.js
+++ b/packages/cli/test/build.test.js
@@ -10,7 +10,7 @@ const build = proxyquire('../bin/build', {
 });
 const opts = { patternsOnly: true };
 
-tap.test('Build ->', t => {
+tap.test('Build ->', (t) => {
   t.throws(
     () => {
       build();
diff --git a/packages/cli/test/cli-build.test.js b/packages/cli/test/cli-build.test.js
index d6712deae..893aa98ea 100644
--- a/packages/cli/test/cli-build.test.js
+++ b/packages/cli/test/cli-build.test.js
@@ -7,8 +7,8 @@ const wrapAsync = require('../bin/utils').wrapAsync;
 
 const projectRoot = getUniqueProjectPath();
 
-tap.test('Init and build ->', t =>
-  wrapAsync(function*() {
+tap.test('Init and build ->', (t) =>
+  wrapAsync(function* () {
     yield spawnCmd([
       'init',
       '--verbose',
diff --git a/packages/cli/test/cli-disable.test.js b/packages/cli/test/cli-disable.test.js
index 64715b882..c21a1adf1 100644
--- a/packages/cli/test/cli-disable.test.js
+++ b/packages/cli/test/cli-disable.test.js
@@ -6,8 +6,8 @@ const wrapAsync = require('../bin/utils').wrapAsync;
 
 const projectRoot = getUniqueProjectPath();
 
-tap.test('Disable ->', t =>
-  wrapAsync(function*() {
+tap.test('Disable ->', (t) =>
+  wrapAsync(function* () {
     yield spawnCmd([
       'init',
       '--verbose',
diff --git a/packages/cli/test/cli-enable.test.js b/packages/cli/test/cli-enable.test.js
index 62b7d837a..160c5ed49 100644
--- a/packages/cli/test/cli-enable.test.js
+++ b/packages/cli/test/cli-enable.test.js
@@ -6,8 +6,8 @@ const wrapAsync = require('../bin/utils').wrapAsync;
 
 const projectRoot = getUniqueProjectPath();
 
-tap.test('Enable ->', t =>
-  wrapAsync(function*() {
+tap.test('Enable ->', (t) =>
+  wrapAsync(function* () {
     yield spawnCmd([
       'init',
       '--verbose',
diff --git a/packages/cli/test/cli-export.test.js b/packages/cli/test/cli-export.test.js
index 63e82ba06..b476eeec2 100644
--- a/packages/cli/test/cli-export.test.js
+++ b/packages/cli/test/cli-export.test.js
@@ -7,8 +7,8 @@ const wrapAsync = require('../bin/utils').wrapAsync;
 
 const projectRoot = getUniqueProjectPath();
 
-tap.test('Init and export ->', t =>
-  wrapAsync(function*() {
+tap.test('Init and export ->', (t) =>
+  wrapAsync(function* () {
     yield spawnCmd([
       'init',
       '--verbose',
diff --git a/packages/cli/test/cli-init.test.js b/packages/cli/test/cli-init.test.js
index a80c031ff..06174ffb6 100644
--- a/packages/cli/test/cli-init.test.js
+++ b/packages/cli/test/cli-init.test.js
@@ -7,8 +7,8 @@ const wrapAsync = require('../bin/utils').wrapAsync;
 
 const projectRoot = getUniqueProjectPath();
 
-tap.test('Init ->', t =>
-  wrapAsync(function*() {
+tap.test('Init ->', (t) =>
+  wrapAsync(function* () {
     yield spawnCmd([
       'init',
       '--verbose',
diff --git a/packages/cli/test/export.test.js b/packages/cli/test/export.test.js
index 169b60771..e9b600b24 100644
--- a/packages/cli/test/export.test.js
+++ b/packages/cli/test/export.test.js
@@ -2,10 +2,10 @@ const exportPatterns = require('../bin/cli-actions/export');
 const tap = require('tap');
 const wrapAsync = require('../bin/utils').wrapAsync;
 
-tap.test('Export ->', t => {
+tap.test('Export ->', (t) => {
   t.plan(2);
-  t.test('with options empty', tt =>
-    wrapAsync(function*() {
+  t.test('with options empty', (tt) =>
+    wrapAsync(function* () {
       try {
         yield exportPatterns();
       } catch (err) {
@@ -14,8 +14,8 @@ tap.test('Export ->', t => {
       }
     })
   );
-  t.test('with options not an object', tt =>
-    wrapAsync(function*() {
+  t.test('with options not an object', (tt) =>
+    wrapAsync(function* () {
       try {
         yield exportPatterns(123);
       } catch (err) {
diff --git a/packages/cli/test/install-plugin.test.js b/packages/cli/test/install-plugin.test.js
index 269953007..c941d95d1 100644
--- a/packages/cli/test/install-plugin.test.js
+++ b/packages/cli/test/install-plugin.test.js
@@ -14,8 +14,8 @@ const minimalConfig = {
   },
 };
 
-tap.test('Install plugin-tab ->', t =>
-  wrapAsync(function*() {
+tap.test('Install plugin-tab ->', (t) =>
+  wrapAsync(function* () {
     yield installPlugin('@pattern-lab/plugin-tab', minimalConfig);
     const pkg = yield moduleExist('@pattern-lab/plugin-tab');
     t.ok(pkg, 'module should exist after install');
diff --git a/packages/cli/test/install-starterkit.test.js b/packages/cli/test/install-starterkit.test.js
index 0cda685c9..fc651eca9 100644
--- a/packages/cli/test/install-starterkit.test.js
+++ b/packages/cli/test/install-starterkit.test.js
@@ -14,8 +14,8 @@ const minimalConfig = {
   },
 };
 
-tap.test('Install starterkit-mustache-demo ->', t =>
-  wrapAsync(function*() {
+tap.test('Install starterkit-mustache-demo ->', (t) =>
+  wrapAsync(function* () {
     yield installStarterkit(
       '@pattern-lab/starterkit-mustache-demo',
       minimalConfig
@@ -26,8 +26,8 @@ tap.test('Install starterkit-mustache-demo ->', t =>
   })
 );
 
-tap.test('Install starterkit-mustache-base ->', t =>
-  wrapAsync(function*() {
+tap.test('Install starterkit-mustache-base ->', (t) =>
+  wrapAsync(function* () {
     yield installStarterkit(
       '@pattern-lab/starterkit-mustache-base',
       minimalConfig
@@ -38,8 +38,8 @@ tap.test('Install starterkit-mustache-base ->', t =>
   })
 );
 
-tap.test('Install starterkit-mustache-bootstrap ->', t =>
-  wrapAsync(function*() {
+tap.test('Install starterkit-mustache-bootstrap ->', (t) =>
+  wrapAsync(function* () {
     yield installStarterkit('starterkit-mustache-bootstrap', minimalConfig);
     const pkg = yield moduleExist('starterkit-mustache-bootstrap');
     t.ok(pkg, 'module should exist after install');
@@ -47,8 +47,8 @@ tap.test('Install starterkit-mustache-bootstrap ->', t =>
   })
 );
 
-tap.test('Install starterkit-mustache-foundation ->', t =>
-  wrapAsync(function*() {
+tap.test('Install starterkit-mustache-foundation ->', (t) =>
+  wrapAsync(function* () {
     yield installStarterkit('starterkit-mustache-foundation', minimalConfig);
     const pkg = yield moduleExist('starterkit-mustache-foundation');
     t.ok(pkg, 'module should exist after install');
@@ -56,8 +56,8 @@ tap.test('Install starterkit-mustache-foundation ->', t =>
   })
 );
 
-tap.test('Install starterkit-mustache-acidtest ->', t =>
-  wrapAsync(function*() {
+tap.test('Install starterkit-mustache-acidtest ->', (t) =>
+  wrapAsync(function* () {
     yield installStarterkit('starterkit-mustache-acidtest', minimalConfig);
     const pkg = yield moduleExist('starterkit-mustache-acidtest');
     t.ok(pkg, 'module should exist after install');
@@ -65,8 +65,8 @@ tap.test('Install starterkit-mustache-acidtest ->', t =>
   })
 );
 
-tap.test('Install starterkit-mustache-materialdesign ->', t =>
-  wrapAsync(function*() {
+tap.test('Install starterkit-mustache-materialdesign ->', (t) =>
+  wrapAsync(function* () {
     yield installStarterkit(
       'starterkit-mustache-materialdesign',
       minimalConfig
diff --git a/packages/cli/test/mocks/liverserver.mock.js b/packages/cli/test/mocks/liverserver.mock.js
index 754fd5fc1..868f34fd5 100644
--- a/packages/cli/test/mocks/liverserver.mock.js
+++ b/packages/cli/test/mocks/liverserver.mock.js
@@ -1,12 +1,12 @@
 function liveServerMock() {
   return {
-    reload: function() {
+    reload: function () {
       return true;
     },
-    refreshCSS: function() {
+    refreshCSS: function () {
       return true;
     },
-    start: function() {
+    start: function () {
       return true;
     },
   };
diff --git a/packages/cli/test/mocks/patternlab.mock.js b/packages/cli/test/mocks/patternlab.mock.js
index 7186ca734..718767245 100644
--- a/packages/cli/test/mocks/patternlab.mock.js
+++ b/packages/cli/test/mocks/patternlab.mock.js
@@ -1,18 +1,18 @@
 function patternLabMock() {
   return {
-    build: function() {
+    build: function () {
       return true;
     },
-    help: function() {
+    help: function () {
       return true;
     },
-    patternsonly: function() {
+    patternsonly: function () {
       return true;
     },
-    liststarterkits: function() {
+    liststarterkits: function () {
       return true;
     },
-    loadstarterkit: function() {
+    loadstarterkit: function () {
       return true;
     },
   };
diff --git a/packages/cli/test/replace_config_paths.test.js b/packages/cli/test/replace_config_paths.test.js
index 6a98385ac..11d5bd84d 100644
--- a/packages/cli/test/replace_config_paths.test.js
+++ b/packages/cli/test/replace_config_paths.test.js
@@ -3,7 +3,7 @@ const tap = require('tap');
 const replaceConfigPaths = require('../bin/replace-config');
 const config = patternlab.getDefaultConfig();
 
-tap.test('replaceConfigPaths ->', t => {
+tap.test('replaceConfigPaths ->', (t) => {
   const newConfig = replaceConfigPaths(
     config,
     'projectDir',
diff --git a/packages/cli/test/resolve_config.test.js b/packages/cli/test/resolve_config.test.js
index 36c250d9a..87feb8231 100644
--- a/packages/cli/test/resolve_config.test.js
+++ b/packages/cli/test/resolve_config.test.js
@@ -2,8 +2,8 @@ const tap = require('tap');
 const wrapAsync = require('../bin/utils').wrapAsync;
 const resolveConfig = require('../bin/resolve-config');
 
-tap.test('resolveConfig ->', t =>
-  wrapAsync(function*() {
+tap.test('resolveConfig ->', (t) =>
+  wrapAsync(function* () {
     const config = yield resolveConfig(
       './test/fixtures/patternlab-config.json'
     );
diff --git a/packages/cli/test/scaffold.test.js b/packages/cli/test/scaffold.test.js
index c63d2365d..0db92165b 100644
--- a/packages/cli/test/scaffold.test.js
+++ b/packages/cli/test/scaffold.test.js
@@ -10,8 +10,8 @@ const sourceDir = 'source';
 const publicDir = 'public';
 const exportDir = 'patterns_export';
 
-tap.test('Scaffold ->', t =>
-  wrapAsync(function*() {
+tap.test('Scaffold ->', (t) =>
+  wrapAsync(function* () {
     yield scaffold(projectDir, sourceDir, publicDir, exportDir);
     t.ok(exists.sync(path.resolve(projectDir)), 'should create project dir');
     t.ok(
diff --git a/packages/cli/test/serve.test.js b/packages/cli/test/serve.test.js
index c322cc41d..0d733cde0 100644
--- a/packages/cli/test/serve.test.js
+++ b/packages/cli/test/serve.test.js
@@ -10,8 +10,8 @@ const preview = proxyquire('../bin/serve', {
   '@pattern-lab/core': patternLabMock,
 });
 
-tap.test('Serve ->', t =>
-  wrapAsync(function*() {
+tap.test('Serve ->', (t) =>
+  wrapAsync(function* () {
     const config = yield resolveConfig(
       './test/fixtures/patternlab-config.json'
     );
diff --git a/packages/cli/test/utils/spawnCmd.js b/packages/cli/test/utils/spawnCmd.js
index 4d0623515..f02cb91d4 100644
--- a/packages/cli/test/utils/spawnCmd.js
+++ b/packages/cli/test/utils/spawnCmd.js
@@ -4,8 +4,8 @@ const wrapAsync = require('../../bin/utils').wrapAsync;
 const cli = path.resolve(__dirname, '../../bin/patternlab.js');
 
 const spawnCmd = (args, endFn) =>
-  wrapAsync(function*() {
-    const fn = endFn || function() {};
+  wrapAsync(function* () {
+    const fn = endFn || function () {};
     yield spawn('node', [cli].concat(args));
     fn();
   });
diff --git a/packages/core/test/buildListItems_tests.js b/packages/core/test/buildListItems_tests.js
index 757c8f1aa..10e5ee22f 100644
--- a/packages/core/test/buildListItems_tests.js
+++ b/packages/core/test/buildListItems_tests.js
@@ -7,7 +7,7 @@ const listItems = require('./files/_data/listitems.json');
 const buildlistItems = rewire('../src/lib/buildListItems');
 
 const _Mock = {
-  shuffle: function(list) {
+  shuffle: function (list) {
     return list;
   },
 };
@@ -19,7 +19,7 @@ buildlistItems.__set__({
 
 tap.test(
   'buildlistItems transforms container of listItems with one value',
-  test => {
+  (test) => {
     // do this to avoid the shuffling for now
     const container = Object.assign({}, { listitems: { '1': listItems['1'] } });
     buildlistItems(container);
@@ -38,7 +38,7 @@ tap.test(
 
 tap.test(
   'buildlistItems transforms container of listItems with three values',
-  test => {
+  (test) => {
     // do this to avoid the shuffling for now
     const container = { listitems: listItems };
     buildlistItems(container);
diff --git a/packages/core/test/files/_meta/_head.html b/packages/core/test/files/_meta/_head.html
index b1f5c1ce0..56d9a2432 100644
--- a/packages/core/test/files/_meta/_head.html
+++ b/packages/core/test/files/_meta/_head.html
@@ -2,15 +2,22 @@
 <html class="{{ htmlClass }}">
   <head>
     <title>{{ title }}</title>
-    <meta charset="UTF-8">
+    <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width" />
 
-    <link rel="stylesheet" href="../../css/style.css?{{ cacheBuster }}" media="all" />
-    <link rel="stylesheet" href="../../css/pattern-scaffolding.css?{{ cacheBuster }}" media="all" />
+    <link
+      rel="stylesheet"
+      href="../../css/style.css?{{ cacheBuster }}"
+      media="all"
+    />
+    <link
+      rel="stylesheet"
+      href="../../css/pattern-scaffolding.css?{{ cacheBuster }}"
+      media="all"
+    />
 
     <!-- Begin Pattern Lab (Required for Pattern Lab to run properly) -->
     {{{ patternLabHead }}}
     <!-- End Pattern Lab -->
-
   </head>
   <body class="{{ bodyClass }}">
diff --git a/packages/core/test/markModifiedPatterns_tests.js b/packages/core/test/markModifiedPatterns_tests.js
index 432937ef8..18f06d646 100644
--- a/packages/core/test/markModifiedPatterns_tests.js
+++ b/packages/core/test/markModifiedPatterns_tests.js
@@ -13,7 +13,7 @@ const markModifiedPatterns = rewire('../src/lib/markModifiedPatterns');
 const config = require('./util/patternlab-config.json');
 
 const fsMock = {
-  readFileSync: function(path, encoding, cb) {
+  readFileSync: function (path, encoding, cb) {
     return '';
   },
 };
@@ -28,7 +28,7 @@ const public_dir = './test/public';
 
 tap.only(
   'markModifiedPatterns - finds patterns modified since a given date',
-  function(test) {
+  function (test) {
     //arrange
     markModifiedPatterns.__set__('fs', fsMock);
 
@@ -75,7 +75,7 @@ tap.only(
 
 tap.test(
   'markModifiedPatterns - finds patterns when modification date is missing',
-  function(test) {
+  function (test) {
     //arrange
     var patternlab = emptyPatternLab();
     patternlab.partials = {};
@@ -96,24 +96,25 @@ tap.test(
 );
 
 // This is the case when we want to force recompilation
-tap.test('markModifiedPatterns - finds patterns via compile state', function(
-  test
-) {
-  //arrange
-  var patternlab = emptyPatternLab();
-  patternlab.partials = {};
-  patternlab.data = { link: {} };
-  patternlab.config = { logLevel: 'quiet' };
-  patternlab.config.outputFileSuffixes = { rendered: '' };
-
-  var pattern = new Pattern('test/bar.mustache');
-  pattern.extendedTemplate = undefined;
-  pattern.template = 'bar';
-  pattern.lastModified = 100000;
-  pattern.compileState = CompileState.NEEDS_REBUILD;
-  patternlab.patterns = [pattern];
-
-  let p = markModifiedPatterns(1000, patternlab);
-  test.same(p.modified.length, 1);
-  test.end();
-});
+tap.test(
+  'markModifiedPatterns - finds patterns via compile state',
+  function (test) {
+    //arrange
+    var patternlab = emptyPatternLab();
+    patternlab.partials = {};
+    patternlab.data = { link: {} };
+    patternlab.config = { logLevel: 'quiet' };
+    patternlab.config.outputFileSuffixes = { rendered: '' };
+
+    var pattern = new Pattern('test/bar.mustache');
+    pattern.extendedTemplate = undefined;
+    pattern.template = 'bar';
+    pattern.lastModified = 100000;
+    pattern.compileState = CompileState.NEEDS_REBUILD;
+    patternlab.patterns = [pattern];
+
+    let p = markModifiedPatterns(1000, patternlab);
+    test.same(p.modified.length, 1);
+    test.end();
+  }
+);
diff --git a/packages/core/test/uikitExcludePattern_tests.js b/packages/core/test/uikitExcludePattern_tests.js
index fbde9d5e8..f19301d12 100644
--- a/packages/core/test/uikitExcludePattern_tests.js
+++ b/packages/core/test/uikitExcludePattern_tests.js
@@ -6,7 +6,7 @@ const uikitExcludePattern = require('../src/lib/uikitExcludePattern');
 
 tap.test(
   'uikitExcludePattern - returns false when uikit has no excluded states',
-  test => {
+  (test) => {
     //arrange
     const uikit = { excludedPatternStates: [] };
     const pattern = { patternState: 'complete' };
@@ -22,7 +22,7 @@ tap.test(
 
 tap.test(
   'uikitExcludePattern - returns false pattern does not have same state as uikit exclusions',
-  test => {
+  (test) => {
     //arrange
     const uikit = { excludedPatternStates: ['complete'] };
     const pattern = { patternState: 'inprogress' };
@@ -38,7 +38,7 @@ tap.test(
 
 tap.test(
   'uikitExcludePattern - returns true when uikit has same state as pattern',
-  test => {
+  (test) => {
     //arrange
     const uikit = { excludedPatternStates: ['inreview', 'complete'] };
     const pattern = { patternState: 'complete' };
@@ -54,7 +54,7 @@ tap.test(
 
 tap.test(
   'uikitExcludePattern - returns false when uikit has no excluded tags',
-  test => {
+  (test) => {
     //arrange
     const uikit = { excludedTags: [] };
     const pattern = { tags: 'foo-tag' };
@@ -70,7 +70,7 @@ tap.test(
 
 tap.test(
   'uikitExcludePattern - returns false pattern does not have same tags as uikit exclusions',
-  test => {
+  (test) => {
     //arrange
     const uikit = { excludedTags: ['bat-tag'] };
     const pattern = { tags: 'foo-tag' };
@@ -86,7 +86,7 @@ tap.test(
 
 tap.test(
   'uikitExcludePattern - returns true when uikit has same tags as pattern',
-  test => {
+  (test) => {
     //arrange
     const uikit = { excludedTags: ['bar-tag', 'foo-tag'] };
     const pattern = { tags: 'foo-tag' };
diff --git a/packages/core/test/util/test_utils.js b/packages/core/test/util/test_utils.js
index e76a9506b..0558f500a 100644
--- a/packages/core/test/util/test_utils.js
+++ b/packages/core/test/util/test_utils.js
@@ -33,7 +33,7 @@ module.exports = {
    * Strip out control characters from output if needed so make comparisons easier
    * @param output - the template to strip
    */
-  sanitized: outputTemplate => {
+  sanitized: (outputTemplate) => {
     return outputTemplate
       .replace(/\n/g, ' ')
       .replace(/\r/g, ' ')
@@ -45,7 +45,7 @@ module.exports = {
    * normalize a string (probably a path) to posix - style
    * @param s - the string or array of strings to normalize path separators to posix - style
    */
-  posixPath: s => {
+  posixPath: (s) => {
     if (Array.isArray(s)) {
       var paths = [];
       for (let i = 0; i < s.length; i++) {
diff --git a/packages/development-edition-engine-handlebars/helpers/test.js b/packages/development-edition-engine-handlebars/helpers/test.js
index 8b32ed799..6ddbc2bba 100644
--- a/packages/development-edition-engine-handlebars/helpers/test.js
+++ b/packages/development-edition-engine-handlebars/helpers/test.js
@@ -1,5 +1,5 @@
-module.exports = function(Handlebars) {
-  Handlebars.registerHelper('test', function() {
+module.exports = function (Handlebars) {
+  Handlebars.registerHelper('test', function () {
     return 'This is a test helper';
   });
 };
diff --git a/packages/development-edition-engine-react/gulpfile.js b/packages/development-edition-engine-react/gulpfile.js
index 152cb5fd7..3f3658f89 100644
--- a/packages/development-edition-engine-react/gulpfile.js
+++ b/packages/development-edition-engine-react/gulpfile.js
@@ -33,33 +33,33 @@ function serve() {
     });
 }
 
-gulp.task('patternlab:version', function() {
+gulp.task('patternlab:version', function () {
   patternlab.version();
 });
 
-gulp.task('patternlab:help', function() {
+gulp.task('patternlab:help', function () {
   patternlab.help();
 });
 
-gulp.task('patternlab:patternsonly', function() {
+gulp.task('patternlab:patternsonly', function () {
   patternlab.patternsonly(config.cleanPublic);
 });
 
-gulp.task('patternlab:liststarterkits', function() {
+gulp.task('patternlab:liststarterkits', function () {
   patternlab.liststarterkits();
 });
 
-gulp.task('patternlab:loadstarterkit', function() {
+gulp.task('patternlab:loadstarterkit', function () {
   patternlab.loadstarterkit(argv.kit, argv.clean);
 });
 
-gulp.task('patternlab:build', function() {
+gulp.task('patternlab:build', function () {
   build().then(() => {
     // do something else when this promise resolves
   });
 });
 
-gulp.task('patternlab:serve', function() {
+gulp.task('patternlab:serve', function () {
   serve().then(() => {
     // do something else when this promise resolves
   });
diff --git a/packages/development-edition-engine-react/source/_meta/_head.html b/packages/development-edition-engine-react/source/_meta/_head.html
index b1f5c1ce0..56d9a2432 100644
--- a/packages/development-edition-engine-react/source/_meta/_head.html
+++ b/packages/development-edition-engine-react/source/_meta/_head.html
@@ -2,15 +2,22 @@
 <html class="{{ htmlClass }}">
   <head>
     <title>{{ title }}</title>
-    <meta charset="UTF-8">
+    <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width" />
 
-    <link rel="stylesheet" href="../../css/style.css?{{ cacheBuster }}" media="all" />
-    <link rel="stylesheet" href="../../css/pattern-scaffolding.css?{{ cacheBuster }}" media="all" />
+    <link
+      rel="stylesheet"
+      href="../../css/style.css?{{ cacheBuster }}"
+      media="all"
+    />
+    <link
+      rel="stylesheet"
+      href="../../css/pattern-scaffolding.css?{{ cacheBuster }}"
+      media="all"
+    />
 
     <!-- Begin Pattern Lab (Required for Pattern Lab to run properly) -->
     {{{ patternLabHead }}}
     <!-- End Pattern Lab -->
-
   </head>
   <body class="{{ bodyClass }}">
diff --git a/packages/docs/.eleventy.js b/packages/docs/.eleventy.js
index 9e8b8feaa..876122731 100644
--- a/packages/docs/.eleventy.js
+++ b/packages/docs/.eleventy.js
@@ -15,7 +15,7 @@ const parseTransform = require('./src/transforms/parse-transform.js');
 // Import data files
 const site = require('./src/_data/site.json');
 
-module.exports = function(config) {
+module.exports = function (config) {
 	// Filters
 	config.addFilter('dateFilter', dateFilter);
 	config.addFilter('markdownFilter', markdownFilter);
@@ -38,28 +38,28 @@ module.exports = function(config) {
 	const now = new Date();
 
 	// Custom collections
-	const livePosts = post => post.date <= now && !post.data.draft;
-	config.addCollection('posts', collection => {
+	const livePosts = (post) => post.date <= now && !post.data.draft;
+	config.addCollection('posts', (collection) => {
 		return [
-			...collection.getFilteredByGlob('./src/posts/*.md').filter(livePosts)
+			...collection.getFilteredByGlob('./src/posts/*.md').filter(livePosts),
 		].reverse();
 	});
 
-	config.addCollection('demos', collection => {
+	config.addCollection('demos', (collection) => {
 		return [...collection.getFilteredByGlob('./src/demos/*.md')].reverse();
 	});
 
-	config.addCollection('postFeed', collection => {
+	config.addCollection('postFeed', (collection) => {
 		return [...collection.getFilteredByGlob('./src/posts/*.md').filter(livePosts)]
 			.reverse()
 			.slice(0, site.maxPostsPerPage);
 	});
 
-	config.addCollection('docs', collection => {
+	config.addCollection('docs', (collection) => {
 		return [...collection.getFilteredByGlob('./src/docs/*.md')].reverse();
 	});
 
-	config.addCollection('docsOrdered', collection => {
+	config.addCollection('docsOrdered', (collection) => {
 		const docs = collection.getFilteredByGlob('src/docs/*.md').sort((a, b) => {
 			return Number(a.data.order) - Number(b.data.order);
 		});
@@ -74,7 +74,7 @@ module.exports = function(config) {
 	// 404
 	config.setBrowserSyncConfig({
 		callbacks: {
-			ready: function(err, browserSync) {
+			ready: function (err, browserSync) {
 				const content_404 = fs.readFileSync('dist/404.html');
 
 				browserSync.addMiddleware('*', (req, res) => {
@@ -82,15 +82,15 @@ module.exports = function(config) {
 					res.write(content_404);
 					res.end();
 				});
-			}
-		}
+			},
+		},
 	});
 
 	return {
 		dir: {
 			input: 'src',
-			output: 'dist'
+			output: 'dist',
 		},
-		passthroughFileCopy: true
+		passthroughFileCopy: true,
 	};
 };
diff --git a/packages/docs/rollup.config.js b/packages/docs/rollup.config.js
index 7f62e07f4..38dd88349 100644
--- a/packages/docs/rollup.config.js
+++ b/packages/docs/rollup.config.js
@@ -4,16 +4,11 @@ const nodeResolve = require('rollup-plugin-node-resolve');
 const json = require('rollup-plugin-json');
 
 export default {
-  input: 'src/admin/util',
-  output: {
-    file: 'dist/admin/util.js',
-    format: 'iife',
-    name: 'previewUtil',
-  },
-  plugins: [
-    builtins(),
-    nodeResolve(),
-    commonjs(),
-    json(),
-  ]
+	input: 'src/admin/util',
+	output: {
+		file: 'dist/admin/util.js',
+		format: 'iife',
+		name: 'previewUtil',
+	},
+	plugins: [builtins(), nodeResolve(), commonjs(), json()],
 };
diff --git a/packages/docs/src/_data/global.js b/packages/docs/src/_data/global.js
index 683a0a332..3b6371b17 100644
--- a/packages/docs/src/_data/global.js
+++ b/packages/docs/src/_data/global.js
@@ -1,9 +1,9 @@
 module.exports = {
-  random() {
-    const segment = () => {
-      return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
-    };
-    return `${segment()}-${segment()}-${segment()}`;
-  },
-  now: Date.now()
+	random() {
+		const segment = () => {
+			return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
+		};
+		return `${segment()}-${segment()}-${segment()}`;
+	},
+	now: Date.now(),
 };
diff --git a/packages/docs/src/_data/helpers.js b/packages/docs/src/_data/helpers.js
index 9ae9b7883..97543eaaa 100644
--- a/packages/docs/src/_data/helpers.js
+++ b/packages/docs/src/_data/helpers.js
@@ -1,10 +1,10 @@
 module.exports = {
-  getNextHeadingLevel(currentLevel) {
-    return parseInt(currentLevel, 10) + 1;
-  },
-  getReadingTime(text) {
-    const wordsPerMinute = 200;
-    const numberOfWords = text.split(/\s/g).length;
-    return Math.ceil(numberOfWords / wordsPerMinute);
-  }
+	getNextHeadingLevel(currentLevel) {
+		return parseInt(currentLevel, 10) + 1;
+	},
+	getReadingTime(text) {
+		const wordsPerMinute = 200;
+		const numberOfWords = text.split(/\s/g).length;
+		return Math.ceil(numberOfWords / wordsPerMinute);
+	},
 };
diff --git a/packages/docs/src/_data/styleguide.js b/packages/docs/src/_data/styleguide.js
index 4969bec39..de64437d5 100644
--- a/packages/docs/src/_data/styleguide.js
+++ b/packages/docs/src/_data/styleguide.js
@@ -1,28 +1,28 @@
 const tokens = require('./tokens.json');
 
 module.exports = {
-  colors() {
-    let response = [];
+	colors() {
+		let response = [];
 
-    Object.keys(tokens.colors).forEach(key => {
-      response.push({
-        value: tokens.colors[key],
-        key
-      });
-    });
+		Object.keys(tokens.colors).forEach((key) => {
+			response.push({
+				value: tokens.colors[key],
+				key,
+			});
+		});
 
-    return response;
-  },
-  sizes() {
-    let response = [];
+		return response;
+	},
+	sizes() {
+		let response = [];
 
-    Object.keys(tokens['size-scale']).forEach(key => {
-      response.push({
-        value: tokens['size-scale'][key],
-        key
-      });
-    });
+		Object.keys(tokens['size-scale']).forEach((key) => {
+			response.push({
+				value: tokens['size-scale'][key],
+				key,
+			});
+		});
 
-    return response;
-  }
+		return response;
+	},
 };
diff --git a/packages/docs/src/admin/previews.js b/packages/docs/src/admin/previews.js
index 82dcd1f2c..9fa3d7589 100644
--- a/packages/docs/src/admin/previews.js
+++ b/packages/docs/src/admin/previews.js
@@ -7,82 +7,82 @@ env.addFilter('markdownFilter', markdownFilter);
 env.addFilter('dateFilter', dateFilter);
 
 const Preview = ({entry, path, context}) => {
-  const data = context(entry.get('data').toJS());
-  const html = env.render(path, {...data, helpers});
-  return <div dangerouslySetInnerHTML={{__html: html}} />;
+	const data = context(entry.get('data').toJS());
+	const html = env.render(path, {...data, helpers});
+	return <div dangerouslySetInnerHTML={{__html: html}} />;
 };
 
 const Home = ({entry}) => (
-  <Preview
-    entry={entry}
-    path="layouts/home.njk"
-    context={({title, body, postsHeading, archiveButtonText}) => ({
-      title,
-      content: markdownFilter(body),
-      postsHeading,
-      archiveButtonText,
-      collections: {
-        postFeed: [
-          {
-            url: 'javascript:void(0)',
-            date: new Date(),
-            data: {
-              title: 'Sample Post'
-            }
-          }
-        ]
-      }
-    })}
-  />
+	<Preview
+		entry={entry}
+		path="layouts/home.njk"
+		context={({title, body, postsHeading, archiveButtonText}) => ({
+			title,
+			content: markdownFilter(body),
+			postsHeading,
+			archiveButtonText,
+			collections: {
+				postFeed: [
+					{
+						url: 'javascript:void(0)',
+						date: new Date(),
+						data: {
+							title: 'Sample Post',
+						},
+					},
+				],
+			},
+		})}
+	/>
 );
 
 const Post = ({entry}) => (
-  <Preview
-    entry={entry}
-    path="layouts/post.njk"
-    context={({title, date, body}) => ({
-      title,
-      date,
-      content: markdownFilter(body || '')
-    })}
-  />
+	<Preview
+		entry={entry}
+		path="layouts/post.njk"
+		context={({title, date, body}) => ({
+			title,
+			date,
+			content: markdownFilter(body || ''),
+		})}
+	/>
 );
 
 const Page = ({entry}) => (
-  <Preview
-    entry={entry}
-    path="layouts/page.njk"
-    context={({title, body}) => ({
-      title,
-      content: markdownFilter(body || '')
-    })}
-  />
+	<Preview
+		entry={entry}
+		path="layouts/page.njk"
+		context={({title, body}) => ({
+			title,
+			content: markdownFilter(body || ''),
+		})}
+	/>
 );
 
 const SiteData = ({entry}) => (
-  <Preview
-    entry={entry}
-    path="layouts/base.njk"
-    context={({name, shortDesc, showThemeCredit}) => ({
-      site: {
-        name,
-        shortDesc,
-        showThemeCredit
-      }
-    })}
-  />
+	<Preview
+		entry={entry}
+		path="layouts/base.njk"
+		context={({name, shortDesc, showThemeCredit}) => ({
+			site: {
+				name,
+				shortDesc,
+				showThemeCredit,
+			},
+		})}
+	/>
 );
 
 const Nav = ({entry}) => (
-  <Preview
-    entry={entry}
-    path="layouts/base.njk"
-    context={({items}) => ({
-      navigation: {
-        items
-      }
-    })}
-  />
+	<Preview
+		entry={entry}
+		path="layouts/base.njk"
+		context={({items}) => ({
+			navigation: {
+				items,
+			},
+		})}
+	/>
 );
 
 CMS.registerPreviewTemplate('home', Home);
diff --git a/packages/docs/src/admin/util.js b/packages/docs/src/admin/util.js
index 302b159cf..53db2e8ec 100644
--- a/packages/docs/src/admin/util.js
+++ b/packages/docs/src/admin/util.js
@@ -3,9 +3,4 @@ import dateFilter from '../filters/date-filter';
 import markdownFilter from '../filters/markdown-filter';
 import w3DateFilter from '../filters/w3-date-filter';
 
-export {
-  helpers,
-  dateFilter,
-  markdownFilter,
-  w3DateFilter,
-};
+export {helpers, dateFilter, markdownFilter, w3DateFilter};
diff --git a/packages/docs/src/filters/date-filter.js b/packages/docs/src/filters/date-filter.js
index 5206da52f..2b4904744 100644
--- a/packages/docs/src/filters/date-filter.js
+++ b/packages/docs/src/filters/date-filter.js
@@ -1,15 +1,28 @@
 // Stolen from https://stackoverflow.com/a/31615643
-const appendSuffix = n => {
-  var s = ['th', 'st', 'nd', 'rd'],
-    v = n % 100;
-  return n + (s[(v - 20) % 10] || s[v] || s[0]);
+const appendSuffix = (n) => {
+	var s = ['th', 'st', 'nd', 'rd'],
+		v = n % 100;
+	return n + (s[(v - 20) % 10] || s[v] || s[0]);
 };
 
 module.exports = function dateFilter(value) {
-  const dateObject = new Date(value);
+	const dateObject = new Date(value);
 
-  const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
-  const dayWithSuffix = appendSuffix(dateObject.getDate());
+	const months = [
+		'January',
+		'February',
+		'March',
+		'April',
+		'May',
+		'June',
+		'July',
+		'August',
+		'September',
+		'October',
+		'November',
+		'December',
+	];
+	const dayWithSuffix = appendSuffix(dateObject.getDate());
 
-  return `${dayWithSuffix} ${months[dateObject.getMonth()]} ${dateObject.getFullYear()}`;
+	return `${dayWithSuffix} ${months[dateObject.getMonth()]} ${dateObject.getFullYear()}`;
 };
diff --git a/packages/docs/src/filters/markdown-filter.js b/packages/docs/src/filters/markdown-filter.js
index 530c2f571..e2298ce25 100644
--- a/packages/docs/src/filters/markdown-filter.js
+++ b/packages/docs/src/filters/markdown-filter.js
@@ -1,9 +1,9 @@
 const markdownIt = require('markdown-it')({
-  html: true,
-  breaks: true,
-  linkify: true
+	html: true,
+	breaks: true,
+	linkify: true,
 });
 
 module.exports = function markdown(value) {
-  return markdownIt.render(value);
+	return markdownIt.render(value);
 };
diff --git a/packages/docs/src/filters/w3-date-filter.js b/packages/docs/src/filters/w3-date-filter.js
index d31538da4..39c0f7ca8 100644
--- a/packages/docs/src/filters/w3-date-filter.js
+++ b/packages/docs/src/filters/w3-date-filter.js
@@ -1,5 +1,5 @@
 module.exports = function w3cDate(value) {
-  const dateObject = new Date(value);
+	const dateObject = new Date(value);
 
-  return dateObject.toISOString();
+	return dateObject.toISOString();
 };
diff --git a/packages/docs/src/js/components/theme-toggle.js b/packages/docs/src/js/components/theme-toggle.js
index 7e93571a2..63d6fb387 100644
--- a/packages/docs/src/js/components/theme-toggle.js
+++ b/packages/docs/src/js/components/theme-toggle.js
@@ -2,97 +2,97 @@
 const html = String.raw;
 
 class ThemeToggle extends HTMLElement {
-  constructor() {
-    super();
-
-    this.STORAGE_KEY = 'user-color-scheme';
-    this.COLOR_MODE_KEY = '--color-mode';
-  }
-
-  connectedCallback() {
-    this.render();
-  }
-
-  getCSSCustomProp(propKey) {
-    let response = getComputedStyle(document.documentElement).getPropertyValue(propKey);
-
-    // Tidy up the string if there’s something to work with
-    if (response.length) {
-      response = response.replace(/\'|"/g, '').trim();
-    }
-
-    // Return the string response by default
-    return response;
-  }
-
-  applySetting(passedSetting) {
-    let currentSetting = passedSetting || localStorage.getItem(this.STORAGE_KEY);
-
-    if (currentSetting) {
-      document.documentElement.setAttribute('data-user-color-scheme', currentSetting);
-      this.setButtonLabelAndStatus(currentSetting);
-    } else {
-      this.setButtonLabelAndStatus(this.getCSSCustomProp(this.COLOR_MODE_KEY));
-    }
-  }
-
-  toggleSetting() {
-    let currentSetting = localStorage.getItem(this.STORAGE_KEY);
-
-    switch (currentSetting) {
-      case null:
-        currentSetting =
-          this.getCSSCustomProp(this.COLOR_MODE_KEY) === 'dark' ? 'light' : 'dark';
-        break;
-      case 'light':
-        currentSetting = 'dark';
-        break;
-      case 'dark':
-        currentSetting = 'light';
-        break;
-    }
-
-    localStorage.setItem(this.STORAGE_KEY, currentSetting);
-
-    return currentSetting;
-  }
-
-  setButtonLabelAndStatus(currentSetting) {
-    this.modeToggleButton.innerText = `${
-      currentSetting === 'dark' ? 'Light' : 'Dark'
-    } theme`;
-    this.modeStatusElement.innerText = `Color mode is now "${currentSetting}"`;
-  }
-
-  render() {
-    this.innerHTML = html`
-      <div class="[ theme-toggle ] [ md:ta-right gap-top-500 ]">
-        <div role="status" class="[ visually-hidden ][ js-mode-status ]"></div>
-        <button class="[ button ] [ font-base text-base weight-bold ] [ js-mode-toggle ]">
-          Dark theme
-        </button>
-      </div>
-    `;
-
-    this.afterRender();
-  }
-
-  afterRender() {
-    this.modeToggleButton = document.querySelector('.js-mode-toggle');
-    this.modeStatusElement = document.querySelector('.js-mode-status');
-
-    this.modeToggleButton.addEventListener('click', evt => {
-      evt.preventDefault();
-
-      this.applySetting(this.toggleSetting());
-    });
-
-    this.applySetting();
-  }
+	constructor() {
+		super();
+
+		this.STORAGE_KEY = 'user-color-scheme';
+		this.COLOR_MODE_KEY = '--color-mode';
+	}
+
+	connectedCallback() {
+		this.render();
+	}
+
+	getCSSCustomProp(propKey) {
+		let response = getComputedStyle(document.documentElement).getPropertyValue(propKey);
+
+		// Tidy up the string if there’s something to work with
+		if (response.length) {
+			response = response.replace(/\'|"/g, '').trim();
+		}
+
+		// Return the string response by default
+		return response;
+	}
+
+	applySetting(passedSetting) {
+		let currentSetting = passedSetting || localStorage.getItem(this.STORAGE_KEY);
+
+		if (currentSetting) {
+			document.documentElement.setAttribute('data-user-color-scheme', currentSetting);
+			this.setButtonLabelAndStatus(currentSetting);
+		} else {
+			this.setButtonLabelAndStatus(this.getCSSCustomProp(this.COLOR_MODE_KEY));
+		}
+	}
+
+	toggleSetting() {
+		let currentSetting = localStorage.getItem(this.STORAGE_KEY);
+
+		switch (currentSetting) {
+			case null:
+				currentSetting =
+					this.getCSSCustomProp(this.COLOR_MODE_KEY) === 'dark' ? 'light' : 'dark';
+				break;
+			case 'light':
+				currentSetting = 'dark';
+				break;
+			case 'dark':
+				currentSetting = 'light';
+				break;
+		}
+
+		localStorage.setItem(this.STORAGE_KEY, currentSetting);
+
+		return currentSetting;
+	}
+
+	setButtonLabelAndStatus(currentSetting) {
+		this.modeToggleButton.innerText = `${
+			currentSetting === 'dark' ? 'Light' : 'Dark'
+		} theme`;
+		this.modeStatusElement.innerText = `Color mode is now "${currentSetting}"`;
+	}
+
+	render() {
+		this.innerHTML = html`
+			<div class="[ theme-toggle ] [ md:ta-right gap-top-500 ]">
+				<div role="status" class="[ visually-hidden ][ js-mode-status ]"></div>
+				<button class="[ button ] [ font-base text-base weight-bold ] [ js-mode-toggle ]">
+					Dark theme
+				</button>
+			</div>
+		`;
+
+		this.afterRender();
+	}
+
+	afterRender() {
+		this.modeToggleButton = document.querySelector('.js-mode-toggle');
+		this.modeStatusElement = document.querySelector('.js-mode-status');
+
+		this.modeToggleButton.addEventListener('click', (evt) => {
+			evt.preventDefault();
+
+			this.applySetting(this.toggleSetting());
+		});
+
+		this.applySetting();
+	}
 }
 
 if ('customElements' in window) {
-  customElements.define('theme-toggle', ThemeToggle);
+	customElements.define('theme-toggle', ThemeToggle);
 }
 
 export default ThemeToggle;
diff --git a/packages/docs/src/js/primary-nav.js b/packages/docs/src/js/primary-nav.js
index 867ca265a..3cf7d54a8 100644
--- a/packages/docs/src/js/primary-nav.js
+++ b/packages/docs/src/js/primary-nav.js
@@ -8,14 +8,14 @@
  * 3) If the nav dropdown trigger parent already has active class, remove it.
  * 4) If the nav dropdown trigger parent does not have an active class, add it.
  */
-(function() {
+(function () {
 	var navDropdownListItem = document.querySelector('.js-nav-dropdown');
 	var navLink = document.querySelectorAll('.js-nav-dropdown-trigger'); /* 1 */
 
 	for (i = 0; i < navLink.length; i++) {
 		/* 1 */
 
-		navLink[i].addEventListener('click', function(event) {
+		navLink[i].addEventListener('click', function (event) {
 			/* 2 */
 			event.preventDefault();
 			var navLinkParent = this.parentNode; /* 2 */
@@ -64,7 +64,7 @@
 	for (i = 0; i < navToggle.length; i++) {
 		/* 1 */
 
-		navToggle[i].addEventListener('click', function(event) {
+		navToggle[i].addEventListener('click', function (event) {
 			/* 2 */
 			event.preventDefault();
 			var navToggleElement = this;
diff --git a/packages/docs/src/transforms/html-min-transform.js b/packages/docs/src/transforms/html-min-transform.js
index 7d0c8f99b..5c5c71c23 100644
--- a/packages/docs/src/transforms/html-min-transform.js
+++ b/packages/docs/src/transforms/html-min-transform.js
@@ -1,14 +1,14 @@
 const htmlmin = require('html-minifier');
 
 module.exports = function htmlMinTransform(value, outputPath) {
-  if (outputPath.indexOf('.html') > -1) {
-    let minified = htmlmin.minify(value, {
-      useShortDoctype: true,
-      removeComments: true,
-      collapseWhitespace: true,
-      minifyCSS: true
-    });
-    return minified;
-  }
-  return value;
+	if (outputPath.indexOf('.html') > -1) {
+		let minified = htmlmin.minify(value, {
+			useShortDoctype: true,
+			removeComments: true,
+			collapseWhitespace: true,
+			minifyCSS: true,
+		});
+		return minified;
+	}
+	return value;
 };
diff --git a/packages/docs/src/transforms/parse-transform.js b/packages/docs/src/transforms/parse-transform.js
index 541f04cf7..3451075cd 100644
--- a/packages/docs/src/transforms/parse-transform.js
+++ b/packages/docs/src/transforms/parse-transform.js
@@ -3,77 +3,76 @@ const {JSDOM} = jsdom;
 const minify = require('../utils/minify.js');
 const slugify = require('slugify');
 
-module.exports = function(value, outputPath) {
-  if (outputPath.endsWith('.html')) {
-    const DOM = new JSDOM(value, {
-      resources: 'usable'
-    });
-
-    const document = DOM.window.document;
-    const articleImages = [...document.querySelectorAll('main article img')];
-    const articleHeadings = [
-      ...document.querySelectorAll('main article h2, main article h3')
-    ];
-    const articleEmbeds = [...document.querySelectorAll('main article iframe')];
-
-    if (articleImages.length) {
-      articleImages.forEach(image => {
-        image.setAttribute('loading', 'lazy');
-
-        // If an image has a title it means that the user added a caption
-        // so replace the image with a figure containing that image and a caption
-        if (image.hasAttribute('title')) {
-          const figure = document.createElement('figure');
-          const figCaption = document.createElement('figcaption');
-
-          figCaption.innerHTML = image.getAttribute('title');
-
-          image.removeAttribute('title');
-
-          figure.appendChild(image.cloneNode(true));
-          figure.appendChild(figCaption);
-
-          image.replaceWith(figure);
-        }
-        
-      });
-    }
-
-    if (articleHeadings.length) {
-      // Loop each heading and add a little anchor and an ID to each one
-      articleHeadings.forEach(heading => {
-        const headingSlug = slugify(heading.textContent.toLowerCase());
-        const anchor = document.createElement('a');
-
-        anchor.setAttribute('href', `#heading-${headingSlug}`);
-        anchor.classList.add('heading-permalink');
-        anchor.innerHTML = minify(`
+module.exports = function (value, outputPath) {
+	if (outputPath.endsWith('.html')) {
+		const DOM = new JSDOM(value, {
+			resources: 'usable',
+		});
+
+		const document = DOM.window.document;
+		const articleImages = [...document.querySelectorAll('main article img')];
+		const articleHeadings = [
+			...document.querySelectorAll('main article h2, main article h3'),
+		];
+		const articleEmbeds = [...document.querySelectorAll('main article iframe')];
+
+		if (articleImages.length) {
+			articleImages.forEach((image) => {
+				image.setAttribute('loading', 'lazy');
+
+				// If an image has a title it means that the user added a caption
+				// so replace the image with a figure containing that image and a caption
+				if (image.hasAttribute('title')) {
+					const figure = document.createElement('figure');
+					const figCaption = document.createElement('figcaption');
+
+					figCaption.innerHTML = image.getAttribute('title');
+
+					image.removeAttribute('title');
+
+					figure.appendChild(image.cloneNode(true));
+					figure.appendChild(figCaption);
+
+					image.replaceWith(figure);
+				}
+			});
+		}
+
+		if (articleHeadings.length) {
+			// Loop each heading and add a little anchor and an ID to each one
+			articleHeadings.forEach((heading) => {
+				const headingSlug = slugify(heading.textContent.toLowerCase());
+				const anchor = document.createElement('a');
+
+				anchor.setAttribute('href', `#heading-${headingSlug}`);
+				anchor.classList.add('heading-permalink');
+				anchor.innerHTML = minify(`
         <span class="u-is-vishidden">permalink</span>
         <svg class="heading-permalink__icon" fill="currentColor" aria-hidden="true" focusable="false" width="1em" height="1em" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
           <path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"/>
         </svg>`);
 
-        heading.setAttribute('id', `heading-${headingSlug}`);
-        heading.appendChild(anchor);
-      });
-    }
+				heading.setAttribute('id', `heading-${headingSlug}`);
+				heading.appendChild(anchor);
+			});
+		}
 
-    // Look for videos are wrap them in a container element
-    if (articleEmbeds.length) {
-      articleEmbeds.forEach(embed => {
-        if (embed.hasAttribute('allowfullscreen')) {
-          const player = document.createElement('div');
+		// Look for videos are wrap them in a container element
+		if (articleEmbeds.length) {
+			articleEmbeds.forEach((embed) => {
+				if (embed.hasAttribute('allowfullscreen')) {
+					const player = document.createElement('div');
 
-          player.classList.add('video-player');
+					player.classList.add('video-player');
 
-          player.appendChild(embed.cloneNode(true));
+					player.appendChild(embed.cloneNode(true));
 
-          embed.replaceWith(player);
-        }
-      });
-    }
+					embed.replaceWith(player);
+				}
+			});
+		}
 
-    return '<!DOCTYPE html>\r\n' + document.documentElement.outerHTML;
-  }
-  return value;
+		return '<!DOCTYPE html>\r\n' + document.documentElement.outerHTML;
+	}
+	return value;
 };
diff --git a/packages/docs/src/utils/minify.js b/packages/docs/src/utils/minify.js
index dd80e240c..19248c5d8 100644
--- a/packages/docs/src/utils/minify.js
+++ b/packages/docs/src/utils/minify.js
@@ -1,3 +1,3 @@
 module.exports = function minify(input) {
-  return input.replace(/\s{2,}/g, '').replace(/\'/g, '"');
+	return input.replace(/\s{2,}/g, '').replace(/\'/g, '"');
 };
diff --git a/packages/edition-node-gulp/gulpfile.js b/packages/edition-node-gulp/gulpfile.js
index 4ef683b09..fd039bad7 100644
--- a/packages/edition-node-gulp/gulpfile.js
+++ b/packages/edition-node-gulp/gulpfile.js
@@ -34,29 +34,29 @@ function serve() {
     });
 }
 
-gulp.task('patternlab:version', function() {
+gulp.task('patternlab:version', function () {
   console.log(patternlab.version());
 });
 
-gulp.task('patternlab:patternsonly', function() {
+gulp.task('patternlab:patternsonly', function () {
   patternlab.patternsonly(config.cleanPublic);
 });
 
-gulp.task('patternlab:liststarterkits', function() {
+gulp.task('patternlab:liststarterkits', function () {
   patternlab.liststarterkits();
 });
 
-gulp.task('patternlab:loadstarterkit', function() {
+gulp.task('patternlab:loadstarterkit', function () {
   patternlab.loadstarterkit(argv.kit, argv.clean);
 });
 
-gulp.task('patternlab:build', function() {
+gulp.task('patternlab:build', function () {
   build().then(() => {
     // do something else when this promise resolves
   });
 });
 
-gulp.task('patternlab:serve', function() {
+gulp.task('patternlab:serve', function () {
   serve().then(() => {
     // do something else when this promise resolves
   });
diff --git a/packages/edition-node-gulp/source/css/pattern-scaffolding.css b/packages/edition-node-gulp/source/css/pattern-scaffolding.css
index 2a69457ed..b09172fc8 100644
--- a/packages/edition-node-gulp/source/css/pattern-scaffolding.css
+++ b/packages/edition-node-gulp/source/css/pattern-scaffolding.css
@@ -5,7 +5,7 @@
  */
 #sg-patterns {
   -webkit-box-sizing: border-box !important;
-          box-sizing: border-box !important;
+  box-sizing: border-box !important;
   max-width: 100%;
   padding: 0 0.5em;
 }
@@ -24,15 +24,15 @@
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
-      flex-wrap: wrap;
+  flex-wrap: wrap;
   list-style: none !important;
   padding: 0 !important;
   margin: 0 !important;
 }
 .sg-colors li {
   -webkit-box-flex: 1;
-      -ms-flex: auto;
-          flex: auto;
+  -ms-flex: auto;
+  flex: auto;
   padding: 0.3em;
   margin: 0 0.5em 0.5em 0;
   min-width: 5em;
diff --git a/packages/edition-node-gulp/source/css/style.css b/packages/edition-node-gulp/source/css/style.css
index 588a45915..04f745349 100644
--- a/packages/edition-node-gulp/source/css/style.css
+++ b/packages/edition-node-gulp/source/css/style.css
@@ -1,3 +1,3 @@
 /*
  * YOUR STYLES HERE
- */
\ No newline at end of file
+ */
diff --git a/packages/edition-node/helpers/test.js b/packages/edition-node/helpers/test.js
index 8b32ed799..6ddbc2bba 100644
--- a/packages/edition-node/helpers/test.js
+++ b/packages/edition-node/helpers/test.js
@@ -1,5 +1,5 @@
-module.exports = function(Handlebars) {
-  Handlebars.registerHelper('test', function() {
+module.exports = function (Handlebars) {
+  Handlebars.registerHelper('test', function () {
     return 'This is a test helper';
   });
 };
diff --git a/packages/engine-handlebars/lib/engine_handlebars.js b/packages/engine-handlebars/lib/engine_handlebars.js
index f89788ac1..f3a3461c8 100644
--- a/packages/engine-handlebars/lib/engine_handlebars.js
+++ b/packages/engine-handlebars/lib/engine_handlebars.js
@@ -41,8 +41,8 @@ function escapeAtPartialBlock(partialString) {
 }
 
 function loadHelpers(helpers) {
-  helpers.forEach(globPattern => {
-    glob.sync(globPattern).forEach(filePath => {
+  helpers.forEach((globPattern) => {
+    glob.sync(globPattern).forEach((filePath) => {
       require(path.join(process.cwd(), filePath))(Handlebars);
     });
   });
@@ -68,7 +68,7 @@ const engine_handlebars = {
     return Promise.resolve(compiled(data));
   },
 
-  registerPartial: function(pattern) {
+  registerPartial: function (pattern) {
     // register exact partial name
     Handlebars.registerPartial(pattern.patternPartial, pattern.template);
 
@@ -80,7 +80,7 @@ const engine_handlebars = {
     const matches = pattern.template.match(findPartialsRE);
     return matches;
   },
-  findPartialsWithStyleModifiers: function() {
+  findPartialsWithStyleModifiers: function () {
     // TODO: make the call to this from oPattern objects conditional on their
     // being implemented here.
     return [];
@@ -88,24 +88,24 @@ const engine_handlebars = {
 
   // returns any patterns that match {{> value(foo:"bar") }} or {{>
   // value:mod(foo:"bar") }} within the pattern
-  findPartialsWithPatternParameters: function() {
+  findPartialsWithPatternParameters: function () {
     // TODO: make the call to this from oPattern objects conditional on their
     // being implemented here.
     return [];
   },
-  findListItems: function(pattern) {
+  findListItems: function (pattern) {
     const matches = pattern.template.match(findListItemsRE);
     return matches;
   },
 
   // given a pattern, and a partial string, tease out the "pattern key" and
   // return it.
-  findPartial: function(partialString) {
+  findPartial: function (partialString) {
     const partial = partialString.replace(findPartialsRE, '$1');
     return partial;
   },
 
-  spawnFile: function(config, fileName) {
+  spawnFile: function (config, fileName) {
     const paths = config.paths;
     const metaFilePath = path.resolve(paths.source.meta, fileName);
     try {
@@ -127,7 +127,7 @@ const engine_handlebars = {
    * @param {object} config - the global config object from core, since we won't
    * assume it's already present
    */
-  spawnMeta: function(config) {
+  spawnMeta: function (config) {
     this.spawnFile(config, '_head.hbs');
     this.spawnFile(config, '_foot.hbs');
   },
@@ -138,7 +138,7 @@ const engine_handlebars = {
    *
    * @param {object} config - the global config object from core
    */
-  usePatternLabConfig: function(config) {
+  usePatternLabConfig: function (config) {
     let helpers;
 
     try {
diff --git a/packages/engine-liquid/lib/engine_liquid.js b/packages/engine-liquid/lib/engine_liquid.js
index 6f00a0e53..b5e5dd56b 100644
--- a/packages/engine-liquid/lib/engine_liquid.js
+++ b/packages/engine-liquid/lib/engine_liquid.js
@@ -11,11 +11,11 @@
 
 const fs = require('fs-extra');
 const path = require('path');
-const isDirectory = source => fs.lstatSync(source).isDirectory();
-const getDirectories = source =>
+const isDirectory = (source) => fs.lstatSync(source).isDirectory();
+const getDirectories = (source) =>
   fs
     .readdirSync(source)
-    .map(name => path.join(source, name))
+    .map((name) => path.join(source, name))
     .filter(isDirectory);
 
 const { lstatSync, readdirSync } = require('fs');
@@ -53,10 +53,10 @@ module.exports = {
   renderPattern: function renderPattern(pattern, data, partials) {
     return engine
       .parseAndRender(pattern.template, data)
-      .then(function(html) {
+      .then(function (html) {
         return html;
       })
-      .catch(function(ex) {
+      .catch(function (ex) {
         console.log(40, ex);
       });
   },
@@ -86,7 +86,7 @@ module.exports = {
     var matches = this.patternMatcher(pattern, this.findPartialsRE);
     return matches;
   },
-  findPartialsWithStyleModifiers: function(pattern) {
+  findPartialsWithStyleModifiers: function (pattern) {
     var matches = this.patternMatcher(
       pattern,
       this.findPartialsWithStyleModifiersRE
@@ -96,28 +96,28 @@ module.exports = {
 
   // returns any patterns that match {{> value(foo:"bar") }} or {{>
   // value:mod(foo:"bar") }} within the pattern
-  findPartialsWithPatternParameters: function(pattern) {
+  findPartialsWithPatternParameters: function (pattern) {
     var matches = this.patternMatcher(
       pattern,
       this.findPartialsWithPatternParametersRE
     );
     return matches;
   },
-  findListItems: function(pattern) {
+  findListItems: function (pattern) {
     var matches = this.patternMatcher(pattern, this.findListItemsRE);
     return matches;
   },
 
   // given a pattern, and a partial string, tease out the "pattern key" and
   // return it.
-  findPartial_new: function(partialString) {
+  findPartial_new: function (partialString) {
     var partial = partialString.replace(this.findPartialRE, '$1');
     return partial;
   },
 
   // GTP: the old implementation works better. We might not need
   // this.findPartialRE anymore if it works in all cases!
-  findPartial: function(partialString) {
+  findPartial: function (partialString) {
     //strip out the template cruft
     var foundPatternPartial = partialString
       .replace('{{> ', '')
@@ -145,7 +145,7 @@ module.exports = {
    *
    * @param {object} config - the global config object from core
    */
-  usePatternLabConfig: function(config) {
+  usePatternLabConfig: function (config) {
     patternLabConfig = config;
     let patternsPath = patternLabConfig.paths.source.patterns;
 
@@ -163,7 +163,7 @@ module.exports = {
     });
   },
 
-  spawnFile: function(config, fileName) {
+  spawnFile: function (config, fileName) {
     const paths = config.paths;
     const metaFilePath = path.resolve(paths.source.meta, fileName);
 
@@ -187,7 +187,7 @@ module.exports = {
    * @param {object} config - the global config object from core, since we won't
    * assume it's already present
    */
-  spawnMeta: function(config) {
+  spawnMeta: function (config) {
     this.spawnFile(config, '_head.liquid');
     this.spawnFile(config, '_foot.liquid');
   },
diff --git a/packages/engine-mustache/lib/engine_mustache.js b/packages/engine-mustache/lib/engine_mustache.js
index fb65ec398..e39359490 100644
--- a/packages/engine-mustache/lib/engine_mustache.js
+++ b/packages/engine-mustache/lib/engine_mustache.js
@@ -81,7 +81,7 @@ const engine_mustache = {
     return matches;
   },
 
-  spawnFile: function(config, fileName) {
+  spawnFile: function (config, fileName) {
     const paths = config.paths;
     const metaFilePath = path.resolve(paths.source.meta, fileName);
     try {
@@ -103,7 +103,7 @@ const engine_mustache = {
    * @param {object} config - the global config object from core, since we won't
    * assume it's already present
    */
-  spawnMeta: function(config) {
+  spawnMeta: function (config) {
     this.spawnFile(config, '_head.mustache');
     this.spawnFile(config, '_foot.mustache');
   },
@@ -112,31 +112,31 @@ const engine_mustache = {
   findPartials: function findPartials(pattern) {
     return this.patternMatcher(pattern, this.findPartialsRE);
   },
-  findPartialsWithStyleModifiers: function(pattern) {
+  findPartialsWithStyleModifiers: function (pattern) {
     return this.patternMatcher(pattern, this.findPartialsWithStyleModifiersRE);
   },
 
   // returns any patterns that match {{> value(foo:"bar") }} or {{>
   // value:mod(foo:"bar") }} within the pattern
-  findPartialsWithPatternParameters: function(pattern) {
+  findPartialsWithPatternParameters: function (pattern) {
     return this.patternMatcher(
       pattern,
       this.findPartialsWithPatternParametersRE
     );
   },
-  findListItems: function(pattern) {
+  findListItems: function (pattern) {
     return this.patternMatcher(pattern, this.findListItemsRE);
   },
 
   // given a pattern, and a partial string, tease out the "pattern key" and
   // return it.
-  findPartial_new: function(partialString) {
+  findPartial_new: function (partialString) {
     return partialString.replace(this.findPartialRE, '$1');
   },
 
   // GTP: the old implementation works better. We might not need
   // this.findPartialRE anymore if it works in all cases!
-  findPartial: function(partialString) {
+  findPartial: function (partialString) {
     //strip out the template cruft
     let foundPatternPartial = partialString
       .replace('{{> ', '')
@@ -164,7 +164,7 @@ const engine_mustache = {
    *
    * @param {object} config - the global config object from core
    */
-  usePatternLabConfig: function(config) {
+  usePatternLabConfig: function (config) {
     patternLabConfig = config;
   },
 };
diff --git a/packages/engine-nunjucks/lib/engine_nunjucks.js b/packages/engine-nunjucks/lib/engine_nunjucks.js
index cfa6db15d..c4dffb0d8 100644
--- a/packages/engine-nunjucks/lib/engine_nunjucks.js
+++ b/packages/engine-nunjucks/lib/engine_nunjucks.js
@@ -59,7 +59,7 @@ const engine_nunjucks = {
   },
 
   // given a pattern, and a partial string, tease out the "pattern key" and return it.
-  findPartial: function(partialString) {
+  findPartial: function (partialString) {
     try {
       let partial = partialString.match(this.findPartialKeyRE)[1];
       partial = partial.replace(/["']/g, '');
@@ -72,7 +72,7 @@ const engine_nunjucks = {
   },
 
   // keep track of partials and their paths so we can replace the name with the path
-  registerPartial: function(pattern) {
+  registerPartial: function (pattern) {
     // only register each partial once. Otherwise we'll eat up a ton of memory.
     if (partialRegistry.indexOf(pattern.patternPartial) === -1) {
       partialRegistry[pattern.patternPartial] = pattern.relPath.replace(
@@ -83,22 +83,22 @@ const engine_nunjucks = {
   },
 
   // still requires the mustache syntax because of the way PL handles lists
-  findListItems: function(pattern) {
+  findListItems: function (pattern) {
     const matches = pattern.template.match(this.findListItemsRE);
     return matches;
   },
 
   // handled by nunjucks. This is here to keep PL from erroring
-  findPartialsWithStyleModifiers: function() {
+  findPartialsWithStyleModifiers: function () {
     return null;
   },
 
   // handled by nunjucks. This is here to keep PL from erroring
-  findPartialsWithPatternParameters: function() {
+  findPartialsWithPatternParameters: function () {
     return null;
   },
 
-  spawnFile: function(config, fileName) {
+  spawnFile: function (config, fileName) {
     const paths = config.paths;
     const metaFilePath = path.resolve(paths.source.meta, fileName);
     try {
@@ -120,7 +120,7 @@ const engine_nunjucks = {
    * @param {object} config - the global config object from core, since we won't
    * assume it's already present
    */
-  spawnMeta: function(config) {
+  spawnMeta: function (config) {
     this.spawnFile(config, '_head.njk');
     this.spawnFile(config, '_foot.njk');
   },
@@ -131,12 +131,12 @@ const engine_nunjucks = {
    *
    * @param {object} config - the global config object from core
    */
-  usePatternLabConfig: function(config) {
+  usePatternLabConfig: function (config) {
     // Create Pattern Loader
     // Since Pattern Lab includes are not path based we need a custom loader for Nunjucks.
     function PatternLoader() {}
 
-    PatternLoader.prototype.getSource = function(name) {
+    PatternLoader.prototype.getSource = function (name) {
       const fullPath = path.resolve(
         config.paths.source.patterns,
         partialRegistry[name]
@@ -169,7 +169,7 @@ const engine_nunjucks = {
     }
 
     if (extensions) {
-      extensions.forEach(extensionPath => {
+      extensions.forEach((extensionPath) => {
         // Load any user Defined configurations
         const nunjucksConfigPath = path.join(process.cwd(), extensionPath);
 
diff --git a/packages/engine-react/lib/engine_react.js b/packages/engine-react/lib/engine_react.js
index b0f01cdd2..3c33f1eca 100644
--- a/packages/engine-react/lib/engine_react.js
+++ b/packages/engine-react/lib/engine_react.js
@@ -64,7 +64,7 @@ function babelTransform(pattern) {
 
   // eval() module code in this little scope that injects our
   // custom wrap of require();
-  (require => {
+  ((require) => {
     /* eslint-disable no-eval */
     transpiledModule = eval(transpiledModule.code);
   })(customRequire);
@@ -110,7 +110,7 @@ var engine_react = {
       htmlOutput: staticMarkup,
     });
 
-    return Promise.resolve(renderedHTML).catch(e => {
+    return Promise.resolve(renderedHTML).catch((e) => {
       var errorMessage = `Error rendering React pattern "${
         pattern.patternName
       }" (${pattern.relPath}): [${e.toString()}]`;
@@ -161,7 +161,7 @@ var engine_react = {
     }
 
     // Remove unregistered imports from the matches
-    matches.map(m => {
+    matches.map((m) => {
       const key = self.findPartial(m);
       if (!registeredComponents.byPatternPartial[key]) {
         const i = matches.indexOf(m);
@@ -224,7 +224,7 @@ var engine_react = {
    *
    * @param {object} config - the global config object from core
    */
-  usePatternLabConfig: function(config) {
+  usePatternLabConfig: function (config) {
     patternLabConfig = config;
 
     try {
diff --git a/packages/engine-twig-php/lib/engine_twig_php.js b/packages/engine-twig-php/lib/engine_twig_php.js
index 5282e0f14..73dc9c560 100644
--- a/packages/engine-twig-php/lib/engine_twig_php.js
+++ b/packages/engine-twig-php/lib/engine_twig_php.js
@@ -37,7 +37,7 @@ const engine_twig_php = {
    *
    * @param {object} config - the global config object from core
    */
-  usePatternLabConfig: function(config) {
+  usePatternLabConfig: function (config) {
     patternLabConfig = config;
 
     if (!config.engines.twig) {
@@ -92,7 +92,7 @@ const engine_twig_php = {
 
       twigRenderer
         .render(patternPath, data)
-        .then(results => {
+        .then((results) => {
           if (results.ok) {
             resolve(results.html + details);
           } else {
@@ -108,7 +108,7 @@ const engine_twig_php = {
             }
           }
         })
-        .catch(error => {
+        .catch((error) => {
           reject(error);
         });
     });
@@ -123,7 +123,7 @@ const engine_twig_php = {
    */
   spawnMeta(config) {
     const { paths } = config;
-    ['_head.twig', '_foot.twig'].forEach(fileName => {
+    ['_head.twig', '_foot.twig'].forEach((fileName) => {
       const metaFilePath = path.resolve(paths.source.meta, fileName);
       try {
         fs.statSync(metaFilePath);
@@ -155,11 +155,11 @@ const engine_twig_php = {
   // {%
   //   include '@molecules/teaser-card/teaser-card.twig'
   // %}
-  findPartials: function(pattern) {
+  findPartials: function (pattern) {
     const matches = pattern.template.match(this.findPartialsRE);
     const filteredMatches =
       matches &&
-      matches.filter(match => {
+      matches.filter((match) => {
         // Filter out programmatically created includes.
         // i.e. {% include '@namespace/icons/assets/' ~ name ~ '.svg' %}
         return match.indexOf('~') === -1;
@@ -185,14 +185,14 @@ const engine_twig_php = {
 
   // Given a pattern, and a partial string, tease out the "pattern key" and
   // return it.
-  findPartial: function(partialString) {
+  findPartial: function (partialString) {
     try {
       let partial = partialString.match(this.findPartialKeyRE)[0];
       partial = partial.replace(/"/g, '');
       partial = partial.replace(/'/g, '');
 
       // Check if namespaces is not empty.
-      const selectedNamespace = this.namespaces.filter(namespace => {
+      const selectedNamespace = this.namespaces.filter((namespace) => {
         // Check to see if this partial contains within the namespace id.
         return partial.indexOf(`@${namespace.id}`) !== -1;
       });
diff --git a/packages/engine-underscore/_meta/_head.html b/packages/engine-underscore/_meta/_head.html
index b1f5c1ce0..56d9a2432 100644
--- a/packages/engine-underscore/_meta/_head.html
+++ b/packages/engine-underscore/_meta/_head.html
@@ -2,15 +2,22 @@
 <html class="{{ htmlClass }}">
   <head>
     <title>{{ title }}</title>
-    <meta charset="UTF-8">
+    <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width" />
 
-    <link rel="stylesheet" href="../../css/style.css?{{ cacheBuster }}" media="all" />
-    <link rel="stylesheet" href="../../css/pattern-scaffolding.css?{{ cacheBuster }}" media="all" />
+    <link
+      rel="stylesheet"
+      href="../../css/style.css?{{ cacheBuster }}"
+      media="all"
+    />
+    <link
+      rel="stylesheet"
+      href="../../css/pattern-scaffolding.css?{{ cacheBuster }}"
+      media="all"
+    />
 
     <!-- Begin Pattern Lab (Required for Pattern Lab to run properly) -->
     {{{ patternLabHead }}}
     <!-- End Pattern Lab -->
-
   </head>
   <body class="{{ bodyClass }}">
diff --git a/packages/engine-underscore/lib/engine_underscore.js b/packages/engine-underscore/lib/engine_underscore.js
index 9781645f8..a562a02a9 100644
--- a/packages/engine-underscore/lib/engine_underscore.js
+++ b/packages/engine-underscore/lib/engine_underscore.js
@@ -51,7 +51,7 @@ function addParentContext(data, currentContext) {
 }
 
 _.mixin({
-  renderNamedPartial: function(partialKey, data, currentContext) {
+  renderNamedPartial: function (partialKey, data, currentContext) {
     const compiledPartial = partialRegistry[partialKey];
     if (typeof compiledPartial !== 'function') {
       throw `Pattern ${partialKey} not found.`;
@@ -59,7 +59,7 @@ _.mixin({
 
     return _.renderPartial(compiledPartial, data, currentContext);
   },
-  renderPartial: function(compiledPartial, dataIn, currentContext) {
+  renderPartial: function (compiledPartial, dataIn, currentContext) {
     let data = dataIn || {};
 
     if (
@@ -74,7 +74,7 @@ _.mixin({
     return compiledPartial(data);
   },
   /* eslint-disable no-eval, no-unused-vars */
-  getPath: function(pathString, currentContext, debug) {
+  getPath: function (pathString, currentContext, debug) {
     try {
       const result = eval('currentContext.' + pathString);
       if (debug) {
@@ -145,7 +145,7 @@ const engine_underscore = {
     return renderedHTML;
   },
 
-  registerPartial: function(pattern) {
+  registerPartial: function (pattern) {
     let compiled;
 
     try {
@@ -166,23 +166,23 @@ const engine_underscore = {
     const matches = pattern.template.match(this.findPartialsRE);
     return matches;
   },
-  findPartialsWithStyleModifiers: function() {
+  findPartialsWithStyleModifiers: function () {
     return [];
   },
 
   // returns any patterns that match {{> value(foo:"bar") }} or {{>
   // value:mod(foo:"bar") }} within the pattern
-  findPartialsWithPatternParameters: function() {
+  findPartialsWithPatternParameters: function () {
     return [];
   },
-  findListItems: function(pattern) {
+  findListItems: function (pattern) {
     const matches = pattern.template.match(this.findListItemsRE);
     return matches;
   },
 
   // given a pattern, and a partial string, tease out the "pattern key" and
   // return it.
-  findPartial: function(partialString) {
+  findPartial: function (partialString) {
     const edgeQuotesMatcher = /^["']|["']$/g;
     const partialIDWithQuotes = partialString.replace(
       this.findPartialsRE,
@@ -193,7 +193,7 @@ const engine_underscore = {
     return partialID;
   },
 
-  spawnFile: function(config, fileName) {
+  spawnFile: function (config, fileName) {
     const paths = config.paths;
     const metaFilePath = path.resolve(paths.source.meta, fileName);
     try {
@@ -216,7 +216,7 @@ const engine_underscore = {
    * @param {object} config - the global config object from core, since we won't
    * assume it's already present
    */
-  spawnMeta: function(config) {
+  spawnMeta: function (config) {
     this.spawnFile(config, '_head.html');
     this.spawnFile(config, '_foot.html');
   },
diff --git a/packages/live-server/middleware/example.js b/packages/live-server/middleware/example.js
index e35dc139d..2f11f6fb9 100644
--- a/packages/live-server/middleware/example.js
+++ b/packages/live-server/middleware/example.js
@@ -1,4 +1,4 @@
-module.exports = function(req, res, next) {
+module.exports = function (req, res, next) {
   res.statusCode = 202;
   next();
 };
diff --git a/packages/live-server/middleware/spa-ignore-assets.js b/packages/live-server/middleware/spa-ignore-assets.js
index 42a596a8f..447eb633d 100644
--- a/packages/live-server/middleware/spa-ignore-assets.js
+++ b/packages/live-server/middleware/spa-ignore-assets.js
@@ -1,6 +1,6 @@
 // Single Page Apps - redirect to /#/ except when a file extension is given
 var path = require('path');
-module.exports = function(req, res, next) {
+module.exports = function (req, res, next) {
   if (req.method !== 'GET' && req.method !== 'HEAD') next();
   if (req.url !== '/' && path.extname(req.url) === '') {
     var route = req.url;
diff --git a/packages/live-server/middleware/spa.js b/packages/live-server/middleware/spa.js
index 7bd5ce44d..58cd1864a 100644
--- a/packages/live-server/middleware/spa.js
+++ b/packages/live-server/middleware/spa.js
@@ -1,5 +1,5 @@
 // Single Page Apps - redirect to /#/
-module.exports = function(req, res, next) {
+module.exports = function (req, res, next) {
   if (req.method !== 'GET' && req.method !== 'HEAD') next();
   if (req.url !== '/') {
     var route = req.url;
diff --git a/packages/live-server/test/acceptance.js b/packages/live-server/test/acceptance.js
index 01603ed68..1e96ee414 100644
--- a/packages/live-server/test/acceptance.js
+++ b/packages/live-server/test/acceptance.js
@@ -6,62 +6,62 @@ var liveServer = require('..').start({
   open: false,
 });
 
-describe('basic functional tests', function() {
-  it('should respond with index.html', function(done) {
+describe('basic functional tests', function () {
+  it('should respond with index.html', function (done) {
     request(liveServer)
       .get('/')
       .expect('Content-Type', 'text/html; charset=UTF-8')
       .expect(/hello world/i)
       .expect(200, done);
   });
-  it('should have injected script', function(done) {
+  it('should have injected script', function (done) {
     request(liveServer)
       .get('/')
       .expect('Content-Type', 'text/html; charset=UTF-8')
       .expect(/<script [^]+?live reload enabled[^]+?<\/script>/i)
       .expect(200, done);
   });
-  it('should inject script when tags are in CAPS', function(done) {
+  it('should inject script when tags are in CAPS', function (done) {
     request(liveServer)
       .get('/index-caps.htm')
       .expect('Content-Type', 'text/html; charset=UTF-8')
       .expect(/<script [^]+?live reload enabled[^]+?<\/script>/i)
       .expect(200, done);
   });
-  it('should inject to <head> when no <body>', function(done) {
+  it('should inject to <head> when no <body>', function (done) {
     request(liveServer)
       .get('/index-head.html')
       .expect('Content-Type', 'text/html; charset=UTF-8')
       .expect(/<script [^]+?live reload enabled[^]+?<\/script>/i)
       .expect(200, done);
   });
-  it('should inject also svg files', function(done) {
+  it('should inject also svg files', function (done) {
     request(liveServer)
       .get('/test.svg')
       .expect('Content-Type', 'image/svg+xml')
-      .expect(function(res) {
+      .expect(function (res) {
         if (res.body.toString().indexOf('Live reload enabled') == -1)
           throw new Error('injected code not found');
       })
       .expect(200, done);
   });
-  it('should not inject html fragments', function(done) {
+  it('should not inject html fragments', function (done) {
     request(liveServer)
       .get('/fragment.html')
       .expect('Content-Type', 'text/html; charset=UTF-8')
-      .expect(function(res) {
+      .expect(function (res) {
         if (res.text.toString().indexOf('Live reload enabled') > -1)
           throw new Error('injected code should not be found');
       })
       .expect(200, done);
   });
-  xit('should have WebSocket connection', function(done) {
+  xit('should have WebSocket connection', function (done) {
     done(); // todo
   });
-  xit('should reload on page change', function(done) {
+  xit('should reload on page change', function (done) {
     done(); // todo
   });
-  xit('should reload (without refreshing) on css change', function(done) {
+  xit('should reload (without refreshing) on css change', function (done) {
     done(); // todo
   });
 });
diff --git a/packages/live-server/test/cli.js b/packages/live-server/test/cli.js
index 0a1e8af40..afa375bc9 100644
--- a/packages/live-server/test/cli.js
+++ b/packages/live-server/test/cli.js
@@ -12,70 +12,67 @@ function exec_test(args, callback) {
   else exec(cmd, args, opts, callback);
 }
 
-describe('command line usage', function() {
-  it('--version', function(done) {
-    exec_test(['--version'], function(error, stdout, stdin) {
+describe('command line usage', function () {
+  it('--version', function (done) {
+    exec_test(['--version'], function (error, stdout, stdin) {
       assert(!error, error);
       assert(stdout.indexOf('live-server') == 0, 'version not found');
       done();
     });
   });
-  it('--help', function(done) {
-    exec_test(['--help'], function(error, stdout, stdin) {
+  it('--help', function (done) {
+    exec_test(['--help'], function (error, stdout, stdin) {
       assert(!error, error);
       assert(stdout.indexOf('Usage: live-server') == 0, 'usage not found');
       done();
     });
   });
-  it('--quiet', function(done) {
-    exec_test(['--quiet', '--no-browser', '--test'], function(
-      error,
-      stdout,
-      stdin
-    ) {
-      assert(!error, error);
-      assert(stdout === '', 'stdout not empty');
-      done();
-    });
+  it('--quiet', function (done) {
+    exec_test(
+      ['--quiet', '--no-browser', '--test'],
+      function (error, stdout, stdin) {
+        assert(!error, error);
+        assert(stdout === '', 'stdout not empty');
+        done();
+      }
+    );
   });
-  it('--port', function(done) {
-    exec_test(['--port=16123', '--no-browser', '--test'], function(
-      error,
-      stdout,
-      stdin
-    ) {
-      assert(!error, error);
-      assert(stdout.indexOf('Serving') == 0, 'serving string not found');
-      assert(
-        stdout.indexOf('at http://127.0.0.1:16123') != -1,
-        'port string not found'
-      );
-      done();
-    });
+  it('--port', function (done) {
+    exec_test(
+      ['--port=16123', '--no-browser', '--test'],
+      function (error, stdout, stdin) {
+        assert(!error, error);
+        assert(stdout.indexOf('Serving') == 0, 'serving string not found');
+        assert(
+          stdout.indexOf('at http://127.0.0.1:16123') != -1,
+          'port string not found'
+        );
+        done();
+      }
+    );
   });
-  it('--host', function(done) {
-    exec_test(['--host=localhost', '--no-browser', '--test'], function(
-      error,
-      stdout,
-      stdin
-    ) {
-      assert(!error, error);
-      assert(stdout.indexOf('Serving') == 0, 'serving string not found');
-      assert(
-        stdout.indexOf('at http://localhost:') != -1,
-        'host string not found'
-      );
-      done();
-    });
+  it('--host', function (done) {
+    exec_test(
+      ['--host=localhost', '--no-browser', '--test'],
+      function (error, stdout, stdin) {
+        assert(!error, error);
+        assert(stdout.indexOf('Serving') == 0, 'serving string not found');
+        assert(
+          stdout.indexOf('at http://localhost:') != -1,
+          'host string not found'
+        );
+        done();
+      }
+    );
   });
-  it('--htpasswd', function(done) {
+  it('--htpasswd', function (done) {
     exec_test(
       [
         '--htpasswd=' + path.join(__dirname, 'data/htpasswd-test'),
         '--no-browser',
         '--test',
       ],
-      function(error, stdout, stdin) {
+      function (error, stdout, stdin) {
         assert(!error, error);
         assert(stdout.indexOf('Serving') == 0, 'serving string not found');
         done();
diff --git a/packages/live-server/test/cors.js b/packages/live-server/test/cors.js
index 7112c208a..c97e7d9f3 100644
--- a/packages/live-server/test/cors.js
+++ b/packages/live-server/test/cors.js
@@ -7,8 +7,8 @@ var liveServer = require('..').start({
   cors: true,
 });
 
-describe('cors tests', function() {
-  it('should respond with appropriate header', function(done) {
+describe('cors tests', function () {
+  it('should respond with appropriate header', function (done) {
     request(liveServer)
       .get('/index.html')
       .set('Origin', 'http://example.com')
@@ -17,7 +17,7 @@ describe('cors tests', function() {
       .expect(/Hello world/i)
       .expect(200, done);
   });
-  it('should support preflighted requests', function(done) {
+  it('should support preflighted requests', function (done) {
     request(liveServer)
       .options('/index.html')
       .set('Origin', 'http://example.com')
@@ -28,7 +28,7 @@ describe('cors tests', function() {
       .expect('Access-Control-Allow-Headers', 'X-PINGOTHER')
       .expect(204, done);
   });
-  it('should support requests with credentials', function(done) {
+  it('should support requests with credentials', function (done) {
     request(liveServer)
       .options('/index.html')
       .set('Origin', 'http://example.com')
diff --git a/packages/live-server/test/data/fragment.html b/packages/live-server/test/data/fragment.html
index 5f69bf21f..f88964ac6 100644
--- a/packages/live-server/test/data/fragment.html
+++ b/packages/live-server/test/data/fragment.html
@@ -1,3 +1 @@
-<h1>
-{{this imitates some kind of template fragment}}
-</h1>
+<h1>{{this imitates some kind of template fragment}}</h1>
diff --git a/packages/live-server/test/data/index-caps.htm b/packages/live-server/test/data/index-caps.htm
index b367f2a6b..e63c81b22 100644
--- a/packages/live-server/test/data/index-caps.htm
+++ b/packages/live-server/test/data/index-caps.htm
@@ -1,13 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
-            "http://www.w3.org/TR/html4/strict.dtd">
-<HTML lang="en">
-<HEAD>
-  <META http-equiv="Content-Type" content="text/html; charset=utf-8" >
-	<TITLE>Live-server Test Page</TITLE>
-	<LINK rel="stylesheet" href="style.css" >
-</HEAD>
-<BODY>
-	<H1>Hello world.</H1>
-	<P>These tags are in capitals.</P>
-</BODY>
-</HTML>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Live-server Test Page</title>
+    <link rel="stylesheet" href="style.css" />
+  </head>
+  <body>
+    <h1>Hello world.</h1>
+    <p>These tags are in capitals.</p>
+  </body>
+</html>
diff --git a/packages/live-server/test/data/index-head.html b/packages/live-server/test/data/index-head.html
index 2e9781cbf..d45e92f86 100644
--- a/packages/live-server/test/data/index-head.html
+++ b/packages/live-server/test/data/index-head.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <html lang="en">
-<head>
-	<meta charset="UTF-8">
-	<title>Live-server Test Page</title>
-	<link rel="stylesheet" href="style.css" />
-</head>
+  <head>
+    <meta charset="UTF-8" />
+    <title>Live-server Test Page</title>
+    <link rel="stylesheet" href="style.css" />
+  </head>
 </html>
diff --git a/packages/live-server/test/data/index.html b/packages/live-server/test/data/index.html
index 5e98f718f..339a2c852 100644
--- a/packages/live-server/test/data/index.html
+++ b/packages/live-server/test/data/index.html
@@ -1,12 +1,12 @@
 <!DOCTYPE html>
 <html lang="en">
-<head>
-	<meta charset="UTF-8">
-	<title>Live-server Test Page</title>
-	<link rel="stylesheet" href="style.css" />
-</head>
-<body>
-	<h1>Hello world.</h1>
-	<p>Edit my css for a live-reload without refreshing.</p>
-</body>
+  <head>
+    <meta charset="UTF-8" />
+    <title>Live-server Test Page</title>
+    <link rel="stylesheet" href="style.css" />
+  </head>
+  <body>
+    <h1>Hello world.</h1>
+    <p>Edit my css for a live-reload without refreshing.</p>
+  </body>
 </html>
diff --git a/packages/live-server/test/data/middleware.js b/packages/live-server/test/data/middleware.js
index a6454f497..b2406093a 100644
--- a/packages/live-server/test/data/middleware.js
+++ b/packages/live-server/test/data/middleware.js
@@ -1,4 +1,4 @@
-module.exports = function(req, res, next) {
+module.exports = function (req, res, next) {
   res.statusCode = 203;
   next();
 };
diff --git a/packages/live-server/test/data/style.css b/packages/live-server/test/data/style.css
index 5ce768ca5..adc68fa6a 100644
--- a/packages/live-server/test/data/style.css
+++ b/packages/live-server/test/data/style.css
@@ -1 +1,3 @@
-h1 { color: red; }
+h1 {
+  color: red;
+}
diff --git a/packages/live-server/test/data/sub/sub.html b/packages/live-server/test/data/sub/sub.html
index 9606e62d3..3fd1334e5 100644
--- a/packages/live-server/test/data/sub/sub.html
+++ b/packages/live-server/test/data/sub/sub.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
 <html lang="en">
-<head>
-	<meta charset="UTF-8">
-	<title>Live-server Test Page</title>
-</head>
-<body>
-	<h1>Subdirectory</h1>
-</body>
+  <head>
+    <meta charset="UTF-8" />
+    <title>Live-server Test Page</title>
+  </head>
+  <body>
+    <h1>Subdirectory</h1>
+  </body>
 </html>
diff --git a/packages/live-server/test/htpasswd.js b/packages/live-server/test/htpasswd.js
index 9205ee08e..7f8aec0a1 100644
--- a/packages/live-server/test/htpasswd.js
+++ b/packages/live-server/test/htpasswd.js
@@ -7,22 +7,17 @@ var liveServer = require('..').start({
   htpasswd: path.join(__dirname, 'data', 'htpasswd-test'),
 });
 
-describe('htpasswd tests', function() {
-  it('should respond with 401 since no password is given', function(done) {
-    request(liveServer)
-      .get('/')
-      .expect(401, done);
+describe('htpasswd tests', function () {
+  it('should respond with 401 since no password is given', function (done) {
+    request(liveServer).get('/').expect(401, done);
   });
-  it('should respond with 401 since wrong password is given', function(done) {
+  it('should respond with 401 since wrong password is given', function (done) {
     request(liveServer)
       .get('/')
       .auth('test', 'not-real-password')
       .expect(401, done);
   });
-  it('should respond with 200 since correct password is given', function(done) {
-    request(liveServer)
-      .get('/')
-      .auth('test', 'test')
-      .expect(200, done);
+  it('should respond with 200 since correct password is given', function (done) {
+    request(liveServer).get('/').auth('test', 'test').expect(200, done);
   });
 });
diff --git a/packages/live-server/test/https.js b/packages/live-server/test/https.js
index a48818ede..c3a5d3a29 100644
--- a/packages/live-server/test/https.js
+++ b/packages/live-server/test/https.js
@@ -4,14 +4,14 @@ var path = require('path');
 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
 
 function tests(liveServer) {
-  it('should reply with a correct index file', function(done) {
+  it('should reply with a correct index file', function (done) {
     request(liveServer)
       .get('/index.html')
       .expect('Content-Type', 'text/html; charset=UTF-8')
       .expect(/Hello world/i)
       .expect(200, done);
   });
-  it('should support head request', function(done) {
+  it('should support head request', function (done) {
     request(liveServer)
       .head('/index.html')
       .expect('Content-Type', 'text/html; charset=UTF-8')
@@ -19,7 +19,7 @@ function tests(liveServer) {
   });
 }
 
-describe('https tests with external module', function() {
+describe('https tests with external module', function () {
   var opts = {
     root: path.join(__dirname, 'data'),
     port: 0,
@@ -28,12 +28,12 @@ describe('https tests with external module', function() {
   };
   var liveServer = require('..').start(opts);
   tests(liveServer);
-  after(function() {
+  after(function () {
     liveServer.close();
   });
 });
 
-describe('https tests with object', function() {
+describe('https tests with object', function () {
   var opts = {
     root: path.join(__dirname, 'data'),
     port: 0,
@@ -42,7 +42,7 @@ describe('https tests with object', function() {
   };
   var liveServer = require('..').start(opts);
   tests(liveServer);
-  after(function() {
+  after(function () {
     liveServer.close();
   });
 });
diff --git a/packages/live-server/test/middleware.js b/packages/live-server/test/middleware.js
index b8426cf5e..b66c5137a 100644
--- a/packages/live-server/test/middleware.js
+++ b/packages/live-server/test/middleware.js
@@ -24,20 +24,14 @@ var liveServer3 = require('..').start({
   middleware: [path.join(__dirname, 'data', 'middleware.js')],
 });
 
-describe('middleware tests', function() {
-  it("should respond with middleware function's status code", function(done) {
-    request(liveServer1)
-      .get('/')
-      .expect(201, done);
+describe('middleware tests', function () {
+  it("should respond with middleware function's status code", function (done) {
+    request(liveServer1).get('/').expect(201, done);
   });
-  it("should respond with built-in middleware's status code", function(done) {
-    request(liveServer2)
-      .get('/')
-      .expect(202, done);
+  it("should respond with built-in middleware's status code", function (done) {
+    request(liveServer2).get('/').expect(202, done);
   });
-  it("should respond with external middleware's status code", function(done) {
-    request(liveServer3)
-      .get('/')
-      .expect(203, done);
+  it("should respond with external middleware's status code", function (done) {
+    request(liveServer3).get('/').expect(203, done);
   });
 });
diff --git a/packages/live-server/test/mount.js b/packages/live-server/test/mount.js
index b991d2b2c..bf615ce25 100644
--- a/packages/live-server/test/mount.js
+++ b/packages/live-server/test/mount.js
@@ -10,15 +10,15 @@ var liveServer = require('..').start({
   ],
 });
 
-describe('mount tests', function() {
-  it('should respond with sub.html', function(done) {
+describe('mount tests', function () {
+  it('should respond with sub.html', function (done) {
     request(liveServer)
       .get('/mounted/sub.html')
       .expect('Content-Type', 'text/html; charset=UTF-8')
       .expect(/Subdirectory/i)
       .expect(200, done);
   });
-  it('should respond with style.css', function(done) {
+  it('should respond with style.css', function (done) {
     request(liveServer)
       .get('/style')
       .expect('Content-Type', 'text/css; charset=UTF-8')
diff --git a/packages/live-server/test/proxy.js b/packages/live-server/test/proxy.js
index 2325197a6..68bfd159d 100644
--- a/packages/live-server/test/proxy.js
+++ b/packages/live-server/test/proxy.js
@@ -13,8 +13,8 @@ var server2 = require('..').start({
   proxy: [['/server1', 'http://localhost:' + port]],
 });
 
-describe('proxy tests', function() {
-  it('should respond with proxied content', function(done) {
+describe('proxy tests', function () {
+  it('should respond with proxied content', function (done) {
     request(server2)
       .get('/server1/index.html')
       .expect('Content-Type', 'text/html; charset=UTF-8')
diff --git a/packages/live-server/test/spa.js b/packages/live-server/test/spa.js
index 4f9e86b95..9384f0064 100644
--- a/packages/live-server/test/spa.js
+++ b/packages/live-server/test/spa.js
@@ -13,28 +13,26 @@ var liveServerSpaIgnoreAssets = require('..').start({
   middleware: ['spa-ignore-assets'],
 });
 
-describe('spa tests', function() {
-  it('spa should redirect', function(done) {
+describe('spa tests', function () {
+  it('spa should redirect', function (done) {
     request(liveServerSpa)
       .get('/api')
       .expect('Location', /\/#\//)
       .expect(302, done);
   });
-  it('spa should redirect everything', function(done) {
+  it('spa should redirect everything', function (done) {
     request(liveServerSpa)
       .get('/style.css')
       .expect('Location', /\/#\//)
       .expect(302, done);
   });
-  it('spa-ignore-assets should redirect something', function(done) {
+  it('spa-ignore-assets should redirect something', function (done) {
     request(liveServerSpaIgnoreAssets)
       .get('/api')
       .expect('Location', /\/#\//)
       .expect(302, done);
   });
-  it('spa-ignore-assets should not redirect .css', function(done) {
-    request(liveServerSpaIgnoreAssets)
-      .get('/style.css')
-      .expect(200, done);
+  it('spa-ignore-assets should not redirect .css', function (done) {
+    request(liveServerSpaIgnoreAssets).get('/style.css').expect(200, done);
   });
 });
diff --git a/packages/plugin-tab/index.js b/packages/plugin-tab/index.js
index 71d96281f..bca04267f 100644
--- a/packages/plugin-tab/index.js
+++ b/packages/plugin-tab/index.js
@@ -15,7 +15,7 @@ const safePluginName = '@pattern-lab-plugin-tab';
 
 function writeConfigToOutput(patternlab, pluginConfig) {
   try {
-    _.each(patternlab.uikits, uikit => {
+    _.each(patternlab.uikits, (uikit) => {
       fs.outputFileSync(
         path.join(
           process.cwd(),
@@ -138,7 +138,7 @@ function pluginInit(patternlab) {
               '/*SNIPPETS*/',
               snippetString
             );
-            _.each(patternlab.uikits, uikit => {
+            _.each(patternlab.uikits, (uikit) => {
               fs.outputFileSync(
                 path.join(process.cwd(), uikit.outputDir, writePath),
                 tabJSFileContents
diff --git a/packages/plugin-tab/src/tab-loader.js b/packages/plugin-tab/src/tab-loader.js
index ff0981b45..1c9bc1946 100644
--- a/packages/plugin-tab/src/tab-loader.js
+++ b/packages/plugin-tab/src/tab-loader.js
@@ -64,7 +64,7 @@ async function findTab(patternlab, pattern) {
         }
 
         //copy the file to our output target if found
-        _.each(patternlab.uikits, uikit => {
+        _.each(patternlab.uikits, (uikit) => {
           fs.copySync(
             tabFileName,
             path.join(process.cwd(), uikit.outputDir, customFileTypeOutputPath)
@@ -72,7 +72,7 @@ async function findTab(patternlab, pattern) {
         });
       } else {
         //otherwise write nothing to the same location - this prevents GET errors on the tab.
-        _.each(patternlab.uikits, uikit => {
+        _.each(patternlab.uikits, (uikit) => {
           fs.outputFileSync(
             path.join(process.cwd(), uikit.outputDir, customFileTypeOutputPath),
             ''
diff --git a/packages/uikit-workshop/.jshintrc b/packages/uikit-workshop/.jshintrc
index 5721719dc..b6e5df199 100644
--- a/packages/uikit-workshop/.jshintrc
+++ b/packages/uikit-workshop/.jshintrc
@@ -1,4 +1,4 @@
 {
-    "loopfunc": true,
-    "sub": true
+  "loopfunc": true,
+  "sub": true
 }
diff --git a/packages/uikit-workshop/src/html/index.html b/packages/uikit-workshop/src/html/index.html
index 4e1890db8..12588a8bb 100644
--- a/packages/uikit-workshop/src/html/index.html
+++ b/packages/uikit-workshop/src/html/index.html
@@ -39,13 +39,13 @@
     ></script>
     <script>
       // https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc
-      (function() {
+      (function () {
         var check = document.createElement('script');
         if (!('noModule' in check) && 'onbeforeload' in check) {
           var support = false;
           document.addEventListener(
             'beforeload',
-            function(e) {
+            function (e) {
               if (e.target === check) {
                 support = true;
               } else if (!e.target.hasAttribute('nomodule') || !support) {
diff --git a/packages/uikit-workshop/src/scripts/components/panels-viewer.js b/packages/uikit-workshop/src/scripts/components/panels-viewer.js
index 06fbbf491..289102f5f 100644
--- a/packages/uikit-workshop/src/scripts/components/panels-viewer.js
+++ b/packages/uikit-workshop/src/scripts/components/panels-viewer.js
@@ -106,8 +106,8 @@ export const panelsViewer = {
           const e = new XMLHttpRequest();
           // @todo: look deeper into how we can refactor this particular code block
           /* eslint-disable */
-          e.onload = (function(i, panels, patternData, iframeRequest) {
-            return function() {
+          e.onload = (function (i, panels, patternData, iframeRequest) {
+            return function () {
               // since non-existant files (such as .scss from plugin-tab) still return a 200, we need to instead inspect the contents
               // we look for responseText that starts with the doctype
               let rText = this.responseText;
diff --git a/packages/uikit-workshop/src/scripts/components/styleguide.js b/packages/uikit-workshop/src/scripts/components/styleguide.js
index c59d318fe..86dcc7a7e 100644
--- a/packages/uikit-workshop/src/scripts/components/styleguide.js
+++ b/packages/uikit-workshop/src/scripts/components/styleguide.js
@@ -54,7 +54,7 @@
 //   goSmall();
 // });
 
-Mousetrap.bind('ctrl+shift+s', function(e) {
+Mousetrap.bind('ctrl+shift+s', function (e) {
   goSmall();
   return false;
 });
@@ -81,7 +81,7 @@ Mousetrap.bind('ctrl+shift+s', function(e) {
 //   goMedium();
 // });
 
-Mousetrap.bind('ctrl+shift+m', function(e) {
+Mousetrap.bind('ctrl+shift+m', function (e) {
   goMedium();
   return false;
 });
@@ -106,7 +106,7 @@ Mousetrap.bind('ctrl+shift+m', function(e) {
 //   goLarge();
 // });
 
-Mousetrap.bind('ctrl+shift+l', function(e) {
+Mousetrap.bind('ctrl+shift+l', function (e) {
   goLarge();
   return false;
 });
@@ -122,7 +122,7 @@ Mousetrap.bind('ctrl+shift+l', function(e) {
 // });
 
 //Click Random Size Button
-$('#pl-size-random').on('click', function(e) {
+$('#pl-size-random').on('click', function (e) {
   e.preventDefault();
   killDisco();
   killHay();
@@ -131,7 +131,7 @@ $('#pl-size-random').on('click', function(e) {
 });
 
 //Click for Disco Mode, which resizes the viewport randomly
-$('#pl-size-disco').on('click', function(e) {
+$('#pl-size-disco').on('click', function (e) {
   e.preventDefault();
   killHay();
   fullMode = false;
@@ -159,7 +159,7 @@ function startDisco() {
   discoID = setInterval(disco, 800);
 }
 
-Mousetrap.bind('ctrl+shift+d', function(e) {
+Mousetrap.bind('ctrl+shift+d', function (e) {
   if (!discoMode) {
     startDisco();
   } else {
@@ -169,7 +169,7 @@ Mousetrap.bind('ctrl+shift+d', function(e) {
 });
 
 //Stephen Hay Mode - "Start with the small screen first, then expand until it looks like shit. Time for a breakpoint!"
-$('#pl-size-hay').on('click', function(e) {
+$('#pl-size-hay').on('click', function (e) {
   e.preventDefault();
   killDisco();
   if (hayMode) {
@@ -219,7 +219,7 @@ function killHay() {
 // });
 
 //Pixel input
-$sizePx.on('keydown', function(e) {
+$sizePx.on('keydown', function (e) {
   let val = Math.floor($(this).val());
 
   if (e.keyCode === 38) {
@@ -238,13 +238,13 @@ $sizePx.on('keydown', function(e) {
   }
 });
 
-$sizePx.on('keyup', function() {
+$sizePx.on('keyup', function () {
   const val = Math.floor($(this).val());
   updateSizeReading(val, 'px', 'updateEmInput');
 });
 
 //Em input
-$sizeEms.on('keydown', function(e) {
+$sizeEms.on('keydown', function (e) {
   let val = parseFloat($(this).val());
 
   if (e.keyCode === 38) {
@@ -262,13 +262,13 @@ $sizeEms.on('keydown', function(e) {
   }
 });
 
-$sizeEms.on('keyup', function() {
+$sizeEms.on('keyup', function () {
   const val = parseFloat($(this).val());
   updateSizeReading(val, 'em', 'updatePxInput');
 });
 
 // set 0 to 320px as a default
-Mousetrap.bind('ctrl+shift+0', function(e) {
+Mousetrap.bind('ctrl+shift+0', function (e) {
   e.preventDefault();
   sizeiframe(320, true);
   return false;
diff --git a/packages/uikit-workshop/views-twig/README b/packages/uikit-workshop/views-twig/README
index 14208f4c9..087df3ba6 100755
--- a/packages/uikit-workshop/views-twig/README
+++ b/packages/uikit-workshop/views-twig/README
@@ -1 +1 @@
-There should be no reason to touch these files in day-to-day use.
\ No newline at end of file
+There should be no reason to touch these files in day-to-day use.
diff --git a/packages/uikit-workshop/views/README b/packages/uikit-workshop/views/README
index 14208f4c9..087df3ba6 100644
--- a/packages/uikit-workshop/views/README
+++ b/packages/uikit-workshop/views/README
@@ -1 +1 @@
-There should be no reason to touch these files in day-to-day use.
\ No newline at end of file
+There should be no reason to touch these files in day-to-day use.

From 82af1c073e0d421ebb20880f4853dc1f405a5711 Mon Sep 17 00:00:00 2001
From: Maximilian <787658+mfranzke@users.noreply.github.com>
Date: Wed, 12 May 2021 11:12:24 +0200
Subject: [PATCH 13/13] Revert "refactor: removed unused variables"

This reverts commit fd3964cf2d70070b9f533df1e0723474b7e11344.
---
 packages/core/src/index.js             | 1 +
 packages/core/src/lib/buildPatterns.js | 1 +
 2 files changed, 2 insertions(+)

diff --git a/packages/core/src/index.js b/packages/core/src/index.js
index f5a215668..371c6c149 100644
--- a/packages/core/src/index.js
+++ b/packages/core/src/index.js
@@ -21,6 +21,7 @@ const defaultConfig = require('../patternlab-config.json');
 
 let buildPatterns = require('./lib/buildPatterns'); // eslint-disable-line
 let logger = require('./lib/log'); // eslint-disable-line
+let fs = require('fs-extra'); // eslint-disable-line
 let ui_builder = require('./lib/ui_builder'); // eslint-disable-line
 let copier = require('./lib/copier'); // eslint-disable-line
 let pattern_exporter = new pe(); // eslint-disable-line
diff --git a/packages/core/src/lib/buildPatterns.js b/packages/core/src/lib/buildPatterns.js
index f77e7af72..476a373c6 100644
--- a/packages/core/src/lib/buildPatterns.js
+++ b/packages/core/src/lib/buildPatterns.js
@@ -21,6 +21,7 @@ const parseAllLinks = require('./parseAllLinks');
 const render = require('./render');
 const Pattern = require('./object_factory').Pattern;
 
+let fs = require('fs-extra'); // eslint-disable-line
 let pattern_exporter = new pe(); // eslint-disable-line
 
 const lineage_hunter = new lh();
