DEV: Don't allow `Promise` unless imported from `"rsvp"`

We want to make sure we are using the correct promise implementation so
let's lint out the browser version.
This commit is contained in:
Robin Ward 2019-11-20 15:18:37 -05:00
parent 9799a651b6
commit d7ae052efe
7 changed files with 16 additions and 11 deletions

View File

@ -84,6 +84,7 @@ var define, requirejs;
}, },
rsvp: { rsvp: {
default: Ember.RSVP, default: Ember.RSVP,
EventTarget: Ember.RSVP,
Promise: Ember.RSVP.Promise, Promise: Ember.RSVP.Promise,
hash: Ember.RSVP.hash, hash: Ember.RSVP.hash,
all: Ember.RSVP.all all: Ember.RSVP.all

View File

@ -1,4 +1,5 @@
import ENV from "discourse-common/config/environment"; import ENV from "discourse-common/config/environment";
import { EventTarget } from "rsvp";
// Track visible elemnts on the screen. // Track visible elemnts on the screen.
const Eyeline = function Eyeline(selector) { const Eyeline = function Eyeline(selector) {
@ -70,6 +71,6 @@ Eyeline.prototype.flushRest = function() {
$(this.selector).each((i, elem) => this.trigger("saw", { detail: $(elem) })); $(this.selector).each((i, elem) => this.trigger("saw", { detail: $(elem) }));
}; };
RSVP.EventTarget.mixin(Eyeline.prototype); EventTarget.mixin(Eyeline.prototype);
export default Eyeline; export default Eyeline;

View File

@ -12,6 +12,7 @@ import { findAll } from "discourse/models/login-method";
import { getOwner } from "discourse-common/lib/get-owner"; import { getOwner } from "discourse-common/lib/get-owner";
import { userPath } from "discourse/lib/url"; import { userPath } from "discourse/lib/url";
import Composer from "discourse/models/composer"; import Composer from "discourse/models/composer";
import { EventTarget } from "rsvp";
function unlessReadOnly(method, message) { function unlessReadOnly(method, message) {
return function() { return function() {
@ -288,5 +289,5 @@ const ApplicationRoute = DiscourseRoute.extend(OpenComposer, {
} }
}); });
RSVP.EventTarget.mixin(ApplicationRoute); EventTarget.mixin(ApplicationRoute);
export default ApplicationRoute; export default ApplicationRoute;

View File

@ -6,6 +6,7 @@ import { later } from "@ember/runloop";
import DiscourseRoute from "discourse/routes/discourse"; import DiscourseRoute from "discourse/routes/discourse";
import DiscourseURL from "discourse/lib/url"; import DiscourseURL from "discourse/lib/url";
import { ID_CONSTRAINT } from "discourse/models/topic"; import { ID_CONSTRAINT } from "discourse/models/topic";
import { EventTarget } from "rsvp";
let isTransitioning = false, let isTransitioning = false,
scheduledReplace = null, scheduledReplace = null,
@ -313,5 +314,5 @@ const TopicRoute = DiscourseRoute.extend({
} }
}); });
RSVP.EventTarget.mixin(TopicRoute); EventTarget.mixin(TopicRoute);
export default TopicRoute; export default TopicRoute;

View File

@ -43,7 +43,7 @@
"chrome-launcher": "^0.12.0", "chrome-launcher": "^0.12.0",
"chrome-remote-interface": "^0.25", "chrome-remote-interface": "^0.25",
"eslint": "^4.19", "eslint": "^4.19",
"eslint-config-discourse": "1.0.6", "eslint-config-discourse": "1.0.7",
"install-peerdeps": "^1.10.2", "install-peerdeps": "^1.10.2",
"lodash-cli": "https://github.com/lodash-archive/lodash-cli.git", "lodash-cli": "https://github.com/lodash-archive/lodash-cli.git",
"pretender": "^1.6", "pretender": "^1.6",

View File

@ -1,6 +1,7 @@
import Post from "discourse/models/post"; import Post from "discourse/models/post";
import createStore from "helpers/create-store"; import createStore from "helpers/create-store";
import User from "discourse/models/user"; import User from "discourse/models/user";
import { Promise } from "rsvp";
QUnit.module("model:post-stream"); QUnit.module("model:post-stream");
@ -208,7 +209,7 @@ QUnit.test("removePosts", assert => {
QUnit.test("cancelFilter", assert => { QUnit.test("cancelFilter", assert => {
const postStream = buildStream(1235); const postStream = buildStream(1235);
sandbox.stub(postStream, "refresh").returns(new Ember.RSVP.resolve()); sandbox.stub(postStream, "refresh").returns(Promise.resolve());
postStream.set("summary", true); postStream.set("summary", true);
postStream.cancelFilter(); postStream.cancelFilter();
@ -246,7 +247,7 @@ QUnit.test("findPostIdForPostNumber", assert => {
QUnit.test("toggleParticipant", assert => { QUnit.test("toggleParticipant", assert => {
const postStream = buildStream(1236); const postStream = buildStream(1236);
sandbox.stub(postStream, "refresh").returns(new Ember.RSVP.resolve()); sandbox.stub(postStream, "refresh").returns(Promise.resolve());
assert.equal( assert.equal(
postStream.get("userFilters.length"), postStream.get("userFilters.length"),
@ -269,7 +270,7 @@ QUnit.test("toggleParticipant", assert => {
QUnit.test("streamFilters", assert => { QUnit.test("streamFilters", assert => {
const postStream = buildStream(1237); const postStream = buildStream(1237);
sandbox.stub(postStream, "refresh").returns(new Ember.RSVP.resolve()); sandbox.stub(postStream, "refresh").returns(Promise.resolve());
assert.deepEqual( assert.deepEqual(
postStream.get("streamFilters"), postStream.get("streamFilters"),

View File

@ -886,10 +886,10 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
eslint-config-discourse@1.0.6: eslint-config-discourse@1.0.7:
version "1.0.6" version "1.0.7"
resolved "https://registry.yarnpkg.com/eslint-config-discourse/-/eslint-config-discourse-1.0.6.tgz#cfd23c7d7b92ca9c416cbc30272be197a823cbe3" resolved "https://registry.yarnpkg.com/eslint-config-discourse/-/eslint-config-discourse-1.0.7.tgz#6e4a67fee63b7eb0f97c14fbf67d6fc5f84896bb"
integrity sha512-JOTncJzusPnYC97rXRQLewk5CxToL31spw7dzDbVk9XkZpnmRenbWmRawW2OEkbbXow3AdcKj/ousmo9PttwbA== integrity sha512-KPP/sfGWAfn7Wnx/lP9x6eMCmC2ag42NK5Dgj5EsOypQGe1Ct4KA2z0fEGuIqGxDoh5xEZB2Nf6qD/lv0gRg7w==
eslint-scope@3.7.1: eslint-scope@3.7.1:
version "3.7.1" version "3.7.1"