From 15ae406ac580405c22ddbe845f74c8310677022d Mon Sep 17 00:00:00 2001 From: Alex Matchneer Date: Sun, 4 Feb 2024 18:18:13 +0800 Subject: [PATCH] Convert to V2 Addon (#551) --- .bowerrc | 4 - .github/workflows/ci.yml | 9 +- .gitignore | 46 +- CONTRIBUTING.md | 3 +- README.md | 2 +- index.js | 26 - jsconfig.json | 1 - package.json | 136 +- .../ember-concurrency/.eslintignore | 4 +- .../ember-concurrency/.eslintrc.js | 7 +- .../ember-concurrency/.prettierignore | 0 .../ember-concurrency/.prettierrc.js | 0 .../ember-concurrency/.template-lintrc.js | 0 packages/ember-concurrency/addon-main.cjs | 2 + .../app}/helpers/cancel-all.js | 0 .../ember-concurrency/app}/helpers/perform.js | 0 .../ember-concurrency/app}/helpers/task.js | 0 .../async-arrow-task-transform.js | 0 packages/ember-concurrency/babel.config.json | 20 + packages/ember-concurrency/package.json | 100 + packages/ember-concurrency/rollup.config.mjs | 46 + .../src}/-private/async-arrow-runtime.js | 2 +- .../-private/cancelable-promise-helpers.js | 0 .../src}/-private/ember-environment.js | 0 .../src}/-private/external/environment.js | 0 .../src}/-private/external/generator-state.js | 0 .../scheduler/policies/bounded-policy.js | 0 .../scheduler/policies/drop-policy.js | 0 .../scheduler/policies/enqueued-policy.js | 0 .../scheduler/policies/execution-states.js | 0 .../scheduler/policies/keep-latest-policy.js | 0 .../scheduler/policies/restartable-policy.js | 0 .../scheduler/policies/unbounded-policy.js | 0 .../-private/external/scheduler/refresh.js | 0 .../-private/external/scheduler/scheduler.js | 0 .../state-tracker/null-state-tracker.js | 0 .../scheduler/state-tracker/null-state.js | 0 .../scheduler/state-tracker/state-tracker.js | 0 .../external/scheduler/state-tracker/state.js | 0 .../src}/-private/external/task-decorators.js | 0 .../src}/-private/external/task-factory.js | 0 .../-private/external/task-instance/base.js | 0 .../external/task-instance/cancelation.js | 0 .../task-instance/completion-states.js | 0 .../external/task-instance/executor.js | 0 .../external/task-instance/initial-state.js | 0 .../-private/external/task/default-state.js | 0 .../src}/-private/external/task/task-group.js | 0 .../src}/-private/external/task/task.js | 0 .../src}/-private/external/task/taskable.js | 0 .../src}/-private/external/yieldables.js | 0 .../src}/-private/helpers.js | 0 .../-private/scheduler/ember-scheduler.js | 0 .../src}/-private/task-decorators.js | 29 +- .../src}/-private/task-factory.js | 0 .../src}/-private/task-group.js | 0 .../src}/-private/task-instance.js | 3 +- .../src}/-private/task-properties.js | 44 +- .../src}/-private/task-public-api.js | 0 .../ember-concurrency/src}/-private/task.js | 0 .../src}/-private/taskable-mixin.js | 4 +- .../src}/-private/tracked-state.js | 49 +- .../ember-concurrency/src}/-private/utils.js | 5 - .../src}/-private/wait-for.js | 0 .../ember-concurrency/src}/-task-instance.js | 0 .../ember-concurrency/src}/-task-property.js | 0 .../src}/helpers/cancel-all.js | 2 +- .../ember-concurrency/src}/helpers/perform.js | 2 +- .../ember-concurrency/src}/helpers/task.js | 0 .../ember-concurrency/src}/index.d.ts | 0 .../ember-concurrency/src}/index.js | 0 packages/ember-concurrency/tsconfig.json | 42 + packages/test-app/.editorconfig | 19 + .ember-cli => packages/test-app/.ember-cli | 0 packages/test-app/.eslintignore | 29 + packages/test-app/.eslintrc.js | 57 + packages/test-app/.gitignore | 32 + .jsdoc => packages/test-app/.jsdoc | 4 +- packages/test-app/.prettierignore | 25 + packages/test-app/.prettierrc.js | 12 + packages/test-app/.template-lintrc.js | 9 + packages/test-app/.watchmanconfig | 3 + API.md => packages/test-app/API.md | 0 packages/test-app/README.md | 56 + {tests/dummy => packages/test-app}/app/app.js | 2 +- .../test-app}/app/application/controller.js | 0 .../test-app}/app/application/route.js | 2 +- .../test-app}/app/application/template.hbs | 0 .../ajax-throttling-example/component.js | 0 .../ajax-throttling-example/template.hbs | 0 .../app/components/caps-marquee/component.js | 0 .../app/components/caps-marquee/template.hbs | 0 .../app/components/code-snippet/component.js | 0 .../app/components/code-snippet/template.hbs | 0 .../code-template-toggle/component.js | 0 .../code-template-toggle/template.hbs | 0 .../components/concurrency-graph/component.js | 0 .../components/concurrency-graph/template.hbs | 0 .../app/components/count-up/component.js | 0 .../app/components/count-up/template.hbs | 0 .../components/events-example/component.js | 0 .../components/events-example/template.hbs | 0 .../app/components/github-edit/component.js | 2 +- .../app/components/github-edit/template.hbs | 0 .../components/loading-spinner/component.js | 0 .../components/loading-spinner/template.hbs | 0 .../test-app}/app/components/my-button.js | 0 .../app/components/nav-header/component.js | 0 .../app/components/nav-header/template.hbs | 0 .../press-and-hold-button/component.js | 0 .../press-and-hold-button/template.hbs | 0 .../components/scrambled-text/component.js | 0 .../components/scrambled-text/template.hbs | 0 .../components/shared-tutorial/component.js | 0 .../start-task-example/component.js | 0 .../start-task-example/template.hbs | 0 .../task-function-syntax-1/component.js | 0 .../task-function-syntax-1/template.hbs | 0 .../task-function-syntax-2/component.js | 0 .../task-function-syntax-2/template.hbs | 0 .../task-function-syntax-3/component.js | 0 .../task-function-syntax-3/template.hbs | 0 .../task-function-syntax-4/component.js | 0 .../task-function-syntax-4/template.hbs | 0 .../task-function-syntax-5/component.js | 0 .../component.js | 0 .../template.hbs | 0 .../app/components/tutorial-0/component.js | 0 .../app/components/tutorial-0/template.hbs | 0 .../app/components/tutorial-1/component.js | 0 .../app/components/tutorial-1/template.hbs | 0 .../app/components/tutorial-2/component.js | 0 .../app/components/tutorial-2/template.hbs | 0 .../app/components/tutorial-3/component.js | 0 .../app/components/tutorial-3/template.hbs | 0 .../app/components/tutorial-4/component.js | 0 .../app/components/tutorial-4/template.hbs | 0 .../app/components/tutorial-5/component.js | 0 .../app/components/tutorial-5/template.hbs | 0 .../app/components/tutorial-6/component.js | 0 .../app/components/tutorial-6/template.hbs | 0 .../app/components/tutorial-7/component.js | 0 .../app/components/tutorial-7/template.hbs | 0 .../app/components/tutorial-8/component.js | 0 .../app/components/tutorial-8/template.hbs | 0 .../app/components/tutorial-9/component.js | 0 .../app/components/tutorial-9/template.hbs | 0 .../test-app}/app/docs/404/route.js | 0 .../advanced/encapsulated-task/controller.js | 2 +- .../advanced/encapsulated-task/template.hbs | 0 .../advanced/lifecycle-events/template.hbs | 0 .../advanced/task-modifiers/controller.js | 2 +- .../docs/advanced/task-modifiers/template.hbs | 0 .../app/docs/advanced/yieldables/template.hbs | 0 .../app/docs/cancelation/controller.js | 0 .../app/docs/cancelation/template.hbs | 0 .../app/docs/child-tasks/controller.js | 0 .../app/docs/child-tasks/template.hbs | 0 .../test-app}/app/docs/controller.js | 0 .../app/docs/derived-state/controller.js | 2 +- .../app/docs/derived-state/template.hbs | 0 .../app/docs/encapsulated-task/route.js | 0 .../docs/error-vs-cancelation/controller.js | 0 .../docs/error-vs-cancelation/template.hbs | 0 .../test-app}/app/docs/events/template.hbs | 0 .../examples/ajax-throttling/template.hbs | 0 .../docs/examples/autocomplete/controller.js | 0 .../docs/examples/autocomplete/template.hbs | 0 .../examples/increment-buttons/controller.js | 0 .../examples/increment-buttons/template.hbs | 0 .../app/docs/examples/index/template.hbs | 0 .../docs/examples/joining-tasks/controller.js | 2 +- .../docs/examples/joining-tasks/template.hbs | 0 .../docs/examples/loading-ui/controller.js | 0 .../app/docs/examples/loading-ui/template.hbs | 0 .../docs/examples/route-tasks/controller.js | 0 .../docs/examples/route-tasks/detail/route.js | 0 .../app/docs/examples/route-tasks/route.js | 0 .../docs/examples/route-tasks/template.hbs | 0 .../docs/examples/task-concurrency/route.js | 0 .../test-app}/app/docs/faq/template.hbs | 0 .../test-app}/app/docs/index/route.js | 0 .../app/docs/installation/template.hbs | 0 .../app/docs/introduction/template.hbs | 0 .../docs/task-cancelation-help/template.hbs | 0 .../task-concurrency-advanced/controller.js | 0 .../task-concurrency-advanced/template.hbs | 0 .../app/docs/task-concurrency/controller.js | 0 .../app/docs/task-concurrency/template.hbs | 0 .../app/docs/task-decorators/template.hbs | 0 .../docs/task-function-syntax/template.hbs | 0 .../app/docs/task-groups/controller.js | 0 .../app/docs/task-groups/template.hbs | 0 .../app/docs/task-lifecycle-events/route.js | 0 .../test-app}/app/docs/template.hbs | 0 .../app/docs/testing-debugging/template.hbs | 2 +- .../app/docs/tutorial/discussion/template.hbs | 0 .../app/docs/tutorial/index/template.hbs | 0 .../app/docs/tutorial/refactor/template.hbs | 0 .../app/docs/typescript/template.hbs | 0 .../app/docs/writing-tasks/template.hbs | 0 .../test-app}/app/docs/yieldables/route.js | 0 .../test-app}/app/helpers-test/controller.js | 0 .../test-app}/app/helpers-test/template.hbs | 0 .../test-app}/app/helpers/caps-bool.js | 0 .../test-app}/app/helpers/color.js | 0 .../test-app}/app/helpers/pick-from.js | 0 .../test-app}/app/helpers/progress-style.js | 0 .../test-app}/app/helpers/scale.js | 0 .../test-app}/app/helpers/subtract.js | 0 .../test-app}/app/helpers/sum.js | 0 .../test-app}/app/helpers/swallow-error.js | 0 .../test-app}/app/helpers/width.js | 0 .../test-app}/app/index.html | 4 +- .../test-app}/app/index/route.js | 0 .../test-app}/app/modifiers/autofocus.js | 0 .../dummy => packages/test-app}/app/router.js | 2 +- .../test-app}/app/services/fun.js | 0 .../test-app}/app/services/notifications.js | 0 .../test-app}/app/styles/app.scss | 0 .../test-app}/app/styles/fontello.css | 0 .../test-app}/app/styles/normalize.scss | 0 .../test-app}/app/styles/skeleton.scss | 0 .../app/task-injection-test/controller.js | 0 .../app/task-injection-test/template.hbs | 0 .../test-app}/app/task-modifiers/benchmark.js | 0 .../app/templates/components/my-button.hbs | 0 .../testing-ergo/foo-settimeout/controller.js | 0 .../app/testing-ergo/foo-settimeout/route.js | 0 .../testing-ergo/foo-settimeout/template.hbs | 0 .../app/testing-ergo/foo/controller.js | 0 .../test-app}/app/testing-ergo/foo/route.js | 0 .../app/testing-ergo/foo/template.hbs | 0 .../app/testing-ergo/loading/template.hbs | 0 .../test-app}/app/testing-ergo/slow/route.js | 0 .../app/testing-ergo/slow/template.hbs | 0 .../app/testing-ergo/timer-loop/controller.js | 0 .../app/testing-ergo/timer-loop/route.js | 0 .../app/testing-ergo/timer-loop/template.hbs | 0 .../dummy => packages/test-app}/app/utils.js | 0 .../test-app}/config/ember-cli-update.json | 0 .../test-app}/config/ember-try.js | 18 +- .../test-app}/config/environment.js | 2 +- .../test-app}/config/optional-features.json | 0 .../test-app}/config/targets.js | 0 .../test-app/ember-cli-build.js | 19 +- .../test-app/lib}/prember-urls.js | 0 packages/test-app/package.json | 91 + .../dummy => packages/test-app}/public/CNAME | 0 .../test-app}/public/crossdomain.xml | 0 .../test-app}/public/robots.txt | 0 .../test-app}/snippets/ember-install.sh | 0 .../test-app}/snippets/encapsulated-task.js | 0 .../snippets/last-value-decorator.js | 0 .../test-app}/snippets/poll-loop-break-1.js | 4 +- .../test-app}/snippets/poll-loop-classic.js | 0 .../test-app}/snippets/poll-loop.js | 0 .../snippets/task-cancelation-example-1.js | 0 .../snippets/task-cancelation-example-2.js | 0 .../snippets/task-cancelation-example-3.js | 0 .../test-app}/snippets/task-decorators-1.js | 0 .../test-app}/snippets/task-decorators-2.js | 0 .../test-app}/snippets/task-decorators-3.js | 0 .../test-app}/snippets/task-decorators-4.js | 0 .../test-app}/snippets/task-decorators-5.js | 0 .../snippets/task-group-decorators-1.js | 0 .../snippets/task-group-decorators-2.js | 0 .../snippets/task-group-decorators-3.js | 0 .../test-app}/snippets/ts/basic-example.ts | 0 .../test-app}/snippets/ts/typing-task.ts | 0 .../test-app}/snippets/writing-tasks.js | 0 .../snippets/yieldable-req-idle-cb-task.js | 0 .../snippets/yieldable-req-idle-cb.js | 0 testem.js => packages/test-app/testem.js | 0 .../test-app/tests/acceptance/helpers-test.js | 31 + .../test-app/tests}/acceptance/root-test.js | 2 +- .../tests}/acceptance/task-injection-test.js | 0 packages/test-app/tests/helpers/helpers.js | 6 + .../test-app/tests}/helpers/index.js | 0 {tests => packages/test-app/tests}/index.html | 6 +- .../integration/async-arrow-task-test.js | 2 +- .../integration/helpers/perform-test.js | 0 .../integration/helpers/task-action-test.js | 0 .../integration/no-render-breaking-test.js | 61 + .../tests/integration/tracked-use-test.js | 98 + packages/test-app/tests/test-helper.js | 14 + .../unit/cancelable-promise-helpers-test.js | 0 .../tests}/unit/create-mock-task-in-test.js | 0 .../test-app/tests}/unit/decorators-test.js | 56 +- .../unit/derived-state/on-state-test.js | 0 .../tests}/unit/encapsulated-task-test.js | 121 +- .../tests}/unit/error-handling-test.js | 0 .../scheduler-policies/drop-policy-test.js | 0 .../enqueued-policy-test.js | 0 .../external/scheduler-policies/helpers.js | 0 .../keep-latest-policy-test.js | 0 .../restartable-policy-test.js | 0 .../unbounded-policy-test.js | 0 .../tests}/unit/generator-method-test.js | 5 +- .../test-app/tests}/unit/last-value-test.js | 7 +- .../tests}/unit/self-cancel-loop-test.js | 0 .../test-app/tests}/unit/task-events-test.js | 0 .../test-app/tests}/unit/task-groups-test.js | 56 +- .../tests}/unit/task-instance-test.js | 18 +- .../tests}/unit/task-property-test.js | 50 +- .../test-app/tests}/unit/task-states-test.js | 0 .../test-app/tests}/unit/task-test.js | 97 +- .../test-app/tests}/unit/wait-for-test.js | 58 +- packages/test-app/tsconfig.json | 18 + .../types-tests}/ember-concurrency-test.ts | 47 +- packages/test-app/types/global.d.ts | 0 pnpm-lock.yaml | 4309 +++++++---------- pnpm-workspace.yaml | 2 + rfcs/0001-yieldables.md | 188 - rfcs/0002-task-modifiers-api.md | 228 - tests/acceptance/helpers-test.js | 60 - tests/helpers/helpers.js | 31 - tests/integration/no-render-breaking-test.js | 66 - tests/integration/tracked-use-test.js | 101 - tests/test-helper.js | 31 - tsconfig.json | 20 - 321 files changed, 2762 insertions(+), 4017 deletions(-) delete mode 100644 .bowerrc delete mode 100644 index.js delete mode 100644 jsconfig.json rename .eslintignore => packages/ember-concurrency/.eslintignore (86%) rename .eslintrc.js => packages/ember-concurrency/.eslintrc.js (92%) rename .prettierignore => packages/ember-concurrency/.prettierignore (100%) rename .prettierrc.js => packages/ember-concurrency/.prettierrc.js (100%) rename .template-lintrc.js => packages/ember-concurrency/.template-lintrc.js (100%) create mode 100644 packages/ember-concurrency/addon-main.cjs rename {app => packages/ember-concurrency/app}/helpers/cancel-all.js (100%) rename {app => packages/ember-concurrency/app}/helpers/perform.js (100%) rename {app => packages/ember-concurrency/app}/helpers/task.js (100%) rename lib/babel-plugin-transform-ember-concurrency-async-tasks.js => packages/ember-concurrency/async-arrow-task-transform.js (100%) create mode 100644 packages/ember-concurrency/babel.config.json create mode 100644 packages/ember-concurrency/package.json create mode 100644 packages/ember-concurrency/rollup.config.mjs rename {addon => packages/ember-concurrency/src}/-private/async-arrow-runtime.js (87%) rename {addon => packages/ember-concurrency/src}/-private/cancelable-promise-helpers.js (100%) rename {addon => packages/ember-concurrency/src}/-private/ember-environment.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/environment.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/generator-state.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/bounded-policy.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/drop-policy.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/enqueued-policy.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/execution-states.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/keep-latest-policy.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/restartable-policy.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/policies/unbounded-policy.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/refresh.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/scheduler.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/state-tracker/null-state-tracker.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/state-tracker/null-state.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/state-tracker/state-tracker.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/scheduler/state-tracker/state.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-decorators.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-factory.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-instance/base.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-instance/cancelation.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-instance/completion-states.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-instance/executor.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task-instance/initial-state.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task/default-state.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task/task-group.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task/task.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/task/taskable.js (100%) rename {addon => packages/ember-concurrency/src}/-private/external/yieldables.js (100%) rename {addon => packages/ember-concurrency/src}/-private/helpers.js (100%) rename {addon => packages/ember-concurrency/src}/-private/scheduler/ember-scheduler.js (100%) rename {addon => packages/ember-concurrency/src}/-private/task-decorators.js (92%) rename {addon => packages/ember-concurrency/src}/-private/task-factory.js (100%) rename {addon => packages/ember-concurrency/src}/-private/task-group.js (100%) rename {addon => packages/ember-concurrency/src}/-private/task-instance.js (99%) rename {addon => packages/ember-concurrency/src}/-private/task-properties.js (90%) rename {addon => packages/ember-concurrency/src}/-private/task-public-api.js (100%) rename {addon => packages/ember-concurrency/src}/-private/task.js (100%) rename {addon => packages/ember-concurrency/src}/-private/taskable-mixin.js (86%) rename {addon => packages/ember-concurrency/src}/-private/tracked-state.js (51%) rename {addon => packages/ember-concurrency/src}/-private/utils.js (89%) rename {addon => packages/ember-concurrency/src}/-private/wait-for.js (100%) rename {addon => packages/ember-concurrency/src}/-task-instance.js (100%) rename {addon => packages/ember-concurrency/src}/-task-property.js (100%) rename {addon => packages/ember-concurrency/src}/helpers/cancel-all.js (89%) rename {addon => packages/ember-concurrency/src}/helpers/perform.js (93%) rename {addon => packages/ember-concurrency/src}/helpers/task.js (100%) rename {addon => packages/ember-concurrency/src}/index.d.ts (100%) rename {addon => packages/ember-concurrency/src}/index.js (100%) create mode 100644 packages/ember-concurrency/tsconfig.json create mode 100644 packages/test-app/.editorconfig rename .ember-cli => packages/test-app/.ember-cli (100%) create mode 100644 packages/test-app/.eslintignore create mode 100644 packages/test-app/.eslintrc.js create mode 100644 packages/test-app/.gitignore rename .jsdoc => packages/test-app/.jsdoc (64%) create mode 100644 packages/test-app/.prettierignore create mode 100644 packages/test-app/.prettierrc.js create mode 100644 packages/test-app/.template-lintrc.js create mode 100644 packages/test-app/.watchmanconfig rename API.md => packages/test-app/API.md (100%) create mode 100644 packages/test-app/README.md rename {tests/dummy => packages/test-app}/app/app.js (87%) rename {tests/dummy => packages/test-app}/app/application/controller.js (100%) rename {tests/dummy => packages/test-app}/app/application/route.js (90%) rename {tests/dummy => packages/test-app}/app/application/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/ajax-throttling-example/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/ajax-throttling-example/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/caps-marquee/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/caps-marquee/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/code-snippet/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/code-snippet/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/code-template-toggle/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/code-template-toggle/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/concurrency-graph/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/concurrency-graph/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/count-up/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/count-up/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/events-example/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/events-example/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/github-edit/component.js (91%) rename {tests/dummy => packages/test-app}/app/components/github-edit/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/loading-spinner/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/loading-spinner/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/my-button.js (100%) rename {tests/dummy => packages/test-app}/app/components/nav-header/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/nav-header/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/press-and-hold-button/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/press-and-hold-button/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/scrambled-text/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/scrambled-text/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/shared-tutorial/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/start-task-example/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/start-task-example/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-1/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-1/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-2/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-2/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-3/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-3/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-4/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-4/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/task-function-syntax-5/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/task-lifecycle-events-example/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/task-lifecycle-events-example/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-0/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-0/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-1/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-1/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-2/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-2/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-3/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-3/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-4/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-4/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-5/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-5/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-6/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-6/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-7/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-7/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-8/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-8/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-9/component.js (100%) rename {tests/dummy => packages/test-app}/app/components/tutorial-9/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/404/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/advanced/encapsulated-task/controller.js (95%) rename {tests/dummy => packages/test-app}/app/docs/advanced/encapsulated-task/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/advanced/lifecycle-events/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/advanced/task-modifiers/controller.js (96%) rename {tests/dummy => packages/test-app}/app/docs/advanced/task-modifiers/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/advanced/yieldables/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/cancelation/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/cancelation/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/child-tasks/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/child-tasks/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/derived-state/controller.js (96%) rename {tests/dummy => packages/test-app}/app/docs/derived-state/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/encapsulated-task/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/error-vs-cancelation/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/error-vs-cancelation/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/events/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/ajax-throttling/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/autocomplete/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/autocomplete/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/increment-buttons/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/increment-buttons/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/index/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/joining-tasks/controller.js (96%) rename {tests/dummy => packages/test-app}/app/docs/examples/joining-tasks/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/loading-ui/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/loading-ui/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/route-tasks/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/route-tasks/detail/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/route-tasks/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/route-tasks/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/examples/task-concurrency/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/faq/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/index/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/installation/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/introduction/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-cancelation-help/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-concurrency-advanced/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/task-concurrency-advanced/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-concurrency/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/task-concurrency/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-decorators/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-function-syntax/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-groups/controller.js (100%) rename {tests/dummy => packages/test-app}/app/docs/task-groups/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/task-lifecycle-events/route.js (100%) rename {tests/dummy => packages/test-app}/app/docs/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/testing-debugging/template.hbs (98%) rename {tests/dummy => packages/test-app}/app/docs/tutorial/discussion/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/tutorial/index/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/tutorial/refactor/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/typescript/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/writing-tasks/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/docs/yieldables/route.js (100%) rename {tests/dummy => packages/test-app}/app/helpers-test/controller.js (100%) rename {tests/dummy => packages/test-app}/app/helpers-test/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/helpers/caps-bool.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/color.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/pick-from.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/progress-style.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/scale.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/subtract.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/sum.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/swallow-error.js (100%) rename {tests/dummy => packages/test-app}/app/helpers/width.js (100%) rename {tests/dummy => packages/test-app}/app/index.html (90%) rename {tests/dummy => packages/test-app}/app/index/route.js (100%) rename {tests/dummy => packages/test-app}/app/modifiers/autofocus.js (100%) rename {tests/dummy => packages/test-app}/app/router.js (97%) rename {tests/dummy => packages/test-app}/app/services/fun.js (100%) rename {tests/dummy => packages/test-app}/app/services/notifications.js (100%) rename {tests/dummy => packages/test-app}/app/styles/app.scss (100%) rename {tests/dummy => packages/test-app}/app/styles/fontello.css (100%) rename {tests/dummy => packages/test-app}/app/styles/normalize.scss (100%) rename {tests/dummy => packages/test-app}/app/styles/skeleton.scss (100%) rename {tests/dummy => packages/test-app}/app/task-injection-test/controller.js (100%) rename {tests/dummy => packages/test-app}/app/task-injection-test/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/task-modifiers/benchmark.js (100%) rename {tests/dummy => packages/test-app}/app/templates/components/my-button.hbs (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/foo-settimeout/controller.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/foo-settimeout/route.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/foo-settimeout/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/foo/controller.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/foo/route.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/foo/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/loading/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/slow/route.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/slow/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/timer-loop/controller.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/timer-loop/route.js (100%) rename {tests/dummy => packages/test-app}/app/testing-ergo/timer-loop/template.hbs (100%) rename {tests/dummy => packages/test-app}/app/utils.js (100%) rename {tests/dummy => packages/test-app}/config/ember-cli-update.json (100%) rename {tests/dummy => packages/test-app}/config/ember-try.js (82%) rename {tests/dummy => packages/test-app}/config/environment.js (97%) rename {tests/dummy => packages/test-app}/config/optional-features.json (100%) rename {tests/dummy => packages/test-app}/config/targets.js (100%) rename ember-cli-build.js => packages/test-app/ember-cli-build.js (78%) rename {lib => packages/test-app/lib}/prember-urls.js (100%) create mode 100644 packages/test-app/package.json rename {tests/dummy => packages/test-app}/public/CNAME (100%) rename {tests/dummy => packages/test-app}/public/crossdomain.xml (100%) rename {tests/dummy => packages/test-app}/public/robots.txt (100%) rename {tests/dummy => packages/test-app}/snippets/ember-install.sh (100%) rename {tests/dummy => packages/test-app}/snippets/encapsulated-task.js (100%) rename {tests/dummy => packages/test-app}/snippets/last-value-decorator.js (100%) rename {tests/dummy => packages/test-app}/snippets/poll-loop-break-1.js (62%) rename {tests/dummy => packages/test-app}/snippets/poll-loop-classic.js (100%) rename {tests/dummy => packages/test-app}/snippets/poll-loop.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-cancelation-example-1.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-cancelation-example-2.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-cancelation-example-3.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-decorators-1.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-decorators-2.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-decorators-3.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-decorators-4.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-decorators-5.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-group-decorators-1.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-group-decorators-2.js (100%) rename {tests/dummy => packages/test-app}/snippets/task-group-decorators-3.js (100%) rename {tests/dummy => packages/test-app}/snippets/ts/basic-example.ts (100%) rename {tests/dummy => packages/test-app}/snippets/ts/typing-task.ts (100%) rename {tests/dummy => packages/test-app}/snippets/writing-tasks.js (100%) rename {tests/dummy => packages/test-app}/snippets/yieldable-req-idle-cb-task.js (100%) rename {tests/dummy => packages/test-app}/snippets/yieldable-req-idle-cb.js (100%) rename testem.js => packages/test-app/testem.js (100%) create mode 100644 packages/test-app/tests/acceptance/helpers-test.js rename {tests => packages/test-app/tests}/acceptance/root-test.js (91%) rename {tests => packages/test-app/tests}/acceptance/task-injection-test.js (100%) create mode 100644 packages/test-app/tests/helpers/helpers.js rename {tests => packages/test-app/tests}/helpers/index.js (100%) rename {tests => packages/test-app/tests}/index.html (87%) rename {tests => packages/test-app/tests}/integration/async-arrow-task-test.js (99%) rename {tests => packages/test-app/tests}/integration/helpers/perform-test.js (100%) rename {tests => packages/test-app/tests}/integration/helpers/task-action-test.js (100%) create mode 100644 packages/test-app/tests/integration/no-render-breaking-test.js create mode 100644 packages/test-app/tests/integration/tracked-use-test.js create mode 100644 packages/test-app/tests/test-helper.js rename {tests => packages/test-app/tests}/unit/cancelable-promise-helpers-test.js (100%) rename {tests => packages/test-app/tests}/unit/create-mock-task-in-test.js (100%) rename {tests => packages/test-app/tests}/unit/decorators-test.js (67%) rename {tests => packages/test-app/tests}/unit/derived-state/on-state-test.js (100%) rename {tests => packages/test-app/tests}/unit/encapsulated-task-test.js (61%) rename {tests => packages/test-app/tests}/unit/error-handling-test.js (100%) rename {tests => packages/test-app/tests}/unit/external/scheduler-policies/drop-policy-test.js (100%) rename {tests => packages/test-app/tests}/unit/external/scheduler-policies/enqueued-policy-test.js (100%) rename {tests => packages/test-app/tests}/unit/external/scheduler-policies/helpers.js (100%) rename {tests => packages/test-app/tests}/unit/external/scheduler-policies/keep-latest-policy-test.js (100%) rename {tests => packages/test-app/tests}/unit/external/scheduler-policies/restartable-policy-test.js (100%) rename {tests => packages/test-app/tests}/unit/external/scheduler-policies/unbounded-policy-test.js (100%) rename {tests => packages/test-app/tests}/unit/generator-method-test.js (87%) rename {tests => packages/test-app/tests}/unit/last-value-test.js (84%) rename {tests => packages/test-app/tests}/unit/self-cancel-loop-test.js (100%) rename {tests => packages/test-app/tests}/unit/task-events-test.js (100%) rename {tests => packages/test-app/tests}/unit/task-groups-test.js (86%) rename {tests => packages/test-app/tests}/unit/task-instance-test.js (97%) rename {tests => packages/test-app/tests}/unit/task-property-test.js (59%) rename {tests => packages/test-app/tests}/unit/task-states-test.js (100%) rename {tests => packages/test-app/tests}/unit/task-test.js (91%) rename {tests => packages/test-app/tests}/unit/wait-for-test.js (92%) create mode 100644 packages/test-app/tsconfig.json rename {types-tests => packages/test-app/types-tests}/ember-concurrency-test.ts (99%) create mode 100644 packages/test-app/types/global.d.ts create mode 100644 pnpm-workspace.yaml delete mode 100644 rfcs/0001-yieldables.md delete mode 100644 rfcs/0002-task-modifiers-api.md delete mode 100644 tests/acceptance/helpers-test.js delete mode 100644 tests/helpers/helpers.js delete mode 100644 tests/integration/no-render-breaking-test.js delete mode 100644 tests/integration/tracked-use-test.js delete mode 100644 tests/test-helper.js delete mode 100644 tsconfig.json diff --git a/.bowerrc b/.bowerrc deleted file mode 100644 index 959e1696e..000000000 --- a/.bowerrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "directory": "bower_components", - "analytics": false -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 749cd25a2..4c466002e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,7 +61,6 @@ jobs: - name: Test run: pnpm test:ember --launch ${{ matrix.browser }} - try-scenarios: name: Tests - ${{ matrix.ember-try-scenario }} runs-on: ubuntu-latest @@ -80,7 +79,7 @@ jobs: - ember-5.0 - ember-release - ember-default - - typescript-3.9 + - tsc - embroider-safe - embroider-optimized allow-failure: [false] @@ -95,11 +94,7 @@ jobs: with: pnpm-args: --frozen-lockfile - - name: Strip ts-expect-error from tests (for TypeScript 3.7) - run: find tests/types -type f -name '*.ts' | xargs sed -i 's/@ts-expect-error/@ts-ignore/g' - if: matrix.ember-try-scenario == 'typescript-3.7' - - name: Test env: EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }} - run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO + run: pnpm --filter test-app test:ember-try $EMBER_TRY_SCENARIO diff --git a/.gitignore b/.gitignore index 503f583f1..b1a498412 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,35 @@ # See https://help.github.com/ignore-files/ for more about ignoring files. # compiled output -/dist/ -/tmp/ -/tests/dummy/public/api +dist/ +tmp/ +/packages/test-app/public/api # dependencies -/bower_components/ -/node_modules/ +node_modules/ # misc -/.env* -/.pnp* -/.sass-cache -/.eslintcache -/connect.lock -/coverage/ -/libpeerconnection.log -/npm-debug.log* -/yarn-error.log -/testem.log -/.vscode -/package-lock.json +.env* +.pnp* +.sass-cache +.eslintcache +connect.lock +coverage/ +libpeerconnection.log +npm-debug.log* +yarn-error.log +testem.log +.vscode # ember-try -/.node_modules.ember-try/ -/bower.json.ember-try -/npm-shrinkwrap.json.ember-try -/package.json.ember-try -/package-lock.json.ember-try -/yarn.lock.ember-try +.node_modules.ember-try/ +bower.json.ember-try +npm-shrinkwrap.json.ember-try +package.json.ember-try +package-lock.json.ember-try +yarn.lock.ember-try # broccoli-debug -/DEBUG/ +DEBUG/ .DS_Store diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bb6af89a8..3d6d472d1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,13 +36,14 @@ npx release-it TODO: use build pipeline. * From addon root directory `pnpm docs:build` -* View built docs in `tests/dummy/public/api` +* View built docs in `packages/test-app/public/api` ### Publishing Guides and API Docs (Requires commit access.) ``` +cd packages/test-app ./node_modules/.bin/ember github-pages:commit git push origin gh-pages:gh-pages ``` diff --git a/README.md b/README.md index 5f6fedc12..bfb76d5bf 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ found [here](http://ember-concurrency.com). The [ember-concurrency documentation site](http://ember-concurrency.com) is an ember-cli app with interactive examples powered by ember-concurrency. It runs from -ember-concurrency's [dummy test app](https://github.com/machty/ember-concurrency/tree/master/tests/dummy/app). +ember-concurrency's [test app](https://github.com/machty/ember-concurrency/tree/master/packages/test-app/app). ## Problems? diff --git a/index.js b/index.js deleted file mode 100644 index 98abeda1d..000000000 --- a/index.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -const { addPlugin, hasPlugin } = require('ember-cli-babel-plugin-helpers'); -const Plugin = require.resolve( - './lib/babel-plugin-transform-ember-concurrency-async-tasks' -); - -module.exports = { - name: require('./package').name, - - included(parent) { - this._super.included.apply(this, arguments); - - if (!hasPlugin(parent, Plugin)) { - addPlugin(parent, Plugin, { - before: [ - '@babel/plugin-proposal-decorators', - '@babel/plugin-transform-typescript', - - // Run before ember-cli-code-coverage - 'babel-plugin-istanbul', - ], - }); - } - }, -}; diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index f408cac8c..000000000 --- a/jsconfig.json +++ /dev/null @@ -1 +0,0 @@ -{"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]} \ No newline at end of file diff --git a/package.json b/package.json index 1584c84f2..1d97ca1ba 100644 --- a/package.json +++ b/package.json @@ -1,133 +1,17 @@ { - "name": "ember-concurrency", - "version": "3.1.1", - "description": "Improved concurrency/async primitives for Ember.js", + "private": true, "scripts": { - "build": "ember build --environment=production", - "docs:build": "node_modules/.bin/jsdoc -c .jsdoc --verbose", - "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"", - "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"", - "lint:hbs": "ember-template-lint .", - "lint:hbs:fix": "ember-template-lint . --fix", - "lint:js": "eslint . --cache", - "lint:js:fix": "eslint . --fix", - "lint:ts": "tsc --noEmit", - "start": "ember serve", - "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"", - "test:ember": "ember test", - "test:ember-compatibility": "ember try:each" + "start": "concurrently 'pnpm:start:*' --restart-after 5000 --prefix-colors cyan,white,yellow", + "start:addon": "pnpm --filter ember-concurrency run start", + "start:test-app": "pnpm --filter test-app run start", + "lint": "pnpm run --filter '*' lint", + "lint:fix": "pnpm run --filter '*' lint:fix", + "test": "pnpm --filter test-app run test", + "test:ember": "pnpm --filter test-app run test:ember", + "docs:build": "pnpm --filter test-app run docs:build" }, - "peerDependencies": { - "ember-source": "^3.28.0 || ^4.0.0 || >=5.0.0" - }, - "engines": { - "node": "16.* || >= 18" - }, - "types": "./addon/index.d.ts", "devDependencies": { - "@babel/core": "^7.12.13", - "@babel/helper-define-map": "^7.18.0", - "@babel/helper-module-imports": "^7.18.2", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.12.13", - "@babel/preset-env": "^7.18.2", - "@ember/optional-features": "^2.0.0", - "@ember/string": "^3.0.1", - "@ember/test-helpers": "^2.9.3", - "@ember/test-waiters": "^3.0.0", - "@embroider/macros": "^1.13.0", - "@embroider/test-setup": "^2.1.1", - "@glimmer/component": "^1.1.2", - "@glimmer/tracking": "^1.0.4", - "@types/express-serve-static-core": "^4.17.33", - "@types/node": "^18.11.19", - "@types/rsvp": "^4.0.4", - "@typescript-eslint/eslint-plugin": "^4.33.0", - "@typescript-eslint/parser": "^4.33.0", - "babel-eslint": "^10.1.0", - "broccoli-asset-rev": "^3.0.0", - "broccoli-clean-css": "^1.1.0", - "concurrently": "^7.6.0", - "documentation": "^3.0.4", - "ember-auto-import": "^2.6.1", - "ember-cli": "~4.11.0", - "ember-cli-app-version": "^5.0.0", - "ember-cli-dependency-checker": "^3.3.1", - "ember-cli-fastboot": "^4.1.2", - "ember-cli-github-pages": "^0.2.2", - "ember-cli-inject-live-reload": "^2.1.0", - "ember-cli-sass": "^10.0.1", - "ember-cli-terser": "^4.0.2", - "ember-code-snippet": "^3.0.0", - "ember-fn-helper-polyfill": "^1.0.2", - "ember-load-initializers": "^2.1.2", - "ember-modifier": "^3.2.7", - "ember-page-title": "^7.0.0", - "ember-prism": "^0.13.0", - "ember-qunit": "^6.2.0", - "ember-resolver": "^10.0.0", - "ember-sinon-qunit": "^7.1.4", - "ember-source": "~4.11.0", - "ember-source-channel-url": "^3.0.0", - "ember-template-lint": "^5.6.0", - "ember-try": "^3.0.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-ember": "^11.4.7", - "eslint-plugin-n": "^15.6.1", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-qunit": "^7.3.4", - "expect-type": "^0.15.0", - "jsdoc": "^3.6.6", - "jsdom": "^16.7.0", - "loader.js": "^4.7.0", - "prember": "~2.0.0", - "prettier": "^2.8.4", - "qunit": "^2.19.4", - "qunit-dom": "^2.0.0", - "sass": "^1.22.12", - "sinon": "^15.0.2", - "testem": "^3.4.2", - "typescript": "~4.9.5", - "webpack": "^5.75.0" - }, - "keywords": [ - "ember-addon", - "concurrency", - "task", - "tasks", - "cancellation", - "cancelation" - ], - "repository": "https://github.com/machty/ember-concurrency", - "license": "MIT", - "author": "Alex Matchneer ", - "directories": { - "doc": "doc", - "test": "tests" - }, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/types": "^7.12.13", - "@glimmer/tracking": "^1.1.2", - "ember-cli-babel": "^7.26.11", - "ember-cli-babel-plugin-helpers": "^1.1.1", - "ember-cli-htmlbars": "^6.2.0", - "ember-compatibility-helpers": "^1.2.0" - }, - "resolutions": { - "klaw": "< 4", - "socket.io": "4.2.0" - }, - "ember": { - "edition": "octane" - }, - "ember-addon": { - "configPath": "tests/dummy/config", - "demoURL": "http://ember-concurrency.com/", - "versionCompatibility": { - "ember": ">=3.8.0" - } + "concurrently": "^8.0.0" }, "volta": { "node": "16.19.0", diff --git a/.eslintignore b/packages/ember-concurrency/.eslintignore similarity index 86% rename from .eslintignore rename to packages/ember-concurrency/.eslintignore index 08a732931..59f500381 100644 --- a/.eslintignore +++ b/packages/ember-concurrency/.eslintignore @@ -25,7 +25,7 @@ /yarn.lock.ember-try # snippets -/tests/dummy/snippets/ +/packages/test-app/snippets/ # jsdoc assets -/tests/dummy/public/ +/packages/test-app/public/ diff --git a/.eslintrc.js b/packages/ember-concurrency/.eslintrc.js similarity index 92% rename from .eslintrc.js rename to packages/ember-concurrency/.eslintrc.js index 693f9ab5d..cb90816bd 100644 --- a/.eslintrc.js +++ b/packages/ember-concurrency/.eslintrc.js @@ -21,18 +21,19 @@ module.exports = { }, rules: { 'require-yield': 0, + 'ember/no-computed-properties-in-native-classes': 0, }, overrides: [ { // Tutorial components (where specific formatting matters) - files: ['tests/dummy/app/components/tutorial-*/**/*.js'], + files: ['packages/test-app/app/components/tutorial-*/**/*.js'], rules: { 'prettier/prettier': 'off', }, }, { // Docs site - files: ['tests/dummy/app/**/*.js'], + files: ['packages/test-app/app/**/*.js'], rules: { // Can't use Glimmer components or tracked due to 3.8 support 'ember/no-classic-classes': 'off', @@ -56,7 +57,7 @@ module.exports = { './testem.js', './blueprints/*/index.js', './config/**/*.js', - './tests/dummy/config/**/*.js', + './packages/test-app/config/**/*.js', ], parserOptions: { sourceType: 'script', diff --git a/.prettierignore b/packages/ember-concurrency/.prettierignore similarity index 100% rename from .prettierignore rename to packages/ember-concurrency/.prettierignore diff --git a/.prettierrc.js b/packages/ember-concurrency/.prettierrc.js similarity index 100% rename from .prettierrc.js rename to packages/ember-concurrency/.prettierrc.js diff --git a/.template-lintrc.js b/packages/ember-concurrency/.template-lintrc.js similarity index 100% rename from .template-lintrc.js rename to packages/ember-concurrency/.template-lintrc.js diff --git a/packages/ember-concurrency/addon-main.cjs b/packages/ember-concurrency/addon-main.cjs new file mode 100644 index 000000000..9375da065 --- /dev/null +++ b/packages/ember-concurrency/addon-main.cjs @@ -0,0 +1,2 @@ +const { addonV1Shim } = require('@embroider/addon-shim'); +module.exports = addonV1Shim(__dirname); diff --git a/app/helpers/cancel-all.js b/packages/ember-concurrency/app/helpers/cancel-all.js similarity index 100% rename from app/helpers/cancel-all.js rename to packages/ember-concurrency/app/helpers/cancel-all.js diff --git a/app/helpers/perform.js b/packages/ember-concurrency/app/helpers/perform.js similarity index 100% rename from app/helpers/perform.js rename to packages/ember-concurrency/app/helpers/perform.js diff --git a/app/helpers/task.js b/packages/ember-concurrency/app/helpers/task.js similarity index 100% rename from app/helpers/task.js rename to packages/ember-concurrency/app/helpers/task.js diff --git a/lib/babel-plugin-transform-ember-concurrency-async-tasks.js b/packages/ember-concurrency/async-arrow-task-transform.js similarity index 100% rename from lib/babel-plugin-transform-ember-concurrency-async-tasks.js rename to packages/ember-concurrency/async-arrow-task-transform.js diff --git a/packages/ember-concurrency/babel.config.json b/packages/ember-concurrency/babel.config.json new file mode 100644 index 000000000..db78ae9a7 --- /dev/null +++ b/packages/ember-concurrency/babel.config.json @@ -0,0 +1,20 @@ +// Babel config for building the ember-concurrency package itself. Because EC is a V2 addon, +// 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. +{ + "plugins": [ + "@embroider/addon-dev/template-colocation-plugin", + [ + "babel-plugin-ember-template-compilation", + { + "targetFormat": "hbs", + "transforms": [] + } + ], + [ + "module:decorator-transforms", + { "runtime": { "import": "decorator-transforms/runtime" } } + ] + ] +} diff --git a/packages/ember-concurrency/package.json b/packages/ember-concurrency/package.json new file mode 100644 index 000000000..a8f70647e --- /dev/null +++ b/packages/ember-concurrency/package.json @@ -0,0 +1,100 @@ +{ + "name": "ember-concurrency", + "version": "3.1.1", + "description": "Improved concurrency/async primitives for Ember.js", + "scripts": { + "build": "rollup --config", + "lint": "concurrently 'npm:lint:*(!fix)' --names 'lint:'", + "lint:fix": "concurrently 'npm:lint:*:fix' --names 'fix:'", + "lint:hbs": "ember-template-lint .", + "lint:hbs:fix": "ember-template-lint . --fix", + "lint:js": "eslint . --cache", + "lint:js:fix": "eslint . --fix", + "start": "rollup --config --watch", + "test": "echo 'Addon does not have tests, run tests in test-app'", + "prepare": "pnpm build" + }, + "peerDependencies": { + "ember-source": "^3.28.0 || ^4.0.0 || >=5.0.0", + "@glimmer/tracking": "^1.1.2", + "@glint/template": ">= 1.0.0" + }, + "engines": { + "node": "16.* || >= 18" + }, + "types": "./addon/index.d.ts", + "devDependencies": { + "@babel/core": "^7.23.9", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-decorators": "^7.23.9", + "@embroider/addon-dev": "^4.2.0", + "@rollup/plugin-babel": "^6.0.4", + "@tsconfig/ember": "^3.0.3", + "@typescript-eslint/eslint-plugin": "^6.14.0", + "@typescript-eslint/parser": "^6.14.0", + "ember-template-lint": "^5.6.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-ember": "^11.4.7", + "eslint-plugin-n": "^15.6.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-qunit": "^7.3.4", + "prettier": "^2.8.4", + "rollup": "^4.9.6", + "typescript": "^5.3.3" + }, + "files": [ + "addon-main.cjs", + "dist", + "src/build" + ], + "exports": { + ".": "./dist/index.js", + "./*": "./dist/*", + "./addon-main.js": "./addon-main.cjs", + "./async-arrow-task-transform": "./async-arrow-task-transform.js" + }, + "keywords": [ + "ember-addon", + "concurrency", + "task", + "tasks", + "cancellation", + "cancelation" + ], + "repository": "https://github.com/machty/ember-concurrency", + "license": "MIT", + "author": "Alex Matchneer ", + "directories": { + "doc": "doc", + "test": "tests" + }, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/types": "^7.12.13", + "decorator-transforms": "^1.0.1", + "@embroider/addon-shim": "^1.8.7" + }, + "ember": { + "version": 2, + "app-js": "./app" + }, + "ember-addon": { + "demoURL": "http://ember-concurrency.com/", + "versionCompatibility": { + "ember": ">=3.8.0" + }, + "version": 2, + "type": "addon", + "main": "addon-main.cjs", + "app-js": { + "./helpers/cancel-all.js": "./dist/_app_/helpers/cancel-all.js", + "./helpers/perform.js": "./dist/_app_/helpers/perform.js", + "./helpers/task.js": "./dist/_app_/helpers/task.js" + } + }, + "volta": { + "node": "16.19.0", + "pnpm": "7.33.6" + } +} diff --git a/packages/ember-concurrency/rollup.config.mjs b/packages/ember-concurrency/rollup.config.mjs new file mode 100644 index 000000000..96c3a6c10 --- /dev/null +++ b/packages/ember-concurrency/rollup.config.mjs @@ -0,0 +1,46 @@ +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(['index.js', '**/*.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"]), + + // 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(), + + // 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({ + extensions: ['.js', '.gjs', '.ts', '.gts'], + babelHelpers: 'bundled', + }), + + // Ensure that standalone .hbs files are properly integrated as Javascript. + addon.hbs(), + + // Remove leftover build artifacts when starting a new build. + addon.clean(), + ], +}; diff --git a/addon/-private/async-arrow-runtime.js b/packages/ember-concurrency/src/-private/async-arrow-runtime.js similarity index 87% rename from addon/-private/async-arrow-runtime.js rename to packages/ember-concurrency/src/-private/async-arrow-runtime.js index 78cb767cd..6b4b20bd7 100644 --- a/addon/-private/async-arrow-runtime.js +++ b/packages/ember-concurrency/src/-private/async-arrow-runtime.js @@ -2,7 +2,7 @@ import { TaskFactory } from './task-factory'; /** * This builder function is called by the transpiled code from - * `task(async () => {})`. See lib/babel-plugin-transform-ember-concurrency-async-tasks.js + * `task(async () => {})`. See async-arrow-task-transform.js * * @private */ diff --git a/addon/-private/cancelable-promise-helpers.js b/packages/ember-concurrency/src/-private/cancelable-promise-helpers.js similarity index 100% rename from addon/-private/cancelable-promise-helpers.js rename to packages/ember-concurrency/src/-private/cancelable-promise-helpers.js diff --git a/addon/-private/ember-environment.js b/packages/ember-concurrency/src/-private/ember-environment.js similarity index 100% rename from addon/-private/ember-environment.js rename to packages/ember-concurrency/src/-private/ember-environment.js diff --git a/addon/-private/external/environment.js b/packages/ember-concurrency/src/-private/external/environment.js similarity index 100% rename from addon/-private/external/environment.js rename to packages/ember-concurrency/src/-private/external/environment.js diff --git a/addon/-private/external/generator-state.js b/packages/ember-concurrency/src/-private/external/generator-state.js similarity index 100% rename from addon/-private/external/generator-state.js rename to packages/ember-concurrency/src/-private/external/generator-state.js diff --git a/addon/-private/external/scheduler/policies/bounded-policy.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/bounded-policy.js similarity index 100% rename from addon/-private/external/scheduler/policies/bounded-policy.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/bounded-policy.js diff --git a/addon/-private/external/scheduler/policies/drop-policy.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/drop-policy.js similarity index 100% rename from addon/-private/external/scheduler/policies/drop-policy.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/drop-policy.js diff --git a/addon/-private/external/scheduler/policies/enqueued-policy.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/enqueued-policy.js similarity index 100% rename from addon/-private/external/scheduler/policies/enqueued-policy.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/enqueued-policy.js diff --git a/addon/-private/external/scheduler/policies/execution-states.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/execution-states.js similarity index 100% rename from addon/-private/external/scheduler/policies/execution-states.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/execution-states.js diff --git a/addon/-private/external/scheduler/policies/keep-latest-policy.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/keep-latest-policy.js similarity index 100% rename from addon/-private/external/scheduler/policies/keep-latest-policy.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/keep-latest-policy.js diff --git a/addon/-private/external/scheduler/policies/restartable-policy.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/restartable-policy.js similarity index 100% rename from addon/-private/external/scheduler/policies/restartable-policy.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/restartable-policy.js diff --git a/addon/-private/external/scheduler/policies/unbounded-policy.js b/packages/ember-concurrency/src/-private/external/scheduler/policies/unbounded-policy.js similarity index 100% rename from addon/-private/external/scheduler/policies/unbounded-policy.js rename to packages/ember-concurrency/src/-private/external/scheduler/policies/unbounded-policy.js diff --git a/addon/-private/external/scheduler/refresh.js b/packages/ember-concurrency/src/-private/external/scheduler/refresh.js similarity index 100% rename from addon/-private/external/scheduler/refresh.js rename to packages/ember-concurrency/src/-private/external/scheduler/refresh.js diff --git a/addon/-private/external/scheduler/scheduler.js b/packages/ember-concurrency/src/-private/external/scheduler/scheduler.js similarity index 100% rename from addon/-private/external/scheduler/scheduler.js rename to packages/ember-concurrency/src/-private/external/scheduler/scheduler.js diff --git a/addon/-private/external/scheduler/state-tracker/null-state-tracker.js b/packages/ember-concurrency/src/-private/external/scheduler/state-tracker/null-state-tracker.js similarity index 100% rename from addon/-private/external/scheduler/state-tracker/null-state-tracker.js rename to packages/ember-concurrency/src/-private/external/scheduler/state-tracker/null-state-tracker.js diff --git a/addon/-private/external/scheduler/state-tracker/null-state.js b/packages/ember-concurrency/src/-private/external/scheduler/state-tracker/null-state.js similarity index 100% rename from addon/-private/external/scheduler/state-tracker/null-state.js rename to packages/ember-concurrency/src/-private/external/scheduler/state-tracker/null-state.js diff --git a/addon/-private/external/scheduler/state-tracker/state-tracker.js b/packages/ember-concurrency/src/-private/external/scheduler/state-tracker/state-tracker.js similarity index 100% rename from addon/-private/external/scheduler/state-tracker/state-tracker.js rename to packages/ember-concurrency/src/-private/external/scheduler/state-tracker/state-tracker.js diff --git a/addon/-private/external/scheduler/state-tracker/state.js b/packages/ember-concurrency/src/-private/external/scheduler/state-tracker/state.js similarity index 100% rename from addon/-private/external/scheduler/state-tracker/state.js rename to packages/ember-concurrency/src/-private/external/scheduler/state-tracker/state.js diff --git a/addon/-private/external/task-decorators.js b/packages/ember-concurrency/src/-private/external/task-decorators.js similarity index 100% rename from addon/-private/external/task-decorators.js rename to packages/ember-concurrency/src/-private/external/task-decorators.js diff --git a/addon/-private/external/task-factory.js b/packages/ember-concurrency/src/-private/external/task-factory.js similarity index 100% rename from addon/-private/external/task-factory.js rename to packages/ember-concurrency/src/-private/external/task-factory.js diff --git a/addon/-private/external/task-instance/base.js b/packages/ember-concurrency/src/-private/external/task-instance/base.js similarity index 100% rename from addon/-private/external/task-instance/base.js rename to packages/ember-concurrency/src/-private/external/task-instance/base.js diff --git a/addon/-private/external/task-instance/cancelation.js b/packages/ember-concurrency/src/-private/external/task-instance/cancelation.js similarity index 100% rename from addon/-private/external/task-instance/cancelation.js rename to packages/ember-concurrency/src/-private/external/task-instance/cancelation.js diff --git a/addon/-private/external/task-instance/completion-states.js b/packages/ember-concurrency/src/-private/external/task-instance/completion-states.js similarity index 100% rename from addon/-private/external/task-instance/completion-states.js rename to packages/ember-concurrency/src/-private/external/task-instance/completion-states.js diff --git a/addon/-private/external/task-instance/executor.js b/packages/ember-concurrency/src/-private/external/task-instance/executor.js similarity index 100% rename from addon/-private/external/task-instance/executor.js rename to packages/ember-concurrency/src/-private/external/task-instance/executor.js diff --git a/addon/-private/external/task-instance/initial-state.js b/packages/ember-concurrency/src/-private/external/task-instance/initial-state.js similarity index 100% rename from addon/-private/external/task-instance/initial-state.js rename to packages/ember-concurrency/src/-private/external/task-instance/initial-state.js diff --git a/addon/-private/external/task/default-state.js b/packages/ember-concurrency/src/-private/external/task/default-state.js similarity index 100% rename from addon/-private/external/task/default-state.js rename to packages/ember-concurrency/src/-private/external/task/default-state.js diff --git a/addon/-private/external/task/task-group.js b/packages/ember-concurrency/src/-private/external/task/task-group.js similarity index 100% rename from addon/-private/external/task/task-group.js rename to packages/ember-concurrency/src/-private/external/task/task-group.js diff --git a/addon/-private/external/task/task.js b/packages/ember-concurrency/src/-private/external/task/task.js similarity index 100% rename from addon/-private/external/task/task.js rename to packages/ember-concurrency/src/-private/external/task/task.js diff --git a/addon/-private/external/task/taskable.js b/packages/ember-concurrency/src/-private/external/task/taskable.js similarity index 100% rename from addon/-private/external/task/taskable.js rename to packages/ember-concurrency/src/-private/external/task/taskable.js diff --git a/addon/-private/external/yieldables.js b/packages/ember-concurrency/src/-private/external/yieldables.js similarity index 100% rename from addon/-private/external/yieldables.js rename to packages/ember-concurrency/src/-private/external/yieldables.js diff --git a/addon/-private/helpers.js b/packages/ember-concurrency/src/-private/helpers.js similarity index 100% rename from addon/-private/helpers.js rename to packages/ember-concurrency/src/-private/helpers.js diff --git a/addon/-private/scheduler/ember-scheduler.js b/packages/ember-concurrency/src/-private/scheduler/ember-scheduler.js similarity index 100% rename from addon/-private/scheduler/ember-scheduler.js rename to packages/ember-concurrency/src/-private/scheduler/ember-scheduler.js diff --git a/addon/-private/task-decorators.js b/packages/ember-concurrency/src/-private/task-decorators.js similarity index 92% rename from addon/-private/task-decorators.js rename to packages/ember-concurrency/src/-private/task-decorators.js index f435ce53f..ce07b5f6a 100644 --- a/addon/-private/task-decorators.js +++ b/packages/ember-concurrency/src/-private/task-decorators.js @@ -1,38 +1,11 @@ -import { computed, get } from '@ember/object'; import { - decoratorWithParams, createTaskDecorator, createTaskGroupDecorator, lastValue as nativeLastValue, } from './external/task-decorators'; import { TaskFactory as EmberTaskFactory } from './task-factory'; -import { USE_TRACKED } from './utils'; -const computedLastValue = decoratorWithParams( - (target, key, descriptor, [taskName] = []) => { - const { initializer } = descriptor; - delete descriptor.initializer; - - let cp = computed(`${taskName}.lastSuccessful`, function () { - let lastInstance = get(this, `${taskName}.lastSuccessful`); - - if (lastInstance) { - // eslint-disable-next-line ember/no-get - return get(lastInstance, 'value'); - } - - if (initializer) { - return initializer.call(this); - } - - return undefined; - }); - - return cp(target, key, descriptor); - } -); - -export const lastValue = USE_TRACKED ? nativeLastValue : computedLastValue; +export const lastValue = nativeLastValue; /** * A Task is a cancelable, restartable, asynchronous operation that diff --git a/addon/-private/task-factory.js b/packages/ember-concurrency/src/-private/task-factory.js similarity index 100% rename from addon/-private/task-factory.js rename to packages/ember-concurrency/src/-private/task-factory.js diff --git a/addon/-private/task-group.js b/packages/ember-concurrency/src/-private/task-group.js similarity index 100% rename from addon/-private/task-group.js rename to packages/ember-concurrency/src/-private/task-group.js diff --git a/addon/-private/task-instance.js b/packages/ember-concurrency/src/-private/task-instance.js similarity index 99% rename from addon/-private/task-instance.js rename to packages/ember-concurrency/src/-private/task-instance.js index ea365a8c0..c3501c66b 100644 --- a/addon/-private/task-instance.js +++ b/packages/ember-concurrency/src/-private/task-instance.js @@ -1,6 +1,5 @@ import { BaseTaskInstance } from './external/task-instance/base'; import { TRACKED_INITIAL_INSTANCE_STATE } from './tracked-state'; -import { assignProperties } from './utils'; /** A `TaskInstance` represent a single execution of a @@ -24,7 +23,7 @@ import { assignProperties } from './utils'; export class TaskInstance extends BaseTaskInstance { setState(props) { let state = this._recomputeState(props); - assignProperties(this, { + Object.assign(this, { ...props, isRunning: !props.isFinished, isDropped: state === 'dropped', diff --git a/addon/-private/task-properties.js b/packages/ember-concurrency/src/-private/task-properties.js similarity index 90% rename from addon/-private/task-properties.js rename to packages/ember-concurrency/src/-private/task-properties.js index 1a8b3d9a8..eff97498c 100644 --- a/addon/-private/task-properties.js +++ b/packages/ember-concurrency/src/-private/task-properties.js @@ -1,7 +1,7 @@ import Ember from 'ember'; + import { computed } from '@ember/object'; -import ComputedProperty from '@ember/object/computed'; -import { gte } from 'ember-compatibility-helpers'; + import EnqueueSchedulerPolicy from './external/scheduler/policies/enqueued-policy'; import DropSchedulerPolicy from './external/scheduler/policies/drop-policy'; import KeepLatestSchedulerPolicy from './external/scheduler/policies/keep-latest-policy'; @@ -192,24 +192,8 @@ export const propertyModifiers = { @class TaskProperty */ -export let TaskProperty; -export let TaskGroupProperty; - -if (gte('3.10.0')) { - TaskProperty = class {}; - TaskGroupProperty = class {}; -} else { - // Prior to the 3.10.0 refactors, we had to extend the _ComputedProperty class - // for a classic decorator/descriptor to run correctly. - TaskProperty = class extends ComputedProperty { - callSuperSetup() { - if (super.setup) { - super.setup(...arguments); - } - } - }; - TaskGroupProperty = class extends ComputedProperty {}; -} +export class TaskProperty {} +export class TaskGroupProperty {} Object.assign(TaskGroupProperty.prototype, propertyModifiers); Object.assign(TaskProperty.prototype, propertyModifiers, { @@ -293,19 +277,15 @@ Object.assign(TaskProperty.prototype, propertyModifiers, { const setDecorator = Ember._setClassicDecorator || Ember._setComputedDecorator; export function taskComputed(fn) { - if (gte('3.10.0')) { - let cp = function (proto, key) { - if (cp.setup !== undefined) { - cp.setup(proto, key); - } + let cp = function (proto, key) { + if (cp.setup !== undefined) { + cp.setup(proto, key); + } - return computed(fn)(...arguments); - }; + return computed(fn)(...arguments); + }; - setDecorator(cp); + setDecorator(cp); - return cp; - } else { - return computed(fn); - } + return cp; } diff --git a/addon/-private/task-public-api.js b/packages/ember-concurrency/src/-private/task-public-api.js similarity index 100% rename from addon/-private/task-public-api.js rename to packages/ember-concurrency/src/-private/task-public-api.js diff --git a/addon/-private/task.js b/packages/ember-concurrency/src/-private/task.js similarity index 100% rename from addon/-private/task.js rename to packages/ember-concurrency/src/-private/task.js diff --git a/addon/-private/taskable-mixin.js b/packages/ember-concurrency/src/-private/taskable-mixin.js similarity index 86% rename from addon/-private/taskable-mixin.js rename to packages/ember-concurrency/src/-private/taskable-mixin.js index 7560b202a..40bbc1bf3 100644 --- a/addon/-private/taskable-mixin.js +++ b/packages/ember-concurrency/src/-private/taskable-mixin.js @@ -1,5 +1,3 @@ -import { assignProperties } from './utils'; - export const TASKABLE_MIXIN = { _performCount: 0, @@ -15,7 +13,7 @@ export const TASKABLE_MIXIN = { isIdle: !isRunning && !isQueued, state: isRunning ? 'running' : 'idle', }); - assignProperties(this, derivedState); + Object.assign(this, derivedState); }, onState(state, task) { diff --git a/addon/-private/tracked-state.js b/packages/ember-concurrency/src/-private/tracked-state.js similarity index 51% rename from addon/-private/tracked-state.js rename to packages/ember-concurrency/src/-private/tracked-state.js index 53efd1844..4d03c1cba 100644 --- a/addon/-private/tracked-state.js +++ b/packages/ember-concurrency/src/-private/tracked-state.js @@ -1,7 +1,6 @@ import { tracked } from '@glimmer/tracking'; import { DEFAULT_STATE as INITIAL_TASK_STATE } from './external/task/default-state'; import { INITIAL_STATE as INITIAL_INSTANCE_STATE } from './external/task-instance/initial-state'; -import { USE_TRACKED } from './utils'; function trackMixin(proto, obj, key) { const propDesc = Object.getOwnPropertyDescriptor(proto, key); @@ -21,30 +20,28 @@ function applyTracked(proto, initial) { export let TRACKED_INITIAL_TASK_STATE; export let TRACKED_INITIAL_INSTANCE_STATE; -if (USE_TRACKED) { - TRACKED_INITIAL_TASK_STATE = applyTracked(INITIAL_TASK_STATE, {}); - TRACKED_INITIAL_TASK_STATE = applyTracked( - { - numRunning: 0, - numQueued: 0, - isRunning: false, - isQueued: false, - isIdle: true, - state: 'idle', - }, - TRACKED_INITIAL_TASK_STATE - ); +TRACKED_INITIAL_TASK_STATE = applyTracked(INITIAL_TASK_STATE, {}); +TRACKED_INITIAL_TASK_STATE = applyTracked( + { + numRunning: 0, + numQueued: 0, + isRunning: false, + isQueued: false, + isIdle: true, + state: 'idle', + }, + TRACKED_INITIAL_TASK_STATE +); - TRACKED_INITIAL_INSTANCE_STATE = applyTracked(INITIAL_INSTANCE_STATE, {}); - TRACKED_INITIAL_INSTANCE_STATE = applyTracked( - { - state: 'waiting', - isDropped: false, - isRunning: false, - }, - TRACKED_INITIAL_INSTANCE_STATE - ); +TRACKED_INITIAL_INSTANCE_STATE = applyTracked(INITIAL_INSTANCE_STATE, {}); +TRACKED_INITIAL_INSTANCE_STATE = applyTracked( + { + state: 'waiting', + isDropped: false, + isRunning: false, + }, + TRACKED_INITIAL_INSTANCE_STATE +); - Object.freeze(TRACKED_INITIAL_TASK_STATE); - Object.freeze(TRACKED_INITIAL_INSTANCE_STATE); -} +Object.freeze(TRACKED_INITIAL_TASK_STATE); +Object.freeze(TRACKED_INITIAL_INSTANCE_STATE); diff --git a/addon/-private/utils.js b/packages/ember-concurrency/src/-private/utils.js similarity index 89% rename from addon/-private/utils.js rename to packages/ember-concurrency/src/-private/utils.js index 89f82167c..987aa39d1 100644 --- a/addon/-private/utils.js +++ b/packages/ember-concurrency/src/-private/utils.js @@ -1,12 +1,7 @@ -import { setProperties } from '@ember/object'; import { later, cancel } from '@ember/runloop'; -import { gte } from 'ember-compatibility-helpers'; import { EMBER_ENVIRONMENT } from './ember-environment'; import { Yieldable } from './external/yieldables'; -export const USE_TRACKED = gte('3.16.0'); -export const assignProperties = USE_TRACKED ? Object.assign : setProperties; - export function isEventedObject(c) { return ( c && diff --git a/addon/-private/wait-for.js b/packages/ember-concurrency/src/-private/wait-for.js similarity index 100% rename from addon/-private/wait-for.js rename to packages/ember-concurrency/src/-private/wait-for.js diff --git a/addon/-task-instance.js b/packages/ember-concurrency/src/-task-instance.js similarity index 100% rename from addon/-task-instance.js rename to packages/ember-concurrency/src/-task-instance.js diff --git a/addon/-task-property.js b/packages/ember-concurrency/src/-task-property.js similarity index 100% rename from addon/-task-property.js rename to packages/ember-concurrency/src/-task-property.js diff --git a/addon/helpers/cancel-all.js b/packages/ember-concurrency/src/helpers/cancel-all.js similarity index 89% rename from addon/helpers/cancel-all.js rename to packages/ember-concurrency/src/helpers/cancel-all.js index dce913821..31340da05 100644 --- a/addon/helpers/cancel-all.js +++ b/packages/ember-concurrency/src/helpers/cancel-all.js @@ -1,6 +1,6 @@ import { helper } from '@ember/component/helper'; import { assert } from '@ember/debug'; -import { taskHelperClosure } from 'ember-concurrency/-private/helpers'; +import { taskHelperClosure } from '../-private/helpers'; const CANCEL_REASON = "the 'cancel-all' template helper was invoked"; diff --git a/addon/helpers/perform.js b/packages/ember-concurrency/src/helpers/perform.js similarity index 93% rename from addon/helpers/perform.js rename to packages/ember-concurrency/src/helpers/perform.js index 86a140e72..04fafa983 100644 --- a/addon/helpers/perform.js +++ b/packages/ember-concurrency/src/helpers/perform.js @@ -1,6 +1,6 @@ import { helper } from '@ember/component/helper'; import { assert } from '@ember/debug'; -import { taskHelperClosure } from 'ember-concurrency/-private/helpers'; +import { taskHelperClosure } from '../-private/helpers'; function maybeReportError(onError) { return function (e) { diff --git a/addon/helpers/task.js b/packages/ember-concurrency/src/helpers/task.js similarity index 100% rename from addon/helpers/task.js rename to packages/ember-concurrency/src/helpers/task.js diff --git a/addon/index.d.ts b/packages/ember-concurrency/src/index.d.ts similarity index 100% rename from addon/index.d.ts rename to packages/ember-concurrency/src/index.d.ts diff --git a/addon/index.js b/packages/ember-concurrency/src/index.js similarity index 100% rename from addon/index.js rename to packages/ember-concurrency/src/index.js diff --git a/packages/ember-concurrency/tsconfig.json b/packages/ember-concurrency/tsconfig.json new file mode 100644 index 000000000..85625b2ee --- /dev/null +++ b/packages/ember-concurrency/tsconfig.json @@ -0,0 +1,42 @@ +{ + "extends": "@tsconfig/ember/tsconfig.json", + "include": [ + "src/**/*", + "unpublished-development-types/**/*" + ], + "glint": { + "environment": ["ember-loose", "ember-template-imports"] + }, + "compilerOptions": { + "allowJs": true, + "declarationDir": "declarations", + + /** + https://www.typescriptlang.org/tsconfig#rootDir + "Default: The longest common path of all non-declaration input files." + + Because we want our declarations' structure to match our rollup output, + we need this "rootDir" to match the "srcDir" in the rollup.config.mjs. + + This way, we can have simpler `package.json#exports` that matches + imports to files on disk + */ + "rootDir": "./src", + + /** + https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax + + We don't want to include types dependencies in our compiled output, so tell TypeScript + to enforce using `import type` instead of `import` for Types. + */ + "verbatimModuleSyntax": true, + + /** + https://www.typescriptlang.org/tsconfig#allowImportingTsExtensions + + We want our tooling to know how to resolve our custom files so the appropriate plugins + can do the proper transformations on those files. + */ + "allowImportingTsExtensions": true + } +} \ No newline at end of file diff --git a/packages/test-app/.editorconfig b/packages/test-app/.editorconfig new file mode 100644 index 000000000..c35a00240 --- /dev/null +++ b/packages/test-app/.editorconfig @@ -0,0 +1,19 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = space +indent_size = 2 + +[*.hbs] +insert_final_newline = false + +[*.{diff,md}] +trim_trailing_whitespace = false diff --git a/.ember-cli b/packages/test-app/.ember-cli similarity index 100% rename from .ember-cli rename to packages/test-app/.ember-cli diff --git a/packages/test-app/.eslintignore b/packages/test-app/.eslintignore new file mode 100644 index 000000000..b49028093 --- /dev/null +++ b/packages/test-app/.eslintignore @@ -0,0 +1,29 @@ +# unconventional js +/blueprints/*/files/ +/vendor/ + +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ +/node_modules/ + +# misc +/coverage/ +!.* +.*/ +.eslintcache + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/npm-shrinkwrap.json.ember-try +/package.json.ember-try +/package-lock.json.ember-try +/yarn.lock.ember-try + +snippets + +app diff --git a/packages/test-app/.eslintrc.js b/packages/test-app/.eslintrc.js new file mode 100644 index 000000000..4477d5d56 --- /dev/null +++ b/packages/test-app/.eslintrc.js @@ -0,0 +1,57 @@ +'use strict'; + +module.exports = { + root: true, + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + ecmaFeatures: { + legacyDecorators: true, + }, + }, + plugins: ['ember'], + extends: [ + 'eslint:recommended', + 'plugin:ember/recommended', + 'plugin:prettier/recommended', + ], + env: { + browser: true, + }, + rules: { + 'require-yield': 0, + 'ember/no-classic-components': 0, + 'ember/no-classic-classes': 0, + 'ember/no-computed-properties-in-native-classes': 0, + }, + overrides: [ + // node files + { + files: [ + './.eslintrc.js', + './.prettierrc.js', + './.template-lintrc.js', + './ember-cli-build.js', + './testem.js', + './blueprints/*/index.js', + './config/**/*.js', + './lib/*/index.js', + './server/**/*.js', + ], + parserOptions: { + sourceType: 'script', + }, + env: { + browser: false, + node: true, + }, + extends: ['plugin:n/recommended'], + }, + { + // test files + files: ['tests/**/*-test.{js,ts}'], + extends: ['plugin:qunit/recommended'], + }, + ], +}; diff --git a/packages/test-app/.gitignore b/packages/test-app/.gitignore new file mode 100644 index 000000000..f1e859b29 --- /dev/null +++ b/packages/test-app/.gitignore @@ -0,0 +1,32 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ +/node_modules/ + +# misc +/.env* +/.pnp* +/.sass-cache +/.eslintcache +/connect.lock +/coverage/ +/libpeerconnection.log +/npm-debug.log* +/testem.log +/yarn-error.log + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/npm-shrinkwrap.json.ember-try +/package.json.ember-try +/package-lock.json.ember-try +/yarn.lock.ember-try + +# broccoli-debug +/DEBUG/ diff --git a/.jsdoc b/packages/test-app/.jsdoc similarity index 64% rename from .jsdoc rename to packages/test-app/.jsdoc index b0e9db4b7..378cc5d7e 100644 --- a/.jsdoc +++ b/packages/test-app/.jsdoc @@ -1,12 +1,12 @@ { "opts": { - "destination": "tests/dummy/public/api/", + "destination": "public/api/", "readme": "API.md", "recurse": true }, "plugins": ["plugins/markdown"], "source": { - "include": ["addon"] + "include": ["../ember-concurrency/src"] }, "sourceType": "module" } diff --git a/packages/test-app/.prettierignore b/packages/test-app/.prettierignore new file mode 100644 index 000000000..4178fd571 --- /dev/null +++ b/packages/test-app/.prettierignore @@ -0,0 +1,25 @@ +# unconventional js +/blueprints/*/files/ +/vendor/ + +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ +/node_modules/ + +# misc +/coverage/ +!.* +.eslintcache +.lint-todo/ + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/npm-shrinkwrap.json.ember-try +/package.json.ember-try +/package-lock.json.ember-try +/yarn.lock.ember-try diff --git a/packages/test-app/.prettierrc.js b/packages/test-app/.prettierrc.js new file mode 100644 index 000000000..e5f7b6d1e --- /dev/null +++ b/packages/test-app/.prettierrc.js @@ -0,0 +1,12 @@ +'use strict'; + +module.exports = { + overrides: [ + { + files: '*.{js,ts}', + options: { + singleQuote: true, + }, + }, + ], +}; diff --git a/packages/test-app/.template-lintrc.js b/packages/test-app/.template-lintrc.js new file mode 100644 index 000000000..ab4aeecac --- /dev/null +++ b/packages/test-app/.template-lintrc.js @@ -0,0 +1,9 @@ +'use strict'; + +module.exports = { + extends: 'recommended', + rules: { + 'no-whitespace-for-layout': false, + 'require-input-label': false, + }, +}; diff --git a/packages/test-app/.watchmanconfig b/packages/test-app/.watchmanconfig new file mode 100644 index 000000000..e7834e3e4 --- /dev/null +++ b/packages/test-app/.watchmanconfig @@ -0,0 +1,3 @@ +{ + "ignore_dirs": ["tmp", "dist"] +} diff --git a/API.md b/packages/test-app/API.md similarity index 100% rename from API.md rename to packages/test-app/API.md diff --git a/packages/test-app/README.md b/packages/test-app/README.md new file mode 100644 index 000000000..16ff55051 --- /dev/null +++ b/packages/test-app/README.md @@ -0,0 +1,56 @@ +# test-app + +This README outlines the details of collaborating on this Ember application. +A short introduction of this app could easily go here. + +## Prerequisites + +You will need the following things properly installed on your computer. + +* [Git](https://git-scm.com/) +* [Node.js](https://nodejs.org/) (with npm) +* [Ember CLI](https://cli.emberjs.com/release/) +* [Google Chrome](https://google.com/chrome/) + +## Installation + +* `git clone ` this repository +* `cd test-app` +* `npm install` + +## Running / Development + +* `ember serve` +* Visit your app at [http://localhost:4200](http://localhost:4200). +* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests). + +### Code Generators + +Make use of the many generators for code, try `ember help generate` for more details + +### Running Tests + +* `ember test` +* `ember test --server` + +### Linting + +* `npm run lint` +* `npm run lint:fix` + +### Building + +* `ember build` (development) +* `ember build --environment production` (production) + +### Deploying + +Specify what it takes to deploy your app. + +## Further Reading / Useful Links + +* [ember.js](https://emberjs.com/) +* [ember-cli](https://cli.emberjs.com/release/) +* Development Browser Extensions + * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi) + * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/) diff --git a/tests/dummy/app/app.js b/packages/test-app/app/app.js similarity index 87% rename from tests/dummy/app/app.js rename to packages/test-app/app/app.js index 523bad60c..1ba934244 100644 --- a/tests/dummy/app/app.js +++ b/packages/test-app/app/app.js @@ -1,7 +1,7 @@ import Application from '@ember/application'; import Resolver from 'ember-resolver'; import loadInitializers from 'ember-load-initializers'; -import config from 'dummy/config/environment'; +import config from 'test-app/config/environment'; export default class App extends Application { modulePrefix = config.modulePrefix; diff --git a/tests/dummy/app/application/controller.js b/packages/test-app/app/application/controller.js similarity index 100% rename from tests/dummy/app/application/controller.js rename to packages/test-app/app/application/controller.js diff --git a/tests/dummy/app/application/route.js b/packages/test-app/app/application/route.js similarity index 90% rename from tests/dummy/app/application/route.js rename to packages/test-app/app/application/route.js index d91ad7731..bce0a5612 100644 --- a/tests/dummy/app/application/route.js +++ b/packages/test-app/app/application/route.js @@ -1,7 +1,7 @@ import { getOwner } from '@ember/application'; import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; -import ENV from 'dummy/config/environment'; +import ENV from 'test-app/config/environment'; export default class ApplicationRoute extends Route { @service router; diff --git a/tests/dummy/app/application/template.hbs b/packages/test-app/app/application/template.hbs similarity index 100% rename from tests/dummy/app/application/template.hbs rename to packages/test-app/app/application/template.hbs diff --git a/tests/dummy/app/components/ajax-throttling-example/component.js b/packages/test-app/app/components/ajax-throttling-example/component.js similarity index 100% rename from tests/dummy/app/components/ajax-throttling-example/component.js rename to packages/test-app/app/components/ajax-throttling-example/component.js diff --git a/tests/dummy/app/components/ajax-throttling-example/template.hbs b/packages/test-app/app/components/ajax-throttling-example/template.hbs similarity index 100% rename from tests/dummy/app/components/ajax-throttling-example/template.hbs rename to packages/test-app/app/components/ajax-throttling-example/template.hbs diff --git a/tests/dummy/app/components/caps-marquee/component.js b/packages/test-app/app/components/caps-marquee/component.js similarity index 100% rename from tests/dummy/app/components/caps-marquee/component.js rename to packages/test-app/app/components/caps-marquee/component.js diff --git a/tests/dummy/app/components/caps-marquee/template.hbs b/packages/test-app/app/components/caps-marquee/template.hbs similarity index 100% rename from tests/dummy/app/components/caps-marquee/template.hbs rename to packages/test-app/app/components/caps-marquee/template.hbs diff --git a/tests/dummy/app/components/code-snippet/component.js b/packages/test-app/app/components/code-snippet/component.js similarity index 100% rename from tests/dummy/app/components/code-snippet/component.js rename to packages/test-app/app/components/code-snippet/component.js diff --git a/tests/dummy/app/components/code-snippet/template.hbs b/packages/test-app/app/components/code-snippet/template.hbs similarity index 100% rename from tests/dummy/app/components/code-snippet/template.hbs rename to packages/test-app/app/components/code-snippet/template.hbs diff --git a/tests/dummy/app/components/code-template-toggle/component.js b/packages/test-app/app/components/code-template-toggle/component.js similarity index 100% rename from tests/dummy/app/components/code-template-toggle/component.js rename to packages/test-app/app/components/code-template-toggle/component.js diff --git a/tests/dummy/app/components/code-template-toggle/template.hbs b/packages/test-app/app/components/code-template-toggle/template.hbs similarity index 100% rename from tests/dummy/app/components/code-template-toggle/template.hbs rename to packages/test-app/app/components/code-template-toggle/template.hbs diff --git a/tests/dummy/app/components/concurrency-graph/component.js b/packages/test-app/app/components/concurrency-graph/component.js similarity index 100% rename from tests/dummy/app/components/concurrency-graph/component.js rename to packages/test-app/app/components/concurrency-graph/component.js diff --git a/tests/dummy/app/components/concurrency-graph/template.hbs b/packages/test-app/app/components/concurrency-graph/template.hbs similarity index 100% rename from tests/dummy/app/components/concurrency-graph/template.hbs rename to packages/test-app/app/components/concurrency-graph/template.hbs diff --git a/tests/dummy/app/components/count-up/component.js b/packages/test-app/app/components/count-up/component.js similarity index 100% rename from tests/dummy/app/components/count-up/component.js rename to packages/test-app/app/components/count-up/component.js diff --git a/tests/dummy/app/components/count-up/template.hbs b/packages/test-app/app/components/count-up/template.hbs similarity index 100% rename from tests/dummy/app/components/count-up/template.hbs rename to packages/test-app/app/components/count-up/template.hbs diff --git a/tests/dummy/app/components/events-example/component.js b/packages/test-app/app/components/events-example/component.js similarity index 100% rename from tests/dummy/app/components/events-example/component.js rename to packages/test-app/app/components/events-example/component.js diff --git a/tests/dummy/app/components/events-example/template.hbs b/packages/test-app/app/components/events-example/template.hbs similarity index 100% rename from tests/dummy/app/components/events-example/template.hbs rename to packages/test-app/app/components/events-example/template.hbs diff --git a/tests/dummy/app/components/github-edit/component.js b/packages/test-app/app/components/github-edit/component.js similarity index 91% rename from tests/dummy/app/components/github-edit/component.js rename to packages/test-app/app/components/github-edit/component.js index 2cce6a190..5f5a0d5ca 100644 --- a/tests/dummy/app/components/github-edit/component.js +++ b/packages/test-app/app/components/github-edit/component.js @@ -14,6 +14,6 @@ export default class extends Component { return '#'; } path = path.replace(/\./g, '/'); - return `https://github.com/machty/ember-concurrency/edit/master/tests/dummy/app/${path}/template.hbs`; + return `https://github.com/machty/ember-concurrency/edit/master/packages/test-app/app/${path}/template.hbs`; } } diff --git a/tests/dummy/app/components/github-edit/template.hbs b/packages/test-app/app/components/github-edit/template.hbs similarity index 100% rename from tests/dummy/app/components/github-edit/template.hbs rename to packages/test-app/app/components/github-edit/template.hbs diff --git a/tests/dummy/app/components/loading-spinner/component.js b/packages/test-app/app/components/loading-spinner/component.js similarity index 100% rename from tests/dummy/app/components/loading-spinner/component.js rename to packages/test-app/app/components/loading-spinner/component.js diff --git a/tests/dummy/app/components/loading-spinner/template.hbs b/packages/test-app/app/components/loading-spinner/template.hbs similarity index 100% rename from tests/dummy/app/components/loading-spinner/template.hbs rename to packages/test-app/app/components/loading-spinner/template.hbs diff --git a/tests/dummy/app/components/my-button.js b/packages/test-app/app/components/my-button.js similarity index 100% rename from tests/dummy/app/components/my-button.js rename to packages/test-app/app/components/my-button.js diff --git a/tests/dummy/app/components/nav-header/component.js b/packages/test-app/app/components/nav-header/component.js similarity index 100% rename from tests/dummy/app/components/nav-header/component.js rename to packages/test-app/app/components/nav-header/component.js diff --git a/tests/dummy/app/components/nav-header/template.hbs b/packages/test-app/app/components/nav-header/template.hbs similarity index 100% rename from tests/dummy/app/components/nav-header/template.hbs rename to packages/test-app/app/components/nav-header/template.hbs diff --git a/tests/dummy/app/components/press-and-hold-button/component.js b/packages/test-app/app/components/press-and-hold-button/component.js similarity index 100% rename from tests/dummy/app/components/press-and-hold-button/component.js rename to packages/test-app/app/components/press-and-hold-button/component.js diff --git a/tests/dummy/app/components/press-and-hold-button/template.hbs b/packages/test-app/app/components/press-and-hold-button/template.hbs similarity index 100% rename from tests/dummy/app/components/press-and-hold-button/template.hbs rename to packages/test-app/app/components/press-and-hold-button/template.hbs diff --git a/tests/dummy/app/components/scrambled-text/component.js b/packages/test-app/app/components/scrambled-text/component.js similarity index 100% rename from tests/dummy/app/components/scrambled-text/component.js rename to packages/test-app/app/components/scrambled-text/component.js diff --git a/tests/dummy/app/components/scrambled-text/template.hbs b/packages/test-app/app/components/scrambled-text/template.hbs similarity index 100% rename from tests/dummy/app/components/scrambled-text/template.hbs rename to packages/test-app/app/components/scrambled-text/template.hbs diff --git a/tests/dummy/app/components/shared-tutorial/component.js b/packages/test-app/app/components/shared-tutorial/component.js similarity index 100% rename from tests/dummy/app/components/shared-tutorial/component.js rename to packages/test-app/app/components/shared-tutorial/component.js diff --git a/tests/dummy/app/components/start-task-example/component.js b/packages/test-app/app/components/start-task-example/component.js similarity index 100% rename from tests/dummy/app/components/start-task-example/component.js rename to packages/test-app/app/components/start-task-example/component.js diff --git a/tests/dummy/app/components/start-task-example/template.hbs b/packages/test-app/app/components/start-task-example/template.hbs similarity index 100% rename from tests/dummy/app/components/start-task-example/template.hbs rename to packages/test-app/app/components/start-task-example/template.hbs diff --git a/tests/dummy/app/components/task-function-syntax-1/component.js b/packages/test-app/app/components/task-function-syntax-1/component.js similarity index 100% rename from tests/dummy/app/components/task-function-syntax-1/component.js rename to packages/test-app/app/components/task-function-syntax-1/component.js diff --git a/tests/dummy/app/components/task-function-syntax-1/template.hbs b/packages/test-app/app/components/task-function-syntax-1/template.hbs similarity index 100% rename from tests/dummy/app/components/task-function-syntax-1/template.hbs rename to packages/test-app/app/components/task-function-syntax-1/template.hbs diff --git a/tests/dummy/app/components/task-function-syntax-2/component.js b/packages/test-app/app/components/task-function-syntax-2/component.js similarity index 100% rename from tests/dummy/app/components/task-function-syntax-2/component.js rename to packages/test-app/app/components/task-function-syntax-2/component.js diff --git a/tests/dummy/app/components/task-function-syntax-2/template.hbs b/packages/test-app/app/components/task-function-syntax-2/template.hbs similarity index 100% rename from tests/dummy/app/components/task-function-syntax-2/template.hbs rename to packages/test-app/app/components/task-function-syntax-2/template.hbs diff --git a/tests/dummy/app/components/task-function-syntax-3/component.js b/packages/test-app/app/components/task-function-syntax-3/component.js similarity index 100% rename from tests/dummy/app/components/task-function-syntax-3/component.js rename to packages/test-app/app/components/task-function-syntax-3/component.js diff --git a/tests/dummy/app/components/task-function-syntax-3/template.hbs b/packages/test-app/app/components/task-function-syntax-3/template.hbs similarity index 100% rename from tests/dummy/app/components/task-function-syntax-3/template.hbs rename to packages/test-app/app/components/task-function-syntax-3/template.hbs diff --git a/tests/dummy/app/components/task-function-syntax-4/component.js b/packages/test-app/app/components/task-function-syntax-4/component.js similarity index 100% rename from tests/dummy/app/components/task-function-syntax-4/component.js rename to packages/test-app/app/components/task-function-syntax-4/component.js diff --git a/tests/dummy/app/components/task-function-syntax-4/template.hbs b/packages/test-app/app/components/task-function-syntax-4/template.hbs similarity index 100% rename from tests/dummy/app/components/task-function-syntax-4/template.hbs rename to packages/test-app/app/components/task-function-syntax-4/template.hbs diff --git a/tests/dummy/app/components/task-function-syntax-5/component.js b/packages/test-app/app/components/task-function-syntax-5/component.js similarity index 100% rename from tests/dummy/app/components/task-function-syntax-5/component.js rename to packages/test-app/app/components/task-function-syntax-5/component.js diff --git a/tests/dummy/app/components/task-lifecycle-events-example/component.js b/packages/test-app/app/components/task-lifecycle-events-example/component.js similarity index 100% rename from tests/dummy/app/components/task-lifecycle-events-example/component.js rename to packages/test-app/app/components/task-lifecycle-events-example/component.js diff --git a/tests/dummy/app/components/task-lifecycle-events-example/template.hbs b/packages/test-app/app/components/task-lifecycle-events-example/template.hbs similarity index 100% rename from tests/dummy/app/components/task-lifecycle-events-example/template.hbs rename to packages/test-app/app/components/task-lifecycle-events-example/template.hbs diff --git a/tests/dummy/app/components/tutorial-0/component.js b/packages/test-app/app/components/tutorial-0/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-0/component.js rename to packages/test-app/app/components/tutorial-0/component.js diff --git a/tests/dummy/app/components/tutorial-0/template.hbs b/packages/test-app/app/components/tutorial-0/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-0/template.hbs rename to packages/test-app/app/components/tutorial-0/template.hbs diff --git a/tests/dummy/app/components/tutorial-1/component.js b/packages/test-app/app/components/tutorial-1/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-1/component.js rename to packages/test-app/app/components/tutorial-1/component.js diff --git a/tests/dummy/app/components/tutorial-1/template.hbs b/packages/test-app/app/components/tutorial-1/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-1/template.hbs rename to packages/test-app/app/components/tutorial-1/template.hbs diff --git a/tests/dummy/app/components/tutorial-2/component.js b/packages/test-app/app/components/tutorial-2/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-2/component.js rename to packages/test-app/app/components/tutorial-2/component.js diff --git a/tests/dummy/app/components/tutorial-2/template.hbs b/packages/test-app/app/components/tutorial-2/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-2/template.hbs rename to packages/test-app/app/components/tutorial-2/template.hbs diff --git a/tests/dummy/app/components/tutorial-3/component.js b/packages/test-app/app/components/tutorial-3/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-3/component.js rename to packages/test-app/app/components/tutorial-3/component.js diff --git a/tests/dummy/app/components/tutorial-3/template.hbs b/packages/test-app/app/components/tutorial-3/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-3/template.hbs rename to packages/test-app/app/components/tutorial-3/template.hbs diff --git a/tests/dummy/app/components/tutorial-4/component.js b/packages/test-app/app/components/tutorial-4/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-4/component.js rename to packages/test-app/app/components/tutorial-4/component.js diff --git a/tests/dummy/app/components/tutorial-4/template.hbs b/packages/test-app/app/components/tutorial-4/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-4/template.hbs rename to packages/test-app/app/components/tutorial-4/template.hbs diff --git a/tests/dummy/app/components/tutorial-5/component.js b/packages/test-app/app/components/tutorial-5/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-5/component.js rename to packages/test-app/app/components/tutorial-5/component.js diff --git a/tests/dummy/app/components/tutorial-5/template.hbs b/packages/test-app/app/components/tutorial-5/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-5/template.hbs rename to packages/test-app/app/components/tutorial-5/template.hbs diff --git a/tests/dummy/app/components/tutorial-6/component.js b/packages/test-app/app/components/tutorial-6/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-6/component.js rename to packages/test-app/app/components/tutorial-6/component.js diff --git a/tests/dummy/app/components/tutorial-6/template.hbs b/packages/test-app/app/components/tutorial-6/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-6/template.hbs rename to packages/test-app/app/components/tutorial-6/template.hbs diff --git a/tests/dummy/app/components/tutorial-7/component.js b/packages/test-app/app/components/tutorial-7/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-7/component.js rename to packages/test-app/app/components/tutorial-7/component.js diff --git a/tests/dummy/app/components/tutorial-7/template.hbs b/packages/test-app/app/components/tutorial-7/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-7/template.hbs rename to packages/test-app/app/components/tutorial-7/template.hbs diff --git a/tests/dummy/app/components/tutorial-8/component.js b/packages/test-app/app/components/tutorial-8/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-8/component.js rename to packages/test-app/app/components/tutorial-8/component.js diff --git a/tests/dummy/app/components/tutorial-8/template.hbs b/packages/test-app/app/components/tutorial-8/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-8/template.hbs rename to packages/test-app/app/components/tutorial-8/template.hbs diff --git a/tests/dummy/app/components/tutorial-9/component.js b/packages/test-app/app/components/tutorial-9/component.js similarity index 100% rename from tests/dummy/app/components/tutorial-9/component.js rename to packages/test-app/app/components/tutorial-9/component.js diff --git a/tests/dummy/app/components/tutorial-9/template.hbs b/packages/test-app/app/components/tutorial-9/template.hbs similarity index 100% rename from tests/dummy/app/components/tutorial-9/template.hbs rename to packages/test-app/app/components/tutorial-9/template.hbs diff --git a/tests/dummy/app/docs/404/route.js b/packages/test-app/app/docs/404/route.js similarity index 100% rename from tests/dummy/app/docs/404/route.js rename to packages/test-app/app/docs/404/route.js diff --git a/tests/dummy/app/docs/advanced/encapsulated-task/controller.js b/packages/test-app/app/docs/advanced/encapsulated-task/controller.js similarity index 95% rename from tests/dummy/app/docs/advanced/encapsulated-task/controller.js rename to packages/test-app/app/docs/advanced/encapsulated-task/controller.js index 1740ca366..1bf2b6ba0 100644 --- a/tests/dummy/app/docs/advanced/encapsulated-task/controller.js +++ b/packages/test-app/app/docs/advanced/encapsulated-task/controller.js @@ -1,6 +1,6 @@ import Controller from '@ember/controller'; import { computed } from '@ember/object'; -import { randomWord } from 'dummy/utils'; +import { randomWord } from 'test-app/utils'; // BEGIN-SNIPPET encapsulated-task-controller import { task, timeout } from 'ember-concurrency'; diff --git a/tests/dummy/app/docs/advanced/encapsulated-task/template.hbs b/packages/test-app/app/docs/advanced/encapsulated-task/template.hbs similarity index 100% rename from tests/dummy/app/docs/advanced/encapsulated-task/template.hbs rename to packages/test-app/app/docs/advanced/encapsulated-task/template.hbs diff --git a/tests/dummy/app/docs/advanced/lifecycle-events/template.hbs b/packages/test-app/app/docs/advanced/lifecycle-events/template.hbs similarity index 100% rename from tests/dummy/app/docs/advanced/lifecycle-events/template.hbs rename to packages/test-app/app/docs/advanced/lifecycle-events/template.hbs diff --git a/tests/dummy/app/docs/advanced/task-modifiers/controller.js b/packages/test-app/app/docs/advanced/task-modifiers/controller.js similarity index 96% rename from tests/dummy/app/docs/advanced/task-modifiers/controller.js rename to packages/test-app/app/docs/advanced/task-modifiers/controller.js index 248858ef1..bf9d5f990 100644 --- a/tests/dummy/app/docs/advanced/task-modifiers/controller.js +++ b/packages/test-app/app/docs/advanced/task-modifiers/controller.js @@ -9,7 +9,7 @@ import { task, timeout } from 'ember-concurrency'; // terseness in this illustration. You may want to separate defining the modifier // and registering it with registerModifier, and be explicit about where you // register (e.g. addon, library, or app initialization) -import 'dummy/task-modifiers/benchmark'; +import 'test-app/task-modifiers/benchmark'; let performance = typeof window !== 'undefined' && window.performance diff --git a/tests/dummy/app/docs/advanced/task-modifiers/template.hbs b/packages/test-app/app/docs/advanced/task-modifiers/template.hbs similarity index 100% rename from tests/dummy/app/docs/advanced/task-modifiers/template.hbs rename to packages/test-app/app/docs/advanced/task-modifiers/template.hbs diff --git a/tests/dummy/app/docs/advanced/yieldables/template.hbs b/packages/test-app/app/docs/advanced/yieldables/template.hbs similarity index 100% rename from tests/dummy/app/docs/advanced/yieldables/template.hbs rename to packages/test-app/app/docs/advanced/yieldables/template.hbs diff --git a/tests/dummy/app/docs/cancelation/controller.js b/packages/test-app/app/docs/cancelation/controller.js similarity index 100% rename from tests/dummy/app/docs/cancelation/controller.js rename to packages/test-app/app/docs/cancelation/controller.js diff --git a/tests/dummy/app/docs/cancelation/template.hbs b/packages/test-app/app/docs/cancelation/template.hbs similarity index 100% rename from tests/dummy/app/docs/cancelation/template.hbs rename to packages/test-app/app/docs/cancelation/template.hbs diff --git a/tests/dummy/app/docs/child-tasks/controller.js b/packages/test-app/app/docs/child-tasks/controller.js similarity index 100% rename from tests/dummy/app/docs/child-tasks/controller.js rename to packages/test-app/app/docs/child-tasks/controller.js diff --git a/tests/dummy/app/docs/child-tasks/template.hbs b/packages/test-app/app/docs/child-tasks/template.hbs similarity index 100% rename from tests/dummy/app/docs/child-tasks/template.hbs rename to packages/test-app/app/docs/child-tasks/template.hbs diff --git a/tests/dummy/app/docs/controller.js b/packages/test-app/app/docs/controller.js similarity index 100% rename from tests/dummy/app/docs/controller.js rename to packages/test-app/app/docs/controller.js diff --git a/tests/dummy/app/docs/derived-state/controller.js b/packages/test-app/app/docs/derived-state/controller.js similarity index 96% rename from tests/dummy/app/docs/derived-state/controller.js rename to packages/test-app/app/docs/derived-state/controller.js index d1e249a0b..813244432 100644 --- a/tests/dummy/app/docs/derived-state/controller.js +++ b/packages/test-app/app/docs/derived-state/controller.js @@ -1,7 +1,7 @@ import { action, computed } from '@ember/object'; import Controller from '@ember/controller'; import { task, timeout } from 'ember-concurrency'; -import { randomWord } from 'dummy/utils'; +import { randomWord } from 'test-app/utils'; let i = 0; function* sharedFn(shouldError) { diff --git a/tests/dummy/app/docs/derived-state/template.hbs b/packages/test-app/app/docs/derived-state/template.hbs similarity index 100% rename from tests/dummy/app/docs/derived-state/template.hbs rename to packages/test-app/app/docs/derived-state/template.hbs diff --git a/tests/dummy/app/docs/encapsulated-task/route.js b/packages/test-app/app/docs/encapsulated-task/route.js similarity index 100% rename from tests/dummy/app/docs/encapsulated-task/route.js rename to packages/test-app/app/docs/encapsulated-task/route.js diff --git a/tests/dummy/app/docs/error-vs-cancelation/controller.js b/packages/test-app/app/docs/error-vs-cancelation/controller.js similarity index 100% rename from tests/dummy/app/docs/error-vs-cancelation/controller.js rename to packages/test-app/app/docs/error-vs-cancelation/controller.js diff --git a/tests/dummy/app/docs/error-vs-cancelation/template.hbs b/packages/test-app/app/docs/error-vs-cancelation/template.hbs similarity index 100% rename from tests/dummy/app/docs/error-vs-cancelation/template.hbs rename to packages/test-app/app/docs/error-vs-cancelation/template.hbs diff --git a/tests/dummy/app/docs/events/template.hbs b/packages/test-app/app/docs/events/template.hbs similarity index 100% rename from tests/dummy/app/docs/events/template.hbs rename to packages/test-app/app/docs/events/template.hbs diff --git a/tests/dummy/app/docs/examples/ajax-throttling/template.hbs b/packages/test-app/app/docs/examples/ajax-throttling/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/ajax-throttling/template.hbs rename to packages/test-app/app/docs/examples/ajax-throttling/template.hbs diff --git a/tests/dummy/app/docs/examples/autocomplete/controller.js b/packages/test-app/app/docs/examples/autocomplete/controller.js similarity index 100% rename from tests/dummy/app/docs/examples/autocomplete/controller.js rename to packages/test-app/app/docs/examples/autocomplete/controller.js diff --git a/tests/dummy/app/docs/examples/autocomplete/template.hbs b/packages/test-app/app/docs/examples/autocomplete/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/autocomplete/template.hbs rename to packages/test-app/app/docs/examples/autocomplete/template.hbs diff --git a/tests/dummy/app/docs/examples/increment-buttons/controller.js b/packages/test-app/app/docs/examples/increment-buttons/controller.js similarity index 100% rename from tests/dummy/app/docs/examples/increment-buttons/controller.js rename to packages/test-app/app/docs/examples/increment-buttons/controller.js diff --git a/tests/dummy/app/docs/examples/increment-buttons/template.hbs b/packages/test-app/app/docs/examples/increment-buttons/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/increment-buttons/template.hbs rename to packages/test-app/app/docs/examples/increment-buttons/template.hbs diff --git a/tests/dummy/app/docs/examples/index/template.hbs b/packages/test-app/app/docs/examples/index/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/index/template.hbs rename to packages/test-app/app/docs/examples/index/template.hbs diff --git a/tests/dummy/app/docs/examples/joining-tasks/controller.js b/packages/test-app/app/docs/examples/joining-tasks/controller.js similarity index 96% rename from tests/dummy/app/docs/examples/joining-tasks/controller.js rename to packages/test-app/app/docs/examples/joining-tasks/controller.js index 3fde802b8..e2f66826b 100644 --- a/tests/dummy/app/docs/examples/joining-tasks/controller.js +++ b/packages/test-app/app/docs/examples/joining-tasks/controller.js @@ -1,6 +1,6 @@ import { makeArray } from '@ember/array'; import Controller from '@ember/controller'; -import { randomWord } from 'dummy/utils'; +import { randomWord } from 'test-app/utils'; // BEGIN-SNIPPET joining-tasks import { task, timeout, all, race } from 'ember-concurrency'; diff --git a/tests/dummy/app/docs/examples/joining-tasks/template.hbs b/packages/test-app/app/docs/examples/joining-tasks/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/joining-tasks/template.hbs rename to packages/test-app/app/docs/examples/joining-tasks/template.hbs diff --git a/tests/dummy/app/docs/examples/loading-ui/controller.js b/packages/test-app/app/docs/examples/loading-ui/controller.js similarity index 100% rename from tests/dummy/app/docs/examples/loading-ui/controller.js rename to packages/test-app/app/docs/examples/loading-ui/controller.js diff --git a/tests/dummy/app/docs/examples/loading-ui/template.hbs b/packages/test-app/app/docs/examples/loading-ui/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/loading-ui/template.hbs rename to packages/test-app/app/docs/examples/loading-ui/template.hbs diff --git a/tests/dummy/app/docs/examples/route-tasks/controller.js b/packages/test-app/app/docs/examples/route-tasks/controller.js similarity index 100% rename from tests/dummy/app/docs/examples/route-tasks/controller.js rename to packages/test-app/app/docs/examples/route-tasks/controller.js diff --git a/tests/dummy/app/docs/examples/route-tasks/detail/route.js b/packages/test-app/app/docs/examples/route-tasks/detail/route.js similarity index 100% rename from tests/dummy/app/docs/examples/route-tasks/detail/route.js rename to packages/test-app/app/docs/examples/route-tasks/detail/route.js diff --git a/tests/dummy/app/docs/examples/route-tasks/route.js b/packages/test-app/app/docs/examples/route-tasks/route.js similarity index 100% rename from tests/dummy/app/docs/examples/route-tasks/route.js rename to packages/test-app/app/docs/examples/route-tasks/route.js diff --git a/tests/dummy/app/docs/examples/route-tasks/template.hbs b/packages/test-app/app/docs/examples/route-tasks/template.hbs similarity index 100% rename from tests/dummy/app/docs/examples/route-tasks/template.hbs rename to packages/test-app/app/docs/examples/route-tasks/template.hbs diff --git a/tests/dummy/app/docs/examples/task-concurrency/route.js b/packages/test-app/app/docs/examples/task-concurrency/route.js similarity index 100% rename from tests/dummy/app/docs/examples/task-concurrency/route.js rename to packages/test-app/app/docs/examples/task-concurrency/route.js diff --git a/tests/dummy/app/docs/faq/template.hbs b/packages/test-app/app/docs/faq/template.hbs similarity index 100% rename from tests/dummy/app/docs/faq/template.hbs rename to packages/test-app/app/docs/faq/template.hbs diff --git a/tests/dummy/app/docs/index/route.js b/packages/test-app/app/docs/index/route.js similarity index 100% rename from tests/dummy/app/docs/index/route.js rename to packages/test-app/app/docs/index/route.js diff --git a/tests/dummy/app/docs/installation/template.hbs b/packages/test-app/app/docs/installation/template.hbs similarity index 100% rename from tests/dummy/app/docs/installation/template.hbs rename to packages/test-app/app/docs/installation/template.hbs diff --git a/tests/dummy/app/docs/introduction/template.hbs b/packages/test-app/app/docs/introduction/template.hbs similarity index 100% rename from tests/dummy/app/docs/introduction/template.hbs rename to packages/test-app/app/docs/introduction/template.hbs diff --git a/tests/dummy/app/docs/task-cancelation-help/template.hbs b/packages/test-app/app/docs/task-cancelation-help/template.hbs similarity index 100% rename from tests/dummy/app/docs/task-cancelation-help/template.hbs rename to packages/test-app/app/docs/task-cancelation-help/template.hbs diff --git a/tests/dummy/app/docs/task-concurrency-advanced/controller.js b/packages/test-app/app/docs/task-concurrency-advanced/controller.js similarity index 100% rename from tests/dummy/app/docs/task-concurrency-advanced/controller.js rename to packages/test-app/app/docs/task-concurrency-advanced/controller.js diff --git a/tests/dummy/app/docs/task-concurrency-advanced/template.hbs b/packages/test-app/app/docs/task-concurrency-advanced/template.hbs similarity index 100% rename from tests/dummy/app/docs/task-concurrency-advanced/template.hbs rename to packages/test-app/app/docs/task-concurrency-advanced/template.hbs diff --git a/tests/dummy/app/docs/task-concurrency/controller.js b/packages/test-app/app/docs/task-concurrency/controller.js similarity index 100% rename from tests/dummy/app/docs/task-concurrency/controller.js rename to packages/test-app/app/docs/task-concurrency/controller.js diff --git a/tests/dummy/app/docs/task-concurrency/template.hbs b/packages/test-app/app/docs/task-concurrency/template.hbs similarity index 100% rename from tests/dummy/app/docs/task-concurrency/template.hbs rename to packages/test-app/app/docs/task-concurrency/template.hbs diff --git a/tests/dummy/app/docs/task-decorators/template.hbs b/packages/test-app/app/docs/task-decorators/template.hbs similarity index 100% rename from tests/dummy/app/docs/task-decorators/template.hbs rename to packages/test-app/app/docs/task-decorators/template.hbs diff --git a/tests/dummy/app/docs/task-function-syntax/template.hbs b/packages/test-app/app/docs/task-function-syntax/template.hbs similarity index 100% rename from tests/dummy/app/docs/task-function-syntax/template.hbs rename to packages/test-app/app/docs/task-function-syntax/template.hbs diff --git a/tests/dummy/app/docs/task-groups/controller.js b/packages/test-app/app/docs/task-groups/controller.js similarity index 100% rename from tests/dummy/app/docs/task-groups/controller.js rename to packages/test-app/app/docs/task-groups/controller.js diff --git a/tests/dummy/app/docs/task-groups/template.hbs b/packages/test-app/app/docs/task-groups/template.hbs similarity index 100% rename from tests/dummy/app/docs/task-groups/template.hbs rename to packages/test-app/app/docs/task-groups/template.hbs diff --git a/tests/dummy/app/docs/task-lifecycle-events/route.js b/packages/test-app/app/docs/task-lifecycle-events/route.js similarity index 100% rename from tests/dummy/app/docs/task-lifecycle-events/route.js rename to packages/test-app/app/docs/task-lifecycle-events/route.js diff --git a/tests/dummy/app/docs/template.hbs b/packages/test-app/app/docs/template.hbs similarity index 100% rename from tests/dummy/app/docs/template.hbs rename to packages/test-app/app/docs/template.hbs diff --git a/tests/dummy/app/docs/testing-debugging/template.hbs b/packages/test-app/app/docs/testing-debugging/template.hbs similarity index 98% rename from tests/dummy/app/docs/testing-debugging/template.hbs rename to packages/test-app/app/docs/testing-debugging/template.hbs index 7e3e0de72..a40e3ea15 100644 --- a/tests/dummy/app/docs/testing-debugging/template.hbs +++ b/packages/test-app/app/docs/testing-debugging/template.hbs @@ -104,7 +104,7 @@

Also, if you're finding success with a testing approach that wasn't mentioned here, please open a GitHub issue with your ideas or open a Pull Request to add - additional docs to this page. + additional docs to this page.

diff --git a/tests/dummy/app/docs/tutorial/discussion/template.hbs b/packages/test-app/app/docs/tutorial/discussion/template.hbs similarity index 100% rename from tests/dummy/app/docs/tutorial/discussion/template.hbs rename to packages/test-app/app/docs/tutorial/discussion/template.hbs diff --git a/tests/dummy/app/docs/tutorial/index/template.hbs b/packages/test-app/app/docs/tutorial/index/template.hbs similarity index 100% rename from tests/dummy/app/docs/tutorial/index/template.hbs rename to packages/test-app/app/docs/tutorial/index/template.hbs diff --git a/tests/dummy/app/docs/tutorial/refactor/template.hbs b/packages/test-app/app/docs/tutorial/refactor/template.hbs similarity index 100% rename from tests/dummy/app/docs/tutorial/refactor/template.hbs rename to packages/test-app/app/docs/tutorial/refactor/template.hbs diff --git a/tests/dummy/app/docs/typescript/template.hbs b/packages/test-app/app/docs/typescript/template.hbs similarity index 100% rename from tests/dummy/app/docs/typescript/template.hbs rename to packages/test-app/app/docs/typescript/template.hbs diff --git a/tests/dummy/app/docs/writing-tasks/template.hbs b/packages/test-app/app/docs/writing-tasks/template.hbs similarity index 100% rename from tests/dummy/app/docs/writing-tasks/template.hbs rename to packages/test-app/app/docs/writing-tasks/template.hbs diff --git a/tests/dummy/app/docs/yieldables/route.js b/packages/test-app/app/docs/yieldables/route.js similarity index 100% rename from tests/dummy/app/docs/yieldables/route.js rename to packages/test-app/app/docs/yieldables/route.js diff --git a/tests/dummy/app/helpers-test/controller.js b/packages/test-app/app/helpers-test/controller.js similarity index 100% rename from tests/dummy/app/helpers-test/controller.js rename to packages/test-app/app/helpers-test/controller.js diff --git a/tests/dummy/app/helpers-test/template.hbs b/packages/test-app/app/helpers-test/template.hbs similarity index 100% rename from tests/dummy/app/helpers-test/template.hbs rename to packages/test-app/app/helpers-test/template.hbs diff --git a/tests/dummy/app/helpers/caps-bool.js b/packages/test-app/app/helpers/caps-bool.js similarity index 100% rename from tests/dummy/app/helpers/caps-bool.js rename to packages/test-app/app/helpers/caps-bool.js diff --git a/tests/dummy/app/helpers/color.js b/packages/test-app/app/helpers/color.js similarity index 100% rename from tests/dummy/app/helpers/color.js rename to packages/test-app/app/helpers/color.js diff --git a/tests/dummy/app/helpers/pick-from.js b/packages/test-app/app/helpers/pick-from.js similarity index 100% rename from tests/dummy/app/helpers/pick-from.js rename to packages/test-app/app/helpers/pick-from.js diff --git a/tests/dummy/app/helpers/progress-style.js b/packages/test-app/app/helpers/progress-style.js similarity index 100% rename from tests/dummy/app/helpers/progress-style.js rename to packages/test-app/app/helpers/progress-style.js diff --git a/tests/dummy/app/helpers/scale.js b/packages/test-app/app/helpers/scale.js similarity index 100% rename from tests/dummy/app/helpers/scale.js rename to packages/test-app/app/helpers/scale.js diff --git a/tests/dummy/app/helpers/subtract.js b/packages/test-app/app/helpers/subtract.js similarity index 100% rename from tests/dummy/app/helpers/subtract.js rename to packages/test-app/app/helpers/subtract.js diff --git a/tests/dummy/app/helpers/sum.js b/packages/test-app/app/helpers/sum.js similarity index 100% rename from tests/dummy/app/helpers/sum.js rename to packages/test-app/app/helpers/sum.js diff --git a/tests/dummy/app/helpers/swallow-error.js b/packages/test-app/app/helpers/swallow-error.js similarity index 100% rename from tests/dummy/app/helpers/swallow-error.js rename to packages/test-app/app/helpers/swallow-error.js diff --git a/tests/dummy/app/helpers/width.js b/packages/test-app/app/helpers/width.js similarity index 100% rename from tests/dummy/app/helpers/width.js rename to packages/test-app/app/helpers/width.js diff --git a/tests/dummy/app/index.html b/packages/test-app/app/index.html similarity index 90% rename from tests/dummy/app/index.html rename to packages/test-app/app/index.html index 37a504989..b7ad7b0a0 100644 --- a/tests/dummy/app/index.html +++ b/packages/test-app/app/index.html @@ -9,7 +9,7 @@ {{content-for "head"}} - + {{content-for "head-footer"}} @@ -18,7 +18,7 @@ {{content-for "body"}} - + {{content-for "body-footer"}} diff --git a/tests/dummy/app/index/route.js b/packages/test-app/app/index/route.js similarity index 100% rename from tests/dummy/app/index/route.js rename to packages/test-app/app/index/route.js diff --git a/tests/dummy/app/modifiers/autofocus.js b/packages/test-app/app/modifiers/autofocus.js similarity index 100% rename from tests/dummy/app/modifiers/autofocus.js rename to packages/test-app/app/modifiers/autofocus.js diff --git a/tests/dummy/app/router.js b/packages/test-app/app/router.js similarity index 97% rename from tests/dummy/app/router.js rename to packages/test-app/app/router.js index ec7eac0c8..4bf60c031 100644 --- a/tests/dummy/app/router.js +++ b/packages/test-app/app/router.js @@ -1,5 +1,5 @@ import EmberRouter from '@ember/routing/router'; -import config from 'dummy/config/environment'; +import config from 'test-app/config/environment'; export default class Router extends EmberRouter { location = config.locationType; diff --git a/tests/dummy/app/services/fun.js b/packages/test-app/app/services/fun.js similarity index 100% rename from tests/dummy/app/services/fun.js rename to packages/test-app/app/services/fun.js diff --git a/tests/dummy/app/services/notifications.js b/packages/test-app/app/services/notifications.js similarity index 100% rename from tests/dummy/app/services/notifications.js rename to packages/test-app/app/services/notifications.js diff --git a/tests/dummy/app/styles/app.scss b/packages/test-app/app/styles/app.scss similarity index 100% rename from tests/dummy/app/styles/app.scss rename to packages/test-app/app/styles/app.scss diff --git a/tests/dummy/app/styles/fontello.css b/packages/test-app/app/styles/fontello.css similarity index 100% rename from tests/dummy/app/styles/fontello.css rename to packages/test-app/app/styles/fontello.css diff --git a/tests/dummy/app/styles/normalize.scss b/packages/test-app/app/styles/normalize.scss similarity index 100% rename from tests/dummy/app/styles/normalize.scss rename to packages/test-app/app/styles/normalize.scss diff --git a/tests/dummy/app/styles/skeleton.scss b/packages/test-app/app/styles/skeleton.scss similarity index 100% rename from tests/dummy/app/styles/skeleton.scss rename to packages/test-app/app/styles/skeleton.scss diff --git a/tests/dummy/app/task-injection-test/controller.js b/packages/test-app/app/task-injection-test/controller.js similarity index 100% rename from tests/dummy/app/task-injection-test/controller.js rename to packages/test-app/app/task-injection-test/controller.js diff --git a/tests/dummy/app/task-injection-test/template.hbs b/packages/test-app/app/task-injection-test/template.hbs similarity index 100% rename from tests/dummy/app/task-injection-test/template.hbs rename to packages/test-app/app/task-injection-test/template.hbs diff --git a/tests/dummy/app/task-modifiers/benchmark.js b/packages/test-app/app/task-modifiers/benchmark.js similarity index 100% rename from tests/dummy/app/task-modifiers/benchmark.js rename to packages/test-app/app/task-modifiers/benchmark.js diff --git a/tests/dummy/app/templates/components/my-button.hbs b/packages/test-app/app/templates/components/my-button.hbs similarity index 100% rename from tests/dummy/app/templates/components/my-button.hbs rename to packages/test-app/app/templates/components/my-button.hbs diff --git a/tests/dummy/app/testing-ergo/foo-settimeout/controller.js b/packages/test-app/app/testing-ergo/foo-settimeout/controller.js similarity index 100% rename from tests/dummy/app/testing-ergo/foo-settimeout/controller.js rename to packages/test-app/app/testing-ergo/foo-settimeout/controller.js diff --git a/tests/dummy/app/testing-ergo/foo-settimeout/route.js b/packages/test-app/app/testing-ergo/foo-settimeout/route.js similarity index 100% rename from tests/dummy/app/testing-ergo/foo-settimeout/route.js rename to packages/test-app/app/testing-ergo/foo-settimeout/route.js diff --git a/tests/dummy/app/testing-ergo/foo-settimeout/template.hbs b/packages/test-app/app/testing-ergo/foo-settimeout/template.hbs similarity index 100% rename from tests/dummy/app/testing-ergo/foo-settimeout/template.hbs rename to packages/test-app/app/testing-ergo/foo-settimeout/template.hbs diff --git a/tests/dummy/app/testing-ergo/foo/controller.js b/packages/test-app/app/testing-ergo/foo/controller.js similarity index 100% rename from tests/dummy/app/testing-ergo/foo/controller.js rename to packages/test-app/app/testing-ergo/foo/controller.js diff --git a/tests/dummy/app/testing-ergo/foo/route.js b/packages/test-app/app/testing-ergo/foo/route.js similarity index 100% rename from tests/dummy/app/testing-ergo/foo/route.js rename to packages/test-app/app/testing-ergo/foo/route.js diff --git a/tests/dummy/app/testing-ergo/foo/template.hbs b/packages/test-app/app/testing-ergo/foo/template.hbs similarity index 100% rename from tests/dummy/app/testing-ergo/foo/template.hbs rename to packages/test-app/app/testing-ergo/foo/template.hbs diff --git a/tests/dummy/app/testing-ergo/loading/template.hbs b/packages/test-app/app/testing-ergo/loading/template.hbs similarity index 100% rename from tests/dummy/app/testing-ergo/loading/template.hbs rename to packages/test-app/app/testing-ergo/loading/template.hbs diff --git a/tests/dummy/app/testing-ergo/slow/route.js b/packages/test-app/app/testing-ergo/slow/route.js similarity index 100% rename from tests/dummy/app/testing-ergo/slow/route.js rename to packages/test-app/app/testing-ergo/slow/route.js diff --git a/tests/dummy/app/testing-ergo/slow/template.hbs b/packages/test-app/app/testing-ergo/slow/template.hbs similarity index 100% rename from tests/dummy/app/testing-ergo/slow/template.hbs rename to packages/test-app/app/testing-ergo/slow/template.hbs diff --git a/tests/dummy/app/testing-ergo/timer-loop/controller.js b/packages/test-app/app/testing-ergo/timer-loop/controller.js similarity index 100% rename from tests/dummy/app/testing-ergo/timer-loop/controller.js rename to packages/test-app/app/testing-ergo/timer-loop/controller.js diff --git a/tests/dummy/app/testing-ergo/timer-loop/route.js b/packages/test-app/app/testing-ergo/timer-loop/route.js similarity index 100% rename from tests/dummy/app/testing-ergo/timer-loop/route.js rename to packages/test-app/app/testing-ergo/timer-loop/route.js diff --git a/tests/dummy/app/testing-ergo/timer-loop/template.hbs b/packages/test-app/app/testing-ergo/timer-loop/template.hbs similarity index 100% rename from tests/dummy/app/testing-ergo/timer-loop/template.hbs rename to packages/test-app/app/testing-ergo/timer-loop/template.hbs diff --git a/tests/dummy/app/utils.js b/packages/test-app/app/utils.js similarity index 100% rename from tests/dummy/app/utils.js rename to packages/test-app/app/utils.js diff --git a/tests/dummy/config/ember-cli-update.json b/packages/test-app/config/ember-cli-update.json similarity index 100% rename from tests/dummy/config/ember-cli-update.json rename to packages/test-app/config/ember-cli-update.json diff --git a/tests/dummy/config/ember-try.js b/packages/test-app/config/ember-try.js similarity index 82% rename from tests/dummy/config/ember-try.js rename to packages/test-app/config/ember-try.js index c02cfe59b..d0a5024c6 100644 --- a/tests/dummy/config/ember-try.js +++ b/packages/test-app/config/ember-try.js @@ -1,5 +1,6 @@ 'use strict'; +// eslint-disable-next-line n/no-missing-require const getChannelURL = require('ember-source-channel-url'); const { embroiderSafe, embroiderOptimized } = require('@embroider/test-setup'); @@ -78,22 +79,7 @@ module.exports = async function () { }, }, { - name: 'typescript-3.7', - npm: { - devDependencies: { - '@types/node': '~16.11.7', // @types/node 17.x breaks TS 3.7 - typescript: '~3.7.0', - }, - }, - command: 'tsc', - }, - { - name: 'typescript-3.9', - npm: { - devDependencies: { - typescript: '~3.9.0', - }, - }, + name: 'tsc', command: 'tsc', }, embroiderSafe(), diff --git a/tests/dummy/config/environment.js b/packages/test-app/config/environment.js similarity index 97% rename from tests/dummy/config/environment.js rename to packages/test-app/config/environment.js index a90c48c8d..8e8351c83 100644 --- a/tests/dummy/config/environment.js +++ b/packages/test-app/config/environment.js @@ -2,7 +2,7 @@ module.exports = function (environment) { const ENV = { - modulePrefix: 'dummy', + modulePrefix: 'test-app', environment, rootURL: '/', locationType: 'history', diff --git a/tests/dummy/config/optional-features.json b/packages/test-app/config/optional-features.json similarity index 100% rename from tests/dummy/config/optional-features.json rename to packages/test-app/config/optional-features.json diff --git a/tests/dummy/config/targets.js b/packages/test-app/config/targets.js similarity index 100% rename from tests/dummy/config/targets.js rename to packages/test-app/config/targets.js diff --git a/ember-cli-build.js b/packages/test-app/ember-cli-build.js similarity index 78% rename from ember-cli-build.js rename to packages/test-app/ember-cli-build.js index 412dd6964..162c4f89d 100644 --- a/ember-cli-build.js +++ b/packages/test-app/ember-cli-build.js @@ -1,17 +1,17 @@ 'use strict'; -const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); const { maybeEmbroider } = require('@embroider/test-setup'); const urls = require('./lib/prember-urls'); module.exports = function (defaults) { - const app = new EmberAddon(defaults, { + const app = new EmberApp(defaults, { minifyJS: { enabled: false, }, - snippetPaths: ['tests/dummy/snippets'], - snippetSearchPaths: ['app', 'tests/dummy/app', 'addon'], + snippetPaths: ['snippets'], + snippetSearchPaths: ['app'], 'ember-prism': { components: ['javascript', 'typescript', 'bash', 'markup'], @@ -34,11 +34,16 @@ module.exports = function (defaults) { // GitHub Pages uses this filename to serve 404s emptyFile: '404.html', }, + + babel: { + plugins: [ + require.resolve('ember-concurrency/async-arrow-task-transform'), + ], + }, }); /* - This build file specifies the options for the dummy test app of this - addon, located in `/tests/dummy` + This build file specifies the options for the test app of this addon. This build file does *not* influence how the addon or the app using it behave. You most likely want to be modifying `./index.js` or app's build file */ @@ -46,7 +51,7 @@ module.exports = function (defaults) { return maybeEmbroider(app, { packageRules: [ { - package: 'dummy', + package: 'test-app', components: { '{{e-c-test}}': { safeToIgnore: true, diff --git a/lib/prember-urls.js b/packages/test-app/lib/prember-urls.js similarity index 100% rename from lib/prember-urls.js rename to packages/test-app/lib/prember-urls.js diff --git a/packages/test-app/package.json b/packages/test-app/package.json new file mode 100644 index 000000000..67b31b236 --- /dev/null +++ b/packages/test-app/package.json @@ -0,0 +1,91 @@ +{ + "name": "test-app", + "version": "0.0.0", + "private": true, + "description": "Small description for test-app goes here", + "repository": "", + "license": "MIT", + "author": "", + "directories": { + "doc": "doc", + "test": "tests" + }, + "scripts": { + "build": "ember build --environment=production", + "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"", + "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"", + "lint:hbs": "ember-template-lint .", + "lint:hbs:fix": "ember-template-lint . --fix", + "lint:js": "eslint . --cache", + "lint:js:fix": "eslint . --fix", + "start": "ember serve", + "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"", + "test:ember": "ember test", + "test:ember-try": "ember try:one", + "docs:build": "node_modules/.bin/jsdoc -c .jsdoc --verbose" + }, + "devDependencies": { + "@babel/core": "^7.23.7", + "@ember/optional-features": "^2.0.0", + "@ember/string": "^3.0.1", + "@ember/test-helpers": "^2.9.3", + "@embroider/test-setup": "^2.1.1", + "@glimmer/component": "^1.1.2", + "@glimmer/tracking": "^1.1.2", + "@tsconfig/ember": "^3.0.3", + "@types/rsvp": "^4.0.9", + "@typescript-eslint/eslint-plugin": "^6.14.0", + "@typescript-eslint/parser": "^6.14.0", + "babel-eslint": "^10.1.0", + "broccoli-asset-rev": "^3.0.0", + "concurrently": "^8.0.0", + "ember-auto-import": "^2.6.1", + "ember-cli": "~4.11.0", + "ember-cli-app-version": "^6.0.0", + "ember-cli-babel": "^7.26.11", + "ember-cli-dependency-checker": "^3.3.1", + "ember-cli-htmlbars": "^6.2.0", + "ember-cli-inject-live-reload": "^2.1.0", + "ember-cli-sass": "^10.0.1", + "ember-cli-sri": "^2.1.1", + "ember-cli-terser": "^4.0.2", + "ember-code-snippet": "^3.0.0", + "ember-concurrency": "workspace:*", + "ember-data": "~4.11.3", + "ember-fetch": "^8.1.2", + "ember-load-initializers": "^2.1.2", + "ember-modifier": "^4.1.0", + "ember-page-title": "^7.0.0", + "ember-prism": "^0.13.0", + "ember-qunit": "^6.2.0", + "ember-resolver": "^10.0.0", + "ember-sinon-qunit": "^7.4.0", + "ember-source": "~4.11.0", + "ember-source-channel-url": "^3.0.0", + "ember-template-lint": "^5.6.0", + "ember-try": "^3.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-ember": "^11.4.7", + "eslint-plugin-n": "^15.6.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-qunit": "^7.3.4", + "expect-type": "^0.15.0", + "jsdoc": "^3.6.6", + "loader.js": "^4.7.0", + "prettier": "^2.8.4", + "qunit": "^2.19.4", + "qunit-dom": "^2.0.0", + "sass": "^1.22.12", + "sinon": "^15.0.2", + "tracked-built-ins": "^3.1.1", + "typescript": "^5.3.3", + "webpack": "^5.75.0" + }, + "engines": { + "node": "14.* || 16.* || >= 18" + }, + "ember": { + "edition": "octane" + } +} diff --git a/tests/dummy/public/CNAME b/packages/test-app/public/CNAME similarity index 100% rename from tests/dummy/public/CNAME rename to packages/test-app/public/CNAME diff --git a/tests/dummy/public/crossdomain.xml b/packages/test-app/public/crossdomain.xml similarity index 100% rename from tests/dummy/public/crossdomain.xml rename to packages/test-app/public/crossdomain.xml diff --git a/tests/dummy/public/robots.txt b/packages/test-app/public/robots.txt similarity index 100% rename from tests/dummy/public/robots.txt rename to packages/test-app/public/robots.txt diff --git a/tests/dummy/snippets/ember-install.sh b/packages/test-app/snippets/ember-install.sh similarity index 100% rename from tests/dummy/snippets/ember-install.sh rename to packages/test-app/snippets/ember-install.sh diff --git a/tests/dummy/snippets/encapsulated-task.js b/packages/test-app/snippets/encapsulated-task.js similarity index 100% rename from tests/dummy/snippets/encapsulated-task.js rename to packages/test-app/snippets/encapsulated-task.js diff --git a/tests/dummy/snippets/last-value-decorator.js b/packages/test-app/snippets/last-value-decorator.js similarity index 100% rename from tests/dummy/snippets/last-value-decorator.js rename to packages/test-app/snippets/last-value-decorator.js diff --git a/tests/dummy/snippets/poll-loop-break-1.js b/packages/test-app/snippets/poll-loop-break-1.js similarity index 62% rename from tests/dummy/snippets/poll-loop-break-1.js rename to packages/test-app/snippets/poll-loop-break-1.js index 603c30ece..de73f5604 100644 --- a/tests/dummy/snippets/poll-loop-break-1.js +++ b/packages/test-app/snippets/poll-loop-break-1.js @@ -1,7 +1,7 @@ pollForChanges = task(async () => { while(true) { - yield pollServerForChanges(); + await pollServerForChanges(); if (Ember.testing) { return; } - yield timeout(5000); + await timeout(5000); } }) diff --git a/tests/dummy/snippets/poll-loop-classic.js b/packages/test-app/snippets/poll-loop-classic.js similarity index 100% rename from tests/dummy/snippets/poll-loop-classic.js rename to packages/test-app/snippets/poll-loop-classic.js diff --git a/tests/dummy/snippets/poll-loop.js b/packages/test-app/snippets/poll-loop.js similarity index 100% rename from tests/dummy/snippets/poll-loop.js rename to packages/test-app/snippets/poll-loop.js diff --git a/tests/dummy/snippets/task-cancelation-example-1.js b/packages/test-app/snippets/task-cancelation-example-1.js similarity index 100% rename from tests/dummy/snippets/task-cancelation-example-1.js rename to packages/test-app/snippets/task-cancelation-example-1.js diff --git a/tests/dummy/snippets/task-cancelation-example-2.js b/packages/test-app/snippets/task-cancelation-example-2.js similarity index 100% rename from tests/dummy/snippets/task-cancelation-example-2.js rename to packages/test-app/snippets/task-cancelation-example-2.js diff --git a/tests/dummy/snippets/task-cancelation-example-3.js b/packages/test-app/snippets/task-cancelation-example-3.js similarity index 100% rename from tests/dummy/snippets/task-cancelation-example-3.js rename to packages/test-app/snippets/task-cancelation-example-3.js diff --git a/tests/dummy/snippets/task-decorators-1.js b/packages/test-app/snippets/task-decorators-1.js similarity index 100% rename from tests/dummy/snippets/task-decorators-1.js rename to packages/test-app/snippets/task-decorators-1.js diff --git a/tests/dummy/snippets/task-decorators-2.js b/packages/test-app/snippets/task-decorators-2.js similarity index 100% rename from tests/dummy/snippets/task-decorators-2.js rename to packages/test-app/snippets/task-decorators-2.js diff --git a/tests/dummy/snippets/task-decorators-3.js b/packages/test-app/snippets/task-decorators-3.js similarity index 100% rename from tests/dummy/snippets/task-decorators-3.js rename to packages/test-app/snippets/task-decorators-3.js diff --git a/tests/dummy/snippets/task-decorators-4.js b/packages/test-app/snippets/task-decorators-4.js similarity index 100% rename from tests/dummy/snippets/task-decorators-4.js rename to packages/test-app/snippets/task-decorators-4.js diff --git a/tests/dummy/snippets/task-decorators-5.js b/packages/test-app/snippets/task-decorators-5.js similarity index 100% rename from tests/dummy/snippets/task-decorators-5.js rename to packages/test-app/snippets/task-decorators-5.js diff --git a/tests/dummy/snippets/task-group-decorators-1.js b/packages/test-app/snippets/task-group-decorators-1.js similarity index 100% rename from tests/dummy/snippets/task-group-decorators-1.js rename to packages/test-app/snippets/task-group-decorators-1.js diff --git a/tests/dummy/snippets/task-group-decorators-2.js b/packages/test-app/snippets/task-group-decorators-2.js similarity index 100% rename from tests/dummy/snippets/task-group-decorators-2.js rename to packages/test-app/snippets/task-group-decorators-2.js diff --git a/tests/dummy/snippets/task-group-decorators-3.js b/packages/test-app/snippets/task-group-decorators-3.js similarity index 100% rename from tests/dummy/snippets/task-group-decorators-3.js rename to packages/test-app/snippets/task-group-decorators-3.js diff --git a/tests/dummy/snippets/ts/basic-example.ts b/packages/test-app/snippets/ts/basic-example.ts similarity index 100% rename from tests/dummy/snippets/ts/basic-example.ts rename to packages/test-app/snippets/ts/basic-example.ts diff --git a/tests/dummy/snippets/ts/typing-task.ts b/packages/test-app/snippets/ts/typing-task.ts similarity index 100% rename from tests/dummy/snippets/ts/typing-task.ts rename to packages/test-app/snippets/ts/typing-task.ts diff --git a/tests/dummy/snippets/writing-tasks.js b/packages/test-app/snippets/writing-tasks.js similarity index 100% rename from tests/dummy/snippets/writing-tasks.js rename to packages/test-app/snippets/writing-tasks.js diff --git a/tests/dummy/snippets/yieldable-req-idle-cb-task.js b/packages/test-app/snippets/yieldable-req-idle-cb-task.js similarity index 100% rename from tests/dummy/snippets/yieldable-req-idle-cb-task.js rename to packages/test-app/snippets/yieldable-req-idle-cb-task.js diff --git a/tests/dummy/snippets/yieldable-req-idle-cb.js b/packages/test-app/snippets/yieldable-req-idle-cb.js similarity index 100% rename from tests/dummy/snippets/yieldable-req-idle-cb.js rename to packages/test-app/snippets/yieldable-req-idle-cb.js diff --git a/testem.js b/packages/test-app/testem.js similarity index 100% rename from testem.js rename to packages/test-app/testem.js diff --git a/packages/test-app/tests/acceptance/helpers-test.js b/packages/test-app/tests/acceptance/helpers-test.js new file mode 100644 index 000000000..4beda8512 --- /dev/null +++ b/packages/test-app/tests/acceptance/helpers-test.js @@ -0,0 +1,31 @@ +import { click, visit, currentURL } from '@ember/test-helpers'; +import { setupApplicationTest } from 'ember-qunit'; +import { module, test } from 'qunit'; +import { setDebugFunction, getDebugFunction } from '@ember/debug'; + +const originalAssert = getDebugFunction('assert'); + +module('Acceptance | helpers', function (hooks) { + setupApplicationTest(hooks); + + hooks.afterEach(function () { + setDebugFunction('assert', originalAssert); + }); + + test('perform and cancel-all', async function (assert) { + assert.expect(3); + await visit('/helpers-test'); + assert.strictEqual(currentURL(), '/helpers-test'); + + await click('.perform-task'); + assert.dom('.task-status').hasText('1-2-3-4'); + await click('.cancel-task'); + assert.dom('.task-status').hasText('canceled'); + }); + + test('setting value="..." should behave like closure actions and rewrite event arg', async function (assert) { + assert.expect(0); + await visit('/helpers-test'); + await click('.set-value-option-task'); + }); +}); diff --git a/tests/acceptance/root-test.js b/packages/test-app/tests/acceptance/root-test.js similarity index 91% rename from tests/acceptance/root-test.js rename to packages/test-app/tests/acceptance/root-test.js index ff0e6f013..086e8af8d 100644 --- a/tests/acceptance/root-test.js +++ b/packages/test-app/tests/acceptance/root-test.js @@ -2,7 +2,7 @@ import { module, test, skip } from 'qunit'; import { setupApplicationTest } from 'ember-qunit'; import { visit } from '@ember/test-helpers'; import { run, _cancelTimers } from '@ember/runloop'; -import { FLATTENED_TABLE_OF_CONTENTS } from 'dummy/docs/controller'; +import { FLATTENED_TABLE_OF_CONTENTS } from 'test-app/docs/controller'; const cancelTimers = _cancelTimers || run.cancelTimers; diff --git a/tests/acceptance/task-injection-test.js b/packages/test-app/tests/acceptance/task-injection-test.js similarity index 100% rename from tests/acceptance/task-injection-test.js rename to packages/test-app/tests/acceptance/task-injection-test.js diff --git a/packages/test-app/tests/helpers/helpers.js b/packages/test-app/tests/helpers/helpers.js new file mode 100644 index 000000000..39b698258 --- /dev/null +++ b/packages/test-app/tests/helpers/helpers.js @@ -0,0 +1,6 @@ +import Ember from 'ember'; + +export function makeAsyncError(hooks) { + hooks.afterEach(() => (Ember.onerror = null)); + return () => new window.Promise((r) => (Ember.onerror = r)); +} diff --git a/tests/helpers/index.js b/packages/test-app/tests/helpers/index.js similarity index 100% rename from tests/helpers/index.js rename to packages/test-app/tests/helpers/index.js diff --git a/tests/index.html b/packages/test-app/tests/index.html similarity index 87% rename from tests/index.html rename to packages/test-app/tests/index.html index b74fc8be6..29759967e 100644 --- a/tests/index.html +++ b/packages/test-app/tests/index.html @@ -2,7 +2,7 @@ - Dummy Tests + Tests @@ -10,7 +10,7 @@ {{content-for "test-head"}} - + {{content-for "head-footer"}} @@ -30,7 +30,7 @@ - + {{content-for "body-footer"}} diff --git a/tests/integration/async-arrow-task-test.js b/packages/test-app/tests/integration/async-arrow-task-test.js similarity index 99% rename from tests/integration/async-arrow-task-test.js rename to packages/test-app/tests/integration/async-arrow-task-test.js index 6f2e1a1fa..6d9320379 100644 --- a/tests/integration/async-arrow-task-test.js +++ b/packages/test-app/tests/integration/async-arrow-task-test.js @@ -19,7 +19,7 @@ import { enqueueTask, } from 'ember-concurrency'; import Component from '@glimmer/component'; -import { getDebugFunction, setDebugFunction } from '../helpers/helpers'; +import { setDebugFunction, getDebugFunction } from '@ember/debug'; function defer() { let resolve, reject; diff --git a/tests/integration/helpers/perform-test.js b/packages/test-app/tests/integration/helpers/perform-test.js similarity index 100% rename from tests/integration/helpers/perform-test.js rename to packages/test-app/tests/integration/helpers/perform-test.js diff --git a/tests/integration/helpers/task-action-test.js b/packages/test-app/tests/integration/helpers/task-action-test.js similarity index 100% rename from tests/integration/helpers/task-action-test.js rename to packages/test-app/tests/integration/helpers/task-action-test.js diff --git a/packages/test-app/tests/integration/no-render-breaking-test.js b/packages/test-app/tests/integration/no-render-breaking-test.js new file mode 100644 index 000000000..91a48b26c --- /dev/null +++ b/packages/test-app/tests/integration/no-render-breaking-test.js @@ -0,0 +1,61 @@ +import Component from '@ember/component'; +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { render } from '@ember/test-helpers'; +import hbs from 'htmlbars-inline-precompile'; +import { task, timeout } from 'ember-concurrency'; + +module('Integration | no render breaking', function (hooks) { + setupRenderingTest(hooks); + + test('Issue #337 | internal task state updates do not trigger re-render assertions w/ auto-tracking', async function (assert) { + assert.expect(1); + + this.owner.register( + 'component:e-c-test', + Component.extend({ + layout: hbs``, + + focusIn() { + this.exampleTask.perform(); + }, + + exampleTask: task(function* () { + yield timeout(100); + }), + }) + ); + + await render(hbs` + + `); + assert.ok(true, 'Renders'); + }); + + test('Issue #340 | internal task state updates in cancellation do not trigger re-render assertions w/ auto-tracking', async function (assert) { + assert.expect(1); + + this.owner.register( + 'component:e-c-test', + Component.extend({ + layout: hbs`
{{this.value}}
`, + + get value() { + this._super(...arguments); + + this.exampleTask.perform(); + this.exampleTask.perform(); + + return 'value'; + }, + + exampleTask: task(function* () { + yield timeout(100); + }).restartable(), + }) + ); + + await render(hbs``); + assert.ok(true, 'Renders'); + }); +}); diff --git a/packages/test-app/tests/integration/tracked-use-test.js b/packages/test-app/tests/integration/tracked-use-test.js new file mode 100644 index 000000000..65bff0c96 --- /dev/null +++ b/packages/test-app/tests/integration/tracked-use-test.js @@ -0,0 +1,98 @@ +import Component from '@ember/component'; +import { module, test } from 'qunit'; +import { setupRenderingTest } from 'ember-qunit'; +import { later } from '@ember/runloop'; +import { render } from '@ember/test-helpers'; +import hbs from 'htmlbars-inline-precompile'; +import { restartableTask, timeout, task, taskGroup } from 'ember-concurrency'; + +module('Integration | tracked use', function (hooks) { + setupRenderingTest(hooks); + + test('Issue #343 | Task: tracked use with getter', async function (assert) { + assert.expect(2); + const done = assert.async(); + + this.owner.register( + 'component:e-c-test', + class ECTest extends Component { + layout = hbs`
{{#if this.exampleTask.isRunning}}running{{else}}{{this.value}}{{/if}}
`; + + constructor() { + super(...arguments); + this.exampleTask.perform(); + } + + get value() { + if (this.exampleTask.last) { + return this.exampleTask.last.value; + } + + return null; + } + + @restartableTask *exampleTask() { + yield timeout(1000); + return 'done'; + } + } + ); + + render(hbs``); + + later(() => { + assert.dom('div').hasText('running'); + }, 400); + + later(() => { + assert.dom('div').hasText('done'); + + done(); + }, 1500); + }); + + test('Issue #343 | TaskGroup: tracked use with getter', async function (assert) { + assert.expect(2); + const done = assert.async(); + + this.owner.register( + 'component:e-c-test', + class ECTest extends Component { + layout = hbs`
{{#if this.exampleGroup.isRunning}}running{{else}}{{this.value}}{{/if}}
`; + + constructor() { + super(...arguments); + this.exampleTask.perform(); + } + + get value() { + if (this.exampleGroup.last) { + return this.exampleGroup.last.value; + } + + return null; + } + + @taskGroup({ restartable: true }) exampleGroup; + + @task({ group: 'exampleGroup' }) + *exampleTask() { + yield timeout(1000); + return 'done'; + } + } + ); + + render(hbs``); + + later(() => { + assert.dom('div').hasText('running'); + }, 400); + + later(() => { + assert.dom('div').hasText('done'); + + done(); + }, 1500); + }); +}); diff --git a/packages/test-app/tests/test-helper.js b/packages/test-app/tests/test-helper.js new file mode 100644 index 000000000..3bbbcbdd3 --- /dev/null +++ b/packages/test-app/tests/test-helper.js @@ -0,0 +1,14 @@ +import Application from 'test-app/app'; +import config from 'test-app/config/environment'; +import { setApplication } from '@ember/test-helpers'; +import { start } from 'ember-qunit'; +import QUnit from 'qunit'; +import { setup as setupQUnitDom } from 'qunit-dom'; + +setupQUnitDom(QUnit.assert); + +QUnit.config.testTimeout = 5000; + +setApplication(Application.create(config.APP)); + +start(); diff --git a/tests/unit/cancelable-promise-helpers-test.js b/packages/test-app/tests/unit/cancelable-promise-helpers-test.js similarity index 100% rename from tests/unit/cancelable-promise-helpers-test.js rename to packages/test-app/tests/unit/cancelable-promise-helpers-test.js diff --git a/tests/unit/create-mock-task-in-test.js b/packages/test-app/tests/unit/create-mock-task-in-test.js similarity index 100% rename from tests/unit/create-mock-task-in-test.js rename to packages/test-app/tests/unit/create-mock-task-in-test.js diff --git a/tests/unit/decorators-test.js b/packages/test-app/tests/unit/decorators-test.js similarity index 67% rename from tests/unit/decorators-test.js rename to packages/test-app/tests/unit/decorators-test.js index 023583cfa..f337c0a4a 100644 --- a/tests/unit/decorators-test.js +++ b/packages/test-app/tests/unit/decorators-test.js @@ -1,4 +1,4 @@ -import { module } from 'qunit'; +import { module, test } from 'qunit'; import { run } from '@ember/runloop'; import EmberObject from '@ember/object'; import { setOwner } from '@ember/application'; @@ -9,11 +9,10 @@ import { keepLatestTask, enqueueTask, } from 'ember-concurrency'; -import { decoratorTest } from '../helpers/helpers'; import { settled } from '@ember/test-helpers'; module('Unit | decorators', function () { - decoratorTest('Basic decorators functionality', function (assert) { + test('Basic decorators functionality', function (assert) { assert.expect(5); class TestSubject { @@ -67,7 +66,7 @@ module('Unit | decorators', function () { assert.strictEqual(subject.d.last.value, 34); }); - decoratorTest('Encapsulated tasks', function (assert) { + test('Encapsulated tasks', function (assert) { assert.expect(1); class TestSubject { @@ -89,38 +88,35 @@ module('Unit | decorators', function () { assert.strictEqual(subject.encapsulated.last.value, 56); }); - decoratorTest( - '`observes` re-performs the task every time the observed property changes in a coalesced manner', - async function (assert) { - assert.expect(2); + test('`observes` re-performs the task every time the observed property changes in a coalesced manner', async function (assert) { + assert.expect(2); - let values = []; - class Obj extends EmberObject { - foo = 0; + let values = []; + class Obj extends EmberObject { + foo = 0; - @task({ observes: 'foo' }) - *observingTask() { - values.push(this.foo); - } + @task({ observes: 'foo' }) + *observingTask() { + values.push(this.foo); } + } - let obj = Obj.create(); - await settled(); + let obj = Obj.create(); + await settled(); - obj.set('foo', 1); - obj.set('foo', 2); - obj.set('foo', 3); - await settled(); + obj.set('foo', 1); + obj.set('foo', 2); + obj.set('foo', 3); + await settled(); - assert.deepEqual(values, [3]); - values = []; + assert.deepEqual(values, [3]); + values = []; - obj.set('foo', 4); - obj.set('foo', 5); - obj.set('foo', 6); - await settled(); + obj.set('foo', 4); + obj.set('foo', 5); + obj.set('foo', 6); + await settled(); - assert.deepEqual(values, [6]); - } - ); + assert.deepEqual(values, [6]); + }); }); diff --git a/tests/unit/derived-state/on-state-test.js b/packages/test-app/tests/unit/derived-state/on-state-test.js similarity index 100% rename from tests/unit/derived-state/on-state-test.js rename to packages/test-app/tests/unit/derived-state/on-state-test.js diff --git a/tests/unit/encapsulated-task-test.js b/packages/test-app/tests/unit/encapsulated-task-test.js similarity index 61% rename from tests/unit/encapsulated-task-test.js rename to packages/test-app/tests/unit/encapsulated-task-test.js index 30566e1af..042c50f11 100644 --- a/tests/unit/encapsulated-task-test.js +++ b/packages/test-app/tests/unit/encapsulated-task-test.js @@ -4,7 +4,6 @@ import EmberObject, { computed } from '@ember/object'; import { reads } from '@ember/object/computed'; import { task } from 'ember-concurrency'; import { module, test } from 'qunit'; -import { decoratorTest } from '../helpers/helpers'; module('Unit: EncapsulatedTask', function () { test('encapsulated tasks can be specified via a pojos with perform methods', function (assert) { @@ -108,69 +107,63 @@ module('Unit: EncapsulatedTask', function () { assert.false(taskInstance.amIRunning); }); - decoratorTest( - 'encapsulated tasks work with native ES classes and decorators', - function (assert) { - assert.expect(2); - - let defer; - - class FakeGlimmerComponent { - @task myTask = { - *perform(...args) { - assert.deepEqual(args, [1, 2, 3]); - defer = RSVP.defer(); - yield defer.promise; - return 123; - }, - }; - } - - let obj; - run(() => { - obj = new FakeGlimmerComponent(); - obj.myTask.perform(1, 2, 3).then((v) => { - assert.strictEqual(v, 123); - }); - }); - run(defer, 'resolve'); + test('encapsulated tasks work with native ES classes and decorators', function (assert) { + assert.expect(2); + + let defer; + + class FakeGlimmerComponent { + @task myTask = { + *perform(...args) { + assert.deepEqual(args, [1, 2, 3]); + defer = RSVP.defer(); + yield defer.promise; + return 123; + }, + }; } - ); - - decoratorTest( - 'native ES class encapsulated tasks can modify their state', - async function (assert) { - assert.expect(4); - - let defer; - - class FakeComponent { - @task myTask = { - someProp: 0, - - doubled: computed('someProp', function () { - return this.someProp * 2; - }), - - *perform() { - defer = RSVP.defer(); - let whatProp = this.someProp; - yield defer.promise; - // eslint-disable-next-line ember/classic-decorator-no-classic-methods - this.set('someProp', whatProp + 1); - }, - }; - } - - let obj = new FakeComponent(); - const taskInstance = obj.myTask.perform(1, 2, 3); - assert.strictEqual(taskInstance.someProp, 0); - assert.strictEqual(taskInstance.doubled, 0); - - defer.resolve(); - await taskInstance; - assert.strictEqual(taskInstance.someProp, 1); - assert.strictEqual(taskInstance.doubled, 2); + + let obj; + run(() => { + obj = new FakeGlimmerComponent(); + obj.myTask.perform(1, 2, 3).then((v) => { + assert.strictEqual(v, 123); + }); + }); + run(defer, 'resolve'); + }); + + test('native ES class encapsulated tasks can modify their state', async function (assert) { + assert.expect(4); + + let defer; + + class FakeComponent { + @task myTask = { + someProp: 0, + + doubled: computed('someProp', function () { + return this.someProp * 2; + }), + + *perform() { + defer = RSVP.defer(); + let whatProp = this.someProp; + yield defer.promise; + // eslint-disable-next-line ember/classic-decorator-no-classic-methods + this.set('someProp', whatProp + 1); + }, + }; } - ); + + let obj = new FakeComponent(); + const taskInstance = obj.myTask.perform(1, 2, 3); + assert.strictEqual(taskInstance.someProp, 0); + assert.strictEqual(taskInstance.doubled, 0); + + defer.resolve(); + await taskInstance; + assert.strictEqual(taskInstance.someProp, 1); + assert.strictEqual(taskInstance.doubled, 2); + }); }); diff --git a/tests/unit/error-handling-test.js b/packages/test-app/tests/unit/error-handling-test.js similarity index 100% rename from tests/unit/error-handling-test.js rename to packages/test-app/tests/unit/error-handling-test.js diff --git a/tests/unit/external/scheduler-policies/drop-policy-test.js b/packages/test-app/tests/unit/external/scheduler-policies/drop-policy-test.js similarity index 100% rename from tests/unit/external/scheduler-policies/drop-policy-test.js rename to packages/test-app/tests/unit/external/scheduler-policies/drop-policy-test.js diff --git a/tests/unit/external/scheduler-policies/enqueued-policy-test.js b/packages/test-app/tests/unit/external/scheduler-policies/enqueued-policy-test.js similarity index 100% rename from tests/unit/external/scheduler-policies/enqueued-policy-test.js rename to packages/test-app/tests/unit/external/scheduler-policies/enqueued-policy-test.js diff --git a/tests/unit/external/scheduler-policies/helpers.js b/packages/test-app/tests/unit/external/scheduler-policies/helpers.js similarity index 100% rename from tests/unit/external/scheduler-policies/helpers.js rename to packages/test-app/tests/unit/external/scheduler-policies/helpers.js diff --git a/tests/unit/external/scheduler-policies/keep-latest-policy-test.js b/packages/test-app/tests/unit/external/scheduler-policies/keep-latest-policy-test.js similarity index 100% rename from tests/unit/external/scheduler-policies/keep-latest-policy-test.js rename to packages/test-app/tests/unit/external/scheduler-policies/keep-latest-policy-test.js diff --git a/tests/unit/external/scheduler-policies/restartable-policy-test.js b/packages/test-app/tests/unit/external/scheduler-policies/restartable-policy-test.js similarity index 100% rename from tests/unit/external/scheduler-policies/restartable-policy-test.js rename to packages/test-app/tests/unit/external/scheduler-policies/restartable-policy-test.js diff --git a/tests/unit/external/scheduler-policies/unbounded-policy-test.js b/packages/test-app/tests/unit/external/scheduler-policies/unbounded-policy-test.js similarity index 100% rename from tests/unit/external/scheduler-policies/unbounded-policy-test.js rename to packages/test-app/tests/unit/external/scheduler-policies/unbounded-policy-test.js diff --git a/tests/unit/generator-method-test.js b/packages/test-app/tests/unit/generator-method-test.js similarity index 87% rename from tests/unit/generator-method-test.js rename to packages/test-app/tests/unit/generator-method-test.js index 3fac81e6c..bf28dcaad 100644 --- a/tests/unit/generator-method-test.js +++ b/packages/test-app/tests/unit/generator-method-test.js @@ -1,4 +1,4 @@ -import { module } from 'qunit'; +import { module, test } from 'qunit'; import { run } from '@ember/runloop'; import { task, @@ -7,10 +7,9 @@ import { keepLatestTask, enqueueTask, } from 'ember-concurrency'; -import { decoratorTest } from '../helpers/helpers'; module('Unit | generator method', function () { - decoratorTest('Basic decorators functionality', function (assert) { + test('Basic decorators functionality', function (assert) { assert.expect(5); class TestSubject { diff --git a/tests/unit/last-value-test.js b/packages/test-app/tests/unit/last-value-test.js similarity index 84% rename from tests/unit/last-value-test.js rename to packages/test-app/tests/unit/last-value-test.js index 5154d4ff2..5d325c1a6 100644 --- a/tests/unit/last-value-test.js +++ b/packages/test-app/tests/unit/last-value-test.js @@ -1,10 +1,9 @@ -import { module } from 'qunit'; +import { module, test } from 'qunit'; import EmberObject from '@ember/object'; import { task, lastValue } from 'ember-concurrency'; -import { decoratorTest } from '../helpers/helpers'; module('Unit | lastValue', function () { - decoratorTest('without a default value', async function (assert) { + test('without a default value', async function (assert) { class ObjectWithTask extends EmberObject { @task task = function* () { return yield 'foo'; @@ -29,7 +28,7 @@ module('Unit | lastValue', function () { ); }); - decoratorTest('with a default value', async function (assert) { + test('with a default value', async function (assert) { class ObjectWithTaskDefaultValue extends EmberObject { @task task = function* () { return yield 'foo'; diff --git a/tests/unit/self-cancel-loop-test.js b/packages/test-app/tests/unit/self-cancel-loop-test.js similarity index 100% rename from tests/unit/self-cancel-loop-test.js rename to packages/test-app/tests/unit/self-cancel-loop-test.js diff --git a/tests/unit/task-events-test.js b/packages/test-app/tests/unit/task-events-test.js similarity index 100% rename from tests/unit/task-events-test.js rename to packages/test-app/tests/unit/task-events-test.js diff --git a/tests/unit/task-groups-test.js b/packages/test-app/tests/unit/task-groups-test.js similarity index 86% rename from tests/unit/task-groups-test.js rename to packages/test-app/tests/unit/task-groups-test.js index 4f65d0fd0..c80329881 100644 --- a/tests/unit/task-groups-test.js +++ b/packages/test-app/tests/unit/task-groups-test.js @@ -3,7 +3,6 @@ import RSVP from 'rsvp'; import EmberObject from '@ember/object'; import { task, taskGroup, forever } from 'ember-concurrency'; import { module, test } from 'qunit'; -import { decoratorTest } from '../helpers/helpers'; module('Unit: task groups', function () { function assertStates(assert, task, isRunning, isQueued, isIdle, suffix) { @@ -226,41 +225,38 @@ module('Unit: task groups', function () { assertRunning(); }); - decoratorTest( - 'ES class syntax with decorators works with task groups', - function (assert) { - assert.expect(12); + test('ES class syntax with decorators works with task groups', function (assert) { + assert.expect(12); - let deferA, deferB; - class FakeGlimmerComponent { - @taskGroup({ enqueue: true }) tg; + let deferA, deferB; + class FakeGlimmerComponent { + @taskGroup({ enqueue: true }) tg; - @task({ group: 'tg' }) *taskA() { - deferA = RSVP.defer(); - yield deferA.promise; - } + @task({ group: 'tg' }) *taskA() { + deferA = RSVP.defer(); + yield deferA.promise; + } - @task({ group: 'tg' }) *taskB() { - deferB = RSVP.defer(); - yield deferB.promise; - } + @task({ group: 'tg' }) *taskB() { + deferB = RSVP.defer(); + yield deferB.promise; } + } - let obj, taskA, taskB, suffix, tg; + let obj, taskA, taskB, suffix, tg; - run(() => { - obj = new FakeGlimmerComponent(); - tg = obj.tg; - taskA = obj.taskA; - taskB = obj.taskB; + run(() => { + obj = new FakeGlimmerComponent(); + tg = obj.tg; + taskA = obj.taskA; + taskB = obj.taskB; - taskA.perform(); - }); + taskA.perform(); + }); - suffix = 'performing taskA'; - assertStates(assert, tg, true, false, false, suffix); - assertStates(assert, taskA, true, false, false, suffix); - assertStates(assert, taskB, false, false, true, suffix); - } - ); + suffix = 'performing taskA'; + assertStates(assert, tg, true, false, false, suffix); + assertStates(assert, taskA, true, false, false, suffix); + assertStates(assert, taskB, false, false, true, suffix); + }); }); diff --git a/tests/unit/task-instance-test.js b/packages/test-app/tests/unit/task-instance-test.js similarity index 97% rename from tests/unit/task-instance-test.js rename to packages/test-app/tests/unit/task-instance-test.js index e25b71e3e..3ff65c232 100644 --- a/tests/unit/task-instance-test.js +++ b/packages/test-app/tests/unit/task-instance-test.js @@ -6,19 +6,6 @@ import { module, test } from 'qunit'; import { makeAsyncError } from '../helpers/helpers'; import { TaskInstanceExecutor } from 'ember-concurrency/-private/external/task-instance/executor'; import { EMBER_ENVIRONMENT } from 'ember-concurrency/-private/ember-environment'; -import { - dependencySatisfies, - importSync, - macroCondition, -} from '@embroider/macros'; - -const getCurrentRunloop = function () { - if (macroCondition(dependencySatisfies('ember-source', '^4.0.0-beta.1'))) { - return importSync('@ember/runloop')._getCurrentRunLoop(); - } else { - return run.currentRunLoop; - } -}; module('Unit: task instance', function (hooks) { let asyncError = makeAsyncError(hooks); @@ -98,17 +85,14 @@ module('Unit: task instance', function (hooks) { }); test('window.Promise: yielding many in a row', function (assert) { - assert.expect(7); + assert.expect(4); let done = assert.async(); let ti; run(() => { ti = wrap(function* (v) { - assert.ok(getCurrentRunloop); v = yield window.Promise.resolve(v * 2); - assert.ok(getCurrentRunloop); v = yield window.Promise.resolve(v * 2); - assert.ok(getCurrentRunloop); return v; })(123); }); diff --git a/tests/unit/task-property-test.js b/packages/test-app/tests/unit/task-property-test.js similarity index 59% rename from tests/unit/task-property-test.js rename to packages/test-app/tests/unit/task-property-test.js index 2772053ad..3456e55ec 100644 --- a/tests/unit/task-property-test.js +++ b/packages/test-app/tests/unit/task-property-test.js @@ -3,7 +3,6 @@ import EmberObject from '@ember/object'; import { settled } from '@ember/test-helpers'; import { forever, task, TaskProperty } from 'ember-concurrency'; import { module, test } from 'qunit'; -import { decoratorTest } from '../helpers/helpers'; let taskRunCounter = 0; function taskCounterWrapper(taskProperty) { @@ -51,41 +50,38 @@ module('Unit: task property', function () { assert.strictEqual(taskRunCounter, 0); }); - decoratorTest( - '`TaskProperty` extends can be turned on via decorators', - async function (assert) { - assert.expect(4); + test('`TaskProperty` extends can be turned on via decorators', async function (assert) { + assert.expect(4); - try { - TaskProperty.prototype.countable = function () { - return taskCounterWrapper(this); - }; + try { + TaskProperty.prototype.countable = function () { + return taskCounterWrapper(this); + }; - class TestSubject { - @task({ countable: true }) *doStuff() { - yield forever; - } + class TestSubject { + @task({ countable: true }) *doStuff() { + yield forever; } + } - assert.strictEqual(taskRunCounter, 0); + assert.strictEqual(taskRunCounter, 0); - let obj = new TestSubject(); - setOwner(obj, this.owner); + let obj = new TestSubject(); + setOwner(obj, this.owner); - obj.doStuff.perform(); - assert.strictEqual(taskRunCounter, 1); + obj.doStuff.perform(); + assert.strictEqual(taskRunCounter, 1); - obj.doStuff.perform(); - assert.strictEqual(taskRunCounter, 2); + obj.doStuff.perform(); + assert.strictEqual(taskRunCounter, 2); - obj.doStuff.cancelAll(); + obj.doStuff.cancelAll(); - await settled(); + await settled(); - assert.strictEqual(taskRunCounter, 0); - } finally { - delete TaskProperty.prototype.countable; - } + assert.strictEqual(taskRunCounter, 0); + } finally { + delete TaskProperty.prototype.countable; } - ); + }); }); diff --git a/tests/unit/task-states-test.js b/packages/test-app/tests/unit/task-states-test.js similarity index 100% rename from tests/unit/task-states-test.js rename to packages/test-app/tests/unit/task-states-test.js diff --git a/tests/unit/task-test.js b/packages/test-app/tests/unit/task-test.js similarity index 91% rename from tests/unit/task-test.js rename to packages/test-app/tests/unit/task-test.js index 50958998f..eef6b5215 100644 --- a/tests/unit/task-test.js +++ b/packages/test-app/tests/unit/task-test.js @@ -10,7 +10,6 @@ import Ember from 'ember'; import { task, timeout, forever } from 'ember-concurrency'; import { module, test } from 'qunit'; import { destroy } from '@ember/destroyable'; -import { decoratorTest } from '../helpers/helpers'; const originalLog = console.log; const originalWarn = console.warn; @@ -577,14 +576,16 @@ module('Unit: task', function (hooks) { }); }); - decoratorTest('ES classes: syntax with decorators works', function (assert) { + test('ES classes: syntax with decorators works', function (assert) { + assert.expect(2); + const done = assert.async(2); class FakeGlimmerComponent { @task *task() { - assert.ok(this instanceof FakeGlimmerComponent); + assert.true(this instanceof FakeGlimmerComponent); yield timeout(1); - assert.ok(true); + assert.true(true); done(); } } @@ -597,58 +598,52 @@ module('Unit: task', function (hooks) { later(done, 1); }); - decoratorTest( - 'ES classes: performing a task on a destroyed object returns an immediately-canceled taskInstance', - function (assert) { - assert.expect(2); + test('ES classes: performing a task on a destroyed object returns an immediately-canceled taskInstance', function (assert) { + assert.expect(2); - class Obj { - @task *task() { - throw new Error("shouldn't get here"); - } + class Obj { + @task *task() { + throw new Error("shouldn't get here"); } + } - let obj; - run(() => { - obj = new Obj(); - destroy(obj); - assert.strictEqual(obj.task.perform().isDropped, true); - }); + let obj; + run(() => { + obj = new Obj(); + destroy(obj); + assert.true(obj.task.perform().isDropped); + }); - run(() => { - assert.strictEqual(obj.task.perform().isDropped, true); - }); - } - ); - - decoratorTest( - 'ES classes: task discontinues after destruction when blocked on async values', - function (assert) { - let start = assert.async(); - assert.expect(1); - - class Obj { - @task *doStuff() { - assert.ok(true); - yield timeout(1000); - assert.ok(false); - yield timeout(1000); - } - - constructor() { - this.doStuff.perform(); - } - } + run(() => { + assert.true(obj.task.perform().isDropped); + }); + }); - let obj; - run(() => { - obj = new Obj(); - }); + test('ES classes: task discontinues after destruction when blocked on async values', function (assert) { + let start = assert.async(); + assert.expect(1); - later(() => { - destroy(obj); - start(); - }); + class Obj { + @task *doStuff() { + assert.ok(true); + yield timeout(1000); + assert.ok(false); + yield timeout(1000); + } + + constructor() { + this.doStuff.perform(); + } } - ); + + let obj; + run(() => { + obj = new Obj(); + }); + + later(() => { + destroy(obj); + start(); + }); + }); }); diff --git a/tests/unit/wait-for-test.js b/packages/test-app/tests/unit/wait-for-test.js similarity index 92% rename from tests/unit/wait-for-test.js rename to packages/test-app/tests/unit/wait-for-test.js index 0f183ad92..4345059a9 100644 --- a/tests/unit/wait-for-test.js +++ b/packages/test-app/tests/unit/wait-for-test.js @@ -11,7 +11,6 @@ import { race, } from 'ember-concurrency'; import { alias } from '@ember/object/computed'; -import { decoratorTest } from '../helpers/helpers'; const EventedObject = EmberObject.extend(Evented); @@ -431,44 +430,41 @@ module( assert.strictEqual(ev, 456); }); - decoratorTest( - 'waitForProperty works on an ES class', - async function (assert) { - assert.expect(1); + test('waitForProperty works on an ES class', async function (assert) { + assert.expect(1); - let values = []; - class Obj { - a = 1; + let values = []; + class Obj { + a = 1; - // eslint-disable-next-line ember/no-computed-properties-in-native-classes - @computed('a') - get b() { - return this.a; - } + // eslint-disable-next-line ember/no-computed-properties-in-native-classes + @computed('a') + get b() { + return this.a; + } - @task *task() { - let result = yield waitForProperty(this, 'b', (v) => { - values.push(v); - return v == 3 ? 'done' : false; - }); - values.push(`val=${result}`); - } + @task *task() { + let result = yield waitForProperty(this, 'b', (v) => { + values.push(v); + return v == 3 ? 'done' : false; + }); + values.push(`val=${result}`); } + } - let obj = new Obj(); - obj.task.perform(); + let obj = new Obj(); + obj.task.perform(); - set(obj, 'a', 2); - await settled(); + set(obj, 'a', 2); + await settled(); - set(obj, 'a', 3); - await settled(); + set(obj, 'a', 3); + await settled(); - set(obj, 'a', 4); - await settled(); + set(obj, 'a', 4); + await settled(); - assert.deepEqual(values, [1, 2, 3, 'val=3']); - } - ); + assert.deepEqual(values, [1, 2, 3, 'val=3']); + }); } ); diff --git a/packages/test-app/tsconfig.json b/packages/test-app/tsconfig.json new file mode 100644 index 000000000..26c66fdac --- /dev/null +++ b/packages/test-app/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@tsconfig/ember/tsconfig.json", + "glint": { + "environment": ["ember-loose", "ember-template-imports"] + }, + "compilerOptions": { + // The combination of `baseUrl` with `paths` allows Ember's classic package + // layout, which is not resolvable with the Node resolution algorithm, to + // work with TypeScript. + "baseUrl": ".", + "paths": { + "test-app/tests/*": ["tests/*"], + "test-app/*": ["app/*"], + "*": ["types/*"], + "ember-concurrency": ["../ember-concurrency/src/index.d.ts"] + } + } +} \ No newline at end of file diff --git a/types-tests/ember-concurrency-test.ts b/packages/test-app/types-tests/ember-concurrency-test.ts similarity index 99% rename from types-tests/ember-concurrency-test.ts rename to packages/test-app/types-tests/ember-concurrency-test.ts index 3f443e4ae..e1534a8fa 100644 --- a/types-tests/ember-concurrency-test.ts +++ b/packages/test-app/types-tests/ember-concurrency-test.ts @@ -7,29 +7,29 @@ import EmberObject, { get } from '@ember/object'; import Evented from '@ember/object/evented'; import GlimmerComponent from '@glimmer/component'; import { - EncapsulatedTask, - EncapsulatedTaskDescriptor, - EncapsulatedTaskDescriptorArgs, - EncapsulatedTaskDescriptorReturnType, - EncapsulatedTaskProperty, - EncapsulatedTaskState, - OnStateCallback, - Task, - TaskForTaskFunction, - TaskForEncapsulatedTaskDescriptor, - TaskInstanceForTaskFunction, - TaskInstanceForEncapsulatedTaskDescriptor, - TaskFactory, - TaskFunction, - TaskFunctionArgs, - TaskFunctionReturnType, - TaskGenerator, - TaskGroup, - TaskGroupProperty, - TaskInstance, - TaskModifier, - TaskProperty, - TaskState, + type EncapsulatedTask, + type EncapsulatedTaskDescriptor, + type EncapsulatedTaskDescriptorArgs, + type EncapsulatedTaskDescriptorReturnType, + type EncapsulatedTaskProperty, + type EncapsulatedTaskState, + type OnStateCallback, + type Task, + type TaskForTaskFunction, + type TaskForEncapsulatedTaskDescriptor, + type TaskInstanceForTaskFunction, + type TaskInstanceForEncapsulatedTaskDescriptor, + type TaskFactory, + type TaskFunction, + type TaskFunctionArgs, + type TaskFunctionReturnType, + type TaskGenerator, + type TaskGroup, + type TaskGroupProperty, + type TaskInstance, + type TaskModifier, + type TaskProperty, + type TaskState, Yieldable, all, allSettled, @@ -51,7 +51,6 @@ import { waitForProperty, waitForQueue, lastValue, - TaskForAsyncTaskFunction, dropTask, enqueueTask, keepLatestTask, diff --git a/packages/test-app/types/global.d.ts b/packages/test-app/types/global.d.ts new file mode 100644 index 000000000..e69de29bb diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 610711fd3..c34e3cdca 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,156 +1,177 @@ lockfileVersion: 5.4 -overrides: - klaw: < 4 - socket.io: 4.2.0 - -specifiers: - '@babel/core': ^7.12.13 - '@babel/helper-define-map': ^7.18.0 - '@babel/helper-module-imports': ^7.18.2 - '@babel/helper-plugin-utils': ^7.12.13 - '@babel/plugin-syntax-class-properties': ^7.12.13 - '@babel/plugin-syntax-decorators': ^7.12.13 - '@babel/preset-env': ^7.18.2 - '@babel/types': ^7.12.13 - '@ember/optional-features': ^2.0.0 - '@ember/string': ^3.0.1 - '@ember/test-helpers': ^2.9.3 - '@ember/test-waiters': ^3.0.0 - '@embroider/macros': ^1.13.0 - '@embroider/test-setup': ^2.1.1 - '@glimmer/component': ^1.1.2 - '@glimmer/tracking': ^1.1.2 - '@types/express-serve-static-core': ^4.17.33 - '@types/node': ^18.11.19 - '@types/rsvp': ^4.0.4 - '@typescript-eslint/eslint-plugin': ^4.33.0 - '@typescript-eslint/parser': ^4.33.0 - babel-eslint: ^10.1.0 - broccoli-asset-rev: ^3.0.0 - broccoli-clean-css: ^1.1.0 - concurrently: ^7.6.0 - documentation: ^3.0.4 - ember-auto-import: ^2.6.1 - ember-cli: ~4.11.0 - ember-cli-app-version: ^5.0.0 - ember-cli-babel: ^7.26.11 - ember-cli-babel-plugin-helpers: ^1.1.1 - ember-cli-dependency-checker: ^3.3.1 - ember-cli-fastboot: ^4.1.2 - ember-cli-github-pages: ^0.2.2 - ember-cli-htmlbars: ^6.2.0 - ember-cli-inject-live-reload: ^2.1.0 - ember-cli-sass: ^10.0.1 - ember-cli-terser: ^4.0.2 - ember-code-snippet: ^3.0.0 - ember-compatibility-helpers: ^1.2.0 - ember-fn-helper-polyfill: ^1.0.2 - ember-load-initializers: ^2.1.2 - ember-modifier: ^3.2.7 - ember-page-title: ^7.0.0 - ember-prism: ^0.13.0 - ember-qunit: ^6.2.0 - ember-resolver: ^10.0.0 - ember-sinon-qunit: ^7.1.4 - ember-source: ~4.11.0 - ember-source-channel-url: ^3.0.0 - ember-template-lint: ^5.6.0 - ember-try: ^3.0.0 - eslint: ^7.32.0 - eslint-config-prettier: ^8.6.0 - eslint-plugin-ember: ^11.4.7 - eslint-plugin-n: ^15.6.1 - eslint-plugin-prettier: ^4.2.1 - eslint-plugin-qunit: ^7.3.4 - expect-type: ^0.15.0 - jsdoc: ^3.6.6 - jsdom: ^16.7.0 - loader.js: ^4.7.0 - prember: ~2.0.0 - prettier: ^2.8.4 - qunit: ^2.19.4 - qunit-dom: ^2.0.0 - sass: ^1.22.12 - sinon: ^15.0.2 - testem: ^3.4.2 - typescript: ~4.9.5 - webpack: ^5.75.0 - -dependencies: - '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.9 - '@glimmer/tracking': 1.1.2 - ember-cli-babel: 7.26.11 - ember-cli-babel-plugin-helpers: 1.1.1 - ember-cli-htmlbars: 6.3.0 - ember-compatibility-helpers: 1.2.7_@babel+core@7.23.9 - -devDependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-map': 7.18.6 - '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.23.9 - '@babel/plugin-syntax-decorators': 7.23.3_@babel+core@7.23.9 - '@babel/preset-env': 7.23.9_@babel+core@7.23.9 - '@ember/optional-features': 2.0.0 - '@ember/string': 3.1.1 - '@ember/test-helpers': 2.9.4_pyu5h26lqtbvj35ny6ypvb7yn4 - '@ember/test-waiters': 3.1.0 - '@embroider/macros': 1.13.5 - '@embroider/test-setup': 2.1.1 - '@glimmer/component': 1.1.2_@babel+core@7.23.9 - '@types/express-serve-static-core': 4.17.42 - '@types/node': 18.19.14 - '@types/rsvp': 4.0.9 - '@typescript-eslint/eslint-plugin': 4.33.0_s2qqtxhzmb7vugvfoyripfgp7i - '@typescript-eslint/parser': 4.33.0_jofidmxrjzhj7l6vknpw5ecvfe - babel-eslint: 10.1.0_eslint@7.32.0 - broccoli-asset-rev: 3.0.0 - broccoli-clean-css: 1.1.0 - concurrently: 7.6.0 - documentation: 3.0.4 - ember-auto-import: 2.7.2_webpack@5.90.1 - ember-cli: 4.11.0 - ember-cli-app-version: 5.0.0 - ember-cli-dependency-checker: 3.3.2_ember-cli@4.11.0 - ember-cli-fastboot: 4.1.2 - ember-cli-github-pages: 0.2.2 - ember-cli-inject-live-reload: 2.1.0 - ember-cli-sass: 10.0.1 - ember-cli-terser: 4.0.2 - ember-code-snippet: 3.0.0 - ember-fn-helper-polyfill: 1.0.2 - ember-load-initializers: 2.1.2_@babel+core@7.23.9 - ember-modifier: 3.2.7_@babel+core@7.23.9 - ember-page-title: 7.0.0 - ember-prism: 0.13.0_md6piut3fv6zmn2ipgex4zxlze - ember-qunit: 6.2.0_4x6htug7upjlofag6eruziow7u - ember-resolver: 10.1.1_lz2mb7my3bpy5zbwu25gpyxlrq - ember-sinon-qunit: 7.4.0_ze7ykbybp2yheu5x2oyr4gl4ee - ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u - ember-source-channel-url: 3.0.0 - ember-template-lint: 5.13.0 - ember-try: 3.0.0 - eslint: 7.32.0 - eslint-config-prettier: 8.10.0_eslint@7.32.0 - eslint-plugin-ember: 11.12.0_eslint@7.32.0 - eslint-plugin-n: 15.7.0_eslint@7.32.0 - eslint-plugin-prettier: 4.2.1_bbatpuwfbpnx32jr4tzjhnui3m - eslint-plugin-qunit: 7.3.4_eslint@7.32.0 - expect-type: 0.15.0 - jsdoc: 3.6.11 - jsdom: 16.7.0 - loader.js: 4.7.0 - prember: 2.0.0 - prettier: 2.8.8 - qunit: 2.20.0 - qunit-dom: 2.0.0 - sass: 1.70.0 - sinon: 15.2.0 - testem: 3.11.0 - typescript: 4.9.5 - webpack: 5.90.1 +importers: + + .: + specifiers: + concurrently: ^8.0.0 + devDependencies: + concurrently: 8.2.2 + + packages/ember-concurrency: + specifiers: + '@babel/core': ^7.23.9 + '@babel/helper-plugin-utils': ^7.12.13 + '@babel/plugin-proposal-class-properties': ^7.18.6 + '@babel/plugin-proposal-decorators': ^7.23.9 + '@babel/types': ^7.12.13 + '@embroider/addon-dev': ^4.2.0 + '@embroider/addon-shim': ^1.8.7 + '@rollup/plugin-babel': ^6.0.4 + '@tsconfig/ember': ^3.0.3 + '@typescript-eslint/eslint-plugin': ^6.14.0 + '@typescript-eslint/parser': ^6.14.0 + decorator-transforms: ^1.0.1 + ember-template-lint: ^5.6.0 + eslint: ^7.32.0 + eslint-config-prettier: ^8.6.0 + eslint-plugin-ember: ^11.4.7 + eslint-plugin-n: ^15.6.1 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-qunit: ^7.3.4 + prettier: ^2.8.4 + rollup: ^4.9.6 + typescript: ^5.3.3 + dependencies: + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.9 + '@embroider/addon-shim': 1.8.7 + decorator-transforms: 1.1.0_@babel+core@7.23.9 + devDependencies: + '@babel/core': 7.23.9 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.23.9 + '@babel/plugin-proposal-decorators': 7.23.9_@babel+core@7.23.9 + '@embroider/addon-dev': 4.2.0_rollup@4.9.6 + '@rollup/plugin-babel': 6.0.4_daf6xcxwfqzb424pswgspmjhkq + '@tsconfig/ember': 3.0.3 + '@typescript-eslint/eslint-plugin': 6.20.0_ecvl2sdc5evmhaeopegx5qwf6q + '@typescript-eslint/parser': 6.20.0_4vyosxxjef3etqzmrgpo56bcwy + ember-template-lint: 5.13.0 + eslint: 7.32.0 + eslint-config-prettier: 8.10.0_eslint@7.32.0 + eslint-plugin-ember: 11.12.0_eslint@7.32.0 + eslint-plugin-n: 15.7.0_eslint@7.32.0 + eslint-plugin-prettier: 4.2.1_bbatpuwfbpnx32jr4tzjhnui3m + eslint-plugin-qunit: 7.3.4_eslint@7.32.0 + prettier: 2.8.8 + rollup: 4.9.6 + typescript: 5.3.3 + + packages/test-app: + specifiers: + '@babel/core': ^7.23.7 + '@ember/optional-features': ^2.0.0 + '@ember/string': ^3.0.1 + '@ember/test-helpers': ^2.9.3 + '@embroider/test-setup': ^2.1.1 + '@glimmer/component': ^1.1.2 + '@glimmer/tracking': ^1.1.2 + '@tsconfig/ember': ^3.0.3 + '@types/rsvp': ^4.0.9 + '@typescript-eslint/eslint-plugin': ^6.14.0 + '@typescript-eslint/parser': ^6.14.0 + babel-eslint: ^10.1.0 + broccoli-asset-rev: ^3.0.0 + concurrently: ^8.0.0 + ember-auto-import: ^2.6.1 + ember-cli: ~4.11.0 + ember-cli-app-version: ^6.0.0 + ember-cli-babel: ^7.26.11 + ember-cli-dependency-checker: ^3.3.1 + ember-cli-htmlbars: ^6.2.0 + ember-cli-inject-live-reload: ^2.1.0 + ember-cli-sass: ^10.0.1 + ember-cli-sri: ^2.1.1 + ember-cli-terser: ^4.0.2 + ember-code-snippet: ^3.0.0 + ember-concurrency: workspace:* + ember-data: ~4.11.3 + ember-fetch: ^8.1.2 + ember-load-initializers: ^2.1.2 + ember-modifier: ^4.1.0 + ember-page-title: ^7.0.0 + ember-prism: ^0.13.0 + ember-qunit: ^6.2.0 + ember-resolver: ^10.0.0 + ember-sinon-qunit: ^7.4.0 + ember-source: ~4.11.0 + ember-source-channel-url: ^3.0.0 + ember-template-lint: ^5.6.0 + ember-try: ^3.0.0 + eslint: ^7.32.0 + eslint-config-prettier: ^8.6.0 + eslint-plugin-ember: ^11.4.7 + eslint-plugin-n: ^15.6.1 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-qunit: ^7.3.4 + expect-type: ^0.15.0 + jsdoc: ^3.6.6 + loader.js: ^4.7.0 + prettier: ^2.8.4 + qunit: ^2.19.4 + qunit-dom: ^2.0.0 + sass: ^1.22.12 + sinon: ^15.0.2 + tracked-built-ins: ^3.1.1 + typescript: ^5.3.3 + webpack: ^5.75.0 + devDependencies: + '@babel/core': 7.23.9 + '@ember/optional-features': 2.0.0 + '@ember/string': 3.1.1 + '@ember/test-helpers': 2.9.4_pyu5h26lqtbvj35ny6ypvb7yn4 + '@embroider/test-setup': 2.1.1 + '@glimmer/component': 1.1.2_@babel+core@7.23.9 + '@glimmer/tracking': 1.1.2 + '@tsconfig/ember': 3.0.3 + '@types/rsvp': 4.0.9 + '@typescript-eslint/eslint-plugin': 6.20.0_ecvl2sdc5evmhaeopegx5qwf6q + '@typescript-eslint/parser': 6.20.0_4vyosxxjef3etqzmrgpo56bcwy + babel-eslint: 10.1.0_eslint@7.32.0 + broccoli-asset-rev: 3.0.0 + concurrently: 8.2.2 + ember-auto-import: 2.7.2_webpack@5.90.1 + ember-cli: 4.11.0 + ember-cli-app-version: 6.0.1_ember-source@4.11.0 + ember-cli-babel: 7.26.11 + ember-cli-dependency-checker: 3.3.2_ember-cli@4.11.0 + ember-cli-htmlbars: 6.3.0 + ember-cli-inject-live-reload: 2.1.0 + ember-cli-sass: 10.0.1 + ember-cli-sri: 2.1.1 + ember-cli-terser: 4.0.2 + ember-code-snippet: 3.0.0 + ember-concurrency: link:../ember-concurrency + ember-data: 4.11.3_ezxyf6w2nhdhjbhsrzl5qpocjy + ember-fetch: 8.1.2 + ember-load-initializers: 2.1.2_@babel+core@7.23.9 + ember-modifier: 4.1.0_ember-source@4.11.0 + ember-page-title: 7.0.0 + ember-prism: 0.13.0_md6piut3fv6zmn2ipgex4zxlze + ember-qunit: 6.2.0_4x6htug7upjlofag6eruziow7u + ember-resolver: 10.1.1_lz2mb7my3bpy5zbwu25gpyxlrq + ember-sinon-qunit: 7.4.0_ze7ykbybp2yheu5x2oyr4gl4ee + ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u + ember-source-channel-url: 3.0.0 + ember-template-lint: 5.13.0 + ember-try: 3.0.0 + eslint: 7.32.0 + eslint-config-prettier: 8.10.0_eslint@7.32.0 + eslint-plugin-ember: 11.12.0_eslint@7.32.0 + eslint-plugin-n: 15.7.0_eslint@7.32.0 + eslint-plugin-prettier: 4.2.1_bbatpuwfbpnx32jr4tzjhnui3m + eslint-plugin-qunit: 7.3.4_eslint@7.32.0 + expect-type: 0.15.0 + jsdoc: 3.6.11 + loader.js: 4.7.0 + prettier: 2.8.8 + qunit: 2.20.0 + qunit-dom: 2.0.0 + sass: 1.70.0 + sinon: 15.2.0 + tracked-built-ins: 3.3.0 + typescript: 5.3.3 + webpack: 5.90.1 packages: @@ -219,12 +240,14 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 + dev: true /@babel/helper-builder-binary-assignment-operator-visitor/7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 + dev: true /@babel/helper-compilation-targets/7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} @@ -252,6 +275,7 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 + dev: true /@babel/helper-create-regexp-features-plugin/7.22.15_@babel+core@7.23.9: resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} @@ -263,13 +287,6 @@ packages: '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 - - /@babel/helper-define-map/7.18.6: - resolution: {integrity: sha512-XSOjXUDG7KODvtURN1p29hGHa4RFgqBQELuBowUOBt3alf2Ny/oNFJygS4yCXwM0vMoqLDjE1O7wSmocUmQ3Kg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.23.0 - '@babel/types': 7.23.9 dev: true /@babel/helper-define-polyfill-provider/0.5.0_@babel+core@7.23.9: @@ -285,6 +302,7 @@ packages: resolve: 1.22.8 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-environment-visitor/7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} @@ -308,6 +326,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 + dev: true /@babel/helper-module-imports/7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} @@ -333,6 +352,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 + dev: true /@babel/helper-plugin-utils/7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} @@ -348,6 +368,7 @@ packages: '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 + dev: true /@babel/helper-replace-supers/7.22.20_@babel+core@7.23.9: resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} @@ -359,6 +380,7 @@ packages: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 + dev: true /@babel/helper-simple-access/7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} @@ -371,6 +393,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 + dev: true /@babel/helper-split-export-declaration/7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} @@ -397,6 +420,7 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.23.9 '@babel/types': 7.23.9 + dev: true /@babel/helpers/7.23.9: resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} @@ -431,6 +455,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} @@ -442,6 +467,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.23.4_@babel+core@7.23.9 + dev: true /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/7.23.7_@babel+core@7.23.9: resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} @@ -452,6 +478,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.23.9: resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} @@ -463,6 +490,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-proposal-decorators/7.23.9_@babel+core@7.23.9: resolution: {integrity: sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA==} @@ -474,6 +502,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-decorators': 7.23.3_@babel+core@7.23.9 + dev: true /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.23.9: resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} @@ -485,6 +514,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-proposal-private-property-in-object/7.21.0-placeholder-for-preset-env.2_@babel+core@7.23.9: resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} @@ -493,6 +523,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.9 + dev: true /@babel/plugin-proposal-private-property-in-object/7.21.11_@babel+core@7.23.9: resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} @@ -506,6 +537,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.23.9 + dev: true /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.23.9: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -514,6 +546,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.23.9: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -522,6 +555,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.23.9: resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -531,6 +565,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-decorators/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} @@ -548,6 +583,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.23.9: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} @@ -556,6 +592,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-import-assertions/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} @@ -565,6 +602,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-import-attributes/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} @@ -574,6 +612,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.23.9: resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -582,6 +621,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.23.9: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -590,6 +630,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.23.9: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -598,6 +639,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.23.9: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -606,6 +648,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.23.9: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -614,6 +657,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.23.9: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -622,6 +666,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.23.9: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -630,6 +675,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.23.9: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -638,6 +684,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.23.9: resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -647,6 +694,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.23.9: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -656,6 +704,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-typescript/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} @@ -665,6 +714,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-syntax-unicode-sets-regex/7.18.6_@babel+core@7.23.9: resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -675,6 +725,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-arrow-functions/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} @@ -684,6 +735,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-async-generator-functions/7.23.9_@babel+core@7.23.9: resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} @@ -696,6 +748,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.20_@babel+core@7.23.9 '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-async-to-generator/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} @@ -707,6 +760,7 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.20_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-block-scoped-functions/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} @@ -716,6 +770,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-block-scoping/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} @@ -725,6 +780,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-class-properties/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} @@ -735,6 +791,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-class-static-block/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} @@ -746,6 +803,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-classes/7.23.8_@babel+core@7.23.9: resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} @@ -762,6 +820,7 @@ packages: '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.9 '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 + dev: true /@babel/plugin-transform-computed-properties/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} @@ -772,6 +831,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.23.9 + dev: true /@babel/plugin-transform-destructuring/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} @@ -781,6 +841,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-dotall-regex/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} @@ -791,6 +852,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-duplicate-keys/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} @@ -800,6 +862,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-dynamic-import/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} @@ -810,6 +873,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-exponentiation-operator/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} @@ -820,6 +884,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-export-namespace-from/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} @@ -830,6 +895,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-for-of/7.23.6_@babel+core@7.23.9: resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} @@ -840,6 +906,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true /@babel/plugin-transform-function-name/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} @@ -851,6 +918,7 @@ packages: '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-json-strings/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} @@ -861,6 +929,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-literals/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} @@ -870,6 +939,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-logical-assignment-operators/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} @@ -880,6 +950,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-member-expression-literals/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} @@ -889,6 +960,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-modules-amd/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} @@ -899,6 +971,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-modules-commonjs/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} @@ -910,6 +983,7 @@ packages: '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 + dev: true /@babel/plugin-transform-modules-systemjs/7.23.9_@babel+core@7.23.9: resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} @@ -922,6 +996,7 @@ packages: '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 + dev: true /@babel/plugin-transform-modules-umd/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} @@ -932,6 +1007,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-named-capturing-groups-regex/7.22.5_@babel+core@7.23.9: resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} @@ -942,6 +1018,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-new-target/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} @@ -951,6 +1028,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-nullish-coalescing-operator/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} @@ -961,6 +1039,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-numeric-separator/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} @@ -971,6 +1050,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-object-rest-spread/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} @@ -984,6 +1064,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.23.9 '@babel/plugin-transform-parameters': 7.23.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-object-super/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} @@ -994,6 +1075,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-optional-catch-binding/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} @@ -1004,6 +1086,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-optional-chaining/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} @@ -1015,6 +1098,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-parameters/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} @@ -1024,6 +1108,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-private-methods/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} @@ -1034,6 +1119,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-private-property-in-object/7.23.4_@babel+core@7.23.9: resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} @@ -1046,6 +1132,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-property-literals/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} @@ -1055,6 +1142,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-regenerator/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} @@ -1065,6 +1153,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 + dev: true /@babel/plugin-transform-reserved-words/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} @@ -1074,6 +1163,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-runtime/7.23.9_@babel+core@7.23.9: resolution: {integrity: sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==} @@ -1090,6 +1180,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/plugin-transform-shorthand-properties/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} @@ -1099,6 +1190,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-spread/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} @@ -1109,6 +1201,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true /@babel/plugin-transform-sticky-regex/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} @@ -1118,6 +1211,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-template-literals/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} @@ -1127,6 +1221,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-typeof-symbol/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} @@ -1136,6 +1231,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-typescript/7.23.6_@babel+core@7.23.9: resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} @@ -1148,6 +1244,7 @@ packages: '@babel/helper-create-class-features-plugin': 7.23.10_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.23.3_@babel+core@7.23.9 + dev: true /@babel/plugin-transform-typescript/7.4.5_@babel+core@7.23.9: resolution: {integrity: sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g==} @@ -1178,6 +1275,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-property-regex/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} @@ -1188,6 +1286,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-regex/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} @@ -1198,6 +1297,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/plugin-transform-unicode-sets-regex/7.23.3_@babel+core@7.23.9: resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} @@ -1208,6 +1308,7 @@ packages: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true /@babel/polyfill/7.12.1: resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==} @@ -1215,6 +1316,7 @@ packages: dependencies: core-js: 2.6.12 regenerator-runtime: 0.13.11 + dev: true /@babel/preset-env/7.23.9_@babel+core@7.23.9: resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} @@ -1305,6 +1407,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/preset-modules/0.1.6-no-external-plugins_@babel+core@7.23.9: resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} @@ -1315,20 +1418,24 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/types': 7.23.9 esutils: 2.0.3 + dev: true /@babel/regjsgen/0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true /@babel/runtime/7.12.18: resolution: {integrity: sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg==} dependencies: regenerator-runtime: 0.13.11 + dev: true /@babel/runtime/7.23.9: resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 + dev: true /@babel/template/7.23.9: resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} @@ -1379,115 +1486,385 @@ packages: dev: true optional: true - /@ember-data/rfc395-data/0.0.4: - resolution: {integrity: sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==} - - /@ember/edition-utils/1.2.0: - resolution: {integrity: sha512-VmVq/8saCaPdesQmftPqbFtxJWrzxNGSQ+e8x8LLe3Hjm36pJ04Q8LeORGZkAeOhldoUX9seLGmSaHeXkIqoog==} - - /@ember/optional-features/2.0.0: - resolution: {integrity: sha512-4gkvuGRYfpAh1nwAz306cmMeC1mG7wxZnbsBZ09mMaMX/W7IyKOKc/38JwrDPUFUalmNEM7q7JEPcmew2M3Dog==} - engines: {node: 10.* || 12.* || >= 14} + /@ember-data/adapter/4.11.3_cl6becwow24fwrvmjrot2cdeay: + resolution: {integrity: sha512-G7dbaPnYMW8VYxIT75KAkzax2mkWTs2TYxS7+qbphs6esXpO9Y/iNp5fTqLaACb9JqUypwEA/rlfC7/zkcGbBw==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} + peerDependencies: + '@ember-data/store': 4.11.3 + '@ember/string': ^3.0.1 + ember-inflector: ^4.0.2 dependencies: - chalk: 4.1.2 - ember-cli-version-checker: 5.1.2 - glob: 7.2.3 - inquirer: 7.3.3 - mkdirp: 1.0.4 - silent-error: 1.1.1 + '@ember-data/private-build-infra': 4.11.3 + '@ember-data/store': 4.11.3_pjr42w4bixjqyxs45vej3gaoum + '@ember/edition-utils': 1.2.0 + '@ember/string': 3.1.1 + '@embroider/macros': 1.13.5 + ember-auto-import: 2.7.2_webpack@5.90.1 + ember-cli-babel: 7.26.11 + ember-cli-test-info: 1.0.0 + ember-inflector: 4.0.2 transitivePeerDependencies: + - '@glint/template' - supports-color + - webpack dev: true - /@ember/render-modifiers/2.1.0_pyu5h26lqtbvj35ny6ypvb7yn4: - resolution: {integrity: sha512-LruhfoDv2itpk0fA0IC76Sxjcnq/7BC6txpQo40hOko8Dn6OxwQfxkPIbZGV0Cz7df+iX+VJrcYzNIvlc3w2EQ==} - engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - '@glint/template': ^1.0.2 - ember-source: ^3.8 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - '@glint/template': - optional: true + /@ember-data/canary-features/4.11.3: + resolution: {integrity: sha512-RTLY2N9t1SXr4e90VBKi+3PIitwjTMBU8BcEhnKovT//sGlywohHq7T36H6nJuITRtki3On9PpbJOhhQZuyAlQ==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} dependencies: '@embroider/macros': 1.13.5 ember-cli-babel: 7.26.11 - ember-modifier-manager-polyfill: 1.2.0_@babel+core@7.23.9 - ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u transitivePeerDependencies: - - '@babel/core' + - '@glint/template' - supports-color dev: true - /@ember/string/3.1.1: - resolution: {integrity: sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==} - engines: {node: 12.* || 14.* || >= 16} + /@ember-data/debug/4.11.3_vjhqyuwf7dspwpq7dbq5x7cnry: + resolution: {integrity: sha512-3pA5u3qy+pjtwcoyMzs7WijRrSQz5z+Vgn9b5Y4cEOHn8loS9riLCMScnFaQT3HjxQgq+3NkNb52sJafHPzs4Q==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} + peerDependencies: + '@ember/string': ^3.0.1 dependencies: + '@ember-data/private-build-infra': 4.11.3 + '@ember/edition-utils': 1.2.0 + '@ember/string': 3.1.1 + '@embroider/macros': 1.13.5 + ember-auto-import: 2.7.2_webpack@5.90.1 ember-cli-babel: 7.26.11 transitivePeerDependencies: + - '@glint/template' - supports-color + - webpack dev: true - /@ember/test-helpers/2.9.4_pyu5h26lqtbvj35ny6ypvb7yn4: - resolution: {integrity: sha512-z+Qs1NYWyIVDmrY6WdmOS5mdG1lJ5CFfzh6dRhLfs9lq45deDaDrVNcaCYhnNeJZTvUBK2XR2SvPcZm0RloXdA==} - engines: {node: 10.* || 12.* || 14.* || 15.* || >= 16.*} + /@ember-data/model/4.11.3_m5lqpy5bb24c7cis3eqpp5sqvi: + resolution: {integrity: sha512-nkDru5TZmOp4J1xp65D1bR3hBJ3u5KhKKfDpWeGnHW2YDCVUdLORRwW7vfrPnnXDIoJij42DwDVCiTY25Xhrqw==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} peerDependencies: - ember-source: '>=3.8.0' + '@ember-data/record-data': 4.11.3 + '@ember-data/store': 4.11.3 + '@ember-data/tracking': 4.11.3 + '@ember/string': ^3.0.1 + ember-inflector: ^4.0.2 + peerDependenciesMeta: + '@ember-data/record-data': + optional: true dependencies: - '@ember/test-waiters': 3.1.0 + '@ember-data/canary-features': 4.11.3 + '@ember-data/private-build-infra': 4.11.3 + '@ember-data/record-data': 4.11.3_penwr4la66tz3w6tpfpxfgwnxq + '@ember-data/store': 4.11.3_pjr42w4bixjqyxs45vej3gaoum + '@ember-data/tracking': 4.11.3 + '@ember/edition-utils': 1.2.0 + '@ember/string': 3.1.1 '@embroider/macros': 1.13.5 - '@embroider/util': 1.12.1_ember-source@4.11.0 - broccoli-debug: 0.6.5 - broccoli-funnel: 3.0.8 + ember-auto-import: 2.7.2_webpack@5.90.1 + ember-cached-decorator-polyfill: 1.0.2_pyu5h26lqtbvj35ny6ypvb7yn4 ember-cli-babel: 7.26.11 - ember-cli-htmlbars: 6.3.0 - ember-destroyable-polyfill: 2.0.3_@babel+core@7.23.9 - ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u + ember-cli-string-utils: 1.1.0 + ember-cli-test-info: 1.0.0 + ember-compatibility-helpers: 1.2.7_@babel+core@7.23.9 + ember-inflector: 4.0.2 + inflection: 2.0.1 transitivePeerDependencies: - '@babel/core' - - '@glint/environment-ember-loose' - '@glint/template' + - ember-source - supports-color + - webpack dev: true - /@ember/test-waiters/3.1.0: - resolution: {integrity: sha512-bb9h95ktG2wKY9+ja1sdsFBdOms2lB19VWs8wmNpzgHv1NCetonBoV5jHBV4DHt0uS1tg9z66cZqhUVlYs96KQ==} - engines: {node: 10.* || 12.* || >= 14.*} + /@ember-data/private-build-infra/4.11.3: + resolution: {integrity: sha512-bXFQMEegUc+vKn/vD7FmAkq7ECE0okZ2sbtv/0RXqYn7TLk44rvGzpqSUXUowpCaGI/87MmaW8JaZMMdqF9wuw==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-transform-block-scoping': 7.23.4_@babel+core@7.23.9 + '@babel/runtime': 7.23.9 + '@ember-data/canary-features': 4.11.3 + '@ember/edition-utils': 1.2.0 + '@embroider/macros': 1.13.5 + babel-import-util: 1.4.1 + babel-plugin-debug-macros: 0.3.4_@babel+core@7.23.9 + babel-plugin-filter-imports: 4.0.0 + babel6-plugin-strip-class-callcheck: 6.0.0 + broccoli-debug: 0.6.5 + broccoli-file-creator: 2.1.1 + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + broccoli-rollup: 5.0.0 calculate-cache-key-for-tree: 2.0.0 + chalk: 4.1.2 ember-cli-babel: 7.26.11 + ember-cli-path-utils: 1.0.0 + ember-cli-string-utils: 1.1.0 ember-cli-version-checker: 5.1.2 + git-repo-info: 2.1.1 + glob: 8.1.0 + npm-git-info: 1.0.3 + rimraf: 3.0.2 + rsvp: 4.8.5 semver: 7.5.4 + silent-error: 1.1.1 transitivePeerDependencies: + - '@glint/template' - supports-color dev: true - /@embroider/addon-shim/1.8.7: - resolution: {integrity: sha512-JGOQNRj3UR0NdWEg8MsM2eqPLncEwSB1IX+rwntIj22TEKj8biqx7GDgSbeH+ZedijmCh354Hf2c5rthrdzUAw==} - engines: {node: 12.* || 14.* || >= 16} + /@ember-data/record-data/4.11.3_penwr4la66tz3w6tpfpxfgwnxq: + resolution: {integrity: sha512-8NmeEZJ7or354NLZJgibJ1FuhWL70H6G24tGSEIzM8IV7wr6TreIyaWODaW372QwamWYgFIpfnFwWt5MTlY/gw==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} + peerDependencies: + '@ember-data/store': 4.11.3 dependencies: - '@embroider/shared-internals': 2.5.2 - broccoli-funnel: 3.0.8 - semver: 7.5.4 + '@ember-data/canary-features': 4.11.3 + '@ember-data/private-build-infra': 4.11.3 + '@ember-data/store': 4.11.3_pjr42w4bixjqyxs45vej3gaoum + '@ember/edition-utils': 1.2.0 + '@embroider/macros': 1.13.5 + ember-auto-import: 2.7.2_webpack@5.90.1 + ember-cli-babel: 7.26.11 transitivePeerDependencies: + - '@glint/template' - supports-color + - webpack dev: true - /@embroider/macros/1.13.5: - resolution: {integrity: sha512-OzYyM+bOcyV9IWma1qSraIyuBmGv6U8sCIHumHCe0oDDypvIvVA3csuDjoS3BGhUWV56VpzBSwVEDdIHXmqQ2w==} - engines: {node: 12.* || 14.* || >= 16} + /@ember-data/rfc395-data/0.0.4: + resolution: {integrity: sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==} + dev: true + + /@ember-data/serializer/4.11.3_cl6becwow24fwrvmjrot2cdeay: + resolution: {integrity: sha512-Qnzrowinz14/onQfwd4TPwNG0sMTAwTWE0RajYo2fysF3CKyAua0nIzmFtXKx0CogD7TYd0C5xf6nMjFesT09Q==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} peerDependencies: - '@glint/template': ^1.0.0 - peerDependenciesMeta: - '@glint/template': - optional: true + '@ember-data/store': 4.11.3 + '@ember/string': ^3.0.1 + ember-inflector: ^4.0.2 dependencies: - '@embroider/shared-internals': 2.5.2 - assert-never: 1.2.1 - babel-import-util: 2.0.1 + '@ember-data/private-build-infra': 4.11.3 + '@ember-data/store': 4.11.3_pjr42w4bixjqyxs45vej3gaoum + '@ember/string': 3.1.1 + '@embroider/macros': 1.13.5 + ember-auto-import: 2.7.2_webpack@5.90.1 ember-cli-babel: 7.26.11 - find-up: 5.0.0 - lodash: 4.17.21 - resolve: 1.22.8 + ember-cli-test-info: 1.0.0 + ember-inflector: 4.0.2 + transitivePeerDependencies: + - '@glint/template' + - supports-color + - webpack + dev: true + + /@ember-data/store/4.11.3_pjr42w4bixjqyxs45vej3gaoum: + resolution: {integrity: sha512-ogwWy+VqMpkCGs4n30pzuB2vqv/dJRL6wdV3fdNKpXrDugffjuMPpLBQYF937qztDUZKxmnbWAZe5PbQOz8b1Q==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} + peerDependencies: + '@ember-data/model': 4.11.3 + '@ember-data/record-data': 4.11.3 + '@ember-data/tracking': 4.11.3 + '@ember/string': ^3.0.1 + '@glimmer/tracking': ^1.1.2 + peerDependenciesMeta: + '@ember-data/model': + optional: true + '@ember-data/record-data': + optional: true + dependencies: + '@ember-data/canary-features': 4.11.3 + '@ember-data/model': 4.11.3_m5lqpy5bb24c7cis3eqpp5sqvi + '@ember-data/private-build-infra': 4.11.3 + '@ember-data/record-data': 4.11.3_penwr4la66tz3w6tpfpxfgwnxq + '@ember-data/tracking': 4.11.3 + '@ember/string': 3.1.1 + '@embroider/macros': 1.13.5 + '@glimmer/tracking': 1.1.2 + ember-auto-import: 2.7.2_webpack@5.90.1 + ember-cached-decorator-polyfill: 1.0.2_pyu5h26lqtbvj35ny6ypvb7yn4 + ember-cli-babel: 7.26.11 + transitivePeerDependencies: + - '@babel/core' + - '@glint/template' + - ember-source + - supports-color + - webpack + dev: true + + /@ember-data/tracking/4.11.3: + resolution: {integrity: sha512-YZxFTMe2TBL8H8/GrnrvP7Wc/uuAijoSyiP2g6TMNRsL1e/3BWDT0EIl+B/5Wji+dchofY8iuMWfpY7VDvPIzA==} + engines: {node: 14.* || 16.* || >= 18} + dependencies: + ember-cli-babel: 7.26.11 + transitivePeerDependencies: + - supports-color + dev: true + + /@ember/edition-utils/1.2.0: + resolution: {integrity: sha512-VmVq/8saCaPdesQmftPqbFtxJWrzxNGSQ+e8x8LLe3Hjm36pJ04Q8LeORGZkAeOhldoUX9seLGmSaHeXkIqoog==} + dev: true + + /@ember/optional-features/2.0.0: + resolution: {integrity: sha512-4gkvuGRYfpAh1nwAz306cmMeC1mG7wxZnbsBZ09mMaMX/W7IyKOKc/38JwrDPUFUalmNEM7q7JEPcmew2M3Dog==} + engines: {node: 10.* || 12.* || >= 14} + dependencies: + chalk: 4.1.2 + ember-cli-version-checker: 5.1.2 + glob: 7.2.3 + inquirer: 7.3.3 + mkdirp: 1.0.4 + silent-error: 1.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@ember/render-modifiers/2.1.0_pyu5h26lqtbvj35ny6ypvb7yn4: + resolution: {integrity: sha512-LruhfoDv2itpk0fA0IC76Sxjcnq/7BC6txpQo40hOko8Dn6OxwQfxkPIbZGV0Cz7df+iX+VJrcYzNIvlc3w2EQ==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@glint/template': ^1.0.2 + ember-source: ^3.8 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + '@glint/template': + optional: true + dependencies: + '@embroider/macros': 1.13.5 + ember-cli-babel: 7.26.11 + ember-modifier-manager-polyfill: 1.2.0_@babel+core@7.23.9 + ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@ember/string/3.1.1: + resolution: {integrity: sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + ember-cli-babel: 7.26.11 + transitivePeerDependencies: + - supports-color + dev: true + + /@ember/test-helpers/2.9.4_pyu5h26lqtbvj35ny6ypvb7yn4: + resolution: {integrity: sha512-z+Qs1NYWyIVDmrY6WdmOS5mdG1lJ5CFfzh6dRhLfs9lq45deDaDrVNcaCYhnNeJZTvUBK2XR2SvPcZm0RloXdA==} + engines: {node: 10.* || 12.* || 14.* || 15.* || >= 16.*} + peerDependencies: + ember-source: '>=3.8.0' + dependencies: + '@ember/test-waiters': 3.1.0 + '@embroider/macros': 1.13.5 + '@embroider/util': 1.12.1_ember-source@4.11.0 + broccoli-debug: 0.6.5 + broccoli-funnel: 3.0.8 + ember-cli-babel: 7.26.11 + ember-cli-htmlbars: 6.3.0 + ember-destroyable-polyfill: 2.0.3_@babel+core@7.23.9 + ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u + transitivePeerDependencies: + - '@babel/core' + - '@glint/environment-ember-loose' + - '@glint/template' + - supports-color + dev: true + + /@ember/test-waiters/3.1.0: + resolution: {integrity: sha512-bb9h95ktG2wKY9+ja1sdsFBdOms2lB19VWs8wmNpzgHv1NCetonBoV5jHBV4DHt0uS1tg9z66cZqhUVlYs96KQ==} + engines: {node: 10.* || 12.* || >= 14.*} + dependencies: + calculate-cache-key-for-tree: 2.0.0 + ember-cli-babel: 7.26.11 + ember-cli-version-checker: 5.1.2 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@embroider/addon-dev/4.2.0_rollup@4.9.6: + resolution: {integrity: sha512-sXCTu4KAdjBv0gf8bglFirYFe4n0sfshszBoD3uRbX0VMVxfX1Yy6+Op5kOHcj3y9aD/MsxSDhYF7but8N/sRw==} + engines: {node: 12.* || 14.* || >= 16} + hasBin: true + dependencies: + '@embroider/core': 3.4.4 + '@rollup/pluginutils': 4.2.1 + content-tag: 2.0.1 + fs-extra: 10.1.0 + minimatch: 3.1.2 + rollup-plugin-copy-assets: 2.0.3_rollup@4.9.6 + rollup-plugin-delete: 2.0.0 + walk-sync: 3.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - rollup + - supports-color + - utf-8-validate + dev: true + + /@embroider/addon-shim/1.8.7: + resolution: {integrity: sha512-JGOQNRj3UR0NdWEg8MsM2eqPLncEwSB1IX+rwntIj22TEKj8biqx7GDgSbeH+ZedijmCh354Hf2c5rthrdzUAw==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + '@embroider/shared-internals': 2.5.2 + broccoli-funnel: 3.0.8 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + + /@embroider/core/3.4.4: + resolution: {integrity: sha512-JVWCy+l6sX58tPYb8Q8BSK0i8rQzrVI0RFoilSZ9MP4MO/rk90XAXZHN8Ourr9lwJhSLBbc7KSMDh54FNGxnsg==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/traverse': 7.23.9 + '@embroider/macros': 1.13.5 + '@embroider/shared-internals': 2.5.2 + assert-never: 1.2.1 + babel-plugin-ember-template-compilation: 2.2.1 + broccoli-node-api: 1.7.0 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + broccoli-source: 3.0.1 + debug: 4.3.4 + fast-sourcemap-concat: 1.4.0 + filesize: 10.1.0 + fs-extra: 9.1.0 + fs-tree-diff: 2.0.1 + handlebars: 4.7.8 + js-string-escape: 1.0.1 + jsdom: 16.7.0 + lodash: 4.17.21 + resolve: 1.22.8 + resolve-package-path: 4.0.3 + typescript-memoize: 1.1.1 + walk-sync: 3.0.0 + transitivePeerDependencies: + - '@glint/template' + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /@embroider/macros/1.13.5: + resolution: {integrity: sha512-OzYyM+bOcyV9IWma1qSraIyuBmGv6U8sCIHumHCe0oDDypvIvVA3csuDjoS3BGhUWV56VpzBSwVEDdIHXmqQ2w==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@glint/template': ^1.0.0 + peerDependenciesMeta: + '@glint/template': + optional: true + dependencies: + '@embroider/shared-internals': 2.5.2 + assert-never: 1.2.1 + babel-import-util: 2.0.1 + ember-cli-babel: 7.26.11 + find-up: 5.0.0 + lodash: 4.17.21 + resolve: 1.22.8 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -1508,7 +1885,6 @@ packages: typescript-memoize: 1.1.1 transitivePeerDependencies: - supports-color - dev: true /@embroider/test-setup/2.1.1: resolution: {integrity: sha512-t81a2z2OEFAOZVbV7wkgiDuCyZ3ajD7J7J+keaTfNSRiXoQgeFFASEECYq1TCsH8m/R+xHMRiY59apF2FIeFhw==} @@ -1539,6 +1915,21 @@ packages: - supports-color dev: true + /@eslint-community/eslint-utils/4.4.0_eslint@7.32.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp/4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint/eslintrc/0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1585,6 +1976,7 @@ packages: /@glimmer/env/0.1.7: resolution: {integrity: sha512-JKF/a9I9jw6fGoz8kA7LEQslrwJ5jms5CXhu/aqkBWk+PmZ6pTl8mlb/eJ/5ujBGTiQzBhy5AIWF712iA+4/mw==} + dev: true /@glimmer/global-context/0.84.3: resolution: {integrity: sha512-8Oy9Wg5IZxMEeAnVmzD2NkObf89BeHoFSzJgJROE/deutd3rxg83mvlOez4zBBGYwnTb+VGU2LYRpet92egJjA==} @@ -1596,6 +1988,7 @@ packages: resolution: {integrity: sha512-dk32ykoNojt0mvEaIW6Vli5MGTbQo58uy3Epj7ahCgTHmWOKuw/0G83f2UmFprRwFx689YTXG38I/vbpltEjzg==} dependencies: '@simple-dom/interface': 1.4.0 + dev: true /@glimmer/reference/0.84.3: resolution: {integrity: sha512-lV+p/aWPVC8vUjmlvYVU7WQJsLh319SdXuAWoX/SE3pq340BJlAJiEcAc6q52y9JNhT57gMwtjMX96W5Xcx/qw==} @@ -1614,13 +2007,14 @@ packages: '@glimmer/util': 0.84.3 '@handlebars/parser': 2.0.0 simple-html-tokenizer: 0.5.11 + dev: true /@glimmer/tracking/1.1.2: resolution: {integrity: sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==} dependencies: '@glimmer/env': 0.1.7 '@glimmer/validator': 0.44.0 - dev: false + dev: true /@glimmer/util/0.44.0: resolution: {integrity: sha512-duAsm30uVK9jSysElCbLyU6QQYO2X9iLDLBIBUcCqck9qN1o3tK2qWiHbGK5d6g8E2AJ4H88UrfElkyaJlGrwg==} @@ -1632,10 +2026,11 @@ packages: '@glimmer/env': 0.1.7 '@glimmer/interfaces': 0.84.3 '@simple-dom/interface': 1.4.0 + dev: true /@glimmer/validator/0.44.0: resolution: {integrity: sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==} - dev: false + dev: true /@glimmer/validator/0.84.3: resolution: {integrity: sha512-RTBV4TokUB0vI31UC7ikpV7lOYpWUlyqaKV//pRC4pexYMlmqnVhkFrdiimB/R1XyNdUOQUmnIAcdic39NkbhQ==} @@ -1654,6 +2049,7 @@ packages: /@handlebars/parser/2.0.0: resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==} + dev: true /@humanwhocodes/config-array/0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} @@ -1736,29 +2132,154 @@ packages: fastq: 1.17.0 dev: true - /@simple-dom/document/1.4.0: - resolution: {integrity: sha512-/RUeVH4kuD3rzo5/91+h4Z1meLSLP66eXqpVAw/4aZmYozkeqUkMprq0znL4psX/adEed5cBgiNJcfMz/eKZLg==} + /@rollup/plugin-babel/6.0.4_daf6xcxwfqzb424pswgspmjhkq: + resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + rollup: + optional: true dependencies: - '@simple-dom/interface': 1.4.0 + '@babel/core': 7.23.9 + '@babel/helper-module-imports': 7.22.15 + '@rollup/pluginutils': 5.1.0_rollup@4.9.6 + rollup: 4.9.6 dev: true - /@simple-dom/interface/1.4.0: - resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==} - - /@simple-dom/parser/1.4.0: - resolution: {integrity: sha512-TNjDkOehueRIKr1df416qk9ELj+qWuVVJNIT25y1aZg3pQvxv4UPGrgaDFte7dsWBTbF3V8NYPNQ5FDUZQ8Wlg==} + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} dependencies: - '@simple-dom/interface': 1.4.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 dev: true - /@simple-dom/serializer/1.4.0: - resolution: {integrity: sha512-mI1yRahsVs8atXLiQksineDsFEFqeG7RHwnnBTDOK6inbzl4tZQgjR+Z7edjgIJq5j5RhZvwPI6EuCji9B3eQw==} + /@rollup/pluginutils/5.1.0_rollup@4.9.6: + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: - '@simple-dom/interface': 1.4.0 + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 4.9.6 + dev: true + + /@rollup/rollup-android-arm-eabi/4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64/4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64/4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64/4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf/4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu/4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl/4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu/4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@simple-dom/void-map/1.4.0: - resolution: {integrity: sha512-VDhLEyVCbuhOBBgHol9ShzIv9O8UCzdXeH4FoXu2DOcu/nnvTjLTck+BgXsCLv5ynDiUdoqsREEVFnoyPpFKVw==} + /@rollup/rollup-linux-x64-gnu/4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl/4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc/4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc/4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc/4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@simple-dom/interface/1.4.0: + resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==} dev: true /@sindresorhus/is/0.14.0: @@ -1802,6 +2323,10 @@ packages: resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} dev: true + /@socket.io/component-emitter/3.1.0: + resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + dev: true + /@szmarczak/http-timer/1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} @@ -1814,16 +2339,30 @@ packages: engines: {node: '>= 6'} dev: true - /@tootallnate/once/2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} + /@tsconfig/ember/3.0.3: + resolution: {integrity: sha512-StVVkcg/VxA+eDzBcTQAcnmmcmg1OxaV41OqFYluqVHpUX28TOD91DGg58n2AMU9ia27zeBBeVQiLsfmzuIV7w==} + dev: true + + /@types/acorn/4.0.6: + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + dependencies: + '@types/estree': 1.0.5 dev: true /@types/body-parser/1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 18.19.14 + '@types/node': 20.11.16 + dev: true + + /@types/broccoli-plugin/3.0.0: + resolution: {integrity: sha512-f+TcsARR2PovfFRKFdCX0kfH/QoM3ZVD2h1rl2mNvrKO0fq2uBNCBsTU3JanfU4COCt5cXpTfARyUsERlC8vIw==} + deprecated: This is a stub types definition. broccoli-plugin provides its own type definitions, so you do not need this installed. + dependencies: + broccoli-plugin: 4.0.7 + transitivePeerDependencies: + - supports-color dev: true /@types/chai-as-promised/7.1.8: @@ -1836,14 +2375,10 @@ packages: resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} dev: true - /@types/component-emitter/1.2.14: - resolution: {integrity: sha512-lmPil1g82wwWg/qHSxMWkSKyJGQOK+ejXeMAAWyxNtVUD0/Ycj2maL63RAqpxVfdtvTfZkRnqzB0A9ft59y69g==} - dev: true - /@types/connect/3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/cookie/0.4.1: @@ -1853,7 +2388,7 @@ packages: /@types/cors/2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/eslint-scope/3.7.7: @@ -1877,7 +2412,7 @@ packages: /@types/express-serve-static-core/4.17.42: resolution: {integrity: sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -1895,26 +2430,28 @@ packages: /@types/fs-extra/5.1.0: resolution: {integrity: sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 + dev: true /@types/fs-extra/8.1.5: resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/glob/8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.19.14 + '@types/node': 20.11.16 + dev: true /@types/http-errors/2.0.4: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} @@ -1927,7 +2464,7 @@ packages: /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/linkify-it/3.0.5: @@ -1958,11 +2495,17 @@ packages: /@types/minimatch/5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true - /@types/node/18.19.14: - resolution: {integrity: sha512-EnQ4Us2rmOS64nHDWr0XqAD8DsO6f3XR6lf9UIIrZQpUzPVdN/oPuEzfDWNHSyXLvoGgjuEm/sPwFGSSs35Wtg==} + /@types/node/20.11.16: + resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} dependencies: undici-types: 5.26.5 + dev: true + + /@types/node/9.6.61: + resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==} + dev: true /@types/qs/6.9.11: resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} @@ -1975,24 +2518,29 @@ packages: /@types/responselike/1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/rimraf/2.0.5: resolution: {integrity: sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==} dependencies: '@types/glob': 8.1.0 - '@types/node': 18.19.14 + '@types/node': 20.11.16 + dev: true /@types/rsvp/4.0.9: resolution: {integrity: sha512-F6vaN5mbxw2MBCu/AD9fSKwrhnto2pE77dyUsi415qz9IP9ni9ZOWXHxnXfsM4NW9UjW+it189jvvqnhv37Z7Q==} dev: true + /@types/semver/7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + dev: true + /@types/send/0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/serve-static/1.15.5: @@ -2000,7 +2548,7 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 18.19.14 + '@types/node': 20.11.16 dev: true /@types/sinon/10.0.20: @@ -2016,114 +2564,136 @@ packages: /@types/symlink-or-copy/1.2.2: resolution: {integrity: sha512-MQ1AnmTLOncwEf9IVU+B2e4Hchrku5N67NkgcAHW0p3sdzPe0FNMANxEm6OJUzPniEQGkeT3OROLlCwZJLWFZA==} - /@types/unist/2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - dev: true - - /@typescript-eslint/eslint-plugin/4.33.0_s2qqtxhzmb7vugvfoyripfgp7i: - resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/eslint-plugin/6.20.0_ecvl2sdc5evmhaeopegx5qwf6q: + resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^4.0.0 - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.33.0_jofidmxrjzhj7l6vknpw5ecvfe - '@typescript-eslint/parser': 4.33.0_jofidmxrjzhj7l6vknpw5ecvfe - '@typescript-eslint/scope-manager': 4.33.0 + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.20.0_4vyosxxjef3etqzmrgpo56bcwy + '@typescript-eslint/scope-manager': 6.20.0 + '@typescript-eslint/type-utils': 6.20.0_4vyosxxjef3etqzmrgpo56bcwy + '@typescript-eslint/utils': 6.20.0_4vyosxxjef3etqzmrgpo56bcwy + '@typescript-eslint/visitor-keys': 6.20.0 debug: 4.3.4 eslint: 7.32.0 - functional-red-black-tree: 1.0.1 + graphemer: 1.4.0 ignore: 5.3.1 - regexpp: 3.2.0 + natural-compare: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + ts-api-utils: 1.0.3_typescript@5.3.3 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/4.33.0_jofidmxrjzhj7l6vknpw5ecvfe: - resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/parser/6.20.0_4vyosxxjef3etqzmrgpo56bcwy: + resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@types/json-schema': 7.0.15 - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 6.20.0 + '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/typescript-estree': 6.20.0_typescript@5.3.3 + '@typescript-eslint/visitor-keys': 6.20.0 + debug: 4.3.4 eslint: 7.32.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@7.32.0 + typescript: 5.3.3 transitivePeerDependencies: - supports-color - - typescript dev: true - /@typescript-eslint/parser/4.33.0_jofidmxrjzhj7l6vknpw5ecvfe: - resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/scope-manager/6.20.0: + resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/visitor-keys': 6.20.0 + dev: true + + /@typescript-eslint/type-utils/6.20.0_4vyosxxjef3etqzmrgpo56bcwy: + resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 4.33.0 - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.9.5 + '@typescript-eslint/typescript-estree': 6.20.0_typescript@5.3.3 + '@typescript-eslint/utils': 6.20.0_4vyosxxjef3etqzmrgpo56bcwy debug: 4.3.4 eslint: 7.32.0 - typescript: 4.9.5 + ts-api-utils: 1.0.3_typescript@5.3.3 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/4.33.0: - resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 - dev: true - - /@typescript-eslint/types/4.33.0: - resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/types/6.20.0: + resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree/4.33.0_typescript@4.9.5: - resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} - engines: {node: ^10.12.0 || >=12.0.0} + /@typescript-eslint/typescript-estree/6.20.0_typescript@5.3.3: + resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/visitor-keys': 4.33.0 + '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/visitor-keys': 6.20.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.5.4 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + ts-api-utils: 1.0.3_typescript@5.3.3 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys/4.33.0: - resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + /@typescript-eslint/utils/6.20.0_4vyosxxjef3etqzmrgpo56bcwy: + resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@7.32.0 + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.20.0 + '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/typescript-estree': 6.20.0_typescript@5.3.3 + eslint: 7.32.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/6.20.0: + resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.20.0 + eslint-visitor-keys: 3.4.3 dev: true /@webassemblyjs/ast/1.11.6: @@ -2245,14 +2815,6 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true - /JSONStream/1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - /abab/2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -2262,6 +2824,10 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true + /abortcontroller-polyfill/1.7.5: + resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: true + /accepts/1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -2270,6 +2836,13 @@ packages: negotiator: 0.6.3 dev: true + /acorn-dynamic-import/3.0.0: + resolution: {integrity: sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==} + deprecated: This is probably built in to whatever tool you're using. If you still need it... idk + dependencies: + acorn: 5.7.4 + dev: true + /acorn-globals/6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} dependencies: @@ -2325,6 +2898,14 @@ packages: - supports-color dev: true + /aggregate-error/3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + /ajv-formats/2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependenciesMeta: @@ -2369,27 +2950,13 @@ packages: uri-js: 4.4.1 dev: true - /align-text/0.1.4: - resolution: {integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - longest: 1.0.1 - repeat-string: 1.6.1 - dev: true - - /alter/0.2.0: - resolution: {integrity: sha512-Wuss6JIZ6h4j2+NgU2t+9mSwS7gBSZJbU4Dg8xETguAD2veJUSuCrvTIiC78QgZE7/zX7h6OnXw2PiiCBirEGw==} - dependencies: - stable: 0.1.8 - dev: true - /amd-name-resolver/1.3.1: resolution: {integrity: sha512-26qTEWqZQ+cxSYygZ4Cf8tsjDBLceJahhtewxtKZA3SRa4PluuqYCuheemDQD+7Mf5B7sr+zhTDWAHDh02a1Dw==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: ensure-posix-path: 1.1.1 object-hash: 1.3.1 + dev: true /amdefine/1.0.1: resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} @@ -2401,11 +2968,6 @@ packages: engines: {node: '>=6'} dev: true - /ansi-escapes/1.4.0: - resolution: {integrity: sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==} - engines: {node: '>=0.10.0'} - dev: true - /ansi-escapes/3.2.0: resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} engines: {node: '>=4'} @@ -2474,13 +3036,6 @@ packages: resolution: {integrity: sha512-tOIuy1/SK/dr94ZA0ckDohKXNeBNqZ4us6PjMVLs5h1w2GBB6uPtOknp2+VF4F/zcy9LI70W+Z+pE2Soajky1w==} dev: true - /anymatch/1.3.2: - resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} - dependencies: - micromatch: 2.3.11 - normalize-path: 2.1.1 - dev: true - /anymatch/2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -2526,13 +3081,6 @@ packages: dequal: 2.0.3 dev: true - /arr-diff/2.0.0: - resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - dev: true - /arr-diff/4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} @@ -2553,6 +3101,7 @@ packages: dependencies: call-bind: 1.0.5 is-array-buffer: 3.0.2 + dev: true /array-equal/1.0.2: resolution: {integrity: sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==} @@ -2571,28 +3120,11 @@ packages: resolution: {integrity: sha512-YkwkMmPA2+GSGvXj1s9NZ6cc2LBtR+uSeWTy2IGi5MR1Wag4DdrcjTxA/YV/Fw+qKlBeXomneZgThEbm/wvZbw==} dev: true - /array-union/1.0.2: - resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} - engines: {node: '>=0.10.0'} - dependencies: - array-uniq: 1.0.3 - dev: true - /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true - /array-uniq/1.0.3: - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} - engines: {node: '>=0.10.0'} - dev: true - - /array-unique/0.2.1: - resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} - engines: {node: '>=0.10.0'} - dev: true - /array-unique/0.3.2: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} @@ -2609,10 +3141,6 @@ packages: get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 - - /arrify/1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} dev: true /assert-never/1.2.1: @@ -2624,35 +3152,11 @@ packages: engines: {node: '>=0.10.0'} dev: true - /ast-traverse/0.1.1: - resolution: {integrity: sha512-CPuE4BWIhJjsNMvFkrzjiBgOl56NJTuBPBkBqyRyfq/nZtx1Z1f5I+qx7G/Zt+FAOS+ABhghkEuWJrfW9Njjog==} - dev: true - /ast-types/0.13.3: resolution: {integrity: sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==} engines: {node: '>=4'} dev: true - /ast-types/0.8.12: - resolution: {integrity: sha512-rWhsoD0aHKpx+aKIP0Sf92bai1HC5iZcB1n/HCnkIMR8Bhx0gYRQySo062Y65ND4oRgcuxpLcPrcco09I1shpg==} - engines: {node: '>= 0.8'} - dev: true - - /ast-types/0.8.15: - resolution: {integrity: sha512-8WsusRFHT6D2CpPTCLLLeIp4dN4pMEgmVX/jaSBsbMFObktStNdGOE1ZW4x8V/RABr1VtqruQgpabZyvzrrrww==} - engines: {node: '>= 0.8'} - dev: true - - /ast-types/0.8.18: - resolution: {integrity: sha512-GRM2X/GMiUarZtbDPU3iVzUIZ4ZLhIWQkv2CSyvf1WW+OJ+QODRu/P2kboaNdB5LB5QA7T55JsF92a/yX4lhxA==} - engines: {node: '>= 0.8'} - dev: true - - /ast-types/0.9.6: - resolution: {integrity: sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==} - engines: {node: '>= 0.8'} - dev: true - /astral-regex/2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -2670,6 +3174,7 @@ packages: username-sync: 1.0.3 transitivePeerDependencies: - supports-color + dev: true /async-disk-cache/2.1.0: resolution: {integrity: sha512-iH+boep2xivfD9wMaZWkywYIURSmsL96d6MoqrC94BnGSvXE4Quf8hnJiHGFYhw/nLeIa1XyRaf4vvcvkwAefg==} @@ -2684,9 +3189,6 @@ packages: username-sync: 1.0.3 transitivePeerDependencies: - supports-color - - /async-each/1.0.6: - resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} dev: true /async-promise-queue/1.0.5: @@ -2696,6 +3198,7 @@ packages: debug: 2.6.9 transitivePeerDependencies: - supports-color + dev: true /async/0.2.10: resolution: {integrity: sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==} @@ -2705,6 +3208,7 @@ packages: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} dependencies: lodash: 4.17.21 + dev: true /asynckit/0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -2720,67 +3224,9 @@ packages: hasBin: true dev: true - /attach-ware/1.1.1: - resolution: {integrity: sha512-OpavlXWZkyE7m28fpCWF/RmxCukC1edukJp9IKjEpZs/O11H3896DkLpK7lMiL8ZDx2yxo9FrZQaeHkyJGcIuQ==} - dependencies: - unherit: 1.1.3 - dev: true - /available-typed-arrays/1.0.6: resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} engines: {node: '>= 0.4'} - - /babel-core/5.8.38: - resolution: {integrity: sha512-aVoPuaEiJJ/vqFpYuGp3kHOrKeKciCkjDE/e9va3VoSPAe37Qc0+9AZ+gBgIMTu8V8reCt2lW809e8k1KJQdaQ==} - dependencies: - babel-plugin-constant-folding: 1.0.1 - babel-plugin-dead-code-elimination: 1.0.2 - babel-plugin-eval: 1.0.1 - babel-plugin-inline-environment-variables: 1.0.1 - babel-plugin-jscript: 1.0.4 - babel-plugin-member-expression-literals: 1.0.1 - babel-plugin-property-literals: 1.0.1 - babel-plugin-proto-to-assign: 1.0.4 - babel-plugin-react-constant-elements: 1.0.3 - babel-plugin-react-display-name: 1.0.3 - babel-plugin-remove-console: 1.0.1 - babel-plugin-remove-debugger: 1.0.1 - babel-plugin-runtime: 1.0.7 - babel-plugin-undeclared-variables-check: 1.0.2 - babel-plugin-undefined-to-void: 1.1.6 - babylon: 5.8.38 - bluebird: 2.11.0 - chalk: 1.1.3 - convert-source-map: 1.9.0 - core-js: 1.2.7 - debug: 2.6.9 - detect-indent: 3.0.1 - esutils: 2.0.3 - fs-readdir-recursive: 0.1.2 - globals: 6.4.1 - home-or-tmp: 1.0.0 - is-integer: 1.0.7 - js-tokens: 1.0.1 - json5: 0.4.0 - lodash: 3.10.1 - minimatch: 2.0.10 - output-file-sync: 1.1.2 - path-exists: 1.0.0 - path-is-absolute: 1.0.1 - private: 0.1.8 - regenerator: 0.8.40 - regexpu: 1.3.0 - repeating: 1.1.3 - resolve: 1.22.8 - shebang-regex: 1.0.0 - slash: 1.0.0 - source-map: 0.5.7 - source-map-support: 0.2.10 - to-fast-properties: 1.0.3 - trim-right: 1.0.1 - try-resolve: 1.0.1 - transitivePeerDependencies: - - supports-color dev: true /babel-eslint/10.1.0_eslint@7.32.0: @@ -2806,6 +3252,11 @@ packages: engines: {node: '>= 12.*'} dev: true + /babel-import-util/1.4.1: + resolution: {integrity: sha512-TNdiTQdPhXlx02pzG//UyVPSKE7SNWjY0n4So/ZnjQpWwaM5LvWBLkWa1JKll5u06HNscHD91XZPuwrMg1kadQ==} + engines: {node: '>= 12.*'} + dev: true + /babel-import-util/2.0.1: resolution: {integrity: sha512-N1ZfNprtf/37x0R05J0QCW/9pCAcuI+bjZIK9tlu0JEkwEST7ssdD++gxHRbD58AiG5QE5OuNYhRoEFsc1wESw==} engines: {node: '>= 12.*'} @@ -2825,14 +3276,6 @@ packages: webpack: 5.90.1 dev: true - /babel-plugin-constant-folding/1.0.1: - resolution: {integrity: sha512-Rvhz9+o8/Bbqq6qTCO7FUPYxhrzqd/XkIY482DdYrXpFbhhqDu/xZZUd5/vYHV3oEE1poW+M10pjRZELDepwyQ==} - dev: true - - /babel-plugin-dead-code-elimination/1.0.2: - resolution: {integrity: sha512-wbVXBByKqaaIL3+3a9bRSLAL0GYhQWYmQCWTaGTXOsqqe1Jhi+qaj8/H+yQ5GMiJhvYEQiawzOCjCS1dmjvE5g==} - dev: true - /babel-plugin-debug-macros/0.2.0_@babel+core@7.23.9: resolution: {integrity: sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==} engines: {node: '>=4'} @@ -2841,6 +3284,7 @@ packages: dependencies: '@babel/core': 7.23.9 semver: 5.7.2 + dev: true /babel-plugin-debug-macros/0.3.4_@babel+core@7.23.9: resolution: {integrity: sha512-wfel/vb3pXfwIDZUrkoDrn5FHmlWI96PCJ3UCDv2a86poJ3EQrnArNW5KfHSVJ9IOgxHbo748cQt7sDU+0KCEw==} @@ -2850,18 +3294,21 @@ packages: dependencies: '@babel/core': 7.23.9 semver: 5.7.2 + dev: true /babel-plugin-ember-data-packages-polyfill/0.1.2: resolution: {integrity: sha512-kTHnOwoOXfPXi00Z8yAgyD64+jdSXk3pknnS7NlqnCKAU6YDkXZ4Y7irl66kaZjZn0FBBt0P4YOZFZk85jYOww==} engines: {node: 6.* || 8.* || 10.* || >= 12.*} dependencies: '@ember-data/rfc395-data': 0.0.4 + dev: true /babel-plugin-ember-modules-api-polyfill/3.5.0: resolution: {integrity: sha512-pJajN/DkQUnStw0Az8c6khVcMQHgzqWr61lLNtVeu0g61LRW0k9jyK7vaedrHDWGe/Qe8sxG5wpiyW9NsMqFzA==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: ember-rfc176-data: 0.3.18 + dev: true /babel-plugin-ember-template-compilation/2.2.1: resolution: {integrity: sha512-alinprIQcLficqkuIyeKKfD4HQOpMOiHK6pt6Skj/yjoPoQYBuwAJ2BoPAlRe9k/URPeVkpMefbN3m6jEp7RsA==} @@ -2869,9 +3316,6 @@ packages: dependencies: '@glimmer/syntax': 0.84.3 babel-import-util: 2.0.1 - - /babel-plugin-eval/1.0.1: - resolution: {integrity: sha512-Yu9H5PbQKGVp/O/BFXUUbHVIUzBeZtEL+Yk+Io8ND4NobQYW8eg/ztToMkn+1/dQrQjaOeFtiBKtkYBwWLvFhw==} dev: true /babel-plugin-filter-imports/4.0.0: @@ -2891,17 +3335,6 @@ packages: magic-string: 0.25.9 parse-static-imports: 1.1.0 string.prototype.matchall: 4.0.10 - - /babel-plugin-inline-environment-variables/1.0.1: - resolution: {integrity: sha512-upNlt2GMmPkLMtJEQEqJB+Y1OeNs78W5+toLTYD/zotypPg0K2w79fFfmiee34ehvLwOZL7khxtkPU54IS1Kvw==} - dev: true - - /babel-plugin-jscript/1.0.4: - resolution: {integrity: sha512-eMT10ilWqWvBtGL70fFVciexOcjfPaeOHsyfp5OuumTFPSxla2kJTZuDzIpTbKspHVFyzCGxY6NpGJolfVywgQ==} - dev: true - - /babel-plugin-member-expression-literals/1.0.1: - resolution: {integrity: sha512-Ql/UCGOaA0nQP/9H0MfhFSn2U1m2mLsJFo76NDVBQry5uCDbF8++Uv4VyAtyQ8s6UHcoIKxepzRbZGl//X569w==} dev: true /babel-plugin-module-resolver/3.2.0: @@ -2913,6 +3346,7 @@ packages: pkg-up: 2.0.0 reselect: 3.0.1 resolve: 1.22.8 + dev: true /babel-plugin-module-resolver/4.1.0: resolution: {integrity: sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==} @@ -2936,6 +3370,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-corejs3/0.9.0_@babel+core@7.23.9: resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} @@ -2947,6 +3382,7 @@ packages: core-js-compat: 3.35.1 transitivePeerDependencies: - supports-color + dev: true /babel-plugin-polyfill-regenerator/0.5.5_@babel+core@7.23.9: resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} @@ -2957,62 +3393,14 @@ packages: '@babel/helper-define-polyfill-provider': 0.5.0_@babel+core@7.23.9 transitivePeerDependencies: - supports-color - - /babel-plugin-property-literals/1.0.1: - resolution: {integrity: sha512-ZS1JuVJuo0j8IW2RRk8xA6MR/i14KIAhmDNHkipFn51uXe1S/hCH6u+V7TweF9aroT07F9PoxtENmuhFfVvq4g==} - dev: true - - /babel-plugin-proto-to-assign/1.0.4: - resolution: {integrity: sha512-VY0VnODP15n5ORbJNFIQ0lzewhf+XqkcwbA5UpeeJ96/wIFmbvHK8fNAJoddHUuxl6b5hZtygVdSs3qwPAa/0A==} - dependencies: - lodash: 3.10.1 - dev: true - - /babel-plugin-react-constant-elements/1.0.3: - resolution: {integrity: sha512-5vv5DJ8NB5kKzjD5tqnkbm0znmKBzDDKFz82zJKn4hFxs1Vwk3WolLN8RypRzlDsddNQPLuDS/0xHq/u/J6i7w==} - dev: true - - /babel-plugin-react-display-name/1.0.3: - resolution: {integrity: sha512-IMO+IEvFKzZgLbmO+lGcoPKeD+pBg48T9p+ZgMbKkXyFvHk1pKeHsnhjV45GRxVBQC+SLYkmG7EHbXDWxfThOA==} - dev: true - - /babel-plugin-remove-console/1.0.1: - resolution: {integrity: sha512-dNNqqYeRa0HpJbL+bXgSXeNnkgHbpLuU9o3040iyQjzHoTrIRUwltRWy1ZZgluuw/P0j1ukUOZsiudLLVRCmKw==} - dev: true - - /babel-plugin-remove-debugger/1.0.1: - resolution: {integrity: sha512-/rGQc8sgCVpTEeWQhHZShzQjANqWxpwxPlY3RkG9keK5+NKdA2U6ukfC/cySoSa1XmFwM6NBO67QWuOGR/DHrg==} - dev: true - - /babel-plugin-runtime/1.0.7: - resolution: {integrity: sha512-tDVsSImhImOPIszO/6O4FhGW+o+PirMt53fkuBQ/plT41i2SRzTSnGvisrKtV/2jaAVSRnCiFwhN7v8dQ1Ymag==} dev: true /babel-plugin-syntax-dynamic-import/6.18.0: resolution: {integrity: sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==} dev: true - /babel-plugin-undeclared-variables-check/1.0.2: - resolution: {integrity: sha512-NytRjvfh0DMsjUNaxOIROntf5c03PktIBQlTK6texdQZR7KhpeFxc2W8wGfF5LoJY13bHr2WnRY5xLZp6JXKOg==} - dependencies: - leven: 1.0.2 - dev: true - - /babel-plugin-undefined-to-void/1.1.6: - resolution: {integrity: sha512-YAi+mWX+Al08e6Isbv8g2UigZUoVnZuuF/JFmG5uAZKQ+6EYILBCFmS28BedM7Ts4QbAIpSqwXdMBzej+9tHUg==} - dev: true - - /babelify/6.4.0: - resolution: {integrity: sha512-0VFkPu2vNP7cK1GVl9knzu1orwL+lAzUif+iakXQeQJEj80uptKJcJTzq+v0fHolW/AMtTJxE4FQP12Cc0dPVA==} - dependencies: - babel-core: 5.8.38 - object-assign: 4.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /babylon/5.8.38: - resolution: {integrity: sha512-jtLAtIWCbI17buqCVN4/DtuHf3N1w9ZvbwrTWIae+EBSu2N3sVGCwSJeiZdAkTH4KRwinfMQIyoovP/xZtRwXQ==} + /babel6-plugin-strip-class-callcheck/6.0.0: + resolution: {integrity: sha512-biNFJ7JAK4+9BwswDGL0dmYpvXHvswOFR/iKg3Q/f+pNxPEa5bWZkLHI1fW4spPytkHGMe7f/XtYyhzml9hiWg==} dev: true /backbone/1.5.0: @@ -3021,10 +3409,6 @@ packages: underscore: 1.13.6 dev: true - /bail/1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} - dev: true - /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -3041,11 +3425,6 @@ packages: pascalcase: 0.1.1 dev: true - /base64-arraybuffer/0.1.4: - resolution: {integrity: sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg==} - engines: {node: '>= 0.6.0'} - dev: true - /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -3066,11 +3445,6 @@ packages: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true - /binary-extensions/1.13.1: - resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} - engines: {node: '>=0.10.0'} - dev: true - /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -3079,13 +3453,7 @@ packages: /binaryextensions/2.3.0: resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==} engines: {node: '>=0.8'} - - /bindings/1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - dependencies: - file-uri-to-path: 1.0.0 dev: true - optional: true /bl/4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -3097,19 +3465,12 @@ packages: /blank-object/1.0.2: resolution: {integrity: sha512-kXQ19Xhoghiyw66CUiGypnuRpWlbHAzY/+NyvqTEdTfhfQGH1/dbEMYiXju7fYKIFePpzp/y9dsu5Cu/PkmawQ==} - - /bluebird/2.11.0: - resolution: {integrity: sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==} dev: true /bluebird/3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: true - /blueimp-md5/2.19.0: - resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} - dev: true - /body-parser/1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -3168,15 +3529,6 @@ packages: balanced-match: 1.0.2 dev: true - /braces/1.8.5: - resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} - engines: {node: '>=0.10.0'} - dependencies: - expand-range: 1.8.2 - preserve: 0.2.0 - repeat-element: 1.1.4 - dev: true - /braces/2.3.2: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} @@ -3202,20 +3554,6 @@ packages: fill-range: 7.0.1 dev: true - /breakable/1.0.0: - resolution: {integrity: sha512-+ityJqcjhozQNrezzTd2dtH/lkIXmE52HL+FohK2TOLQDl3QURTNkim+2C0xcso4Zehq/HM4Wkumcdz7Ue+XmA==} - dev: true - - /brfs/1.6.1: - resolution: {integrity: sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==} - hasBin: true - dependencies: - quote-stream: 1.0.2 - resolve: 1.22.8 - static-module: 2.2.5 - through2: 2.0.5 - dev: true - /broccoli-amd-funnel/2.0.1: resolution: {integrity: sha512-VRE+0PYAN4jQfkIq3GKRj4U/4UV9rVpLan5ll6fVYV4ziVg4OEfR5GUnILEg++QtR4xSaugRxCPU5XJLDy3bNQ==} engines: {node: '>=6'} @@ -3263,6 +3601,7 @@ packages: workerpool: 3.1.2 transitivePeerDependencies: - supports-color + dev: true /broccoli-builder/0.18.14: resolution: {integrity: sha512-YoUHeKnPi4xIGZ2XDVN9oHNA9k3xF5f5vlA+1wvrxIIDXqQU97gp2FxVAF503Zxdtt0C5CRB5n+47k2hlkaBzA==} @@ -3279,6 +3618,19 @@ packages: - supports-color dev: true + /broccoli-caching-writer/2.3.1: + resolution: {integrity: sha512-lfoDx98VaU8tG4mUXCxKdKyw2Lr+iSIGUjCgV83KC2zRC07SzYTGuSsMqpXFiOQlOGuoJxG3NRoyniBa1BWOqA==} + dependencies: + broccoli-kitchen-sink-helpers: 0.2.9 + broccoli-plugin: 1.1.0 + debug: 2.6.9 + rimraf: 2.7.1 + rsvp: 3.6.2 + walk-sync: 0.2.7 + transitivePeerDependencies: + - supports-color + dev: true + /broccoli-caching-writer/3.0.3: resolution: {integrity: sha512-g644Kb5uBPsy+6e2DvO3sOc+/cXZQQNgQt64QQzjA9TSdP0dl5qvetpoNIx4sy/XIjrPYG1smEidq9Z9r61INw==} dependencies: @@ -3352,6 +3704,7 @@ packages: tree-sync: 1.4.0 transitivePeerDependencies: - supports-color + dev: true /broccoli-file-creator/2.1.1: resolution: {integrity: sha512-YpjOExWr92C5vhnK0kmD81kM7U09kdIRZk9w4ZDCDHuHXW+VE/x6AGEOQQW3loBQQ6Jk+k+TSm8dESy4uZsnjw==} @@ -3428,6 +3781,7 @@ packages: walk-sync: 0.3.4 transitivePeerDependencies: - supports-color + dev: true /broccoli-funnel/3.0.8: resolution: {integrity: sha512-ng4eIhPYiXqMw6SyGoxPHR3YAwEd2lr9FgBI1CyTbspl4txZovOsmzFkMkGAlu88xyvYXJqHiM2crfLa65T1BQ==} @@ -3442,6 +3796,12 @@ packages: walk-sync: 2.2.0 transitivePeerDependencies: - supports-color + + /broccoli-kitchen-sink-helpers/0.2.9: + resolution: {integrity: sha512-C+oEqivDofZv/h80rgN4WJkbZkbfwkrIeu8vFn4bb4m4jPd3ICNNplhkXGl3ps439pzc2yjZ1qIwz0yy8uHcQg==} + dependencies: + glob: 5.0.15 + mkdirp: 0.5.6 dev: true /broccoli-kitchen-sink-helpers/0.3.1: @@ -3449,6 +3809,7 @@ packages: dependencies: glob: 5.0.15 mkdirp: 0.5.6 + dev: true /broccoli-merge-trees/1.2.4: resolution: {integrity: sha512-RXJAleytlED0dxXGEo2EXwrg5cCesY8LQzzGRogwGQmluoz+ijzxajpyWAW6wu/AyuQZj1vgnIqnld8jvuuXtQ==} @@ -3465,15 +3826,6 @@ packages: - supports-color dev: true - /broccoli-merge-trees/2.0.1: - resolution: {integrity: sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==} - dependencies: - broccoli-plugin: 1.3.1 - merge-trees: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /broccoli-merge-trees/3.0.2: resolution: {integrity: sha512-ZyPAwrOdlCddduFbsMyyFzJUrvW6b04pMvDiAQZrCwghlvgowJDY+EfoXn+eR1RRA5nmGHJ+B68T63VnpRiT1A==} engines: {node: '>=6.0.0'} @@ -3482,6 +3834,7 @@ packages: merge-trees: 2.0.0 transitivePeerDependencies: - supports-color + dev: true /broccoli-merge-trees/4.2.0: resolution: {integrity: sha512-nTrQe5AQtCrW4enLRvbD/vTLHqyW2tz+vsLXQe4IEaUhepuMGVKJJr+I8n34Vu6fPjmPLwTjzNC8izMIDMtHPw==} @@ -3565,6 +3918,7 @@ packages: walk-sync: 1.1.4 transitivePeerDependencies: - supports-color + dev: true /broccoli-persistent-filter/3.1.3: resolution: {integrity: sha512-Q+8iezprZzL9voaBsDY3rQVl7c7H5h+bvv8SpzCZXPZgfBFCbx7KFQ2c3rZR6lW5k4Kwoqt7jG+rZMUg67Gwxw==} @@ -3583,6 +3937,16 @@ packages: sync-disk-cache: 2.1.0 transitivePeerDependencies: - supports-color + dev: true + + /broccoli-plugin/1.1.0: + resolution: {integrity: sha512-dY1QsA20of9wWEto8yhN7JQjpfjySmgeIMsvnQ9aBAv1wEJJCe04B0ekdgq7Bduyx9yWXdoC5CngGy81swmp2w==} + dependencies: + promise-map-series: 0.2.3 + quick-temp: 0.1.8 + rimraf: 2.7.1 + symlink-or-copy: 1.3.1 + dev: true /broccoli-plugin/1.3.1: resolution: {integrity: sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==} @@ -3591,6 +3955,7 @@ packages: quick-temp: 0.1.8 rimraf: 2.7.1 symlink-or-copy: 1.3.1 + dev: true /broccoli-plugin/2.1.0: resolution: {integrity: sha512-ElE4caljW4slapyEhSD9jU9Uayc8SoSABWdmY9SqbV8DHNxU6xg1jJsPcMm+cXOvggR3+G+OXAYQeFjWVnznaw==} @@ -3616,6 +3981,42 @@ packages: transitivePeerDependencies: - supports-color + /broccoli-rollup/2.1.1: + resolution: {integrity: sha512-aky/Ovg5DbsrsJEx2QCXxHLA6ZR+9u1TNVTf85soP4gL8CjGGKQ/JU8R3BZ2ntkWzo6/83RCKzX6O+nlNKR5MQ==} + engines: {node: '>=4.0'} + dependencies: + '@types/node': 9.6.61 + amd-name-resolver: 1.3.1 + broccoli-plugin: 1.3.1 + fs-tree-diff: 0.5.9 + heimdalljs: 0.2.6 + heimdalljs-logger: 0.1.10 + magic-string: 0.24.1 + node-modules-path: 1.0.2 + rollup: 0.57.1 + symlink-or-copy: 1.3.1 + walk-sync: 0.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /broccoli-rollup/5.0.0: + resolution: {integrity: sha512-QdMuXHwsdz/LOS8zu4HP91Sfi4ofimrOXoYP/lrPdRh7lJYD87Lfq4WzzUhGHsxMfzANIEvl/7qVHKD3cFJ4tA==} + engines: {node: '>=12.0'} + dependencies: + '@types/broccoli-plugin': 3.0.0 + broccoli-plugin: 4.0.7 + fs-tree-diff: 2.0.1 + heimdalljs: 0.2.6 + node-modules-path: 1.0.2 + rollup: 2.79.1 + rollup-pluginutils: 2.8.2 + symlink-or-copy: 1.3.1 + walk-sync: 2.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /broccoli-sass-source-maps/4.2.4: resolution: {integrity: sha512-MHwqLkgYW24T9k2OzprdYtERCAaO3wuSGqKna8QcAzCjDxYyoojisg2lfSWj9k2G72PlACUjUg8O39jttE84og==} engines: {node: '>=10.24.1'} @@ -3640,6 +4041,7 @@ packages: /broccoli-source/2.1.2: resolution: {integrity: sha512-1lLayO4wfS0c0Sj50VfHJXNWf94FYY0WUhxj0R77thbs6uWI7USiOWFqQV5dRmhAJnoKaGN4WyLGQbgjgiYFwQ==} engines: {node: 6.* || 8.* || >= 10.*} + dev: true /broccoli-source/3.0.1: resolution: {integrity: sha512-ZbGVQjivWi0k220fEeIUioN6Y68xjMy0xiLAc0LdieHI99gw+tafU8w0CggBDYVNsJMKUr006AZaM7gNEwCxEg==} @@ -3648,24 +4050,14 @@ packages: broccoli-node-api: 1.7.0 dev: true - /broccoli-stew/1.6.0: - resolution: {integrity: sha512-sUwCJNnYH4Na690By5xcEMAZqKgquUQnMAEuIiL3Z2k63mSw9Xg+7Ew4wCrFrMmXMcLpWjZDOm6Yqnq268N+ZQ==} - engines: {node: ^4.5 || 6.* || >= 7.*} + /broccoli-sri-hash/2.1.2: + resolution: {integrity: sha512-toLD/v7ut2ajcH8JsdCMG2Bpq2qkwTcKM6CMzVMSAJjaz/KpK69fR+gSqe1dsjh+QTdxG0yVvkq3Sij/XMzV6A==} dependencies: - broccoli-debug: 0.6.5 - broccoli-funnel: 2.0.2 - broccoli-merge-trees: 2.0.1 - broccoli-persistent-filter: 1.4.6 - broccoli-plugin: 1.3.1 - chalk: 2.4.2 - debug: 3.2.7 - ensure-posix-path: 1.1.1 - fs-extra: 5.0.0 - minimatch: 3.1.2 - resolve: 1.22.8 - rsvp: 4.8.5 + broccoli-caching-writer: 2.3.1 + mkdirp: 0.5.6 + rsvp: 3.6.2 + sri-toolbox: 0.2.0 symlink-or-copy: 1.3.1 - walk-sync: 0.3.4 transitivePeerDependencies: - supports-color dev: true @@ -3692,6 +4084,19 @@ packages: - supports-color dev: true + /broccoli-templater/2.0.2: + resolution: {integrity: sha512-71KpNkc7WmbEokTQpGcbGzZjUIY1NSVa3GB++KFKAfx5SZPUozCOsBlSTwxcv8TLoCAqbBnsX5AQPgg6vJ2l9g==} + engines: {node: 6.* || >= 8.*} + dependencies: + broccoli-plugin: 1.3.1 + fs-tree-diff: 0.5.9 + lodash.template: 4.5.0 + rimraf: 2.7.1 + walk-sync: 0.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /broccoli-terser-sourcemap/4.1.1: resolution: {integrity: sha512-8sbpRf0/+XeszBJQM7vph2UNj4Kal0lCI/yubcrBIzb2NvYj5gjTHJABXOdxx5mKNmlCMu2hx2kvOtMpQsxrfg==} engines: {node: ^10.12.0 || 12.* || >= 14} @@ -3746,19 +4151,13 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browser-resolve/1.11.3: - resolution: {integrity: sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==} - dependencies: - resolve: 1.1.7 - dev: true - /browserslist/4.22.3: resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001582 - electron-to-chromium: 1.4.654 + caniuse-lite: 1.0.30001583 + electron-to-chromium: 1.4.655 node-releases: 2.0.14 update-browserslist-db: 1.0.13_browserslist@4.22.3 @@ -3768,19 +4167,10 @@ packages: node-int64: 0.4.0 dev: true - /buffer-equal/0.0.1: - resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} - engines: {node: '>=0.4.0'} - dev: true - /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /buffer-shims/1.0.0: - resolution: {integrity: sha512-Zy8ZXMyxIT6RMTeY7OP/bDndfj6bwCan7SS98CEndS6deHwWPpseeHlwarNcBim+etXnF9HBc1non5JgDaJU1g==} - dev: true - /buffer/5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: @@ -3841,6 +4231,7 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dependencies: json-stable-stringify: 1.1.1 + dev: true /call-bind/1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} @@ -3848,30 +4239,31 @@ packages: function-bind: 1.1.2 get-intrinsic: 1.2.2 set-function-length: 1.2.0 + dev: true /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: true - /camelcase/1.2.1: - resolution: {integrity: sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==} - engines: {node: '>=0.10.0'} - dev: true - - /camelcase/2.1.1: - resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} - engines: {node: '>=0.10.0'} - dev: true - /can-symlink/1.0.0: resolution: {integrity: sha512-RbsNrFyhwkx+6psk/0fK/Q9orOUr9VMxohGd8vTa4djf4TGLfblBgUfqZChrZuW0Q+mz2eBPFLusw9Jfukzmhg==} hasBin: true dependencies: tmp: 0.0.28 + dev: true + + /caniuse-api/3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.22.3 + caniuse-lite: 1.0.30001583 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: true - /caniuse-lite/1.0.30001582: - resolution: {integrity: sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg==} + /caniuse-lite/1.0.30001583: + resolution: {integrity: sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q==} /capture-exit/2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -3895,18 +4287,6 @@ packages: lodash: 4.17.21 dev: true - /ccount/1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} - dev: true - - /center-align/0.1.3: - resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==} - engines: {node: '>=0.10.0'} - dependencies: - align-text: 0.1.4 - lazy-cache: 1.0.4 - dev: true - /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -3949,24 +4329,6 @@ packages: inherits: 2.0.4 dev: true - /chokidar/1.7.0: - resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} - deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. - dependencies: - anymatch: 1.3.2 - async-each: 1.0.6 - glob-parent: 2.0.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 2.0.1 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - optionalDependencies: - fsevents: 1.2.13 - transitivePeerDependencies: - - supports-color - dev: true - /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -4030,12 +4392,6 @@ packages: /clean-up-path/1.0.0: resolution: {integrity: sha512-PHGlEF0Z6976qQyN6gM7kKH6EH0RdfZcc8V+QhFe36eRxV0SMH5OUBZG7Bxa9YcreNzyNbK63cGiZxdSZgosRw==} - - /cli-cursor/1.0.2: - resolution: {integrity: sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==} - engines: {node: '>=0.10.0'} - dependencies: - restore-cursor: 1.0.1 dev: true /cli-cursor/2.1.0: @@ -4082,22 +4438,6 @@ packages: engines: {node: '>= 10'} dev: true - /cliui/2.1.0: - resolution: {integrity: sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==} - dependencies: - center-align: 0.1.3 - right-align: 0.1.3 - wordwrap: 0.0.2 - dev: true - - /cliui/3.2.0: - resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} - dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - wrap-ansi: 2.1.0 - dev: true - /cliui/8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -4113,14 +4453,6 @@ packages: mimic-response: 1.0.1 dev: true - /clone-stats/0.0.1: - resolution: {integrity: sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==} - dev: true - - /clone/0.2.0: - resolution: {integrity: sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==} - dev: true - /clone/1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -4129,18 +4461,6 @@ packages: /clone/2.1.2: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} engines: {node: '>=0.8'} - - /co/3.1.0: - resolution: {integrity: sha512-CQsjCRiNObI8AtTsNIBDRMQ4oMR83CzEswHYahClvul7gKk+lDQiOKv+5qh7LQWf5sh6jkZNispz/QlsZxyNgA==} - dev: true - - /code-point-at/1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} - dev: true - - /collapse-white-space/1.0.6: - resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} dev: true /collection-visit/1.0.0: @@ -4227,22 +4547,6 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true - /commoner/0.10.8: - resolution: {integrity: sha512-3/qHkNMM6o/KGXHITA14y78PcfmXh4+AOCJpSoF73h4VY1JpdGv3CHMS5+JW6SwLhfJt4RhNmLAa7+RRX/62EQ==} - engines: {node: '>= 0.8'} - hasBin: true - dependencies: - commander: 2.20.3 - detective: 4.7.1 - glob: 5.0.15 - graceful-fs: 4.2.11 - iconv-lite: 0.4.24 - mkdirp: 0.5.6 - private: 0.1.8 - q: 1.5.1 - recast: 0.11.23 - dev: true - /component-emitter/1.3.1: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} dev: true @@ -4272,28 +4576,9 @@ packages: /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /concat-stream/1.4.11: - resolution: {integrity: sha512-X3JMh8+4je3U1cQpG87+f9lXHDrqcb2MVLg9L7o8b1UZ0DzhRrUpdn65ttzu10PpJPPI3MQNkis+oha6TSA9Mw==} - engines: {'0': node >= 0.8} - dependencies: - inherits: 2.0.4 - readable-stream: 1.1.14 - typedarray: 0.0.7 - dev: true - - /concat-stream/1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - dev: true - - /concurrently/7.6.0: - resolution: {integrity: sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==} - engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} + /concurrently/8.2.2: + resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} + engines: {node: ^14.13.0 || >=16.0.0} hasBin: true dependencies: chalk: 4.1.2 @@ -4301,7 +4586,7 @@ packages: lodash: 4.17.21 rxjs: 7.8.1 shell-quote: 1.8.1 - spawn-command: 0.0.2-1 + spawn-command: 0.0.2 supports-color: 8.1.1 tree-kill: 1.2.2 yargs: 17.7.2 @@ -4523,6 +4808,10 @@ packages: safe-buffer: 5.2.1 dev: true + /content-tag/2.0.1: + resolution: {integrity: sha512-jxsETSDs5NbNwyiDuIp672fUMhUyu8Qxc5MOBOJOcgW/fQESI6o5K1LBDrnEE7Bh810a685lWEZHTF4jQYGEEw==} + dev: true + /content-type/1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} @@ -4532,10 +4821,6 @@ packages: resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} dev: true - /convert-source-map/1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - /convert-source-map/2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -4566,16 +4851,13 @@ packages: resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} dependencies: browserslist: 4.22.3 - - /core-js/1.2.7: - resolution: {integrity: sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. dev: true /core-js/2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. requiresBuild: true + dev: true /core-object/3.1.5: resolution: {integrity: sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==} @@ -4662,10 +4944,6 @@ packages: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} dev: true - /cssom/0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: true - /cssstyle/2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} @@ -4686,15 +4964,6 @@ packages: whatwg-url: 8.7.0 dev: true - /data-urls/3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - dev: true - /date-fns/2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} @@ -4702,6 +4971,13 @@ packages: '@babel/runtime': 7.23.9 dev: true + /date-time/2.1.0: + resolution: {integrity: sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==} + engines: {node: '>=4'} + dependencies: + time-zone: 1.0.0 + dev: true + /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -4734,11 +5010,6 @@ packages: dependencies: ms: 2.1.2 - /decamelize/1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true - /decimal.js/10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true @@ -4755,6 +5026,15 @@ packages: mimic-response: 1.0.1 dev: true + /decorator-transforms/1.1.0_@babel+core@7.23.9: + resolution: {integrity: sha512-n3WCgc3PB2t9mLV4SJd87IjTbKeFUGw2sU5eEBYczSmcvj3guX4eMW4XOowlQqGk7I/da6+bwv1ydw1ZtNqWaw==} + dependencies: + '@babel/plugin-syntax-decorators': 7.23.3_@babel+core@7.23.9 + babel-import-util: 2.0.1 + transitivePeerDependencies: + - '@babel/core' + dev: false + /deep-extend/0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -4781,6 +5061,7 @@ packages: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 + dev: true /define-properties/1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} @@ -4789,6 +5070,7 @@ packages: define-data-property: 1.1.1 has-property-descriptors: 1.0.1 object-keys: 1.1.1 + dev: true /define-property/0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} @@ -4812,24 +5094,18 @@ packages: isobject: 3.0.1 dev: true - /defined/1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - dev: true - - /defs/1.1.1: - resolution: {integrity: sha512-KgGV1vmSa2UPKeDXaWE5FiXjix8BOtYMgiPGpYhd/42wxiC6YGwtscj/zU9gD5/xk4K2iLDpyGhGA5puZxaeMg==} - hasBin: true + /del/5.1.0: + resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} + engines: {node: '>=8'} dependencies: - alter: 0.2.0 - ast-traverse: 0.1.1 - breakable: 1.0.0 - esprima-fb: 15001.1001.0-dev-harmony-fb - simple-fmt: 0.1.0 - simple-is: 0.2.0 - stringmap: 0.2.2 - stringset: 0.2.1 - tryor: 0.1.2 - yargs: 3.27.0 + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 dev: true /delayed-stream/1.0.0: @@ -4861,27 +5137,11 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true - /detab/1.0.2: - resolution: {integrity: sha512-J7vnPWu/Rq5Hi8xPPnwsv55CLkJmzZZCJOs0sAc6QcC7uf1X2iOrAXyGB6bXJBl5s4anllkMBKkHz13/BenuUQ==} - dependencies: - repeat-string: 1.6.1 - dev: true - /detect-file/1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} dev: true - /detect-indent/3.0.1: - resolution: {integrity: sha512-xo3WP66SNbr1Eim85s/qyH0ZL8PQUwp86HWm0S1l8WnJ/zjT6T3w1nwNA0yOZeuvOemupEYvpvF6BIdYRuERJQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - get-stdin: 4.0.1 - minimist: 1.2.8 - repeating: 1.1.3 - dev: true - /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -4892,13 +5152,6 @@ packages: engines: {node: '>=8'} dev: true - /detective/4.7.1: - resolution: {integrity: sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==} - dependencies: - acorn: 5.7.4 - defined: 1.0.1 - dev: true - /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} @@ -4911,14 +5164,6 @@ packages: path-type: 4.0.0 dev: true - /doctrine/0.7.2: - resolution: {integrity: sha512-qiB/Rir6Un6Ad/TIgTRzsremsTGWzs8j7woXvp14jgq00676uBiBT5eUOi+FgRywZFVy5Us/c04ISRpZhRbS6w==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 1.1.6 - isarray: 0.0.1 - dev: true - /doctrine/3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -4926,52 +5171,6 @@ packages: esutils: 2.0.3 dev: true - /documentation-theme-default/1.0.2: - resolution: {integrity: sha512-u4pKQAPM5RljWMTyrEnnTiScht9ig8fG/Rw3Z11+Nhjn3zCKPhZ40CYMV5vJFF6iIjrpNCAYz6vLMVHMaDMOQw==} - dev: true - - /documentation/3.0.4: - resolution: {integrity: sha512-sAwDp49cChfrRUfGxhsBoFdVfsehluDsd21RvwUnVJJMaluB7BipFxF3rKRIQifGVjfE/wTo7UhAqwFGHHuVFw==} - hasBin: true - dependencies: - ast-types: 0.8.18 - babel-core: 5.8.38 - babelify: 6.4.0 - brfs: 1.6.1 - concat-stream: 1.6.2 - doctrine: 0.7.2 - documentation-theme-default: 1.0.2 - extend: 3.0.2 - get-comments: 1.0.1 - github-url-from-git: 1.5.0 - globals-docs: 2.4.1 - handlebars: 3.0.8 - highlight.js: 8.9.1 - js-yaml: 3.14.1 - jsdoc-inline-lex: 1.0.1 - mdast: 2.3.2 - mdast-html: 1.2.1 - mdast-toc: 1.2.0 - micromatch: 2.3.11 - module-deps: 3.9.1 - parse-filepath: 0.6.3 - remote-origin-url: 0.4.0 - resolve: 1.22.8 - slugg: 0.1.2 - stream-array: 1.1.2 - strip-json-comments: 1.0.4 - traverse: 0.6.8 - unist-builder: 1.0.4 - vfile: 1.4.0 - vfile-reporter: 1.5.0 - vfile-sort: 1.0.0 - vinyl: 0.5.3 - vinyl-fs: 1.0.0 - yargs: 3.32.0 - transitivePeerDependencies: - - supports-color - dev: true - /domexception/2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} @@ -4980,14 +5179,6 @@ packages: webidl-conversions: 5.0.0 dev: true - /domexception/4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead - dependencies: - webidl-conversions: 7.0.0 - dev: true - /dot-case/3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: @@ -5002,34 +5193,14 @@ packages: is-obj: 2.0.0 dev: true - /duplexer2/0.0.2: - resolution: {integrity: sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==} - dependencies: - readable-stream: 1.1.14 - dev: true - - /duplexer2/0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - dependencies: - readable-stream: 2.3.8 - dev: true - /duplexer3/0.1.5: resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} dev: true - /duplexify/3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 2.3.8 - stream-shift: 1.0.3 - dev: true - /editions/1.3.4: resolution: {integrity: sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==} engines: {node: '>=0.8'} + dev: true /editions/2.3.1: resolution: {integrity: sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==} @@ -5037,18 +5208,14 @@ packages: dependencies: errlop: 2.2.0 semver: 6.3.1 + dev: true /ee-first/1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium/1.4.654: - resolution: {integrity: sha512-hjfFa+Vj4WGLRVTlCQa+IivBkpcp+boGxMQfusOC/me5Y5NfU4wX7wyw+K9p8Cw4tl0BVIZGH2n7y/jMc3w4pg==} - - /elegant-spinner/1.0.1: - resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} - engines: {node: '>=0.10.0'} - dev: true + /electron-to-chromium/1.4.655: + resolution: {integrity: sha512-2yszojF7vIZ68adIOvzV4bku8OZad9w5H9xF3ZAMZjPuOjBarlflUkjN6DggdV+L71WZuKUfKUhov/34+G5QHg==} /ember-auto-import/2.7.2_webpack@5.90.1: resolution: {integrity: sha512-pkWIljmJClYL17YBk8FjO7NrZPQoY9v0b+FooJvaHf/xlDQIBYVP7OaDHbNuNbpj7+wAwSDAnnwxjCoLsmm4cw==} @@ -5094,11 +5261,46 @@ packages: - webpack dev: true - /ember-cli-app-version/5.0.0: - resolution: {integrity: sha512-afhx/CXDOMNXzoe4NDPy5WUfxWmYYHUzMCiTyvPBxCDBXYcMrtxNWxvgaSaeqcoHVEmqzeyBj8V82tzmT1dcyw==} + /ember-cache-primitive-polyfill/1.0.1_@babel+core@7.23.9: + resolution: {integrity: sha512-hSPcvIKarA8wad2/b6jDd/eU+OtKmi6uP+iYQbzi5TQpjsqV6b4QdRqrLk7ClSRRKBAtdTuutx+m+X+WlEd2lw==} engines: {node: 10.* || >= 12} dependencies: ember-cli-babel: 7.26.11 + ember-cli-version-checker: 5.1.2 + ember-compatibility-helpers: 1.2.7_@babel+core@7.23.9 + silent-error: 1.1.1 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /ember-cached-decorator-polyfill/1.0.2_pyu5h26lqtbvj35ny6ypvb7yn4: + resolution: {integrity: sha512-hUX6OYTKltAPAu8vsVZK02BfMTV0OUXrPqvRahYPhgS7D0I6joLjlskd7mhqJMcaXLywqceIy8/s+x8bxF8bpQ==} + engines: {node: 14.* || >= 16} + peerDependencies: + ember-source: ^3.13.0 || ^4.0.0 || >= 5.0.0 + dependencies: + '@embroider/macros': 1.13.5 + '@glimmer/tracking': 1.1.2 + babel-import-util: 1.4.1 + ember-cache-primitive-polyfill: 1.0.1_@babel+core@7.23.9 + ember-cli-babel: 7.26.11 + ember-cli-babel-plugin-helpers: 1.1.1 + ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u + transitivePeerDependencies: + - '@babel/core' + - '@glint/template' + - supports-color + dev: true + + /ember-cli-app-version/6.0.1_ember-source@4.11.0: + resolution: {integrity: sha512-XA1FwkWA5QytmWF0jcJqEr3jcZoiCl9Fb33TZgOVfClL7Voxe+/RwzISEprBRQgbf7j8z1xf8/RJCKfclUy3rQ==} + engines: {node: 14.* || 16.* || >= 18} + peerDependencies: + ember-source: ^3.28.0 || >= 4.0.0 + dependencies: + ember-cli-babel: 7.26.11 + ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u git-repo-info: 2.1.1 transitivePeerDependencies: - supports-color @@ -5107,6 +5309,7 @@ packages: /ember-cli-babel-plugin-helpers/1.1.1: resolution: {integrity: sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw==} engines: {node: 6.* || 8.* || >= 10.*} + dev: true /ember-cli-babel/7.26.11: resolution: {integrity: sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA==} @@ -5144,64 +5347,28 @@ packages: semver: 5.7.2 transitivePeerDependencies: - supports-color + dev: true /ember-cli-dependency-checker/3.3.2_ember-cli@4.11.0: resolution: {integrity: sha512-PwkrW5oYsdPWwt+0Tojufmv/hxVETTjkrEdK7ANQB2VSnqpA5UcYubwpQM9ONuR2J8wyNDMwEHlqIrk/FYtBsQ==} engines: {node: '>= 6'} - peerDependencies: - ember-cli: ^3.2.0 || >=4.0.0 - dependencies: - chalk: 2.4.2 - ember-cli: 4.11.0 - find-yarn-workspace-root: 1.2.1 - is-git-url: 1.0.0 - resolve: 1.22.8 - semver: 5.7.2 - transitivePeerDependencies: - - supports-color - dev: true - - /ember-cli-fastboot/4.1.2: - resolution: {integrity: sha512-cC2ET8AbRTssA4sg9qF9KLX9N/Xnwa7kS0PKZADMMOUXtuBF4jmgnXsjzlvIE+lgWcwK4tc6udgwpMeNMkOg7w==} - engines: {node: 14.* || 16.* || >=18} - dependencies: - broccoli-concat: 4.2.5 - broccoli-file-creator: 2.1.1 - broccoli-funnel: 3.0.8 - broccoli-merge-trees: 4.2.0 - broccoli-plugin: 4.0.7 - chalk: 4.1.2 - ember-cli-babel: 7.26.11 - ember-cli-lodash-subset: 2.0.1 - ember-cli-preprocess-registry: 3.3.0 - ember-cli-version-checker: 5.1.2 - fastboot: 4.1.2 - fastboot-express-middleware: 4.1.2 - fastboot-transform: 0.1.3 - fs-extra: 10.1.0 - json-stable-stringify: 1.1.1 - md5-hex: 3.0.1 - recast: 0.19.1 - silent-error: 1.1.1 + peerDependencies: + ember-cli: ^3.2.0 || >=4.0.0 + dependencies: + chalk: 2.4.2 + ember-cli: 4.11.0 + find-yarn-workspace-root: 1.2.1 + is-git-url: 1.0.0 + resolve: 1.22.8 + semver: 5.7.2 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - utf-8-validate dev: true /ember-cli-get-component-path-option/1.0.0: resolution: {integrity: sha512-k47TDwcJ2zPideBCZE8sCiShSxQSpebY2BHcX2DdipMmBox5gsfyVrbKJWIHeSTTKyEUgmBIvQkqTOozEziCZA==} dev: true - /ember-cli-github-pages/0.2.2: - resolution: {integrity: sha512-pFtruVBZ5OW1O1MiGQRQSQewW9DSBx6ZbRcbVpcpTlZqeDyWs5nyvhOm4qRFwK6m+jQPe2l52cYtf1rUAkBNxA==} - engines: {node: 8.* || >= 10.*} - dependencies: - ember-cli-version-checker: 2.2.0 - rsvp: 4.8.5 - dev: true - /ember-cli-htmlbars/3.1.0: resolution: {integrity: sha512-cgvRJM73IT0aePUG7oQ/afB7vSRBV3N0wu9BrWhHX2zkR7A7cUBI7KC9VPk6tbctCXoM7BRGsCC4aIjF7yrfXA==} engines: {node: 6.* || 8.* || >= 10.*} @@ -5214,6 +5381,30 @@ packages: - supports-color dev: true + /ember-cli-htmlbars/5.7.2: + resolution: {integrity: sha512-Uj6R+3TtBV5RZoJY14oZn/sNPnc+UgmC8nb5rI4P3fR/gYoyTFIZSXiIM7zl++IpMoIrocxOrgt+mhonKphgGg==} + engines: {node: 10.* || >= 12.*} + dependencies: + '@ember/edition-utils': 1.2.0 + babel-plugin-htmlbars-inline-precompile: 5.3.1 + broccoli-debug: 0.6.5 + broccoli-persistent-filter: 3.1.3 + broccoli-plugin: 4.0.7 + common-tags: 1.8.2 + ember-cli-babel-plugin-helpers: 1.1.1 + ember-cli-version-checker: 5.1.2 + fs-tree-diff: 2.0.1 + hash-for-dep: 1.5.1 + heimdalljs-logger: 0.1.10 + json-stable-stringify: 1.1.1 + semver: 7.5.4 + silent-error: 1.1.1 + strip-bom: 4.0.0 + walk-sync: 2.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /ember-cli-htmlbars/6.3.0: resolution: {integrity: sha512-N9Y80oZfcfWLsqickMfRd9YByVcTGyhYRnYQ2XVPVrp6jyUyOeRWmEAPh7ERSXpp8Ws4hr/JB9QVQrn/yZa+Ag==} engines: {node: 12.* || 14.* || >= 16} @@ -5234,6 +5425,7 @@ packages: walk-sync: 2.2.0 transitivePeerDependencies: - supports-color + dev: true /ember-cli-inject-live-reload/2.1.0: resolution: {integrity: sha512-YV5wYRD5PJHmxaxaJt18u6LE6Y+wo455BnmcpN+hGNlChy2piM9/GMvYgTAz/8Vin8RJ5KekqP/w/NEaRndc/A==} @@ -5301,6 +5493,15 @@ packages: - supports-color dev: true + /ember-cli-sri/2.1.1: + resolution: {integrity: sha512-YG/lojDxkur9Bnskt7xB6gUOtJ6aPl/+JyGYm9HNDk3GECVHB3SMN3rlGhDKHa1ndS5NK2W2TSLb9bzRbGlMdg==} + engines: {node: '>= 0.10.0'} + dependencies: + broccoli-sri-hash: 2.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /ember-cli-string-utils/1.1.0: resolution: {integrity: sha512-PlJt4fUDyBrC/0X+4cOpaGCiMawaaB//qD85AXmDRikxhxVzfVdpuoec02HSiTGTTB85qCIzWBIh8lDOiMyyFg==} dev: true @@ -5314,6 +5515,12 @@ packages: - supports-color dev: true + /ember-cli-test-info/1.0.0: + resolution: {integrity: sha512-dEVTIpmUfCzweC97NGf6p7L6XKBwV2GmSM4elmzKvkttEp5P7AvGA9uGyN4GqFq+RwhW+2b0I2qlX00w+skm+A==} + dependencies: + ember-cli-string-utils: 1.1.0 + dev: true + /ember-cli-test-loader/3.1.0: resolution: {integrity: sha512-0aocZV9SIoOHiU3hrH3IuLR6busWhTX6UVXgd490hmJkIymmOXNH2+jJoC7Ebkeo3PiOfAdjqhb765QDlHSJOw==} engines: {node: 10.* || >= 12} @@ -5373,9 +5580,9 @@ packages: - supports-color dev: true - /ember-cli-typescript/5.2.1: - resolution: {integrity: sha512-qqp5TAIuPHxHiGXJKL+78Euyhy0zSKQMovPh8sJpN/ZBYx0H90pONufHR3anaMcp1snVfx4B+mb9+7ijOik8ZA==} - engines: {node: '>= 12.*'} + /ember-cli-typescript/4.2.1: + resolution: {integrity: sha512-0iKTZ+/wH6UB/VTWKvGuXlmwiE8HSIGcxHamwNhEC5x1mN3z8RfvsFZdQWYUzIWFN2Tek0gmepGRPTwWdBYl/A==} + engines: {node: 10.* || >= 12.*} dependencies: ansi-to-html: 0.6.15 broccoli-stew: 3.0.0 @@ -5416,6 +5623,7 @@ packages: silent-error: 1.1.1 transitivePeerDependencies: - supports-color + dev: true /ember-cli-version-checker/5.1.2: resolution: {integrity: sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q==} @@ -5426,6 +5634,7 @@ packages: silent-error: 1.1.1 transitivePeerDependencies: - supports-color + dev: true /ember-cli/4.11.0: resolution: {integrity: sha512-X0Ep67O/r2nCViILV8wEvI0xiRlLRS8GgeDklQ3SvDXQp2d3xbI8ARW76pcb1du39HPgIi0G6F/OpJ1uOr4ZQQ==} @@ -5613,6 +5822,38 @@ packages: transitivePeerDependencies: - '@babel/core' - supports-color + dev: true + + /ember-data/4.11.3_ezxyf6w2nhdhjbhsrzl5qpocjy: + resolution: {integrity: sha512-7vir6Re3M3M6yJoCHy6UxEg3oSY1JEnsuTByY3lJquWPaUamn7qbPQvNr16Tqh8EKrt+e/+X26czFm4kRGhpVg==} + engines: {node: ^14.8.0 || 16.* || >= 18.*} + peerDependencies: + '@ember/string': ^3.0.1 + dependencies: + '@ember-data/adapter': 4.11.3_cl6becwow24fwrvmjrot2cdeay + '@ember-data/debug': 4.11.3_vjhqyuwf7dspwpq7dbq5x7cnry + '@ember-data/model': 4.11.3_m5lqpy5bb24c7cis3eqpp5sqvi + '@ember-data/private-build-infra': 4.11.3 + '@ember-data/record-data': 4.11.3_penwr4la66tz3w6tpfpxfgwnxq + '@ember-data/serializer': 4.11.3_cl6becwow24fwrvmjrot2cdeay + '@ember-data/store': 4.11.3_pjr42w4bixjqyxs45vej3gaoum + '@ember-data/tracking': 4.11.3 + '@ember/edition-utils': 1.2.0 + '@ember/string': 3.1.1 + '@embroider/macros': 1.13.5 + '@glimmer/env': 0.1.7 + broccoli-merge-trees: 4.2.0 + ember-auto-import: 2.7.2_webpack@5.90.1 + ember-cli-babel: 7.26.11 + ember-inflector: 4.0.2 + transitivePeerDependencies: + - '@babel/core' + - '@glimmer/tracking' + - '@glint/template' + - ember-source + - supports-color + - webpack + dev: true /ember-destroyable-polyfill/2.0.3_@babel+core@7.23.9: resolution: {integrity: sha512-TovtNqCumzyAiW0/OisSkkVK93xnVF4NRU6+FN0ubpfwEOpRrmM2RqDwXI6YAChCgSHON1cz0DfQStpA1Gjuuw==} @@ -5626,13 +5867,34 @@ packages: - supports-color dev: true - /ember-fn-helper-polyfill/1.0.2: - resolution: {integrity: sha512-T/YG1Do59xvyMCUItqvY61ZJfSLiUsUuykG8C4o9ffrwDuspbquL3eJdLi+NF1dNoihwcIdJHcxLKvwvQB05LQ==} - engines: {node: 8.* || >= 10.*} + /ember-fetch/8.1.2: + resolution: {integrity: sha512-TVx24/jrvDIuPL296DV0hBwp7BWLcSMf0I8464KGz01sPytAB+ZAePbc9ooBTJDkKZEGFgatJa4nj3yF1S9Bpw==} + engines: {node: '>= 10'} dependencies: + abortcontroller-polyfill: 1.7.5 + broccoli-concat: 4.2.5 + broccoli-debug: 0.6.5 + broccoli-merge-trees: 4.2.0 + broccoli-rollup: 2.1.1 + broccoli-stew: 3.0.0 + broccoli-templater: 2.0.2 calculate-cache-key-for-tree: 2.0.0 + caniuse-api: 3.0.0 + ember-cli-babel: 7.26.11 + ember-cli-typescript: 4.2.1 + ember-cli-version-checker: 5.1.2 + node-fetch: 2.7.0 + whatwg-fetch: 3.6.20 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /ember-inflector/4.0.2: + resolution: {integrity: sha512-+oRstEa52mm0jAFzhr51/xtEWpCEykB3SEBr7vUg8YnXUZJ5hKNBppP938q8Zzr9XfJEbzrtDSGjhKwJCJv6FQ==} + engines: {node: 10.* || 12.* || >= 14} + dependencies: ember-cli-babel: 7.26.11 - ember-cli-version-checker: 3.1.3 transitivePeerDependencies: - supports-color dev: true @@ -5660,17 +5922,19 @@ packages: - supports-color dev: true - /ember-modifier/3.2.7_@babel+core@7.23.9: - resolution: {integrity: sha512-ezcPQhH8jUfcJQbbHji4/ZG/h0yyj1jRDknfYue/ypQS8fM8LrGcCMo0rjDZLzL1Vd11InjNs3BD7BdxFlzGoA==} - engines: {node: 12.* || >= 14} + /ember-modifier/4.1.0_ember-source@4.11.0: + resolution: {integrity: sha512-YFCNpEYj6jdyy3EjslRb2ehNiDvaOrXTilR9+ngq+iUqSHYto2zKV0rleiA1XJQ27ELM1q8RihT29U6Lq5EyqQ==} + peerDependencies: + ember-source: '*' + peerDependenciesMeta: + ember-source: + optional: true dependencies: - ember-cli-babel: 7.26.11 + '@embroider/addon-shim': 1.8.7 ember-cli-normalize-entity-name: 1.0.0 ember-cli-string-utils: 1.1.0 - ember-cli-typescript: 5.2.1 - ember-compatibility-helpers: 1.2.7_@babel+core@7.23.9 + ember-source: 4.11.0_qy2wlwp47af6z2bggoguugct2u transitivePeerDependencies: - - '@babel/core' - supports-color dev: true @@ -5889,6 +6153,16 @@ packages: - supports-color dev: true + /ember-tracked-storage-polyfill/1.0.0: + resolution: {integrity: sha512-eL7lZat68E6P/D7b9UoTB5bB5Oh/0aju0Z7PCMi3aTwhaydRaxloE7TGrTRYU+NdJuyNVZXeGyxFxn2frvd3TA==} + engines: {node: 12.* || >= 14} + dependencies: + ember-cli-babel: 7.26.11 + ember-cli-htmlbars: 5.7.2 + transitivePeerDependencies: + - supports-color + dev: true + /ember-try-config/4.0.0: resolution: {integrity: sha512-jAv7fqYJK7QYYekPc/8Nr7KOqDpv/asqM6F8xcRnbmf9UrD35BkSffY63qUuiD9e0aR5qiMNBIQzH8f65rGDqw==} engines: {node: 10.* || 12.* || >= 14} @@ -5942,24 +6216,25 @@ packages: once: 1.4.0 dev: true - /engine.io-parser/4.0.3: - resolution: {integrity: sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==} - engines: {node: '>=8.0.0'} - dependencies: - base64-arraybuffer: 0.1.4 + /engine.io-parser/5.2.1: + resolution: {integrity: sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==} + engines: {node: '>=10.0.0'} dev: true - /engine.io/5.2.1: - resolution: {integrity: sha512-hyNxjVgWp619QMfqi/+/6/LQF+ueOIWeVOza3TeyvxUGjeT9U/xPkkHW/NJNuhbStrxMujEoMadoc2EY7DDEnw==} - engines: {node: '>=10.0.0'} + /engine.io/6.5.4: + resolution: {integrity: sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==} + engines: {node: '>=10.2.0'} dependencies: + '@types/cookie': 0.4.1 + '@types/cors': 2.8.17 + '@types/node': 20.11.16 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 debug: 4.3.4 - engine.io-parser: 4.0.3 - ws: 7.4.6 + engine.io-parser: 5.2.1 + ws: 8.11.0 transitivePeerDependencies: - bufferutil - supports-color @@ -6001,6 +6276,7 @@ packages: /errlop/2.2.0: resolution: {integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==} engines: {node: '>=0.8'} + dev: true /error/7.2.1: resolution: {integrity: sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==} @@ -6051,6 +6327,7 @@ packages: typed-array-length: 1.0.4 unbox-primitive: 1.0.2 which-typed-array: 1.1.14 + dev: true /es-module-lexer/1.4.1: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} @@ -6063,6 +6340,7 @@ packages: get-intrinsic: 1.2.2 has-tostringtag: 1.0.2 hasown: 2.0.0 + dev: true /es-to-primitive/1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -6071,6 +6349,7 @@ packages: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 + dev: true /es6-promise/1.0.0: resolution: {integrity: sha512-8/2Juj7DeNMwxkbcruBmErKcgPSTPgaGIB08nQvlBzaqliW1vMliNOaBQaMzzQAxX9k0vGy+8wwWlgiLuKqZIw==} @@ -6098,19 +6377,6 @@ packages: engines: {node: '>=10'} dev: true - /escodegen/1.9.1: - resolution: {integrity: sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==} - engines: {node: '>=4.0'} - hasBin: true - dependencies: - esprima: 3.1.3 - estraverse: 4.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - dev: true - /escodegen/2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} @@ -6250,6 +6516,11 @@ packages: engines: {node: '>=10'} dev: true + /eslint-visitor-keys/3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint/7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6313,30 +6584,12 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /esprima-fb/15001.1001.0-dev-harmony-fb: - resolution: {integrity: sha512-m7OsYzocA8OQ3+9CxmhIv7NPHtyDR2ixaLCO7kLZ+YH+xQ/BpaZmll9EXmc+kBxzWA8BRBXbNEuEQqQ6vfsgDw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /esprima/2.7.3: - resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} - engines: {node: '>=0.10.0'} - hasBin: true - dev: true - /esprima/3.0.0: resolution: {integrity: sha512-xoBq/MIShSydNZOkjkoCEjqod963yHNXTLC40ypBhop6yPqflPz/vTinmCfSrGcywVLnSftRf6a0kJLdFdzemw==} engines: {node: '>=0.10.0'} hasBin: true dev: true - /esprima/3.1.3: - resolution: {integrity: sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==} - engines: {node: '>=4'} - hasBin: true - dev: true - /esprima/4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -6367,14 +6620,18 @@ packages: engines: {node: '>=4.0'} dev: true - /esutils/1.1.6: - resolution: {integrity: sha512-RG1ZkUT7iFJG9LSHr7KDuuMSlujfeTtMNIcInURxKAxhMtwQhI3NrQhz26gZQYlsYZQKzsnwtpKrFKj9K9Qu1A==} - engines: {node: '>=0.10.0'} + /estree-walker/0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true /esutils/2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + dev: true /etag/1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} @@ -6461,23 +6718,11 @@ packages: deprecated: Please replace with usage of fs.existsSync dev: true - /exit-hook/1.1.1: - resolution: {integrity: sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==} - engines: {node: '>=0.10.0'} - dev: true - /exit/0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} dev: true - /expand-brackets/0.1.5: - resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} - engines: {node: '>=0.10.0'} - dependencies: - is-posix-bracket: 0.1.1 - dev: true - /expand-brackets/2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -6493,13 +6738,6 @@ packages: - supports-color dev: true - /expand-range/1.8.2: - resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} - engines: {node: '>=0.10.0'} - dependencies: - fill-range: 2.2.4 - dev: true - /expand-tilde/2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} @@ -6565,14 +6803,6 @@ packages: is-extendable: 1.0.1 dev: true - /extend.js/0.0.2: - resolution: {integrity: sha512-kSK5oO9X2i9qUptwhkilKqBfLG322xXY2ZO6/dlPY/ozt0fc+Ac9Qo6hZE/RiRTau5XUvVv2y6z1G6lNZ8f1WA==} - dev: true - - /extend/3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true - /external-editor/3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -6582,13 +6812,6 @@ packages: tmp: 0.0.33 dev: true - /extglob/0.3.2: - resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 1.0.0 - dev: true - /extglob/2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} @@ -6610,14 +6833,6 @@ packages: engines: {node: '>=8'} dev: true - /falafel/2.2.5: - resolution: {integrity: sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==} - engines: {node: '>=0.4.0'} - dependencies: - acorn: 7.4.1 - isarray: 2.0.5 - dev: true - /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -6649,10 +6864,11 @@ packages: resolution: {integrity: sha512-MxBW4URybFszOx1YlACEoK52P6lE3xiFcPaGCUZ7QQOZ6uJXKo++Se8wa31SjcZ+NC/fdAWX7UtKEfaGgHS2Vg==} dependencies: blank-object: 1.0.2 + dev: true - /fast-sourcemap-concat/2.1.1: - resolution: {integrity: sha512-7h9/x25c6AQwdU3mA8MZDUMR3UCy50f237egBrBkuwjnUZSmfu4ptCf91PZSKzON2Uh5VvIHozYKWcPPgcjxIw==} - engines: {node: 10.* || >= 12.*} + /fast-sourcemap-concat/1.4.0: + resolution: {integrity: sha512-x90Wlx/2C83lfyg7h4oguTZN4MyaVfaiUSJQNpU+YEA0Odf9u659Opo44b0LfoVg9G/bOE++GdID/dkyja+XcA==} + engines: {node: '>= 4'} dependencies: chalk: 2.4.2 fs-extra: 5.0.0 @@ -6661,48 +6877,24 @@ packages: mkdirp: 0.5.6 source-map: 0.4.4 source-map-url: 0.3.0 + sourcemap-validator: 1.1.1 transitivePeerDependencies: - supports-color dev: true - /fastboot-express-middleware/4.1.2: - resolution: {integrity: sha512-vnzEBV7gZ3lSoGiqG/7+006nHNA3z+ZnU/5u9jPHtKpjH28yEbvZq6PnAeTu24UR98jZVR0pnFbfX0co+O9PeA==} - engines: {node: 12.* || 14.* || >=16} - dependencies: - chalk: 4.1.2 - fastboot: 4.1.2 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /fastboot-transform/0.1.3: - resolution: {integrity: sha512-6otygPIJw1ARp1jJb+6KVO56iKBjhO+5x59RSC9qiZTbZRrv+HZAuP00KD3s+nWMvcFDemtdkugki9DNFTTwCQ==} - dependencies: - broccoli-stew: 1.6.0 - convert-source-map: 1.9.0 - transitivePeerDependencies: - - supports-color - dev: true - - /fastboot/4.1.2: - resolution: {integrity: sha512-VJLmF0xdCNwIIuA7DQtN1KTAKfEGsbZGJ0cfKh64h6DeMh3Fhr2FCCxkPh8zYqGoqzjXFdFbtk60WS3f6HKqBg==} - engines: {node: 12.* || 14.* || >=16} + /fast-sourcemap-concat/2.1.1: + resolution: {integrity: sha512-7h9/x25c6AQwdU3mA8MZDUMR3UCy50f237egBrBkuwjnUZSmfu4ptCf91PZSKzON2Uh5VvIHozYKWcPPgcjxIw==} + engines: {node: 10.* || >= 12.*} dependencies: - chalk: 4.1.2 - cookie: 0.4.2 - debug: 4.3.4 - jsdom: 19.0.0 - resolve: 1.22.8 - simple-dom: 1.4.0 - source-map-support: 0.5.21 + chalk: 2.4.2 + fs-extra: 5.0.0 + heimdalljs-logger: 0.1.10 + memory-streams: 0.1.3 + mkdirp: 0.5.6 + source-map: 0.4.4 + source-map-url: 0.3.0 transitivePeerDependencies: - - bufferutil - - canvas - supports-color - - utf-8-validate dev: true /fastq/1.17.0: @@ -6745,32 +6937,11 @@ packages: flat-cache: 3.2.0 dev: true - /file-uri-to-path/1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - dev: true - optional: true - - /filename-regex/2.0.1: - resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} - engines: {node: '>=0.10.0'} - dev: true - /filesize/10.1.0: resolution: {integrity: sha512-GTLKYyBSDz3nPhlLVPjPWZCnhkd9TrrRArNcy8Z+J2cqScB7h2McAzR6NBX6nYOoWafql0roY8hrocxnZBv9CQ==} engines: {node: '>= 10.4.0'} dev: true - /fill-range/2.2.4: - resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 2.1.0 - isobject: 2.1.0 - randomatic: 3.1.1 - repeat-element: 1.1.4 - repeat-string: 1.6.1 - dev: true - /fill-range/4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} @@ -6824,6 +6995,7 @@ packages: dependencies: json5: 0.5.1 path-exists: 3.0.0 + dev: true /find-cache-dir/3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} @@ -6834,10 +7006,6 @@ packages: pkg-dir: 4.2.0 dev: true - /find-index/0.1.1: - resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} - dev: true - /find-index/1.1.1: resolution: {integrity: sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==} dev: true @@ -6847,6 +7015,7 @@ packages: engines: {node: '>=4'} dependencies: locate-path: 2.0.0 + dev: true /find-up/3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} @@ -6869,6 +7038,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true /find-up/6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} @@ -6913,16 +7083,12 @@ packages: minimatch: 3.1.2 dev: true - /first-chunk-stream/1.0.0: - resolution: {integrity: sha512-ArRi5axuv66gEsyl3UuK80CzW7t56hem73YGNYxNWTGNKFJUadSb9Gu9SHijYEUi8ulQMf1bJomYNwSCPHhtTQ==} - engines: {node: '>=0.10.0'} - dev: true - /fixturify-project/1.10.0: resolution: {integrity: sha512-L1k9uiBQuN0Yr8tA9Noy2VSQ0dfg0B8qMdvT7Wb5WQKc7f3dn3bzCbSrqlb+etLW+KDV4cBC7R1OvcMg3kcxmA==} dependencies: fixturify: 1.3.0 tmp: 0.0.33 + dev: true /fixturify-project/2.1.1: resolution: {integrity: sha512-sP0gGMTr4iQ8Kdq5Ez0CVJOZOGWqzP5dv/veOTdFNywioKjkNWCHBi1q65DMpcNGUGeoOUWehyji274Q2wRgxA==} @@ -6942,6 +7108,7 @@ packages: '@types/rimraf': 2.0.5 fs-extra: 7.0.1 matcher-collection: 2.0.1 + dev: true /fixturify/2.1.1: resolution: {integrity: sha512-SRgwIMXlxkb6AUgaVjIX+jCEqdhyXu9hah7mcK+lWynjKtX73Ux1TDv71B7XyaQ+LJxkYRHl5yCL8IycAvQRUw==} @@ -6982,19 +7149,13 @@ packages: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: true /for-in/1.0.2: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} dev: true - /for-own/0.1.5: - resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - dev: true - /form-data/3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -7004,15 +7165,6 @@ packages: mime-types: 2.1.35 dev: true - /form-data/4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -7079,6 +7231,7 @@ packages: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 + dev: true /fs-extra/8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} @@ -7108,10 +7261,6 @@ packages: transitivePeerDependencies: - supports-color - /fs-readdir-recursive/0.1.2: - resolution: {integrity: sha512-//yfxmYAazrsyb/rgeYDNFXFTuPYTGYirp5QHFSH8h/LaNUoP5bQAa2ikstdK1PR/bFd1CIlQLpUq6/u6UVfSw==} - dev: true - /fs-tree-diff/0.5.9: resolution: {integrity: sha512-872G8ax0kHh01m9n/2KDzgYwouKza0Ad9iFltBpNykvROvf2AGtoOzPJgGx125aolGPER3JuC7uZFrQ7bG1AZw==} dependencies: @@ -7121,6 +7270,7 @@ packages: symlink-or-copy: 1.3.1 transitivePeerDependencies: - supports-color + dev: true /fs-tree-diff/2.0.1: resolution: {integrity: sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==} @@ -7144,22 +7294,11 @@ packages: heimdalljs-logger: 0.1.10 rimraf: 2.7.1 transitivePeerDependencies: - - supports-color - - /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents/1.2.13: - resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} - engines: {node: '>= 4.0'} - os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 - requiresBuild: true - dependencies: - bindings: 1.5.0 - nan: 2.18.0 + - supports-color dev: true - optional: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} /fsevents/2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -7171,6 +7310,7 @@ packages: /function-bind/1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true /function.prototype.name/1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} @@ -7180,6 +7320,7 @@ packages: define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 + dev: true /functional-red-black-tree/1.0.1: resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} @@ -7187,6 +7328,7 @@ packages: /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true /fuse.js/6.6.2: resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} @@ -7207,13 +7349,6 @@ packages: wide-align: 1.1.5 dev: true - /gaze/0.5.2: - resolution: {integrity: sha512-3IWbXGkDDHFX8zIlNdfnmhvlSMhpBO6tDr4InB8fGku6dh/gjFPGNqcdsXJajZg05x9jRzXbL6gCnCnuMap4tw==} - engines: {node: '>= 0.8.0'} - dependencies: - globule: 0.1.0 - dev: true - /gensync/1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -7223,10 +7358,6 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-comments/1.0.1: - resolution: {integrity: sha512-u/Ij3+hjpjxdTSRoIyk+Nqw26dWBWOWPlGf/6AekBK6DPIx1trq8u3LFftiWoLJ2e5wDjtE2n3IUf1MgxN+2kg==} - dev: true - /get-intrinsic/1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -7234,6 +7365,7 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 + dev: true /get-stdin/4.0.1: resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} @@ -7270,6 +7402,7 @@ packages: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 + dev: true /get-value/2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} @@ -7285,24 +7418,6 @@ packages: engines: {node: '>= 4.0'} dev: true - /github-url-from-git/1.5.0: - resolution: {integrity: sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==} - dev: true - - /glob-base/0.3.0: - resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} - engines: {node: '>=0.10.0'} - dependencies: - glob-parent: 2.0.0 - is-glob: 2.0.1 - dev: true - - /glob-parent/2.0.0: - resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} - dependencies: - is-glob: 2.0.1 - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -7310,46 +7425,10 @@ packages: is-glob: 4.0.3 dev: true - /glob-stream/4.1.1: - resolution: {integrity: sha512-P/IscjTmgjOQ53stHEjq2QUzTqcdBOzxL/Cif8SYad+Kb8IgqjYlggefqCSi33Vg5Ey1tx1pn+pyE+tRtf8j1A==} - engines: {node: '>= 0.9'} - dependencies: - glob: 4.5.3 - glob2base: 0.0.12 - minimatch: 2.0.10 - ordered-read-streams: 0.1.0 - through2: 0.6.5 - unique-stream: 2.3.1 - dev: true - /glob-to-regexp/0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true - /glob-watcher/0.0.8: - resolution: {integrity: sha512-Wbq7bkUwTSc3L25dKq3CPpFaaeYxARAUJtEUeNMmjcDOwQl6T2CI3blthbfLP5BCiYbAX7c/eSxZ3M1R+bPnDw==} - engines: {node: '>= 0.9'} - dependencies: - gaze: 0.5.2 - dev: true - - /glob/3.1.21: - resolution: {integrity: sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==} - dependencies: - graceful-fs: 1.2.3 - inherits: 1.0.2 - minimatch: 0.2.14 - dev: true - - /glob/4.5.3: - resolution: {integrity: sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==} - dependencies: - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 2.0.10 - once: 1.4.0 - dev: true - /glob/5.0.15: resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} dependencies: @@ -7358,15 +7437,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - - /glob/6.0.4: - resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} - dependencies: - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 dev: true /glob/7.2.3: @@ -7390,13 +7460,6 @@ packages: once: 1.4.0 dev: true - /glob2base/0.0.12: - resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} - engines: {node: '>= 0.10'} - dependencies: - find-index: 0.1.1 - dev: true - /global-modules/1.0.0: resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} engines: {node: '>=0.10.0'} @@ -7417,10 +7480,6 @@ packages: which: 1.3.1 dev: true - /globals-docs/2.4.1: - resolution: {integrity: sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==} - dev: true - /globals/11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -7432,16 +7491,12 @@ packages: type-fest: 0.20.2 dev: true - /globals/6.4.1: - resolution: {integrity: sha512-Lh7H0bYRNBMc2CapY+TYsCzcSM4HWHGFoQORuEcePk3y3IhpaZmFSJDirhNYSwq8QeHvaCqV/tHI2bdUhYryuw==} - engines: {node: '>=0.10.0'} - dev: true - /globalthis/1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 + dev: true /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} @@ -7461,6 +7516,20 @@ packages: slash: 3.0.0 dev: true + /globby/10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + glob: 7.2.3 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -7484,35 +7553,15 @@ packages: slash: 4.0.0 dev: true - /globby/4.1.0: - resolution: {integrity: sha512-JPDtMSr0bt25W64q792rvlrSwIaZwqUAhqdYKSr57Wh/xBcQ5JDWLM85ndn+Q1WdBQXLb9YGCl0QN/T0HpqU0A==} - engines: {node: '>=0.10.0'} - dependencies: - array-union: 1.0.2 - arrify: 1.0.1 - glob: 6.0.4 - object-assign: 4.1.1 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true - /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true - /globule/0.1.0: - resolution: {integrity: sha512-3eIcA2OjPCm4VvwIwZPzIxCVssA8HSpM2C6c6kK5ufJH4FGwWoyqL3In19uuX4oe+TwH3w2P1nQDmW56iehO4A==} - engines: {node: '>= 0.8.0'} - dependencies: - glob: 3.1.21 - lodash: 1.0.2 - minimatch: 0.2.14 - dev: true - /gopd/1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.2 + dev: true /got/9.6.0: resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} @@ -7533,19 +7582,6 @@ packages: url-parse-lax: 3.0.0 dev: true - /graceful-fs/1.2.3: - resolution: {integrity: sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==} - engines: {node: '>=0.4.0'} - deprecated: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js - dev: true - - /graceful-fs/3.0.12: - resolution: {integrity: sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==} - engines: {node: '>=0.4.0'} - dependencies: - natives: 1.1.6 - dev: true - /graceful-fs/4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -7553,19 +7589,12 @@ packages: resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} dev: true - /growly/1.3.0: - resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + /graphemer/1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /handlebars/3.0.8: - resolution: {integrity: sha512-frzSzoxbJZSB719r+lM3UFKrnHIY6VPY/j47+GNOHVnBHxO+r+Y/iDjozAbj1SztmmMpr2CcZY6rLeN5mqX8zA==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - optimist: 0.6.1 - source-map: 0.1.43 - optionalDependencies: - uglify-js: 2.8.29 + /growly/1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} dev: true /handlebars/4.7.8: @@ -7597,6 +7626,7 @@ packages: /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -7611,20 +7641,24 @@ packages: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: get-intrinsic: 1.2.2 + dev: true /has-proto/1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + dev: true /has-symbols/1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: true /has-tostringtag/1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true /has-unicode/2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} @@ -7661,11 +7695,6 @@ packages: kind-of: 4.0.0 dev: true - /has/1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - dev: true - /hash-for-dep/1.5.1: resolution: {integrity: sha512-/dQ/A2cl7FBPI2pO0CANkvuuVi/IFS5oTyJ0PsOb6jW6WbVW1js5qJXMJTNbWHXBIPdFTWFbabjB+mE0d+gelw==} dependencies: @@ -7677,16 +7706,13 @@ packages: resolve-package-path: 1.2.7 transitivePeerDependencies: - supports-color + dev: true /hasown/2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - - /he/0.5.0: - resolution: {integrity: sha512-DoufbNNOFzwRPy8uecq+j+VCPQ+JyDelHTmSgygrA5TsR8Cbw4Qcir5sGtWiusB4BdT89nmlaVDhSJOqC/33vw==} - hasBin: true dev: true /heimdalljs-fs-monitor/1.1.1: @@ -7719,19 +7745,6 @@ packages: dependencies: rsvp: 3.2.1 - /highlight.js/8.9.1: - resolution: {integrity: sha512-t2PInfxDlvHEk4yROFNv4w53D2DtdRAO8Oz9GUVOHE/Wu9IPSKjZLO6Pjvl3vAX77sBpPuBAupQbqF6TFfErEw==} - deprecated: Version no longer supported. Upgrade to @latest - dev: true - - /home-or-tmp/1.0.0: - resolution: {integrity: sha512-6LKQZpR6gk8uJ3mXbBkyOumsA24BUk9CH/79ivZ8Kk1urzlXNGZBoAMuieC/YzwCyGBVqq+uCNUpA1JS6glrxg==} - engines: {node: '>=0.10.0'} - dependencies: - os-tmpdir: 1.0.2 - user-home: 1.1.1 - dev: true - /homedir-polyfill/1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -7753,13 +7766,6 @@ packages: whatwg-encoding: 1.0.5 dev: true - /html-encoding-sniffer/3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - dependencies: - whatwg-encoding: 2.0.0 - dev: true - /http-cache-semantics/4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true @@ -7800,17 +7806,6 @@ packages: - supports-color dev: true - /http-proxy-agent/5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /http-proxy/1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} @@ -7853,13 +7848,6 @@ packages: safer-buffer: 2.1.2 dev: true - /iconv-lite/0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - /icss-utils/5.1.0_postcss@8.4.33: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} @@ -7904,6 +7892,11 @@ packages: resolution: {integrity: sha512-KlpXnsZOrBGo4PPKqPFi3Ft6dcRyh8fTaqgzqDRi8jKAsngJEWWOxeFIWC8EfZtXKaZqlsNf9XRwcQ49DVgl/g==} dev: true + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + /inflection/1.13.4: resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} engines: {'0': node >= 0.4.0} @@ -7920,10 +7913,6 @@ packages: once: 1.4.0 wrappy: 1.0.2 - /inherits/1.0.2: - resolution: {integrity: sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==} - dev: true - /inherits/2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} dev: true @@ -8012,10 +8001,6 @@ packages: get-intrinsic: 1.2.2 hasown: 2.0.0 side-channel: 1.0.4 - - /invert-kv/1.0.0: - resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} - engines: {node: '>=0.10.0'} dev: true /invert-kv/3.0.1: @@ -8028,19 +8013,6 @@ packages: engines: {node: '>= 0.10'} dev: true - /irregular-plurals/1.4.0: - resolution: {integrity: sha512-kniTIJmaZYiwa17eTtWIfm0K342seyugl6vuC8DiiyiRAJWAVlLkqGCI0Im0neo0TkXw+pRcKaBPRdcKHnQJ6Q==} - engines: {node: '>=0.10.0'} - dev: true - - /is-absolute/0.2.6: - resolution: {integrity: sha512-7Kr05z5LkcOpoMvxHN1PC11WbPabdNFmMYYo0eZvWu3BfVS0T03yoqYDczoCBx17xqk2x1XAZrcKiFVL88jxlQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-relative: 0.2.1 - is-windows: 0.2.0 - dev: true - /is-accessor-descriptor/1.0.1: resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} engines: {node: '>= 0.10'} @@ -8054,17 +8026,12 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.13 + dev: true /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 - - /is-binary-path/1.0.1: - resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} - engines: {node: '>=0.10.0'} - dependencies: - binary-extensions: 1.13.1 dev: true /is-binary-path/2.1.0: @@ -8080,6 +8047,7 @@ packages: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.2 + dev: true /is-buffer/1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} @@ -8088,11 +8056,13 @@ packages: /is-callable/1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} + dev: true /is-core-module/2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 + dev: true /is-data-descriptor/1.0.1: resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} @@ -8106,6 +8076,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true /is-descriptor/0.1.7: resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} @@ -8129,18 +8100,6 @@ packages: hasBin: true dev: true - /is-dotfile/1.0.3: - resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} - engines: {node: '>=0.10.0'} - dev: true - - /is-equal-shallow/0.1.3: - resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} - engines: {node: '>=0.10.0'} - dependencies: - is-primitive: 2.0.0 - dev: true - /is-extendable/0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -8153,28 +8112,11 @@ packages: is-plain-object: 2.0.4 dev: true - /is-extglob/1.0.0: - resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} - engines: {node: '>=0.10.0'} - dev: true - /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true - /is-finite/1.1.0: - resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point/1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} - dependencies: - number-is-nan: 1.0.1 - dev: true - /is-fullwidth-code-point/2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} engines: {node: '>=4'} @@ -8190,13 +8132,6 @@ packages: engines: {node: '>=0.8'} dev: true - /is-glob/2.0.1: - resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 1.0.0 - dev: true - /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -8204,12 +8139,6 @@ packages: is-extglob: 2.1.1 dev: true - /is-integer/1.0.7: - resolution: {integrity: sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg==} - dependencies: - is-finite: 1.1.0 - dev: true - /is-interactive/1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -8224,18 +8153,13 @@ packages: /is-negative-zero/2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + dev: true /is-number-object/1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 - - /is-number/2.1.0: - resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 dev: true /is-number/3.0.0: @@ -8245,11 +8169,6 @@ packages: kind-of: 3.2.2 dev: true - /is-number/4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -8260,6 +8179,16 @@ packages: engines: {node: '>=8'} dev: true + /is-path-cwd/2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj/2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -8272,18 +8201,14 @@ packages: isobject: 3.0.1 dev: true - /is-posix-bracket/0.1.1: - resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-primitive/2.0.0: - resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} - engines: {node: '>=0.10.0'} + /is-reference/1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + dependencies: + '@types/estree': 1.0.5 dev: true /is-regex/1.1.4: @@ -8292,18 +8217,13 @@ packages: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.2 - - /is-relative/0.2.1: - resolution: {integrity: sha512-9AMzjRmLqcue629b4ezEVSK6kJsYJlUIhMcygmYORUgwUNJiavHcC3HkaGx0XYpyVKQSOqFbMEZmW42cY87sYw==} - engines: {node: '>=0.10.0'} - dependencies: - is-unc-path: 0.1.2 dev: true /is-shared-array-buffer/1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.5 + dev: true /is-stream/1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} @@ -8320,12 +8240,14 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true /is-symbol/1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true /is-type/0.0.1: resolution: {integrity: sha512-YwJh/zBVrcJ90aAnPBM0CbHvm7lG9ao7lIFeqTZ1UQj4iFLpM5CikdaU+dGGesrMJwxLqPGmjjrUrQ6Kn3Zh+w==} @@ -8338,35 +8260,21 @@ packages: engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.14 + dev: true /is-typedarray/1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true - /is-unc-path/0.1.2: - resolution: {integrity: sha512-HhLc5VDMH4pu3oMtIuunz/DFQUIoR561kMME3U3Afhj8b7vH085vkIkemrz1kLXCEIuoMAmO3yVmafWdSbGW8w==} - engines: {node: '>=0.10.0'} - dependencies: - unc-path-regex: 0.1.2 - dev: true - /is-unicode-supported/0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} dev: true - /is-utf8/0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - /is-weakref/1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.5 - - /is-windows/0.2.0: - resolution: {integrity: sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==} - engines: {node: '>=0.10.0'} dev: true /is-windows/1.0.2: @@ -8387,9 +8295,11 @@ packages: /isarray/1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true /isarray/2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true /isbinaryfile/5.0.0: resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} @@ -8405,6 +8315,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: isarray: 1.0.0 + dev: true /isobject/3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} @@ -8418,6 +8329,7 @@ packages: binaryextensions: 2.3.0 editions: 1.3.4 textextensions: 2.6.0 + dev: true /istextorbinary/2.6.0: resolution: {integrity: sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==} @@ -8426,12 +8338,13 @@ packages: binaryextensions: 2.3.0 editions: 2.3.1 textextensions: 2.6.0 + dev: true /jest-worker/27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.19.14 + '@types/node': 20.11.16 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -8440,10 +8353,6 @@ packages: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} engines: {node: '>= 0.8'} - /js-tokens/1.0.1: - resolution: {integrity: sha512-WKqed1YxjsT7sGqM2IdbkJHnA3rXHqFqN+4xUy973UeYNjSXZCKM3G/zUmPNYut/6D9QCUbqegDmUCQRdm0lnQ==} - dev: true - /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -8468,10 +8377,6 @@ packages: xmlcreate: 2.0.4 dev: true - /jsdoc-inline-lex/1.0.1: - resolution: {integrity: sha512-D8QsuIPYpYo9c2N6oHhrKbQIJQ4M010DJlbQi2jOmK4gG747Pu2a9K4n/fb7dQH8Z2Q3fcv3aLKFzGjJm1SxxQ==} - dev: true - /jsdoc/3.6.11: resolution: {integrity: sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==} engines: {node: '>=12.0.0'} @@ -8514,49 +8419,7 @@ packages: escodegen: 2.1.0 form-data: 3.0.1 html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.1.3 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.9 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /jsdom/19.0.0: - resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==} - engines: {node: '>=12'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - abab: 2.0.6 - acorn: 8.11.3 - acorn-globals: 6.0.0 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 - decimal.js: 10.4.3 - domexception: 4.0.0 - escodegen: 2.1.0 - form-data: 4.0.0 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 + http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.7 @@ -8565,22 +8428,28 @@ packages: symbol-tree: 3.2.4 tough-cookie: 4.1.3 w3c-hr-time: 1.0.2 - w3c-xmlserializer: 3.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 10.0.0 - ws: 8.16.0 - xml-name-validator: 4.0.0 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.9 + xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: true + /jsesc/0.3.0: + resolution: {integrity: sha512-UHQmAeTXV+iwEk0aHheJRqo6Or90eDxI6KIYpHSjKLXKuKlPt1CQ7tGBerFcFA8uKU5mYxiPMlckmFptd5XZzA==} + hasBin: true + dev: true + /jsesc/0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true + dev: true /jsesc/2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} @@ -8619,15 +8488,12 @@ packages: isarray: 2.0.5 jsonify: 0.0.1 object-keys: 1.1.1 - - /json5/0.4.0: - resolution: {integrity: sha512-5EEuuI7oad0d6c2PcrTRLoLH2JNuI/aJxHsVT2hVFK6fKHu+MXONdhzzzNAlb3JXMeuN1o+kDU78fV1YH6VmKQ==} - hasBin: true dev: true /json5/0.5.1: resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} hasBin: true + dev: true /json5/2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} @@ -8654,10 +8520,6 @@ packages: /jsonify/0.0.1: resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - - /jsonparse/1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} dev: true /just-extend/6.2.0: @@ -8712,18 +8574,6 @@ packages: language-subtag-registry: 0.3.22 dev: true - /lazy-cache/1.0.4: - resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} - engines: {node: '>=0.10.0'} - dev: true - - /lcid/1.0.0: - resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} - engines: {node: '>=0.10.0'} - dependencies: - invert-kv: 1.0.0 - dev: true - /lcid/3.1.1: resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==} engines: {node: '>=8'} @@ -8741,20 +8591,6 @@ packages: - supports-color dev: true - /leven/1.0.2: - resolution: {integrity: sha512-U3eIzC2mMAOMOuoJ25sA3eyraoBwndpQyYgBq5dyqrMTpvMg9l9X/ucFHxv622YcCg179WWqleoF7rSzfYrV+Q==} - engines: {node: '>=0.10.0'} - hasBin: true - dev: true - - /levn/0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: true - /levn/0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -8768,6 +8604,7 @@ packages: dependencies: isarray: 1.0.0 isobject: 2.1.0 + dev: true /linkify-it/3.0.3: resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} @@ -8803,12 +8640,17 @@ packages: resolution: {integrity: sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==} dev: true + /locate-character/2.0.5: + resolution: {integrity: sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==} + dev: true + /locate-path/2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} dependencies: p-locate: 2.0.0 path-exists: 3.0.0 + dev: true /locate-path/3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} @@ -8830,6 +8672,7 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true /locate-path/7.2.0: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} @@ -8912,6 +8755,7 @@ packages: /lodash.debounce/4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true /lodash.defaultsdeep/4.6.1: resolution: {integrity: sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==} @@ -8928,6 +8772,10 @@ packages: lodash._isiterateecall: 3.0.9 dev: true + /lodash.foreach/4.5.0: + resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} + dev: true + /lodash.get/4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: true @@ -8952,6 +8800,10 @@ packages: lodash.isarray: 3.0.4 dev: true + /lodash.memoize/4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true + /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -8989,25 +8841,9 @@ packages: resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} dev: true - /lodash/1.0.2: - resolution: {integrity: sha512-0VSEDVec/Me2eATuoiQd8IjyBMMX0fahob8YJ96V1go2RjvCk1m1GxmtfXn8RNSaLaTtop7fsuhhu9oLk3hUgA==} - engines: {'0': node, '1': rhino} - dev: true - - /lodash/3.10.1: - resolution: {integrity: sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==} - dev: true - /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-symbols/1.0.2: - resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} - engines: {node: '>=0.10.0'} - dependencies: - chalk: 1.1.3 - dev: true - /log-symbols/2.2.0: resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} engines: {node: '>=4'} @@ -9023,23 +8859,6 @@ packages: is-unicode-supported: 0.1.0 dev: true - /log-update/1.0.2: - resolution: {integrity: sha512-4vSow8gbiGnwdDNrpy1dyNaXWKSCIPop0EHdE8GrnngHoJujM3QhvHUN/igsYCgPoHo7pFOezlJ61Hlln0KHyA==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-escapes: 1.4.0 - cli-cursor: 1.0.2 - dev: true - - /longest-streak/1.0.0: - resolution: {integrity: sha512-84jGpz/1j02Xm/L4y4uEXGxFFPHFabKjMHQ+rEPi0gPQbD5p0J3aZomvk0ZpUPpTtcVqhtSEq+4WNQbJjWiZ1Q==} - dev: true - - /longest/1.0.1: - resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} - engines: {node: '>=0.10.0'} - dev: true - /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: @@ -9056,10 +8875,6 @@ packages: engines: {node: '>=8'} dev: true - /lru-cache/2.7.3: - resolution: {integrity: sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==} - dev: true - /lru-cache/5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -9076,16 +8891,17 @@ packages: engines: {node: '>=12'} dev: true - /magic-string/0.22.5: - resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} + /magic-string/0.24.1: + resolution: {integrity: sha512-YBfNxbJiixMzxW40XqJEIldzHyh5f7CZKalo1uZffevyrPEX8Qgo9s0dmcORLHdV47UyvJg8/zD+6hQG3qvJrA==} dependencies: - vlq: 0.2.3 + sourcemap-codec: 1.4.8 dev: true /magic-string/0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 + dev: true /magic-string/0.30.6: resolution: {integrity: sha512-n62qCLbPjNjyo+owKtveQxZFZTBm+Ms6YoGD23Wew6Vw337PElFNifQpknPruVRQV57kVShPnLGo9vWxVhpPvA==} @@ -9170,10 +8986,6 @@ packages: uc.micro: 1.0.6 dev: true - /markdown-table/0.4.0: - resolution: {integrity: sha512-9i/E3ZtVAoaDulRQjoPseX2X5pBNdeR8MInQb57JFvCAq4glz/w2q31eL0NHMKOntzy2D6X3plZDH4+OGuz5Fw==} - dev: true - /marked/4.3.0: resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} @@ -9184,6 +8996,7 @@ packages: resolution: {integrity: sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==} dependencies: minimatch: 3.1.2 + dev: true /matcher-collection/2.0.1: resolution: {integrity: sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==} @@ -9192,87 +9005,6 @@ packages: '@types/minimatch': 3.0.5 minimatch: 3.1.2 - /math-random/1.0.4: - resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} - dev: true - - /md5-hex/3.0.1: - resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} - engines: {node: '>=8'} - dependencies: - blueimp-md5: 2.19.0 - dev: true - - /mdast-html/1.2.1: - resolution: {integrity: sha512-509npBFZI5W6+ptqFNUFfPW9qp4jW4wKdKB2v8LGIVoQg00VyJG3DgxTcuP1wT/uYuatioSRju412xHU5HdVxQ==} - dependencies: - collapse-white-space: 1.0.6 - detab: 1.0.2 - normalize-uri: 1.1.3 - object-assign: 4.1.1 - trim: 0.0.1 - trim-lines: 1.1.3 - unist-util-visit: 1.4.1 - dev: true - - /mdast-slug/2.0.0: - resolution: {integrity: sha512-vK4nG5RXRruea05So8e9Hys8LW6heqecI6lOyVJ3zq5MVhxFAexHY4eFG79Ey/tfnip9bXI39jrSC6R5ku9jMw==} - dependencies: - mdast-util-to-string: 1.1.0 - repeat-string: 1.6.1 - slugg: 0.1.2 - unist-util-visit: 1.4.1 - dev: true - - /mdast-toc/1.2.0: - resolution: {integrity: sha512-jbDEXHbKk5vCwD6hvhrKEcfVypsCxktpijRQ20eWOnD1q3KIOFQd6icXXEcLJEd9fkamXXHw9giFyoq1qHJYRQ==} - dependencies: - mdast-slug: 2.0.0 - mdast-util-to-string: 1.1.0 - dev: true - - /mdast-util-to-string/1.1.0: - resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} - dev: true - - /mdast/2.3.2: - resolution: {integrity: sha512-GyTRTczR3uAbXpxy56FOBXQueq3WST8aBG0T/xoV8jGBBr2YBLDhsCHyEuXg/yILWHLvqG4F54BKsLTyIKLX/w==} - hasBin: true - dependencies: - camelcase: 2.1.1 - ccount: 1.1.0 - chalk: 1.1.3 - chokidar: 1.7.0 - collapse-white-space: 1.0.6 - commander: 2.20.3 - concat-stream: 1.6.2 - debug: 2.6.9 - elegant-spinner: 1.0.1 - extend.js: 0.0.2 - glob: 6.0.4 - globby: 4.1.0 - he: 0.5.0 - log-update: 1.0.2 - longest-streak: 1.0.0 - markdown-table: 0.4.0 - minimatch: 3.1.2 - npm-prefix: 1.2.0 - repeat-string: 1.6.1 - text-table: 0.2.0 - to-vfile: 1.0.0 - trim: 0.0.1 - trim-trailing-lines: 1.1.4 - unified: 2.1.4 - user-home: 2.0.0 - vfile: 1.4.0 - vfile-find-down: 1.0.0 - vfile-find-up: 1.0.0 - vfile-reporter: 1.5.0 - ware: 1.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /mdn-data/2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true @@ -9305,35 +9037,10 @@ packages: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true - /merge-source-map/1.0.4: - resolution: {integrity: sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==} - dependencies: - source-map: 0.5.7 - dev: true - - /merge-stream/0.1.8: - resolution: {integrity: sha512-ivGsLZth/AkvevAzPlRLSie8Q3GdyH/5xUYgn+ItAJYslT0NsKd2cxx0bAjmqoY5swX0NoWJjvkDkfpaVZx9lw==} - dependencies: - through2: 0.6.5 - dev: true - /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true - /merge-trees/1.0.1: - resolution: {integrity: sha512-O7TWwipLHhc9tErjq3WBvNP7I1g7Wgudl1ZkLqpT7F2MZy1yEdgnI9cpZZxBaqk+wJZu+2b9FE7D3ubUmGFHFA==} - dependencies: - can-symlink: 1.0.0 - fs-tree-diff: 0.5.9 - heimdalljs: 0.2.6 - heimdalljs-logger: 0.1.10 - rimraf: 2.7.1 - symlink-or-copy: 1.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /merge-trees/2.0.0: resolution: {integrity: sha512-5xBbmqYBalWqmhYm51XlohhkmVOua3VAUrrWh8t9iOkaLpS6ifqm/UVuUjQCeDVJ9Vx3g2l6ihfkbLSTeKsHbw==} dependencies: @@ -9341,6 +9048,7 @@ packages: heimdalljs: 0.2.6 transitivePeerDependencies: - supports-color + dev: true /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -9352,25 +9060,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /micromatch/2.3.11: - resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 2.0.0 - array-unique: 0.2.1 - braces: 1.8.5 - expand-brackets: 0.1.5 - extglob: 0.3.2 - filename-regex: 2.0.1 - is-extglob: 1.0.0 - is-glob: 2.0.1 - kind-of: 3.2.2 - normalize-path: 2.1.1 - object.omit: 2.0.1 - parse-glob: 3.0.4 - regex-cache: 0.4.4 - dev: true - /micromatch/3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -9444,21 +9133,6 @@ packages: webpack: 5.90.1 dev: true - /minimatch/0.2.14: - resolution: {integrity: sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==} - deprecated: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue - dependencies: - lru-cache: 2.7.3 - sigmund: 1.0.1 - dev: true - - /minimatch/2.0.10: - resolution: {integrity: sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==} - deprecated: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue - dependencies: - brace-expansion: 1.1.11 - dev: true - /minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -9471,8 +9145,11 @@ packages: brace-expansion: 2.0.1 dev: true - /minimist/0.0.10: - resolution: {integrity: sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==} + /minimatch/9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 dev: true /minimist/0.2.4: @@ -9481,6 +9158,7 @@ packages: /minimist/1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true /minipass/2.9.0: resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} @@ -9502,6 +9180,7 @@ packages: hasBin: true dependencies: minimist: 1.2.8 + dev: true /mkdirp/1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} @@ -9519,27 +9198,6 @@ packages: resolution: {integrity: sha512-IXnMcJ6ZyTuhRmJSjzvHSRhlVPiN9Jwc6e59V0bEJ0ba6OBeX2L0E+mRN1QseeOF4mM+F1Rit6Nh7o+rl2Yn/A==} engines: {node: '>0.9'} - /module-deps/3.9.1: - resolution: {integrity: sha512-EbWWlSGaCVidEsLsSzkY6l/jm0IcGDSQ8tGwtjM8joTrxqxP0om02Px9Np8D7FMZ/vZFdsOGbio+WqkKQxYuTA==} - engines: {node: '>= 0.6'} - hasBin: true - dependencies: - JSONStream: 1.3.5 - browser-resolve: 1.11.3 - concat-stream: 1.4.11 - defined: 1.0.1 - detective: 4.7.1 - duplexer2: 0.0.2 - inherits: 2.0.4 - parents: 1.0.1 - readable-stream: 1.1.14 - resolve: 1.22.8 - stream-combiner2: 1.0.2 - subarg: 1.0.0 - through2: 1.1.1 - xtend: 4.0.2 - dev: true - /morgan/1.10.0: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} @@ -9580,11 +9238,6 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nan/2.18.0: - resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} - dev: true - optional: true - /nanoid/3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -9610,11 +9263,6 @@ packages: - supports-color dev: true - /natives/1.1.6: - resolution: {integrity: sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==} - deprecated: This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x. - dev: true - /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -9707,15 +9355,15 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-uri/1.1.3: - resolution: {integrity: sha512-ECNgiM5IAeZNuXYu5kF4JV8t+MSFixHsvjexQtf/bLTOsL+KycDv3pod1a88N8uHtzsktYLRX6cAawg4aHeLVQ==} - dev: true - /normalize-url/4.5.1: resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} engines: {node: '>=8'} dev: true + /npm-git-info/1.0.3: + resolution: {integrity: sha512-i5WBdj4F/ULl16z9ZhsJDMl1EQCMQhHZzBwNnKL2LOA+T8IHNeRkLCVz9uVV9SzUdGTbDq+1oXhIYMe+8148vw==} + dev: true + /npm-package-arg/10.1.0: resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -9726,14 +9374,6 @@ packages: validate-npm-package-name: 5.0.0 dev: true - /npm-prefix/1.2.0: - resolution: {integrity: sha512-EkGZ7jtA2onsULFpnZ/P5S0DPy8w9qH1TVytPhY54s+dmtLXBmp1evt8W9nfg5JEay24K3bX9WWTIHR8WQcOJA==} - dependencies: - rc: 1.2.8 - shellsubstitute: 1.2.0 - untildify: 2.1.0 - dev: true - /npm-run-path/2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -9765,20 +9405,10 @@ packages: set-blocking: 2.0.0 dev: true - /number-is-nan/1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} - dev: true - /nwsapi/2.2.7: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} dev: true - /object-assign/2.1.1: - resolution: {integrity: sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==} - engines: {node: '>=0.10.0'} - dev: true - /object-assign/4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -9795,17 +9425,16 @@ packages: /object-hash/1.3.1: resolution: {integrity: sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==} engines: {node: '>= 0.10.0'} + dev: true /object-inspect/1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - - /object-inspect/1.4.1: - resolution: {integrity: sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==} dev: true /object-keys/1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + dev: true /object-visit/1.0.1: resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} @@ -9822,13 +9451,6 @@ packages: define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - - /object.omit/2.0.1: - resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} - engines: {node: '>=0.10.0'} - dependencies: - for-own: 0.1.5 - is-extendable: 0.1.1 dev: true /object.pick/1.3.0: @@ -9862,11 +9484,6 @@ packages: dependencies: wrappy: 1.0.2 - /onetime/1.1.0: - resolution: {integrity: sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==} - engines: {node: '>=0.10.0'} - dev: true - /onetime/2.0.1: resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} engines: {node: '>=4'} @@ -9881,25 +9498,6 @@ packages: mimic-fn: 2.1.0 dev: true - /optimist/0.6.1: - resolution: {integrity: sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==} - dependencies: - minimist: 0.0.10 - wordwrap: 0.0.3 - dev: true - - /optionator/0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.5 - dev: true - /optionator/0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -9939,22 +9537,11 @@ packages: wcwidth: 1.0.1 dev: true - /ordered-read-streams/0.1.0: - resolution: {integrity: sha512-PMX5ehiNri4+lgk9fl09xuPeciGmyPyVUSBwwPT4C/3EHGxoVf7UdgKDE3SLBD4pUDmlzrg1L1cK5igrp+Tyuw==} - dev: true - /os-homedir/1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} dev: true - /os-locale/1.4.0: - resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==} - engines: {node: '>=0.10.0'} - dependencies: - lcid: 1.0.0 - dev: true - /os-locale/5.0.0: resolution: {integrity: sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==} engines: {node: '>=10'} @@ -9967,6 +9554,7 @@ packages: /os-tmpdir/1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} + dev: true /osenv/0.1.5: resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} @@ -9975,14 +9563,6 @@ packages: os-tmpdir: 1.0.2 dev: true - /output-file-sync/1.1.2: - resolution: {integrity: sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==} - dependencies: - graceful-fs: 4.2.11 - mkdirp: 0.5.6 - object-assign: 4.1.1 - dev: true - /p-cancelable/1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} @@ -10018,6 +9598,7 @@ packages: engines: {node: '>=4'} dependencies: p-try: 1.0.0 + dev: true /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} @@ -10031,6 +9612,7 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-limit/4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -10044,6 +9626,7 @@ packages: engines: {node: '>=4'} dependencies: p-limit: 1.3.0 + dev: true /p-locate/3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} @@ -10064,6 +9647,7 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true /p-locate/6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} @@ -10072,9 +9656,17 @@ packages: p-limit: 4.0.0 dev: true + /p-map/3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + /p-try/1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} + dev: true /p-try/2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} @@ -10098,35 +9690,9 @@ packages: callsites: 3.1.0 dev: true - /parents/1.0.1: - resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} - dependencies: - path-platform: 0.11.15 - dev: true - - /parse-filepath/0.6.3: - resolution: {integrity: sha512-/8L5NPcGFMlZZ05LhvyKDQkCb8nX/5DPad9ZGvXrpAyGfk4Fop0PCEyCnwnB7PgnSW2JLCSId0ZNrBo7iAhXYQ==} - engines: {node: '>=0.8'} - dependencies: - is-absolute: 0.2.6 - map-cache: 0.2.2 - dev: true - - /parse-git-config/0.2.0: - resolution: {integrity: sha512-amapZFADOJtHvX2URcRfbzG2OFcW+UAwmdK2kht2N2vsH5Py65VxI5yZTlD2DjmxVhTz6htFoVCxROYUJaYOXQ==} - engines: {node: '>=0.10.0'} - dependencies: - ini: 1.3.8 - dev: true - - /parse-glob/3.0.4: - resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} + /parse-ms/1.0.1: + resolution: {integrity: sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==} engines: {node: '>=0.10.0'} - dependencies: - glob-base: 0.3.0 - is-dotfile: 1.0.3 - is-extglob: 1.0.0 - is-glob: 2.0.1 dev: true /parse-passwd/1.0.0: @@ -10136,6 +9702,7 @@ packages: /parse-static-imports/1.1.0: resolution: {integrity: sha512-HlxrZcISCblEV0lzXmAHheH/8qEkKgmqkdxyHTPbSqsTUV8GzqmN1L+SSti+VbNPfbBO3bYLPHDiUs2avbAdbA==} + dev: true /parse5/6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -10151,18 +9718,15 @@ packages: engines: {node: '>=0.10.0'} dev: true - /path-exists/1.0.0: - resolution: {integrity: sha512-BD2vrQBPFI3VkVKzTrOmaG2WtPQoduNXu1A5tLYMOW8RN6G9CdhdSkmw+ljxUkJcj4pbXQGw0lzl7MFLnhba9Q==} - engines: {node: '>=0.10.0'} - dev: true - /path-exists/3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} + dev: true /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + dev: true /path-exists/5.0.0: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} @@ -10185,10 +9749,6 @@ packages: /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - /path-platform/0.11.15: - resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} - engines: {node: '>= 0.8.0'} dev: true /path-posix/1.0.0: @@ -10225,11 +9785,6 @@ packages: engines: {node: '>=8.6'} dev: true - /pify/2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - /pinkie-promise/2.0.1: resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} @@ -10254,6 +9809,7 @@ packages: engines: {node: '>=4'} dependencies: find-up: 2.1.0 + dev: true /pkg-up/3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} @@ -10262,13 +9818,6 @@ packages: find-up: 3.0.0 dev: true - /plur/2.1.2: - resolution: {integrity: sha512-WhcHk576xg9y/iv6RWOuroZgsqvCbJN+XGvAypCJwLAYs2iWDp5LUmvaCdV6JR2O0SMBf8l6p7A94AyLCFVMlQ==} - engines: {node: '>=0.10.0'} - dependencies: - irregular-plurals: 1.4.0 - dev: true - /portfinder/1.0.32: resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} @@ -10346,34 +9895,10 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 dev: true - - /prelude-ls/1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - dev: true - - /prelude-ls/1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prember/2.0.0: - resolution: {integrity: sha512-mNlTBBTC6ToJAqTG98pPAw9Kbg/yrRql21PoHMn0/MMQvFszR5e6w1NuOP76mfKQLFkHvxsKZcgibwjnRAKeMg==} - engines: {node: 12.* || 14.* || >= 16} - dependencies: - broccoli-debug: 0.6.5 - broccoli-merge-trees: 4.2.0 - broccoli-plugin: 4.0.7 - chalk: 4.1.2 - ember-cli-babel: 7.26.11 - express: 4.18.2 - fastboot: 4.1.2 - mkdirp: 3.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prepend-http/2.0.0: @@ -10381,11 +9906,6 @@ packages: engines: {node: '>=4'} dev: true - /preserve/0.2.0: - resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} - engines: {node: '>=0.10.0'} - dev: true - /prettier-linter-helpers/1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -10399,6 +9919,13 @@ packages: hasBin: true dev: true + /pretty-ms/3.2.0: + resolution: {integrity: sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==} + engines: {node: '>=4'} + dependencies: + parse-ms: 1.0.1 + dev: true + /printf/0.6.1: resolution: {integrity: sha512-is0ctgGdPJ5951KulgfzvHGwJtZ5ck8l042vRkV6jrkpBzTmb/lueTqguWHy2JfVA+RY6gFVlaZgUS0j7S/dsw==} engines: {node: '>= 0.9.0'} @@ -10428,14 +9955,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /process-nextick-args/1.0.7: - resolution: {integrity: sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==} - dev: true - - /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true - /process-relative-require/1.0.0: resolution: {integrity: sha512-r8G5WJPozMJAiv8sDdVWKgJ4In/zBXqwJdMCGAXQt2Kd3HdbAuJVzWYM4JW150hWoaI9DjhtbjcsCCHIMxm8RA==} dependencies: @@ -10451,6 +9970,7 @@ packages: resolution: {integrity: sha512-wx9Chrutvqu1N/NHzTayZjE1BgIwt6SJykQoCOic4IZ9yUDjKyVYrpLa/4YCNsV61eRENfs29hrEquVuB13Zlw==} dependencies: rsvp: 3.6.2 + dev: true /promise-map-series/0.3.0: resolution: {integrity: sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==} @@ -10493,11 +10013,6 @@ packages: engines: {node: '>=6'} dev: true - /q/1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - dev: true - /qs/6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -10549,24 +10064,6 @@ packages: tiny-glob: 0.2.9 dev: true - /quote-stream/1.0.2: - resolution: {integrity: sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==} - hasBin: true - dependencies: - buffer-equal: 0.0.1 - minimist: 1.2.8 - through2: 2.0.5 - dev: true - - /randomatic/3.1.1: - resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} - engines: {node: '>= 0.10.0'} - dependencies: - is-number: 4.0.0 - kind-of: 6.0.3 - math-random: 1.0.4 - dev: true - /randombytes/2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -10615,39 +10112,6 @@ packages: string_decoder: 0.10.31 dev: true - /readable-stream/1.1.14: - resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true - - /readable-stream/2.1.5: - resolution: {integrity: sha512-NkXT2AER7VKXeXtJNSaWLpWIhmtSE3K2PguaLEeWr4JILghcIKqoLt1A3wHrnpDC5+ekf8gfk1GKWkFXe4odMw==} - dependencies: - buffer-shims: 1.0.0 - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 1.0.7 - string_decoder: 0.10.31 - util-deprecate: 1.0.2 - dev: true - - /readable-stream/2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - dev: true - /readable-stream/3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -10657,17 +10121,6 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp/2.2.1: - resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} - engines: {node: '>=0.10'} - dependencies: - graceful-fs: 4.2.11 - micromatch: 3.1.10 - readable-stream: 2.3.8 - transitivePeerDependencies: - - supports-color - dev: true - /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -10675,36 +10128,6 @@ packages: picomatch: 2.3.1 dev: true - /recast/0.10.33: - resolution: {integrity: sha512-RxAVgvgWGzfFYsdc3PB6TM4/cq8HMgBH8PC9r+SkO7j1MeHZvIMxLSVlUhin3sv9wbAy8CMAPXSGSGkWPovyKQ==} - engines: {node: '>= 0.8'} - dependencies: - ast-types: 0.8.12 - esprima-fb: 15001.1001.0-dev-harmony-fb - private: 0.1.8 - source-map: 0.5.7 - dev: true - - /recast/0.10.43: - resolution: {integrity: sha512-GC1g4P336t8WOpzVGFOo83m14xQfHbVqe+eDus+4oubobkWb/kONwMWSG6+K3BUtBOoUdUU+GT9kmNCSOBv9+g==} - engines: {node: '>= 0.8'} - dependencies: - ast-types: 0.8.15 - esprima-fb: 15001.1001.0-dev-harmony-fb - private: 0.1.8 - source-map: 0.5.7 - dev: true - - /recast/0.11.23: - resolution: {integrity: sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==} - engines: {node: '>= 0.8'} - dependencies: - ast-types: 0.9.6 - esprima: 3.1.3 - private: 0.1.8 - source-map: 0.5.7 - dev: true - /recast/0.18.10: resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} engines: {node: '>= 4'} @@ -10715,16 +10138,6 @@ packages: source-map: 0.6.1 dev: true - /recast/0.19.1: - resolution: {integrity: sha512-8FCjrBxjeEU2O6I+2hyHyBFH1siJbMBLwIRvVr1T3FD2cL754sOaJDsJ/8h3xYltasbJ8jqWRIhMuDGBSiSbjw==} - engines: {node: '>= 4'} - dependencies: - ast-types: 0.13.3 - esprima: 4.0.1 - private: 0.1.8 - source-map: 0.6.1 - dev: true - /redeyed/1.0.1: resolution: {integrity: sha512-8eEWsNCkV2rvwKLS1Cvp5agNjMhwRe2um+y32B2+3LqOzg4C9BBPs6vzAfV16Ivb8B9HPNKIqd8OrdBws8kNlQ==} dependencies: @@ -10736,39 +10149,24 @@ packages: engines: {node: '>=4'} dependencies: regenerate: 1.4.2 + dev: true /regenerate/1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true /regenerator-runtime/0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true /regenerator-runtime/0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true /regenerator-transform/0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: '@babel/runtime': 7.23.9 - - /regenerator/0.8.40: - resolution: {integrity: sha512-NsE91xz22nl5JsAwE5kZNmaMaK6g4HipZaGhrQJeVo8DsTwYYONx0TYEm8+7kFIODeuLNQpRsomV1CChmEY5Yg==} - engines: {node: '>= 0.6'} - hasBin: true - dependencies: - commoner: 0.10.8 - defs: 1.1.1 - esprima-fb: 15001.1001.0-dev-harmony-fb - private: 0.1.8 - recast: 0.10.33 - through: 2.3.8 - dev: true - - /regex-cache/0.4.4: - resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-equal-shallow: 0.1.3 dev: true /regex-not/1.0.2: @@ -10786,6 +10184,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 set-function-name: 2.0.1 + dev: true /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} @@ -10802,16 +10201,6 @@ packages: regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 - - /regexpu/1.3.0: - resolution: {integrity: sha512-OqpQCTCcVM6k9IbzxLjNN6TRj3NV7qF4L8zUqsNoeAmmIZp8wH1tdZnn0vNXE2tGNU4ho0xTZWk3FmahOtyMRA==} - hasBin: true - dependencies: - esprima: 2.7.3 - recast: 0.10.43 - regenerate: 1.4.2 - regjsgen: 0.2.0 - regjsparser: 0.1.5 dev: true /registry-auth-token/4.2.2: @@ -10828,35 +10217,18 @@ packages: rc: 1.2.8 dev: true - /regjsgen/0.2.0: - resolution: {integrity: sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==} - dev: true - - /regjsparser/0.1.5: - resolution: {integrity: sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==} - hasBin: true - dependencies: - jsesc: 0.5.0 - dev: true - /regjsparser/0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 + dev: true /remote-git-tags/3.0.0: resolution: {integrity: sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==} engines: {node: '>=8'} dev: true - /remote-origin-url/0.4.0: - resolution: {integrity: sha512-HYhdsT2pNd0LP4Osb0vtQ1iassxIc3Yk1oze7j8dMJFciMkW8e0rdg9E/mOunqtSVHSzvMfwLDIYzPnEDmpk6Q==} - engines: {node: '>= 0.8.0'} - dependencies: - parse-git-config: 0.2.0 - dev: true - /remove-trailing-separator/1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true @@ -10882,19 +10254,6 @@ packages: engines: {node: '>=0.10'} dev: true - /repeating/1.1.3: - resolution: {integrity: sha512-Nh30JLeMHdoI+AsQ5eblhZ7YlTsM9wiJQe/AHIunlK3KWzvXhXb36IJ7K1IOeRjIOtzMjdUHjwXUFxKJoPTSOg==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - is-finite: 1.1.0 - dev: true - - /replace-ext/0.0.1: - resolution: {integrity: sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==} - engines: {node: '>= 0.4'} - dev: true - /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -10905,6 +10264,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-relative/0.8.7: + resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + dev: true + /requireindex/1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -10922,6 +10285,7 @@ packages: /reselect/3.0.1: resolution: {integrity: sha512-b/6tFZCmRhtBMa4xGqiiRp9jh9Aqi2A687Lo265cN0/QohJQEBPiQ52f4QB6i0eF3yp3hmLL21LSGBcML2dlxA==} + dev: true /reselect/4.1.8: resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} @@ -10945,6 +10309,7 @@ packages: dependencies: path-root: 0.1.1 resolve: 1.22.8 + dev: true /resolve-package-path/2.0.0: resolution: {integrity: sha512-/CLuzodHO2wyyHTzls5Qr+EFeG6RcW4u6//gjYvUfcfyuplIX1SSccU+A5A9A78Gmezkl3NBkFAMxLbzTY9TJA==} @@ -10952,6 +10317,7 @@ packages: dependencies: path-root: 0.1.1 resolve: 1.22.8 + dev: true /resolve-package-path/3.1.0: resolution: {integrity: sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA==} @@ -10959,13 +10325,13 @@ packages: dependencies: path-root: 0.1.1 resolve: 1.22.8 + dev: true /resolve-package-path/4.0.3: resolution: {integrity: sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==} engines: {node: '>= 12'} dependencies: path-root: 0.1.1 - dev: true /resolve-path/1.4.0: resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} @@ -10980,10 +10346,6 @@ packages: deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve/1.1.7: - resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} - dev: true - /resolve/1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -10991,6 +10353,7 @@ packages: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true /responselike/1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} @@ -10998,14 +10361,6 @@ packages: lowercase-keys: 1.0.1 dev: true - /restore-cursor/1.0.1: - resolution: {integrity: sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==} - engines: {node: '>=0.10.0'} - dependencies: - exit-hook: 1.1.1 - onetime: 1.1.0 - dev: true - /restore-cursor/2.0.0: resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} engines: {node: '>=4'} @@ -11037,13 +10392,6 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /right-align/0.1.3: - resolution: {integrity: sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==} - engines: {node: '>=0.10.0'} - dependencies: - align-text: 0.1.4 - dev: true - /rimraf/2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} hasBin: true @@ -11063,16 +10411,88 @@ packages: dependencies: glob: 7.2.3 + /rollup-plugin-copy-assets/2.0.3_rollup@4.9.6: + resolution: {integrity: sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w==} + peerDependencies: + rollup: '>=1.1.2' + dependencies: + fs-extra: 7.0.1 + rollup: 4.9.6 + dev: true + + /rollup-plugin-delete/2.0.0: + resolution: {integrity: sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA==} + engines: {node: '>=10'} + dependencies: + del: 5.1.0 + dev: true + + /rollup-pluginutils/2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + dependencies: + estree-walker: 0.6.1 + dev: true + + /rollup/0.57.1: + resolution: {integrity: sha512-I18GBqP0qJoJC1K1osYjreqA8VAKovxuI3I81RSk0Dmr4TgloI0tAULjZaox8OsJ+n7XRrhH6i0G2By/pj1LCA==} + hasBin: true + dependencies: + '@types/acorn': 4.0.6 + acorn: 5.7.4 + acorn-dynamic-import: 3.0.0 + date-time: 2.1.0 + is-reference: 1.2.1 + locate-character: 2.0.5 + pretty-ms: 3.2.0 + require-relative: 0.8.7 + rollup-pluginutils: 2.8.2 + signal-exit: 3.0.7 + sourcemap-codec: 1.4.8 + dev: true + + /rollup/2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /rollup/4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: true + /rsvp/3.2.1: resolution: {integrity: sha512-Rf4YVNYpKjZ6ASAmibcwTNciQ5Co5Ztq6iZPEykHpkoflnD/K5ryE/rHehFsTm4NJj8nKDhbi3eKBWGogmNnkg==} /rsvp/3.6.2: resolution: {integrity: sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==} engines: {node: 0.12.* || 4.* || 6.* || >= 7.*} + dev: true /rsvp/4.8.5: resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} engines: {node: 6.* || >= 7.*} + dev: true /run-async/2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} @@ -11106,6 +10526,7 @@ packages: get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 + dev: true /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -11126,6 +10547,7 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-regex: 1.1.4 + dev: true /safe-regex/1.1.0: resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} @@ -11225,6 +10647,7 @@ packages: /semver/5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true + dev: true /semver/6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -11289,6 +10712,7 @@ packages: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 + dev: true /set-function-name/2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} @@ -11297,6 +10721,7 @@ packages: define-data-property: 1.1.1 functions-have-names: 1.2.3 has-property-descriptors: 1.0.1 + dev: true /set-value/2.0.1: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} @@ -11316,10 +10741,6 @@ packages: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true - /shallow-copy/0.0.1: - resolution: {integrity: sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==} - dev: true - /shebang-command/1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -11348,10 +10769,6 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true - /shellsubstitute/1.2.0: - resolution: {integrity: sha512-CI1ViFC5a3ub86aaBmBVQ7kqg8eFypZLgBh+Bmq+ehHy9g7vu9kqCj5hS82cPzLwfdJRgiPB2hNHnd6oetiakQ==} - dev: true - /shellwords/0.1.1: resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} dev: true @@ -11362,9 +10779,6 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 object-inspect: 1.13.1 - - /sigmund/1.0.1: - resolution: {integrity: sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==} dev: true /signal-exit/3.0.7: @@ -11377,26 +10791,10 @@ packages: debug: 2.6.9 transitivePeerDependencies: - supports-color - - /simple-dom/1.4.0: - resolution: {integrity: sha512-TnBPkmOyjdaOqyBMb4ick+n8c0Xv9Iwg1PykFV7hz9Se3UCiacTbRb+25cPmvozFNJLBUNvUzX/KsPfXF14ivA==} - dependencies: - '@simple-dom/document': 1.4.0 - '@simple-dom/interface': 1.4.0 - '@simple-dom/parser': 1.4.0 - '@simple-dom/serializer': 1.4.0 - '@simple-dom/void-map': 1.4.0 - dev: true - - /simple-fmt/0.1.0: - resolution: {integrity: sha512-9a3zTDDh9LXbTR37qBhACWIQ/mP/ry5xtmbE98BJM8GR02sanCkfMzp7AdCTqYhkBZggK/w7hJtc8Pb9nmo16A==} dev: true /simple-html-tokenizer/0.5.11: resolution: {integrity: sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og==} - - /simple-is/0.2.0: - resolution: {integrity: sha512-GJXhv3r5vdj5tGWO+rcrWgjU2azLB+fb7Ehh3SmZpXE0o4KrrFLti0w4mdDCbR29X/z0Ls20ApjZitlpAXhAeg==} dev: true /sinon/15.2.0: @@ -11411,11 +10809,6 @@ packages: supports-color: 7.2.0 dev: true - /slash/1.0.0: - resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} - engines: {node: '>=0.10.0'} - dev: true - /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -11435,10 +10828,6 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /slugg/0.1.2: - resolution: {integrity: sha512-WiOGSq1OPXvHeAlAblod1NIJsg2ILjSlT+j31kU0fI48lgdmF6zLsIf0nqtk0NW2GlkkkZC7XPYZ4li8odtKjg==} - dev: true - /snake-case/3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: @@ -11478,34 +10867,36 @@ packages: - supports-color dev: true - /socket.io-adapter/2.3.3: - resolution: {integrity: sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==} + /socket.io-adapter/2.5.2: + resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} + dependencies: + ws: 8.11.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /socket.io-parser/4.0.5: - resolution: {integrity: sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==} + /socket.io-parser/4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} dependencies: - '@types/component-emitter': 1.2.14 - component-emitter: 1.3.1 + '@socket.io/component-emitter': 3.1.0 debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /socket.io/4.2.0: - resolution: {integrity: sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==} - engines: {node: '>=10.0.0'} + /socket.io/4.7.4: + resolution: {integrity: sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==} + engines: {node: '>=10.2.0'} dependencies: - '@types/cookie': 0.4.1 - '@types/cors': 2.8.17 - '@types/node': 18.19.14 accepts: 1.3.8 base64id: 2.0.0 + cors: 2.8.5 debug: 4.3.4 - engine.io: 5.2.1 - socket.io-adapter: 2.3.3 - socket.io-parser: 4.0.5 + engine.io: 6.5.4 + socket.io-adapter: 2.5.2 + socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil - supports-color @@ -11544,12 +10935,6 @@ packages: urix: 0.1.0 dev: true - /source-map-support/0.2.10: - resolution: {integrity: sha512-gGKOSat73z0V8wBKo9AGxZZyekczBireh1hHktbt+kb9acsCB5OfVCF2DCWlztcQ3r5oNN7f2BL0B2xOcoJ/DQ==} - dependencies: - source-map: 0.1.32 - dev: true - /source-map-support/0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -11567,13 +10952,6 @@ packages: deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true - /source-map/0.1.32: - resolution: {integrity: sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==} - engines: {node: '>=0.8.0'} - dependencies: - amdefine: 1.0.1 - dev: true - /source-map/0.1.43: resolution: {integrity: sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==} engines: {node: '>=0.8.0'} @@ -11601,13 +10979,24 @@ packages: /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead + dev: true + + /sourcemap-validator/1.1.1: + resolution: {integrity: sha512-pq6y03Vs6HUaKo9bE0aLoksAcpeOo9HZd7I8pI6O480W/zxNZ9U32GfzgtPP0Pgc/K1JHna569nAbOk3X8/Qtw==} + engines: {node: ^0.10 || ^4.5 || 6.* || >= 7.*} + dependencies: + jsesc: 0.3.0 + lodash.foreach: 4.5.0 + lodash.template: 4.5.0 + source-map: 0.1.43 + dev: true /spawn-args/0.2.0: resolution: {integrity: sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg==} dev: true - /spawn-command/0.0.2-1: - resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} + /spawn-command/0.0.2: + resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} dev: true /split-string/3.1.0: @@ -11624,9 +11013,9 @@ packages: /sprintf-js/1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - /stable/0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + /sri-toolbox/0.2.0: + resolution: {integrity: sha512-DQIMWCAr/M7phwo+d3bEfXwSBEwuaJL+SJx9cuqt1Ty7K96ZFoHpYnSbhrQZEr0+0/GtmpKECP8X/R4RyeTAfw==} + engines: {node: '>= 0.10.4'} dev: true /stagehand/1.0.1: @@ -11638,12 +11027,6 @@ packages: - supports-color dev: true - /static-eval/2.1.1: - resolution: {integrity: sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==} - dependencies: - escodegen: 2.1.0 - dev: true - /static-extend/0.1.2: resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} engines: {node: '>=0.10.0'} @@ -11652,25 +11035,6 @@ packages: object-copy: 0.1.0 dev: true - /static-module/2.2.5: - resolution: {integrity: sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==} - dependencies: - concat-stream: 1.6.2 - convert-source-map: 1.9.0 - duplexer2: 0.1.4 - escodegen: 1.9.1 - falafel: 2.2.5 - has: 1.0.4 - magic-string: 0.22.5 - merge-source-map: 1.0.4 - object-inspect: 1.4.1 - quote-stream: 1.0.2 - readable-stream: 2.3.8 - shallow-copy: 0.0.1 - static-eval: 2.1.1 - through2: 2.0.5 - dev: true - /statuses/1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -11681,37 +11045,10 @@ packages: engines: {node: '>= 0.8'} dev: true - /stream-array/1.1.2: - resolution: {integrity: sha512-1yWdVsMEm/btiMa2YyHiC3mDrtAqlmNNaDRylx2F7KHhm3C4tA6kSR2V9mpeMthv+ujvbl8Kamyh5xaHHdFvyQ==} - engines: {node: '>= 0.8'} - dependencies: - readable-stream: 2.1.5 - dev: true - - /stream-combiner2/1.0.2: - resolution: {integrity: sha512-7DO1SfBVnyIyo9ytUjSyVojT5bp1ZY6h3pj7HUs6PwcRSd/r8mBOHbRwYC7nbHRakKzMKyNp5HWJRv4GgVherA==} - dependencies: - duplexer2: 0.0.2 - through2: 0.5.1 - dev: true - - /stream-shift/1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - dev: true - /string-template/0.2.1: resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} dev: true - /string-width/1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - dev: true - /string-width/2.1.1: resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} engines: {node: '>=4'} @@ -11741,6 +11078,7 @@ packages: regexp.prototype.flags: 1.5.1 set-function-name: 2.0.1 side-channel: 1.0.4 + dev: true /string.prototype.trim/1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} @@ -11749,6 +11087,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + dev: true /string.prototype.trimend/1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} @@ -11756,6 +11095,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + dev: true /string.prototype.trimstart/1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} @@ -11763,29 +11103,16 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + dev: true /string_decoder/0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true - /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 - dev: true - /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /stringmap/0.2.2: - resolution: {integrity: sha512-mR1LEHDw6TsHa+LwJeeBc9ZqZqEOm7bHidgxMmDg8HB/rbA1HhDeT08gS67CCCG/xrgIfQx5tW42pd8vFpLUow==} - dev: true - - /stringset/0.2.1: - resolution: {integrity: sha512-km3jeiRpmySChl1oLiBE2ESdG5k/4+6tjENVL6BB3mdmKBiUikI5ks4paad2WAKsxzpNiBqBBbXCC12QqlpLWA==} + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 dev: true /strip-ansi/3.0.1: @@ -11816,20 +11143,16 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-bom/1.0.0: - resolution: {integrity: sha512-qVAeAIjblKDp/8Cd0tJdxpe3Iq/HooI7En98alEaMbz4Wedlrcj3WI72dDQSrziRW5IQ0zeBo3JXsmS8RcS9jg==} - engines: {node: '>=0.10.0'} - hasBin: true - dependencies: - first-chunk-stream: 1.0.0 - is-utf8: 0.2.1 - dev: true - /strip-bom/3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} dev: true + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + /strip-eof/1.0.0: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} @@ -11840,12 +11163,6 @@ packages: engines: {node: '>=6'} dev: true - /strip-json-comments/1.0.4: - resolution: {integrity: sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==} - engines: {node: '>=0.8.0'} - hasBin: true - dev: true - /strip-json-comments/2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -11871,12 +11188,6 @@ packages: resolution: {integrity: sha512-DU2KZiB6VbPkO2tGSqQ9n96ZstUPjW7X4sGO6V2m1myIQluX0p1Ol8BrA/l6/EesqhMqXOIXs3cJNOy1UuU2BA==} dev: true - /subarg/1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} - dependencies: - minimist: 1.2.8 - dev: true - /sum-up/1.0.3: resolution: {integrity: sha512-zw5P8gnhiqokJUWRdR6F4kIIIke0+ubQSGyYUY506GCbJWtV7F6Xuy0j6S125eSX2oF+a8KdivsZ8PlVEH0Mcw==} dependencies: @@ -11911,6 +11222,7 @@ packages: /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + dev: true /symbol-tree/3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -11929,6 +11241,7 @@ packages: username-sync: 1.0.3 transitivePeerDependencies: - supports-color + dev: true /sync-disk-cache/2.1.0: resolution: {integrity: sha512-vngT2JmkSapgq0z7uIoYtB9kWOOzMihAAYq/D3Pjm/ODOGMgS4r++B+OZ09U4hWR6EaOdy9eqQ7/8ygbH3wehA==} @@ -11941,6 +11254,7 @@ packages: username-sync: 1.0.3 transitivePeerDependencies: - supports-color + dev: true /table/6.8.1: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} @@ -12043,7 +11357,7 @@ packages: npmlog: 6.0.2 printf: 0.6.1 rimraf: 3.0.2 - socket.io: 4.2.0 + socket.io: 4.7.4 spawn-args: 0.2.0 styled_string: 0.0.1 tap-parser: 7.0.0 @@ -12114,46 +11428,12 @@ packages: /textextensions/2.6.0: resolution: {integrity: sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==} engines: {node: '>=0.8'} + dev: true /through/2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /through2-filter/3.0.0: - resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==} - dependencies: - through2: 2.0.5 - xtend: 4.0.2 - dev: true - - /through2/0.5.1: - resolution: {integrity: sha512-zexCrAOTbjkBCXGyozn7hhS3aEaqdrc59mAD2E3dKYzV1vFuEGQ1hEDJN2oQMQFwy4he2zyLqPZV+AlfS8ZWJA==} - dependencies: - readable-stream: 1.0.34 - xtend: 3.0.0 - dev: true - - /through2/0.6.5: - resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==} - dependencies: - readable-stream: 1.0.34 - xtend: 4.0.2 - dev: true - - /through2/1.1.1: - resolution: {integrity: sha512-zEbpaeSMHxczpTzO1KkMHjBC1enTA68ojeaZGG4toqdASpb9t4xUZaYFBq2/9OHo5nTGFVSYd4c910OR+6wxbQ==} - dependencies: - readable-stream: 1.1.14 - xtend: 4.0.2 - dev: true - - /through2/2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - dev: true - /through2/3.0.2: resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} dependencies: @@ -12161,6 +11441,11 @@ packages: readable-stream: 3.6.2 dev: true + /time-zone/1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + /tiny-glob/0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: @@ -12186,12 +11471,14 @@ packages: engines: {node: '>=0.4.0'} dependencies: os-tmpdir: 1.0.2 + dev: true /tmp/0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 + dev: true /tmp/0.1.0: resolution: {integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==} @@ -12211,11 +11498,6 @@ packages: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true - /to-fast-properties/1.0.3: - resolution: {integrity: sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==} - engines: {node: '>=0.10.0'} - dev: true - /to-fast-properties/2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -12257,12 +11539,6 @@ packages: safe-regex: 1.1.0 dev: true - /to-vfile/1.0.0: - resolution: {integrity: sha512-BHc+hdHwULe8x6xmQhSuTsiiPHyTCCf7dtH7l6WkBoYBR2rDfYtoJufKLDDAYGMfA+1XoRq44HfyjoB9vMBr1w==} - dependencies: - vfile: 1.4.0 - dev: true - /toidentifier/1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -12289,16 +11565,13 @@ packages: punycode: 2.3.1 dev: true - /tr46/3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} + /tracked-built-ins/3.3.0: + resolution: {integrity: sha512-ewKFrW/AQs05oLPM5isOUb/1aOwBRfHfmF408CCzTk21FLAhKrKVOP5Q5ebX+zCT4kvg81PGBGwrBiEGND1nWA==} dependencies: - punycode: 2.3.1 - dev: true - - /traverse/0.6.8: - resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} - engines: {node: '>= 0.4'} + '@embroider/addon-shim': 1.8.7 + ember-tracked-storage-polyfill: 1.0.0 + transitivePeerDependencies: + - supports-color dev: true /tree-kill/1.2.2: @@ -12316,6 +11589,7 @@ packages: walk-sync: 0.3.4 transitivePeerDependencies: - supports-color + dev: true /tree-sync/2.1.0: resolution: {integrity: sha512-OLWW+Nd99NOM53aZ8ilT/YpEiOo6mXD3F4/wLbARqybSZ3Jb8IxHK5UGVbZaae0wtXAyQshVV+SeqVBik+Fbmw==} @@ -12330,30 +11604,13 @@ packages: - supports-color dev: true - /trim-lines/1.1.3: - resolution: {integrity: sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA==} - dev: true - - /trim-right/1.0.1: - resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} - engines: {node: '>=0.10.0'} - dev: true - - /trim-trailing-lines/1.1.4: - resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} - dev: true - - /trim/0.0.1: - resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} - deprecated: Use String.prototype.trim() instead - dev: true - - /try-resolve/1.0.1: - resolution: {integrity: sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==} - dev: true - - /tryor/0.1.2: - resolution: {integrity: sha512-2+ilNA00DGvbUYYbRrm3ux+snbo7I6uPXMw8I4p/QMl7HUOWBBZFbk+Mpr8/IAPDQE+LQ8vOdlI6xEzjc+e/BQ==} + /ts-api-utils/1.0.3_typescript@5.3.3: + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 dev: true /tslib/1.14.1: @@ -12364,23 +11621,6 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsutils/3.21.0_typescript@4.9.5: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - dev: true - - /type-check/0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - dev: true - /type-check/0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -12423,6 +11663,7 @@ packages: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.13 + dev: true /typed-array-byte-length/1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} @@ -12432,6 +11673,7 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.13 + dev: true /typed-array-byte-offset/1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} @@ -12442,6 +11684,7 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.13 + dev: true /typed-array-length/1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -12449,6 +11692,7 @@ packages: call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.13 + dev: true /typedarray-to-buffer/3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -12456,21 +11700,12 @@ packages: is-typedarray: 1.0.0 dev: true - /typedarray/0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true - - /typedarray/0.0.7: - resolution: {integrity: sha512-ueeb9YybpjhivjbHP2LdFDAjbS948fGEPj+ACAMs4xCMmh72OCOMQWBQKlaN4ZNQ04yfLSDLSx1tGRIoWimObQ==} - dev: true - /typescript-memoize/1.1.1: resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} - dev: true - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript/5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} hasBin: true dev: true @@ -12478,19 +11713,6 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true - /uglify-js/2.8.29: - resolution: {integrity: sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dependencies: - source-map: 0.5.7 - yargs: 3.10.0 - optionalDependencies: - uglify-to-browserify: 1.0.2 - dev: true - optional: true - /uglify-js/3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -12499,12 +11721,6 @@ packages: dev: true optional: true - /uglify-to-browserify/1.0.2: - resolution: {integrity: sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==} - requiresBuild: true - dev: true - optional: true - /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -12512,10 +11728,6 @@ packages: has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - - /unc-path-regex/0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} dev: true /underscore.string/3.3.6: @@ -12530,17 +11742,12 @@ packages: /undici-types/5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /unherit/1.1.3: - resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} - dependencies: - inherits: 2.0.4 - xtend: 4.0.2 dev: true /unicode-canonical-property-names-ecmascript/2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} + dev: true /unicode-match-property-ecmascript/2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} @@ -12548,25 +11755,16 @@ packages: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 + dev: true /unicode-match-property-value-ecmascript/2.1.0: resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} engines: {node: '>=4'} + dev: true /unicode-property-aliases-ecmascript/2.1.0: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - - /unified/2.1.4: - resolution: {integrity: sha512-qa4nA26ms49OczPueTt7G46r89TOlwAJ4pEk2U4mwkV1wNhjttItF03SE/YnfkgWg14tzmAHXGhJp2GhDYwn1A==} - dependencies: - '@types/unist': 2.0.10 - attach-ware: 1.1.1 - bail: 1.0.5 - extend: 3.0.2 - unherit: 1.1.3 - vfile: 1.4.0 - ware: 1.3.0 dev: true /union-value/1.0.1: @@ -12579,13 +11777,6 @@ packages: set-value: 2.0.1 dev: true - /unique-stream/2.3.1: - resolution: {integrity: sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==} - dependencies: - json-stable-stringify-without-jsonify: 1.0.1 - through2-filter: 3.0.0 - dev: true - /unique-string/2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -12593,28 +11784,6 @@ packages: crypto-random-string: 2.0.0 dev: true - /unist-builder/1.0.4: - resolution: {integrity: sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==} - dependencies: - object-assign: 4.1.1 - dev: true - - /unist-util-is/3.0.0: - resolution: {integrity: sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==} - dev: true - - /unist-util-visit-parents/2.1.2: - resolution: {integrity: sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==} - dependencies: - unist-util-is: 3.0.0 - dev: true - - /unist-util-visit/1.4.1: - resolution: {integrity: sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==} - dependencies: - unist-util-visit-parents: 2.1.2 - dev: true - /universalify/0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -12693,21 +11862,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /user-home/1.1.1: - resolution: {integrity: sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - dev: true - - /user-home/2.0.0: - resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} - engines: {node: '>=0.10.0'} - dependencies: - os-homedir: 1.0.2 - dev: true - /username-sync/1.0.3: resolution: {integrity: sha512-m/7/FSqjJNAzF2La448c/aEom0gJy7HY7Y509h6l0ePvEkFictAGptwWaj1msWJ38JbfEDOUoE8kqFee9EHKdA==} + dev: true /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -12753,75 +11910,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /vfile-find-down/1.0.0: - resolution: {integrity: sha512-AOXiJrVKizToYfRosXd1p9Fq8b0u0qchvSwVF1/ue3JE7o7KuQ/UH24bNAPLDUG/RIM1DZ6zWtDsiLShcma4WA==} - dependencies: - to-vfile: 1.0.0 - dev: true - - /vfile-find-up/1.0.0: - resolution: {integrity: sha512-t97P/jQswvX0n//+RB74Wj43VOg3tel2InzaJYryaBewd4uN4pNXuoH/F00PkI3U1fBp+w/SIyrTjzIzPwDODg==} - dependencies: - to-vfile: 1.0.0 - dev: true - - /vfile-reporter/1.5.0: - resolution: {integrity: sha512-VFF1LK0O8/nLmrPcc+5VMEnyP21BTzdVoq1rbxTaVt6cmSVk5MQs1POhkfY/cctndmZheNgirTcAMoiKj3aJYA==} - dependencies: - chalk: 1.1.3 - log-symbols: 1.0.2 - plur: 2.1.2 - repeat-string: 1.6.1 - string-width: 1.0.2 - text-table: 0.2.0 - vfile-sort: 1.0.0 - dev: true - - /vfile-sort/1.0.0: - resolution: {integrity: sha512-6qIalNEKUt2YyVFzyJptdEo9sm/pMrSKvOJ35lH4us9YeW08zRs3E9VbdJ0O0n2Thxc1TWINP5QVhucy/YiGPA==} - dev: true - - /vfile/1.4.0: - resolution: {integrity: sha512-7Fz639rwERslMqQCuf1/0H4Tqe2q484Xl6X/jsKqrP7IjFcDODFURhv0GekMnImpbj9pTOojtqL7r39LJJkjGA==} - dev: true - - /vinyl-fs/1.0.0: - resolution: {integrity: sha512-FETN6RUe6r2Dbrhq1GxovuyHf2G5ub6NO1HFtz6nMY21YQzTQhHPARcyzJWPUohjG2eCaUOyoTxnNyEtOtCI1Q==} - engines: {node: '>= 0.10'} - dependencies: - duplexify: 3.7.1 - glob-stream: 4.1.1 - glob-watcher: 0.0.8 - graceful-fs: 3.0.12 - merge-stream: 0.1.8 - mkdirp: 0.5.6 - object-assign: 2.1.1 - strip-bom: 1.0.0 - through2: 0.6.5 - vinyl: 0.4.6 - dev: true - - /vinyl/0.4.6: - resolution: {integrity: sha512-pmza4M5VA15HOImIQYWhoXGlGNafCm0QK5BpBUXkzzEwrRxKqBsbAhTfkT2zMcJhUX1G1Gkid0xaV8WjOl7DsA==} - engines: {node: '>= 0.9'} - dependencies: - clone: 0.2.0 - clone-stats: 0.0.1 - dev: true - - /vinyl/0.5.3: - resolution: {integrity: sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==} - engines: {node: '>= 0.9'} - dependencies: - clone: 1.0.4 - clone-stats: 0.0.1 - replace-ext: 0.0.1 - dev: true - - /vlq/0.2.3: - resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} - dev: true - /w3c-hr-time/1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} deprecated: Use your platform's native performance.now() and performance.timeOrigin. @@ -12836,11 +11924,11 @@ packages: xml-name-validator: 3.0.0 dev: true - /w3c-xmlserializer/3.0.0: - resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} - engines: {node: '>=12'} + /walk-sync/0.2.7: + resolution: {integrity: sha512-OH8GdRMowEFr0XSHQeX5fGweO6zSVHo7bG/0yJQx6LAj9Oukz0C8heI3/FYectT66gY0IPGe89kOvU410/UNpg==} dependencies: - xml-name-validator: 4.0.0 + ensure-posix-path: 1.1.1 + matcher-collection: 1.1.2 dev: true /walk-sync/0.3.4: @@ -12848,6 +11936,7 @@ packages: dependencies: ensure-posix-path: 1.1.1 matcher-collection: 1.1.2 + dev: true /walk-sync/1.1.4: resolution: {integrity: sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==} @@ -12855,6 +11944,7 @@ packages: '@types/minimatch': 3.0.5 ensure-posix-path: 1.1.1 matcher-collection: 1.1.2 + dev: true /walk-sync/2.2.0: resolution: {integrity: sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==} @@ -12881,12 +11971,6 @@ packages: makeerror: 1.0.12 dev: true - /ware/1.3.0: - resolution: {integrity: sha512-Y2HUDMktriUm+SR2gZWxlrszcgtXExlhQYZ8QJNYbl22jum00KIUcHJ/h/sdAXhWTJcbSkiMYN9Z2tWbWYSrrw==} - dependencies: - wrap-fn: 0.1.5 - dev: true - /watch-detector/1.0.2: resolution: {integrity: sha512-MrJK9z7kD5Gl3jHBnnBVHvr1saVGAfmkyyrvuNzV/oe0Gr1nwZTy5VSA0Gw2j2Or0Mu8HcjUa44qlBvC2Ofnpg==} engines: {node: '>= 8'} @@ -12926,11 +12010,6 @@ packages: engines: {node: '>=10.4'} dev: true - /webidl-conversions/7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - dev: true - /webpack-sources/3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -12996,38 +12075,14 @@ packages: iconv-lite: 0.4.24 dev: true - /whatwg-encoding/2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - dependencies: - iconv-lite: 0.6.3 + /whatwg-fetch/3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: true /whatwg-mimetype/2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: true - /whatwg-mimetype/3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - dev: true - - /whatwg-url/10.0.0: - resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==} - engines: {node: '>=12'} - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - dev: true - - /whatwg-url/11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - dev: true - /whatwg-url/5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -13052,6 +12107,7 @@ packages: is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 + dev: true /which-typed-array/1.1.14: resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} @@ -13062,6 +12118,7 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 + dev: true /which/1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -13084,28 +12141,6 @@ packages: string-width: 4.2.3 dev: true - /window-size/0.1.0: - resolution: {integrity: sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==} - engines: {node: '>= 0.8.0'} - dev: true - optional: true - - /window-size/0.1.4: - resolution: {integrity: sha512-2thx4pB0cV3h+Bw7QmMXcEbdmOzv9t0HFplJH/Lz6yu60hXYy5RT8rUu+wlIreVxWsGN20mo+MHeCSfUpQBwPw==} - engines: {node: '>= 0.10.0'} - hasBin: true - dev: true - - /word-wrap/1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - dev: true - - /wordwrap/0.0.2: - resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} - engines: {node: '>=0.4.0'} - dev: true - /wordwrap/0.0.3: resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==} engines: {node: '>=0.4.0'} @@ -13123,19 +12158,12 @@ packages: rsvp: 4.8.5 transitivePeerDependencies: - supports-color + dev: true /workerpool/6.5.1: resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} dev: true - /wrap-ansi/2.1.0: - resolution: {integrity: sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==} - engines: {node: '>=0.10.0'} - dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - dev: true - /wrap-ansi/6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -13154,12 +12182,6 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-fn/0.1.5: - resolution: {integrity: sha512-xDLdGx0M8JQw9QDAC9s5NUxtg9MI09F6Vbxa2LYoSoCvzJnx2n81YMIfykmXEGsUvuLaxnblJTzhSOjUOX37ag==} - dependencies: - co: 3.1.0 - dev: true - /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -13172,19 +12194,6 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /ws/7.4.6: - resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws/7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} @@ -13198,12 +12207,12 @@ packages: optional: true dev: true - /ws/8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + /ws/8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' + utf-8-validate: ^5.0.2 peerDependenciesMeta: bufferutil: optional: true @@ -13220,11 +12229,6 @@ packages: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true - /xml-name-validator/4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - dev: true - /xmlchars/2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true @@ -13233,20 +12237,11 @@ packages: resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==} dev: true - /xtend/3.0.0: - resolution: {integrity: sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==} - engines: {node: '>=0.4'} - dev: true - /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: true - /y18n/3.2.2: - resolution: {integrity: sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==} - dev: true - /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -13284,42 +12279,10 @@ packages: yargs-parser: 21.1.1 dev: true - /yargs/3.10.0: - resolution: {integrity: sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==} - dependencies: - camelcase: 1.2.1 - cliui: 2.1.0 - decamelize: 1.2.0 - window-size: 0.1.0 - dev: true - optional: true - - /yargs/3.27.0: - resolution: {integrity: sha512-6atYjGACjX/OYWico7LwdBx9eiGlkMnIw6OwqfBb+uJQpaT82tQ7oI+BI6Dvq62qZvSbzGzQCVLQdMd59tR2eA==} - dependencies: - camelcase: 1.2.1 - cliui: 2.1.0 - decamelize: 1.2.0 - os-locale: 1.4.0 - window-size: 0.1.4 - y18n: 3.2.2 - dev: true - - /yargs/3.32.0: - resolution: {integrity: sha512-ONJZiimStfZzhKamYvR/xvmgW3uEkAUFSP91y2caTEPhzF6uP2JfPiVZcq66b/YR0C3uitxSV7+T1x8p5bkmMg==} - dependencies: - camelcase: 2.1.1 - cliui: 3.2.0 - decamelize: 1.2.0 - os-locale: 1.4.0 - string-width: 1.0.2 - window-size: 0.1.4 - y18n: 3.2.2 - dev: true - /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + dev: true /yocto-queue/1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..924b55f42 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - packages/* diff --git a/rfcs/0001-yieldables.md b/rfcs/0001-yieldables.md deleted file mode 100644 index fb50f4fef..000000000 --- a/rfcs/0001-yieldables.md +++ /dev/null @@ -1,188 +0,0 @@ ---- -Stage: Accepted -Start Date: 2021-03-07 -Release Date: 2021-05-31 -Release Versions: - ember-concurrency: v2.1.0 -RFC PR: https://github.com/machty/ember-concurrency/pull/413 ---- - - - -# Yieldables - -## Summary - -Promote Yieldables to public API, as a way to instrument TaskInstances by -providing a safe mechanism to implement custom waiters, hooks, introspection, -and other operations in a task definition, from application code. - -## Motivation - -> Why are we doing this? What use cases does it support? What is the expected -> outcome? - -There are many great uses for yieldables, and indeed many of them are already -built-in to ember-concurrency today. Yieldables like `timeout`, `animationFrame`, -and `rawTimeout` provide safe, cancelation-aware ways to delay execution of a -task. Cancelable Promise helpers like `all`, and `hashSettled` are too a form of -yieldable. - -While there are many built-in forms that provide cancelation-aware wrappers around -common browser APIs, there's a great opportunity for an ecosystem of yieldables, -based on domain-specific yieldables defined by users within their applications, -and supporting yieldables defined by complementary addons, in order to implement -behavior that would be inappropriate for inclusion in the main `ember-concurrency` -addon. - -The expected outcome is that users and addon creators alike would be empowered -to experiment with new ways to control and introspect the task runtime, without -having to learn all about the ember-concurrency internals or waiting for -maintainers to try out their feature suggestions. - -## Detailed design - -Yieldables already exists in ember-concurrency in a similar form, but the -proposal would be to elevate this to a public API and add a little bit more -hiding of internals to avoid the need for users to know intimate details about -how to hand control back to the task. - -The API proposed is fairly simple: - -```typescript -class YieldableState { - // Return yielded TaskInstance. Useful for introspection on instance state. - getTaskInstance(): TaskInstance; - - // Cancel the yielded TaskInstance. - cancel(): void; - - // Cause the TaskInstance to return from its yield with an optional value, - // and continue executing - next(value: any): void; - - // Short-circuit TaskInstance execution and have it return with an optional - // value. - return(value: any): void; - - // Raise a given error within the given task instance and halt execution - throw(error: any): void; -} - -abstract class Yieldable implements PromiseLike { - constructor(...args) { - // User setup logic would go here. If the yieldable took arguments, they - // could be stored in the Yieldable here - } - - onYield(state: YieldableState): () => void { - // This is where most user code would go, defining what happens when the - // task encounters `yield myYieldable`. - - return () => { - // Custom dispose logic goes here. Would be called if task was canceled or - // upon completion. Things like `cancelTimeout`, timer cleanup, or property - // resets might happen here. - } - } -} -``` - -For example, if I wanted to implement a yieldable for `requestIdleCallback`, I -could do the following: - -```javascript -import Component from '@glimmer/component'; -import { task, Yieldable } from 'ember-concurrency'; - -class IdleCallbackYieldable extends Yieldable { - onYield(state) { - let callbackId = requestIdleCallback(() => state.next()); - - return () => cancelIdleCallback(callbackId); - } -} - -const idleCallback = () => new IdleCallbackYieldable(); - -class MyComponent extends Component { - @task *backgroundTask() { - while (1) { - yield idleCallback(); - - const data = this.complicatedNumberCrunching(); - yield this.sendData(data); - } - } -} -``` - -In general, `Yieldable` instances **should** be reusable across calls, and -thus care should be taken to ensure that teardown is provided and state not -intended to be shared across calls stay inside `onYield`. - -`Yieldable` will also provide automatic Promise-casting with the same semantics -it has today: it will not be linked to a task instance and any subsequent -continuations will continue as a regular Promise. - -## How we teach this - -> What names and terminology work best for these concepts and why? How is this -> idea best presented? As a continuation of existing ember-concurrency patterns, -> or as a wholly new one? - -We've called these yieldables internally for quite a while and I think it's a -relatively concise term for them, but am open to better suggestions. - -> Would the acceptance of this proposal mean the ember-concurrency guides must be -> re-organized or altered? Does it change how ember-concurrency is taught to new -> users at any level? - -We'd probably want to add a new docs page, maybe under some sort of "advanced" -section about extending ember-concurrency. It's probably not something for folks -just starting with ember-concurrency, but a useful tool to try later when they've -gotten the hang of things. - -> How should this feature be introduced and taught to existing ember-concurrency -> users? - -Introduce a docs page that illustrates the creation of a new yieldable and -explains how it ties in with cancelation/teardown, etc. - -## Drawbacks - -> Why should we *not* do this? Please consider the impact on teaching Ember, -> on the integration of this feature with other existing and planned features, -> on the impact of the API churn on existing apps, etc. - -* Adds _slightly_ to the footprint of `ember-concurrency`'s public API - -> There are tradeoffs to choosing any path, please attempt to identify them here. - -* Potential footgun if used incorrectly (e.g. not doing teardown properly) - -## Alternatives - -> What other designs have been considered? What is the impact of not doing this? -> This section could also include prior art, that is, how other frameworks in the -> same domain have solved this problem. - -For the implementation of `onYield`, I considered having `next`, `throw`, -`return` and `cancel` provided as a parameters. However, this felt like too many -parameters. - -## Unresolved questions - -> Optional, but suggested for first drafts. What parts of the design are still -> TBD? - -* Is providing access to `taskInstance` too unsafe, and a potential footgun? Is - this something to worry about? diff --git a/rfcs/0002-task-modifiers-api.md b/rfcs/0002-task-modifiers-api.md deleted file mode 100644 index 4a2b64826..000000000 --- a/rfcs/0002-task-modifiers-api.md +++ /dev/null @@ -1,228 +0,0 @@ ---- -Stage: Accepted -Start Date: 2021-09-18 -Release Date: -Release Versions: - ember-concurrency: vX.X.X -RFC PR: https://github.com/machty/ember-concurrency/pull/441 ---- - - - -# Task Modifier API - -## Summary - -Task modifiers have been a concept built in to `ember-concurrency` since the -beginning. Until `0.7.19` they were only specifyable within `ember-concurrency` -internals, and not extendable by users. `0.7.19` added the ability to specify -new modifiers as prototype extensions on `TaskProperty`, which is the only API -today for users creating their own modifiers. Unfortunately, `TaskProperty` is -inherently tied to Ember internals and is not used when using decorators, and -using prototype extensions does not make clear what modifiers exist. - -Instead, this RFC proposes a `registerModifier` API and making some of -`TaskFactory`'s APIs public for creating a more supported experience for creating -user-defined Task modifiers, enabling much more experimentation outside of -`ember-concurrency`'s core. - -## Motivation - -> Why are we doing this? What use cases does it support? What is the expected -> outcome? - -This RFC is to provide a more supported, declarative approach to modifier -definition, and provide capabilities for more user experimentation on top of -`ember-concurrency` tasks. The use cases it supports are for providing easier -implementation of external Task modifiers such as those provided by -`ember-concurrency-retryable` and `ember-concurrency-test-waiters`, as well as -allowing users to define modifiers that are relevant or useful to their application -that might not be broadly applicable enough for inclusion in `ember-concurrency` -itself. - -The expected outcome is that we can drop support for `TaskProperty` prototype -extensions in the future, and rely only on well-documented, public APIs for -letting users create `ember-concurrency` modifiers. - -## Detailed design - -This RFC defines the following new APIs. These currently exist in an undocumented, -non-public form on `master`, but will be elevated to public API by this RFC and -documented on the docs site and via JSDoc: - - -```typescript -interface TaskModifier { - (factory: TaskFactory, taskModifierOption: any): Task; -} -type TaskState = { - last: TaskInstance | null; - lastRunning: TaskInstance | null; - lastPerformed: TaskInstance | null; - lastSuccessful: TaskInstance | null; - lastComplete: TaskInstance | null; - lastErrored: TaskInstance | null; - lastCanceled: TaskInstance | null; - lastIncomplete: TaskInstance | null; - performCount: number; - numRunning: number; - numQueued: number; - isRunning: boolean; - isQueued: boolean; - isIdle: boolean; - state: 'running' | 'queued' | 'idle'; -} -interface OnStateCallback { - (state: TaskState, taskable: Task | TaskGroup): void; -} -type TaskDefinition = TaskFunction | EncapsulatedTaskDescriptor; - -/** - * Registers a new modifier with the modifier registry - */ -export function registerModifier(name: string, definition: TaskModifier): void; - -/** - * Returns a specified modifier, if it exists in the registry - */ -export function getModifier(name: string): TaskModifier?; - -/** - * Returns whether a specified modifier exists in the registry - */ -export function hasModifier(name: string): boolean; - -/** - * While instantiation will not be supported (yet), this is the interface - * provided to modifiers via the definition callback in `registerModifier` - */ -interface TaskFactory { - name: string; - taskDefinition: TaskDefinition; - - getOptions(): { [key: string]: any; } - setDebug(isDebug: boolean): this; - setEvented(isEvented: boolean): this; - setGroup(groupName: string): this; - setMaxConcurrency(maxConcurrency: number): this; - setName(name: string): this; - setOnState(onStateCallback: OnStateCallback): this; - setTaskDefinition(taskDefinition: TaskDefinition): this; -} -``` - -To use [ember-concurrency-retryable](https://github.com/maxfierke/ember-concurrency-retryable) as an example, -instead of implementing it via a prototype extension: - -```javascript -function retryable(taskProperty, retryPolicy) { - assert("retryable() will only work with ember-concurrency >=0.7.19 -- please upgrade", taskProperty.taskFn); - - const baseTaskFn = taskProperty.taskFn; - - taskProperty.taskFn = function* (...args) { - const instance = new RetryableTaskInstance({ - policy: retryPolicy, - context: this, - fn: baseTaskFn, - args: args - }); - return yield* instance.run(); - } - - return taskProperty; -} - -TaskProperty.prototype.retryable = function (retryPolicy) { - return retryable(this, retryPolicy); -}; -``` - -we could instead implement using these new public APIs: - -```javascript -function retryableModifier(factory, retryPolicy) { - let taskDefinition = factory.taskDefinition; - let retryableDefinition = function* (...args) { - const instance = new RetryableTaskInstance({ - policy: retryPolicy, - context: this, - fn: taskDefinition, - args: args - }); - return yield* instance.run(); - }; - - factory.setDefinition(retryableDefinition); - - return true; -} - -registerModifier('retryable', retryableModifier); -``` - -## How we teach this - -> What names and terminology work best for these concepts and why? How is this -> idea best presented? As a continuation of existing ember-concurrency patterns, -> or as a wholly new one? - -This is mostly a continuation of existing terminology (e.g. task modifier). -"Factory" is also commonly used in the Ember world, and `TaskFactory` should be -well understood as a factory that creates Tasks. - -> Would the acceptance of this proposal mean the ember-concurrency guides must be -> re-organized or altered? Does it change how ember-concurrency is taught to new -> users at any level? - -There is currently no documentation for the existing user-specified modifier -feature, but it would it would likely be documented as an advanced feature. - -> How should this feature be introduced and taught to existing ember-concurrency -> users? - -We'll add a new page to the docs describing how to use the new feature, like we -did with the `Yieldable` RFC. - -## Drawbacks - -> Why should we *not* do this? Please consider the impact on teaching Ember, -> on the integration of this feature with other existing and planned features, -> on the impact of the API churn on existing apps, etc. - -There's not really a good reason _not_ to do this, as `TaskProperty` will -probably go away at some point, and the prototype extension based method for -user-specified modifiers is mostly an escape hatch, and not well-defined -functionality. - -> There are tradeoffs to choosing any path, please attempt to identify them here. - -* Modest expansion of the public API surface - -## Alternatives - -> What other designs have been considered? What is the impact of not doing this? -> This section could also include prior art, that is, how other frameworks in the -> same domain have solved this problem. - -No other designs have been considered. The risk of not doing this is that there -would be a need to continue supporting the `TaskProperty` prototype extension -method, possibly past when `TaskProperty` is even used itself. There would also -not be an equivalent API for when the eventual extraction of the core happens, -whereas this RFC provides a generic API, usable in an extracted core. - -## Unresolved questions - -> Optional, but suggested for first drafts. What parts of the design are still -> TBD? - -None. It's mostly already implemented in master under the hood, so much of it is -already proved out, with Ember-specific modifiers implemented using the API. diff --git a/tests/acceptance/helpers-test.js b/tests/acceptance/helpers-test.js deleted file mode 100644 index 0e0d1bc89..000000000 --- a/tests/acceptance/helpers-test.js +++ /dev/null @@ -1,60 +0,0 @@ -import { click, visit, currentURL } from '@ember/test-helpers'; -import { setupApplicationTest } from 'ember-qunit'; -import { module, skip, test } from 'qunit'; -import { macroCondition, dependencySatisfies } from '@embroider/macros'; -import { getDebugFunction, setDebugFunction } from '../helpers/helpers'; - -const originalAssert = getDebugFunction('assert'); - -module('Acceptance | helpers', function (hooks) { - setupApplicationTest(hooks); - - hooks.afterEach(function () { - setDebugFunction('assert', originalAssert); - }); - - test('perform and cancel-all', async function (assert) { - assert.expect(3); - await visit('/helpers-test'); - assert.strictEqual(currentURL(), '/helpers-test'); - - await click('.perform-task'); - assert.dom('.task-status').hasText('1-2-3-4'); - await click('.cancel-task'); - assert.dom('.task-status').hasText('canceled'); - }); - - test('setting value="..." should behave like closure actions and rewrite event arg', async function (assert) { - assert.expect(0); - await visit('/helpers-test'); - await click('.set-value-option-task'); - }); - - // FIXME: for Ember 4.x, is there a suitable API for capturing assertion failures? - (macroCondition(dependencySatisfies('ember-source', '^4.0.0-beta.1')) - ? skip - : test)('passing non-Tasks to (perform) helper only errors when invoked', async function (assert) { - assert.expect(2); - - await visit('/helpers-test'); - - setDebugFunction('assert', function (desc, test) { - if (!test) { - // eslint-disable-next-line qunit/no-conditional-assertions - assert.deepEqual( - desc, - 'The first argument passed to the `perform` helper should be a Task object (without quotes); you passed null' - ); - } - }); - - await click('.maybe-null-task'); - - setDebugFunction('assert', originalAssert); - - await click('.setup-task'); - await click('.maybe-null-task'); - - assert.dom('.task-status').hasText('someTask'); - }); -}); diff --git a/tests/helpers/helpers.js b/tests/helpers/helpers.js deleted file mode 100644 index 315d51ca6..000000000 --- a/tests/helpers/helpers.js +++ /dev/null @@ -1,31 +0,0 @@ -import { skip, test } from 'qunit'; -import { gte } from 'ember-compatibility-helpers'; -import Ember from 'ember'; -import { - importSync, - macroCondition, - dependencySatisfies, -} from '@embroider/macros'; - -export const decoratorTest = gte('3.10.0') ? test : skip; - -export function makeAsyncError(hooks) { - hooks.afterEach(() => (Ember.onerror = null)); - return () => new window.Promise((r) => (Ember.onerror = r)); -} - -export function getDebugFunction(type) { - if (macroCondition(dependencySatisfies('ember-source', '>3.26.0'))) { - return importSync('@ember/debug').getDebugFunction(type); - } else { - return Ember[type]; - } -} - -export function setDebugFunction(type, fn) { - if (macroCondition(dependencySatisfies('ember-source', '>3.26.0'))) { - return importSync('@ember/debug').setDebugFunction(type, fn); - } else { - Ember[type] = fn; - } -} diff --git a/tests/integration/no-render-breaking-test.js b/tests/integration/no-render-breaking-test.js deleted file mode 100644 index 4a4279bee..000000000 --- a/tests/integration/no-render-breaking-test.js +++ /dev/null @@ -1,66 +0,0 @@ -import Component from '@ember/component'; -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'ember-qunit'; -import { render } from '@ember/test-helpers'; -import hbs from 'htmlbars-inline-precompile'; -import { task, timeout } from 'ember-concurrency'; -import { gte } from 'ember-compatibility-helpers'; - -module('Integration | no render breaking', function (hooks) { - setupRenderingTest(hooks); - - if (gte('3.15.0')) { - test('Issue #337 | internal task state updates do not trigger re-render assertions w/ auto-tracking', async function (assert) { - assert.expect(1); - - this.owner.register( - 'component:e-c-test', - Component.extend({ - layout: hbs``, - - focusIn() { - this.exampleTask.perform(); - }, - - exampleTask: task(function* () { - yield timeout(100); - }), - }) - ); - - await render(hbs` - {{#if (macroCondition (macroDependencySatisfies "ember-source" ">= 3.15.0"))}} - - {{/if}} - `); - assert.ok(true, 'Renders'); - }); - - test('Issue #340 | internal task state updates in cancellation do not trigger re-render assertions w/ auto-tracking', async function (assert) { - assert.expect(1); - - this.owner.register( - 'component:e-c-test', - Component.extend({ - layout: hbs`
{{this.value}}
`, - - get value() { - this._super(...arguments); - - this.exampleTask.perform(); - this.exampleTask.perform(); - - return 'value'; - }, - - exampleTask: task(function* () { - yield timeout(100); - }).restartable(), - }) - ); - - await render(hbs``); - assert.ok(true, 'Renders'); - }); - } -}); diff --git a/tests/integration/tracked-use-test.js b/tests/integration/tracked-use-test.js deleted file mode 100644 index 2b343a0b6..000000000 --- a/tests/integration/tracked-use-test.js +++ /dev/null @@ -1,101 +0,0 @@ -import Component from '@ember/component'; -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'ember-qunit'; -import { later } from '@ember/runloop'; -import { render } from '@ember/test-helpers'; -import hbs from 'htmlbars-inline-precompile'; -import { restartableTask, task, taskGroup, timeout } from 'ember-concurrency'; -import { gte } from 'ember-compatibility-helpers'; - -module('Integration | tracked use', function (hooks) { - setupRenderingTest(hooks); - - if (gte('3.16.0')) { - test('Issue #343 | Task: tracked use with getter', async function (assert) { - assert.expect(2); - const done = assert.async(); - - this.owner.register( - 'component:e-c-test', - class ECTest extends Component { - layout = hbs`
{{#if this.exampleTask.isRunning}}running{{else}}{{this.value}}{{/if}}
`; - - constructor() { - super(...arguments); - this.exampleTask.perform(); - } - - get value() { - if (this.exampleTask.last) { - return this.exampleTask.last.value; - } - - return null; - } - - @restartableTask *exampleTask() { - yield timeout(1000); - return 'done'; - } - } - ); - - render(hbs``); - - later(() => { - assert.dom('div').hasText('running'); - }, 400); - - later(() => { - assert.dom('div').hasText('done'); - - done(); - }, 1500); - }); - - test('Issue #343 | TaskGroup: tracked use with getter', async function (assert) { - assert.expect(2); - const done = assert.async(); - - this.owner.register( - 'component:e-c-test', - class ECTest extends Component { - layout = hbs`
{{#if this.exampleGroup.isRunning}}running{{else}}{{this.value}}{{/if}}
`; - - constructor() { - super(...arguments); - this.exampleTask.perform(); - } - - get value() { - if (this.exampleGroup.last) { - return this.exampleGroup.last.value; - } - - return null; - } - - @taskGroup({ restartable: true }) exampleGroup; - - @task({ group: 'exampleGroup' }) - *exampleTask() { - yield timeout(1000); - return 'done'; - } - } - ); - - render(hbs``); - - later(() => { - assert.dom('div').hasText('running'); - }, 400); - - later(() => { - assert.dom('div').hasText('done'); - - done(); - }, 1500); - }); - } -}); diff --git a/tests/test-helper.js b/tests/test-helper.js deleted file mode 100644 index 084c167c9..000000000 --- a/tests/test-helper.js +++ /dev/null @@ -1,31 +0,0 @@ -import Application from 'dummy/app'; -import config from 'dummy/config/environment'; -import { setApplication } from '@ember/test-helpers'; -import { QUnitAdapter, start } from 'ember-qunit'; -import QUnit from 'qunit'; -import { setup as setupQUnitDom } from 'qunit-dom'; - -setupQUnitDom(QUnit.assert); - -QUnit.config.testTimeout = 5000; - -function noop() {} - -QUnitAdapter.reopen({ - exception(e) { - // our tests depend on Ember.run bubbling errors thrown within the run loop. - throw e; - }, - - asyncStart: function asyncStart() { - if (this.qunit.config.current._isTaskTest) { - this.doneCallbacks.push({ test: this.qunit.config.current, done: noop }); - } else { - this._super(); - } - }, -}); - -setApplication(Application.create(config.APP)); - -start(); diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 00b058a89..000000000 --- a/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "experimentalDecorators": true, - "moduleResolution": "node", - "noEmit": true, - "strict": true, - "baseUrl": ".", - "paths": { - "ember-concurrency": ["./addon/index.d.ts"] - } - }, - "exclude":[ - "node_modules", - "tmp", - "vendor", - ".git", - "dist" - ] -}