Skip to content

Commit 658dd36

Browse files
committed
Fix service import deprecation (#3181)
1 parent 34e5beb commit 658dd36

File tree

19 files changed

+333
-31
lines changed

19 files changed

+333
-31
lines changed

change.diff

Lines changed: 302 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
diff --git a/packages/components/addon-main.cjs b/packages/components/addon-main.cjs
2+
index 797c851c5..da24a0b99 100644
3+
--- a/packages/components/addon-main.cjs
4+
+++ b/packages/components/addon-main.cjs
5+
@@ -4,19 +4,14 @@
6+
*/
7+
8+
const { addonV1Shim } = require('@embroider/addon-shim');
9+
-const flightIconSprite = require('@hashicorp/flight-icons/svg-sprite/svg-sprite-module');
10+
11+
module.exports = {
12+
...addonV1Shim(__dirname),
13+
- contentFor(type, config) {
14+
- if (
15+
- !config.flightIconsSpriteLazyEmbed &&
16+
- !config.__flightIconsSpriteLoaded &&
17+
- type === 'body-footer'
18+
- ) {
19+
- config.__flightIconsSpriteLoaded = true;
20+
-
21+
- return flightIconSprite;
22+
- }
23+
+ options: {
24+
+ '@embroider/macros': {
25+
+ setOwnConfig: {
26+
+ flightIconsSpriteLazyEmbed: true,
27+
+ },
28+
+ },
29+
},
30+
};
31+
diff --git a/packages/components/package.json b/packages/components/package.json
32+
index 60704a074..da4d2473e 100644
33+
--- a/packages/components/package.json
34+
+++ b/packages/components/package.json
35+
@@ -62,7 +62,6 @@
36+
"ember-concurrency": "^4.0.4",
37+
"ember-element-helper": "^0.8.6",
38+
"ember-focus-trap": "^1.1.1",
39+
- "ember-get-config": "^2.1.1",
40+
"ember-modifier": "^4.2.2",
41+
"ember-power-select": "^8.7.1",
42+
"ember-stargate": "^1.0.2",
43+
diff --git a/packages/components/src/instance-initializers/load-sprite.ts b/packages/components/src/instance-initializers/load-sprite.ts
44+
index a88ecd9ec..f98dd61fc 100644
45+
--- a/packages/components/src/instance-initializers/load-sprite.ts
46+
+++ b/packages/components/src/instance-initializers/load-sprite.ts
47+
@@ -3,19 +3,21 @@
48+
* SPDX-License-Identifier: MPL-2.0
49+
*/
50+
51+
-import config from 'ember-get-config';
52+
+import { macroCondition, isTesting, getOwnConfig } from '@embroider/macros';
53+
+
54+
+interface Config {
55+
+ flightIconsSpriteLazyEmbed: boolean;
56+
+}
57+
58+
export async function initialize() {
59+
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
60+
- if (config?.flightIconsSpriteLazyEmbed) {
61+
+ if (macroCondition(getOwnConfig<Config>().flightIconsSpriteLazyEmbed)) {
62+
const { default: svgSprite } = await import(
63+
'@hashicorp/flight-icons/svg-sprite/svg-sprite-module'
64+
);
65+
66+
// in test environments we can inject the sprite directly into the ember testing container
67+
// to avoid issues with tools like Percy that only consider content inside that element
68+
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
69+
- if (config.environment === 'test') {
70+
+ if (macroCondition(isTesting())) {
71+
const container = window.document?.getElementById('ember-testing');
72+
73+
if (container && !container.querySelector('.flight-sprite-container')) {
74+
diff --git a/packages/components/src/modifiers/hds-code-editor.ts b/packages/components/src/modifiers/hds-code-editor.ts
75+
index 39f7d60ae..f0c74de7a 100644
76+
--- a/packages/components/src/modifiers/hds-code-editor.ts
77+
+++ b/packages/components/src/modifiers/hds-code-editor.ts
78+
@@ -7,7 +7,7 @@ import Modifier from 'ember-modifier';
79+
import { assert, warn } from '@ember/debug';
80+
import { registerDestructor } from '@ember/destroyable';
81+
import { task } from 'ember-concurrency';
82+
-import config from 'ember-get-config';
83+
+import { macroCondition, isTesting } from '@embroider/macros';
84+
import { Compartment } from '@codemirror/state';
85+
import { EditorView } from '@codemirror/view';
86+
import { guidFor } from '@ember/object/internals';
87+
@@ -208,8 +208,7 @@ export default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignatu
88+
// if the editor does not exist, setup the editor
89+
else {
90+
// the intersection observer makes loading unreliable in tests
91+
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
92+
- if (config.environment === 'test') {
93+
+ if (macroCondition(isTesting())) {
94+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
95+
this._setupTask.perform(element, positional, named);
96+
} else {
97+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
98+
index 848d01b41..43db4eb16 100644
99+
--- a/pnpm-lock.yaml
100+
+++ b/pnpm-lock.yaml
101+
@@ -151,9 +151,6 @@ importers:
102+
ember-focus-trap:
103+
specifier: ^1.1.1
104+
version: 1.1.1(ember-source@6.5.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
105+
- ember-get-config:
106+
- specifier: ^2.1.1
107+
- version: 2.1.1(@glint/template@1.5.2)
108+
ember-modifier:
109+
specifier: ^4.2.2
110+
version: 4.2.2(@babel/core@7.28.0)
111+
@@ -677,9 +674,6 @@ importers:
112+
ember-try:
113+
specifier: ^4.0.0
114+
version: 4.0.0
115+
- ember-unique-id-helper-polyfill:
116+
- specifier: ^1.2.2
117+
- version: 1.2.2
118+
eslint:
119+
specifier: ^9.27.0
120+
version: 9.32.0
121+
@@ -908,9 +902,6 @@ importers:
122+
ember-fetch:
123+
specifier: ^8.1.2
124+
version: 8.1.2
125+
- ember-get-config:
126+
- specifier: ^2.1.1
127+
- version: 2.1.1(@glint/template@1.5.2)
128+
ember-load-initializers:
129+
specifier: ^3.0.1
130+
version: 3.0.1(ember-source@6.4.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
131+
@@ -2832,6 +2823,7 @@ packages:
132+
engines: {node: '>= 18'}
133+
peerDependencies:
134+
'@ember/string': ^3.1.1 || ^4.0.0
135+
+ ember-basic-dropdown: ^7.3.0 || ^8.6.1
136+
ember-engines: '>= 0.11.0'
137+
ember-intl: ^7.3.0
138+
peerDependenciesMeta:
139+
@@ -6425,10 +6417,6 @@ packages:
140+
resolution: {integrity: sha512-gWG1k8+hio1rndJXxzIYhayL7ITof3ebkZ7HwFzFDaz3NARb8MjcVloKj1PFCheu8ZbY8iP8QTRPqb+J+N+Izg==}
141+
engines: {node: '>= 18'}
142+
143+
- ember-unique-id-helper-polyfill@1.2.2:
144+
- resolution: {integrity: sha512-gjcwTBkCDUA0iYFS7aArfJub+eos/itxEsC399JUbdKNIBJLesB/1OHnmxLLwExZHp7gyHuiDFOPcknafhFm3g==}
145+
- engines: {node: 12.* || 14.* || >= 16}
146+
-
147+
emittery@0.13.1:
148+
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
149+
engines: {node: '>=12'}
150+
@@ -9840,7 +9828,6 @@ packages:
151+
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
152+
deprecated: |-
153+
You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.
154+
-
155+
(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
156+
157+
qs@6.13.0:
158+
@@ -14158,10 +14145,10 @@ snapshots:
159+
codemirror-lang-hcl: 0.0.0-beta.2
160+
decorator-transforms: 2.3.0(@babel/core@7.28.0)
161+
ember-a11y-refocus: 5.1.0(@babel/core@7.28.0)(ember-source@6.4.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
162+
+ ember-basic-dropdown: 8.6.2(@babel/core@7.28.0)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.28.0)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.0)))(@glint/template@1.5.2)(ember-source@6.4.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
163+
ember-concurrency: 4.0.4(@babel/core@7.28.0)(@glint/template@1.5.2)
164+
ember-element-helper: 0.8.8
165+
ember-focus-trap: 1.1.1(ember-source@6.4.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
166+
- ember-get-config: 2.1.1(@glint/template@1.5.2)
167+
ember-modifier: 4.2.2(@babel/core@7.28.0)
168+
ember-power-select: 8.7.3(@babel/core@7.28.0)(@ember/test-helpers@5.2.2(@babel/core@7.28.0)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.0)))(@glint/template@1.5.2)(ember-basic-dropdown@8.6.2(@babel/core@7.28.0)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.28.0)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.0)))(@glint/template@1.5.2)(ember-source@6.4.0(@glimmer/component@2.0.0)(rsvp@4.8.5)))(ember-concurrency@4.0.4(@babel/core@7.28.0)(@glint/template@1.5.2))(ember-source@6.4.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
169+
ember-stargate: 1.0.2(@babel/core@7.28.0)(@glimmer/component@2.0.0)(@glint/template@1.5.2)
170+
@@ -14180,7 +14167,6 @@ snapshots:
171+
- '@glimmer/component'
172+
- '@glint/environment-ember-loose'
173+
- '@glint/template'
174+
- - ember-basic-dropdown
175+
- ember-source
176+
- supports-color
177+
178+
@@ -14213,10 +14199,10 @@ snapshots:
179+
codemirror-lang-hcl: 0.0.0-beta.2
180+
decorator-transforms: 2.3.0(@babel/core@7.28.0)
181+
ember-a11y-refocus: 5.1.0(@babel/core@7.28.0)(ember-source@6.5.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
182+
+ ember-basic-dropdown: 8.6.2(@babel/core@7.28.0)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.28.0)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.0)))(@glint/template@1.5.2)(ember-source@6.5.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
183+
ember-concurrency: 4.0.4(@babel/core@7.28.0)(@glint/template@1.5.2)
184+
ember-element-helper: 0.8.8
185+
ember-focus-trap: 1.1.1(ember-source@6.5.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
186+
- ember-get-config: 2.1.1(@glint/template@1.5.2)
187+
ember-modifier: 4.2.2(@babel/core@7.28.0)
188+
ember-power-select: 8.7.3(@babel/core@7.28.0)(@ember/test-helpers@5.2.2(@babel/core@7.28.0)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.0)))(@glint/template@1.5.2)(ember-basic-dropdown@8.6.2(@babel/core@7.28.0)(@ember/string@4.0.1)(@ember/test-helpers@5.2.2(@babel/core@7.28.0)(@glint/template@1.5.2))(@glimmer/component@2.0.0)(@glint/environment-ember-loose@1.5.2(@glimmer/component@2.0.0)(@glint/template@1.5.2)(ember-cli-htmlbars@6.3.0)(ember-modifier@4.2.2(@babel/core@7.28.0)))(@glint/template@1.5.2)(ember-source@6.5.0(@glimmer/component@2.0.0)(rsvp@4.8.5)))(ember-concurrency@4.0.4(@babel/core@7.28.0)(@glint/template@1.5.2))(ember-source@6.5.0(@glimmer/component@2.0.0)(rsvp@4.8.5))
189+
ember-stargate: 1.0.2(@babel/core@7.28.0)(@glimmer/component@2.0.0)(@glint/template@1.5.2)
190+
@@ -14235,7 +14221,6 @@ snapshots:
191+
- '@glimmer/component'
192+
- '@glint/environment-ember-loose'
193+
- '@glint/template'
194+
- - ember-basic-dropdown
195+
- ember-source
196+
- supports-color
197+
198+
@@ -19832,14 +19817,6 @@ snapshots:
199+
- encoding
200+
- supports-color
201+
202+
- ember-unique-id-helper-polyfill@1.2.2:
203+
- dependencies:
204+
- broccoli-funnel: 3.0.8
205+
- ember-cli-babel: 7.26.11
206+
- ember-cli-version-checker: 5.1.2
207+
- transitivePeerDependencies:
208+
- - supports-color
209+
-
210+
emittery@0.13.1: {}
211+
212+
emoji-regex@10.4.0: {}
213+
diff --git a/showcase/ember-cli-build.js b/showcase/ember-cli-build.js
214+
index 72fd59252..5e70ce95e 100644
215+
--- a/showcase/ember-cli-build.js
216+
+++ b/showcase/ember-cli-build.js
217+
@@ -9,6 +9,14 @@ const EmberApp = require('ember-cli/lib/broccoli/ember-app');
218+
219+
module.exports = function (defaults) {
220+
const app = new EmberApp(defaults, {
221+
+ '@embroider/macros': {
222+
+ setConfig: {
223+
+ '@hashicorp/design-system-components': {
224+
+ flightIconsSpriteLazyEmbed: true,
225+
+ },
226+
+ },
227+
+ },
228+
+
229+
'ember-cli-babel': {
230+
enableTypeScriptTransform: true,
231+
},
232+
diff --git a/showcase/package.json b/showcase/package.json
233+
index 9f0cf932a..5ec97a5c4 100644
234+
--- a/showcase/package.json
235+
+++ b/showcase/package.json
236+
@@ -101,7 +101,6 @@
237+
"ember-template-lint": "^7.7.0",
238+
"ember-truth-helpers": "^4.0.3",
239+
"ember-try": "^4.0.0",
240+
- "ember-unique-id-helper-polyfill": "^1.2.2",
241+
"eslint": "^9.27.0",
242+
"eslint-config-prettier": "^10.1.5",
243+
"eslint-plugin-ember": "^12.5.0",
244+
diff --git a/website/app/routes/application.js b/website/app/routes/application.js
245+
index 024690b0d..342c9f60f 100644
246+
--- a/website/app/routes/application.js
247+
+++ b/website/app/routes/application.js
248+
@@ -1,6 +1,7 @@
249+
import Route from '@ember/routing/route';
250+
import fetch from 'fetch';
251+
-import config from 'ember-get-config';
252+
+
253+
+import config from '../config/environment';
254+
255+
export default class ApplicationRoute extends Route {
256+
model() {
257+
diff --git a/website/app/routes/show.js b/website/app/routes/show.js
258+
index b5f5155e4..df8c2e036 100644
259+
--- a/website/app/routes/show.js
260+
+++ b/website/app/routes/show.js
261+
@@ -6,11 +6,12 @@ import {
262+
isUnauthorizedResponse,
263+
isNotFoundResponse,
264+
} from 'ember-fetch/errors';
265+
-import config from 'ember-get-config';
266+
import { service } from '@ember/service';
267+
import { action } from '@ember/object';
268+
import { reject } from 'rsvp';
269+
270+
+import config from '../config/environment';
271+
+
272+
export default class ShowRoute extends Route {
273+
@service router;
274+
queryParams = {
275+
diff --git a/website/app/services/head-data.js b/website/app/services/head-data.js
276+
index c885741b6..3c2020f99 100644
277+
--- a/website/app/services/head-data.js
278+
+++ b/website/app/services/head-data.js
279+
@@ -4,9 +4,10 @@
280+
*/
281+
282+
import HeadDataService from 'ember-meta/services/head-data';
283+
-import config from 'ember-get-config';
284+
import { service } from '@ember/service';
285+
286+
+import config from '../config/environment';
287+
+
288+
export default class CustomHeadDataService extends HeadDataService {
289+
@service router;
290+
291+
diff --git a/website/package.json b/website/package.json
292+
index c2b6cca59..901654ac9 100644
293+
--- a/website/package.json
294+
+++ b/website/package.json
295+
@@ -90,7 +90,6 @@
296+
"ember-cli-terser": "^4.0.2",
297+
"ember-concurrency": "^4.0.4",
298+
"ember-fetch": "^8.1.2",
299+
- "ember-get-config": "^2.1.1",
300+
"ember-load-initializers": "^3.0.1",
301+
"ember-math-helpers": "^4.2.1",
302+
"ember-meta": "^2.0.0",

packages/components/src/components/hds/app-side-nav/portal/target.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import Component from '@glimmer/component';
7-
import { inject as service } from '@ember/service';
7+
import { service } from '@ember/service';
88
import { tracked } from '@glimmer/tracking';
99
import { action } from '@ember/object';
1010
import { macroCondition, isTesting } from '@embroider/macros';

packages/components/src/components/hds/side-nav/portal/target.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import Component from '@glimmer/component';
7-
import { inject as service } from '@ember/service';
7+
import { service } from '@ember/service';
88
import { tracked } from '@glimmer/tracking';
99
import { action } from '@ember/object';
1010
import { macroCondition, isTesting } from '@embroider/macros';

packages/components/src/components/hds/time/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import Component from '@glimmer/component';
77
import { typeOf } from '@ember/utils';
8-
import { inject as service } from '@ember/service';
8+
import { service } from '@ember/service';
99
import { action } from '@ember/object';
1010
import type { DisplayType } from '../../../services/hds-time-types.ts';
1111

packages/components/src/components/hds/time/range.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import Component from '@glimmer/component';
7-
import { inject as service } from '@ember/service';
7+
import { service } from '@ember/service';
88
import type TimeService from '../../../services/hds-time';
99

1010
export interface HdsTimeRangeSignature {

website/app/components/doc/page/banner.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import Component from '@glimmer/component';
77
import { action } from '@ember/object';
88
import { tracked } from '@glimmer/tracking';
9-
import { inject as service } from '@ember/service';
9+
import { service } from '@ember/service';
1010

1111
const COOKIE_NAME = 'hide-banner';
1212

website/app/components/doc/page/header/algolia-search/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import Component from '@glimmer/component';
77
import { tracked } from '@glimmer/tracking';
88
import { action } from '@ember/object';
9-
import { inject as service } from '@ember/service';
9+
import { service } from '@ember/service';
1010

1111
import { autocomplete } from '@algolia/autocomplete-js';
1212

website/app/components/doc/page/sidebar.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Component from '@glimmer/component';
77
import { restartableTask, timeout } from 'ember-concurrency';
88
import { action } from '@ember/object';
99
import { tracked } from '@glimmer/tracking';
10-
import { inject as service } from '@ember/service';
10+
import { service } from '@ember/service';
1111

1212
const DEBOUNCE_MS = 250;
1313

website/app/components/doc/scroll-to-top/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import Component from '@glimmer/component';
77
import { action } from '@ember/object';
8-
import { inject as service } from '@ember/service';
8+
import { service } from '@ember/service';
99
import { tracked } from '@glimmer/tracking';
1010

1111
export default class DocScrollToTopComponent extends Component {

website/app/controllers/application.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Controller from '@ember/controller';
77
import { action } from '@ember/object';
88
import { tracked } from '@glimmer/tracking';
99
import { scheduleOnce } from '@ember/runloop';
10-
import { inject as service } from '@ember/service';
10+
import { service } from '@ember/service';
1111
import { next, later, cancel } from '@ember/runloop';
1212
import { defaultValidator } from 'ember-a11y-refocus';
1313

0 commit comments

Comments
 (0)