diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 840b8677..5e91e14d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -52,7 +52,6 @@ jobs:
fail-fast: false
matrix:
try-scenario:
- - ember-lts-3.24
- ember-lts-3.28
- ember-lts-4.4
- ember-lts-4.8
@@ -72,6 +71,33 @@ jobs:
run: pnpm exec ember try:one ${{ matrix.try-scenario }} --skip-cleanup
working-directory: test-app
+ typecheck:
+ name: "${{ matrix.typescript-scenario }}"
+ runs-on: ubuntu-latest
+ needs: "test"
+ timeout-minutes: 5
+ continue-on-error: true
+ strategy:
+ fail-fast: true
+ matrix:
+ typescript-scenario:
+ - typescript@4.8
+ - typescript@4.9
+ - typescript@5.0
+ - typescript@5.1
+
+ steps:
+ - name: Setup
+ uses: wyvox/action@v1
+ - name: "Change TS to ${{ matrix.typescript-scenario }}"
+ run: "pnpm add --save-dev ${{ matrix.typescript-scenario}}"
+ working-directory: ./test-app
+ - name: "Type checking"
+ run: |
+ pnpm --filter "test-app*" exec tsc -v;
+ pnpm --filter "test-app*" exec glint --version;
+ pnpm --filter "test-app*" exec glint;
+
publish:
name: Publish
needs: test
diff --git a/.gitignore b/.gitignore
index 5a28f4cd..5a0bb0b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
# compiled output
dist/
+declarations/
tmp/
# dependencies
diff --git a/.npmrc b/.npmrc
index 043b3a4e..e0a71fa7 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1,5 +1,6 @@
public-hoist-pattern[]=*prettier*
public-hoist-pattern[]=*eslint*
-public-hoist-pattern[]=!@typescript-eslint/*
+public-hoist-pattern[]=@typescript-eslint/*
public-hoist-pattern[]=*ember-template-lint*
public-hoist-pattern[]=*stylelint*
+public-hoist-pattern[]=*@glint*
diff --git a/README.md b/README.md
index ceb8fe68..e5bda3c4 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
-ember-element-helper
-==============================================================================
+# ember-element-helper
[](https://github.com/tildeio/ember-element-helper/actions/workflows/ci.yml)
@@ -18,15 +17,13 @@ this addon as a true polyfill for the feature, allowing the feature to be used
on older Ember.js versions and be completely inert on newer versions where the
official implementation is available.
-Compatibility
-------------------------------------------------------------------------------
+## Compatibility
* Ember.js v3.24 or above
* Ember CLI v3.24 or above
* Node.js v12 or above
-Limitations
-------------------------------------------------------------------------------
+## Limitations
This implementation has the following known limitations:
@@ -52,15 +49,13 @@ This implementation has the following known limitations:
which is first available on Ember 3.11. This is an Ember.js limitation,
unrelated to this addon.
-Installation
-------------------------------------------------------------------------------
+## Installation
```
ember install ember-element-helper
```
-Usage
-------------------------------------------------------------------------------
+## Usage
```hbs
{{#let (element this.tagName) as |Tag|}}
@@ -85,12 +80,93 @@ that accepts "contextual components" as arguments:
<@tag class="my-tag">hello world!@tag>
```
-Contributing
-------------------------------------------------------------------------------
+### Single File Components
+
+Using the `(element)` helper with [first class component
+templates](http://emberjs.github.io/rfcs/0779-first-class-component-templates.html):
+
+```gjs
+import { element } from 'ember-element-helper';
+
+
+ {{#let (element @tagName) as |Tag|}}
+ hello world!
+ {{/let}}
+
+```
+
+### Glint Usage in Classic Mode
+
+In order to use a typed `(element)` helper in classic mode, you need to import
+the addon's glint template registry and extend your app's registry declaration
+as described in the [Using
+Addons](https://typed-ember.gitbook.io/glint/using-glint/ember/using-addons#using-glint-enabled-addons)
+documentation:
+
+```ts
+import '@glint/environment-ember-loose';
+import type EmberElementHelperRegistry from 'ember-element-helper/template-registry';
+
+declare module '@glint/environment-ember-loose/registry' {
+ export default interface Registry extends EmberElementHelperRegistry, /* other addon registries */ {
+ // local entries
+ }
+}
+```
+
+> **Note:** Glint itself is still under active development, and as such breaking changes might occur.
+> Therefore, Glint support by this addon is also considered experimental, and not covered by our SemVer contract!
+
+### Typing your Components
+
+When your component accepts an element with the `(element)` helper, you want to
+give this argument a proper type. Here is how:
+
+```ts
+import type { ElementSignature } from 'ember-element-helper';
+
+interface YourComponentSignature {
+ Element: HTMLSectionElement;
+ Args: {
+ element?: ElementSignature['Return'];
+ };
+}
+```
+
+When the `@element` argument influences the `Element` of your component:
+
+```ts
+import type { ElementSignature, ElementFromTagName } from 'ember-element-helper';
+
+interface YourComponentSignature {
+ Element: ElementFromTagName;
+ Args: {
+ element?: ElementSignature['Return'];
+ };
+}
+```
+
+When your component already uses an element for a given condition. When
+the condition isn't met, a fallback element is used. The fallback can even be
+provided from the outside. Here is the type:
+
+```ts
+import type { ElementSignature, ElementFromTagName } from 'ember-element-helper';
+
+interface YourComponentSignature<
+ T extends string = 'section'
+> {
+ Element: HTMLButtonElement | HTMLAnchorElement | ElementFromTagName;
+ Args: {
+ element?: ElementSignature['Return'];
+ };
+}
+```
+
+## Contributing
See the [Contributing](CONTRIBUTING.md) guide for details.
-License
-------------------------------------------------------------------------------
+## License
This project is licensed under the [MIT License](LICENSE.md).
diff --git a/ember-element-helper/README.md b/ember-element-helper/README.md
index ceb8fe68..e5bda3c4 100644
--- a/ember-element-helper/README.md
+++ b/ember-element-helper/README.md
@@ -1,5 +1,4 @@
-ember-element-helper
-==============================================================================
+# ember-element-helper
[](https://github.com/tildeio/ember-element-helper/actions/workflows/ci.yml)
@@ -18,15 +17,13 @@ this addon as a true polyfill for the feature, allowing the feature to be used
on older Ember.js versions and be completely inert on newer versions where the
official implementation is available.
-Compatibility
-------------------------------------------------------------------------------
+## Compatibility
* Ember.js v3.24 or above
* Ember CLI v3.24 or above
* Node.js v12 or above
-Limitations
-------------------------------------------------------------------------------
+## Limitations
This implementation has the following known limitations:
@@ -52,15 +49,13 @@ This implementation has the following known limitations:
which is first available on Ember 3.11. This is an Ember.js limitation,
unrelated to this addon.
-Installation
-------------------------------------------------------------------------------
+## Installation
```
ember install ember-element-helper
```
-Usage
-------------------------------------------------------------------------------
+## Usage
```hbs
{{#let (element this.tagName) as |Tag|}}
@@ -85,12 +80,93 @@ that accepts "contextual components" as arguments:
<@tag class="my-tag">hello world!@tag>
```
-Contributing
-------------------------------------------------------------------------------
+### Single File Components
+
+Using the `(element)` helper with [first class component
+templates](http://emberjs.github.io/rfcs/0779-first-class-component-templates.html):
+
+```gjs
+import { element } from 'ember-element-helper';
+
+
+ {{#let (element @tagName) as |Tag|}}
+ hello world!
+ {{/let}}
+
+```
+
+### Glint Usage in Classic Mode
+
+In order to use a typed `(element)` helper in classic mode, you need to import
+the addon's glint template registry and extend your app's registry declaration
+as described in the [Using
+Addons](https://typed-ember.gitbook.io/glint/using-glint/ember/using-addons#using-glint-enabled-addons)
+documentation:
+
+```ts
+import '@glint/environment-ember-loose';
+import type EmberElementHelperRegistry from 'ember-element-helper/template-registry';
+
+declare module '@glint/environment-ember-loose/registry' {
+ export default interface Registry extends EmberElementHelperRegistry, /* other addon registries */ {
+ // local entries
+ }
+}
+```
+
+> **Note:** Glint itself is still under active development, and as such breaking changes might occur.
+> Therefore, Glint support by this addon is also considered experimental, and not covered by our SemVer contract!
+
+### Typing your Components
+
+When your component accepts an element with the `(element)` helper, you want to
+give this argument a proper type. Here is how:
+
+```ts
+import type { ElementSignature } from 'ember-element-helper';
+
+interface YourComponentSignature {
+ Element: HTMLSectionElement;
+ Args: {
+ element?: ElementSignature['Return'];
+ };
+}
+```
+
+When the `@element` argument influences the `Element` of your component:
+
+```ts
+import type { ElementSignature, ElementFromTagName } from 'ember-element-helper';
+
+interface YourComponentSignature {
+ Element: ElementFromTagName;
+ Args: {
+ element?: ElementSignature['Return'];
+ };
+}
+```
+
+When your component already uses an element for a given condition. When
+the condition isn't met, a fallback element is used. The fallback can even be
+provided from the outside. Here is the type:
+
+```ts
+import type { ElementSignature, ElementFromTagName } from 'ember-element-helper';
+
+interface YourComponentSignature<
+ T extends string = 'section'
+> {
+ Element: HTMLButtonElement | HTMLAnchorElement | ElementFromTagName;
+ Args: {
+ element?: ElementSignature['Return'];
+ };
+}
+```
+
+## Contributing
See the [Contributing](CONTRIBUTING.md) guide for details.
-License
-------------------------------------------------------------------------------
+## License
This project is licensed under the [MIT License](LICENSE.md).
diff --git a/ember-element-helper/babel.config.json b/ember-element-helper/babel.config.json
index cfcf8a3c..d804b38e 100644
--- a/ember-element-helper/babel.config.json
+++ b/ember-element-helper/babel.config.json
@@ -1,4 +1,5 @@
{
+ "presets": ["@babel/preset-typescript"],
"plugins": [
"@embroider/addon-dev/template-colocation-plugin",
["@babel/plugin-proposal-decorators", { "legacy": true }],
diff --git a/ember-element-helper/package.json b/ember-element-helper/package.json
index c4117d98..b0bb2f17 100644
--- a/ember-element-helper/package.json
+++ b/ember-element-helper/package.json
@@ -11,25 +11,36 @@
"dynamic element"
],
"exports": {
- ".": "./dist/index.js",
- "./*": "./dist/*"
+ ".": {
+ "types": "./declarations/index.d.ts",
+ "default": "./dist/index.js"
+ },
+ "./*": {
+ "types": "./declarations/*.d.ts",
+ "default": "./dist/*"
+ },
+ "./addon-main.js": "./addon-main.cjs"
},
"files": [
"dist",
+ "declarations",
"addon-main.cjs",
"CHANGELOG.md",
"README.md"
],
"scripts": {
- "start": "concurrently 'npm:watch:*'",
"build": "concurrently 'npm:build:*'",
- "build:js": "rollup -c ./rollup.config.js",
+ "build:js": "rollup -c",
+ "build:types": "tsc --emitDeclarationOnly",
"build:docs": "cp ../README.md ./README.md",
- "watch:js": "rollup -c --watch --no-watch.clearScreen",
"lint": "concurrently 'npm:lint:js'",
"lint:fix": "concurrently 'npm:lint:js:fix'",
"lint:js": "eslint . --cache",
"lint:js:fix": "eslint . --fix",
+ "lint:types": "glint",
+ "start": "concurrently 'npm:start:*'",
+ "start:js": "rollup -c --watch --no-watch.clearScreen",
+ "start:types": "tsc --emitDeclarationOnly -w",
"pretest": "pnpm build",
"test": "echo 'Addon does not have tests, run tests in test-app'",
"prepare": "pnpm build",
@@ -37,16 +48,29 @@
},
"dependencies": {
"@embroider/addon-shim": "1.8.3",
- "@embroider/util": "^0.39.1 || ^0.40.0 || ^0.41.0 || ^1.0.0"
+ "@embroider/util": "^1.0.0"
},
"devDependencies": {
"@babel/core": "7.18.6",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-syntax-decorators": "7.18.6",
"@babel/plugin-proposal-decorators": "7.18.6",
- "@embroider/addon-dev": "1.8.3",
+ "@babel/preset-typescript": "7.22.5",
+ "@babel/runtime": "7.22.6",
+ "@embroider/addon-dev": "4.1.0",
+ "@glimmer/component": "^1.1.2",
+ "@glint/core": "1.0.2",
+ "@glint/template": "1.0.2",
+ "@glint/environment-ember-loose": "1.0.2",
"@nullvoxpopuli/eslint-configs": "2.2.36",
+ "@rollup/plugin-babel": "6.0.3",
+ "@rollup/plugin-node-resolve": "15.1.0",
+ "@tsconfig/ember": "^3.0.0",
+ "@types/rsvp": "^4.0.4",
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
+ "@typescript-eslint/parser": "^5.62.0",
"concurrently": "7.2.2",
+ "ember-source": "~4.12.3",
"eslint-config-prettier": "8.5.0",
"eslint-plugin-decorator-position": "5.0.0",
"eslint-plugin-ember": "10.6.1",
@@ -55,10 +79,10 @@
"eslint-plugin-node": "11.1.0",
"eslint-plugin-prettier": "4.2.1",
"eslint-plugin-simple-import-sort": "7.0.0",
- "rollup": "2.77.0",
+ "rollup": "3.26.3",
"babel-eslint": "10.1.0",
"eslint": "^7.31.0",
- "@rollup/plugin-babel": "5.3.1"
+ "typescript": "5.1.6"
},
"publishConfig": {
"registry": "https://registry.npmjs.org"
diff --git a/ember-element-helper/rollup.config.js b/ember-element-helper/rollup.config.mjs
similarity index 80%
rename from ember-element-helper/rollup.config.js
rename to ember-element-helper/rollup.config.mjs
index f33524dc..aa2ff635 100644
--- a/ember-element-helper/rollup.config.js
+++ b/ember-element-helper/rollup.config.mjs
@@ -1,12 +1,16 @@
-import babel from '@rollup/plugin-babel';
+import { babel } from '@rollup/plugin-babel';
import { Addon } from '@embroider/addon-dev/rollup';
+import { defineConfig } from 'rollup';
+import { nodeResolve } from '@rollup/plugin-node-resolve';
const addon = new Addon({
srcDir: 'src',
destDir: 'dist',
});
-export default {
+const extensions = ['.js', '.ts'];
+
+export default defineConfig({
// This provides defaults that work well alongside `publicEntrypoints` below.
// You can augment this if you need to.
output: addon.output(),
@@ -14,19 +18,14 @@ export default {
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(['**/*.js']),
+ addon.publicEntrypoints(['index.js', 'helpers/element.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([
- 'components/**/*.js',
- 'helpers/**/*.js',
- 'modifiers/**/*.js',
- 'services/**/*.js',
- 'initializers/**/*.js',
- 'instance-initializers/**/*.js',
- ]),
+ addon.appReexports(['helpers/element.js']),
+
+ nodeResolve({ extensions }),
// This babel config should *not* apply presets or compile away ES modules.
// It exists only to provide development niceties for you, like automatic
@@ -35,6 +34,7 @@ export default {
// By default, this will load the actual babel config from the file
// babel.config.json.
babel({
+ extensions,
babelHelpers: 'bundled',
}),
@@ -53,4 +53,4 @@ export default {
// Remove leftover build artifacts when starting a new build.
addon.clean(),
],
-};
+});
diff --git a/ember-element-helper/src/helpers/element.js b/ember-element-helper/src/helpers/element.ts
similarity index 58%
rename from ember-element-helper/src/helpers/element.js
rename to ember-element-helper/src/helpers/element.ts
index 7d48c974..07acff4f 100644
--- a/ember-element-helper/src/helpers/element.js
+++ b/ember-element-helper/src/helpers/element.ts
@@ -5,16 +5,31 @@ import { assert, runInDebug } from '@ember/debug';
import { ensureSafeComponent } from '@embroider/util';
+// eslint-disable-next-line @typescript-eslint/no-empty-function
function UNINITIALIZED() {}
-export default class ElementHelper extends Helper {
- constructor() {
- super(...arguments);
- this.tagName = UNINITIALIZED;
- this.componentClass = null;
- }
+export type ElementFromTagName = T extends keyof HTMLElementTagNameMap
+ ? HTMLElementTagNameMap[T]
+ : Element;
+
+type Positional = [name: T];
+type Return = typeof EmberComponent<{
+ Element: ElementFromTagName;
+ Blocks: { default: [] };
+}>;
+
+export interface ElementSignature {
+ Args: {
+ Positional: Positional;
+ };
+ Return: Return | undefined;
+}
+
+export default class ElementHelper extends Helper> {
+ tagName: string | (() => void) = UNINITIALIZED;
+ componentClass?: Return;
- compute(params, hash) {
+ compute(params: Positional, hash: object) {
assert('The `element` helper takes a single positional argument', params.length === 1);
assert(
'The `element` helper does not take any named arguments',
@@ -28,13 +43,15 @@ export default class ElementHelper extends Helper {
if (typeof tagName === 'string') {
this.componentClass = ensureSafeComponent(
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
class DynamicElement extends EmberComponent {
tagName = tagName; // eslint-disable-line ember/require-tagless-components
},
this
- );
+ ) as unknown as Return;
} else {
- this.componentClass = null;
+ this.componentClass = undefined;
runInDebug(() => {
let message = 'The argument passed to the `element` helper must be a string';
diff --git a/ember-element-helper/src/index.js b/ember-element-helper/src/index.js
deleted file mode 100644
index e69de29b..00000000
diff --git a/ember-element-helper/src/index.ts b/ember-element-helper/src/index.ts
new file mode 100644
index 00000000..4c08993c
--- /dev/null
+++ b/ember-element-helper/src/index.ts
@@ -0,0 +1,4 @@
+import ElementHelper, { type ElementFromTagName, type ElementSignature } from './helpers/element';
+
+export { ElementHelper as element };
+export type { ElementFromTagName, ElementSignature };
diff --git a/ember-element-helper/src/template-registry.ts b/ember-element-helper/src/template-registry.ts
new file mode 100644
index 00000000..8d5b0d0d
--- /dev/null
+++ b/ember-element-helper/src/template-registry.ts
@@ -0,0 +1,5 @@
+import type ElementHelper from './helpers/element';
+
+export default interface EmberElementHelperRegistry {
+ element: typeof ElementHelper;
+}
diff --git a/ember-element-helper/tsconfig.json b/ember-element-helper/tsconfig.json
new file mode 100644
index 00000000..730980d4
--- /dev/null
+++ b/ember-element-helper/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "extends": "@tsconfig/ember/tsconfig.json",
+ "glint": {
+ "environment": [
+ "ember-loose",
+ "ember-template-imports"
+ ]
+ },
+ "compilerOptions": {
+ "noEmit": false,
+ "declarationDir": "./declarations",
+ "paths": {
+ "*": [
+ "./types/*"
+ ]
+ },
+ // for typescript < 5
+ "moduleResolution": "NodeNext"
+ },
+ "include": [
+ "src/**/*",
+ "types/**/*"
+ ]
+}
\ No newline at end of file
diff --git a/ember-element-helper/types/index.d.ts b/ember-element-helper/types/index.d.ts
new file mode 100644
index 00000000..2109bac6
--- /dev/null
+++ b/ember-element-helper/types/index.d.ts
@@ -0,0 +1,2 @@
+import 'ember-source/types';
+import 'ember-source/types/preview';
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 731a31c3..f15ecd19 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -21,11 +21,8 @@ importers:
specifier: 1.8.3
version: 1.8.3
'@embroider/util':
- specifier: ^0.39.1 || ^0.40.0 || ^0.41.0 || ^1.0.0
- version: 0.39.1
- ember-source:
- specifier: ^3.8 || ^4.0.0 || >= 5.0.0
- version: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.88.2)
+ specifier: ^1.0.0
+ version: 1.12.0(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.3)
devDependencies:
'@babel/core':
specifier: 7.18.6
@@ -39,21 +36,57 @@ importers:
'@babel/plugin-syntax-decorators':
specifier: 7.18.6
version: 7.18.6(@babel/core@7.18.6)
+ '@babel/preset-typescript':
+ specifier: 7.22.5
+ version: 7.22.5(@babel/core@7.18.6)
+ '@babel/runtime':
+ specifier: 7.22.6
+ version: 7.22.6
'@embroider/addon-dev':
- specifier: 1.8.3
- version: 1.8.3(ember-source@4.12.0)(rollup@2.77.0)
+ specifier: 4.1.0
+ version: 4.1.0(@glint/template@1.0.2)(rollup@3.26.3)
+ '@glimmer/component':
+ specifier: ^1.1.2
+ version: 1.1.2(@babel/core@7.18.6)
+ '@glint/core':
+ specifier: 1.0.2
+ version: 1.0.2(typescript@5.1.6)
+ '@glint/environment-ember-loose':
+ specifier: 1.0.2
+ version: 1.0.2(@glimmer/component@1.1.2)(@glint/template@1.0.2)(ember-cli-htmlbars@6.2.0)(ember-modifier@4.1.0)
+ '@glint/template':
+ specifier: 1.0.2
+ version: 1.0.2
'@nullvoxpopuli/eslint-configs':
specifier: 2.2.36
version: 2.2.36(typescript@5.1.6)
'@rollup/plugin-babel':
- specifier: 5.3.1
- version: 5.3.1(@babel/core@7.18.6)(rollup@2.77.0)
+ specifier: 6.0.3
+ version: 6.0.3(@babel/core@7.18.6)(rollup@3.26.3)
+ '@rollup/plugin-node-resolve':
+ specifier: 15.1.0
+ version: 15.1.0(rollup@3.26.3)
+ '@tsconfig/ember':
+ specifier: ^3.0.0
+ version: 3.0.0
+ '@types/rsvp':
+ specifier: ^4.0.4
+ version: 4.0.4
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^5.62.0
+ version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@5.1.6)
+ '@typescript-eslint/parser':
+ specifier: ^5.62.0
+ version: 5.62.0(eslint@7.32.0)(typescript@5.1.6)
babel-eslint:
specifier: 10.1.0
version: 10.1.0(eslint@7.32.0)
concurrently:
specifier: 7.2.2
version: 7.2.2
+ ember-source:
+ specifier: ~4.12.3
+ version: 4.12.3(@babel/core@7.18.6)(@glimmer/component@1.1.2)(@glint/template@1.0.2)(webpack@5.88.2)
eslint:
specifier: ^7.31.0
version: 7.32.0
@@ -68,7 +101,7 @@ importers:
version: 10.6.1(eslint@7.32.0)
eslint-plugin-import:
specifier: 2.26.0
- version: 2.26.0(@typescript-eslint/parser@5.30.6)(eslint@7.32.0)
+ version: 2.26.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)
eslint-plugin-json:
specifier: 3.1.0
version: 3.1.0
@@ -82,14 +115,17 @@ importers:
specifier: 7.0.0
version: 7.0.0(eslint@7.32.0)
rollup:
- specifier: 2.77.0
- version: 2.77.0
+ specifier: 3.26.3
+ version: 3.26.3
+ typescript:
+ specifier: 5.1.6
+ version: 5.1.6
test-app:
dependencies:
ember-element-helper:
specifier: workspace:*
- version: file:ember-element-helper(ember-source@4.12.0)
+ version: file:ember-element-helper(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0)
devDependencies:
'@babel/eslint-parser':
specifier: ^7.21.3
@@ -101,11 +137,11 @@ importers:
specifier: ^2.0.0
version: 2.0.0
'@ember/string':
- specifier: ^3.0.1
- version: 3.0.1
+ specifier: ^3.1.1
+ version: 3.1.1
'@ember/test-helpers':
specifier: ^2.9.3
- version: 2.9.3(@babel/core@7.18.6)(ember-source@4.12.0)
+ version: 2.9.3(@babel/core@7.18.6)(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0)
'@embroider/compat':
specifier: ^2.1.1
version: 2.1.1(@embroider/core@2.1.1)
@@ -127,6 +163,27 @@ importers:
'@glimmer/tracking':
specifier: ^1.1.2
version: 1.1.2
+ '@glint/core':
+ specifier: ^1.0.2
+ version: 1.0.2(typescript@5.1.6)
+ '@glint/environment-ember-loose':
+ specifier: ^1.0.2
+ version: 1.0.2(@glimmer/component@1.1.2)(@glint/template@1.0.2)(ember-cli-htmlbars@6.2.0)(ember-modifier@4.1.0)
+ '@glint/environment-ember-template-imports':
+ specifier: ^1.0.2
+ version: 1.0.2(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-template-imports@3.4.2)
+ '@glint/template':
+ specifier: ^1.0.2
+ version: 1.0.2
+ '@tsconfig/ember':
+ specifier: ^3.0.0
+ version: 3.0.0
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^5.62.0
+ version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.37.0)(typescript@5.1.6)
+ '@typescript-eslint/parser':
+ specifier: ^5.62.0
+ version: 5.62.0(eslint@8.37.0)(typescript@5.1.6)
broccoli-asset-rev:
specifier: ^3.0.0
version: 3.0.0
@@ -174,13 +231,16 @@ importers:
version: 6.2.0(@ember/test-helpers@2.9.3)(ember-source@4.12.0)(qunit@2.19.4)(webpack@5.78.0)
ember-resolver:
specifier: ^10.0.0
- version: 10.0.0(@ember/string@3.0.1)(ember-source@4.12.0)
+ version: 10.0.0(@ember/string@3.1.1)(ember-source@4.12.0)
ember-source:
specifier: ~4.12.0
version: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.78.0)
ember-source-channel-url:
specifier: ^3.0.0
version: 3.0.0
+ ember-template-imports:
+ specifier: ^3.4.2
+ version: 3.4.2
ember-template-lint:
specifier: ^5.7.2
version: 5.7.2
@@ -238,6 +298,9 @@ importers:
tracked-built-ins:
specifier: ^3.1.1
version: 3.1.1
+ typescript:
+ specifier: 5.1.6
+ version: 5.1.6
webpack:
specifier: ^5.78.0
version: 5.78.0
@@ -778,6 +841,16 @@ packages:
'@babel/core': 7.18.6(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.22.5
+ /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.18.6):
+ resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.18.6(supports-color@8.1.1)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
/@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.18.6):
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
@@ -1515,6 +1588,20 @@ packages:
'@babel/types': 7.22.5
esutils: 2.0.3
+ /@babel/preset-typescript@7.22.5(@babel/core@7.18.6):
+ resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.18.6(supports-color@8.1.1)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.18.6)
+ '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.18.6)
+ '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.18.6)
+ dev: true
+
/@babel/regjsgen@0.8.0:
resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
@@ -1632,8 +1719,8 @@ packages:
- supports-color
dev: true
- /@ember/string@3.0.1:
- resolution: {integrity: sha512-ntnmXS+upOWVXE+rVw2l03DjdMnaGdWbYVUxUBuPJqnIGZu2XFRsoXc7E6mOw62s8i1Xh1RgTuFHN41QGIolEQ==}
+ /@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
@@ -1641,15 +1728,15 @@ packages:
- supports-color
dev: true
- /@ember/test-helpers@2.9.3(@babel/core@7.18.6)(ember-source@4.12.0):
+ /@ember/test-helpers@2.9.3(@babel/core@7.18.6)(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0):
resolution: {integrity: sha512-ejVg4Dj+G/6zyLvQsYOvmGiOLU6AS94tY4ClaO1E2oVvjjtVJIRmVLFN61I+DuyBg9hS3cFoPjQRTZB9MRIbxQ==}
engines: {node: 10.* || 12.* || 14.* || 15.* || >= 16.*}
peerDependencies:
ember-source: '>=3.8.0'
dependencies:
'@ember/test-waiters': 3.0.2
- '@embroider/macros': 1.13.0
- '@embroider/util': 1.12.0(ember-source@4.12.0)
+ '@embroider/macros': 1.13.0(@glint/template@1.0.2)
+ '@embroider/util': 1.12.0(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0)
broccoli-debug: 0.6.5
broccoli-funnel: 3.0.8
ember-cli-babel: 7.26.11
@@ -1675,27 +1762,22 @@ packages:
- supports-color
dev: true
- /@embroider/addon-dev@1.8.3(ember-source@4.12.0)(rollup@2.77.0):
- resolution: {integrity: sha512-h3lv3YNZ0v1vnNc+Nvu6KHIos1A/gwsoTe/F4Y9LNHO+2K8Fx7skpevegBL9Wwb4aGaY9y0hS2xktIfBS0V3Qw==}
+ /@embroider/addon-dev@4.1.0(@glint/template@1.0.2)(rollup@3.26.3):
+ resolution: {integrity: sha512-DR9mGlFxcXFIP9jmVbYhy0CwxIzVqMppiIg8at9C+qayr3Wj3SdS7jM95p0kxv3mMgOYs+Z6FsAaj2em6aRs4w==}
engines: {node: 12.* || 14.* || >= 16}
hasBin: true
- peerDependencies:
- ember-source: '*'
- peerDependenciesMeta:
- ember-source:
- optional: true
dependencies:
- '@embroider/core': 1.9.0
+ '@embroider/core': 3.2.1(@glint/template@1.0.2)
'@rollup/pluginutils': 4.2.1
- assert-never: 1.2.1
- ember-source: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.88.2)
+ content-tag: 1.0.1
fs-extra: 10.1.0
minimatch: 3.1.2
- rollup-plugin-copy-assets: 2.0.3(rollup@2.77.0)
+ rollup-plugin-copy-assets: 2.0.3(rollup@3.26.3)
rollup-plugin-delete: 2.0.0
walk-sync: 3.0.0
yargs: 17.7.2
transitivePeerDependencies:
+ - '@glint/template'
- bufferutil
- canvas
- rollup
@@ -1720,7 +1802,6 @@ packages:
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- dev: true
/@embroider/babel-loader-8@2.0.0(@embroider/core@2.1.1)(supports-color@8.1.1)(webpack@5.78.0):
resolution: {integrity: sha512-a1bLodfox8JEgNHuhiIBIcXJ4b8NNnKWYkMIpJx216pn80Jf1jcFosQpxnqC8hYHrnG0XRKzQ9zJYgJXoa1wfg==}
@@ -1787,8 +1868,8 @@ packages:
- utf-8-validate
dev: true
- /@embroider/core@1.9.0:
- resolution: {integrity: sha512-fjPb1pU7a+V9clpfBCa8CHdxbz7hr6azwNw/DqRQIMM272nrOPml65YVsBE24z7NrHdkqHjvmvDQ+qtl6oBhPw==}
+ /@embroider/core@2.1.1:
+ resolution: {integrity: sha512-N4rz+r8WjHYmwprvBYC0iUT4EWNpdDjF7JLl8PEYlWbhXDEJL+Ma/aP78S7spMhIpJX9SHK7nbgNxmZAqAe34A==}
engines: {node: 12.* || 14.* || >= 16}
dependencies:
'@babel/core': 7.18.6(supports-color@8.1.1)
@@ -1797,11 +1878,11 @@ packages:
'@babel/plugin-transform-runtime': 7.22.9(@babel/core@7.18.6)
'@babel/runtime': 7.22.6
'@babel/traverse': 7.22.8(supports-color@8.1.1)
- '@embroider/macros': 1.9.0
- '@embroider/shared-internals': 1.8.3
+ '@embroider/macros': 1.10.0
+ '@embroider/shared-internals': 2.0.0
assert-never: 1.2.1
babel-import-util: 1.4.1
- babel-plugin-ember-template-compilation: 1.0.2
+ babel-plugin-ember-template-compilation: 2.1.1
broccoli-node-api: 1.7.0
broccoli-persistent-filter: 3.1.3
broccoli-plugin: 4.0.7
@@ -1818,10 +1899,8 @@ packages:
lodash: 4.17.21
resolve: 1.22.2
resolve-package-path: 4.0.3
- strip-bom: 4.0.0
typescript-memoize: 1.1.1
walk-sync: 3.0.0
- wrap-legacy-hbs-plugin-if-needed: 1.0.1
transitivePeerDependencies:
- bufferutil
- canvas
@@ -1829,29 +1908,24 @@ packages:
- utf-8-validate
dev: true
- /@embroider/core@2.1.1:
- resolution: {integrity: sha512-N4rz+r8WjHYmwprvBYC0iUT4EWNpdDjF7JLl8PEYlWbhXDEJL+Ma/aP78S7spMhIpJX9SHK7nbgNxmZAqAe34A==}
+ /@embroider/core@3.2.1(@glint/template@1.0.2):
+ resolution: {integrity: sha512-GhKc9pqPcbKpvUkhTnRqJhr3Pc4xslnzhrGQqBDBNwOZ0/zUU02wpiB+PmiA3+mZFTZNQoUCq4A7vm5dXraQug==}
engines: {node: 12.* || 14.* || >= 16}
dependencies:
'@babel/core': 7.18.6(supports-color@8.1.1)
'@babel/parser': 7.22.7
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.18.6)
- '@babel/plugin-transform-runtime': 7.22.9(@babel/core@7.18.6)
- '@babel/runtime': 7.22.6
'@babel/traverse': 7.22.8(supports-color@8.1.1)
- '@embroider/macros': 1.10.0
- '@embroider/shared-internals': 2.0.0
+ '@embroider/macros': 1.13.1(@glint/template@1.0.2)
+ '@embroider/shared-internals': 2.4.0
assert-never: 1.2.1
- babel-import-util: 1.4.1
babel-plugin-ember-template-compilation: 2.1.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(supports-color@8.1.1)
- escape-string-regexp: 4.0.0
fast-sourcemap-concat: 1.4.0
- filesize: 5.0.3
+ filesize: 10.0.7
fs-extra: 9.1.0
fs-tree-diff: 2.0.1
handlebars: 4.7.7
@@ -1863,6 +1937,7 @@ packages:
typescript-memoize: 1.1.1
walk-sync: 3.0.0
transitivePeerDependencies:
+ - '@glint/template'
- bufferutil
- canvas
- supports-color
@@ -1880,20 +1955,6 @@ packages:
webpack: 5.78.0
dev: true
- /@embroider/macros@0.39.1:
- resolution: {integrity: sha512-2T8g/M3JIfW+qf7HJ2zYBJ7EnxNyi3BzfAozAeqZhiUW0uppP5J9cKYevWAiAEaOFmVf1oGv5KrDgl0Tp9IKdQ==}
- engines: {node: 10.* || 12.* || >= 14}
- dependencies:
- '@embroider/shared-internals': 0.39.1
- assert-never: 1.2.1
- ember-cli-babel: 7.26.11
- lodash: 4.17.21
- resolve: 1.22.2
- semver: 7.5.4
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/@embroider/macros@1.0.0:
resolution: {integrity: sha512-RutDJ27j1eFQulyv83yJm27oSypsMd/UZyy62Q0NU00TIsIgQPCXaDiGIONWcJuAAVbtBRP3X4LMvaBAeq5g+A==}
engines: {node: 12.* || 14.* || >= 16}
@@ -1925,7 +1986,7 @@ packages:
- supports-color
dev: true
- /@embroider/macros@1.13.0:
+ /@embroider/macros@1.13.0(@glint/template@1.0.2):
resolution: {integrity: sha512-V89lvlNPIjcvbuew+FLxcCcgdPO0cZrgHHmX6dHO3TpiweC5G6DN4/QogvdnSprPvWOMQS9u3bSFmR7DBkmSgg==}
engines: {node: 12.* || 14.* || >= 16}
peerDependencies:
@@ -1935,6 +1996,7 @@ packages:
optional: true
dependencies:
'@embroider/shared-internals': 2.3.0
+ '@glint/template': 1.0.2
assert-never: 1.2.1
babel-import-util: 2.0.0
ember-cli-babel: 7.26.11
@@ -1945,13 +2007,19 @@ packages:
transitivePeerDependencies:
- supports-color
- /@embroider/macros@1.9.0:
- resolution: {integrity: sha512-12ElrRT+mX3aSixGHjHnfsnyoH1hw5nM+P+Ax0ITZdp6TaAvWZ8dENnVHltdnv4ssHiX0EsVEXmqbIIdMN4nLA==}
+ /@embroider/macros@1.13.1(@glint/template@1.0.2):
+ resolution: {integrity: sha512-4htraP/rNIht8uCxXoc59Bw2EsBFfc4YUQD9XSpzJ4xUr1V0GQf9wL/noeSuYSxIhwRfZOErnJhsdyf1hH+I/A==}
engines: {node: 12.* || 14.* || >= 16}
+ peerDependencies:
+ '@glint/template': ^1.0.0
+ peerDependenciesMeta:
+ '@glint/template':
+ optional: true
dependencies:
- '@embroider/shared-internals': 1.8.3
+ '@embroider/shared-internals': 2.4.0
+ '@glint/template': 1.0.2
assert-never: 1.2.1
- babel-import-util: 1.4.1
+ babel-import-util: 2.0.0
ember-cli-babel: 7.26.11
find-up: 5.0.0
lodash: 4.17.21
@@ -1959,20 +2027,6 @@ packages:
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- dev: true
-
- /@embroider/shared-internals@0.39.1:
- resolution: {integrity: sha512-fpENfZqPWd/JUlmpAW1pN967rxSoUg7dTGmkgtAt+UZQh/d4XMeyUGGHTkRToboKa0W19xRu64RZ9LT94xUkeQ==}
- engines: {node: 10.* || 12.* || >= 14}
- dependencies:
- ember-rfc176-data: 0.3.18
- fs-extra: 7.0.1
- lodash: 4.17.21
- pkg-up: 3.1.0
- resolve-package-path: 1.2.7
- semver: 7.5.4
- typescript-memoize: 1.1.1
- dev: false
/@embroider/shared-internals@1.0.0:
resolution: {integrity: sha512-Vx3dmejJxI5MG/qC7or3EUZY0AZBSBNOAR50PYotX3LxUSb4lAm5wISPnFbwEY4bbo2VhL/6XtWjMv8ZMcaP+g==}
@@ -1998,6 +2052,7 @@ packages:
resolve-package-path: 4.0.3
semver: 7.5.4
typescript-memoize: 1.1.1
+ dev: false
/@embroider/shared-internals@2.0.0:
resolution: {integrity: sha512-qZ2/xky9mWm5YC6noOa6AiAwgISEQ78YTZNv4SNu2PFgEK/H+Ha/3ddngzGSsnXkVnIHZyxIBzhxETonQYHY9g==}
@@ -2029,6 +2084,22 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@embroider/shared-internals@2.4.0:
+ resolution: {integrity: sha512-pFE05ebenWMC9XAPRjadYCXXb6VmqjkhYN5uqkhPo+VUmMHnx7sZYYxqGjxfVuhC/ghS/BNlOffOCXDOoE7k7g==}
+ engines: {node: 12.* || 14.* || >= 16}
+ dependencies:
+ babel-import-util: 2.0.0
+ debug: 4.3.4(supports-color@8.1.1)
+ ember-rfc176-data: 0.3.18
+ fs-extra: 9.1.0
+ js-string-escape: 1.0.1
+ lodash: 4.17.21
+ resolve-package-path: 4.0.3
+ semver: 7.5.4
+ typescript-memoize: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+
/@embroider/test-setup@1.8.3:
resolution: {integrity: sha512-BCCbBG7UWkCw+cQ401Ip6LnqTRaQDeKImxR+e7Q4oP6H4EBj7p4iGR1z6fhMy4NNyXKPB6jk3bGa9bTiiNoEAw==}
engines: {node: 12.* || 14.* || >= 16}
@@ -2037,18 +2108,29 @@ packages:
resolve: 1.22.2
dev: true
- /@embroider/util@0.39.1:
- resolution: {integrity: sha512-3sQlpEjOXt03sId8ZYGWjm6SdQaR78Ppa6LwLon76kYsDM8J2hRXY1Zcpt1rKTSuOyXs/0Pc5+ri1MNfJKD3DA==}
- engines: {node: 10.* || >= 12}
+ /@embroider/util@1.12.0(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0):
+ resolution: {integrity: sha512-P4M1QADEH9ceIYC9mwHeV+6DDgEIQQYFfZi728nVKqTAxakXoiLgu/BCyQmEGyow9fYEPYaC1boDCZxW2JQAXg==}
+ engines: {node: 14.* || >= 16}
+ peerDependencies:
+ '@glint/environment-ember-loose': ^1.0.0
+ '@glint/template': ^1.0.0
+ ember-source: '*'
+ peerDependenciesMeta:
+ '@glint/environment-ember-loose':
+ optional: true
+ '@glint/template':
+ optional: true
dependencies:
- '@embroider/macros': 0.39.1
- broccoli-funnel: github.com/ef4/broccoli-funnel/c70d060076e14793e8495571f304a976afc754ac
+ '@embroider/macros': 1.13.1(@glint/template@1.0.2)
+ '@glint/environment-ember-loose': 1.0.2(@glimmer/component@1.1.2)(@glint/template@1.0.2)(ember-cli-htmlbars@6.2.0)(ember-modifier@4.1.0)
+ '@glint/template': 1.0.2
+ broccoli-funnel: 3.0.8
ember-cli-babel: 7.26.11
+ ember-source: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.78.0)
transitivePeerDependencies:
- supports-color
- dev: false
- /@embroider/util@1.12.0(ember-source@4.12.0):
+ /@embroider/util@1.12.0(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.3):
resolution: {integrity: sha512-P4M1QADEH9ceIYC9mwHeV+6DDgEIQQYFfZi728nVKqTAxakXoiLgu/BCyQmEGyow9fYEPYaC1boDCZxW2JQAXg==}
engines: {node: 14.* || >= 16}
peerDependencies:
@@ -2061,12 +2143,15 @@ packages:
'@glint/template':
optional: true
dependencies:
- '@embroider/macros': 1.13.0
+ '@embroider/macros': 1.13.1(@glint/template@1.0.2)
+ '@glint/environment-ember-loose': 1.0.2(@glimmer/component@1.1.2)(@glint/template@1.0.2)(ember-cli-htmlbars@6.2.0)(ember-modifier@4.1.0)
+ '@glint/template': 1.0.2
broccoli-funnel: 3.0.8
ember-cli-babel: 7.26.11
- ember-source: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.78.0)
+ ember-source: 4.12.3(@babel/core@7.18.6)(@glimmer/component@1.1.2)(@glint/template@1.0.2)(webpack@5.88.2)
transitivePeerDependencies:
- supports-color
+ dev: false
/@embroider/webpack@2.1.1(@embroider/core@2.1.1)(webpack@5.78.0):
resolution: {integrity: sha512-1IzXXexv/QxDyk4N6kamtiTk92HszlaQZXGB+xhnRCMY4F7Hgxad4gSPvnSy/oSkbHTMWSGjCTS5e4tQcUC8Cg==}
@@ -2104,6 +2189,16 @@ packages:
- utf-8-validate
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.1
+ dev: true
+
/@eslint-community/eslint-utils@4.4.0(eslint@8.37.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2183,13 +2278,6 @@ packages:
/@glimmer/di@0.1.11:
resolution: {integrity: sha512-moRwafNDwHTnTHzyyZC9D+mUSvYrs1Ak0tRPjjmCghdoHHIvMshVbEnwKb/1WmW5CUlKc2eL9rlAV32n3GiItg==}
- /@glimmer/encoder@0.42.2:
- resolution: {integrity: sha512-8xkdly0i0BP5HMI0suPB9ly0AnEq8x9Z8j3Gee1HYIovM5VLNtmh7a8HsaHYRs/xHmBEZcqtr8JV89w6F59YMQ==}
- dependencies:
- '@glimmer/interfaces': 0.42.2
- '@glimmer/vm': 0.42.2
- dev: true
-
/@glimmer/env@0.1.7:
resolution: {integrity: sha512-JKF/a9I9jw6fGoz8kA7LEQslrwJ5jms5CXhu/aqkBWk+PmZ6pTl8mlb/eJ/5ujBGTiQzBhy5AIWF712iA+4/mw==}
@@ -2199,33 +2287,11 @@ packages:
'@glimmer/env': 0.1.7
dev: true
- /@glimmer/interfaces@0.42.2:
- resolution: {integrity: sha512-7LOuQd02cxxNNHChzdHMAU8/qOeQvTro141CU5tXITP7z6aOv2D2gkFdau97lLQiVxezGrh8J7h8GCuF7TEqtg==}
- dev: true
-
/@glimmer/interfaces@0.84.3:
resolution: {integrity: sha512-dk32ykoNojt0mvEaIW6Vli5MGTbQo58uy3Epj7ahCgTHmWOKuw/0G83f2UmFprRwFx689YTXG38I/vbpltEjzg==}
dependencies:
'@simple-dom/interface': 1.4.0
- /@glimmer/low-level@0.42.2:
- resolution: {integrity: sha512-s+Q44SnKdTBTnkgX0deBlVNnNPVas+Pg8xEnwky9VrUqOHKsIZRrPgfVULeC6bIdFXtXOKm5CjTajhb9qnQbXQ==}
- dev: true
-
- /@glimmer/program@0.42.2:
- resolution: {integrity: sha512-XpQ6EYzA1VL9ESKoih5XW5JftFmlRvwy3bF/I1ABOa3yLIh8mApEwrRI/sIHK0Nv5s1j0uW4itVF196WxnJXgw==}
- dependencies:
- '@glimmer/encoder': 0.42.2
- '@glimmer/interfaces': 0.42.2
- '@glimmer/util': 0.42.2
- dev: true
-
- /@glimmer/reference@0.42.2:
- resolution: {integrity: sha512-XuhbRjr3M9Q/DP892jGxVfPE6jaGGHu5w9ppGMnuTY7Vm/x+A+68MCiaREhDcEwJlzGg4UkfVjU3fdgmUIrc5Q==}
- dependencies:
- '@glimmer/util': 0.42.2
- dev: true
-
/@glimmer/reference@0.84.3:
resolution: {integrity: sha512-lV+p/aWPVC8vUjmlvYVU7WQJsLh319SdXuAWoX/SE3pq340BJlAJiEcAc6q52y9JNhT57gMwtjMX96W5Xcx/qw==}
dependencies:
@@ -2236,27 +2302,6 @@ packages:
'@glimmer/validator': 0.84.3
dev: true
- /@glimmer/runtime@0.42.2:
- resolution: {integrity: sha512-52LVZJsLKM3GzI3TEmYcw2LdI9Uk0jotISc3w2ozQBWvkKoYxjDNvI/gsjyMpenj4s7FcG2ggOq0x4tNFqm1GA==}
- dependencies:
- '@glimmer/interfaces': 0.42.2
- '@glimmer/low-level': 0.42.2
- '@glimmer/program': 0.42.2
- '@glimmer/reference': 0.42.2
- '@glimmer/util': 0.42.2
- '@glimmer/vm': 0.42.2
- '@glimmer/wire-format': 0.42.2
- dev: true
-
- /@glimmer/syntax@0.42.2:
- resolution: {integrity: sha512-SR26SmF/Mb5o2cc4eLHpOyoX5kwwXP4KRhq4fbWfrvan74xVWA38PLspPCzwGhyVH/JsE7tUEPMjSo2DcJge/Q==}
- dependencies:
- '@glimmer/interfaces': 0.42.2
- '@glimmer/util': 0.42.2
- handlebars: 4.7.7
- simple-html-tokenizer: 0.5.11
- dev: true
-
/@glimmer/syntax@0.84.3:
resolution: {integrity: sha512-ioVbTic6ZisLxqTgRBL2PCjYZTFIwobifCustrozRU2xGDiYvVIL0vt25h2c1ioDsX59UgVlDkIK4YTAQQSd2A==}
dependencies:
@@ -2272,10 +2317,6 @@ packages:
'@glimmer/validator': 0.44.0
dev: true
- /@glimmer/util@0.42.2:
- resolution: {integrity: sha512-Heck0baFSaWDanCYtmOcLeaz7v+rSqI8ovS7twrp2/FWEteb3Ze5sWQ2BEuSAG23L/k/lzVwYM/MY7ZugxBpaA==}
- dev: true
-
/@glimmer/util@0.44.0:
resolution: {integrity: sha512-duAsm30uVK9jSysElCbLyU6QQYO2X9iLDLBIBUcCqck9qN1o3tK2qWiHbGK5d6g8E2AJ4H88UrfElkyaJlGrwg==}
@@ -2304,20 +2345,87 @@ packages:
transitivePeerDependencies:
- '@babel/core'
- /@glimmer/vm@0.42.2:
- resolution: {integrity: sha512-D2MNU5glICLqvet5SfVPrv+l6JNK2TR+CdQhch1Ew+btOoqlW+2LIJIF/5wLb1POjIMEkt+78t/7RN0mDFXGzw==}
+ /@glint/core@1.0.2(typescript@5.1.6):
+ resolution: {integrity: sha512-0bVt/lT/NurpD8nBG9RTPKYlcpg51UDGCKgLoBEFOiTXv3aCSxAVKPud1IYaitGBKE0C+s5pl2PHkgptotVS+w==}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=4.8.0'
dependencies:
- '@glimmer/interfaces': 0.42.2
- '@glimmer/util': 0.42.2
+ '@glimmer/syntax': 0.84.3
+ escape-string-regexp: 4.0.0
+ semver: 7.5.4
+ silent-error: 1.1.1
+ typescript: 5.1.6
+ uuid: 8.3.2
+ vscode-languageserver: 8.1.0
+ vscode-languageserver-textdocument: 1.0.8
+ vscode-uri: 3.0.7
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /@glimmer/wire-format@0.42.2:
- resolution: {integrity: sha512-IqUo6mdJ7GRsK7KCyZxrc17ioSg9RBniEnb418ZMQxsV/WBv9NQ359MuClUck2M24z1AOXo4TerUw0U7+pb1/A==}
+ /@glint/environment-ember-loose@1.0.2(@glimmer/component@1.1.2)(@glint/template@1.0.2)(ember-cli-htmlbars@6.2.0)(ember-modifier@4.1.0):
+ resolution: {integrity: sha512-tVLYzAx6c/4vcSaijiAubwR27/+K2tujuozArxeNud58MTwncGxhUkCHSM9xl+wn4VJjsjkzI6+nmzjEdkszSg==}
+ peerDependencies:
+ '@glimmer/component': ^1.1.2
+ '@glint/template': ^1.0.2
+ '@types/ember__array': ^4.0.2
+ '@types/ember__component': ^4.0.10
+ '@types/ember__controller': ^4.0.2
+ '@types/ember__object': ^4.0.4
+ '@types/ember__routing': ^4.0.11
+ ember-cli-htmlbars: ^6.0.1
+ ember-modifier: ^3.2.7 || ^4.0.0
+ peerDependenciesMeta:
+ '@types/ember__array':
+ optional: true
+ '@types/ember__component':
+ optional: true
+ '@types/ember__controller':
+ optional: true
+ '@types/ember__object':
+ optional: true
+ '@types/ember__routing':
+ optional: true
+ ember-cli-htmlbars:
+ optional: true
+ ember-modifier:
+ optional: true
dependencies:
- '@glimmer/interfaces': 0.42.2
- '@glimmer/util': 0.42.2
+ '@glimmer/component': 1.1.2(@babel/core@7.18.6)
+ '@glint/template': 1.0.2
+ ember-cli-htmlbars: 6.2.0
+ ember-modifier: 4.1.0(ember-source@4.12.0)
+
+ /@glint/environment-ember-template-imports@1.0.2(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-template-imports@3.4.2):
+ resolution: {integrity: sha512-PAH7obVGXPFU7gLb04JVlqiNtz/j7Q29BBTAyhS7EVy99Hc6CPe+nV6+xhUPKu/S5GOVn3MWehVt/6gXPJ+cnA==}
+ peerDependencies:
+ '@glint/environment-ember-loose': ^1.0.2
+ '@glint/template': ^1.0.2
+ '@types/ember__component': ^4.0.10
+ '@types/ember__helper': ^4.0.1
+ '@types/ember__modifier': ^4.0.3
+ '@types/ember__routing': ^4.0.12
+ ember-template-imports: ^3.0.0
+ peerDependenciesMeta:
+ '@types/ember__component':
+ optional: true
+ '@types/ember__helper':
+ optional: true
+ '@types/ember__modifier':
+ optional: true
+ '@types/ember__routing':
+ optional: true
+ dependencies:
+ '@glint/environment-ember-loose': 1.0.2(@glimmer/component@1.1.2)(@glint/template@1.0.2)(ember-cli-htmlbars@6.2.0)(ember-modifier@4.1.0)
+ '@glint/template': 1.0.2
+ ember-template-imports: 3.4.2
dev: true
+ /@glint/template@1.0.2:
+ resolution: {integrity: sha512-kFWfJrS7XM0NjC5YSN0CWA9FiN0mhUvWVlQ2O7YRz/uhrO8+TVYNLst0WKELRbfCXbdI7wyYQkazNgz6FoL9CA==}
+
/@handlebars/parser@2.0.0:
resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==}
@@ -2565,33 +2673,41 @@ packages:
'@octokit/openapi-types': 12.11.0
dev: true
- /@rollup/plugin-babel@5.3.1(@babel/core@7.18.6)(rollup@2.77.0):
- resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
- engines: {node: '>= 10.0.0'}
+ /@rollup/plugin-babel@6.0.3(@babel/core@7.18.6)(rollup@3.26.3):
+ resolution: {integrity: sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==}
+ engines: {node: '>=14.0.0'}
peerDependencies:
'@babel/core': ^7.0.0
'@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0
+ rollup: ^1.20.0||^2.0.0||^3.0.0
peerDependenciesMeta:
'@types/babel__core':
optional: true
+ rollup:
+ optional: true
dependencies:
'@babel/core': 7.18.6(supports-color@8.1.1)
'@babel/helper-module-imports': 7.22.5
- '@rollup/pluginutils': 3.1.0(rollup@2.77.0)
- rollup: 2.77.0
+ '@rollup/pluginutils': 5.0.2(rollup@3.26.3)
+ rollup: 3.26.3
dev: true
- /@rollup/pluginutils@3.1.0(rollup@2.77.0):
- resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
- engines: {node: '>= 8.0.0'}
+ /@rollup/plugin-node-resolve@15.1.0(rollup@3.26.3):
+ resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==}
+ engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0
+ rollup: ^2.78.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
dependencies:
- '@types/estree': 0.0.39
- estree-walker: 1.0.1
- picomatch: 2.3.1
- rollup: 2.77.0
+ '@rollup/pluginutils': 5.0.2(rollup@3.26.3)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.2
+ rollup: 3.26.3
dev: true
/@rollup/pluginutils@4.2.1:
@@ -2602,6 +2718,21 @@ packages:
picomatch: 2.3.1
dev: true
+ /@rollup/pluginutils@5.0.2(rollup@3.26.3):
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.1
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 3.26.3
+ dev: true
+
/@simple-dom/interface@1.4.0:
resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==}
@@ -2638,6 +2769,10 @@ packages:
engines: {node: '>= 6'}
dev: true
+ /@tsconfig/ember@3.0.0:
+ resolution: {integrity: sha512-KF9F9f4i+8LE31OKS014n5uEDt1mB/6ZvyQz/Mam28nAKDTSMBlOWHgTOj0TY8l4BfbEE+BgUuWCSoUHhb2BMw==}
+ dev: true
+
/@types/acorn@4.0.6:
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
dependencies:
@@ -2709,10 +2844,6 @@ packages:
'@types/estree': 0.0.51
'@types/json-schema': 7.0.12
- /@types/estree@0.0.39:
- resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
- dev: true
-
/@types/estree@0.0.51:
resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
@@ -2829,6 +2960,10 @@ packages:
resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==}
dev: true
+ /@types/resolve@1.20.2:
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+ dev: true
+
/@types/responselike@1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
dependencies:
@@ -2841,6 +2976,14 @@ packages:
'@types/glob': 8.1.0
'@types/node': 20.4.5
+ /@types/rsvp@4.0.4:
+ resolution: {integrity: sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg==}
+ dev: true
+
+ /@types/semver@7.5.0:
+ resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
+ dev: true
+
/@types/send@0.17.1:
resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==}
dependencies:
@@ -2878,69 +3021,212 @@ packages:
resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
dev: true
- /@types/yargs@17.0.24:
- resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==}
+ /@types/yargs@17.0.24:
+ resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==}
+ dependencies:
+ '@types/yargs-parser': 21.0.0
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@5.30.6(@typescript-eslint/parser@5.30.6)(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
+ '@typescript-eslint/scope-manager': 5.30.6
+ '@typescript-eslint/type-utils': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
+ '@typescript-eslint/utils': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
+ debug: 4.3.4(supports-color@8.1.1)
+ eslint: 7.32.0
+ functional-red-black-tree: 1.0.1
+ ignore: 5.2.4
+ regexpp: 3.2.0
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.6.2
+ '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.1.6)
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/type-utils': 5.62.0(eslint@7.32.0)(typescript@5.1.6)
+ '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.1.6)
+ debug: 4.3.4(supports-color@8.1.1)
+ eslint: 7.32.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.37.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.6.2
+ '@typescript-eslint/parser': 5.62.0(eslint@8.37.0)(typescript@5.1.6)
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/type-utils': 5.62.0(eslint@8.37.0)(typescript@5.1.6)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.37.0)(typescript@5.1.6)
+ debug: 4.3.4(supports-color@8.1.1)
+ eslint: 8.37.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@5.30.6(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.30.6
+ '@typescript-eslint/types': 5.30.6
+ '@typescript-eslint/typescript-estree': 5.30.6(typescript@5.1.6)
+ debug: 4.3.4(supports-color@8.1.1)
+ eslint: 7.32.0
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ debug: 4.3.4(supports-color@8.1.1)
+ eslint: 7.32.0
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@5.62.0(eslint@8.37.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ debug: 4.3.4(supports-color@8.1.1)
+ eslint: 8.37.0
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager@5.30.6:
+ resolution: {integrity: sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.30.6
+ '@typescript-eslint/visitor-keys': 5.30.6
+ dev: true
+
+ /@typescript-eslint/scope-manager@5.62.0:
+ resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@types/yargs-parser': 21.0.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
dev: true
- /@typescript-eslint/eslint-plugin@5.30.6(@typescript-eslint/parser@5.30.6)(eslint@7.32.0)(typescript@5.1.6):
- resolution: {integrity: sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg==}
+ /@typescript-eslint/type-utils@5.30.6(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
- '@typescript-eslint/parser': ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ eslint: '*'
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
- '@typescript-eslint/scope-manager': 5.30.6
- '@typescript-eslint/type-utils': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
'@typescript-eslint/utils': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
debug: 4.3.4(supports-color@8.1.1)
eslint: 7.32.0
- functional-red-black-tree: 1.0.1
- ignore: 5.2.4
- regexpp: 3.2.0
- semver: 7.5.4
tsutils: 3.21.0(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@5.30.6(eslint@7.32.0)(typescript@5.1.6):
- resolution: {integrity: sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA==}
+ /@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ eslint: '*'
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.30.6
- '@typescript-eslint/types': 5.30.6
- '@typescript-eslint/typescript-estree': 5.30.6(typescript@5.1.6)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.1.6)
debug: 4.3.4(supports-color@8.1.1)
eslint: 7.32.0
+ tsutils: 3.21.0(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager@5.30.6:
- resolution: {integrity: sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.30.6
- '@typescript-eslint/visitor-keys': 5.30.6
- dev: true
-
- /@typescript-eslint/type-utils@5.30.6(eslint@7.32.0)(typescript@5.1.6):
- resolution: {integrity: sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA==}
+ /@typescript-eslint/type-utils@5.62.0(eslint@8.37.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -2949,9 +3235,10 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/utils': 5.30.6(eslint@7.32.0)(typescript@5.1.6)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.37.0)(typescript@5.1.6)
debug: 4.3.4(supports-color@8.1.1)
- eslint: 7.32.0
+ eslint: 8.37.0
tsutils: 3.21.0(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
@@ -2963,6 +3250,11 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
+ /@typescript-eslint/types@5.62.0:
+ resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
/@typescript-eslint/typescript-estree@5.30.6(typescript@5.1.6):
resolution: {integrity: sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2984,6 +3276,27 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6):
+ resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ debug: 4.3.4(supports-color@8.1.1)
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/utils@5.30.6(eslint@7.32.0)(typescript@5.1.6):
resolution: {integrity: sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3002,6 +3315,46 @@ packages:
- typescript
dev: true
+ /@typescript-eslint/utils@5.62.0(eslint@7.32.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.0
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ eslint: 7.32.0
+ eslint-scope: 5.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@5.62.0(eslint@8.37.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.37.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.0
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ eslint: 8.37.0
+ eslint-scope: 5.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
/@typescript-eslint/visitor-keys@5.30.6:
resolution: {integrity: sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3010,6 +3363,14 @@ packages:
eslint-visitor-keys: 3.4.1
dev: true
+ /@typescript-eslint/visitor-keys@5.62.0:
+ resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
/@webassemblyjs/ast@1.11.1:
resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==}
dependencies:
@@ -3632,7 +3993,6 @@ packages:
username-sync: 1.0.3
transitivePeerDependencies:
- supports-color
- dev: true
/async-promise-queue@1.0.5:
resolution: {integrity: sha512-xi0aQ1rrjPWYmqbwr18rrSKbSaXIeIwSd1J4KAgVfkq8utNbdZoht7GfvfY6swFUAMJ9obkc4WPJmtGwl+B8dw==}
@@ -3892,16 +4252,6 @@ packages:
dependencies:
ember-rfc176-data: 0.3.18
- /babel-plugin-ember-template-compilation@1.0.2:
- resolution: {integrity: sha512-4HBMksmlYsWEf/C/n3uW5rkBRbUp4FNaspzdQTAHgLbfCJnkLze8R6i6sUSge48y/Wne7mx+vcImI1o6rlUwXQ==}
- engines: {node: '>= 12.*'}
- dependencies:
- babel-import-util: 1.4.1
- line-column: 1.0.2
- magic-string: 0.26.7
- string.prototype.matchall: 4.0.8
- dev: true
-
/babel-plugin-ember-template-compilation@2.1.1:
resolution: {integrity: sha512-vwEUw7qfwAgwUokQc5xMxrcJMhCu2dVvDDMIXFyOpXwxt+kqZ2FKvXFV+rJjYchIgHH5rBduEtt4Qk1qeZ6RDA==}
engines: {node: '>= 12.*'}
@@ -4782,7 +5132,6 @@ packages:
sync-disk-cache: 2.1.0
transitivePeerDependencies:
- supports-color
- dev: true
/broccoli-plugin@1.3.1:
resolution: {integrity: sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==}
@@ -4956,6 +5305,11 @@ packages:
ieee754: 1.2.1
dev: true
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
/builtins@5.0.1:
resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
dependencies:
@@ -5706,6 +6060,10 @@ packages:
safe-buffer: 5.2.1
dev: true
+ /content-tag@1.0.1:
+ resolution: {integrity: sha512-7NqA1EmPLgpahxyz8NdLwJVbBzjwHCOsvrKsl1ISfpNNd2Sy/nPSWj4+1HacDMMm8yYoM3Bj2EiCrC9F4ktifg==}
+ dev: true
+
/content-type@1.0.5:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
@@ -6028,6 +6386,11 @@ packages:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/defaults@1.0.4:
resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
dependencies:
@@ -6203,7 +6566,6 @@ packages:
dependencies:
errlop: 2.2.0
semver: 6.3.1
- dev: true
/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
@@ -6212,17 +6574,17 @@ packages:
/electron-to-chromium@1.4.471:
resolution: {integrity: sha512-GpmGRC1vTl60w/k6YpQ18pSiqnmr0j3un//5TV1idPi6aheNfkT1Ye71tMEabWyNDO6sBMgAR+95Eb0eUUr1tA==}
- /ember-auto-import@2.6.3(webpack@5.78.0):
+ /ember-auto-import@2.6.3(@glint/template@1.0.2)(webpack@5.88.2):
resolution: {integrity: sha512-uLhrRDJYWCRvQ4JQ1e64XlSrqAKSd6PXaJ9ZsZI6Tlms9T4DtQFxNXasqji2ZRJBVrxEoLCRYX3RTldsQ0vNGQ==}
engines: {node: 12.* || 14.* || >= 16}
dependencies:
'@babel/core': 7.18.6(supports-color@8.1.1)
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.18.6)
- '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.18.6)
+ '@babel/plugin-proposal-decorators': 7.22.7(@babel/core@7.18.6)
'@babel/preset-env': 7.22.9(@babel/core@7.18.6)
- '@embroider/macros': 1.0.0
+ '@embroider/macros': 1.13.0(@glint/template@1.0.2)
'@embroider/shared-internals': 2.3.0
- babel-loader: 8.3.0(@babel/core@7.18.6)(webpack@5.78.0)
+ babel-loader: 8.3.0(@babel/core@7.18.6)(webpack@5.88.2)
babel-plugin-ember-modules-api-polyfill: 3.5.0
babel-plugin-ember-template-compilation: 2.1.1
babel-plugin-htmlbars-inline-precompile: 5.3.1
@@ -6232,36 +6594,37 @@ packages:
broccoli-merge-trees: 4.2.0
broccoli-plugin: 4.0.7
broccoli-source: 3.0.1
- css-loader: 5.2.7(webpack@5.78.0)
+ css-loader: 5.2.7(webpack@5.88.2)
debug: 4.3.4(supports-color@8.1.1)
fs-extra: 10.1.0
fs-tree-diff: 2.0.1
handlebars: 4.7.7
js-string-escape: 1.0.1
lodash: 4.17.21
- mini-css-extract-plugin: 2.7.6(webpack@5.78.0)
+ mini-css-extract-plugin: 2.7.6(webpack@5.88.2)
parse5: 6.0.1
resolve: 1.22.2
resolve-package-path: 4.0.3
semver: 7.5.4
- style-loader: 2.0.0(webpack@5.78.0)
+ style-loader: 2.0.0(webpack@5.88.2)
typescript-memoize: 1.1.1
walk-sync: 3.0.0
transitivePeerDependencies:
+ - '@glint/template'
- supports-color
- webpack
- /ember-auto-import@2.6.3(webpack@5.88.2):
+ /ember-auto-import@2.6.3(webpack@5.78.0):
resolution: {integrity: sha512-uLhrRDJYWCRvQ4JQ1e64XlSrqAKSd6PXaJ9ZsZI6Tlms9T4DtQFxNXasqji2ZRJBVrxEoLCRYX3RTldsQ0vNGQ==}
engines: {node: 12.* || 14.* || >= 16}
dependencies:
'@babel/core': 7.18.6(supports-color@8.1.1)
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.18.6)
- '@babel/plugin-proposal-decorators': 7.22.7(@babel/core@7.18.6)
+ '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.18.6)
'@babel/preset-env': 7.22.9(@babel/core@7.18.6)
- '@embroider/macros': 1.13.0
+ '@embroider/macros': 1.0.0
'@embroider/shared-internals': 2.3.0
- babel-loader: 8.3.0(@babel/core@7.18.6)(webpack@5.88.2)
+ babel-loader: 8.3.0(@babel/core@7.18.6)(webpack@5.78.0)
babel-plugin-ember-modules-api-polyfill: 3.5.0
babel-plugin-ember-template-compilation: 2.1.1
babel-plugin-htmlbars-inline-precompile: 5.3.1
@@ -6271,23 +6634,22 @@ packages:
broccoli-merge-trees: 4.2.0
broccoli-plugin: 4.0.7
broccoli-source: 3.0.1
- css-loader: 5.2.7(webpack@5.88.2)
+ css-loader: 5.2.7(webpack@5.78.0)
debug: 4.3.4(supports-color@8.1.1)
fs-extra: 10.1.0
fs-tree-diff: 2.0.1
handlebars: 4.7.7
js-string-escape: 1.0.1
lodash: 4.17.21
- mini-css-extract-plugin: 2.7.6(webpack@5.88.2)
+ mini-css-extract-plugin: 2.7.6(webpack@5.78.0)
parse5: 6.0.1
resolve: 1.22.2
resolve-package-path: 4.0.3
semver: 7.5.4
- style-loader: 2.0.0(webpack@5.88.2)
+ style-loader: 2.0.0(webpack@5.78.0)
typescript-memoize: 1.1.1
walk-sync: 3.0.0
transitivePeerDependencies:
- - '@glint/template'
- supports-color
- webpack
@@ -6408,7 +6770,6 @@ 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==}
@@ -6805,7 +7166,6 @@ packages:
ember-source: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.78.0)
transitivePeerDependencies:
- supports-color
- dev: true
/ember-page-title@7.0.0:
resolution: {integrity: sha512-oq6+HYbeVD/BnxIO5AkP4gWlsatdgW2HFO10F8+XQiJZrwa7cC7Wm54JNGqQkavkDQTgNSiy1Fe2NILJ14MmAg==}
@@ -6824,7 +7184,7 @@ packages:
ember-source: '>=3.28'
qunit: ^2.13.0
dependencies:
- '@ember/test-helpers': 2.9.3(@babel/core@7.18.6)(ember-source@4.12.0)
+ '@ember/test-helpers': 2.9.3(@babel/core@7.18.6)(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0)
broccoli-funnel: 3.0.8
broccoli-merge-trees: 3.0.2
common-tags: 1.8.2
@@ -6841,7 +7201,7 @@ packages:
- webpack
dev: true
- /ember-resolver@10.0.0(@ember/string@3.0.1)(ember-source@4.12.0):
+ /ember-resolver@10.0.0(@ember/string@3.1.1)(ember-source@4.12.0):
resolution: {integrity: sha512-e99wFJ4ZpleJ6JMEcIk4WEYP4s3nc+9/iNSXtwBHXC8ADJHJTeN3HjnT/eEbFbswdui4FYxIYuK+UCdP09811Q==}
engines: {node: 14.* || 16.* || >= 18}
peerDependencies:
@@ -6851,7 +7211,7 @@ packages:
ember-source:
optional: true
dependencies:
- '@ember/string': 3.0.1
+ '@ember/string': 3.1.1
ember-cli-babel: 7.26.11
ember-source: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.78.0)
transitivePeerDependencies:
@@ -6919,8 +7279,8 @@ packages:
- supports-color
- webpack
- /ember-source@4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.88.2):
- resolution: {integrity: sha512-h0lV902A4Mny2eiqXPy15uXXoCc7BnUegE4axLAy4IoxEkJ1o5h0aLJFiB4Tzb1htx8vgHjJz//Y5Jig7NSDTw==}
+ /ember-source@4.12.3(@babel/core@7.18.6)(@glimmer/component@1.1.2)(@glint/template@1.0.2)(webpack@5.88.2):
+ resolution: {integrity: sha512-UuFpMWf931pEWBPuujkaMYhsoPvFyZc+tMYjlUn7um20uL+hWs+k2n/TxMVuxydSzJLnxrXz81nTwbYIlgRWdw==}
engines: {node: '>= 14.*'}
peerDependencies:
'@glimmer/component': ^1.1.2
@@ -6930,6 +7290,7 @@ packages:
'@ember/edition-utils': 1.2.0
'@glimmer/component': 1.1.2(@babel/core@7.18.6)
'@glimmer/vm-babel-plugins': 0.84.2(@babel/core@7.18.6)
+ '@simple-dom/interface': 1.4.0
babel-plugin-debug-macros: 0.3.4(@babel/core@7.18.6)
babel-plugin-filter-imports: 4.0.0
broccoli-concat: 4.2.5
@@ -6938,7 +7299,7 @@ packages:
broccoli-funnel: 3.0.8
broccoli-merge-trees: 4.2.0
chalk: 4.1.2
- ember-auto-import: 2.6.3(webpack@5.88.2)
+ ember-auto-import: 2.6.3(@glint/template@1.0.2)(webpack@5.88.2)
ember-cli-babel: 7.26.11
ember-cli-get-component-path-option: 1.0.0
ember-cli-is-package-missing: 1.0.0
@@ -7151,7 +7512,6 @@ packages:
/errlop@2.2.0:
resolution: {integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==}
engines: {node: '>=0.8'}
- dev: true
/error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -7342,6 +7702,35 @@ packages:
- supports-color
dev: true
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint@7.32.0):
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.1.6)
+ debug: 3.2.7
+ eslint: 7.32.0
+ eslint-import-resolver-node: 0.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/eslint-plugin-decorator-position@4.0.0(eslint@7.32.0):
resolution: {integrity: sha512-aopU1aq6yFWuepkx6k0M3EUduIkTZbENqL8uIZp08wyH6RCbO9k3hHfOffpeCTLyxvTX9f9eHMqASW+smzTc6A==}
engines: {node: '>=8.3'}
@@ -7447,6 +7836,37 @@ packages:
- supports-color
dev: true
+ /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0):
+ resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.1.6)
+ array-includes: 3.1.6
+ array.prototype.flat: 1.3.1
+ debug: 2.6.9(supports-color@8.1.1)
+ doctrine: 2.1.0
+ eslint: 7.32.0
+ eslint-import-resolver-node: 0.3.7
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint@7.32.0)
+ has: 1.0.3
+ is-core-module: 2.12.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.values: 1.1.6
+ resolve: 1.22.2
+ tsconfig-paths: 3.14.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
/eslint-plugin-json@3.1.0:
resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==}
engines: {node: '>=12.0'}
@@ -7780,10 +8200,6 @@ packages:
resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
dev: true
- /estree-walker@1.0.1:
- resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
- dev: true
-
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
dev: true
@@ -8181,6 +8597,7 @@ packages:
engines: {node: '>=6'}
dependencies:
locate-path: 3.0.0
+ dev: true
/find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
@@ -8842,6 +9259,10 @@ packages:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
dev: true
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
+
/growly@1.3.0:
resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==}
dev: true
@@ -9418,6 +9839,13 @@ packages:
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
dev: true
+ /is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: true
+
/is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
@@ -9548,6 +9976,10 @@ packages:
'@babel/runtime': 7.22.6
dev: true
+ /is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ dev: true
+
/is-negative-zero@2.0.2:
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
engines: {node: '>= 0.4'}
@@ -9746,7 +10178,6 @@ 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==}
@@ -10066,6 +10497,7 @@ packages:
dependencies:
p-locate: 3.0.0
path-exists: 3.0.0
+ dev: true
/locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
@@ -10311,13 +10743,6 @@ packages:
dependencies:
sourcemap-codec: 1.4.8
- /magic-string@0.26.7:
- resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
- engines: {node: '>=12'}
- dependencies:
- sourcemap-codec: 1.4.8
- dev: true
-
/magic-string@0.30.1:
resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==}
engines: {node: '>=12'}
@@ -10835,6 +11260,10 @@ packages:
- supports-color
dev: true
+ /natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+ dev: true
+
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
@@ -11242,6 +11671,7 @@ packages:
engines: {node: '>=6'}
dependencies:
p-limit: 2.3.0
+ dev: true
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
@@ -11467,6 +11897,7 @@ packages:
engines: {node: '>=8'}
dependencies:
find-up: 3.0.0
+ dev: true
/portfinder@1.0.32:
resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==}
@@ -12243,13 +12674,13 @@ packages:
dependencies:
glob: 7.2.3
- /rollup-plugin-copy-assets@2.0.3(rollup@2.77.0):
+ /rollup-plugin-copy-assets@2.0.3(rollup@3.26.3):
resolution: {integrity: sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w==}
peerDependencies:
rollup: '>=1.1.2'
dependencies:
fs-extra: 7.0.1
- rollup: 2.77.0
+ rollup: 3.26.3
dev: true
/rollup-plugin-delete@2.0.0:
@@ -12282,9 +12713,9 @@ packages:
sourcemap-codec: 1.4.8
dev: true
- /rollup@2.77.0:
- resolution: {integrity: sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==}
- engines: {node: '>=10.0.0'}
+ /rollup@3.26.3:
+ resolution: {integrity: sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
@@ -13218,7 +13649,6 @@ packages:
username-sync: 1.0.3
transitivePeerDependencies:
- supports-color
- dev: true
/table@6.8.1:
resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==}
@@ -14019,6 +14449,18 @@ packages:
vscode-uri: 3.0.7
dev: true
+ /vscode-jsonrpc@8.1.0:
+ resolution: {integrity: sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /vscode-languageserver-protocol@3.17.3:
+ resolution: {integrity: sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==}
+ dependencies:
+ vscode-jsonrpc: 8.1.0
+ vscode-languageserver-types: 3.17.3
+ dev: true
+
/vscode-languageserver-textdocument@1.0.8:
resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==}
dev: true
@@ -14027,6 +14469,13 @@ packages:
resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==}
dev: true
+ /vscode-languageserver@8.1.0:
+ resolution: {integrity: sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==}
+ hasBin: true
+ dependencies:
+ vscode-languageserver-protocol: 3.17.3
+ dev: true
+
/vscode-nls@5.2.0:
resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
dev: true
@@ -14346,15 +14795,6 @@ packages:
strip-ansi: 6.0.1
dev: true
- /wrap-legacy-hbs-plugin-if-needed@1.0.1:
- resolution: {integrity: sha512-aJjXe5WwrY0u0dcUgKW3m2SGnxosJ66LLm/QaG0YMHqgA6+J2xwAFZfhSLsQ2BmO5x8PTH+OIxoAXuGz3qBA7A==}
- dependencies:
- '@glimmer/reference': 0.42.2
- '@glimmer/runtime': 0.42.2
- '@glimmer/syntax': 0.42.2
- '@simple-dom/interface': 1.4.0
- dev: true
-
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
@@ -14519,7 +14959,7 @@ packages:
engines: {node: '>=12.20'}
dev: true
- file:ember-element-helper(ember-source@4.12.0):
+ file:ember-element-helper(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0):
resolution: {directory: ember-element-helper, type: directory}
id: file:ember-element-helper
name: ember-element-helper
@@ -14528,33 +14968,10 @@ packages:
ember-source: ^3.8 || ^4.0.0 || >= 5.0.0
dependencies:
'@embroider/addon-shim': 1.8.3
- '@embroider/util': 1.12.0(ember-source@4.12.0)
+ '@embroider/util': 1.12.0(@glint/environment-ember-loose@1.0.2)(@glint/template@1.0.2)(ember-source@4.12.0)
ember-source: 4.12.0(@babel/core@7.18.6)(@glimmer/component@1.1.2)(webpack@5.78.0)
transitivePeerDependencies:
- '@glint/environment-ember-loose'
- '@glint/template'
- supports-color
dev: false
-
- github.com/ef4/broccoli-funnel/c70d060076e14793e8495571f304a976afc754ac:
- resolution: {tarball: https://codeload.github.com/ef4/broccoli-funnel/tar.gz/c70d060076e14793e8495571f304a976afc754ac}
- name: broccoli-funnel
- version: 2.0.2-ef4.0
- engines: {node: ^4.5 || 6.* || >= 7.*}
- dependencies:
- array-equal: 1.0.0
- blank-object: 1.0.2
- broccoli-plugin: 1.3.1
- debug: 2.6.9(supports-color@8.1.1)
- fast-ordered-set: 1.0.3
- fs-tree-diff: 0.5.9
- heimdalljs: 0.2.6
- minimatch: 3.1.2
- mkdirp: 0.5.6
- path-posix: 1.0.0
- rimraf: 2.7.1
- symlink-or-copy: 1.3.1
- walk-sync: 2.2.0
- transitivePeerDependencies:
- - supports-color
- dev: false
diff --git a/test-app/app/components/element-receiver.hbs b/test-app/app/components/element-receiver.hbs
index dcfe659d..547e7bd7 100644
--- a/test-app/app/components/element-receiver.hbs
+++ b/test-app/app/components/element-receiver.hbs
@@ -1 +1,4 @@
-<@tag id='content' ...attributes>{{yield}}@tag>
+{{#let @tag as |Tag|}}
+ {{!@glint-ignore}}
+ {{yield}}
+{{/let}}
\ No newline at end of file
diff --git a/test-app/app/components/element-receiver.ts b/test-app/app/components/element-receiver.ts
new file mode 100644
index 00000000..f6e74502
--- /dev/null
+++ b/test-app/app/components/element-receiver.ts
@@ -0,0 +1,14 @@
+import Component from '@glimmer/component';
+import type { ElementSignature, ElementFromTagName } from 'ember-element-helper';
+
+interface ElementReceiverSignature {
+ Element: ElementFromTagName;
+ Args: {
+ tag: ElementSignature['Return'];
+ };
+ Blocks: {
+ default: [];
+ }
+}
+
+export default class ElementReceiver extends Component> {}
diff --git a/test-app/app/controllers/.gitkeep b/test-app/app/controllers/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/test-app/app/helpers/.gitkeep b/test-app/app/helpers/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/test-app/app/models/.gitkeep b/test-app/app/models/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/test-app/app/routes/.gitkeep b/test-app/app/routes/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/test-app/app/templates/application.hbs b/test-app/app/templates/application.hbs
new file mode 100644
index 00000000..076d4e34
--- /dev/null
+++ b/test-app/app/templates/application.hbs
@@ -0,0 +1,3 @@
+{{#let (element "article") as |Article|}}
+ Hello there!
+{{/let}}
\ No newline at end of file
diff --git a/test-app/config/ember-try.js b/test-app/config/ember-try.js
index 93fe5fd9..3cc40b5d 100644
--- a/test-app/config/ember-try.js
+++ b/test-app/config/ember-try.js
@@ -7,22 +7,6 @@ module.exports = async function () {
return {
usePnpm: true,
scenarios: [
- {
- name: 'ember-lts-3.24',
- npm: {
- devDependencies: {
- 'ember-resolver': '^8.0.0',
- 'ember-source': '~3.24.3',
- 'ember-cli': '^4.0.0',
- 'ember-qunit': '^5.0.0',
- '@ember/test-helpers': '^2.1.0',
- 'ember-cli-htmlbars': '^5.0.0',
- '@embroider/core': null,
- '@embroider/compat': null,
- '@embroider/webpack': null,
- },
- },
- },
{
name: 'ember-lts-3.28',
npm: {
diff --git a/test-app/ember-cli-build.js b/test-app/ember-cli-build.js
index a19af5da..1cd5ad98 100644
--- a/test-app/ember-cli-build.js
+++ b/test-app/ember-cli-build.js
@@ -1,18 +1,19 @@
'use strict';
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
+const packageJson = require('./package');
module.exports = function (defaults) {
const app = new EmberApp(defaults, {
// Add options here
+ autoImport: {
+ watchDependencies: Object.keys(packageJson.dependencies),
+ },
+ 'ember-cli-babel': {
+ enableTypeScriptTransform: true,
+ },
});
- if (app.env === 'test') {
- app.import('node_modules/ember-source/dist/ember-template-compiler.js', {
- type: 'test',
- });
- }
-
const { maybeEmbroider } = require('@embroider/test-setup');
return maybeEmbroider(app, {
skipBabel: [
diff --git a/test-app/package.json b/test-app/package.json
index 814e2098..31ca9938 100644
--- a/test-app/package.json
+++ b/test-app/package.json
@@ -18,6 +18,7 @@
"lint:fix": "concurrently 'npm:lint:*:fix' --names 'fix:'",
"lint:js": "eslint . --cache",
"lint:js:fix": "eslint . --fix",
+ "lint:types": "glint",
"start": "ember serve",
"test": "ember test"
},
@@ -33,7 +34,7 @@
"@babel/eslint-parser": "^7.21.3",
"@babel/plugin-proposal-decorators": "^7.21.0",
"@ember/optional-features": "^2.0.0",
- "@ember/string": "^3.0.1",
+ "@ember/string": "^3.1.1",
"@ember/test-helpers": "^2.9.3",
"@embroider/compat": "^2.1.1",
"@embroider/core": "^2.1.1",
@@ -42,6 +43,13 @@
"@embroider/webpack": "^2.1.1",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
+ "@glint/core": "^1.0.2",
+ "@glint/environment-ember-loose": "^1.0.2",
+ "@glint/environment-ember-template-imports": "^1.0.2",
+ "@glint/template": "^1.0.2",
+ "@tsconfig/ember": "^3.0.0",
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
+ "@typescript-eslint/parser": "^5.62.0",
"broccoli-asset-rev": "^3.0.0",
"concurrently": "^8.0.1",
"ember-auto-import": "^2.6.3",
@@ -60,6 +68,7 @@
"ember-resolver": "^10.0.0",
"ember-source": "~4.12.0",
"ember-source-channel-url": "^3.0.0",
+ "ember-template-imports": "^3.4.2",
"ember-template-lint": "^5.7.2",
"ember-try": "^2.0.0",
"eslint": "^8.37.0",
@@ -79,6 +88,7 @@
"stylelint-config-standard": "^32.0.0",
"stylelint-prettier": "^3.0.0",
"tracked-built-ins": "^3.1.1",
+ "typescript": "5.1.6",
"webpack": "^5.78.0"
},
"engines": {
diff --git a/test-app/tsconfig.json b/test-app/tsconfig.json
new file mode 100644
index 00000000..5fa230cc
--- /dev/null
+++ b/test-app/tsconfig.json
@@ -0,0 +1,33 @@
+{
+ "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/*"
+ ]
+ },
+ // for typescript < 5
+ "moduleResolution": "NodeNext"
+ },
+ "include": [
+ "app/**/*",
+ "tests/**/*",
+ "types/**/*"
+ ]
+}
\ No newline at end of file
diff --git a/test-app/types/global.d.ts b/test-app/types/global.d.ts
new file mode 100644
index 00000000..1192f640
--- /dev/null
+++ b/test-app/types/global.d.ts
@@ -0,0 +1,16 @@
+import 'ember-source/types';
+import 'ember-source/types/preview';
+
+import '@glint/environment-ember-loose';
+import '@glint/environment-ember-loose/native-integration';
+
+import ElementHelperRegistry from 'ember-element-helper/template-registry';
+
+declare module '@glint/environment-ember-loose/registry' {
+ export default interface Registry extends ElementHelperRegistry {
+ // Examples
+ // state: HelperLike<{ Args: {}, Return: State }>;
+ // attachShadow: ModifierLike<{ Args: { Positional: [State['update']]}}>;
+ // welcome: typeof Welcome;
+ }
+}