diff --git a/.jscsrc b/.jscsrc index 67301eb6583..a436678ffeb 100644 --- a/.jscsrc +++ b/.jscsrc @@ -2,6 +2,7 @@ "esnext": true, "excludeFiles": ["ember-runtime/ext/rsvp.js"], "additionalRules": [ "lib/jscs-rules/*.js" ], + "disallowConstOutsideModuleScope": true, "disallowSpacesInsideArrayBrackets": "all", "disallowMultipleVarDeclWithAssignment": true, "disallowPaddingNewlinesInBlocks": true, diff --git a/lib/jscs-rules/disallow-const-outside-module-scope.js b/lib/jscs-rules/disallow-const-outside-module-scope.js new file mode 100644 index 00000000000..32c204575e5 --- /dev/null +++ b/lib/jscs-rules/disallow-const-outside-module-scope.js @@ -0,0 +1,38 @@ +var assert = require('assert'); + +module.exports = function() { }; + +module.exports.prototype = { + configure: function(option) { + assert(option === true, this.getOptionName() + ' requires a true value'); + }, + + getOptionName: function() { + return 'disallowConstOutsideModuleScope'; + }, + + check: function(file, errors) { + file.iterateNodesByType('VariableDeclaration', function(node) { + if (node.parentNode.type === 'Program') { + // declaration is in root of module + return; + } + + if (node.parentNode.type === 'ExportNamedDeclaration' && node.parentNode.parentNode.type === 'Program') { + // declaration is a `export const foo = 'asdf'` in root of the module + return; + } + + for (var i = 0; i < node.declarations.length; i++) { + var thisDeclaration = node.declarations[i]; + + if (thisDeclaration.parentNode.kind === 'const') { + errors.add( + '`const` should only be used in module scope (not inside functions/blocks).', + node.loc.start + ); + } + } + }); + } +}; diff --git a/packages/container/tests/container_test.js b/packages/container/tests/container_test.js index 5c4719ebb25..7ddeeea29d9 100644 --- a/packages/container/tests/container_test.js +++ b/packages/container/tests/container_test.js @@ -537,11 +537,11 @@ if (isEnabled('ember-container-inject-owner')) { }); } else { QUnit.test('A `container` property is appended to every instantiated object', function() { - const registry = new Registry(); - const container = registry.container(); - const PostController = factory(); + let registry = new Registry(); + let container = registry.container(); + let PostController = factory(); registry.register('controller:post', PostController); - const postController = container.lookup('controller:post'); + let postController = container.lookup('controller:post'); strictEqual(postController.container, container, ''); }); diff --git a/packages/container/tests/test-helpers/build-owner.js b/packages/container/tests/test-helpers/build-owner.js index 555ca5401ab..1b3628c0f72 100644 --- a/packages/container/tests/test-helpers/build-owner.js +++ b/packages/container/tests/test-helpers/build-owner.js @@ -7,9 +7,10 @@ export default function buildOwner(props) { let Owner = EmberObject.extend(RegistryProxy, ContainerProxy, { init() { this._super(...arguments); - const registry = this.__registry__ = new Registry(); + let registry = this.__registry__ = new Registry(); this.__container__ = registry.container({ owner: this }); } }); + return Owner.create(props); } diff --git a/packages/ember-htmlbars/lib/hooks/has-helper.js b/packages/ember-htmlbars/lib/hooks/has-helper.js index 647285b12d4..f21842bc00c 100644 --- a/packages/ember-htmlbars/lib/hooks/has-helper.js +++ b/packages/ember-htmlbars/lib/hooks/has-helper.js @@ -5,7 +5,7 @@ export default function hasHelperHook(env, scope, helperName) { return true; } - const owner = env.owner; + let owner = env.owner; if (validateLazyHelperName(helperName, owner, env.hooks.keywords)) { var registrationName = 'helper:' + helperName; if (owner.hasRegistration(registrationName)) { diff --git a/packages/ember-htmlbars/lib/keywords/closure-component.js b/packages/ember-htmlbars/lib/keywords/closure-component.js index 0d153a4f9d8..0e377318eda 100644 --- a/packages/ember-htmlbars/lib/keywords/closure-component.js +++ b/packages/ember-htmlbars/lib/keywords/closure-component.js @@ -64,7 +64,7 @@ function createClosureComponentCell(env, originalComponentPath, params, hash, la } function isValidComponentPath(env, path) { - const result = lookupComponent(env.owner, path); + let result = lookupComponent(env.owner, path); return !!(result.component || result.layout); } diff --git a/packages/ember-htmlbars/lib/keywords/get.js b/packages/ember-htmlbars/lib/keywords/get.js index 013ace86f3c..6c03311f926 100644 --- a/packages/ember-htmlbars/lib/keywords/get.js +++ b/packages/ember-htmlbars/lib/keywords/get.js @@ -15,8 +15,8 @@ import { } from 'ember-metal/observer'; function labelFor(source, key) { - const sourceLabel = source.label ? source.label : ''; - const keyLabel = key.label ? key.label : ''; + let sourceLabel = source.label ? source.label : ''; + let keyLabel = key.label ? key.label : ''; return `(get ${sourceLabel} ${keyLabel})`; } @@ -34,7 +34,7 @@ let DynamicKeyStream = BasicStream.extend({ }, key() { - const key = this.keyDep.getValue(); + let key = this.keyDep.getValue(); if (typeof key === 'string') { return key; } @@ -84,12 +84,12 @@ let DynamicKeyStream = BasicStream.extend({ }); const buildStream = function buildStream(params) { - const [objRef, pathRef] = params; + let [objRef, pathRef] = params; assert('The first argument to {{get}} must be a stream', isStream(objRef)); assert('{{get}} requires at least two arguments', params.length > 1); - const stream = buildDynamicKeyStream(objRef, pathRef); + let stream = buildDynamicKeyStream(objRef, pathRef); return stream; }; diff --git a/packages/ember-htmlbars/lib/node-managers/component-node-manager.js b/packages/ember-htmlbars/lib/node-managers/component-node-manager.js index d039646029f..2fee78cbc7b 100644 --- a/packages/ember-htmlbars/lib/node-managers/component-node-manager.js +++ b/packages/ember-htmlbars/lib/node-managers/component-node-manager.js @@ -236,7 +236,7 @@ export function createComponent(_component, isAngleBracket, props, renderNode, e props.renderer = props.parentView ? props.parentView.renderer : env.owner.lookup('renderer:-dom'); props._viewRegistry = props.parentView ? props.parentView._viewRegistry : env.owner.lookup('-view-registry:main'); - const component = _component.create(props); + let component = _component.create(props); // for the fallback case if (!getOwner(component)) { diff --git a/packages/ember-htmlbars/lib/node-managers/view-node-manager.js b/packages/ember-htmlbars/lib/node-managers/view-node-manager.js index 19136854c41..f9c53bf9ca0 100644 --- a/packages/ember-htmlbars/lib/node-managers/view-node-manager.js +++ b/packages/ember-htmlbars/lib/node-managers/view-node-manager.js @@ -182,7 +182,7 @@ export function createOrUpdateComponent(component, options, createOptions, rende mergeBindings(props, snapshot); - const owner = options.parentView ? getOwner(options.parentView) : env.owner; + let owner = options.parentView ? getOwner(options.parentView) : env.owner; setOwner(props, owner); props.renderer = options.parentView ? options.parentView.renderer : owner && owner.lookup('renderer:-dom'); diff --git a/packages/ember-htmlbars/lib/system/lookup-helper.js b/packages/ember-htmlbars/lib/system/lookup-helper.js index c187c3e5c91..32d6e65c48e 100644 --- a/packages/ember-htmlbars/lib/system/lookup-helper.js +++ b/packages/ember-htmlbars/lib/system/lookup-helper.js @@ -36,7 +36,7 @@ export function findHelper(name, view, env) { var helper = env.helpers[name]; if (!helper) { - const owner = env.owner; + let owner = env.owner; if (validateLazyHelperName(name, owner, env.hooks.keywords)) { var helperName = 'helper:' + name; if (owner.hasRegistration(helperName)) { diff --git a/packages/ember-htmlbars/lib/utils/extract-positional-params.js b/packages/ember-htmlbars/lib/utils/extract-positional-params.js index 75669f1f250..bc412c6adb4 100644 --- a/packages/ember-htmlbars/lib/utils/extract-positional-params.js +++ b/packages/ember-htmlbars/lib/utils/extract-positional-params.js @@ -11,7 +11,7 @@ export default function extractPositionalParams(renderNode, component, params, a } export function processPositionalParams(renderNode, positionalParams, params, attrs) { - const isNamed = typeof positionalParams === 'string'; + let isNamed = typeof positionalParams === 'string'; if (isNamed) { processRestPositionalParameters(renderNode, positionalParams, params, attrs); diff --git a/packages/ember-htmlbars/lib/utils/is-component.js b/packages/ember-htmlbars/lib/utils/is-component.js index 6953874b9ad..c639079646e 100644 --- a/packages/ember-htmlbars/lib/utils/is-component.js +++ b/packages/ember-htmlbars/lib/utils/is-component.js @@ -15,7 +15,7 @@ import { isStream } from 'ember-metal/streams/utils'; name was found in the container. */ export default function isComponent(env, scope, path) { - const owner = env.owner; + let owner = env.owner; if (!owner) { return false; } if (typeof path === 'string') { if (CONTAINS_DOT_CACHE.get(path)) { diff --git a/packages/ember-htmlbars/tests/compat/view_helper_test.js b/packages/ember-htmlbars/tests/compat/view_helper_test.js index 6f04796e01c..b6aee90376a 100644 --- a/packages/ember-htmlbars/tests/compat/view_helper_test.js +++ b/packages/ember-htmlbars/tests/compat/view_helper_test.js @@ -36,7 +36,7 @@ QUnit.module('ember-htmlbars: compat - view helper', { }); QUnit.test('using the view helper fails assertion', function(assert) { - const ViewClass = EmberView.extend({ + let ViewClass = EmberView.extend({ template: compile('fooView') }); owner.register('view:foo', ViewClass); @@ -67,7 +67,7 @@ QUnit.module('ember-htmlbars: compat - view helper [LEGACY]', { }); QUnit.test('using the view helper with a string (inline form) fails assertion [LEGACY]', function(assert) { - const ViewClass = EmberView.extend({ + let ViewClass = EmberView.extend({ template: compile('fooView') }); owner.register('view:foo', ViewClass); @@ -85,7 +85,7 @@ QUnit.test('using the view helper with a string (inline form) fails assertion [L }); QUnit.test('using the view helper with a string (block form) fails assertion [LEGACY]', function(assert) { - const ViewClass = EmberView.extend({ + let ViewClass = EmberView.extend({ template: compile('Foo says: {{yield}}') }); owner.register('view:foo', ViewClass); diff --git a/packages/ember-htmlbars/tests/glimmer-component/render-test.js b/packages/ember-htmlbars/tests/glimmer-component/render-test.js index 204e37b91be..ed4ff432e2e 100644 --- a/packages/ember-htmlbars/tests/glimmer-component/render-test.js +++ b/packages/ember-htmlbars/tests/glimmer-component/render-test.js @@ -48,7 +48,7 @@ function renderComponent(tag, component) { .map(key => `${key}=${hash[key]}`) .join(' '); - const owner = buildOwner(); + let owner = buildOwner(); owner.register('component-lookup:main', ComponentLookup); owner.register(`component:${tag}`, implementation); diff --git a/packages/ember-htmlbars/tests/integration/component_invocation_test.js b/packages/ember-htmlbars/tests/integration/component_invocation_test.js index b3eccb700c6..da5e5959a85 100644 --- a/packages/ember-htmlbars/tests/integration/component_invocation_test.js +++ b/packages/ember-htmlbars/tests/integration/component_invocation_test.js @@ -32,7 +32,7 @@ function commonTeardown() { } function appendViewFor(template, hash={}) { - const view = EmberView.extend({ + let view = EmberView.extend({ [OWNER]: owner, template: compile(template) }).create(hash); diff --git a/packages/ember-htmlbars/tests/system/lookup-helper_test.js b/packages/ember-htmlbars/tests/system/lookup-helper_test.js index fa2c791e7a9..05f4b493408 100644 --- a/packages/ember-htmlbars/tests/system/lookup-helper_test.js +++ b/packages/ember-htmlbars/tests/system/lookup-helper_test.js @@ -14,7 +14,7 @@ function generateEnv(helpers, owner) { } function generateOwner() { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('component-lookup:main', ComponentLookup); @@ -58,7 +58,7 @@ QUnit.test('does not lookup in the container if the name does not contain a dash }); QUnit.test('does a lookup in the container if the name contains a dash (and helper is not found in env)', function() { - const owner = generateOwner(); + let owner = generateOwner(); var env = generateEnv(null, owner); var view = { [OWNER]: owner @@ -73,7 +73,7 @@ QUnit.test('does a lookup in the container if the name contains a dash (and help }); QUnit.test('does a lookup in the container if the name is found in knownHelpers', function() { - const owner = generateOwner(); + let owner = generateOwner(); var env = generateEnv(null, owner); var view = { [OWNER]: owner @@ -90,7 +90,7 @@ QUnit.test('does a lookup in the container if the name is found in knownHelpers' QUnit.test('looks up a shorthand helper in the container', function() { expect(2); - const owner = generateOwner(); + let owner = generateOwner(); var env = generateEnv(null, owner); var view = { [OWNER]: owner @@ -113,7 +113,7 @@ QUnit.test('looks up a shorthand helper in the container', function() { QUnit.test('fails with a useful error when resolving a function', function() { expect(1); - const owner = generateOwner(); + let owner = generateOwner(); var env = generateEnv(null, owner); var view = { [OWNER]: owner diff --git a/packages/ember-htmlbars/tests/utils.js b/packages/ember-htmlbars/tests/utils.js index 52505002d85..435c70f27a2 100644 --- a/packages/ember-htmlbars/tests/utils.js +++ b/packages/ember-htmlbars/tests/utils.js @@ -6,7 +6,7 @@ function registerAstPlugin(plugin) { } function removeAstPlugin(plugin) { - const index = plugins['ast'].indexOf(plugin); + let index = plugins['ast'].indexOf(plugin); plugins['ast'].splice(index, 1); } diff --git a/packages/ember-metal/lib/injected_property.js b/packages/ember-metal/lib/injected_property.js index 6c91b56c2eb..eaea68efa87 100644 --- a/packages/ember-metal/lib/injected_property.js +++ b/packages/ember-metal/lib/injected_property.js @@ -25,7 +25,7 @@ function InjectedProperty(type, name) { function injectedPropertyGet(keyName) { var desc = this[keyName]; - const owner = getOwner(this); + let owner = getOwner(this); assert(`InjectedProperties should be defined with the Ember.inject computed property macros.`, desc && desc.isDescriptor && desc.type); assert(`Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.`, owner); diff --git a/packages/ember-routing-htmlbars/tests/helpers/closure_action_test.js b/packages/ember-routing-htmlbars/tests/helpers/closure_action_test.js index 3afce482959..62b823ed890 100644 --- a/packages/ember-routing-htmlbars/tests/helpers/closure_action_test.js +++ b/packages/ember-routing-htmlbars/tests/helpers/closure_action_test.js @@ -120,10 +120,10 @@ QUnit.test('action should be called on the correct scope', function(assert) { QUnit.test('arguments to action are passed, curry', function(assert) { assert.expect(4); - const first = 'mitch'; - const second = 'martin'; - const third = 'matt'; - const fourth = 'wacky wycats'; + let first = 'mitch'; + let second = 'martin'; + let third = 'matt'; + let fourth = 'wacky wycats'; innerComponent = EmberComponent.extend({ fireAction() { @@ -155,7 +155,7 @@ QUnit.test('arguments to action are passed, curry', function(assert) { QUnit.test('arguments to action are bound', function(assert) { assert.expect(1); - const value = 'lazy leah'; + let value = 'lazy leah'; innerComponent = EmberComponent.extend({ fireAction() { @@ -186,9 +186,9 @@ QUnit.test('arguments to action are bound', function(assert) { QUnit.test('array arguments are passed correctly to action', function(assert) { assert.expect(3); - const first = 'foo'; - const second = [3, 5]; - const third = [4, 9]; + let first = 'foo'; + let second = [3, 5]; + let third = [4, 9]; innerComponent = EmberComponent.extend({ fireAction() { @@ -384,7 +384,7 @@ QUnit.test('action can create closures over actions with target', function(asser QUnit.test('value can be used with action over actions', function(assert) { assert.expect(1); - const newValue = 'yelping yehuda'; + let newValue = 'yelping yehuda'; innerComponent = EmberComponent.extend({ fireAction() { @@ -419,7 +419,7 @@ QUnit.test('value can be used with action over actions', function(assert) { QUnit.test('action will read the value of a first property', function(assert) { assert.expect(1); - const newValue = 'irate igor'; + let newValue = 'irate igor'; innerComponent = EmberComponent.extend({ fireAction() { @@ -449,7 +449,7 @@ QUnit.test('action will read the value of a first property', function(assert) { QUnit.test('action will read the value of a curried first argument property', function(assert) { assert.expect(1); - const newValue = 'kissing kris'; + let newValue = 'kissing kris'; innerComponent = EmberComponent.extend({ fireAction() { diff --git a/packages/ember-routing-htmlbars/tests/helpers/render_test.js b/packages/ember-routing-htmlbars/tests/helpers/render_test.js index fbe70144172..cf1c1ed8506 100644 --- a/packages/ember-routing-htmlbars/tests/helpers/render_test.js +++ b/packages/ember-routing-htmlbars/tests/helpers/render_test.js @@ -170,7 +170,7 @@ QUnit.test('{{render}} helper with a supplied model should not fire observers on var post = { title: 'Rails is omakase' }; - const controller = EmberController.create({ + let controller = EmberController.create({ [OWNER]: appInstance, post: post }); @@ -197,9 +197,9 @@ QUnit.test('{{render}} helper with a supplied model should not fire observers on }); QUnit.test('{{render}} helper should raise an error when a given controller name does not resolve to a controller', function() { - const template = '

HI

{{render "home" controller="postss"}}'; - const Controller = EmberController.extend(); - const controller = Controller.create({ + let template = '

HI

{{render "home" controller="postss"}}'; + let Controller = EmberController.extend(); + let controller = Controller.create({ [OWNER]: appInstance }); @@ -221,7 +221,7 @@ QUnit.test('{{render}} helper should raise an error when a given controller name QUnit.test('{{render}} helper should render with given controller', function() { var template = '{{render "home" controller="posts"}}'; var Controller = EmberController.extend(); - const controller = Controller.create({ + let controller = Controller.create({ [OWNER]: appInstance }); var id = 0; @@ -251,7 +251,7 @@ QUnit.test('{{render}} helper should render with given controller', function() { QUnit.test('{{render}} helper should render a template without a model only once', function() { var template = '

HI

{{render \'home\'}}
{{render \'home\'}}'; var Controller = EmberController.extend(); - const controller = Controller.create({ + let controller = Controller.create({ [OWNER]: appInstance }); @@ -360,7 +360,7 @@ QUnit.test('{{render}} helper should not leak controllers', function() { QUnit.test('{{render}} helper should not treat invocations with falsy contexts as context-less', function() { var template = '

HI

{{render \'post\' zero}} {{render \'post\' nonexistent}}'; - const controller = EmberController.create({ + let controller = EmberController.create({ [OWNER]: appInstance, zero: false }); @@ -442,8 +442,8 @@ QUnit.test('{{render}} helper should render templates both with and without mode QUnit.test('{{render}} helper should link child controllers to the parent controller', function() { let parentTriggered = 0; - const template = '

HI

{{render "posts"}}'; - const Controller = EmberController.extend({ + let template = '

HI

{{render "posts"}}'; + let Controller = EmberController.extend({ actions: { parentPlease() { parentTriggered++; @@ -451,7 +451,7 @@ QUnit.test('{{render}} helper should link child controllers to the parent contro }, role: 'Mom' }); - const controller = Controller.create({ + let controller = Controller.create({ [OWNER]: appInstance }); @@ -480,9 +480,9 @@ QUnit.test('{{render}} helper should link child controllers to the parent contro }); QUnit.test('{{render}} helper should be able to render a template again when it was removed', function() { - const CoreOutlet = appInstance._lookupFactory('view:core-outlet'); - const Controller = EmberController.extend(); - const controller = Controller.create({ + let CoreOutlet = appInstance._lookupFactory('view:core-outlet'); + let Controller = EmberController.extend(); + let controller = Controller.create({ [OWNER]: appInstance }); diff --git a/packages/ember-routing-htmlbars/tests/utils.js b/packages/ember-routing-htmlbars/tests/utils.js index 3262f2d3135..d6f77823d85 100644 --- a/packages/ember-routing-htmlbars/tests/utils.js +++ b/packages/ember-routing-htmlbars/tests/utils.js @@ -42,14 +42,14 @@ function resolverFor(namespace) { function buildAppInstance() { let registry; - const App = EmberObject.extend(RegistryProxy, ContainerProxy, { + let App = EmberObject.extend(RegistryProxy, ContainerProxy, { init() { this._super(...arguments); registry = this.__registry__ = new Registry(); this.__container__ = registry.container({ owner: this }); } }); - const appInstance = App.create(); + let appInstance = App.create(); registry.resolver = resolverFor(App); diff --git a/packages/ember-routing/lib/system/route.js b/packages/ember-routing/lib/system/route.js index c8c020b11b6..b25dec772f1 100644 --- a/packages/ember-routing/lib/system/route.js +++ b/packages/ember-routing/lib/system/route.js @@ -2134,7 +2134,7 @@ function buildRenderOptions(route, namePassed, isDefaultRender, name, options) { controller.set('model', options.model); } - const owner = getOwner(route); + let owner = getOwner(route); viewName = options && options.view || namePassed && name || route.viewName || name; ViewClass = owner._lookupFactory(`view:${viewName}`); template = owner.lookup(`template:${templateName}`); diff --git a/packages/ember-routing/lib/system/router.js b/packages/ember-routing/lib/system/router.js index d9998349fa7..b2a84bc5f14 100644 --- a/packages/ember-routing/lib/system/router.js +++ b/packages/ember-routing/lib/system/router.js @@ -247,7 +247,7 @@ var EmberRouter = EmberObject.extend(Evented, { defaultParentState = ownState; } if (!this._toplevelView) { - const owner = getOwner(this); + let owner = getOwner(this); var OutletView = owner._lookupFactory('view:-outlet'); this._toplevelView = OutletView.create(); var instance = owner.lookup('-application-instance:main'); @@ -449,7 +449,7 @@ var EmberRouter = EmberObject.extend(Evented, { _setupLocation() { var location = get(this, 'location'); var rootURL = get(this, 'rootURL'); - const owner = getOwner(this); + let owner = getOwner(this); if ('string' === typeof location && owner) { var resolvedLocation = owner.lookup(`location:${location}`); @@ -488,7 +488,7 @@ var EmberRouter = EmberObject.extend(Evented, { _getHandlerFunction() { var seen = new EmptyObject(); - const owner = getOwner(this); + let owner = getOwner(this); var DefaultRoute = owner._lookupFactory('route:basic'); return (name) => { @@ -844,7 +844,7 @@ function findChildRouteName(parentRoute, originatingChildRoute, name) { } function routeHasBeenDefined(router, name) { - const owner = getOwner(router); + let owner = getOwner(router); return router.hasRoute(name) && (owner.hasRegistration(`template:${name}`) || owner.hasRegistration(`route:${name}`)); } diff --git a/packages/ember-routing/tests/location/auto_location_test.js b/packages/ember-routing/tests/location/auto_location_test.js index b25d9405a19..bcbf5d63f6d 100644 --- a/packages/ember-routing/tests/location/auto_location_test.js +++ b/packages/ember-routing/tests/location/auto_location_test.js @@ -36,13 +36,13 @@ function mockBrowserHistory(overrides) { } function createLocation(location, history) { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('location:history', HistoryLocation); owner.register('location:hash', HashLocation); owner.register('location:none', NoneLocation); - const autolocation = AutoLocation.create({ + let autolocation = AutoLocation.create({ [OWNER]: owner, location: location, history: history, diff --git a/packages/ember-routing/tests/system/controller_for_test.js b/packages/ember-routing/tests/system/controller_for_test.js index 36bbae28fb3..6d34d2ec55c 100644 --- a/packages/ember-routing/tests/system/controller_for_test.js +++ b/packages/ember-routing/tests/system/controller_for_test.js @@ -12,7 +12,7 @@ import { import buildOwner from 'container/tests/test-helpers/build-owner'; var buildInstance = function(namespace) { - const owner = buildOwner(); + let owner = buildOwner(); owner.__registry__.resolver = resolverFor(namespace); owner.registerOptionsForType('view', { singleton: false }); diff --git a/packages/ember-routing/tests/system/route_test.js b/packages/ember-routing/tests/system/route_test.js index 621fa340222..eb68c1a1ad3 100644 --- a/packages/ember-routing/tests/system/route_test.js +++ b/packages/ember-routing/tests/system/route_test.js @@ -55,7 +55,7 @@ QUnit.test('\'store\' can be injected by data persistence frameworks', function( expect(8); runDestroy(route); - const owner = buildOwner(); + let owner = buildOwner(); var post = { id: 1 @@ -85,7 +85,7 @@ QUnit.test('assert if \'store.find\' method is not found', function() { expect(1); runDestroy(route); - const owner = buildOwner(); + let owner = buildOwner(); var Post = EmberObject.extend(); owner.register('route:index', EmberRoute); @@ -102,7 +102,7 @@ QUnit.test('asserts if model class is not found', function() { expect(1); runDestroy(route); - const owner = buildOwner(); + let owner = buildOwner(); owner.register('route:index', EmberRoute); route = owner.lookup('route:index'); @@ -117,7 +117,7 @@ QUnit.test('\'store\' does not need to be injected', function() { runDestroy(route); - const owner = buildOwner(); + let owner = buildOwner(); owner.register('route:index', EmberRoute); @@ -133,12 +133,12 @@ QUnit.test('\'store\' does not need to be injected', function() { QUnit.test('modelFor doesn\'t require the router', function() { expect(1); - const owner = buildOwner(); + let owner = buildOwner(); setOwner(route, owner); - const foo = { name: 'foo' }; + let foo = { name: 'foo' }; - const FooRoute = EmberRoute.extend({ + let FooRoute = EmberRoute.extend({ currentModel: foo }); @@ -308,7 +308,7 @@ QUnit.test('controllerFor uses route\'s controllerName if specified', function() QUnit.module('Route injected properties'); QUnit.test('services can be injected into routes', function() { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('route:application', EmberRoute.extend({ authService: inject.service('auth') diff --git a/packages/ember-runtime/lib/computed/reduce_computed_macros.js b/packages/ember-runtime/lib/computed/reduce_computed_macros.js index 077b8066bf6..a85fcb13ac7 100644 --- a/packages/ember-runtime/lib/computed/reduce_computed_macros.js +++ b/packages/ember-runtime/lib/computed/reduce_computed_macros.js @@ -14,7 +14,7 @@ import { A as emberA } from 'ember-runtime/system/native_array'; function reduceMacro(dependentKey, callback, initialValue) { return computed(`${dependentKey}.[]`, function() { - const arr = get(this, dependentKey); + let arr = get(this, dependentKey); if (arr === null || typeof arr !== 'object') { return initialValue; } diff --git a/packages/ember-runtime/tests/computed/reduce_computed_macros_test.js b/packages/ember-runtime/tests/computed/reduce_computed_macros_test.js index 8d1cdc3700d..b037f308862 100644 --- a/packages/ember-runtime/tests/computed/reduce_computed_macros_test.js +++ b/packages/ember-runtime/tests/computed/reduce_computed_macros_test.js @@ -431,7 +431,7 @@ QUnit.test('properties values can be replaced', function() { ['uniq', uniq], ['union', union] ].forEach((tuple) => { - const [name, macro] = tuple; + let [name, macro] = tuple; QUnit.module(`computed.${name}`, { setup() { diff --git a/packages/ember-runtime/tests/controllers/controller_test.js b/packages/ember-runtime/tests/controllers/controller_test.js index 6eb47164f37..41cf17dc4a9 100644 --- a/packages/ember-runtime/tests/controllers/controller_test.js +++ b/packages/ember-runtime/tests/controllers/controller_test.js @@ -155,7 +155,7 @@ QUnit.module('Controller injected properties'); if (!EmberDev.runningProdBuild) { QUnit.test('defining a controller on a non-controller should fail assertion', function() { expectAssertion(function() { - const owner = buildOwner(); + let owner = buildOwner(); var AnObject = Object.extend({ foo: inject.controller('bar') @@ -169,7 +169,7 @@ if (!EmberDev.runningProdBuild) { } QUnit.test('controllers can be injected into controllers', function() { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('controller:post', Controller.extend({ postsController: inject.controller('posts') @@ -184,7 +184,7 @@ QUnit.test('controllers can be injected into controllers', function() { }); QUnit.test('services can be injected into controllers', function() { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('controller:application', Controller.extend({ authService: inject.service('auth') diff --git a/packages/ember-runtime/tests/inject_test.js b/packages/ember-runtime/tests/inject_test.js index 7a28c430c3a..c6e9c3d618c 100644 --- a/packages/ember-runtime/tests/inject_test.js +++ b/packages/ember-runtime/tests/inject_test.js @@ -26,7 +26,7 @@ if (!EmberDev.runningProdBuild) { ok(true, 'should call validation method'); }); - const owner = buildOwner(); + let owner = buildOwner(); var AnObject = Object.extend({ bar: inject.foo(), @@ -39,7 +39,7 @@ if (!EmberDev.runningProdBuild) { } QUnit.test('attempting to inject a nonexistent container key should error', function() { - const owner = buildOwner(); + let owner = buildOwner(); var AnObject = Object.extend({ foo: new InjectedProperty('bar', 'baz') }); diff --git a/packages/ember-template-compiler/lib/plugins/assert-no-view-and-controller-paths.js b/packages/ember-template-compiler/lib/plugins/assert-no-view-and-controller-paths.js index d951dea5542..1c1886559cc 100644 --- a/packages/ember-template-compiler/lib/plugins/assert-no-view-and-controller-paths.js +++ b/packages/ember-template-compiler/lib/plugins/assert-no-view-and-controller-paths.js @@ -56,7 +56,7 @@ function assertPath(moduleName, node, path) { `Using \`{{${path && path.type === 'PathExpression' && path.parts[0]}}}\` or any path based on it ${calculateLocationDisplay(moduleName, node.loc)}has been removed in Ember 2.0`, () => { let noAssertion = true; - const viewKeyword = path && path.type === 'PathExpression' && path.parts && path.parts[0]; + let viewKeyword = path && path.type === 'PathExpression' && path.parts && path.parts[0]; if (viewKeyword === 'view') { noAssertion = Ember.ENV._ENABLE_LEGACY_VIEW_SUPPORT; } else if (viewKeyword === 'controller') { diff --git a/packages/ember-template-compiler/lib/plugins/assert-no-view-helper.js b/packages/ember-template-compiler/lib/plugins/assert-no-view-helper.js index 7706bffc9e2..a339c2c388c 100644 --- a/packages/ember-template-compiler/lib/plugins/assert-no-view-helper.js +++ b/packages/ember-template-compiler/lib/plugins/assert-no-view-helper.js @@ -30,7 +30,7 @@ AssertNoViewHelper.prototype.transform = function AssertNoViewHelper_transform(a }; function assertHelper(moduleName, node) { - const paramValue = node.params.length && node.params[0].value; + let paramValue = node.params.length && node.params[0].value; if (!paramValue) { return; diff --git a/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js b/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js index e1d8cc8ed9b..b017e9f1bc9 100644 --- a/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js +++ b/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js @@ -36,10 +36,10 @@ function TransformInputOnToOnEvent(options) { @param {AST} ast The AST to be transformed. */ TransformInputOnToOnEvent.prototype.transform = function TransformInputOnToOnEvent_transform(ast) { - const pluginContext = this; - const b = pluginContext.syntax.builders; - const walker = new pluginContext.syntax.Walker(); - const moduleName = pluginContext.options.moduleName; + let pluginContext = this; + let b = pluginContext.syntax.builders; + let walker = new pluginContext.syntax.Walker(); + let moduleName = pluginContext.options.moduleName; walker.visit(ast, function(node) { if (pluginContext.validate(node)) { diff --git a/packages/ember-views/lib/mixins/view_child_views_support.js b/packages/ember-views/lib/mixins/view_child_views_support.js index 1ab265d02ab..09680bd9efe 100644 --- a/packages/ember-views/lib/mixins/view_child_views_support.js +++ b/packages/ember-views/lib/mixins/view_child_views_support.js @@ -86,7 +86,7 @@ export default Mixin.create({ throw new TypeError('createChildViews first argument must exist'); } - const owner = getOwner(this); + let owner = getOwner(this); if (maybeViewClass.isView && maybeViewClass.parentView === this && getOwner(maybeViewClass) === owner) { return maybeViewClass; diff --git a/packages/ember-views/lib/mixins/view_support.js b/packages/ember-views/lib/mixins/view_support.js index b75cd161663..9510d8f24e9 100644 --- a/packages/ember-views/lib/mixins/view_support.js +++ b/packages/ember-views/lib/mixins/view_support.js @@ -118,7 +118,7 @@ export default Mixin.create({ if (!name) { return; } assert('templateNames are not allowed to contain periods: ' + name, name.indexOf('.') === -1); - const owner = getOwner(this); + let owner = getOwner(this); if (!owner) { throw new EmberError('Container was not found when looking up a views template. ' + diff --git a/packages/ember-views/lib/system/event_dispatcher.js b/packages/ember-views/lib/system/event_dispatcher.js index 2503a59817d..412a5a81839 100644 --- a/packages/ember-views/lib/system/event_dispatcher.js +++ b/packages/ember-views/lib/system/event_dispatcher.js @@ -190,8 +190,8 @@ export default EmberObject.extend({ setupHandler(rootElement, event, eventName) { var self = this; - const owner = getOwner(this); - const viewRegistry = owner && owner.lookup('-view-registry:main') || View.views; + let owner = getOwner(this); + let viewRegistry = owner && owner.lookup('-view-registry:main') || View.views; if (eventName === null) { return; diff --git a/packages/ember-views/tests/views/component_test.js b/packages/ember-views/tests/views/component_test.js index 7afb298d532..b2f18787de8 100644 --- a/packages/ember-views/tests/views/component_test.js +++ b/packages/ember-views/tests/views/component_test.js @@ -231,7 +231,7 @@ QUnit.test('Calling sendAction on a component with multiple parameters', functio QUnit.module('Ember.Component - injected properties'); QUnit.test('services can be injected into components', function() { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('component:application', Component.extend({ profilerService: inject.service('profiler') diff --git a/packages/ember-views/tests/views/container_view_test.js b/packages/ember-views/tests/views/container_view_test.js index a3eaa7263b6..7be39b7e7d9 100644 --- a/packages/ember-views/tests/views/container_view_test.js +++ b/packages/ember-views/tests/views/container_view_test.js @@ -32,7 +32,7 @@ QUnit.module('Ember.ContainerView', { }); QUnit.test('should be able to insert views after the DOM representation is created', function() { - const owner = buildOwner(); + let owner = buildOwner(); container = ContainerView.create({ [OWNER]: owner, @@ -87,7 +87,7 @@ QUnit.test('should be able to observe properties that contain child views', func }); QUnit.test('childViews inherit their parents owner, and retain the original container even when moved', function() { - const owner = buildOwner(); + let owner = buildOwner(); container = ContainerView.create({ [OWNER]: owner diff --git a/packages/ember-views/tests/views/view/inject_test.js b/packages/ember-views/tests/views/view/inject_test.js index 1f7b87bccaa..2a43f622875 100644 --- a/packages/ember-views/tests/views/view/inject_test.js +++ b/packages/ember-views/tests/views/view/inject_test.js @@ -6,7 +6,7 @@ import buildOwner from 'container/tests/test-helpers/build-owner'; QUnit.module('EmberView - injected properties'); QUnit.test('services can be injected into views', function() { - const owner = buildOwner(); + let owner = buildOwner(); owner.register('view:application', View.extend({ profilerService: inject.service('profiler')