_setupBabelOptions = function () { if (this._hasSetupBabelOptions) { return; } this.options.babel = this.options.babel || {}; add(this.options.babel, 'blacklist', ['es6.modules', 'useStrict']); add(this.options.babel, 'plugins', require('./lib/stripped-build-plugins')(process.env.EMBER_ENV)); this._hasSetupBabelOptions = true; }
...
this._hasSetupBabelOptions = true;
},
included: function(app) {
this._super.included.apply(this, arguments);
this._setupBabelOptions();
if (this._forceBowerUsage) {
this.app.import({
development: app.bowerDirectory + '/ember-data/ember-data.js',
production: app.bowerDirectory + '/ember-data/ember-data.prod.js'
});
}
...
_warn = function (message) { var chalk = require('chalk'); var warning = chalk.yellow('WARNING: ' + message); if (this.ui && this.ui.writeWarnLine) { this.ui.writeWarnLine(message); } else if (this.ui) { this.ui.writeLine(warning); } else { console.log(warning); } }
...
if (process.env.EMBER_DATA_SKIP_VERSION_CHECKING_DO_NOT_USE_THIS_ENV_VARIABLE) {
// Skip for node tests as we can't currently override the version of ember-cli-shims
// before the test helpers run.
return;
}
if (bowerDeps['ember-data']) {
this._warn('Please remove `ember-data` from `bower.json`. As of Ember Data 2.3.0
, only the NPM package is needed. If you need an ' +
'earlier version of ember-data (< 2.3.0), you can leave this unchanged for now, but we strongly suggest you
upgrade your version of Ember Data ' +
'as soon as possible.');
this._forceBowerUsage = true;
var emberDataBower = checker.for('ember-data', 'bower');
if (shims && shims.version && !shims.satisfies('< 0.1.0') && emberDataBower.satisfies
('< 2.3.0-beta.3')) {
...
blueprintsPath = function () { return path.join(__dirname, 'blueprints'); }
n/a
disallow_multiple_var_decl_with_assignment = function () {}
n/a
disallow_space_before_semicolon = function () {}
n/a
disallow_space_inside_round_braces_in_call_expression = function () {}
n/a
included = function (app) { this._super.included.apply(this, arguments); this._setupBabelOptions(); if (this._forceBowerUsage) { this.app.import({ development: app.bowerDirectory + '/ember-data/ember-data.js', production: app.bowerDirectory + '/ember-data/ember-data.prod.js' }); } }
n/a
init = function () { this._super.init && this._super.init.apply(this, arguments); var bowerDeps = this.project.bowerDependencies(); var VersionChecker = require('ember-cli-version-checker'); var options = this.options = this.options || {}; var checker = new VersionChecker(this); // prevent errors when ember-cli-shims is no longer required var shims = bowerDeps['ember-cli-shims'] && checker.for('ember-cli-shims', 'bower'); var semver = require('semver'); var version = require('./package').version; if (process.env.EMBER_DATA_SKIP_VERSION_CHECKING_DO_NOT_USE_THIS_ENV_VARIABLE) { // Skip for node tests as we can't currently override the version of ember-cli-shims // before the test helpers run. return; } if (bowerDeps['ember-data']) { this._warn('Please remove `ember-data` from `bower.json`. As of Ember Data 2.3.0, only the NPM package is needed. If you need an ' + 'earlier version of ember-data (< 2.3.0), you can leave this unchanged for now, but we strongly suggest you upgrade your version of Ember Data ' + 'as soon as possible.'); this._forceBowerUsage = true; var emberDataBower = checker.for('ember-data', 'bower'); if (shims && shims.version && !shims.satisfies('< 0.1.0') && emberDataBower.satisfies('< 2.3.0-beta.3')) { throw new SilentError('Using a version of ember-cli-shims greater than or equal to 0.1.0 will cause errors while loading Ember Data < 2.3.0-beta.3 Please update ember-cli-shims from ' + shims.version + ' to 0.0.6'); } if (shims && shims.version && !shims.satisfies('>= 0.1.0') && emberDataBower.satisfies('>= 2.3.0-beta.3')) { throw new SilentError('Using a version of ember-cli-shims prior to 0.1.0 will cause errors while loading Ember Data 2.3.0- beta.3+. Please update ember-cli-shims from ' + shims.version + ' to 0.1.0.'); } } else { // NPM only, but ember-cli-shims does not match if (shims && shims.version && !shims.satisfies('>= 0.1.0') && semver.satisfies(version, '^2.3.0-beta.3')) { throw new SilentError('Using a version of ember-cli-shims prior to 0.1.0 will cause errors while loading Ember Data 2.3.0- beta.3+. Please update ember-cli-shims from ' + shims.version + ' to 0.1.0.'); } } }
n/a
require_spaces_after_closing_parenthesis_in_function_declaration = function () {}
n/a
treeForAddon = function (dir) { if (this._forceBowerUsage) { // Fakes an empty broccoli tree return { inputTree: dir, rebuild: function() { return []; } }; } var version = require('./lib/version'); var merge = require('broccoli-merge-trees'); return this._super.treeForAddon.call(this, merge([ version(), dir ])); }
n/a
treeForApp = function (dir) { if (this._forceBowerUsage) { // Fake an empty broccoli tree return { inputTree: dir, rebuild: function() { return []; } }; } // this._super.treeForApp is undefined in ember-cli (1.13) for some reason. // TODO: investigate why treeForApp isn't on _super return dir; }
n/a
disallow_multiple_var_decl_with_assignment = function () {}
n/a
check = function (file, errors) { file.iterateNodesByType('VariableDeclaration', function(node) { // allow multiple var declarations in for statement // for (var i = 0, j = myArray.length; i < j; i++) {} if (node.parentNode.type === 'ForStatement') { return; } var hasAssignment = false; var multiDeclaration = node.declarations.length > 1; node.declarations.forEach(function(declaration) { if (declaration.init) { hasAssignment = true; } }); if (hasAssignment && multiDeclaration) { errors.add('Multiple assigning variable declarations', node.loc.start); } }); }
n/a
configure = function (disallowMultipleVarDeclWithAssignment) { assert( typeof disallowMultipleVarDeclWithAssignment === 'boolean', 'disallowMultipleVarDeclWithAssignment option requires boolean value' ); assert( disallowMultipleVarDeclWithAssignment === true, 'disallowMultipleVarDeclWithAssignment option requires true value or should be removed' ); }
n/a
getOptionName = function () { return 'disallowMultipleVarDeclWithAssignment'; }
n/a
disallow_space_before_semicolon = function () {}
n/a
check = function (file, errors) { var lines = file.getLines(); for (var i = 0; i < lines.length; i++) { if (lines[i].match(/\s+;$/)) { errors.add('Spaces are disallowed before semicolons.', i + 1, lines[i].length - 2); } } }
n/a
configure = function (disallowSpacesBeforeSemicolons) { assert( typeof disallowSpacesBeforeSemicolons === 'boolean', 'disallowSpacesBeforeSemicolons option requires boolean value' ); assert( disallowSpacesBeforeSemicolons === true, 'disallowSpacesBeforeSemicolons option requires true value or should be removed' ); }
n/a
getOptionName = function () { return 'disallowSpacesBeforeSemicolons'; }
n/a
disallow_space_inside_round_braces_in_call_expression = function () {}
n/a
check = function (file, errors) { file.iterateNodesByType('CallExpression', function(node) { var nodeBeforeRoundBrace = node; if (node.callee) { nodeBeforeRoundBrace = node.callee; } var roundBraceTokenStart = file.getTokenByRangeStart(nodeBeforeRoundBrace.range[0]); var roundBraceTokenEnd = file.getTokenByRangeStart(nodeBeforeRoundBrace.range[0]); do { roundBraceTokenStart = file.findNextToken(roundBraceTokenStart, 'Punctuator', '('); roundBraceTokenEnd = file.findNextToken(roundBraceTokenEnd, 'Punctuator', ')'); } while (roundBraceTokenStart.range[0] < nodeBeforeRoundBrace.range[1]); var firstArg = nodeBeforeRoundBrace.parentNode.arguments[0]; var lastArg = nodeBeforeRoundBrace.parentNode.arguments[nodeBeforeRoundBrace.parentNode.arguments.length - 1]; var spaceAfterOpeningRoundBraceExists = spaceAfterBrace(firstArg, roundBraceTokenStart); var spaceBeforeClosingRoundBraceExists = spaceBeforeBrace(lastArg, roundBraceTokenEnd); if (spaceAfterOpeningRoundBraceExists) { errors.add( 'Illegal space after opening round brace', roundBraceTokenStart.loc.start ); } if (spaceBeforeClosingRoundBraceExists) { errors.add( 'Illegal space before closing round brace', roundBraceTokenEnd.loc.start ); } }); }
n/a
configure = function (requireSpacesInsideRoundBracesInCallExpression) { assert( requireSpacesInsideRoundBracesInCallExpression === true, 'disallowSpacesInsideRoundBracesInCallExpression option requires true value or should be removed' ); }
n/a
getOptionName = function () { return 'disallowSpacesInsideRoundBracesInCallExpression'; }
n/a
_setupBabelOptions = function () { if (this._hasSetupBabelOptions) { return; } this.options.babel = this.options.babel || {}; add(this.options.babel, 'blacklist', ['es6.modules', 'useStrict']); add(this.options.babel, 'plugins', require('./lib/stripped-build-plugins')(process.env.EMBER_ENV)); this._hasSetupBabelOptions = true; }
...
this._hasSetupBabelOptions = true;
},
included: function(app) {
this._super.included.apply(this, arguments);
this._setupBabelOptions();
if (this._forceBowerUsage) {
this.app.import({
development: app.bowerDirectory + '/ember-data/ember-data.js',
production: app.bowerDirectory + '/ember-data/ember-data.prod.js'
});
}
...
_warn = function (message) { var chalk = require('chalk'); var warning = chalk.yellow('WARNING: ' + message); if (this.ui && this.ui.writeWarnLine) { this.ui.writeWarnLine(message); } else if (this.ui) { this.ui.writeLine(warning); } else { console.log(warning); } }
...
if (process.env.EMBER_DATA_SKIP_VERSION_CHECKING_DO_NOT_USE_THIS_ENV_VARIABLE) {
// Skip for node tests as we can't currently override the version of ember-cli-shims
// before the test helpers run.
return;
}
if (bowerDeps['ember-data']) {
this._warn('Please remove `ember-data` from `bower.json`. As of Ember Data 2.3.0
, only the NPM package is needed. If you need an ' +
'earlier version of ember-data (< 2.3.0), you can leave this unchanged for now, but we strongly suggest you
upgrade your version of Ember Data ' +
'as soon as possible.');
this._forceBowerUsage = true;
var emberDataBower = checker.for('ember-data', 'bower');
if (shims && shims.version && !shims.satisfies('< 0.1.0') && emberDataBower.satisfies
('< 2.3.0-beta.3')) {
...
blueprintsPath = function () { return path.join(__dirname, 'blueprints'); }
n/a
included = function (app) { this._super.included.apply(this, arguments); this._setupBabelOptions(); if (this._forceBowerUsage) { this.app.import({ development: app.bowerDirectory + '/ember-data/ember-data.js', production: app.bowerDirectory + '/ember-data/ember-data.prod.js' }); } }
n/a
init = function () { this._super.init && this._super.init.apply(this, arguments); var bowerDeps = this.project.bowerDependencies(); var VersionChecker = require('ember-cli-version-checker'); var options = this.options = this.options || {}; var checker = new VersionChecker(this); // prevent errors when ember-cli-shims is no longer required var shims = bowerDeps['ember-cli-shims'] && checker.for('ember-cli-shims', 'bower'); var semver = require('semver'); var version = require('./package').version; if (process.env.EMBER_DATA_SKIP_VERSION_CHECKING_DO_NOT_USE_THIS_ENV_VARIABLE) { // Skip for node tests as we can't currently override the version of ember-cli-shims // before the test helpers run. return; } if (bowerDeps['ember-data']) { this._warn('Please remove `ember-data` from `bower.json`. As of Ember Data 2.3.0, only the NPM package is needed. If you need an ' + 'earlier version of ember-data (< 2.3.0), you can leave this unchanged for now, but we strongly suggest you upgrade your version of Ember Data ' + 'as soon as possible.'); this._forceBowerUsage = true; var emberDataBower = checker.for('ember-data', 'bower'); if (shims && shims.version && !shims.satisfies('< 0.1.0') && emberDataBower.satisfies('< 2.3.0-beta.3')) { throw new SilentError('Using a version of ember-cli-shims greater than or equal to 0.1.0 will cause errors while loading Ember Data < 2.3.0-beta.3 Please update ember-cli-shims from ' + shims.version + ' to 0.0.6'); } if (shims && shims.version && !shims.satisfies('>= 0.1.0') && emberDataBower.satisfies('>= 2.3.0-beta.3')) { throw new SilentError('Using a version of ember-cli-shims prior to 0.1.0 will cause errors while loading Ember Data 2.3.0- beta.3+. Please update ember-cli-shims from ' + shims.version + ' to 0.1.0.'); } } else { // NPM only, but ember-cli-shims does not match if (shims && shims.version && !shims.satisfies('>= 0.1.0') && semver.satisfies(version, '^2.3.0-beta.3')) { throw new SilentError('Using a version of ember-cli-shims prior to 0.1.0 will cause errors while loading Ember Data 2.3.0- beta.3+. Please update ember-cli-shims from ' + shims.version + ' to 0.1.0.'); } } }
n/a
treeForAddon = function (dir) { if (this._forceBowerUsage) { // Fakes an empty broccoli tree return { inputTree: dir, rebuild: function() { return []; } }; } var version = require('./lib/version'); var merge = require('broccoli-merge-trees'); return this._super.treeForAddon.call(this, merge([ version(), dir ])); }
n/a
treeForApp = function (dir) { if (this._forceBowerUsage) { // Fake an empty broccoli tree return { inputTree: dir, rebuild: function() { return []; } }; } // this._super.treeForApp is undefined in ember-cli (1.13) for some reason. // TODO: investigate why treeForApp isn't on _super return dir; }
n/a
require_spaces_after_closing_parenthesis_in_function_declaration = function () {}
n/a
check = function (file, errors) { var beforeOpeningRoundBrace = this._beforeOpeningRoundBrace; var beforeOpeningCurlyBrace = this._beforeOpeningCurlyBrace; file.iterateNodesByType(['FunctionDeclaration'], function(node) { var functionToken = file.getFirstNodeToken(node.id || node); var nextToken = file.getNextToken(functionToken); if (beforeOpeningRoundBrace) { if (nextToken) { errors.add( 'Missing space before opening round brace', nextToken.loc.start ); } } else { if (!nextToken) { errors.add( 'Illegal space before opening round brace', functionToken.loc.end ); } } // errors if no token is found unless `includeComments` is passed var tokenBeforeBody = file.getPrevToken(node.body, { includeComments: true }); if (beforeOpeningCurlyBrace) { if (tokenBeforeBody) { errors.add( 'Missing space before opening curly brace', tokenBeforeBody.loc.start ); } } else { if (!tokenBeforeBody) { errors.add( 'Illegal space before opening curly brace', node.body.loc.end ); } } }); }
n/a
configure = function (options) { assert( typeof options === 'object', 'requireSpacesAfterClosingParenthesisInFunctionDeclaration option must be the object' ); assert( options.beforeOpeningCurlyBrace || options.beforeOpeningRoundBrace, 'requireSpacesAfterClosingParenthesisInFunctionDeclaration must have beforeOpeningCurlyBrace or beforeOpeningRoundBrace property ' ); this._beforeOpeningRoundBrace = Boolean(options.beforeOpeningRoundBrace); this._beforeOpeningCurlyBrace = Boolean(options.beforeOpeningCurlyBrace); }
n/a
getOptionName = function () { return 'requireSpacesAfterClosingParenthesisInFunctionDeclaration'; }
n/a