diff --git a/.eslintrc.js b/.eslintrc.js
index 2000b35..ef236c6 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -5,16 +5,19 @@ module.exports = {
sourceType: 'module'
},
plugins: [
- 'ember'
+ 'ember',
+ 'prettier',
],
extends: [
'eslint:recommended',
- 'plugin:ember/recommended'
+ 'plugin:ember/recommended',
+ 'prettier',
],
env: {
browser: true
},
rules: {
+ 'prettier/prettier': 'error',
},
overrides: [
// node files
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..0040047
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,5 @@
+{
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "printWidth": 100
+ }
\ No newline at end of file
diff --git a/config/ember-try.js b/config/ember-try.js
index fb22311..82054c7 100644
--- a/config/ember-try.js
+++ b/config/ember-try.js
@@ -6,8 +6,8 @@ module.exports = function() {
return Promise.all([
getChannelURL('release'),
getChannelURL('beta'),
- getChannelURL('canary')
- ]).then((urls) => {
+ getChannelURL('canary'),
+ ]).then(urls => {
return {
useYarn: true,
scenarios: [
@@ -15,57 +15,57 @@ module.exports = function() {
name: 'ember-lts-2.12',
npm: {
devDependencies: {
- 'ember-source': '~2.12.0'
- }
- }
+ 'ember-source': '~2.12.0',
+ },
+ },
},
{
name: 'ember-lts-2.16',
npm: {
devDependencies: {
- 'ember-source': '~2.16.0'
- }
- }
+ 'ember-source': '~2.16.0',
+ },
+ },
},
{
name: 'ember-lts-2.18',
npm: {
devDependencies: {
- 'ember-source': '~2.18.0'
- }
- }
+ 'ember-source': '~2.18.0',
+ },
+ },
},
{
name: 'ember-release',
npm: {
devDependencies: {
- 'ember-source': urls[0]
- }
- }
+ 'ember-source': urls[0],
+ },
+ },
},
{
name: 'ember-beta',
npm: {
devDependencies: {
- 'ember-source': urls[1]
- }
- }
+ 'ember-source': urls[1],
+ },
+ },
},
{
name: 'ember-canary',
npm: {
devDependencies: {
- 'ember-source': urls[2]
- }
- }
+ 'ember-source': urls[2],
+ },
+ },
},
{
name: 'ember-default',
npm: {
- devDependencies: {}
- }
- }
- ]
+ devDependencies: {},
+ },
+ },
+ ],
};
});
};
diff --git a/config/environment.js b/config/environment.js
index 0dfaed4..9707ea6 100644
--- a/config/environment.js
+++ b/config/environment.js
@@ -1,5 +1,5 @@
'use strict';
module.exports = function(/* environment, appConfig */) {
- return { };
+ return {};
};
diff --git a/index.js b/index.js
index ec8a623..82c6a3c 100644
--- a/index.js
+++ b/index.js
@@ -21,7 +21,7 @@ module.exports = {
plugin: require('./lib/angle-bracket-invocation-polyfill'),
baseDir() {
return __dirname;
- }
+ },
});
}
},
@@ -29,20 +29,24 @@ module.exports = {
included() {
this._super.included.apply(this, arguments);
- if (!this.shouldPolyfill) { return; }
+ if (!this.shouldPolyfill) {
+ return;
+ }
- this.import("vendor/angle-bracket-invocation-polyfill/index.js");
+ this.import('vendor/angle-bracket-invocation-polyfill/index.js');
},
treeForVendor(rawVendorTree) {
- if (!this.shouldPolyfill) { return; }
+ if (!this.shouldPolyfill) {
+ return;
+ }
- let babelAddon = this.addons.find(addon => addon.name === "ember-cli-babel");
+ let babelAddon = this.addons.find(addon => addon.name === 'ember-cli-babel');
let transpiledVendorTree = babelAddon.transpileTree(rawVendorTree, {
- "ember-cli-babel": {
- compileModules: false
- }
+ 'ember-cli-babel': {
+ compileModules: false,
+ },
});
return transpiledVendorTree;
diff --git a/lib/angle-bracket-invocation-polyfill.js b/lib/angle-bracket-invocation-polyfill.js
index a249aa2..18b5d31 100644
--- a/lib/angle-bracket-invocation-polyfill.js
+++ b/lib/angle-bracket-invocation-polyfill.js
@@ -1,4 +1,4 @@
-"use strict";
+'use strict';
const reLines = /(.*?(?:\r\n?|\n|$))/gm;
const ALPHA = /[A-Za-z]/;
@@ -17,7 +17,7 @@ class AngleBracketPolyfill {
// in order to debug in https://astexplorer.net/#/gist/5e923e7322de5052a26a5a292f8c3995/
// **** copy from here ****
function dasherize(string) {
- return string.replace(/[A-Z]/g, function (char, index) {
+ return string.replace(/[A-Z]/g, function(char, index) {
return (index !== 0 ? '-' : '') + char.toLowerCase();
});
}
@@ -43,38 +43,42 @@ class AngleBracketPolyfill {
// politely lifted from https://github.com/glimmerjs/glimmer-vm/blob/v0.35.0/packages/%40glimmer/syntax/lib/parser.ts#L113-L149
function sourceForNode(node) {
- let firstLine = node.loc.start.line - 1;
- let currentLine = firstLine - 1;
- let firstColumn = node.loc.start.column;
- let string = [];
- let line;
-
- let lastLine = node.loc.end.line - 1;
- let lastColumn = node.loc.end.column;
-
- while (currentLine < lastLine) {
- currentLine++;
- line = sourceLines[currentLine];
-
- if (currentLine === firstLine) {
- if (firstLine === lastLine) {
- string.push(line.slice(firstColumn, lastColumn));
- } else {
- string.push(line.slice(firstColumn));
- }
- } else if (currentLine === lastLine) {
- string.push(line.slice(0, lastColumn));
+ let firstLine = node.loc.start.line - 1;
+ let currentLine = firstLine - 1;
+ let firstColumn = node.loc.start.column;
+ let string = [];
+ let line;
+
+ let lastLine = node.loc.end.line - 1;
+ let lastColumn = node.loc.end.column;
+
+ while (currentLine < lastLine) {
+ currentLine++;
+ line = sourceLines[currentLine];
+
+ if (currentLine === firstLine) {
+ if (firstLine === lastLine) {
+ string.push(line.slice(firstColumn, lastColumn));
} else {
- string.push(line);
+ string.push(line.slice(firstColumn));
}
+ } else if (currentLine === lastLine) {
+ string.push(line.slice(0, lastColumn));
+ } else {
+ string.push(line);
}
+ }
- return string.join('\n');
+ return string.join('\n');
}
function getSelfClosing(element) {
- if ('selfClosing' in element) { return element.selfClosing; }
- if (!hasSourceAvailable) { return false; }
+ if ('selfClosing' in element) {
+ return element.selfClosing;
+ }
+ if (!hasSourceAvailable) {
+ return false;
+ }
let nodeSource = sourceForNode(element);
let firstClosingBracketIndex = nodeSource.indexOf('>');
@@ -91,7 +95,9 @@ class AngleBracketPolyfill {
*/
function getTag(element) {
// if we have no source, we must use whatever element.tag has
- if (!hasSourceAvailable) { return element.tag; }
+ if (!hasSourceAvailable) {
+ return element.tag;
+ }
let nodeSource = sourceForNode(element);
@@ -99,8 +105,8 @@ class AngleBracketPolyfill {
for (let i = 0; i < nodeSource.length; i++) {
let char = nodeSource[i];
if (char == '@' || ALPHA.test(char)) {
- firstChar = char;
- break;
+ firstChar = char;
+ break;
}
}
@@ -115,21 +121,23 @@ class AngleBracketPolyfill {
let [maybeLocal] = tag.split('.');
let isLocal = locals.indexOf(maybeLocal) !== -1;
- let isUpperCase = invocationFirstChar === invocationFirstChar.toUpperCase() && invocationFirstChar !== invocationFirstChar.toLowerCase();
+ let isUpperCase =
+ invocationFirstChar === invocationFirstChar.toUpperCase() &&
+ invocationFirstChar !== invocationFirstChar.toLowerCase();
let selfClosing = getSelfClosing(element);
if (isLocal || isNamedArgument || isThisPath) {
return {
kind: 'DynamicComponent',
path: b.path(tag),
- selfClosing
- }
+ selfClosing,
+ };
} else if (isUpperCase) {
return {
kind: 'StaticComponent',
componentName: dasherize(tag),
selfClosing,
- }
+ };
} else {
return { kind: 'Element' };
}
@@ -146,26 +154,26 @@ class AngleBracketPolyfill {
for (let i = 0; i < node.blockParams.length; i++) {
locals.pop();
}
- }
+ },
},
ElementNode(node) {
let invocation = getInvocationDetails(node);
- if (invocation.kind === 'Element') { return; }
+ if (invocation.kind === 'Element') {
+ return;
+ }
let { children, blockParams } = node;
let attributes = node.attributes.filter(node => node.name[0] !== '@');
let args = node.attributes.filter(node => node.name[0] === '@');
- let hash = b.hash(args.map(arg =>
- b.pair(
- arg.name.slice(1),
- expressionForAttributeValue(arg.value),
- arg.loc
+ let hash = b.hash(
+ args.map(arg =>
+ b.pair(arg.name.slice(1), expressionForAttributeValue(arg.value), arg.loc)
)
- ));
+ );
if (attributes.length > 0) {
hash.pairs.push(
@@ -174,9 +182,11 @@ class AngleBracketPolyfill {
b.sexpr(
'hash',
[],
- b.hash(attributes.map(attr =>
- b.pair(attr.name, expressionForAttributeValue(attr.value), attr.loc)
- ))
+ b.hash(
+ attributes.map(attr =>
+ b.pair(attr.name, expressionForAttributeValue(attr.value), attr.loc)
+ )
+ )
)
)
);
@@ -186,17 +196,18 @@ class AngleBracketPolyfill {
if (invocation.selfClosing === true) {
return b.mustache(invocation.componentName, null, hash, false, node.loc);
} else {
- return b.block(invocation.componentName, null, hash, b.program(children, blockParams), null, node.loc);
- }
- } else {
- if (invocation.selfClosing === true) {
- return b.mustache(
- 'component',
- [invocation.path],
+ return b.block(
+ invocation.componentName,
+ null,
hash,
+ b.program(children, blockParams),
null,
node.loc
);
+ }
+ } else {
+ if (invocation.selfClosing === true) {
+ return b.mustache('component', [invocation.path], hash, null, node.loc);
} else {
return b.block(
'component',
diff --git a/lib/sample-compile-script.js b/lib/sample-compile-script.js
index 3b59cb5..835bd0c 100644
--- a/lib/sample-compile-script.js
+++ b/lib/sample-compile-script.js
@@ -13,4 +13,4 @@ compiler.registerPlugin('ast', require('./angle-bracket-invocation-polyfill'));
let template = '';
let output = compiler.precompile(template, { contents: template });
-console.log(output); // eslint-disable-line no-console
\ No newline at end of file
+console.log(output); // eslint-disable-line no-console
diff --git a/package.json b/package.json
index 4d70214..58301f9 100644
--- a/package.json
+++ b/package.json
@@ -44,9 +44,12 @@
"ember-source": "~3.2.0-beta.2",
"ember-source-channel-url": "^1.0.1",
"ember-try": "^0.2.23",
+ "eslint-config-prettier": "^2.9.0",
"eslint-plugin-ember": "^5.0.0",
"eslint-plugin-node": "^6.0.1",
+ "eslint-plugin-prettier": "^2.6.0",
"loader.js": "^4.2.3",
+ "prettier": "^1.13.4",
"qunit-dom": "^0.6.2"
},
"engines": {
diff --git a/testem.js b/testem.js
index d1755a4..234f37b 100644
--- a/testem.js
+++ b/testem.js
@@ -1,12 +1,8 @@
module.exports = {
test_page: 'tests/index.html?hidepassed',
disable_watching: true,
- launch_in_ci: [
- 'Chrome'
- ],
- launch_in_dev: [
- 'Chrome'
- ],
+ launch_in_ci: ['Chrome'],
+ launch_in_dev: ['Chrome'],
browser_args: {
Chrome: {
mode: 'ci',
@@ -17,8 +13,8 @@ module.exports = {
'--disable-gpu',
'--headless',
'--remote-debugging-port=0',
- '--window-size=1440,900'
- ].filter(Boolean)
- }
- }
+ '--window-size=1440,900',
+ ].filter(Boolean),
+ },
+ },
};
diff --git a/tests/dummy/app/app.js b/tests/dummy/app/app.js
index b3b2bd6..f08aaaf 100644
--- a/tests/dummy/app/app.js
+++ b/tests/dummy/app/app.js
@@ -6,7 +6,7 @@ import config from './config/environment';
const App = Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
- Resolver
+ Resolver,
});
loadInitializers(App, config.modulePrefix);
diff --git a/tests/dummy/app/router.js b/tests/dummy/app/router.js
index d0bb009..8f6f459 100644
--- a/tests/dummy/app/router.js
+++ b/tests/dummy/app/router.js
@@ -3,10 +3,9 @@ import config from './config/environment';
const Router = EmberRouter.extend({
location: config.locationType,
- rootURL: config.rootURL
+ rootURL: config.rootURL,
});
-Router.map(function() {
-});
+Router.map(function() {});
export default Router;
diff --git a/tests/dummy/config/environment.js b/tests/dummy/config/environment.js
index 182d3fc..d831480 100644
--- a/tests/dummy/config/environment.js
+++ b/tests/dummy/config/environment.js
@@ -13,14 +13,14 @@ module.exports = function(environment) {
},
EXTEND_PROTOTYPES: {
// Prevent Ember Data from overriding Date.parse.
- Date: false
- }
+ Date: false,
+ },
},
APP: {
// Here you can pass flags/options to your application instance
// when it is created
- }
+ },
};
if (environment === 'development') {
diff --git a/tests/dummy/config/targets.js b/tests/dummy/config/targets.js
index 8ffae36..f143193 100644
--- a/tests/dummy/config/targets.js
+++ b/tests/dummy/config/targets.js
@@ -1,10 +1,6 @@
'use strict';
-const browsers = [
- 'last 1 Chrome versions',
- 'last 1 Firefox versions',
- 'last 1 Safari versions'
-];
+const browsers = ['last 1 Chrome versions', 'last 1 Firefox versions', 'last 1 Safari versions'];
const isCI = !!process.env.CI;
const isProduction = process.env.EMBER_ENV === 'production';
@@ -14,5 +10,5 @@ if (isCI || isProduction) {
}
module.exports = {
- browsers
+ browsers,
};
diff --git a/tests/integration/components/angle-bracket-invocation-test.js b/tests/integration/components/angle-bracket-invocation-test.js
index 9bfafb8..cd0d282 100644
--- a/tests/integration/components/angle-bracket-invocation-test.js
+++ b/tests/integration/components/angle-bracket-invocation-test.js
@@ -6,11 +6,11 @@ import hbs from 'htmlbars-inline-precompile';
import Service, { inject as injectService } from '@ember/service';
import Component from '@ember/component';
-module('Integration | Component | angle-bracket-invocation', function (hooks) {
+module('Integration | Component | angle-bracket-invocation', function(hooks) {
setupRenderingTest(hooks);
- module('static component support', function () {
- test('invoke without block', async function (assert) {
+ module('static component support', function() {
+ test('invoke without block', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`hi martin!`);
await render(hbs``);
@@ -18,7 +18,7 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
assert.dom().hasText('hi martin!');
});
- test('invoke with block', async function (assert) {
+ test('invoke with block', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`{{yield}}`);
await render(hbs`hi rwjblue!`);
@@ -26,7 +26,7 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
assert.dom().hasText('hi rwjblue!');
});
- test('yielding block param', async function (assert) {
+ test('yielding block param', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`{{yield 'hi'}}`);
await render(hbs`{{salutation}} rwjblue!`);
@@ -34,7 +34,7 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
assert.dom().hasText('hi rwjblue!');
});
- test('with arguments', async function (assert) {
+ test('with arguments', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`
{{title}}
`);
this.set('title', "rwjblue's component");
@@ -70,7 +70,7 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
});
module('dynamic component support', function() {
- test('invoke dynamic - local, self-closing', async function (assert) {
+ test('invoke dynamic - local, self-closing', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`hi rwjblue!`);
await render(hbs`
@@ -79,10 +79,10 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
{{/with}}
`);
- assert.dom().hasText("hi rwjblue!");
+ assert.dom().hasText('hi rwjblue!');
});
- test('invoke dynamic - local path', async function (assert) {
+ test('invoke dynamic - local path', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`hi rwjblue!`);
await render(hbs`
@@ -91,10 +91,10 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
{{/with}}
`);
- assert.dom().hasText("hi rwjblue!");
+ assert.dom().hasText('hi rwjblue!');
});
- test('invoke dynamic - local, block', async function (assert) {
+ test('invoke dynamic - local, block', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`{{yield}}!`);
await render(hbs`
@@ -103,10 +103,10 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
{{/with}}
`);
- assert.dom().hasText("hi rwjblue!");
+ assert.dom().hasText('hi rwjblue!');
});
- test('invoke dynamic - local, block, block param', async function (assert) {
+ test('invoke dynamic - local, block, block param', async function(assert) {
this.owner.register('template:components/foo-bar', hbs`{{yield 'hi'}}!`);
await render(hbs`
@@ -115,7 +115,7 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
{{/with}}
`);
- assert.dom().hasText("hi rwjblue!");
+ assert.dom().hasText('hi rwjblue!');
});
test('local with single attribute', async function(assert) {
@@ -130,66 +130,72 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
assert.dom('[data-foo="bar"]').exists();
});
- test('invoke dynamic - path', async function (assert) {
+ test('invoke dynamic - path', async function(assert) {
this.owner.register('service:elsewhere', Service.extend());
- this.owner.register('component:x-invoker', Component.extend({
- elsewhere: injectService(),
-
- init() {
- this._super(...arguments);
-
- let elsewhere = this.get('elsewhere');
- elsewhere.set('curriedThing', this.curriedThing);
- }
- }));
+ this.owner.register(
+ 'component:x-invoker',
+ Component.extend({
+ elsewhere: injectService(),
+
+ init() {
+ this._super(...arguments);
+
+ let elsewhere = this.get('elsewhere');
+ elsewhere.set('curriedThing', this.curriedThing);
+ },
+ })
+ );
this.owner.register('template:components/x-invoker', hbs``);
this.owner.register('template:components/foo-bar', hbs`hi rwjblue!`);
await render(hbs`{{x-invoker curriedThing=(component 'foo-bar')}}`);
- assert.dom().hasText("hi rwjblue!");
+ assert.dom().hasText('hi rwjblue!');
});
- test('invoke dynamic - path no implicit this', async function (assert) {
+ test('invoke dynamic - path no implicit this', async function(assert) {
this.owner.register('service:elsewhere', Service.extend());
- this.owner.register('component:x-invoker', Component.extend({
- elsewhere: injectService(),
-
- init() {
- this._super(...arguments);
-
- let elsewhere = this.get('elsewhere');
- elsewhere.set('curriedThing', this.curriedThing);
- }
- }));
+ this.owner.register(
+ 'component:x-invoker',
+ Component.extend({
+ elsewhere: injectService(),
+
+ init() {
+ this._super(...arguments);
+
+ let elsewhere = this.get('elsewhere');
+ elsewhere.set('curriedThing', this.curriedThing);
+ },
+ })
+ );
this.owner.register('template:components/x-invoker', hbs``);
this.owner.register('template:components/foo-bar', hbs`hi rwjblue!`);
await render(hbs`{{x-invoker curriedThing=(component 'foo-bar')}}`);
// should not have rendered anything (no implicit `this`)
- assert.dom().hasText("");
+ assert.dom().hasText('');
});
});
- module('has-block', function (hooks) {
- hooks.beforeEach(function () {
+ module('has-block', function(hooks) {
+ hooks.beforeEach(function() {
this.owner.register('template:components/foo-bar', hbs`{{#if hasBlock}}Yes{{else}}No{{/if}}`);
});
- test('when self-closing', async function (assert) {
+ test('when self-closing', async function(assert) {
await render(hbs``);
assert.dom().hasText('No');
});
- test('with block', async function (assert) {
+ test('with block', async function(assert) {
await render(hbs`Stuff`);
assert.dom().hasText('Yes');
});
- test('invoking dynamically - self-closing', async function (assert) {
+ test('invoking dynamically - self-closing', async function(assert) {
await render(hbs`
{{#with (component 'foo-bar') as |LolBar|}}
@@ -199,7 +205,7 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
assert.dom().hasText('No');
});
- test('invoking dynamically - with block', async function (assert) {
+ test('invoking dynamically - with block', async function(assert) {
await render(hbs`
{{#with (component 'foo-bar') as |LolBar|}}
@@ -209,4 +215,4 @@ module('Integration | Component | angle-bracket-invocation', function (hooks) {
assert.dom().hasText('Yes');
});
});
-});
\ No newline at end of file
+});
diff --git a/vendor/angle-bracket-invocation-polyfill/index.js b/vendor/angle-bracket-invocation-polyfill/index.js
index 9584e3d..7696f8c 100644
--- a/vendor/angle-bracket-invocation-polyfill/index.js
+++ b/vendor/angle-bracket-invocation-polyfill/index.js
@@ -3,36 +3,36 @@
// Based heavily on https://github.com/mmun/ember-component-attributes
(function() {
- const { Component, computed } = Ember;
+ const { Component, computed } = Ember;
- Component.reopen({
- __ANGLE_ATTRS__: computed({
- set(key, value) {
- let attributes = Object.keys(value);
- let attributeBindingsOverride = [];
+ Component.reopen({
+ __ANGLE_ATTRS__: computed({
+ set(key, value) {
+ let attributes = Object.keys(value);
+ let attributeBindingsOverride = [];
- for (let i = 0; i < attributes.length; i++) {
- let attribute = attributes[i];
+ for (let i = 0; i < attributes.length; i++) {
+ let attribute = attributes[i];
- attributeBindingsOverride.push(`__ANGLE_ATTRS__.${attribute}:${attribute}`);
- }
-
- if (this.attributeBindings) {
- let attributeBindings = this.attributeBindings.filter(microsyntax => {
- // See https://github.com/emberjs/ember.js/blob/6a6f279df3b1a0979b5fd000bf49cd775c720f01/packages/ember-glimmer/lib/utils/bindings.js#L59-L73
- let colonIndex = microsyntax.indexOf(":");
- let attribute = colonIndex === -1 ? microsyntax : microsyntax.substring(colonIndex + 1);
+ attributeBindingsOverride.push(`__ANGLE_ATTRS__.${attribute}:${attribute}`);
+ }
- return attributes.indexOf(attribute) === -1;
- });
+ if (this.attributeBindings) {
+ let attributeBindings = this.attributeBindings.filter(microsyntax => {
+ // See https://github.com/emberjs/ember.js/blob/6a6f279df3b1a0979b5fd000bf49cd775c720f01/packages/ember-glimmer/lib/utils/bindings.js#L59-L73
+ let colonIndex = microsyntax.indexOf(':');
+ let attribute = colonIndex === -1 ? microsyntax : microsyntax.substring(colonIndex + 1);
- this.attributeBindings = attributeBindingsOverride.concat(attributeBindings);
- } else {
- this.attributeBindings = attributeBindingsOverride;
- }
+ return attributes.indexOf(attribute) === -1;
+ });
- return value;
+ this.attributeBindings = attributeBindingsOverride.concat(attributeBindings);
+ } else {
+ this.attributeBindings = attributeBindingsOverride;
}
- })
- });
- })();
\ No newline at end of file
+
+ return value;
+ },
+ }),
+ });
+})();
diff --git a/yarn.lock b/yarn.lock
index 5dd4bf2..3583f9c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2306,6 +2306,12 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+eslint-config-prettier@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3"
+ dependencies:
+ get-stdin "^5.0.1"
+
eslint-plugin-ember@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-5.2.0.tgz#fa436e0497dfc01d1d38608229cd616e7c5b6067"
@@ -2322,6 +2328,13 @@ eslint-plugin-node@^6.0.1:
resolve "^1.3.3"
semver "^5.4.1"
+eslint-plugin-prettier@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz#33e4e228bdb06142d03c560ce04ec23f6c767dd7"
+ dependencies:
+ fast-diff "^1.1.1"
+ jest-docblock "^21.0.0"
+
eslint-scope@^3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
@@ -2594,6 +2607,10 @@ fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+fast-diff@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
+
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
@@ -2885,6 +2902,10 @@ get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+get-stdin@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
+
get-stream@3.0.0, get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
@@ -3534,6 +3555,10 @@ isurl@^1.0.0-alpha5:
has-to-string-tag-x "^1.2.0"
is-object "^1.0.1"
+jest-docblock@^21.0.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414"
+
jquery@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
@@ -4749,6 +4774,10 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+prettier@^1.13.4:
+ version "1.13.4"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.4.tgz#31bbae6990f13b1093187c731766a14036fa72e6"
+
printf@^0.2.3:
version "0.2.5"
resolved "https://registry.yarnpkg.com/printf/-/printf-0.2.5.tgz#c438ca2ca33e3927671db4ab69c0e52f936a4f0f"