From 4a0824d0ac4633c8a2a06481cffc775094423bea Mon Sep 17 00:00:00 2001 From: k-fish Date: Tue, 2 Feb 2021 10:33:26 -0800 Subject: [PATCH 1/2] fix(ember): Fix backwards compatibility with Embroider changes Switching from ember-get-config to macros introduced a regression for the classic build system, since Embroider injects runtime config differently depending on whether the app is using embroider for it's build system or not. This will grab the config and add it in the included hook when building the addon and including it in an app if embroider is not detected. --- packages/ember/index.js | 15 +++++++++++++++ packages/ember/package.json | 2 -- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/ember/index.js b/packages/ember/index.js index 55fdf9fc5147..b23465ef2da6 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -16,6 +16,21 @@ module.exports = { }, }, + getAddonConfig(app) { + const config = require(app.options.configPath)(app.env); + return config['@sentry/ember'] || {}; + }, + + included() { + this._super.included.apply(this, arguments); + const app = this._findHost(this); + if (!('@embroider/core' in app.dependencies())) { + const addonConfig = this.getAddonConfig(app); + const options = Object.assign({}, addonConfig); + this.options['@embroider/macros'].setOwnConfig.sentryConfig = options; + } + }, + contentFor(type, config) { const addonConfig = config['@sentry/ember'] || {}; const app = this._findHost(this); diff --git a/packages/ember/package.json b/packages/ember/package.json index e296f804ab56..31bd20e9a851 100644 --- a/packages/ember/package.json +++ b/packages/ember/package.json @@ -45,8 +45,6 @@ "devDependencies": { "@ember/optional-features": "^1.3.0", "@embroider/compat": "^0.35.1", - "@embroider/core": "^0.35.1", - "@embroider/webpack": "^0.35.1", "@glimmer/component": "^1.0.0", "@glimmer/tracking": "^1.0.0", "@sentry-internal/eslint-config-sdk": "6.0.4", From f69389d4a4d9fdfdd2df7d3c7e51c73eaa16409d Mon Sep 17 00:00:00 2001 From: k-fish Date: Wed, 3 Feb 2021 11:04:19 -0800 Subject: [PATCH 2/2] Wrap require for config file in try/catch --- packages/ember/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/ember/index.js b/packages/ember/index.js index b23465ef2da6..619063e73bc0 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -17,7 +17,12 @@ module.exports = { }, getAddonConfig(app) { - const config = require(app.options.configPath)(app.env); + let config = {}; + try { + config = require(app.options.configPath)(app.env); + } catch(_) { + // Config not found + } return config['@sentry/ember'] || {}; },