From bb1953dab05e6f8e3f8ca8f416b8ec983e7678b7 Mon Sep 17 00:00:00 2001 From: simonihmig Date: Fri, 18 Jan 2019 01:18:20 +0100 Subject: [PATCH] Add deprecation for Ember.$() Deprecated as per RFC386. --- packages/ember/index.js | 13 ++++++++++++- packages/ember/tests/reexports_test.js | 16 +++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/packages/ember/index.js b/packages/ember/index.js index 711a0b2b0b8..d867df11438 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -561,7 +561,18 @@ Ember.VERSION = VERSION; // ****@ember/-internals/views**** if (!views.jQueryDisabled) { - Ember.$ = views.jQuery; + Ember.$ = function() { + deprecate( + "Using Ember.$() has been deprecated, use `import jQuery from 'jquery';` instead", + false, + { + id: 'ember-views.curly-components.jquery-element', + until: '4.0.0', + url: 'https://emberjs.com/deprecations/v3.x#toc_jquery-apis', + } + ); + return views.jQuery.apply(this, arguments); + }; } Ember.ViewUtils = { isSimpleClick: views.isSimpleClick, diff --git a/packages/ember/tests/reexports_test.js b/packages/ember/tests/reexports_test.js index e0eb8e597a7..717fb565794 100644 --- a/packages/ember/tests/reexports_test.js +++ b/packages/ember/tests/reexports_test.js @@ -52,6 +52,21 @@ moduleFor( } ); +if (!jQueryDisabled) { + moduleFor( + 'ember reexports: jQuery enabled', + class extends AbstractTestCase { + [`@test Ember.$ is exported`](assert) { + assert.ok(Ember.$, 'Ember.$ export exists'); + expectDeprecation(() => { + let body = Ember.$('body').get(0); + assert.equal(body, document.body, 'Ember.$ exports working jQuery instance'); + }, "Using Ember.$() has been deprecated, use `import jQuery from 'jquery';` instead"); + } + } + ); +} + let allExports = [ // @ember/-internals/environment ['ENV', '@ember/-internals/environment', { get: 'getENV' }], @@ -170,7 +185,6 @@ let allExports = [ ['Logger', '@ember/-internals/console', 'default'], // @ember/-internals/views - !jQueryDisabled && ['$', '@ember/-internals/views', 'jQuery'], ['ViewUtils.isSimpleClick', '@ember/-internals/views', 'isSimpleClick'], ['ViewUtils.getViewElement', '@ember/-internals/views', 'getViewElement'], ['ViewUtils.getViewBounds', '@ember/-internals/views', 'getViewBounds'],