From 7ca6a0ed64060f1fdff9d8c805dc82de47fcb830 Mon Sep 17 00:00:00 2001 From: Sergey Astapov Date: Tue, 25 Jan 2022 08:39:06 -0500 Subject: [PATCH] Update linting dependencies and fix lint errors --- packages/ember-cli-fastboot/.eslintrc.js | 18 +- .../ember-cli-fastboot/.template-lintrc.js | 2 +- .../clear-double-boot.js | 16 +- .../addon/locations/none.js | 20 +- .../addon/services/fastboot.js | 56 +- .../blueprints/ember-cli-fastboot/index.js | 26 +- .../initializers/dom-helper-patches.js | 14 +- .../fastboot/initializers/ajax.js | 22 +- .../fastboot/initializers/error-handler.js | 12 +- packages/ember-cli-fastboot/index.js | 67 +- .../lib/broccoli/fastboot-config.js | 84 +- .../build-utilities/migrate-initializers.js | 31 +- .../lib/utilities/fastboot-app-boot.js | 23 +- .../utilities/fastboot-app-factory-module.js | 24 +- packages/ember-cli-fastboot/package.json | 19 +- .../customized-outputpaths/ember-cli-build.js | 14 +- .../fixtures/fastboot-config/app/router.js | 15 +- .../fastboot-config/app/routes/application.js | 6 +- .../fastboot-config/config/fastboot.js | 8 +- .../fastboot-config/ember-cli-build.js | 2 +- .../fastboot-location-config/app/router.js | 12 +- .../app/routes/redirect-on-transition-to.js | 6 +- .../app/routes/test-passed.js | 4 +- .../config/environment.js | 4 +- .../fixtures/fastboot-location/app/router.js | 14 +- .../app/routes/noop-replace-with.js | 6 +- .../app/routes/noop-transition-to.js | 6 +- .../redirect-on-intermediate-transition-to.js | 6 +- .../app/routes/redirect-on-replace-with.js | 6 +- .../app/routes/redirect-on-transition-to.js | 6 +- .../app/routes/test-passed.js | 4 +- .../fastboot-location/config/environment.js | 6 +- .../request/app/controllers/list-cookies.js | 5 +- .../request/app/controllers/list-headers.js | 5 +- .../app/controllers/list-query-params.js | 5 +- .../request/app/controllers/show-body.js | 5 +- .../request/app/controllers/show-host.js | 5 +- .../request/app/controllers/show-method.js | 5 +- .../request/app/controllers/show-path.js | 5 +- .../request/app/controllers/show-protocol.js | 5 +- .../app/instance-initializers/list-cookies.js | 11 +- .../app/instance-initializers/list-headers.js | 11 +- .../list-query-params.js | 11 +- .../app/instance-initializers/show-body.js | 7 +- .../app/instance-initializers/show-host.js | 7 +- .../app/instance-initializers/show-method.js | 11 +- .../app/instance-initializers/show-path.js | 7 +- .../instance-initializers/show-protocol.js | 11 +- .../test/fixtures/request/app/router.js | 13 +- .../request/app/routes/list-cookies.js | 11 +- .../request/app/routes/list-headers.js | 11 +- .../request/app/routes/list-query-params.js | 11 +- .../fixtures/request/app/routes/show-body.js | 11 +- .../fixtures/request/app/routes/show-host.js | 11 +- .../request/app/routes/show-method.js | 11 +- .../fixtures/request/app/routes/show-path.js | 11 +- .../request/app/routes/show-protocol.js | 11 +- .../request/lib/post-middleware/index.js | 11 +- .../request/lib/post-middleware/package.json | 7 +- .../fixtures/root-url/config/environment.js | 4 +- .../test/new-package-json-test.js | 8 +- .../ember-cli-fastboot/tests/.eslintrc.js | 4 +- .../tests/acceptance/shoebox-retrieve-test.js | 13 +- .../tests/dummy/app/routes/application.js | 23 +- .../tests/helpers/module-for-acceptance.js | 7 +- .../tests/helpers/resolver.js | 2 +- .../clear-double-boot-test.js | 56 +- .../tests/unit/locations/none-test.js | 10 +- .../tests/unit/services/fastboot-test.js | 12 +- .../unit/services/fastboot/shoebox-test.js | 50 +- packages/fastboot-app-server/package.json | 6 +- .../fastboot-express-middleware/package.json | 16 +- .../fastboot-express-middleware/src/index.js | 6 +- .../test/helpers/fixture-path.js | 2 +- .../test/helpers/test-http-server.js | 2 +- .../test/middleware-test.js | 48 +- packages/fastboot/dev/memory-usage.js | 2 +- packages/fastboot/package.json | 18 +- packages/fastboot/src/ember-app.js | 8 +- packages/fastboot/src/fastboot-request.js | 2 +- packages/fastboot/src/fastboot-schema.js | 6 +- packages/fastboot/src/index.js | 2 +- packages/fastboot/src/result.js | 18 +- packages/fastboot/src/sandbox.js | 4 +- .../src/scripts/install-source-map-support.js | 2 +- .../test/fastboot-dependencies-test.js | 8 +- .../fastboot/test/fastboot-headers-test.js | 30 +- packages/fastboot/test/fastboot-info-test.js | 16 +- .../fastboot/test/fastboot-request-test.js | 28 +- .../fastboot/test/fastboot-response-test.js | 18 +- .../fastboot/test/fastboot-shoebox-test.js | 20 +- packages/fastboot/test/fastboot-test.js | 126 +-- .../fastboot/test/get-package-name-test.js | 4 +- .../fastboot/test/html-entrypoint-test.js | 24 +- packages/fastboot/test/queue-test.js | 20 +- packages/fastboot/test/result-test.js | 94 +-- yarn.lock | 722 ++++++++++-------- 97 files changed, 1261 insertions(+), 974 deletions(-) diff --git a/packages/ember-cli-fastboot/.eslintrc.js b/packages/ember-cli-fastboot/.eslintrc.js index e3534bf0a..508ad24bd 100644 --- a/packages/ember-cli-fastboot/.eslintrc.js +++ b/packages/ember-cli-fastboot/.eslintrc.js @@ -17,13 +17,13 @@ module.exports = { 'plugin:prettier/recommended', ], env: { - browser: true + browser: true, }, rules: { + 'ember/no-classic-classes': 'warn', 'ember/no-get': 'warn', - 'ember/require-computed-property-dependencies': 'warn' + 'ember/require-computed-property-dependencies': 'warn', }, - rules: {}, overrides: [ // node files { @@ -37,7 +37,11 @@ module.exports = { 'blueprints/*/index.js', 'config/**/*.js', 'tests/dummy/config/**/*.js', - 'lib/**/*.js' + 'lib/**/*.js', + 'test/*.js', + 'test/**/ember-cli-build.js', + 'test/**/config/**/*.js', + 'test/**/lib/**/*.js', ], excludedFiles: [ 'app/**', @@ -56,5 +60,11 @@ module.exports = { plugins: ['node'], extends: ['plugin:node/recommended'], }, + { + // mocha test files + files: ['test/*-test.{js,ts}'], + plugins: ['mocha'], + extends: ['plugin:mocha/recommended'], + }, ], }; diff --git a/packages/ember-cli-fastboot/.template-lintrc.js b/packages/ember-cli-fastboot/.template-lintrc.js index 3b0b9af95..f35f61c7b 100644 --- a/packages/ember-cli-fastboot/.template-lintrc.js +++ b/packages/ember-cli-fastboot/.template-lintrc.js @@ -1,5 +1,5 @@ 'use strict'; module.exports = { - extends: 'octane', + extends: 'recommended', }; diff --git a/packages/ember-cli-fastboot/addon/instance-initializers/clear-double-boot.js b/packages/ember-cli-fastboot/addon/instance-initializers/clear-double-boot.js index fd851cc9d..fd082ea76 100644 --- a/packages/ember-cli-fastboot/addon/instance-initializers/clear-double-boot.js +++ b/packages/ember-cli-fastboot/addon/instance-initializers/clear-double-boot.js @@ -13,7 +13,7 @@ export function clearHtml() { if (current && endMarker) { let shoeboxNodes = document.querySelectorAll('[type="fastboot/shoebox"]'); let shoeboxNodesArray = []; // Note that IE11 doesn't support more concise options like Array.from, so we have to do something like this - for(let i=0; i < shoeboxNodes.length; i++){ + for (let i = 0; i < shoeboxNodes.length; i++) { shoeboxNodesArray.push(shoeboxNodes[i]); } let parent = current.parentElement; @@ -22,21 +22,25 @@ export function clearHtml() { nextNode = current.nextSibling; parent.removeChild(current); current = nextNode; - } while (nextNode && nextNode !== endMarker && shoeboxNodesArray.indexOf(nextNode) < 0); + } while ( + nextNode && + nextNode !== endMarker && + shoeboxNodesArray.indexOf(nextNode) < 0 + ); endMarker.parentElement.removeChild(endMarker); } } export default { - name: "clear-double-boot", + name: 'clear-double-boot', initialize(instance) { if (typeof FastBoot === 'undefined') { var originalDidCreateRootView = instance.didCreateRootView; - instance.didCreateRootView = function() { + instance.didCreateRootView = function () { clearHtml(); originalDidCreateRootView.apply(instance, arguments); }; } - } -} + }, +}; diff --git a/packages/ember-cli-fastboot/addon/locations/none.js b/packages/ember-cli-fastboot/addon/locations/none.js index 2224a5409..52f4cd2aa 100644 --- a/packages/ember-cli-fastboot/addon/locations/none.js +++ b/packages/ember-cli-fastboot/addon/locations/none.js @@ -1,8 +1,8 @@ import { computed, get } from '@ember/object'; import { bool, readOnly } from '@ember/object/computed'; import { inject as service } from '@ember/service'; -import { getOwner } from '@ember/application' -import NoneLocation from '@ember/routing/none-location' +import { getOwner } from '@ember/application'; +import NoneLocation from '@ember/routing/none-location'; const TEMPORARY_REDIRECT_CODE = 307; @@ -16,8 +16,10 @@ export default NoneLocation.extend({ _fastbootHeadersEnabled: bool('_config.fastboot.fastbootHeaders'), - _redirectCode: computed(function () { - return get(this, '_config.fastboot.redirectCode') || TEMPORARY_REDIRECT_CODE; + _redirectCode: computed('_config.fastboot.redirectCode', function () { + return ( + get(this, '_config.fastboot.redirectCode') || TEMPORARY_REDIRECT_CODE + ); }), _response: readOnly('fastboot.response'), @@ -25,8 +27,8 @@ export default NoneLocation.extend({ setURL(path) { if (get(this, 'fastboot.isFastBoot')) { - let response = get(this, '_response'); - let currentPath = get(this, 'path'); + let response = this._response; + let currentPath = this.path; let isInitialPath = !currentPath || currentPath.length === 0; if (!isInitialPath) { @@ -37,17 +39,17 @@ export default NoneLocation.extend({ let host = get(this, '_request.host'); let redirectURL = `//${host}${path}`; - response.statusCode = this.get('_redirectCode'); + response.statusCode = this._redirectCode; response.headers.set('location', redirectURL); } } // for testing and debugging - if (get(this, '_fastbootHeadersEnabled')) { + if (this._fastbootHeadersEnabled) { response.headers.set('x-fastboot-path', path); } } this._super(...arguments); - } + }, }); diff --git a/packages/ember-cli-fastboot/addon/services/fastboot.js b/packages/ember-cli-fastboot/addon/services/fastboot.js index 9d3e004fd..96152d511 100644 --- a/packages/ember-cli-fastboot/addon/services/fastboot.js +++ b/packages/ember-cli-fastboot/addon/services/fastboot.js @@ -1,4 +1,5 @@ /* global FastBoot */ +import { set } from '@ember/object'; import { getOwner } from '@ember/application'; import { computed, get } from '@ember/object'; import { readOnly } from '@ember/object/computed'; @@ -20,23 +21,28 @@ const RequestObject = EObject.extend({ this.queryParams = request.queryParams; this.path = request.path; this.protocol = request.protocol; - this._host = function() { + this._host = function () { return request.host(); }; }, - host: computed(function() { + host: computed(function () { return this._host(); - }) + }), }); const Shoebox = EObject.extend({ put(key, value) { - assert('shoebox.put is only invoked from the FastBoot rendered application', this.get('fastboot.isFastBoot')); + assert( + 'shoebox.put is only invoked from the FastBoot rendered application', + this.get('fastboot.isFastBoot') + ); assert('the provided key is a string', typeof key === 'string'); let fastbootInfo = this.get('fastboot._fastbootInfo'); - if (!fastbootInfo.shoebox) { fastbootInfo.shoebox = {}; } + if (!fastbootInfo.shoebox) { + fastbootInfo.shoebox = {}; + } fastbootInfo.shoebox[key] = value; }, @@ -44,34 +50,43 @@ const Shoebox = EObject.extend({ retrieve(key) { if (this.get('fastboot.isFastBoot')) { let shoebox = this.get('fastboot._fastbootInfo.shoebox'); - if (!shoebox) { return; } + if (!shoebox) { + return; + } return shoebox[key]; } let shoeboxItem = this.get(key); - if (shoeboxItem) { return shoeboxItem; } + if (shoeboxItem) { + return shoeboxItem; + } let el = document.querySelector(`#shoebox-${key}`); - if (!el) { return; } + if (!el) { + return; + } let valueString = el.textContent; - if (!valueString) { return; } + if (!valueString) { + return; + } shoeboxItem = JSON.parse(valueString); this.set(key, shoeboxItem); return shoeboxItem; - } + }, }); const FastBootService = Service.extend({ isFastBoot: typeof FastBoot !== 'undefined', - isFastboot: computed(function() { + isFastboot: computed(function () { assert( 'The fastboot service does not have an `isFastboot` property. This is likely a typo. Please use `isFastBoot` instead.', false ); + return; }), init() { @@ -84,13 +99,15 @@ const FastBootService = Service.extend({ response: readOnly('_fastbootInfo.response'), metadata: readOnly('_fastbootInfo.metadata'), - request: computed(function() { + request: computed('_fastbootInfo.request', 'isFastBoot', function () { if (!this.isFastBoot) return null; - return RequestObject.create({ request: get(this, '_fastbootInfo.request') }); + return RequestObject.create({ + request: get(this, '_fastbootInfo.request'), + }); }), // this getter/setter pair is to avoid deprecation from [RFC - 680](https://github.com/emberjs/rfcs/pull/680) - _fastbootInfo: computed({ + _fastbootInfo: computed('__fastbootInfo', { get() { if (this.__fastbootInfo) { return this.__fastbootInfo; @@ -99,15 +116,18 @@ const FastBootService = Service.extend({ return getOwner(this).lookup('info:-fastboot'); }, set(_key, value) { - this.__fastbootInfo = value; + set(this, '__fastbootInfo', value); return value; - } + }, }), deferRendering(promise) { - assert('deferRendering requires a promise or thennable object', typeof promise.then === 'function'); + assert( + 'deferRendering requires a promise or thennable object', + typeof promise.then === 'function' + ); this._fastbootInfo.deferRendering(promise); - } + }, }); export default FastBootService; diff --git a/packages/ember-cli-fastboot/blueprints/ember-cli-fastboot/index.js b/packages/ember-cli-fastboot/blueprints/ember-cli-fastboot/index.js index db6f60f89..d5cd5baf8 100644 --- a/packages/ember-cli-fastboot/blueprints/ember-cli-fastboot/index.js +++ b/packages/ember-cli-fastboot/blueprints/ember-cli-fastboot/index.js @@ -9,22 +9,27 @@ module.exports = { }, afterInstall() { - let targetsFile = './config/targets.js' + let targetsFile = './config/targets.js'; - if(this.project.isEmberCLIAddon()) { + if (this.project.isEmberCLIAddon()) { targetsFile = './tests/dummy/config/targets.js'; } const targetsAst = recast.parse(readFileSync(targetsFile)); recast.visit(targetsAst, { - visitAssignmentExpression (path) { + visitAssignmentExpression(path) { let node = path.node; - if (node.left.object.name === 'module' && node.left.property.name === 'exports') { - let nodeProperty = node.right.properties.find(property => property.key.name === 'node'); + if ( + node.left.object.name === 'module' && + node.left.property.name === 'exports' + ) { + let nodeProperty = node.right.properties.find( + (property) => property.key.name === 'node' + ); - if(!nodeProperty) { + if (!nodeProperty) { let builders = recast.types.builders; nodeProperty = builders.property( 'init', @@ -36,9 +41,12 @@ module.exports = { } this.traverse(path); - } + }, }); - writeFileSync(targetsFile, recast.print(targetsAst, { tabWidth: 2, quote: 'single' }).code); - } + writeFileSync( + targetsFile, + recast.print(targetsAst, { tabWidth: 2, quote: 'single' }).code + ); + }, }; diff --git a/packages/ember-cli-fastboot/fastboot-app-lt-2-9/initializers/dom-helper-patches.js b/packages/ember-cli-fastboot/fastboot-app-lt-2-9/initializers/dom-helper-patches.js index 04b7a8ab5..a59814735 100644 --- a/packages/ember-cli-fastboot/fastboot-app-lt-2-9/initializers/dom-helper-patches.js +++ b/packages/ember-cli-fastboot/fastboot-app-lt-2-9/initializers/dom-helper-patches.js @@ -1,17 +1,17 @@ -/*globals Ember, URL*/ +/* globals Ember */ export default { - name: "dom-helper-patches", + name: 'dom-helper-patches', - initialize: function(App) { + initialize: function () { // TODO: remove me - Ember.HTMLBars.DOMHelper.prototype.protocolForURL = function(url) { + Ember.HTMLBars.DOMHelper.prototype.protocolForURL = function (url) { var protocol = URL.parse(url).protocol; - return (protocol == null) ? ':' : protocol; + return protocol == null ? ':' : protocol; }; // TODO: remove me https://github.com/tildeio/htmlbars/pull/425 - Ember.HTMLBars.DOMHelper.prototype.parseHTML = function(html) { + Ember.HTMLBars.DOMHelper.prototype.parseHTML = function (html) { return this.document.createRawHTMLSection(html); }; - } + }, }; diff --git a/packages/ember-cli-fastboot/fastboot/initializers/ajax.js b/packages/ember-cli-fastboot/fastboot/initializers/ajax.js index eeef2b9ee..bcf2784a5 100644 --- a/packages/ember-cli-fastboot/fastboot/initializers/ajax.js +++ b/packages/ember-cli-fastboot/fastboot/initializers/ajax.js @@ -1,9 +1,7 @@ /* globals najax */ -import Ember from 'ember'; +import { get } from '@ember/object'; -const { get } = Ember; - -var nodeAjax = function(options) { +var nodeAjax = function (options) { let httpRegex = /^https?:\/\//; let protocolRelativeRegex = /^\/\//; let protocol = get(this, 'fastboot.request.protocol'); @@ -12,25 +10,31 @@ var nodeAjax = function(options) { options.url = protocol + options.url; } else if (!httpRegex.test(options.url)) { try { - options.url = protocol + '//' + get(this, 'fastboot.request.host') + options.url; + options.url = + protocol + '//' + get(this, 'fastboot.request.host') + options.url; } catch (fbError) { - throw new Error('You are using Ember Data with no host defined in your adapter. This will attempt to use the host of the FastBoot request, which is not configured for the current host of this request. Please set the hostWhitelist property for in your environment.js. FastBoot Error: ' + fbError.message); + throw new Error( + 'You are using Ember Data with no host defined in your adapter. This will attempt to use the host of the FastBoot request, which is not configured for the current host of this request. Please set the hostWhitelist property for in your environment.js. FastBoot Error: ' + + fbError.message + ); } } if (najax) { najax(options); } else { - throw new Error('najax does not seem to be defined in your app. Did you override it via `addOrOverrideSandboxGlobals` in the fastboot server?'); + throw new Error( + 'najax does not seem to be defined in your app. Did you override it via `addOrOverrideSandboxGlobals` in the fastboot server?' + ); } }; export default { name: 'ajax-service', - initialize: function(application) { + initialize: function (application) { application.register('ajax:node', nodeAjax, { instantiate: false }); application.inject('adapter', '_ajaxRequest', 'ajax:node'); application.inject('adapter', 'fastboot', 'service:fastboot'); - } + }, }; diff --git a/packages/ember-cli-fastboot/fastboot/initializers/error-handler.js b/packages/ember-cli-fastboot/fastboot/initializers/error-handler.js index 2155a572f..dd13c9467 100644 --- a/packages/ember-cli-fastboot/fastboot/initializers/error-handler.js +++ b/packages/ember-cli-fastboot/fastboot/initializers/error-handler.js @@ -8,13 +8,15 @@ import Ember from 'ember'; export default { name: 'error-handler', - initialize: function() { + initialize: function () { if (!Ember.onerror) { // if no onerror handler is defined, define one for fastboot environments - Ember.onerror = function(err) { - const errorMessage = `There was an error running your app in fastboot. More info about the error: \n ${err.stack || err}`; + Ember.onerror = function (err) { + const errorMessage = `There was an error running your app in fastboot. More info about the error: \n ${ + err.stack || err + }`; console.error(errorMessage); - } + }; } - } + }, }; diff --git a/packages/ember-cli-fastboot/index.js b/packages/ember-cli-fastboot/index.js index 41c20d52b..575089240 100644 --- a/packages/ember-cli-fastboot/index.js +++ b/packages/ember-cli-fastboot/index.js @@ -60,7 +60,9 @@ module.exports = { * See: https://ember-cli.com/user-guide/#integration */ included(app) { - let assetRev = this.project.addons.find(addon => addon.name === 'broccoli-asset-rev'); + let assetRev = this.project.addons.find( + (addon) => addon.name === 'broccoli-asset-rev' + ); if (assetRev && !assetRev.supportsFastboot) { throw new SilentError( 'This version of ember-cli-fastboot requires a newer version of broccoli-asset-rev' @@ -109,7 +111,10 @@ module.exports = { } if (type === 'app-boot') { - return fastbootAppBoot(config.modulePrefix, JSON.stringify(config.APP || {})); + return fastbootAppBoot( + config.modulePrefix, + JSON.stringify(config.APP || {}) + ); } // if the fastboot addon is installed, we overwrite the config-module so that the config can be read @@ -134,15 +139,19 @@ module.exports = { // check the ember version and conditionally patch the DOM api if (this._getEmberVersion().lt('2.10.0-alpha.1')) { - fastbootHtmlBarsTree = this.treeGenerator(path.resolve(__dirname, 'fastboot-app-lt-2-9')); - return tree ? new MergeTrees([tree, fastbootHtmlBarsTree]) : fastbootHtmlBarsTree; + fastbootHtmlBarsTree = this.treeGenerator( + path.resolve(__dirname, 'fastboot-app-lt-2-9') + ); + return tree + ? new MergeTrees([tree, fastbootHtmlBarsTree]) + : fastbootHtmlBarsTree; } return tree; }, _processAddons(addons, fastbootTrees) { - addons.forEach(addon => { + addons.forEach((addon) => { this._processAddon(addon, fastbootTrees); }); }, @@ -182,7 +191,10 @@ module.exports = { // check the parent containing the fastboot directory const projectFastbootPath = path.join(this.project.root, 'fastboot'); // ignore the project's fastboot folder if we are an addon, as that is already handled above - if (!this.project.isEmberCLIAddon() && this.existsSync(projectFastbootPath)) { + if ( + !this.project.isEmberCLIAddon() && + this.existsSync(projectFastbootPath) + ) { let fastbootTree = this.treeGenerator(projectFastbootPath); fastbootTrees.push(fastbootTree); } @@ -195,17 +207,28 @@ module.exports = { let funneledFastbootTrees = new Funnel(mergedFastBootTree, { destDir: appName, }); - const processExtraTree = p.preprocessJs(funneledFastbootTrees, '/', this._name, { - registry: this._appRegistry, - }); + const processExtraTree = p.preprocessJs( + funneledFastbootTrees, + '/', + this._name, + { + registry: this._appRegistry, + } + ); // FastBoot app factory module const writeFile = require('broccoli-file-creator'); - let appFactoryModuleTree = writeFile('app-factory.js', fastbootAppFactoryModule(appName)); - - let newProcessExtraTree = new MergeTrees([processExtraTree, appFactoryModuleTree], { - overwrite: true, - }); + let appFactoryModuleTree = writeFile( + 'app-factory.js', + fastbootAppFactoryModule(appName) + ); + + let newProcessExtraTree = new MergeTrees( + [processExtraTree, appFactoryModuleTree], + { + overwrite: true, + } + ); function stripLeadingSlash(filePath) { return filePath.replace(/^\//, ''); @@ -264,7 +287,7 @@ module.exports = { if (config instanceof Object) { let copy = {}; for (let attr in config) { - if (config.hasOwnProperty(attr)) { + if (Object.prototype.hasOwnProperty.call(config, attr)) { copy[attr] = this._cloneConfigObject(config[attr]); } } @@ -315,9 +338,12 @@ module.exports = { // that version contains API to hook fastboot into ember-cli app.use((req, resp, next) => { - const fastbootQueryParam = - req.query.hasOwnProperty('fastboot') && req.query.fastboot === 'false' ? false : true; - const enableFastBootServe = !process.env.FASTBOOT_DISABLED && fastbootQueryParam; + const fastbootQueryParam = !( + Object.prototype.hasOwnProperty.call(req.query, 'fastboot') && + req.query.fastboot === 'false' + ); + const enableFastBootServe = + !process.env.FASTBOOT_DISABLED && fastbootQueryParam; if (req.serveUrl && enableFastBootServe) { // if it is a base page request, then have fastboot serve the base page @@ -384,7 +410,10 @@ module.exports = { * TODO Allow add-ons to provide own options and merge them with the application's options. */ _fastbootOptionsFor(environment, project) { - const configPath = path.join(path.dirname(project.configPath()), 'fastboot.js'); + const configPath = path.join( + path.dirname(project.configPath()), + 'fastboot.js' + ); if (fs.existsSync(configPath)) { return require(configPath)(environment); diff --git a/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js b/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js index d66c80a29..a7a7e4669 100644 --- a/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js +++ b/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js @@ -1,15 +1,16 @@ /* eslint-env node */ 'use strict'; -const fs = require('fs'); -const fmt = require('util').format; -const uniq = require('ember-cli-lodash-subset').uniq; -const merge = require('ember-cli-lodash-subset').merge; +const fs = require('fs'); +const fmt = require('util').format; +const uniq = require('ember-cli-lodash-subset').uniq; +const merge = require('ember-cli-lodash-subset').merge; const md5Hex = require('md5-hex'); -const path = require('path'); +const path = require('path'); const Plugin = require('broccoli-plugin'); const stringify = require('json-stable-stringify'); +const SilentError = require('silent-error'); const LATEST_SCHEMA_VERSION = 3; @@ -17,7 +18,7 @@ module.exports = class FastBootConfig extends Plugin { constructor(inputNode, options) { super([inputNode], { annotation: 'Generate: FastBoot package.json', - persistentOutput: true + persistentOutput: true, }); this.project = options.project; @@ -37,10 +38,8 @@ module.exports = class FastBootConfig extends Plugin { } else { this.htmlFile = 'index.html'; } - } - /** * The main hook called by Broccoli Plugin. Used to build or * rebuild the tree. In this case, we generate the configuration @@ -88,16 +87,23 @@ module.exports = class FastBootConfig extends Plugin { let moduleWhitelist = []; let ui = this.ui; - eachAddonPackage(this.project, pkg => { + eachAddonPackage(this.project, (pkg) => { let deps = getFastBootDependencies(pkg); if (deps) { - deps.forEach(dep => { + deps.forEach((dep) => { let version = getDependencyVersion(pkg, dep); if (dep in dependencies) { version = dependencies[dep]; - ui.writeLine(fmt("Duplicate FastBoot dependency %s. Versions may mismatch. Using range %s.", dep, version), ui.WARNING); + ui.writeLine( + fmt( + 'Duplicate FastBoot dependency %s. Versions may mismatch. Using range %s.', + dep, + version + ), + ui.WARNING + ); return; } @@ -114,7 +120,7 @@ module.exports = class FastBootConfig extends Plugin { let projectDeps = pkg.fastbootDependencies; if (projectDeps) { - projectDeps.forEach(dep => { + projectDeps.forEach((dep) => { moduleWhitelist.push(dep); let version = pkg.dependencies && pkg.dependencies[dep]; @@ -129,12 +135,14 @@ module.exports = class FastBootConfig extends Plugin { } updateFastBootManifest(manifest) { - this.project.addons.forEach(addon =>{ + this.project.addons.forEach((addon) => { if (addon.updateFastBootManifest) { manifest = addon.updateFastBootManifest(manifest); if (!manifest) { - throw new Error(`${addon.name} did not return the updated manifest from updateFastBootManifest hook.`); + throw new Error( + `${addon.name} did not return the updated manifest from updateFastBootManifest hook.` + ); } } }); @@ -154,7 +162,7 @@ module.exports = class FastBootConfig extends Plugin { let manifest = { appFiles: [appFilePath, appFastbootFilePath], vendorFiles: [vendorFilePath], - htmlFile: this.htmlFile + htmlFile: this.htmlFile, }; this.manifest = this.updateFastBootManifest(manifest); @@ -167,17 +175,21 @@ module.exports = class FastBootConfig extends Plugin { } toJSONString() { - return stringify({ - dependencies: this.dependencies, - fastboot: { - moduleWhitelist: this.moduleWhitelist, - schemaVersion: LATEST_SCHEMA_VERSION, - manifest: this.manifest, - hostWhitelist: this.normalizeHostWhitelist(), - config: this.fastbootConfig, - appName: this.appName, - } - }, null, 2); + return stringify( + { + dependencies: this.dependencies, + fastboot: { + moduleWhitelist: this.moduleWhitelist, + schemaVersion: LATEST_SCHEMA_VERSION, + manifest: this.manifest, + hostWhitelist: this.normalizeHostWhitelist(), + config: this.fastbootConfig, + appName: this.appName, + }, + }, + null, + 2 + ); } normalizeHostWhitelist() { @@ -185,7 +197,7 @@ module.exports = class FastBootConfig extends Plugin { return; } - return this.hostWhitelist.map(function(entry) { + return this.hostWhitelist.map(function (entry) { // Is a regex if (entry.source) { return '/' + entry.source + '/'; @@ -194,10 +206,10 @@ module.exports = class FastBootConfig extends Plugin { } }); } -} +}; function eachAddonPackage(project, cb) { - project.addons.map(addon => cb(addon.pkg)); + project.addons.map((addon) => cb(addon.pkg)); } function getFastBootDependencies(pkg) { @@ -207,7 +219,11 @@ function getFastBootDependencies(pkg) { } if (addon.fastBootDependencies) { - throw new SilentError('ember-addon.fastBootDependencies has been replaced with ember-addon.fastbootDependencies [addon: ' + pkg.name + ']') + throw new SilentError( + 'ember-addon.fastBootDependencies has been replaced with ember-addon.fastbootDependencies [addon: ' + + pkg.name + + ']' + ); } return addon.fastbootDependencies; @@ -215,7 +231,13 @@ function getFastBootDependencies(pkg) { function getDependencyVersion(pkg, dep) { if (!pkg.dependencies) { - throw new Error(fmt("Could not find FastBoot dependency '%s' in %s/package.json dependencies.", dep, pkg.name)); + throw new Error( + fmt( + "Could not find FastBoot dependency '%s' in %s/package.json dependencies.", + dep, + pkg.name + ) + ); } return pkg.dependencies[dep]; diff --git a/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js b/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js index aea9950a0..84465418b 100644 --- a/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js +++ b/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js @@ -16,11 +16,18 @@ const fastbootInitializerTypes = ['initializers', 'instance-initializers']; * @returns {Boolean} true if path exists */ function _checkInitializerTypeExists(rootPath, type) { - const isTypeExists = fastbootInitializerTypes.some((fastbootInitializerType) => { - const pathType = path.join(rootPath, 'app', fastbootInitializerType, type); + const isTypeExists = fastbootInitializerTypes.some( + (fastbootInitializerType) => { + const pathType = path.join( + rootPath, + 'app', + fastbootInitializerType, + type + ); - return existsSync(pathType); - }); + return existsSync(pathType); + } + ); return isTypeExists; } @@ -31,11 +38,15 @@ function _checkInitializerTypeExists(rootPath, type) { * @param {String} rootPath */ function _checkBrowserInitializers(rootPath) { - const isBrowserInitializersPresent = _checkInitializerTypeExists(rootPath, 'browser'); + const isBrowserInitializersPresent = _checkInitializerTypeExists( + rootPath, + 'browser' + ); if (isBrowserInitializersPresent) { - const errorMsg = `FastBoot build no longer supports ${rootPath}/app/(instance-)?initializers/browser structure. ` + - `Please refer to http://ember-fastboot.com/docs/addon-author-guide#browser-only-or-node-only-initializers for a migration path.`; + const errorMsg = + `FastBoot build no longer supports ${rootPath}/app/(instance-)?initializers/browser structure. ` + + `Please refer to http://ember-fastboot.com/docs/addon-author-guide#browser-only-or-node-only-initializers for a migration path.`; throw new SilentError(errorMsg); } } @@ -49,7 +60,9 @@ function _checkFastBootInitializers(project, rootPath) { // check to see if it is a fastboot complaint addon const isFastbootAddon = _checkInitializerTypeExists(rootPath, 'fastboot'); if (isFastbootAddon) { - throw new SilentError(`Having fastboot specific code in app directory of ${rootPath} is deprecated. Please move it to fastboot/app directory.`); + throw new SilentError( + `Having fastboot specific code in app directory of ${rootPath} is deprecated. Please move it to fastboot/app directory.` + ); } } @@ -59,7 +72,7 @@ function _checkFastBootInitializers(project, rootPath) { * @param {Object} project */ function _migrateAddonInitializers(project) { - project.addons.forEach(addon => { + project.addons.forEach((addon) => { const currentAddonPath = addon.root; _checkBrowserInitializers(currentAddonPath); diff --git a/packages/ember-cli-fastboot/lib/utilities/fastboot-app-boot.js b/packages/ember-cli-fastboot/lib/utilities/fastboot-app-boot.js index 0ade73931..fe62773c5 100644 --- a/packages/ember-cli-fastboot/lib/utilities/fastboot-app-boot.js +++ b/packages/ember-cli-fastboot/lib/utilities/fastboot-app-boot.js @@ -1,16 +1,21 @@ -'use strict' +'use strict'; // Added as app boot code to app.js that allows booting of the application // in browser. This code is injected during app-boot type of contentFor hook for ember-cli. module.exports = function fastbootAppBoot(prefix, configAppAsString) { - var appSuffix = "app"; + var appSuffix = 'app'; return [ - "", + '', "if (typeof FastBoot === 'undefined') {", - " if (!runningTests) {", - " require('{{MODULE_PREFIX}}/" + appSuffix + "')['default'].create({{CONFIG_APP}});", - " }", - "}", - "" - ].join("\n").replace(/\{\{MODULE_PREFIX\}\}/g, prefix).replace(/\{\{CONFIG_APP\}\}/g, configAppAsString); + ' if (!runningTests) {', + " require('{{MODULE_PREFIX}}/" + + appSuffix + + "')['default'].create({{CONFIG_APP}});", + ' }', + '}', + '', + ] + .join('\n') + .replace(/\{\{MODULE_PREFIX\}\}/g, prefix) + .replace(/\{\{CONFIG_APP\}\}/g, configAppAsString); }; diff --git a/packages/ember-cli-fastboot/lib/utilities/fastboot-app-factory-module.js b/packages/ember-cli-fastboot/lib/utilities/fastboot-app-factory-module.js index 534664e1a..96a418e6a 100644 --- a/packages/ember-cli-fastboot/lib/utilities/fastboot-app-factory-module.js +++ b/packages/ember-cli-fastboot/lib/utilities/fastboot-app-factory-module.js @@ -8,18 +8,22 @@ // likely to collide with user code, since it is not possible to // define a module with a name like this in the file system. module.exports = function fastBootAppFactoryModule(prefix) { - var appSuffix = "app"; + var appSuffix = 'app'; return [ - "define('~fastboot/app-factory', ['{{MODULE_PREFIX}}/" + appSuffix + "', '{{MODULE_PREFIX}}/config/environment'], function(App, config) {", + "define('~fastboot/app-factory', ['{{MODULE_PREFIX}}/" + + appSuffix + + "', '{{MODULE_PREFIX}}/config/environment'], function(App, config) {", " App = App['default'];", " config = config['default'];", - "", - " return {", + '', + ' return {', " 'default': function() {", - " return App.create(config.APP);", - " }", - " };", - "});", - "" - ].join("\n").replace(/\{\{MODULE_PREFIX\}\}/g, prefix); + ' return App.create(config.APP);', + ' }', + ' };', + '});', + '', + ] + .join('\n') + .replace(/\{\{MODULE_PREFIX\}\}/g, prefix); }; diff --git a/packages/ember-cli-fastboot/package.json b/packages/ember-cli-fastboot/package.json index 852e06b4c..05d4106cf 100644 --- a/packages/ember-cli-fastboot/package.json +++ b/packages/ember-cli-fastboot/package.json @@ -60,9 +60,9 @@ "broccoli-asset-rev": "^3.0.0", "broccoli-test-helper": "^1.5.0", "co": "4.6.0", - "chai": "^4.1.2", + "chai": "^4.3.5", "chai-fs": "^2.0.0", - "chai-string": "^1.4.0", + "chai-string": "^1.5.0", "ember-auto-import": "^2.2.1", "ember-cli": "~4.1.0", "ember-cli-addon-tests": "^0.11.1", @@ -80,18 +80,19 @@ "ember-sinon": "^2.2.0", "ember-source": "~3.26.1", "ember-source-channel-url": "^3.0.0", - "ember-template-lint": "^3.2.0", + "ember-template-lint": "^4.0.0", "ember-try": "^1.4.0", - "eslint": "^7.23.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-ember": "^10.3.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-mocha": "^10.0.3", + "eslint-plugin-ember": "^10.5.8", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.3.1", + "eslint-plugin-prettier": "^4.0.0", "glob": "^7.1.3", "loader.js": "^4.7.0", - "mocha": "^9.1.2", + "mocha": "^9.2.0", "npm-run-all": "^4.1.5", - "prettier": "^2.2.1", + "prettier": "^2.5.1", "qunit": "^2.14.1", "qunit-dom": "^1.6.0", "release-it": "^12.0.1", diff --git a/packages/ember-cli-fastboot/test/fixtures/customized-outputpaths/ember-cli-build.js b/packages/ember-cli-fastboot/test/fixtures/customized-outputpaths/ember-cli-build.js index 0a2f4862e..a0140ea4c 100644 --- a/packages/ember-cli-fastboot/test/fixtures/customized-outputpaths/ember-cli-build.js +++ b/packages/ember-cli-fastboot/test/fixtures/customized-outputpaths/ember-cli-build.js @@ -1,21 +1,19 @@ -/*jshint node:true*/ -/* global require, module */ var EmberApp = require('ember-cli/lib/broccoli/ember-app'); -module.exports = function(defaults) { +module.exports = function (defaults) { var app = new EmberApp(defaults, { outputPaths: { app: { html: 'index.html', css: { - 'app': '/some-assets/path/app.css', + app: '/some-assets/path/app.css', }, - js: '/some-assets/path/app-file.js' + js: '/some-assets/path/app-file.js', }, vendor: { - js: '/some-assets/path/lib.js' - } - } + js: '/some-assets/path/lib.js', + }, + }, }); return app.toTree(); diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/router.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/router.js index cdc257875..818c8d496 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/router.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/router.js @@ -1,12 +1,9 @@ -import Ember from 'ember'; +import EmberRouter from '@ember/routing/router'; import config from './config/environment'; -const Router = Ember.Router.extend({ - location: config.locationType, - rootURL: config.rootURL -}); +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} -Router.map(function() { -}); - -export default Router; +Router.map(function () {}); diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/routes/application.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/routes/application.js index 9f8225d41..861df5179 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/routes/application.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/app/routes/application.js @@ -1,9 +1,9 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { model() { if (typeof FastBoot !== 'undefined') { return window.myGlobal; } } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/config/fastboot.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/config/fastboot.js index f6a69ddf8..038936752 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/config/fastboot.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/config/fastboot.js @@ -1,7 +1,7 @@ -module.exports = function(environment) { +module.exports = function (/*environment*/) { return { sandboxGlobals: { - myGlobal: 'My Global' - } + myGlobal: 'My Global', + }, }; -} +}; diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/ember-cli-build.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/ember-cli-build.js index 40017db6e..f71705f8e 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-config/ember-cli-build.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-config/ember-cli-build.js @@ -1,4 +1,4 @@ -module.exports = function(defaults) { +module.exports = function (defaults) { var EmberApp = require('ember-cli/lib/broccoli/ember-app'); var app = new EmberApp(defaults, {}); diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/router.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/router.js index 698ababbd..155c6df38 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/router.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/router.js @@ -1,10 +1,12 @@ -import Ember from 'ember'; +import EmberRouter from '@ember/routing/router'; +import config from './config/environment'; -let Router = Ember.Router; +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} -Router.map(function() { +Router.map(function () { this.route('redirect-on-transition-to'); this.route('test-passed'); }); - -export default Router; diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/redirect-on-transition-to.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/redirect-on-transition-to.js index 15c642eea..976f1f345 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/redirect-on-transition-to.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/redirect-on-transition-to.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { beforeModel() { this.transitionTo('test-passed'); } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/test-passed.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/test-passed.js index 096e3c59c..7d62f8945 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/test-passed.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/app/routes/test-passed.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({}); +export default class extends Route {} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/config/environment.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/config/environment.js index d77083df7..137ed473d 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/config/environment.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location-config/config/environment.js @@ -1,6 +1,6 @@ 'use strict'; -module.exports = function(environment) { +module.exports = function (environment) { var ENV = { rootURL: '/', locationType: 'auto', @@ -10,7 +10,7 @@ module.exports = function(environment) { fastbootHeaders: false, hostWhitelist: [/localhost:\d+/], redirectCode: 302, - } + }, }; return ENV; diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/router.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/router.js index 08f4dd322..4aa57e3e4 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/router.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/router.js @@ -1,12 +1,12 @@ -import Ember from 'ember'; +import EmberRouter from '@ember/routing/router'; import config from './config/environment'; -const Router = Ember.Router.extend({ - location: config.locationType, - rootURL: config.rootURL -}); +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} -Router.map(function() { +Router.map(function () { this.route('noop-transition-to'); this.route('noop-replace-with'); this.route('redirect-on-intermediate-transition-to'); @@ -14,5 +14,3 @@ Router.map(function() { this.route('redirect-on-replace-with'); this.route('test-passed'); }); - -export default Router; diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-replace-with.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-replace-with.js index 143b18b37..aabcad1b4 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-replace-with.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-replace-with.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { beforeModel() { this.replaceWith('noop-replace-with'); } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-transition-to.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-transition-to.js index 7b5df46f5..3ffc9d401 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-transition-to.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/noop-transition-to.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { beforeModel() { this.replaceWith('noop-transition-to'); } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-intermediate-transition-to.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-intermediate-transition-to.js index db9bafca1..ac695bf99 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-intermediate-transition-to.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-intermediate-transition-to.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { beforeModel() { this.intermediateTransitionTo('test-passed'); } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-replace-with.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-replace-with.js index 88c8340ab..cf3d6834b 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-replace-with.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-replace-with.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { beforeModel() { this.replaceWith('test-passed'); } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-transition-to.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-transition-to.js index 15c642eea..976f1f345 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-transition-to.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/redirect-on-transition-to.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({ +export default class extends Route { beforeModel() { this.transitionTo('test-passed'); } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/test-passed.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/test-passed.js index 096e3c59c..7d62f8945 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/test-passed.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/app/routes/test-passed.js @@ -1,3 +1,3 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; -export default Ember.Route.extend({}); +export default class extends Route {} diff --git a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/config/environment.js b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/config/environment.js index cf7bc0667..996f46ff5 100644 --- a/packages/ember-cli-fastboot/test/fixtures/fastboot-location/config/environment.js +++ b/packages/ember-cli-fastboot/test/fixtures/fastboot-location/config/environment.js @@ -1,6 +1,6 @@ 'use strict'; -module.exports = function(environment) { +module.exports = function (environment) { var ENV = { rootURL: '/my-root/', locationType: 'auto', @@ -8,8 +8,8 @@ module.exports = function(environment) { modulePrefix: 'fastboot-location', fastboot: { fastbootHeaders: true, - hostWhitelist: [/localhost:\d+/] - } + hostWhitelist: [/localhost:\d+/], + }, }; return ENV; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-cookies.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-cookies.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-cookies.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-cookies.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-headers.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-headers.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-headers.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-headers.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-query-params.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-query-params.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-query-params.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/list-query-params.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-body.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-body.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-body.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-body.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-host.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-host.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-host.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-host.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-method.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-method.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-method.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-method.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-path.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-path.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-path.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-path.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-protocol.js b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-protocol.js index 033c675d4..3592f706a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-protocol.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/controllers/show-protocol.js @@ -1,4 +1,3 @@ -import Ember from "ember"; +import Controller from '@ember/controller'; -export default Ember.Controller.extend({ -}); +export default class extends Controller {} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-cookies.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-cookies.js index e6b8404a9..76d810145 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-cookies.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-cookies.js @@ -1,9 +1,14 @@ export default { name: 'test-cookies', initialize(applicationInstance) { - let listCookiesController = applicationInstance.lookup('controller:list-cookies'); + let listCookiesController = applicationInstance.lookup( + 'controller:list-cookies' + ); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - listCookiesController.set('instanceInitializerCookie', fastbootInfo.request.cookies.city); - } + listCookiesController.set( + 'instanceInitializerCookie', + fastbootInfo.request.cookies.city + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-headers.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-headers.js index 06d5fa418..f4e79c499 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-headers.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-headers.js @@ -1,9 +1,14 @@ export default { name: 'test-headers', initialize(applicationInstance) { - let listCookiesController = applicationInstance.lookup('controller:list-headers'); + let listCookiesController = applicationInstance.lookup( + 'controller:list-headers' + ); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - listCookiesController.set('instanceInitializerHeader', fastbootInfo.request.headers.get('x-fastboot-info')); - } + listCookiesController.set( + 'instanceInitializerHeader', + fastbootInfo.request.headers.get('x-fastboot-info') + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-query-params.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-query-params.js index 6820c1cfc..444fe70b2 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-query-params.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/list-query-params.js @@ -1,9 +1,14 @@ export default { name: 'test-query-params', initialize(applicationInstance) { - let listCookiesController = applicationInstance.lookup('controller:list-query-params'); + let listCookiesController = applicationInstance.lookup( + 'controller:list-query-params' + ); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - listCookiesController.set('instanceInitializerQueryParams', fastbootInfo.request.queryParams.foo); - } + listCookiesController.set( + 'instanceInitializerQueryParams', + fastbootInfo.request.queryParams.foo + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-body.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-body.js index f9cfd7a2e..135f54136 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-body.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-body.js @@ -4,6 +4,9 @@ export default { let showBodyController = applicationInstance.lookup('controller:show-body'); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - showBodyController.set('instanceInitializerBody', fastbootInfo.request.body); - } + showBodyController.set( + 'instanceInitializerBody', + fastbootInfo.request.body + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-host.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-host.js index a1781387c..3af57d770 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-host.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-host.js @@ -4,6 +4,9 @@ export default { let showHostController = applicationInstance.lookup('controller:show-host'); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - showHostController.set('instanceInitializerHost', fastbootInfo.request.host()); - } + showHostController.set( + 'instanceInitializerHost', + fastbootInfo.request.host() + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-method.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-method.js index addc1205a..e3866468d 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-method.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-method.js @@ -1,9 +1,14 @@ export default { name: 'test-method', initialize(applicationInstance) { - let showMethodController = applicationInstance.lookup('controller:show-method'); + let showMethodController = applicationInstance.lookup( + 'controller:show-method' + ); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - showMethodController.set('instanceInitializerMethod', fastbootInfo.request.method); - } + showMethodController.set( + 'instanceInitializerMethod', + fastbootInfo.request.method + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-path.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-path.js index cde137e00..73e48d15e 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-path.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-path.js @@ -4,6 +4,9 @@ export default { let showPathController = applicationInstance.lookup('controller:show-path'); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - showPathController.set('instanceInitializerPath', fastbootInfo.request.path); - } + showPathController.set( + 'instanceInitializerPath', + fastbootInfo.request.path + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-protocol.js b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-protocol.js index 40f93a2f9..c0630671e 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-protocol.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/instance-initializers/show-protocol.js @@ -1,9 +1,14 @@ export default { name: 'test-protocol', initialize(applicationInstance) { - let showProtocolController = applicationInstance.lookup('controller:show-protocol'); + let showProtocolController = applicationInstance.lookup( + 'controller:show-protocol' + ); let fastbootInfo = applicationInstance.lookup('info:-fastboot'); - showProtocolController.set('instanceInitializerProtocol', fastbootInfo.request.protocol); - } + showProtocolController.set( + 'instanceInitializerProtocol', + fastbootInfo.request.protocol + ); + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/router.js b/packages/ember-cli-fastboot/test/fixtures/request/app/router.js index fe4d234e2..9e282381a 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/router.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/router.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import EmberRouter from '@ember/routing/router'; import config from './config/environment'; -var Router = Ember.Router.extend({ - location: config.locationType -}); +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} -Router.map(function() { +Router.map(function () { this.route('list-cookies'); this.route('list-headers'); this.route('list-query-params'); @@ -15,5 +16,3 @@ Router.map(function() { this.route('show-path'); this.route('show-protocol'); }); - -export default Router; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-cookies.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-cookies.js index 2e035be63..3cd5f8828 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-cookies.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-cookies.js @@ -1,11 +1,12 @@ -import Ember from "ember"; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - cookies: this.get('fastboot.request.cookies') + cookies: this.fastboot.request.cookies, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-headers.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-headers.js index 5efe95dcc..8de795ba2 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-headers.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-headers.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - desiredHeader: this.get('fastboot.request.headers').get('X-Fastboot-Info') + desiredHeader: this.fastboot.request.headers.get('X-Fastboot-Info'), }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-query-params.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-query-params.js index 4a1b4c339..f63d5ed27 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-query-params.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/list-query-params.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - queryParams: this.get('fastboot.request.queryParams') + queryParams: this.fastboot.request.queryParams, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-body.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-body.js index 57164ef03..7412b43ec 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-body.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-body.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - body: this.get('fastboot.request.body') + body: this.fastboot.request.body, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-host.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-host.js index 988bacd9b..c758a3d73 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-host.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-host.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - host: this.get('fastboot.request.host') + host: this.fastboot.request.host, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-method.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-method.js index 33e59afd4..ac3a7e506 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-method.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-method.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - method: this.get('fastboot.request.method') + method: this.fastboot.request.method, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-path.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-path.js index 00e70a304..a80e53d56 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-path.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-path.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - path: this.get('fastboot.request.path') + path: this.fastboot.request.path, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-protocol.js b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-protocol.js index a2fd6a23d..a507c3ca7 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-protocol.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/app/routes/show-protocol.js @@ -1,11 +1,12 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default Ember.Route.extend({ - fastboot: Ember.inject.service(), +export default class extends Route { + @service fastboot; model() { return { - protocol: this.get('fastboot.request.protocol') + protocol: this.fastboot.request.protocol, }; } -}); +} diff --git a/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/index.js b/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/index.js index a6466b981..0e07c2e03 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/index.js +++ b/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/index.js @@ -5,23 +5,22 @@ var FastBoot = require('fastboot'); module.exports = { name: 'post-middleware', - serverMiddleware: function(options) { + serverMiddleware: function (options) { var app = options.app; app.use(bodyParser.text()); - app.use(function(req, resp, next) { + app.use(function (req, resp, next) { var broccoliHeader = req.headers['x-broccoli']; var outputPath = broccoliHeader['outputPath']; if (req.method === 'POST') { - if (!this.fastboot) { this.fastboot = new FastBoot({ - distPath: outputPath + distPath: outputPath, }); } var fastbootMiddleware = FastBootExpressMiddleware({ - fastboot: this.fastboot + fastboot: this.fastboot, }); fastbootMiddleware(req, resp, next); @@ -29,5 +28,5 @@ module.exports = { next(); } }); - } + }, }; diff --git a/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/package.json b/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/package.json index 8f2ccbf0d..a40e06b09 100644 --- a/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/package.json +++ b/packages/ember-cli-fastboot/test/fixtures/request/lib/post-middleware/package.json @@ -7,5 +7,10 @@ }, "keywords": [ "ember-addon" - ] + ], + "peerDependencies": { + "body-parser": "*", + "fastboot": "*", + "fastboot-express-middleware": "*" + } } diff --git a/packages/ember-cli-fastboot/test/fixtures/root-url/config/environment.js b/packages/ember-cli-fastboot/test/fixtures/root-url/config/environment.js index e7fe1a56d..18b00f8f0 100644 --- a/packages/ember-cli-fastboot/test/fixtures/root-url/config/environment.js +++ b/packages/ember-cli-fastboot/test/fixtures/root-url/config/environment.js @@ -1,11 +1,11 @@ 'use strict'; -module.exports = function(environment) { +module.exports = function (environment) { var ENV = { rootURL: '/my-root/', environment: environment, modulePrefix: 'root-url', - locationType: 'auto' + locationType: 'auto', }; return ENV; diff --git a/packages/ember-cli-fastboot/test/new-package-json-test.js b/packages/ember-cli-fastboot/test/new-package-json-test.js index b93f79d0d..c36b14a54 100644 --- a/packages/ember-cli-fastboot/test/new-package-json-test.js +++ b/packages/ember-cli-fastboot/test/new-package-json-test.js @@ -7,13 +7,13 @@ const createBuilder = helpers.createBuilder; const createTempDir = helpers.createTempDir; const FastbootConfig = require('../lib/broccoli/fastboot-config'); -describe('FastbootConfig', function() { +describe('FastbootConfig', function () { let input; let output; let subject; let project; - beforeEach(async function() { + beforeEach(async function () { input = await createTempDir(); project = { addons: [], @@ -32,12 +32,12 @@ describe('FastbootConfig', function() { output = createBuilder(subject); }); - afterEach(async function() { + afterEach(async function () { await input.dispose(); await output.dispose(); }); - it('it builds only when information changes', async function() { + it('it builds only when information changes', async function () { input.write({ 'index.js': `export { A } from "./lib/a";`, lib: { diff --git a/packages/ember-cli-fastboot/tests/.eslintrc.js b/packages/ember-cli-fastboot/tests/.eslintrc.js index fbf255520..b6e89a7e2 100644 --- a/packages/ember-cli-fastboot/tests/.eslintrc.js +++ b/packages/ember-cli-fastboot/tests/.eslintrc.js @@ -1,5 +1,5 @@ module.exports = { env: { - embertest: true - } + embertest: true, + }, }; diff --git a/packages/ember-cli-fastboot/tests/acceptance/shoebox-retrieve-test.js b/packages/ember-cli-fastboot/tests/acceptance/shoebox-retrieve-test.js index bcc6d6a2a..30a66393b 100644 --- a/packages/ember-cli-fastboot/tests/acceptance/shoebox-retrieve-test.js +++ b/packages/ember-cli-fastboot/tests/acceptance/shoebox-retrieve-test.js @@ -2,13 +2,20 @@ import { module, test } from 'qunit'; import { visit, currentURL } from '@ember/test-helpers'; import { setupApplicationTest } from 'ember-qunit'; -module('browser acceptance test | shoebox retrieve', function(hooks) { +module('browser acceptance test | shoebox retrieve', function (hooks) { setupApplicationTest(hooks); - test('it can retrieve items from the shoebox', async function(assert) { + test('it can retrieve items from the shoebox', async function (assert) { await visit('/'); assert.equal(currentURL(), '/'); - assert.equal(this.element.querySelector('.shoebox').textContent.replace(/\s+/g, ' ').trim(), 'bar zap', 'the data was retreived from the shoebox'); + assert.equal( + this.element + .querySelector('.shoebox') + .textContent.replace(/\s+/g, ' ') + .trim(), + 'bar zap', + 'the data was retreived from the shoebox' + ); }); }); diff --git a/packages/ember-cli-fastboot/tests/dummy/app/routes/application.js b/packages/ember-cli-fastboot/tests/dummy/app/routes/application.js index 7314f6815..4181a11c1 100644 --- a/packages/ember-cli-fastboot/tests/dummy/app/routes/application.js +++ b/packages/ember-cli-fastboot/tests/dummy/app/routes/application.js @@ -1,19 +1,22 @@ import Route from '@ember/routing/route'; -import { inject } from '@ember/service'; -import { readOnly } from '@ember/object/computed'; +import { inject as service } from '@ember/service'; -export default Route.extend({ - fastboot: inject(), - shoebox: readOnly('fastboot.shoebox'), +export default class extends Route { + @service fastboot; + + get shoebox() { + return this.fastboot.shoebox; + } model() { - let fastboot = this.get('fastboot'); - let shoebox = this.get('shoebox'); - if (!fastboot.get('isFastBoot')) { + let fastboot = this.fastboot; + let shoebox = this.shoebox; + + if (!fastboot.isFastBoot) { return { key1: shoebox.retrieve('key1'), - key2: shoebox.retrieve('key2') + key2: shoebox.retrieve('key2'), }; } } -}); +} diff --git a/packages/ember-cli-fastboot/tests/helpers/module-for-acceptance.js b/packages/ember-cli-fastboot/tests/helpers/module-for-acceptance.js index 90a93bac2..68cbbdeb8 100644 --- a/packages/ember-cli-fastboot/tests/helpers/module-for-acceptance.js +++ b/packages/ember-cli-fastboot/tests/helpers/module-for-acceptance.js @@ -3,7 +3,7 @@ import { resolve } from 'rsvp'; import startApp from '../helpers/start-app'; import destroyApp from '../helpers/destroy-app'; -export default function(name, options = {}) { +export default function (name, options = {}) { module(name, { beforeEach() { this.application = startApp(); @@ -14,8 +14,9 @@ export default function(name, options = {}) { }, afterEach() { - let afterEach = options.afterEach && options.afterEach.apply(this, arguments); + let afterEach = + options.afterEach && options.afterEach.apply(this, arguments); return resolve(afterEach).then(() => destroyApp(this.application)); - } + }, }); } diff --git a/packages/ember-cli-fastboot/tests/helpers/resolver.js b/packages/ember-cli-fastboot/tests/helpers/resolver.js index b208d38d0..319b45fc1 100644 --- a/packages/ember-cli-fastboot/tests/helpers/resolver.js +++ b/packages/ember-cli-fastboot/tests/helpers/resolver.js @@ -5,7 +5,7 @@ const resolver = Resolver.create(); resolver.namespace = { modulePrefix: config.modulePrefix, - podModulePrefix: config.podModulePrefix + podModulePrefix: config.podModulePrefix, }; export default resolver; diff --git a/packages/ember-cli-fastboot/tests/integration/instance-initializers/clear-double-boot-test.js b/packages/ember-cli-fastboot/tests/integration/instance-initializers/clear-double-boot-test.js index 611dba545..dccae4d41 100644 --- a/packages/ember-cli-fastboot/tests/integration/instance-initializers/clear-double-boot-test.js +++ b/packages/ember-cli-fastboot/tests/integration/instance-initializers/clear-double-boot-test.js @@ -4,23 +4,34 @@ import { render } from '@ember/test-helpers'; import hbs from 'htmlbars-inline-precompile'; import { clearHtml } from 'ember-cli-fastboot/instance-initializers/clear-double-boot'; -module('Instance-initializer: clear-double-boot', function(hooks) { +module('Instance-initializer: clear-double-boot', function (hooks) { setupRenderingTest(hooks); - test('It removes the fastboot markers and anything between them', async function(assert) { + test('It removes the fastboot markers and anything between them', async function (assert) { await render(hbs`
`); clearHtml(); - assert.notOk(this.element.querySelector('#fastboot-body-start'), 'There is no start marker'); - assert.notOk(this.element.querySelector('#fastboot-body-end'), 'There is no end marker'); - assert.notOk(this.element.querySelector('#content-in-between'), 'The content is between is gone'); + assert.notOk( + this.element.querySelector('#fastboot-body-start'), + 'There is no start marker' + ); + assert.notOk( + this.element.querySelector('#fastboot-body-end'), + 'There is no end marker' + ); + assert.notOk( + this.element.querySelector('#content-in-between'), + 'The content is between is gone' + ); }); - test('It can handle bad markup', async function(assert) { - this.set('BAD_HTML', ` + test('It can handle bad markup', async function (assert) { + this.set( + 'BAD_HTML', + `
@@ -28,25 +39,38 @@ module('Instance-initializer: clear-double-boot', function(hooks) {
- `); + ` + ); // render the whole tree dynamically to more closely mimc bad markup cases await render(hbs`{{{this.BAD_HTML}}}`); clearHtml(); - assert.notOk(this.element.querySelector('#fastboot-body-start'), 'There is no start marker'); - assert.notOk(this.element.querySelector('#fastboot-body-end'), 'There is no end marker'); - assert.notOk(this.element.querySelector('#content-in-between'), 'The content is between is gone'); - }) + assert.notOk( + this.element.querySelector('#fastboot-body-start'), + 'There is no start marker' + ); + assert.notOk( + this.element.querySelector('#fastboot-body-end'), + 'There is no end marker' + ); + assert.notOk( + this.element.querySelector('#content-in-between'), + 'The content is between is gone' + ); + }); - test('It can handle missing fastboot-body-end', async function(assert) { - this.set('BAD_HTML', ``); + test('It can handle missing fastboot-body-end', async function (assert) { + this.set( + 'BAD_HTML', + `` + ); // render the whole tree dynamically to more closely mimc bad markup cases await render(hbs`{{{this.BAD_HTML}}}`); clearHtml(); - assert.strictEqual(this.element.innerHTML, this.get('BAD_HTML')); - }) + assert.strictEqual(this.element.innerHTML, this.BAD_HTML); + }); }); diff --git a/packages/ember-cli-fastboot/tests/unit/locations/none-test.js b/packages/ember-cli-fastboot/tests/unit/locations/none-test.js index 56ef397ab..4a04255f6 100644 --- a/packages/ember-cli-fastboot/tests/unit/locations/none-test.js +++ b/packages/ember-cli-fastboot/tests/unit/locations/none-test.js @@ -1,12 +1,16 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -module('Unit | Location | none in the browser', function(hooks) { +module('Unit | Location | none in the browser', function (hooks) { setupTest(hooks); test('setURL ', function (assert) { let location = this.owner.lookup('location:none'); location.setURL('foo'); - assert.equal(location.get('path'), 'foo', 'it should execute and not call fastboot code'); + assert.equal( + location.get('path'), + 'foo', + 'it should execute and not call fastboot code' + ); }); -}); \ No newline at end of file +}); diff --git a/packages/ember-cli-fastboot/tests/unit/services/fastboot-test.js b/packages/ember-cli-fastboot/tests/unit/services/fastboot-test.js index 5dc2426e6..5211f3f02 100644 --- a/packages/ember-cli-fastboot/tests/unit/services/fastboot-test.js +++ b/packages/ember-cli-fastboot/tests/unit/services/fastboot-test.js @@ -1,32 +1,32 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -module('Unit | Service | fastboot in the browser', function(hooks) { +module('Unit | Service | fastboot in the browser', function (hooks) { setupTest(hooks); - test('isFastBoot', function(assert) { + test('isFastBoot', function (assert) { let service = this.owner.lookup('service:fastboot'); assert.equal(service.isFastBoot, false, `it should be false`); assert.equal(service.get('isFastBoot'), false, `it should be false`); }); - test('isFastboot', function(assert) { + test('isFastboot', function (assert) { let service = this.owner.lookup('service:fastboot'); assert.throws(() => service.isFastboot, `it should throw`); assert.throws(() => service.get('isFastboot'), `it should throw`); }); - test('request', function(assert) { + test('request', function (assert) { let service = this.owner.lookup('service:fastboot'); assert.equal(service.get('request'), null, `it should be null`); }); - test('response', function(assert) { + test('response', function (assert) { let service = this.owner.lookup('service:fastboot'); assert.equal(service.get('response'), null, `it should be null`); }); - test('metadata', function(assert) { + test('metadata', function (assert) { let service = this.owner.lookup('service:fastboot'); assert.equal(service.get('metadata'), null, `it should be null`); }); diff --git a/packages/ember-cli-fastboot/tests/unit/services/fastboot/shoebox-test.js b/packages/ember-cli-fastboot/tests/unit/services/fastboot/shoebox-test.js index 120277422..56d814b8d 100644 --- a/packages/ember-cli-fastboot/tests/unit/services/fastboot/shoebox-test.js +++ b/packages/ember-cli-fastboot/tests/unit/services/fastboot/shoebox-test.js @@ -4,18 +4,18 @@ import sinon from 'sinon'; let sandbox; -module('Unit | Service | fastboot | shoebox', function(hooks) { +module('Unit | Service | fastboot | shoebox', function (hooks) { setupTest(hooks); - hooks.beforeEach(function() { + hooks.beforeEach(function () { sandbox = sinon.sandbox.create(); }); - hooks.afterEach(function() { + hooks.afterEach(function () { sandbox.restore(); }); - test('retrieve returns value if isFastBoot false and key is cached', function(assert) { + test('retrieve returns value if isFastBoot false and key is cached', function (assert) { let service = this.owner.lookup('service:fastboot'); service.set('shoebox.foo', 'bar'); @@ -23,7 +23,7 @@ module('Unit | Service | fastboot | shoebox', function(hooks) { assert.strictEqual(service.get('shoebox').retrieve('foo'), 'bar'); }); - test('retrieve returns undefined if isFastBoot false and shoebox is missing', function(assert) { + test('retrieve returns undefined if isFastBoot false and shoebox is missing', function (assert) { let service = this.owner.lookup('service:fastboot'); let stub = sandbox.stub(document, 'querySelector').withArgs('#shoebox-foo'); @@ -33,60 +33,66 @@ module('Unit | Service | fastboot | shoebox', function(hooks) { sinon.assert.calledOnce(stub); }); - test('retrieve returns undefined if isFastBoot false and textContent is missing', function(assert) { + test('retrieve returns undefined if isFastBoot false and textContent is missing', function (assert) { let service = this.owner.lookup('service:fastboot'); - let stub = sandbox.stub(document, 'querySelector').withArgs('#shoebox-foo').returns({}); + let stub = sandbox + .stub(document, 'querySelector') + .withArgs('#shoebox-foo') + .returns({}); assert.strictEqual(service.get('shoebox').retrieve('foo'), undefined); sinon.assert.calledOnce(stub); }); - test('retrieve returns value if isFastBoot false and textContent is present', function(assert) { + test('retrieve returns value if isFastBoot false and textContent is present', function (assert) { let service = this.owner.lookup('service:fastboot'); - let stub = sandbox.stub(document, 'querySelector').withArgs('#shoebox-foo').returns({ - textContent: '{"foo":"bar"}' - }); + let stub = sandbox + .stub(document, 'querySelector') + .withArgs('#shoebox-foo') + .returns({ + textContent: '{"foo":"bar"}', + }); assert.deepEqual(service.get('shoebox').retrieve('foo'), { - foo: 'bar' + foo: 'bar', }); sinon.assert.calledOnce(stub); }); - test('retrieve returns undefined if isFastBoot true and shoebox is missing', function(assert) { + test('retrieve returns undefined if isFastBoot true and shoebox is missing', function (assert) { let service = this.owner.factoryFor('service:fastboot').create({ isFastBoot: true, - _fastbootInfo: {} + _fastbootInfo: {}, }); assert.strictEqual(service.get('shoebox').retrieve('foo'), undefined); }); - test('retrieve returns undefined if isFastBoot true and key is missing', function(assert) { + test('retrieve returns undefined if isFastBoot true and key is missing', function (assert) { let service = this.owner.factoryFor('service:fastboot').create({ isFastBoot: true, _fastbootInfo: { - shoebox: {} - } + shoebox: {}, + }, }); assert.strictEqual(service.get('shoebox').retrieve('foo'), undefined); }); - test('retrieve returns value if isFastBoot true and key is present', function(assert) { + test('retrieve returns value if isFastBoot true and key is present', function (assert) { let service = this.owner.factoryFor('service:fastboot').create({ isFastBoot: true, _fastbootInfo: { shoebox: { - foo: 'bar' - } - } + foo: 'bar', + }, + }, }); assert.strictEqual(service.get('shoebox').retrieve('foo'), 'bar'); }); -}); \ No newline at end of file +}); diff --git a/packages/fastboot-app-server/package.json b/packages/fastboot-app-server/package.json index 0733711b4..c6327b42d 100644 --- a/packages/fastboot-app-server/package.json +++ b/packages/fastboot-app-server/package.json @@ -33,10 +33,10 @@ }, "devDependencies": { "chai": "^4.1.0", - "eslint": "^7.12.0", - "eslint-plugin-mocha": "^8.0.0", + "eslint": "^7.32.0", + "eslint-plugin-mocha": "^10.0.3", "eslint-plugin-node": "^11.1.0", - "mocha": "^9.1.2", + "mocha": "^9.2.0", "npm-run-all": "^4.1.5", "release-it": "^14.2.0", "release-it-lerna-changelog": "^3.0.0", diff --git a/packages/fastboot-express-middleware/package.json b/packages/fastboot-express-middleware/package.json index 41390cb0b..1c5546e4b 100644 --- a/packages/fastboot-express-middleware/package.json +++ b/packages/fastboot-express-middleware/package.json @@ -28,16 +28,16 @@ "fastboot": "3.2.0-beta.5" }, "devDependencies": { - "chai": "^4.1.0", + "chai": "^4.3.5", "chai-as-promised": "^7.1.1", - "eslint": "^6.8.0", - "eslint-config-prettier": "^6.9.0", - "eslint-plugin-mocha": "^6.2.2", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.2", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-mocha": "^10.0.3", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.0.0", "express": "^4.13.4", - "mocha": "^9.1.2", - "prettier": "^1.19.1", + "mocha": "^9.2.0", + "prettier": "^2.5.1", "release-it": "^14.2.0", "release-it-lerna-changelog": "^3.0.0", "request": "^2.88.0", diff --git a/packages/fastboot-express-middleware/src/index.js b/packages/fastboot-express-middleware/src/index.js index 05ad810a7..da3c04a71 100644 --- a/packages/fastboot-express-middleware/src/index.js +++ b/packages/fastboot-express-middleware/src/index.js @@ -13,7 +13,7 @@ function fastbootExpressMiddleware(distPath, options) { opts = opts || {}; - let log = opts.log !== false ? _log : function() {}; + let log = opts.log !== false ? _log : function () {}; let fastboot = opts.fastboot; @@ -25,7 +25,7 @@ function fastbootExpressMiddleware(distPath, options) { }); } - return async function(req, res, next) { + return async function (req, res, next) { let path = req.url; try { @@ -53,7 +53,7 @@ function fastbootExpressMiddleware(distPath, options) { } else if (result.error) { res.send(body[0]); } else { - body.forEach(chunk => res.write(chunk)); + body.forEach((chunk) => res.write(chunk)); res.end(); } } catch (error) { diff --git a/packages/fastboot-express-middleware/test/helpers/fixture-path.js b/packages/fastboot-express-middleware/test/helpers/fixture-path.js index c53a6f6d8..5c392780e 100644 --- a/packages/fastboot-express-middleware/test/helpers/fixture-path.js +++ b/packages/fastboot-express-middleware/test/helpers/fixture-path.js @@ -1,5 +1,5 @@ var path = require('path'); -module.exports = function(fixturePath) { +module.exports = function (fixturePath) { return path.join(__dirname, '../fixtures/', fixturePath); }; diff --git a/packages/fastboot-express-middleware/test/helpers/test-http-server.js b/packages/fastboot-express-middleware/test/helpers/test-http-server.js index 910331fdb..997701346 100644 --- a/packages/fastboot-express-middleware/test/helpers/test-http-server.js +++ b/packages/fastboot-express-middleware/test/helpers/test-http-server.js @@ -35,7 +35,7 @@ class TestHTTPServer { }); } - return new Promise(resolve => { + return new Promise((resolve) => { let port = options.port || 3000; let host = options.host || 'localhost'; diff --git a/packages/fastboot-express-middleware/test/middleware-test.js b/packages/fastboot-express-middleware/test/middleware-test.js index eb78eb0e3..9f9ed3c69 100644 --- a/packages/fastboot-express-middleware/test/middleware-test.js +++ b/packages/fastboot-express-middleware/test/middleware-test.js @@ -6,27 +6,27 @@ const fastbootMiddleware = require('./../src/index'); const fixture = require('./helpers/fixture-path'); const TestHTTPServer = require('./helpers/test-http-server'); -describe('FastBoot', function() { +describe('FastBoot', function () { let server; this.timeout(10000); - afterEach(function() { + afterEach(function () { if (server) { server.stop(); server = null; } }); - it('throws an exception if no distPath is provided', function() { - let fn = function() { + it('throws an exception if no distPath is provided', function () { + let fn = function () { fastbootMiddleware(); }; expect(fn).to.throw(/You must instantiate FastBoot with a distPath option/); }); - it('can provide distPath as the first argument', async function() { + it('can provide distPath as the first argument', async function () { let middleware = fastbootMiddleware(fixture('basic-app')); server = new TestHTTPServer(middleware); await server.start(); @@ -35,7 +35,7 @@ describe('FastBoot', function() { expect(html).to.match(/Welcome to Ember/); }); - it('can provide distPath as an option', async function() { + it('can provide distPath as an option', async function () { let middleware = fastbootMiddleware({ distPath: fixture('basic-app'), }); @@ -46,7 +46,7 @@ describe('FastBoot', function() { expect(html).to.match(/Welcome to Ember/); }); - it('can be provided with a custom FastBoot instance', async function() { + it('can be provided with a custom FastBoot instance', async function () { let fastboot = new FastBoot({ distPath: fixture('basic-app'), }); @@ -62,7 +62,7 @@ describe('FastBoot', function() { expect(html).to.match(/Welcome to Ember/); }); - it('can reload the FastBoot instance', async function() { + it('can reload the FastBoot instance', async function () { let fastboot = new FastBoot({ distPath: fixture('basic-app'), }); @@ -85,7 +85,7 @@ describe('FastBoot', function() { expect(html).to.match(/Goodbye from Ember/); }); - it('it appends multivalue headers', async function() { + it('it appends multivalue headers', async function () { let middleware = fastbootMiddleware(fixture('multivalue-headers')); server = new TestHTTPServer(middleware); await server.start(); @@ -94,7 +94,7 @@ describe('FastBoot', function() { expect(headers['x-fastboot']).to.eq('a, b, c'); }); - it('can pass metadata info to the app', async function() { + it('can pass metadata info to the app', async function () { let middleware = fastbootMiddleware({ distPath: fixture('app-with-metadata'), visitOptions: { @@ -111,7 +111,7 @@ describe('FastBoot', function() { // FIXME: // TODO: // https://github.com/ember-fastboot/ember-cli-fastboot/pull/840#issuecomment-894329631 - it.skip('works without metadata passed', async function() { + it.skip('works without metadata passed', async function () { let middleware = fastbootMiddleware({ distPath: fixture('app-with-metadata'), }); @@ -123,10 +123,10 @@ describe('FastBoot', function() { }); /* eslint-disable mocha/no-setup-in-describe */ - [true, false].forEach(chunkedResponse => { - describe(`when chunked response is ${chunkedResponse ? 'enabled' : 'disabled'}`, function() { + [true, false].forEach((chunkedResponse) => { + describe(`when chunked response is ${chunkedResponse ? 'enabled' : 'disabled'}`, function () { if (chunkedResponse) { - it('responds with a chunked response', async function() { + it('responds with a chunked response', async function () { let middleware = fastbootMiddleware({ distPath: fixture('basic-app'), chunkedResponse, @@ -140,7 +140,7 @@ describe('FastBoot', function() { }); } - it("returns 404 when navigating to a URL that doesn't exist", async function() { + it("returns 404 when navigating to a URL that doesn't exist", async function () { let middleware = fastbootMiddleware({ distPath: fixture('basic-app'), chunkedResponse, @@ -155,7 +155,7 @@ describe('FastBoot', function() { } }); - it('returns a 500 error if an error occurs', async function() { + it('returns a 500 error if an error occurs', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), chunkedResponse, @@ -170,8 +170,8 @@ describe('FastBoot', function() { } }); - describe('when resilient mode is enabled', function() { - it('renders no FastBoot markup', async function() { + describe('when resilient mode is enabled', function () { + it('renders no FastBoot markup', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), resilient: true, @@ -184,7 +184,7 @@ describe('FastBoot', function() { expect(html).to.not.match(/error/); }); - it('propagates to error handling middleware', async function() { + it('propagates to error handling middleware', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), resilient: true, @@ -201,7 +201,7 @@ describe('FastBoot', function() { expect(body).to.match(/hello world/); }); - it('is does not propagate errors when and there is no error handling middleware', async function() { + it('is does not propagate errors when and there is no error handling middleware', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), resilient: true, @@ -219,7 +219,7 @@ describe('FastBoot', function() { expect(body).to.match(/hello world/); }); - it('allows post-fastboot middleware to recover the response when it fails', async function() { + it('allows post-fastboot middleware to recover the response when it fails', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), resilient: true, @@ -237,8 +237,8 @@ describe('FastBoot', function() { }); }); - describe('when resilient mode is disabled', function() { - it('propagates to error handling middleware', async function() { + describe('when resilient mode is disabled', function () { + it('propagates to error handling middleware', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), resilient: false, @@ -257,7 +257,7 @@ describe('FastBoot', function() { } }); - it('allows post-fastboot middleware to recover the response when it fails', async function() { + it('allows post-fastboot middleware to recover the response when it fails', async function () { let middleware = fastbootMiddleware({ distPath: fixture('rejected-promise'), resilient: false, diff --git a/packages/fastboot/dev/memory-usage.js b/packages/fastboot/dev/memory-usage.js index 0cdd88b18..c9d0bcf26 100644 --- a/packages/fastboot/dev/memory-usage.js +++ b/packages/fastboot/dev/memory-usage.js @@ -28,7 +28,7 @@ session.connect(); let file; // uses whatever the "current" file is -session.on('HeapProfiler.addHeapSnapshotChunk', m => { +session.on('HeapProfiler.addHeapSnapshotChunk', (m) => { fs.writeSync(file, m.params.chunk); }); diff --git a/packages/fastboot/package.json b/packages/fastboot/package.json index a7fd5b245..52aad06e0 100644 --- a/packages/fastboot/package.json +++ b/packages/fastboot/package.json @@ -37,19 +37,19 @@ "source-map-support": "^0.5.16" }, "devDependencies": { - "chai": "^4.2.0", + "chai": "^4.3.5", "chai-as-promised": "^7.1.1", - "eslint": "^6.8.0", - "eslint-config-prettier": "^6.10.0", - "eslint-plugin-chai-expect": "^2.1.0", - "eslint-plugin-mocha": "^6.2.2", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.2", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-chai-expect": "^3.0.0", + "eslint-plugin-mocha": "^10.0.3", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.0.0", "express": "^4.17.1", "fixturify": "^2.1.0", "lerna-changelog": "^1.0.0", - "mocha": "^9.1.2", - "prettier": "^1.19.1", + "mocha": "^9.2.0", + "prettier": "^2.5.1", "release-it": "^14.2.0", "release-it-lerna-changelog": "^3.0.0", "rimraf": "^3.0.1", diff --git a/packages/fastboot/src/ember-app.js b/packages/fastboot/src/ember-app.js index 91c12ca44..accd678dd 100644 --- a/packages/fastboot/src/ember-app.js +++ b/packages/fastboot/src/ember-app.js @@ -161,7 +161,7 @@ class EmberApp { debug('files evaluated'); // Retrieve the application factory from within the sandbox - let AppFactory = sandbox.run(function(ctx) { + let AppFactory = sandbox.run(function (ctx) { return ctx.require('~fastboot/app-factory'); }); @@ -312,7 +312,7 @@ class EmberApp { if (destroyAppInstanceInMs > 0) { // start a timer to destroy the appInstance forcefully in the given ms. // This is a failure mechanism so that node process doesn't get wedged if the `visit` never completes. - destroyAppInstanceTimer = setTimeout(function() { + destroyAppInstanceTimer = setTimeout(function () { if (result._destroy()) { result.error = new Error( 'App instance was forcefully destroyed in ' + destroyAppInstanceInMs + 'ms' @@ -414,7 +414,7 @@ const JSON_ESCAPE = { const JSON_ESCAPE_REGEXP = /[\u2028\u2029&><]/g; function escapeJSONString(string) { - return string.replace(JSON_ESCAPE_REGEXP, function(match) { + return string.replace(JSON_ESCAPE_REGEXP, function (match) { return JSON_ESCAPE[match]; }); } @@ -428,7 +428,7 @@ function registerFastBootInfo(info, instance) { } function buildScripts(filePaths) { - return filePaths.filter(Boolean).map(filePath => { + return filePaths.filter(Boolean).map((filePath) => { let source = fs.readFileSync(filePath, { encoding: 'utf8' }); return new vm.Script(source, { filename: filePath }); diff --git a/packages/fastboot/src/fastboot-request.js b/packages/fastboot/src/fastboot-request.js index ed7a1c70f..d6cec8c61 100644 --- a/packages/fastboot/src/fastboot-request.js +++ b/packages/fastboot/src/fastboot-request.js @@ -23,7 +23,7 @@ class FastBootRequest { } var host = this.headers.get('host'); - var matchFound = this.hostWhitelist.some(function(entry) { + var matchFound = this.hostWhitelist.some(function (entry) { if (entry[0] === '/' && entry.slice(-1) === '/') { var regexp = new RegExp(entry.slice(1, -1)); return regexp.test(host); diff --git a/packages/fastboot/src/fastboot-schema.js b/packages/fastboot/src/fastboot-schema.js index 91fcede9c..b1821af0b 100644 --- a/packages/fastboot/src/fastboot-schema.js +++ b/packages/fastboot/src/fastboot-schema.js @@ -127,7 +127,7 @@ function loadManifest(distPath, fastbootConfig, schemaVersion) { } } - let scripts = manifest.vendorFiles.concat(manifest.appFiles).map(function(file) { + let scripts = manifest.vendorFiles.concat(manifest.appFiles).map(function (file) { return path.join(distPath, file); }); let html = fs.readFileSync(path.join(distPath, manifest.htmlFile), 'utf8'); @@ -149,7 +149,7 @@ function loadManifest(distPath, fastbootConfig, schemaVersion) { * @param {boolean} isLegacyWhiteList flag to enable legacy behavior */ function buildWhitelistedRequire(whitelist, distPath, isLegacyWhitelist) { - whitelist.forEach(function(whitelistedModule) { + whitelist.forEach(function (whitelistedModule) { debug('module whitelisted; module=%s', whitelistedModule); if (isLegacyWhitelist) { @@ -161,7 +161,7 @@ function buildWhitelistedRequire(whitelist, distPath, isLegacyWhitelist) { } }); - return function(moduleName) { + return function (moduleName) { let packageName = getPackageName(moduleName); let isWhitelisted = whitelist.indexOf(packageName) > -1; diff --git a/packages/fastboot/src/index.js b/packages/fastboot/src/index.js index 4d9f795d4..d7172f2d2 100644 --- a/packages/fastboot/src/index.js +++ b/packages/fastboot/src/index.js @@ -55,7 +55,7 @@ class FastBoot { console.warn( '[DEPRECATION] Instantiating `fastboot` with a `sandboxGlobals` option has been deprecated. Please migrate to specifying `buildSandboxGlobals` instead.' ); - buildSandboxGlobals = globals => Object.assign({}, globals, options.sandboxGlobals); + buildSandboxGlobals = (globals) => Object.assign({}, globals, options.sandboxGlobals); } this.buildSandboxGlobals = buildSandboxGlobals; diff --git a/packages/fastboot/src/result.js b/packages/fastboot/src/result.js index 1c3426b30..dd4f23acb 100644 --- a/packages/fastboot/src/result.js +++ b/packages/fastboot/src/result.js @@ -80,7 +80,7 @@ class Result { this._body, this._bodyAttributes, this._bodyClass - ).then(html => { + ).then((html) => { let docParts = html.match(HTML_HEAD_REGEX); if (!docParts || docParts.length === 1) { return [html]; @@ -97,7 +97,7 @@ class Result { let [plainBody, ...shoeboxes] = body.split(SHOEBOX_TAG_PATTERN); let chunks = [head, plainBody].concat( - shoeboxes.map(shoebox => `${SHOEBOX_TAG_PATTERN}${shoebox}`) + shoeboxes.map((shoebox) => `${SHOEBOX_TAG_PATTERN}${shoebox}`) ); return chunks; @@ -203,10 +203,10 @@ function extractExtraAttributes(element) { let klass; let attributes; if (element.attributes.length > 0) { - let elementClass = element.attributes.find(attr => attr.name === 'class'); + let elementClass = element.attributes.find((attr) => attr.name === 'class'); if (elementClass) { klass = elementClass; - let otherAttrs = element.attributes.filter(attr => attr.name !== 'class'); + let otherAttrs = element.attributes.filter((attr) => attr.name !== 'class'); if (otherAttrs.length > 0) { attributes = HTMLSerializer.attributes(otherAttrs); } else { @@ -229,9 +229,9 @@ function missingTag(tag) { } function addClass(html, regex, newClass) { - return html.replace(regex, function(_, tag, attributes) { + return html.replace(regex, function (_, tag, attributes) { if (/class="([^"]*)"/i.test(attributes)) { - attributes = attributes.replace(/class="([^"]*)"/i, function(_, klass) { + attributes = attributes.replace(/class="([^"]*)"/i, function (_, klass) { return `class="${klass} ${newClass}"`; }); } else { @@ -256,7 +256,7 @@ async function insertIntoIndexHTML( let isBodyReplaced = false; let isHeadReplaced = false; - html = html.replace(//g, function(match, tag) { + html = html.replace(//g, function (match, tag) { if (tag === 'HEAD' && head && !isHeadReplaced) { isHeadReplaced = true; return head; @@ -271,7 +271,7 @@ async function insertIntoIndexHTML( html = addClass(html, /<(html)(.*)>/i, htmlClass.value); } if (htmlAttributes) { - html = html.replace(/]*/i, function(match) { + html = html.replace(/]*/i, function (match) { return match + ' ' + htmlAttributes; }); } @@ -280,7 +280,7 @@ async function insertIntoIndexHTML( html = addClass(html, /<(body)(.*)>/i, bodyClass.value); } if (bodyAttributes) { - html = html.replace(/]*/i, function(match) { + html = html.replace(/]*/i, function (match) { return match + ' ' + bodyAttributes; }); } diff --git a/packages/fastboot/src/sandbox.js b/packages/fastboot/src/sandbox.js index f39685df5..3e94a5887 100644 --- a/packages/fastboot/src/sandbox.js +++ b/packages/fastboot/src/sandbox.js @@ -41,10 +41,10 @@ module.exports = class Sandbox { buildWrappedConsole() { let wrappedConsole = Object.create(console); - wrappedConsole.error = function(...args) { + wrappedConsole.error = function (...args) { console.error.apply( console, - args.map(function(a) { + args.map(function (a) { return typeof a === 'string' ? chalk.red(a) : a; }) ); diff --git a/packages/fastboot/src/scripts/install-source-map-support.js b/packages/fastboot/src/scripts/install-source-map-support.js index 2ee040cea..aa9994007 100644 --- a/packages/fastboot/src/scripts/install-source-map-support.js +++ b/packages/fastboot/src/scripts/install-source-map-support.js @@ -2,7 +2,7 @@ /* globals sourceMapSupport */ Error.prepareStackTrace = function prepareStackTrace(error, stack) { - return error + stack.map(frame => '\n at ' + sourceMapSupport.wrapCallSite(frame)).join(''); + return error + stack.map((frame) => '\n at ' + sourceMapSupport.wrapCallSite(frame)).join(''); }; Error.stackTraceLimit = Infinity; diff --git a/packages/fastboot/test/fastboot-dependencies-test.js b/packages/fastboot/test/fastboot-dependencies-test.js index 3b8cb2b2f..beb48faa6 100644 --- a/packages/fastboot/test/fastboot-dependencies-test.js +++ b/packages/fastboot/test/fastboot-dependencies-test.js @@ -4,16 +4,16 @@ const expect = require('chai').expect; const fixture = require('./helpers/fixture-path'); const FastBoot = require('./../src/index'); -describe('FastBoot with dependencies', function() { - it('it works with dependencies', function() { +describe('FastBoot with dependencies', function () { + it('it works with dependencies', function () { var fastboot = new FastBoot({ distPath: fixture('app-with-dependencies'), }); return fastboot .visit('/') - .then(r => r.html()) - .then(html => { + .then((r) => r.html()) + .then((html) => { expect(html).to.match(/https:\/\/emberjs.com/); expect(html).to.match(/FOO/); expect(html).to.match(/BAR/); diff --git a/packages/fastboot/test/fastboot-headers-test.js b/packages/fastboot/test/fastboot-headers-test.js index 1d65353fa..b7714a7a8 100644 --- a/packages/fastboot/test/fastboot-headers-test.js +++ b/packages/fastboot/test/fastboot-headers-test.js @@ -3,8 +3,8 @@ var expect = require('chai').expect; var FastBootHeaders = require('./../src/fastboot-headers.js'); -describe('FastBootHeaders', function() { - it('lower normalizes the headers to lowercase', function() { +describe('FastBootHeaders', function () { + it('lower normalizes the headers to lowercase', function () { var headers = { 'X-Test-Header': 'value1, value2', }; @@ -13,7 +13,7 @@ describe('FastBootHeaders', function() { expect(headers.getAll('x-test-header')).to.deep.equal(['value1, value2']); }); - it('returns an array from getAll when header value is string', function() { + it('returns an array from getAll when header value is string', function () { var headers = { 'x-test-header': 'value1, value2', }; @@ -22,7 +22,7 @@ describe('FastBootHeaders', function() { expect(headers.getAll('x-test-header')).to.deep.equal(['value1, value2']); }); - it('returns an array of header values from getAll, regardless of header name casing', function() { + it('returns an array of header values from getAll, regardless of header name casing', function () { var headers = { 'x-test-header': ['value1', 'value2'], }; @@ -32,7 +32,7 @@ describe('FastBootHeaders', function() { expect(headers.getAll('x-test-header')).to.deep.equal(['value1', 'value2']); }); - it('returns an emtpy array when a header is not present', function() { + it('returns an emtpy array when a header is not present', function () { var headers = { 'x-test-header': ['value1', 'value2'], }; @@ -42,7 +42,7 @@ describe('FastBootHeaders', function() { expect(headers.getAll('host')).to.deep.equal([]); }); - it('returns the first value when using get, regardless of case', function() { + it('returns the first value when using get, regardless of case', function () { var headers = { 'x-test-header': ['value1', 'value2'], }; @@ -52,7 +52,7 @@ describe('FastBootHeaders', function() { expect(headers.get('x-test-header')).to.equal('value1'); }); - it('returns null when using get when a header is not present', function() { + it('returns null when using get when a header is not present', function () { var headers = { 'x-test-header': ['value1', 'value2'], }; @@ -62,7 +62,7 @@ describe('FastBootHeaders', function() { expect(headers.get('host')).to.be.null; }); - it('returns whether or not a header is present via has, regardless of casing', function() { + it('returns whether or not a header is present via has, regardless of casing', function () { var headers = { 'x-test-header': ['value1', 'value2'], }; @@ -74,7 +74,7 @@ describe('FastBootHeaders', function() { expect(headers.has('host')).to.be.false; }); - it('appends entries onto a header, regardless of casing', function() { + it('appends entries onto a header, regardless of casing', function () { var headers = new FastBootHeaders(); expect(headers.has('x-foo')).to.be.false; @@ -87,7 +87,7 @@ describe('FastBootHeaders', function() { expect(headers.getAll('x-foo')).to.deep.equal(['bar', 'baz']); }); - it('deletes entries onto a header, regardless of casing', function() { + it('deletes entries onto a header, regardless of casing', function () { var headers = new FastBootHeaders(); headers.append('X-Foo', 'bar'); @@ -97,7 +97,7 @@ describe('FastBootHeaders', function() { expect(headers.has('x-foo')).to.be.false; }); - it('returns an iterator for the header/value pairs when calling entries', function() { + it('returns an iterator for the header/value pairs when calling entries', function () { var headers = new FastBootHeaders(); headers.append('X-Foo', 'foo'); @@ -111,7 +111,7 @@ describe('FastBootHeaders', function() { expect(entriesIterator.next()).to.deep.equal({ value: undefined, done: true }); }); - it('returns an iterator for keys containing all the keys', function() { + it('returns an iterator for keys containing all the keys', function () { var headers = new FastBootHeaders(); headers.append('X-Foo', 'foo'); @@ -125,7 +125,7 @@ describe('FastBootHeaders', function() { expect(entriesIterator.next()).to.deep.equal({ value: undefined, done: true }); }); - it('sets a header, overwriting existing values, regardless of casing', function() { + it('sets a header, overwriting existing values, regardless of casing', function () { var headers = new FastBootHeaders(); expect(headers.getAll('x-foo')).to.deep.equal([]); @@ -141,7 +141,7 @@ describe('FastBootHeaders', function() { expect(headers.getAll('x-bar')).to.deep.equal(['baz']); }); - it('returns an iterator for values containing all the values', function() { + it('returns an iterator for values containing all the values', function () { var headers = new FastBootHeaders(); headers.append('X-Foo', 'foo'); @@ -155,7 +155,7 @@ describe('FastBootHeaders', function() { expect(entriesIterator.next()).to.deep.equal({ value: undefined, done: true }); }); - it('when mistakenly used `Ember.get` with an unknown property, it attempts to get the header with that name and warns the user to use `headers.get` instead', function() { + it('when mistakenly used `Ember.get` with an unknown property, it attempts to get the header with that name and warns the user to use `headers.get` instead', function () { var headers = { 'x-test-header': ['value1', 'value2'], }; diff --git a/packages/fastboot/test/fastboot-info-test.js b/packages/fastboot/test/fastboot-info-test.js index 67f91df94..1cf24afee 100644 --- a/packages/fastboot/test/fastboot-info-test.js +++ b/packages/fastboot/test/fastboot-info-test.js @@ -4,7 +4,7 @@ var FastBootResponse = require('./../src/fastboot-response.js'); var FastBootRequest = require('./../src/fastboot-request.js'); function delayFor(ms) { - let promise = new Promise(resolve => { + let promise = new Promise((resolve) => { setTimeout(() => { resolve(); }, ms); @@ -13,7 +13,7 @@ function delayFor(ms) { return promise; } -describe('FastBootInfo', function() { +describe('FastBootInfo', function () { var response; var request; var fastbootInfo; @@ -22,13 +22,13 @@ describe('FastBootInfo', function() { baz: 'apple', }; - beforeEach(function() { + beforeEach(function () { response = {}; request = { cookie: '', protocol: 'http', headers: {}, - get: function() { + get: function () { return this.cookie; }, }; @@ -36,19 +36,19 @@ describe('FastBootInfo', function() { fastbootInfo = new FastBootInfo(request, response, { metadata }); }); - it('has a FastBootRequest', function() { + it('has a FastBootRequest', function () { expect(fastbootInfo.request).to.be.an.instanceOf(FastBootRequest); }); - it('has a FastBootResponse', function() { + it('has a FastBootResponse', function () { expect(fastbootInfo.response).to.be.an.instanceOf(FastBootResponse); }); - it('has metadata', function() { + it('has metadata', function () { expect(fastbootInfo.metadata).to.deep.equal(metadata); }); - it('can use deferRendering', async function() { + it('can use deferRendering', async function () { let steps = []; steps.push('deferRendering called'); diff --git a/packages/fastboot/test/fastboot-request-test.js b/packages/fastboot/test/fastboot-request-test.js index 4e2b096e9..052649119 100644 --- a/packages/fastboot/test/fastboot-request-test.js +++ b/packages/fastboot/test/fastboot-request-test.js @@ -1,8 +1,8 @@ var expect = require('chai').expect; var FastBootRequest = require('./../src/fastboot-request.js'); -describe('FastBootRequest', function() { - it('throws an exception if no hostWhitelist is provided', function() { +describe('FastBootRequest', function () { + it('throws an exception if no hostWhitelist is provided', function () { var request = { protocol: 'http', headers: { @@ -11,13 +11,13 @@ describe('FastBootRequest', function() { }; var fastbootRequest = new FastBootRequest(request); - var fn = function() { + var fn = function () { fastbootRequest.host(); }; expect(fn).to.throw(/You must provide a hostWhitelist to retrieve the host/); }); - it('throws an exception if the host header does not match an entry in the hostWhitelist', function() { + it('throws an exception if the host header does not match an entry in the hostWhitelist', function () { var request = { protocol: 'http', headers: { @@ -28,7 +28,7 @@ describe('FastBootRequest', function() { var hostWhitelist = ['example.com', 'localhost:4200']; var fastbootRequest = new FastBootRequest(request, hostWhitelist); - var fn = function() { + var fn = function () { fastbootRequest.host(); }; expect(fn).to.throw( @@ -36,7 +36,7 @@ describe('FastBootRequest', function() { ); }); - it('returns the host if it is in the hostWhitelist', function() { + it('returns the host if it is in the hostWhitelist', function () { var request = { protocol: 'http', headers: { @@ -51,7 +51,7 @@ describe('FastBootRequest', function() { expect(host).to.equal('localhost:4200'); }); - it('returns the host if it matches a regex in the hostWhitelist', function() { + it('returns the host if it matches a regex in the hostWhitelist', function () { var request = { protocol: 'http', headers: { @@ -66,7 +66,7 @@ describe('FastBootRequest', function() { expect(host).to.equal('localhost:4200'); }); - it('captures the query params from the request', function() { + it('captures the query params from the request', function () { var request = { protocol: 'http', query: { @@ -81,7 +81,7 @@ describe('FastBootRequest', function() { expect(fastbootRequest.queryParams.foo).to.equal('bar'); }); - it('captures the path from the request', function() { + it('captures the path from the request', function () { var request = { protocol: 'http', url: '/foo', @@ -94,7 +94,7 @@ describe('FastBootRequest', function() { expect(fastbootRequest.path).to.equal('/foo'); }); - it('captures the headers from the request', function() { + it('captures the headers from the request', function () { var request = { protocol: 'http', url: '/foo', @@ -108,7 +108,7 @@ describe('FastBootRequest', function() { expect(fastbootRequest.headers.get('Host')).to.equal('localhost:4200'); }); - it('captures the protocol from the request', function() { + it('captures the protocol from the request', function () { var request = { protocol: 'http', url: '/foo', @@ -122,7 +122,7 @@ describe('FastBootRequest', function() { expect(fastbootRequest.protocol).to.equal('http:'); }); - it('captures the cookies from the request', function() { + it('captures the cookies from the request', function () { var request = { protocol: 'http', url: '/foo', @@ -136,7 +136,7 @@ describe('FastBootRequest', function() { expect(fastbootRequest.cookies.test).to.equal('bar'); }); - it('captures the method from the request', function() { + it('captures the method from the request', function () { var request = { protocol: 'http', url: '/foo', @@ -151,7 +151,7 @@ describe('FastBootRequest', function() { expect(fastbootRequest.method).to.equal('GET'); }); - it('captures the body from the request', function() { + it('captures the body from the request', function () { var request = { protocol: 'http', url: '/foo', diff --git a/packages/fastboot/test/fastboot-response-test.js b/packages/fastboot/test/fastboot-response-test.js index 545cf8607..426747a69 100644 --- a/packages/fastboot/test/fastboot-response-test.js +++ b/packages/fastboot/test/fastboot-response-test.js @@ -2,10 +2,10 @@ var expect = require('chai').expect; var FastBootHeaders = require('./../src/fastboot-headers.js'); var FastBootResponse = require('./../src/fastboot-response.js'); -describe('FastBootResponse', function() { +describe('FastBootResponse', function () { var fastBootResponse; - beforeEach(function() { + beforeEach(function () { var mockResponse = { getHeaders() { return { @@ -18,27 +18,27 @@ describe('FastBootResponse', function() { fastBootResponse = new FastBootResponse(mockResponse); }); - describe('headers', function() { - it('should have headers', function() { + describe('headers', function () { + it('should have headers', function () { expect(fastBootResponse).to.have.ownProperty('headers'); }); - it('should be an instance of FastBootHeaders', function() { + it('should be an instance of FastBootHeaders', function () { expect(fastBootResponse.headers).to.be.an.instanceOf(FastBootHeaders); }); - it("should contain the original response's headers", function() { + it("should contain the original response's headers", function () { var header = fastBootResponse.headers.getAll('i-am-a'); expect(header).to.deep.equal(['mock header', 'me too']); }); }); - describe('statusCode', function() { - it('should have a statusCode', function() { + describe('statusCode', function () { + it('should have a statusCode', function () { expect(fastBootResponse).to.have.ownProperty('statusCode'); }); - it('should default to 200', function() { + it('should default to 200', function () { expect(fastBootResponse.statusCode).to.equal(200); }); }); diff --git a/packages/fastboot/test/fastboot-shoebox-test.js b/packages/fastboot/test/fastboot-shoebox-test.js index e6d9afe85..f992a7b5b 100644 --- a/packages/fastboot/test/fastboot-shoebox-test.js +++ b/packages/fastboot/test/fastboot-shoebox-test.js @@ -4,16 +4,16 @@ const expect = require('chai').expect; const fixture = require('./helpers/fixture-path'); const FastBoot = require('./../src/index'); -describe('FastBootShoebox', function() { - it('can render the escaped shoebox HTML', function() { +describe('FastBootShoebox', function () { + it('can render the escaped shoebox HTML', function () { var fastboot = new FastBoot({ distPath: fixture('shoebox'), }); return fastboot .visit('/') - .then(r => r.html()) - .then(html => { + .then((r) => r.html()) + .then((html) => { expect(html).to.match( /'; var boundaryEndTag = ''; - beforeEach(function() { + beforeEach(function () { doc.head.appendChild(doc.createRawHTMLSection(HEAD)); doc.body.appendChild(doc.createRawHTMLSection(BODY)); result._finalize(); }); - it('should return the FastBoot-rendered document body', function() { + it('should return the FastBoot-rendered document body', function () { var domContents = result.domContents(); expect(domContents.head).to.include(HEAD); expect(domContents.body).to.include(BODY); diff --git a/yarn.lock b/yarn.lock index 72e24b303..77fe3d71b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2192,16 +2192,6 @@ ember-cli-typescript "^3.1.3" heimdalljs "^0.3.0" -"@ember-template-lint/todo-utils@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@ember-template-lint/todo-utils/-/todo-utils-9.1.2.tgz#acadb0378acb12d5220a397143a69f197b4a3a05" - integrity sha512-wHRL/YQc/CtPabV7GuYLtS2A592GCd54aY544JOH4OXnpepZkxy5dp18iaNbtErihBW/+sIJr8/JvsCxw5T3Wg== - dependencies: - "@types/eslint" "^7.2.12" - fs-extra "^9.1.0" - slash "^3.0.0" - tslib "^2.2.0" - "@ember/edition-utils@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ember/edition-utils/-/edition-utils-1.2.0.tgz#a039f542dc14c8e8299c81cd5abba95e2459cfa6" @@ -2395,26 +2385,10 @@ lodash "^4.17.20" resolve "^1.17.0" -"@eslint/eslintrc@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" - integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - lodash "^4.17.19" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@eslint/eslintrc@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" - integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -2484,17 +2458,17 @@ resolved "https://registry.yarnpkg.com/@glimmer/env/-/env-0.1.7.tgz#fd2d2b55a9029c6b37a6c935e8c8871ae70dfa07" integrity sha1-/S0rVakCnGs3psk16MiHGucN+gc= -"@glimmer/global-context@0.65.3": - version "0.65.3" - resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.65.3.tgz#38a88cf7a5fdeec88b48ccba9442b9175e8a9c22" - integrity sha512-XvO7EESyshbbMFfucrnLXDMRtlZvI9JIjpRLpVPa7MJAU9jRmIMtmjtXOX2cy/i9XMfnAHu/PGIgBN9L03HLzA== +"@glimmer/global-context@0.83.1": + version "0.83.1" + resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.83.1.tgz#3e2d97f10ff623bcfb5b7dc29a858d546a6c6d66" + integrity sha512-OwlgqpbOJU73EjZOZdftab0fKbtdJ4x/QQeJseL9cvaAUiK3+w52M5ONFxD1T/yPBp2Mf7NCYqA/uL8tRbzY2A== dependencies: "@glimmer/env" "^0.1.7" -"@glimmer/interfaces@0.65.3": - version "0.65.3" - resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.65.3.tgz#ef3df40b42ab8b6dc36efea81652abddda72f23c" - integrity sha512-DP38dx0ai3xBPdYXRxxv3Ix5CbQHJZwI8PPUkDXv0pyua7/XEsSkiv7heXaaXgihSOGGHgrUa96/Nu82R6UtYw== +"@glimmer/interfaces@0.83.1": + version "0.83.1" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.83.1.tgz#fb16f5f683ddc55f130887b6141f58c0751350fe" + integrity sha512-rjAztghzX97v8I4rk3+NguM3XGYcFjc/GbJ8qrEj19KF2lUDoDBW1sB7f0tov3BD5HlrGXei/vOh4+DHfjeB5w== dependencies: "@simple-dom/interface" "^1.4.0" @@ -2531,16 +2505,16 @@ dependencies: "@glimmer/util" "^0.42.2" -"@glimmer/reference@^0.65.0": - version "0.65.3" - resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.65.3.tgz#39031f2873551db01f3a2cfeb95f1d099644fb1b" - integrity sha512-Ew8QNXRu2BkK6g8A4T+0dMNvv3yampiPMO/SGYlyRpXK1Ehm7nWVC+lSi/gfKW1N8iWPwa3ClIIxDekS52/FFw== +"@glimmer/reference@^0.83.1": + version "0.83.1" + resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.83.1.tgz#0345b95431b5bb19843b308e6311d1ef81e36192" + integrity sha512-BThEwDlMkJB1WBPWDrww+VxgGyDbwxh5FFPvGhkovvCZnCb7fAMUCt9pi6CUZtviugkWOBFtE9P4eZZbOLkXeg== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.65.3" - "@glimmer/interfaces" "0.65.3" - "@glimmer/util" "0.65.3" - "@glimmer/validator" "0.65.3" + "@glimmer/global-context" "0.83.1" + "@glimmer/interfaces" "0.83.1" + "@glimmer/util" "0.83.1" + "@glimmer/validator" "0.83.1" "@glimmer/runtime@^0.42.1": version "0.42.2" @@ -2575,15 +2549,15 @@ handlebars "^4.7.4" simple-html-tokenizer "^0.5.9" -"@glimmer/syntax@^0.65.0": - version "0.65.3" - resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.65.3.tgz#01fe7e20dc8ffd9263d51a22c4a95ac263133cea" - integrity sha512-2AdC5rJy+z1e6G29BXy2MLa9dXQgUTalH8qy1UkQ54stwQ8r3ZI6aO0IQYh5tiO0Hu2hAY/xy7UyjZc256zwQg== +"@glimmer/syntax@^0.83.1": + version "0.83.1" + resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.83.1.tgz#7e18dd445871c157ba0281f12a4fbf316fa49b41" + integrity sha512-n3vEd0GtjtgkOsd2gqkSimp8ecqq5KrHyana/s1XJZvVAPD5rMWT9WvAVWG8XAktns8BxjwLIUoj/vkOfA+eHg== dependencies: - "@glimmer/interfaces" "0.65.3" - "@glimmer/util" "0.65.3" - "@handlebars/parser" "^1.1.0" - simple-html-tokenizer "^0.5.10" + "@glimmer/interfaces" "0.83.1" + "@glimmer/util" "0.83.1" + "@handlebars/parser" "~2.0.0" + simple-html-tokenizer "^0.5.11" "@glimmer/tracking@^1.0.0": version "1.0.1" @@ -2601,13 +2575,13 @@ "@glimmer/env" "^0.1.7" "@glimmer/validator" "^0.44.0" -"@glimmer/util@0.65.3": - version "0.65.3" - resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.65.3.tgz#354760f7394bf016f41f6222a7937c1a394ff418" - integrity sha512-3qXYC9GpHipAXT0oVec6vQ3xsZaWIgLxyN62S0l/xHnIa5pXu3vnX73zan282IS6Mi0RetxwGNyEBT9OPsYkqQ== +"@glimmer/util@0.83.1": + version "0.83.1" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.83.1.tgz#cc7511b03164d658cf6e3262fce5a0fcb82edceb" + integrity sha512-amvjtl9dvrkxsoitXAly9W5NUaLIE3A2J2tWhBWIL1Z6DOFotfX7ytIosOIcPhJLZCtiXPHzMutQRv0G/MSMsA== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.65.3" + "@glimmer/interfaces" "0.83.1" "@simple-dom/interface" "^1.4.0" "@glimmer/util@^0.42.2": @@ -2629,13 +2603,13 @@ "@glimmer/interfaces" "^0.54.2" "@simple-dom/interface" "^1.4.0" -"@glimmer/validator@0.65.3", "@glimmer/validator@^0.65.0": - version "0.65.3" - resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.65.3.tgz#4eb59548800affaaf3e301f4e2d0f131e614f2b2" - integrity sha512-XoQ+5fN4MLzbS5uhAnaQzbgC7du2rgznTlM7W4WH+97ijHZ8JU5j6+3LIrwwZPPgVPlLlg8z3y6Wv3gEIQMpNA== +"@glimmer/validator@0.83.1", "@glimmer/validator@^0.83.0": + version "0.83.1" + resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.83.1.tgz#7578cb2284f728c8e9302c51fc6e7660b570ac54" + integrity sha512-LaILSNnQgDHZpaUsfjVndbS1JfVn0xdTlJdFJblPbhoVklOBSReZVekens3EQ6xOr3BC612sRm1hBnEPixOY6A== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.65.3" + "@glimmer/global-context" "0.83.1" "@glimmer/validator@^0.44.0": version "0.44.0" @@ -2665,10 +2639,24 @@ "@glimmer/interfaces" "^0.42.2" "@glimmer/util" "^0.42.2" -"@handlebars/parser@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-1.1.0.tgz#d6dbc7574774b238114582410e8fee0dc3532bdf" - integrity sha512-rR7tJoSwJ2eooOpYGxGGW95sLq6GXUaS1UtWvN7pei6n2/okYvCGld9vsUTvkl2migxbkszsycwtMf/GEc1k1A== +"@handlebars/parser@~2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.0.0.tgz#5e8b7298f31ff8f7b260e6b7363c7e9ceed7d9c5" + integrity sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA== + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@iarna/toml@2.2.3": version "2.2.3" @@ -2680,6 +2668,18 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== +"@lint-todo/utils@^12.0.1": + version "12.0.1" + resolved "https://registry.yarnpkg.com/@lint-todo/utils/-/utils-12.0.1.tgz#d61ef329f9f6c7332adee7b1f68651f190d53a7f" + integrity sha512-Xiy5wN+ns95gEHepJ55TXEBAZrkZlzrF9wTjqoTgv+RYOYL3+qQ+v0RtPH2n/UwPJEFuXJ6QKiT99RnUOt1pzw== + dependencies: + "@types/eslint" "^7.2.13" + fs-extra "^9.1.0" + proper-lockfile "^4.1.2" + slash "^3.0.0" + tslib "^2.3.1" + upath "^2.0.1" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -3067,10 +3067,10 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/eslint@^7.2.12": - version "7.2.13" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.13.tgz#e0ca7219ba5ded402062ad6f926d491ebb29dd53" - integrity sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg== +"@types/eslint@^7.2.13": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" + integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -3947,6 +3947,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -4108,6 +4113,11 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-union@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" + integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== + array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" @@ -6429,12 +6439,12 @@ chai-fs@^2.0.0: bit-mask "^1.0.1" readdir-enhanced "^1.4.0" -chai-string@^1.4.0, chai-string@^1.5.0: +chai-string@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.5.0.tgz#0bdb2d8a5f1dbe90bc78ec493c1c1c180dd4d3d2" integrity sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw== -chai@^4.1.0, chai@^4.1.2, chai@^4.2.0: +chai@^4.1.0, chai@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== @@ -6446,6 +6456,19 @@ chai@^4.1.0, chai@^4.1.2, chai@^4.2.0: pathval "^1.1.0" type-detect "^4.0.5" +chai@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.5.tgz#784cf398a30cd45b8980181ba1a8c866c225b5df" + integrity sha512-0gKhNDL29PUlmwz1CG42p/OaBf1v0YD3oH4//YMS1niT7rLH9tC+lqTgk+SvdbhMLd7ToTtxA61orNBmpSO/DA== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + loupe "^2.3.0" + pathval "^1.1.1" + type-detect "^4.0.5" + chalk@3.0.0, chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" @@ -6482,14 +6505,6 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4 escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -6550,6 +6565,21 @@ chokidar@3.5.2: optionalDependencies: fsevents "~2.3.2" +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -6894,10 +6924,10 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== common-tags@^1.4.0, common-tags@^1.8.0: version "1.8.0" @@ -7320,10 +7350,10 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-fns@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4" - integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg== +date-fns@^2.28.0: + version "2.28.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" + integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== date-time@^2.1.0: version "2.1.0" @@ -7374,6 +7404,13 @@ debug@4.3.2, debug@^4.3.1: dependencies: ms "2.1.2" +debug@4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.1.1: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -8752,24 +8789,25 @@ ember-template-lint@^2.8.0: resolve "^1.17.0" yargs "^15.4.1" -ember-template-lint@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/ember-template-lint/-/ember-template-lint-3.5.0.tgz#f178c233c42a1b17467db1520d964018d735dab6" - integrity sha512-wkSuR0LuYOMomZ142nX06r2d6pUWkMUwy4AbxZwcB1+ArLhgZYIuOZefd/zsWM+RuMI0w4PiNDZXNXdH7qEasg== +ember-template-lint@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ember-template-lint/-/ember-template-lint-4.0.0.tgz#9fad1adedd0e2bfc2c507810421afbf4621273b1" + integrity sha512-5pEpr5TZbTB+TejoePmAPoRbdPW4HxkYmhbgvQOZwALmbFA62/ZvxEGfV+ZyGPSxCQXMXxZyx0ZUHqr2WtlM3w== dependencies: - "@ember-template-lint/todo-utils" "^9.1.2" - chalk "^4.1.1" - date-fns "^2.22.1" - ember-template-recast "^5.0.3" - find-up "^5.0.0" - fuse.js "^6.4.6" - get-stdin "^8.0.0" - globby "^11.0.3" - is-glob "^4.0.1" + "@lint-todo/utils" "^12.0.1" + chalk "^4.1.2" + ci-info "^3.3.0" + date-fns "^2.28.0" + ember-template-recast "^6.1.2" + find-up "^6.2.0" + fuse.js "^6.5.3" + get-stdin "^9.0.0" + globby "^12.0.2" + is-glob "^4.0.3" micromatch "^4.0.4" resolve "^1.20.0" v8-compile-cache "^2.3.0" - yargs "^16.2.0" + yargs "^17.3.1" ember-template-recast@^4.1.4: version "4.1.5" @@ -8786,22 +8824,22 @@ ember-template-recast@^4.1.4: tmp "^0.2.1" workerpool "^6.0.0" -ember-template-recast@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/ember-template-recast/-/ember-template-recast-5.0.3.tgz#79df27a70bdce7be17f14db13886afde1e9d02d6" - integrity sha512-qsJYQhf29Dk6QMfviXhUPE+byMOs6iRQxUDHgkj8yqjeppvjHaFG96hZi/NAXJTm/M7o3PpfF5YlmeaKtI9UeQ== +ember-template-recast@^6.1.2: + version "6.1.3" + resolved "https://registry.yarnpkg.com/ember-template-recast/-/ember-template-recast-6.1.3.tgz#1e9b256ee9da24bcaa7c213088d01f32afc88001" + integrity sha512-45lkfjrWlrMPlOd5rLFeQeePZwAvcS//x1x15kaiQTlqQdYWiYNXwbpWHqV+p9fXY6bEjl6EbyPhG/zBkgh8MA== dependencies: - "@glimmer/reference" "^0.65.0" - "@glimmer/syntax" "^0.65.0" - "@glimmer/validator" "^0.65.0" + "@glimmer/reference" "^0.83.1" + "@glimmer/syntax" "^0.83.1" + "@glimmer/validator" "^0.83.0" async-promise-queue "^1.0.5" colors "^1.4.0" - commander "^6.2.1" + commander "^8.3.0" globby "^11.0.3" ora "^5.4.0" slash "^3.0.0" tmp "^0.2.1" - workerpool "^6.1.4" + workerpool "^6.1.5" ember-test-waiters@^1.1.1: version "1.2.0" @@ -9109,32 +9147,26 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^6.10.0, eslint-config-prettier@^6.9.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" - -eslint-config-prettier@^8.1.0: +eslint-config-prettier@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== -eslint-plugin-chai-expect@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-chai-expect/-/eslint-plugin-chai-expect-2.2.0.tgz#ff41fb00067fe6ff26e72b04ab1011ecaf3cb249" - integrity sha512-ExTJKhgeYMfY8wDj3UiZmgpMKJOUHGNHmWMlxT49JUDB1vTnw0sSNfXJSxnX+LcebyBD/gudXzjzD136WqPJrQ== +eslint-plugin-chai-expect@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-chai-expect/-/eslint-plugin-chai-expect-3.0.0.tgz#812d7384756177b2d424040cb3c20e78606db1b2" + integrity sha512-NS0YBcToJl+BRKBSMCwRs/oHJIX67fG5Gvb4tGked+9Wnd1/PzKijd82B2QVKcSSOwRe+pp4RAJ2AULeck4eQw== -eslint-plugin-ember@^10.3.0: - version "10.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-10.5.1.tgz#3ec65cb562b438c64aa28d772606dbb55705e037" - integrity sha512-6cubCQdsybN2DtuXnlkhqi3SemBk4ktjq2k4vcjFG8QLmrpmiS6sDwIZMM/TLI8f9QwZIjmewhwS4zB/77E47w== +eslint-plugin-ember@^10.5.8: + version "10.5.8" + resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-10.5.8.tgz#87e004a5ebed88f94008364554daf57df2c9c718" + integrity sha512-d21mJ+F+htgi6HhrjwbOfllJojF4ZWGruW13HkBoGS2SaHqKUyvIH/8j3EjSxlsGFiNfhTEUWkNaUSLJxgbtWg== dependencies: "@ember-data/rfc395-data" "^0.0.4" css-tree "^1.0.0-alpha.39" ember-rfc176-data "^0.3.15" eslint-utils "^3.0.0" + estraverse "^5.2.0" lodash.kebabcase "^4.1.1" requireindex "^1.2.0" snake-case "^3.0.3" @@ -9157,23 +9189,15 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-mocha@^6.2.2: - version "6.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-6.3.0.tgz#72bfd06a5c4323e17e30ef41cd726030e8cdb8fd" - integrity sha512-Cd2roo8caAyG21oKaaNTj7cqeYRWW1I2B5SfpKRp0Ip1gkfwoR1Ow0IGlPWnNjzywdF4n+kHL8/9vM6zCJUxdg== - dependencies: - eslint-utils "^2.0.0" - ramda "^0.27.0" - -eslint-plugin-mocha@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-8.0.0.tgz#7ec5d228bcb3735301701dfbc3376320a1ca3791" - integrity sha512-n67etbWDz6NQM+HnTwZHyBwz/bLlYPOxUbw7bPuCyFujv7ZpaT/Vn6KTAbT02gf7nRljtYIjWcTxK/n8a57rQQ== +eslint-plugin-mocha@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.0.3.tgz#a4ecf2351828e852156316b7e936e7336fc0ff5e" + integrity sha512-9mM7PZGxfejpjey+MrG0Cu3Lc8MyA5E2s7eUCdHXgS4SY/H9zLuwa7wVAjnEaoDjbBilA+0bPEB+iMO7lBUPcg== dependencies: - eslint-utils "^2.1.0" + eslint-utils "^3.0.0" ramda "^0.27.1" -eslint-plugin-node@^11.0.0, eslint-plugin-node@^11.1.0: +eslint-plugin-node@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== @@ -9185,21 +9209,14 @@ eslint-plugin-node@^11.0.0, eslint-plugin-node@^11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-prettier@^3.1.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" - integrity sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-prettier@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz#cdbad3bf1dbd2b177e9825737fe63b476a08f0c7" - integrity sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw== +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== dependencies: prettier-linter-helpers "^1.0.0" -eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -9223,13 +9240,6 @@ eslint-scope@^5.1.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -9254,49 +9264,6 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - eslint@^7.1.0: version "7.5.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135" @@ -9339,56 +9306,14 @@ eslint@^7.1.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^7.12.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da" - integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.1" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.0" - esquery "^1.2.0" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.19" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.23.0: - version "7.29.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.29.0.tgz#ee2a7648f2e729485e4d0bd6383ec1deabc8b3c0" - integrity sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA== +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.2" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -9432,15 +9357,6 @@ esm@^3.2.25, esm@^3.2.4: resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - espree@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" @@ -9478,7 +9394,7 @@ esprima@~3.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" integrity sha1-U88kes2ncxPlUcOqLnM0LT+099k= -esquery@^1.0.1, esquery@^1.2.0: +esquery@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== @@ -9865,6 +9781,17 @@ fast-glob@^3.0.3, fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.7: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -10098,6 +10025,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.2.0.tgz#f3b81d633fa83bebe64f83a8bab357f86d5914be" + integrity sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA== + dependencies: + locate-path "^7.0.0" + path-exists "^5.0.0" + find-yarn-workspace-root@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" @@ -10533,10 +10468,10 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -fuse.js@^6.4.6: - version "6.4.6" - resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-6.4.6.tgz#62f216c110e5aa22486aff20be7896d19a059b79" - integrity sha512-/gYxR/0VpXmWSfZOIPS3rWwU8SHgsRTwWuXhyb2O6s7aRuVtHtxCkR33bNYu3wyLyNx/Wpv0vU7FZy8Vj53VNw== +fuse.js@^6.5.3: + version "6.5.3" + resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-6.5.3.tgz#7446c0acbc4ab0ab36fa602e97499bdb69452b93" + integrity sha512-sA5etGE7yD/pOqivZRBvUBd/NaL2sjAu6QuSaFoe1H2BrJSkH/T/UXAJ8CdXdw7DvY3Hs8CXKYkDWX7RiP5KOg== gauge@~2.7.3: version "2.7.4" @@ -10591,16 +10526,16 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - get-stdin@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== +get-stdin@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" + integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== + get-stream@3.0.0, get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -10785,6 +10720,18 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.2.0, glob@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^5.0.10: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -10808,18 +10755,6 @@ glob@^7.0.0, glob@^7.0.4, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-dirs@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" @@ -10946,6 +10881,18 @@ globby@^11.0.3: merge2 "^1.3.0" slash "^3.0.0" +globby@^12.0.2: + version "12.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" + integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== + dependencies: + array-union "^3.0.1" + dir-glob "^3.0.1" + fast-glob "^3.2.7" + ignore "^5.1.9" + merge2 "^1.4.1" + slash "^4.0.0" + globrex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" @@ -11506,6 +11453,11 @@ ignore@^5.1.1, ignore@^5.1.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.1.9: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + import-cwd@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" @@ -11624,7 +11576,7 @@ inquirer@7.0.4: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@7.3.3, inquirer@^7.0.0, inquirer@^7.0.1, inquirer@^7.3.3: +inquirer@7.3.3, inquirer@^7.0.1, inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== @@ -11942,6 +11894,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-hexadecimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" @@ -12687,14 +12646,6 @@ levenary@^1.1.1: dependencies: leven "^3.1.0" -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -12703,6 +12654,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + line-column@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" @@ -12820,6 +12779,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.0.0.tgz#f0a60c8dd7ef0f737699eb9461b9567a92bc97da" + integrity sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w== + dependencies: + p-locate "^6.0.0" + lodash._baseassign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" @@ -13086,6 +13052,14 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loupe@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.0.tgz#cfae54d12853592e0ec455af490fd6867e26875e" + integrity sha512-b6TVXtF01VErh8IxN/MfdiWLQmttrenN98PPGS01kym8kGycJ9tqBXD6D+4sNEDhgE83+H0Mk1cVSl0mD1nNSg== + dependencies: + get-func-name "^2.0.0" + type-detect "^4.0.8" + lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -13406,7 +13380,7 @@ merge-trees@^2.0.0: fs-updater "^1.0.4" heimdalljs "^0.2.5" -merge2@^1.2.3, merge2@^1.3.0: +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -13712,6 +13686,36 @@ mocha@^9.1.2: yargs-parser "20.2.4" yargs-unparser "2.0.0" +mocha@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.0.tgz#2bfba73d46e392901f877ab9a47b7c9c5d0275cc" + integrity sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.3" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + growl "1.10.5" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.2.0" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + workerpool "6.2.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + morgan@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" @@ -13794,6 +13798,11 @@ nanoid@3.1.25: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== +nanoid@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== + nanoid@^3.1.28: version "3.1.29" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.29.tgz#214fb2d7a33e1a5bef4757b779dfaeb6a4e5aeb4" @@ -14224,7 +14233,7 @@ onetime@^5.1.2: dependencies: wordwrap ">=0.0.1 <0.1.0" -optionator@^0.8.1, optionator@^0.8.3: +optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -14447,6 +14456,13 @@ p-limit@^3.1.0: dependencies: yocto-queue "^0.1.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -14475,6 +14491,13 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-map@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -14689,6 +14712,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@1.0.1, path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -14755,6 +14783,11 @@ pathval@^1.1.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + pbkdf2@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" @@ -14945,15 +14978,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -prettier@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" - integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== +prettier@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== pretty-ms@^3.1.0: version "3.2.0" @@ -15029,6 +15057,15 @@ propagate@^2.0.0: resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== +proper-lockfile@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" + protocols@^1.1.0, protocols@^1.4.0: version "1.4.7" resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" @@ -15209,7 +15246,7 @@ qunit@^2.9.3: node-watch "0.6.1" resolve "1.9.0" -ramda@^0.27.0, ramda@^0.27.1: +ramda@^0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== @@ -15449,11 +15486,6 @@ regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" @@ -15944,7 +15976,7 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry@0.12.0: +retry@0.12.0, retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= @@ -16395,7 +16427,7 @@ simple-dom@^1.4.0: "@simple-dom/serializer" "^1.4.0" "@simple-dom/void-map" "^1.4.0" -simple-html-tokenizer@^0.5.10, simple-html-tokenizer@^0.5.8: +simple-html-tokenizer@^0.5.11, simple-html-tokenizer@^0.5.8: version "0.5.11" resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.11.tgz#4c5186083c164ba22a7b477b7687ac056ad6b1d9" integrity sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og== @@ -16430,6 +16462,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -16851,6 +16888,15 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string.prototype.matchall@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" @@ -16952,6 +16998,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -16972,7 +17025,7 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@3.1.1, strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -17498,10 +17551,10 @@ tslib@^1.10.0, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== -tslib@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== +tslib@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== tty-browserify@0.0.0: version "0.0.0" @@ -17725,6 +17778,11 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +upath@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== + update-notifier@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" @@ -18362,6 +18420,11 @@ workerpool@6.1.5, workerpool@^6.1.4: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581" integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw== +workerpool@6.2.0, workerpool@^6.1.5: + version "6.2.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" + integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== + workerpool@^2.3.0: version "2.3.3" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-2.3.3.tgz#49a70089bd55e890d68cc836a19419451d7c81d7" @@ -18579,6 +18642,11 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.0.0: + version "21.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" + integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== + yargs-parser@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" @@ -18603,7 +18671,7 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0, yargs@^16.2.0: +yargs@16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -18685,7 +18753,25 @@ yargs@^15.0.0, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^17.3.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==