From 9ad9bdbf5edfc0eb1115e26b9bb13933f481eb2d Mon Sep 17 00:00:00 2001 From: Randall Morey Date: Fri, 5 Nov 2021 11:52:12 -0400 Subject: [PATCH] =?UTF-8?q?refactor:=20=F0=9F=92=A1=20remove=20dependency?= =?UTF-8?q?=20on=20ember-get-config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/api/addon/adapters/application.js | 23 ++++++++++++++++++++--- addons/api/mirage/config.js | 2 +- addons/api/mirage/scenarios/ipc.js | 5 ++--- addons/api/package.json | 1 - 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/addons/api/addon/adapters/application.js b/addons/api/addon/adapters/application.js index 12112ed67..04a9ebe6f 100644 --- a/addons/api/addon/adapters/application.js +++ b/addons/api/addon/adapters/application.js @@ -2,7 +2,7 @@ import RESTAdapter from '@ember-data/adapter/rest'; import { serializeIntoHash } from '@ember-data/adapter/-private'; /* eslint-disable-next-line ember/no-mixins */ import AdapterBuildURLMixin from '../mixins/adapter-build-url'; -import config from 'ember-get-config'; +import { getOwner } from '@ember/application'; import { get } from '@ember/object'; import { InvalidError } from '@ember-data/adapter/error'; import { dasherize } from '@ember/string'; @@ -44,19 +44,36 @@ export default class ApplicationAdapter extends RESTAdapter.extend( ) { // =attributes + #host; + #namespace; + /** * Sets host to the `api.host` string in the application's config, * if set. * @type {string} */ - host = get(config, 'api.host'); + get host() { + const config = getOwner(this).resolveRegistration('config:environment'); + return this.#host || get(config, 'api.host'); + } + set host(value) { + // Setting this value is useful for testing purposes. + this.#host = value; + } /** * Sets namespace to the `api.namespace` string in the application's config, * if set. * @type {string} */ - namespace = get(config, 'api.namespace'); + get namespace() { + const config = getOwner(this).resolveRegistration('config:environment'); + return this.#namespace || get(config, 'api.namespace'); + } + set namespace(value) { + // Setting this value is useful for testing purposes. + this.#namespace = value; + } // =methods diff --git a/addons/api/mirage/config.js b/addons/api/mirage/config.js index 213f71d33..b1449f56f 100644 --- a/addons/api/mirage/config.js +++ b/addons/api/mirage/config.js @@ -8,7 +8,7 @@ import makeBooleanFilter from './helpers/bexpr-filter'; const isTesting = config.environment === 'test'; export default function () { - initializeMockIPC(this); + initializeMockIPC(this, config); // make this `http://localhost:8080`, for example, if your API is on a different server // this.urlPrefix = ''; diff --git a/addons/api/mirage/scenarios/ipc.js b/addons/api/mirage/scenarios/ipc.js index 0c01a656e..dd39c931e 100644 --- a/addons/api/mirage/scenarios/ipc.js +++ b/addons/api/mirage/scenarios/ipc.js @@ -1,9 +1,8 @@ -import config from 'ember-get-config'; import { datatype } from 'faker'; -const isTesting = config.environment === 'test'; +export default function initializeMockIPC(server, config) { + const isTesting = config.environment === 'test'; -export default function initializeMockIPC(server) { /** * We strive to make this application runnable in a regular web browser, since * it is a convenient environment for development and testing. But only an diff --git a/addons/api/package.json b/addons/api/package.json index 2fcc5ae78..2556cfe95 100644 --- a/addons/api/package.json +++ b/addons/api/package.json @@ -51,7 +51,6 @@ "ember-copy": "^2.0.1", "ember-disable-prototype-extensions": "^1.1.3", "ember-export-application-global": "^2.0.1", - "ember-get-config": "^0.3.0", "ember-load-initializers": "^2.1.2", "ember-maybe-import-regenerator": "^1.0.0", "ember-page-title": "^6.2.2",