diff --git a/addon/.eslintrc.js b/addon/.eslintrc.js index ab627f4f0..36d6543b2 100644 --- a/addon/.eslintrc.js +++ b/addon/.eslintrc.js @@ -26,13 +26,9 @@ module.exports = { files: [ './.eslintrc.js', './.prettierrc.js', - './.template-lintrc.js', + './addon-main.js', './ember-cli-build.js', - './index.js', - './testem.js', - './blueprints/*/index.js', - './config/**/*.js', - './tests/dummy/config/**/*.js', + './rollup.config.js', ], parserOptions: { sourceType: 'script', @@ -44,10 +40,5 @@ module.exports = { plugins: ['node'], extends: ['plugin:node/recommended'], }, - { - // Test files: - files: ['tests/**/*-test.{js,ts}'], - extends: ['plugin:qunit/recommended'], - }, ], }; diff --git a/addon/addon-main.js b/addon/addon-main.js new file mode 100644 index 000000000..3cde686e1 --- /dev/null +++ b/addon/addon-main.js @@ -0,0 +1,3 @@ +const { addonV1Shim } = require('@embroider/addon-shim'); + +module.exports = addonV1Shim(__dirname); diff --git a/addon/app/helpers/if-key.js b/addon/app/helpers/if-key.js deleted file mode 100644 index 2cf2bf337..000000000 --- a/addon/app/helpers/if-key.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from 'ember-keyboard/helpers/if-key'; diff --git a/addon/app/helpers/on-key.js b/addon/app/helpers/on-key.js deleted file mode 100644 index 09db44c65..000000000 --- a/addon/app/helpers/on-key.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from 'ember-keyboard/helpers/on-key'; diff --git a/addon/app/modifiers/on-key.js b/addon/app/modifiers/on-key.js deleted file mode 100644 index 7223adda8..000000000 --- a/addon/app/modifiers/on-key.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from 'ember-keyboard/modifiers/on-key'; diff --git a/addon/app/services/keyboard.js b/addon/app/services/keyboard.js deleted file mode 100644 index 2c4de666e..000000000 --- a/addon/app/services/keyboard.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from 'ember-keyboard/services/keyboard'; diff --git a/addon/babel.config.json b/addon/babel.config.json new file mode 100644 index 000000000..cfcf8a3c3 --- /dev/null +++ b/addon/babel.config.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "@embroider/addon-dev/template-colocation-plugin", + ["@babel/plugin-proposal-decorators", { "legacy": true }], + "@babel/plugin-proposal-class-properties" + ] +} diff --git a/addon/index.js b/addon/index.js deleted file mode 100644 index 979a62839..000000000 --- a/addon/index.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -module.exports = { - name: require('./package').name, - - config(environment, appConfig) { - const addonConfig = appConfig['emberKeyboard'] || {}; - - if ( - 'disableInputsInitializer' in addonConfig && - !this.disableInputsInitializerDeprecationPrinted - ) { - // Do not print deprecation message multiple times - // as this hook may be invoked more than once. - this.disableInputsInitializerDeprecationPrinted = true; - - this.ui.writeDeprecateLine( - '[ember-keyboard] The `emberKeyboard.disableInputsInitializer` option is obsolete. ' + - 'You can remove it from your `config/environment.js` file.', - false - ); - } - - if ('propagation' in addonConfig && !this.propagationDeprecationPrinted) { - // Do not print deprecation message multiple times - // as this hook may be invoked more than once. - this.propagationDeprecationPrinted = true; - - this.ui.writeDeprecateLine( - '[ember-keyboard] The `emberKeyboard.propagation` option is obsolete. ' + - 'You can remove it from your `config/environment.js` file.', - false - ); - } - }, -}; diff --git a/addon/package.json b/addon/package.json index eb5f16c64..97cd1a154 100644 --- a/addon/package.json +++ b/addon/package.json @@ -12,18 +12,36 @@ "doc": "doc", "test": "tests" }, + "exports": { + ".": "./dist/index.js", + "./*": "./dist/*", + "./test-support/key-event": "./dist/test-support/key-event.js", + "./test-support/test-helpers": "./dist/test-support/test-helpers.js", + "./addon-main.js": "./addon-main.js" + }, + "files": [ + "addon-main.js", + "dist" + ], "scripts": { - "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"", - "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix", + "build": "rollup --config", + "lint": "eslint . --cache", + "lint:fix": "eslint . --fix", "lint:js": "eslint . --cache", - "lint:js:fix": "eslint . --fix" + "lint:js:fix": "eslint . --fix", + "prepublishOnly": "rollup --config", + "start": "rollup --config --watch" }, "dependencies": { - "ember-cli-babel": "^7.26.6", - "ember-modifier": "^2.1.2 || ^3.0.0", - "ember-modifier-manager-polyfill": "^1.2.0" + "@embroider/addon-shim": "^1.2.0", + "ember-modifier": "^2.1.2 || ^3.1.0" }, "devDependencies": { + "@babel/core": "^7.17.2", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-decorators": "^7.17.2", + "@embroider/addon-dev": "^1.2.0", + "@rollup/plugin-babel": "^5.3.0", "ember-template-lint": "^4.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", @@ -31,8 +49,16 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-qunit": "^7.0.0", - "npm-run-all": "^4.1.5", - "prettier": "^2.4.1" + "prettier": "^2.4.1", + "rollup": "^2.67.2" + }, + "peerDependencies": { + "@ember/test-helpers": "^2.6.0" + }, + "peerDependenciesMeta": { + "@ember/test-helpers": { + "optional": true + } }, "engines": { "node": "12.* || 14.* || >= 16" @@ -41,7 +67,16 @@ "edition": "octane" }, "ember-addon": { - "demoURL": "https://adopted-ember-addons.github.io/ember-keyboard/" + "demoURL": "https://adopted-ember-addons.github.io/ember-keyboard/", + "main": "addon-main.js", + "type": "addon", + "version": 2, + "app-js": { + "./helpers/if-key.js": "./dist/_app_/helpers/if-key.js", + "./helpers/on-key.js": "./dist/_app_/helpers/on-key.js", + "./modifiers/on-key.js": "./dist/_app_/modifiers/on-key.js", + "./services/keyboard.js": "./dist/_app_/services/keyboard.js" + } }, "release-it": { "plugins": { diff --git a/addon/rollup.config.js b/addon/rollup.config.js new file mode 100644 index 000000000..d59b1a377 --- /dev/null +++ b/addon/rollup.config.js @@ -0,0 +1,64 @@ +import babel from '@rollup/plugin-babel'; +import { Addon } from '@embroider/addon-dev/rollup'; + +const addon = new Addon({ + srcDir: 'src', + destDir: 'dist', +}); + +export default { + // This provides defaults that work well alongside `publicEntrypoints` below. + // You can augment this if you need to. + output: addon.output(), + + plugins: [ + // These are the modules that users should be able to import from your + // addon. Anything not listed here may get optimized away. + addon.publicEntrypoints([ + 'decorators/**/*.js', + 'fixtures/**/*.js', + 'helpers/**/*.js', + 'listeners/**/*.js', + 'modifiers/**/*.js', + 'services/**/*.js', + 'test-support/key-event.js', + 'test-support/test-helpers.js', + 'utils/**/*.js', + 'index.js', + ]), + + // These are the modules that should get reexported into the traditional + // "app" tree. Things in here should also be in publicEntrypoints above, but + // not everything in publicEntrypoints necessarily needs to go here. + addon.appReexports([ + 'helpers/**/*.js', + 'modifiers/**/*.js', + 'services/**/*.js', + ]), + + // This babel config should *not* apply presets or compile away ES modules. + // It exists only to provide development niceties for you, like automatic + // template colocation. + // + // By default, this will load the actual babel config from the file + // babel.config.json. + babel({ + babelHelpers: 'bundled', + }), + + // Follow the V2 Addon rules about dependencies. Your code can import from + // `dependencies` and `peerDependencies` as well as standard Ember-provided + // package names. + addon.dependencies(), + + // Ensure that standalone .hbs files are properly integrated as Javascript. + addon.hbs(), + + // addons are allowed to contain imports of .css files, which we want rollup + // to leave alone and keep in the published output. + addon.keepAssets(['**/*.css']), + + // Remove leftover build artifacts when starting a new build. + addon.clean(), + ], +}; diff --git a/addon/addon/decorators/key-responder.js b/addon/src/decorators/key-responder.js similarity index 100% rename from addon/addon/decorators/key-responder.js rename to addon/src/decorators/key-responder.js diff --git a/addon/addon/decorators/on-key.js b/addon/src/decorators/on-key.js similarity index 95% rename from addon/addon/decorators/on-key.js rename to addon/src/decorators/on-key.js index 1b54cd7e4..f57786c72 100644 --- a/addon/addon/decorators/on-key.js +++ b/addon/src/decorators/on-key.js @@ -1,4 +1,4 @@ -import listenerName from 'ember-keyboard/utils/listener-name'; +import listenerName from '../utils/listener-name'; const DEFAULT_EVENT_NAME = 'keydown'; export default function onKey(keyCombo, opts = {}) { diff --git a/addon/addon/fixtures/key-maps.js b/addon/src/fixtures/key-maps.js similarity index 100% rename from addon/addon/fixtures/key-maps.js rename to addon/src/fixtures/key-maps.js diff --git a/addon/addon/fixtures/modifiers-array.js b/addon/src/fixtures/modifiers-array.js similarity index 100% rename from addon/addon/fixtures/modifiers-array.js rename to addon/src/fixtures/modifiers-array.js diff --git a/addon/addon/fixtures/mouse-buttons-array.js b/addon/src/fixtures/mouse-buttons-array.js similarity index 100% rename from addon/addon/fixtures/mouse-buttons-array.js rename to addon/src/fixtures/mouse-buttons-array.js diff --git a/addon/addon/helpers/if-key.js b/addon/src/helpers/if-key.js similarity index 83% rename from addon/addon/helpers/if-key.js rename to addon/src/helpers/if-key.js index f89496c91..aca12b5df 100644 --- a/addon/addon/helpers/if-key.js +++ b/addon/src/helpers/if-key.js @@ -1,7 +1,7 @@ import { helper } from '@ember/component/helper'; -import isKey from 'ember-keyboard/utils/is-key'; -import listenerName from 'ember-keyboard/utils/listener-name'; import { assert } from '@ember/debug'; +import isKey from '../utils/is-key'; +import listenerName from '../utils/listener-name'; export default helper(function ifKey([keyCombo, callback] /*, named*/) { return function (event) { diff --git a/addon/addon/helpers/on-key.js b/addon/src/helpers/on-key.js similarity index 93% rename from addon/addon/helpers/on-key.js rename to addon/src/helpers/on-key.js index b3a0a7169..e7be51269 100644 --- a/addon/addon/helpers/on-key.js +++ b/addon/src/helpers/on-key.js @@ -1,7 +1,7 @@ import Helper from '@ember/component/helper'; -import { inject as service } from '@ember/service'; -import listenerName from 'ember-keyboard/utils/listener-name'; import { assert } from '@ember/debug'; +import { inject as service } from '@ember/service'; +import listenerName from '../utils/listener-name'; export default class extends Helper { @service keyboard; diff --git a/addon/addon/index.js b/addon/src/index.js similarity index 51% rename from addon/addon/index.js rename to addon/src/index.js index 34f47a7cc..41877f854 100644 --- a/addon/addon/index.js +++ b/addon/src/index.js @@ -1,6 +1,6 @@ -import getMouseCode from 'ember-keyboard/utils/get-mouse-code'; -import { default as keyResponder } from 'ember-keyboard/decorators/key-responder'; -import { default as onKey } from 'ember-keyboard/decorators/on-key'; +import getMouseCode from './utils/get-mouse-code'; +import { default as keyResponder } from './decorators/key-responder'; +import { default as onKey } from './decorators/on-key'; function getCode() { throw new Error( @@ -16,15 +16,11 @@ function getKeyCode() { export { getCode, getKeyCode, getMouseCode, keyResponder, onKey }; -export { keyDown, keyUp, keyPress } from 'ember-keyboard/listeners/key-events'; -export { - click, - mouseDown, - mouseUp, -} from 'ember-keyboard/listeners/mouse-events'; -export { touchStart, touchEnd } from 'ember-keyboard/listeners/touch-events'; +export { keyDown, keyUp, keyPress } from './listeners/key-events'; +export { click, mouseDown, mouseUp } from './listeners/mouse-events'; +export { touchStart, touchEnd } from './listeners/touch-events'; export { triggerKeyDown, triggerKeyPress, triggerKeyUp, -} from 'ember-keyboard/utils/trigger-event'; +} from './utils/trigger-event'; diff --git a/addon/addon/listeners/key-events.js b/addon/src/listeners/key-events.js similarity index 79% rename from addon/addon/listeners/key-events.js rename to addon/src/listeners/key-events.js index 2844b695e..802538886 100644 --- a/addon/addon/listeners/key-events.js +++ b/addon/src/listeners/key-events.js @@ -1,4 +1,4 @@ -import listenerName from 'ember-keyboard/utils/listener-name'; +import listenerName from '../utils/listener-name'; export function keyDown(keyCombo) { return listenerName('keydown', keyCombo); diff --git a/addon/addon/listeners/mouse-events.js b/addon/src/listeners/mouse-events.js similarity index 78% rename from addon/addon/listeners/mouse-events.js rename to addon/src/listeners/mouse-events.js index c7d111a83..621153f04 100644 --- a/addon/addon/listeners/mouse-events.js +++ b/addon/src/listeners/mouse-events.js @@ -1,6 +1,6 @@ -import listenerName from 'ember-keyboard/utils/listener-name'; -import validMouseButtons from 'ember-keyboard/fixtures/mouse-buttons-array'; -import validModifiers from 'ember-keyboard/fixtures/modifiers-array'; +import listenerName from '../utils/listener-name'; +import validMouseButtons from '../fixtures/mouse-buttons-array'; +import validModifiers from '../fixtures/modifiers-array'; const validKeys = validMouseButtons.concat(validModifiers); diff --git a/addon/addon/listeners/touch-events.js b/addon/src/listeners/touch-events.js similarity index 82% rename from addon/addon/listeners/touch-events.js rename to addon/src/listeners/touch-events.js index a032e3c16..c20b2f535 100644 --- a/addon/addon/listeners/touch-events.js +++ b/addon/src/listeners/touch-events.js @@ -1,5 +1,5 @@ -import listenerName from 'ember-keyboard/utils/listener-name'; -import validModifiers from 'ember-keyboard/fixtures/modifiers-array'; +import listenerName from '../utils/listener-name'; +import validModifiers from '../fixtures/modifiers-array'; function validateKeys(keysString) { const keys = keysString !== undefined ? keysString.split('+') : []; diff --git a/addon/addon/modifiers/on-key.js b/addon/src/modifiers/on-key.js similarity index 96% rename from addon/addon/modifiers/on-key.js rename to addon/src/modifiers/on-key.js index 98c909b62..458772238 100644 --- a/addon/addon/modifiers/on-key.js +++ b/addon/src/modifiers/on-key.js @@ -1,8 +1,8 @@ import Modifier from 'ember-modifier'; import { inject as service } from '@ember/service'; import { action } from '@ember/object'; -import listenerName from 'ember-keyboard/utils/listener-name'; -import isKey from 'ember-keyboard/utils/is-key'; +import listenerName from '../utils/listener-name'; +import isKey from '../utils/is-key'; const ONLY_WHEN_FOCUSED_TAG_NAMES = ['input', 'select', 'textarea']; diff --git a/addon/addon/services/keyboard.js b/addon/src/services/keyboard.js similarity index 91% rename from addon/addon/services/keyboard.js rename to addon/src/services/keyboard.js index 0370df09b..bfa8b1da5 100644 --- a/addon/addon/services/keyboard.js +++ b/addon/src/services/keyboard.js @@ -2,9 +2,9 @@ import Service from '@ember/service'; import { getOwner } from '@ember/application'; import { action } from '@ember/object'; import { run } from '@ember/runloop'; -import { keyDown, keyPress, keyUp } from 'ember-keyboard/listeners/key-events'; -import { handleKeyEventWithPropagation } from 'ember-keyboard/utils/handle-key-event'; -import { reverseCompareProp } from 'ember-keyboard/utils/sort'; +import { keyDown, keyPress, keyUp } from '../listeners/key-events'; +import { handleKeyEventWithPropagation } from '../utils/handle-key-event'; +import { reverseCompareProp } from '../utils/sort'; export default class KeyboardService extends Service { registeredResponders = new Set(); diff --git a/addon/addon-test-support/key-event.js b/addon/src/test-support/key-event.js similarity index 77% rename from addon/addon-test-support/key-event.js rename to addon/src/test-support/key-event.js index 98f840200..a94203a2c 100644 --- a/addon/addon-test-support/key-event.js +++ b/addon/src/test-support/key-event.js @@ -1,7 +1,7 @@ -import { getMouseCode } from 'ember-keyboard'; -import validModifiers from 'ember-keyboard/fixtures/modifiers-array'; -import validMouseButtons from 'ember-keyboard/fixtures/mouse-buttons-array'; -import getCmdKey from 'ember-keyboard/utils/get-cmd-key'; +import getMouseCode from '../utils/get-mouse-code'; +import validModifiers from '../fixtures/modifiers-array'; +import validMouseButtons from '../fixtures/mouse-buttons-array'; +import getCmdKey from '../utils/get-cmd-key'; import { triggerEvent } from '@ember/test-helpers'; export function keyEvent( diff --git a/addon/addon-test-support/test-helpers.js b/addon/src/test-support/test-helpers.js similarity index 100% rename from addon/addon-test-support/test-helpers.js rename to addon/src/test-support/test-helpers.js diff --git a/addon/addon/utils/get-cmd-key.js b/addon/src/utils/get-cmd-key.js similarity index 100% rename from addon/addon/utils/get-cmd-key.js rename to addon/src/utils/get-cmd-key.js diff --git a/addon/addon/utils/get-mouse-code.js b/addon/src/utils/get-mouse-code.js similarity index 100% rename from addon/addon/utils/get-mouse-code.js rename to addon/src/utils/get-mouse-code.js diff --git a/addon/addon/utils/get-mouse-name.js b/addon/src/utils/get-mouse-name.js similarity index 100% rename from addon/addon/utils/get-mouse-name.js rename to addon/src/utils/get-mouse-name.js diff --git a/addon/addon/utils/handle-key-event.js b/addon/src/utils/handle-key-event.js similarity index 97% rename from addon/addon/utils/handle-key-event.js rename to addon/src/utils/handle-key-event.js index 7eaaac014..3a740fb1c 100644 --- a/addon/addon/utils/handle-key-event.js +++ b/addon/src/utils/handle-key-event.js @@ -1,4 +1,4 @@ -import isKey from 'ember-keyboard/utils/is-key'; +import isKey from './is-key'; export function handleKeyEventWithPropagation( event, diff --git a/addon/addon/utils/is-key.js b/addon/src/utils/is-key.js similarity index 95% rename from addon/addon/utils/is-key.js rename to addon/src/utils/is-key.js index 7ec7a6215..38d5f7d4f 100644 --- a/addon/addon/utils/is-key.js +++ b/addon/src/utils/is-key.js @@ -4,9 +4,9 @@ import { SHIFT_KEY_MAP, MAC_ALT_KEY_MAP, MAC_SHIFT_ALT_KEY_MAP, -} from 'ember-keyboard/fixtures/key-maps'; -import ALL_MODIFIERS from 'ember-keyboard/fixtures/modifiers-array'; -import getMouseName from 'ember-keyboard/utils/get-mouse-name'; +} from '../fixtures/key-maps'; +import ALL_MODIFIERS from '../fixtures/modifiers-array'; +import getMouseName from './get-mouse-name'; const ALL_SYMBOL = '_all'; diff --git a/addon/addon/utils/keyboard-listener.js b/addon/src/utils/keyboard-listener.js similarity index 100% rename from addon/addon/utils/keyboard-listener.js rename to addon/src/utils/keyboard-listener.js diff --git a/addon/addon/utils/listener-name.js b/addon/src/utils/listener-name.js similarity index 89% rename from addon/addon/utils/listener-name.js rename to addon/src/utils/listener-name.js index 32693fccc..f61051a75 100644 --- a/addon/addon/utils/listener-name.js +++ b/addon/src/utils/listener-name.js @@ -1,4 +1,4 @@ -import getCmdKey from 'ember-keyboard/utils/get-cmd-key'; +import getCmdKey from './get-cmd-key'; function sortedKeys(keyArray) { return keyArray.sort().join('+'); diff --git a/addon/addon/utils/platform.js b/addon/src/utils/platform.js similarity index 100% rename from addon/addon/utils/platform.js rename to addon/src/utils/platform.js diff --git a/addon/addon/utils/sort.js b/addon/src/utils/sort.js similarity index 100% rename from addon/addon/utils/sort.js rename to addon/src/utils/sort.js diff --git a/addon/addon/utils/trigger-event.js b/addon/src/utils/trigger-event.js similarity index 100% rename from addon/addon/utils/trigger-event.js rename to addon/src/utils/trigger-event.js diff --git a/test-app/app/templates/application.hbs b/test-app/app/templates/application.hbs index 5dcf7b935..289dc7482 100644 --- a/test-app/app/templates/application.hbs +++ b/test-app/app/templates/application.hbs @@ -10,12 +10,12 @@
- +

ember-keyboard

- Octocat + Octocat
{{outlet}} diff --git a/test-app/package.json b/test-app/package.json index b2ab2630b..979333244 100644 --- a/test-app/package.json +++ b/test-app/package.json @@ -30,13 +30,13 @@ "devDependencies": { "@ember/optional-features": "^2.0.0", "@ember/test-helpers": "^2.6.0", - "@embroider/test-setup": "^1.1.0", + "@embroider/test-setup": "^1.2.0", "@glimmer/component": "^1.0.4", "@glimmer/tracking": "^1.0.4", "babel-eslint": "^10.1.0", "broccoli-asset-rev": "^3.0.0", "ember-angle-bracket-invocation-polyfill": "^3.0.1", - "ember-auto-import": "^2.2.4", + "ember-auto-import": "^2.4.0", "ember-compatibility-helpers": "^1.2.5", "ember-cli": "~4.1.0", "ember-cli-babel": "^7.26.6", diff --git a/yarn.lock b/yarn.lock index d54246a87..1b332a37e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -49,6 +49,27 @@ json5 "^2.1.2" semver "^6.3.0" +"@babel/core@^7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" + integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== + dependencies: + "@ampproject/remapping" "^2.0.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.2" + "@babel/parser" "^7.17.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/generator@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" @@ -83,7 +104,7 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.0", "@babel/helper-create-class-features-plugin@^7.5.5": +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.0", "@babel/helper-create-class-features-plugin@^7.17.1", "@babel/helper-create-class-features-plugin@^7.5.5": version "7.17.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== @@ -162,7 +183,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== @@ -265,6 +286,15 @@ "@babel/traverse" "^7.17.0" "@babel/types" "^7.17.0" +"@babel/helpers@^7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" + integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" @@ -332,6 +362,17 @@ "@babel/plugin-syntax-decorators" "^7.17.0" charcodes "^0.2.0" +"@babel/plugin-proposal-decorators@^7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz#c36372ddfe0360cac1ee331a238310bddca11493" + integrity sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.17.1" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/plugin-syntax-decorators" "^7.17.0" + charcodes "^0.2.0" + "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" @@ -1032,6 +1073,28 @@ ember-cli-version-checker "^5.1.2" semver "^7.3.5" +"@embroider/addon-dev@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@embroider/addon-dev/-/addon-dev-1.2.0.tgz#19fdaab21d4a9a058981a287293ec8434891eacf" + integrity sha512-u+Zgj750zikDonL3PF2C2tGMz2KheZ/7waRaUaf1cR30lQvCejGODPUuKrqgnQR1+kO4mIR7DuRWHh4m2tx8ig== + dependencies: + "@embroider/shared-internals" "^1.2.0" + "@rollup/pluginutils" "^4.1.1" + fs-extra "^10.0.0" + minimatch "^3.0.4" + rollup-plugin-copy-assets "^2.0.3" + rollup-plugin-delete "^2.0.0" + walk-sync "^3.0.0" + yargs "^17.0.1" + +"@embroider/addon-shim@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@embroider/addon-shim/-/addon-shim-1.2.0.tgz#ed936e5dc76a50dc041075bc37e0f910772cb6ee" + integrity sha512-GnhJWjvOWRU87eZrswO8/CmAWbyeG48B5/3Ana0reUzxpoTJHnkrBHdDcnrOYshF4YPgWmAMEkJVCXyjM1joNA== + dependencies: + "@embroider/shared-internals" "^1.2.0" + semver "^7.3.5" + "@embroider/macros@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@embroider/macros/-/macros-1.0.0.tgz#2dfab550ba4e03cbf6e3524759949749ced98cc2" @@ -1059,10 +1122,23 @@ semver "^7.3.5" typescript-memoize "^1.0.1" -"@embroider/test-setup@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@embroider/test-setup/-/test-setup-1.1.0.tgz#d92186298e43571c5948a552357624e1a3daec33" - integrity sha512-p33GxYArGUw3zRUo1Oxv15o9/tn+rkS41QQdNay1Ztuy7DwWKFkCZaKQ1vuGC721WTEKBnwPlbQO/0RADcHqgw== +"@embroider/shared-internals@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-1.2.0.tgz#edb3ca7e8528be713dab01818e8caad2dc937fba" + integrity sha512-11RfGuXxT+m2xPcpny/ENHjw53CuKPcrx7222LFQ53+I09hLxsvPCsH8be5E99LePDA46YGX41vxOxxfowD4OQ== + dependencies: + babel-import-util "^1.1.0" + ember-rfc176-data "^0.3.17" + fs-extra "^9.1.0" + lodash "^4.17.21" + resolve-package-path "^4.0.1" + semver "^7.3.5" + typescript-memoize "^1.0.1" + +"@embroider/test-setup@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@embroider/test-setup/-/test-setup-1.2.0.tgz#89220b1f77b6d16b9100686e28958c7643762d40" + integrity sha512-2N/+yqNmiDmh+wCDCPPYFSJX7wInWwQPEEkCU8GHM/S0GUHS6tsMEZK5ZxlbgLDCT/OP2AxGpeWIEBUMgQsA8w== dependencies: lodash "^4.17.21" resolve "^1.20.0" @@ -1386,6 +1462,31 @@ dependencies: "@octokit/openapi-types" "^11.2.0" +"@rollup/plugin-babel@^5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" + integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^4.1.1": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751" + integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + "@simple-dom/document@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@simple-dom/document/-/document-1.4.0.tgz#af60855f957f284d436983798ef1006cca1a1678" @@ -1539,6 +1640,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/estree@^0.0.50": version "0.0.50" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" @@ -4433,6 +4539,20 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +del@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -4649,7 +4769,7 @@ ember-auto-import@^1.11.3: walk-sync "^0.3.3" webpack "^4.43.0" -ember-auto-import@^2.2.0, ember-auto-import@^2.2.3, ember-auto-import@^2.2.4: +ember-auto-import@^2.2.0, ember-auto-import@^2.2.3, ember-auto-import@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/ember-auto-import/-/ember-auto-import-2.4.0.tgz#91c4797f08315728086e35af954cb60bd23c14bc" integrity sha512-BwF6iTaoSmT2vJ9NEHEGRBCh2+qp+Nlaz/Q7roqNSxl5oL5iMRwenPnHhOoBPTYZvPhcV/KgXR5e+pBQ107plQ== @@ -4690,7 +4810,7 @@ ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.1: resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.1.tgz#5016b80cdef37036c4282eef2d863e1d73576879" integrity sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw== -ember-cli-babel@^7.0.0, ember-cli-babel@^7.1.2, ember-cli-babel@^7.10.0, ember-cli-babel@^7.13.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.18.0, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.0, ember-cli-babel@^7.26.3, ember-cli-babel@^7.26.4, ember-cli-babel@^7.26.6, ember-cli-babel@^7.7.3: +ember-cli-babel@^7.0.0, ember-cli-babel@^7.1.2, ember-cli-babel@^7.13.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.18.0, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.0, ember-cli-babel@^7.26.3, ember-cli-babel@^7.26.4, ember-cli-babel@^7.26.6, ember-cli-babel@^7.7.3: version "7.26.11" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.11.tgz#50da0fe4dcd99aada499843940fec75076249a9f" integrity sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA== @@ -5136,16 +5256,7 @@ ember-load-initializers@^2.1.2: ember-cli-babel "^7.13.0" ember-cli-typescript "^2.0.2" -ember-modifier-manager-polyfill@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ember-modifier-manager-polyfill/-/ember-modifier-manager-polyfill-1.2.0.tgz#cf4444e11a42ac84f5c8badd85e635df57565dda" - integrity sha512-bnaKF1LLKMkBNeDoetvIJ4vhwRPKIIumWr6dbVuW6W6p4QV8ZiO+GdF8J7mxDNlog9CeL9Z/7wam4YS86G8BYA== - dependencies: - ember-cli-babel "^7.10.0" - ember-cli-version-checker "^2.1.2" - ember-compatibility-helpers "^1.2.0" - -"ember-modifier@^2.1.2 || ^3.0.0": +"ember-modifier@^2.1.2 || ^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/ember-modifier/-/ember-modifier-3.1.0.tgz#ba5b0941302accd787ed3dcfc8d20400b77ffc41" integrity sha512-G5Lj9jVFsD2sVJcRNQfaGKG1p81wT4LGfClBhCuB4TgwP1NGJKdqI+Q8BW2MptONxQt/71UjjUH0YK7Gm9eahg== @@ -5714,6 +5825,16 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6718,6 +6839,20 @@ globby@11.0.4: merge2 "^1.3.0" slash "^3.0.0" +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@^11.0.3: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -6781,7 +6916,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== @@ -7561,7 +7696,12 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-inside@^3.0.2: +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.1, is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -9822,7 +9962,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -10686,6 +10826,27 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rollup-plugin-copy-assets@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz#9a9098894c3ded16d2eee8c4108055e332b5f59f" + integrity sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w== + dependencies: + fs-extra "^7.0.1" + +rollup-plugin-delete@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz#262acf80660d48c3b167fb0baabd0c3ab985c153" + integrity sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA== + dependencies: + del "^5.1.0" + +rollup@^2.67.2: + version "2.67.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.2.tgz#d95e15f60932ad21e05a870bd0aa0b235d056f04" + integrity sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw== + optionalDependencies: + fsevents "~2.3.2" + rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0: version "3.6.2" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" @@ -12743,7 +12904,7 @@ yargs@^16.0.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.1.0, yargs@^17.3.1: +yargs@^17.0.1, yargs@^17.1.0, 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==