From 4134746536c37201019c0a634ff3db1b678d9b08 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Thu, 18 Apr 2019 16:11:50 +0200 Subject: [PATCH 1/2] Revert "Use `setupPreprocessorRegistry()` hook to register HTMLBars AST plugin" This reverts commit 8d4ee86ee6b74ce452988194056d92299a8d2450. --- index.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/index.js b/index.js index 204fc0e2..c7a65c78 100644 --- a/index.js +++ b/index.js @@ -27,26 +27,29 @@ module.exports = { } }, - setupPreprocessorRegistry(type, registry) { - if (type === 'parent') { - this._assignOptions(this.app); - - let pluginFnName = this._stripTestSelectors ? '_buildStripPlugin' : '_buildHashParamPlugin'; - - let plugin = this[pluginFnName](); - plugin.parallelBabel = { - requireFile: __filename, - buildUsing: pluginFnName, - params: {}, - }; + _setupPreprocessorRegistry(registry) { + let pluginFnName = this._stripTestSelectors ? '_buildStripPlugin' : '_buildHashParamPlugin'; + + let plugin = this[pluginFnName](); + plugin.parallelBabel = { + requireFile: __filename, + buildUsing: pluginFnName, + params: {}, + }; - registry.add('htmlbars-ast-plugin', plugin); - } + registry.add('htmlbars-ast-plugin', plugin); }, included(app) { this._super.included.apply(this, arguments); + let host = this._findHost(); + this._assignOptions(host); + + // we can't use the setupPreprocessorRegistry() hook as it is called too + // early and we do not have reliable access to `app.tests` there yet + this._setupPreprocessorRegistry(app.registry); + // add the StripDataTestPropertiesPlugin to the list of plugins used by // the `ember-cli-babel` addon if (this._stripTestSelectors && !this._registeredWithBabel) { @@ -71,7 +74,7 @@ module.exports = { } if (!this._stripTestSelectors) { - this.app.import('vendor/ember-test-selectors/patch-component.js'); + host.import('vendor/ember-test-selectors/patch-component.js'); } }, From f5956d4e9f11cffbd8b74ff380b7f790d3d27bda Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Thu, 18 Apr 2019 16:56:38 +0200 Subject: [PATCH 2/2] Rename `included()` parameter to `appOrParent` --- index.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/index.js b/index.js index c7a65c78..2b4f9286 100644 --- a/index.js +++ b/index.js @@ -40,7 +40,7 @@ module.exports = { registry.add('htmlbars-ast-plugin', plugin); }, - included(app) { + included(appOrParent) { this._super.included.apply(this, arguments); let host = this._findHost(); @@ -48,23 +48,23 @@ module.exports = { // we can't use the setupPreprocessorRegistry() hook as it is called too // early and we do not have reliable access to `app.tests` there yet - this._setupPreprocessorRegistry(app.registry); + this._setupPreprocessorRegistry(appOrParent.registry); // add the StripDataTestPropertiesPlugin to the list of plugins used by // the `ember-cli-babel` addon if (this._stripTestSelectors && !this._registeredWithBabel) { let checker = new VersionChecker(this.parent).for('ember-cli-babel', 'npm'); - app.options = app.options || {}; + appOrParent.options = appOrParent.options || {}; if (checker.satisfies('^5.0.0')) { - app.options.babel = app.options.babel || {}; - app.options.babel.plugins = app.options.babel.plugins || []; - app.options.babel.plugins.push(require('./strip-data-test-properties-plugin')); + appOrParent.options.babel = appOrParent.options.babel || {}; + appOrParent.options.babel.plugins = appOrParent.options.babel.plugins || []; + appOrParent.options.babel.plugins.push(require('./strip-data-test-properties-plugin')); } else if (checker.satisfies('^6.0.0-beta.1') || checker.satisfies('^7.0.0')) { - app.options.babel6 = app.options.babel6 || {}; - app.options.babel6.plugins = app.options.babel6.plugins || []; - app.options.babel6.plugins.push(require.resolve('./strip-data-test-properties-plugin6')); + appOrParent.options.babel6 = appOrParent.options.babel6 || {}; + appOrParent.options.babel6.plugins = appOrParent.options.babel6.plugins || []; + appOrParent.options.babel6.plugins.push(require.resolve('./strip-data-test-properties-plugin6')); } else { this.ui.writeWarnLine('ember-test-selectors: You are using an unsupported ember-cli-babel version. data-test ' + 'properties are not automatically stripped from your JS code.');