Skip to content

Commit

Permalink
Merge pull request #82 from billybonks/upgrade-broccoli
Browse files Browse the repository at this point in the history
Upgrade broccoli
  • Loading branch information
billybonks committed Mar 17, 2018
2 parents 0ec5794 + c972584 commit 13e77b5
Show file tree
Hide file tree
Showing 11 changed files with 120 additions and 168 deletions.
12 changes: 2 additions & 10 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ module.exports = {
],
excludedFiles: [
'app/**',
'addon/**'
'addon/**',
'tests/dummy/app/**'
],
parserOptions: {
sourceType: 'script',
Expand All @@ -42,15 +43,6 @@ module.exports = {
rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, {
// add your custom rules and overrides for node files here
})
},

// test files
{
files: ['tests/**/*.js'],
excludedFiles: ['tests/dummy/**/*.js'],
env: {
embertest: true
}
}
]
};
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ language: node_js
node_js:
# we recommend testing addons with the same minimum supported node version as Ember CLI
# so that your addon works for all apps
- "4"
- "6"
- "7"
- "8"
Expand All @@ -27,6 +26,7 @@ env:
# as well as latest stable release (bonus points to beta/canary)
- EMBER_TRY_SCENARIO=ember-lts-2.12
- EMBER_TRY_SCENARIO=ember-lts-2.16
- EMBER_TRY_SCENARIO=ember-lts-2.18
- EMBER_TRY_SCENARIO=ember-release
- EMBER_TRY_SCENARIO=ember-beta
- EMBER_TRY_SCENARIO=ember-canary
Expand Down
134 changes: 65 additions & 69 deletions config/ember-try.js
Original file line number Diff line number Diff line change
@@ -1,74 +1,70 @@
module.exports = {
scenarios: [
{
name: 'ember-lts-2.12',
npm: {
devDependencies: {
'ember-source': '~2.12.0'
}
}
},
{
name: 'ember-lts-2.16',
npm: {
devDependencies: {
'ember-source': '~2.16.0'
}
}
},
{
name: 'ember-release',
bower: {
dependencies: {
'ember': 'components/ember#release'
'use strict';

const getChannelURL = require('ember-source-channel-url');

module.exports = function() {
return Promise.all([
getChannelURL('release'),
getChannelURL('beta'),
getChannelURL('canary'),
]).then((urls) => {
return {
scenarios: [
{
name: 'ember-lts-2.12',
npm: {
devDependencies: {
'ember-source': '~2.12.0'
}
}
},
resolutions: {
'ember': 'release'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-beta',
bower: {
dependencies: {
'ember': 'components/ember#beta'
{
name: 'ember-lts-2.16',
npm: {
devDependencies: {
'ember-source': '~2.16.0'
}
}
},
resolutions: {
'ember': 'beta'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-canary',
bower: {
dependencies: {
'ember': 'components/ember#canary'
{
name: 'ember-lts-2.18',
npm: {
devDependencies: {
'ember-source': '~2.18.0'
}
}
},
resolutions: {
'ember': 'canary'
}
},
npm: {
devDependencies: {
'ember-source': null
{
name: 'ember-release',
npm: {
devDependencies: {
'ember-source': urls[0]
}
}
},
{
name: 'ember-beta',
npm: {
devDependencies: {
'ember-source': urls[1]
}
}
},
{
name: 'ember-canary',
npm: {
devDependencies: {
'ember-source': urls[2]
}
}
},
{
name: 'ember-default',
npm: {
devDependencies: {}
}
}
}
},
{
name: 'ember-default',
npm: {
devDependencies: {}
}
}
]
]
};
});
};
57 changes: 24 additions & 33 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,30 @@
'use strict';

var mergeTrees = require('broccoli-merge-trees');
var StyleLinter = require('broccoli-stylelint');
var Funnel = require('broccoli-funnel');
let mergeTrees = require('broccoli-merge-trees');
let StyleLinter = require('broccoli-stylelint');
let Funnel = require('broccoli-funnel');
const escapeString = require('js-string-escape');

module.exports = {
name: 'ember-cli-stylelint',

included: function() {
init(){
this._super.init && this._super.init.apply(this, arguments);

let VersionChecker = require('ember-cli-version-checker');
let checker = new VersionChecker(this);

if (checker.for('ember-qunit', 'npm').exists() || checker.for('ember-cli-qunit', 'npm').exists()) {
this._testGenerator = 'qunit';
} else if (checker.for('ember-mocha', 'npm').exists() || checker.for('ember-cli-mocha', 'npm').exists()) {
this._testGenerator = 'mocha';
}
},

included() {
//shared
//guard see https://github.com/ember-cli/ember-cli/issues/3718
var app;
let app;

// If the addon has the _findHost() method (in ember-cli >= 2.7.0), we'll just
// use that.
Expand All @@ -20,7 +33,7 @@ module.exports = {
} else {
// Otherwise, we'll use this implementation borrowed from the _findHost()
// method in ember-cli.
var current = this;
let current = this;
do {
app = current.app || app;
} while (current.parent.parent && (current = current.parent));
Expand All @@ -41,40 +54,18 @@ module.exports = {
this.app = app;
},

lintTree: function(type, tree) {
var project = this.project;
lintTree(type) {

if (type === 'app') {
this.styleLintOptions.testGenerator = function(relativePath, errors) {
var passed = null;
var name = relativePath+' should pass style lint';
if (errors) {
passed = false;
var assertions = [name];
for(var i = 0; i < errors.warnings.length; i++){
var warning = errors.warnings[i];
assertions.push(escapeString('line: '+warning.line+', col: '+warning.column+' '+warning.text+'.'));
}
errors = assertions.join('\\n');
} else {
passed = true;
errors = "";
}

return project.generateTestFile(' Style Lint ', [{
name: name,
passed: !!passed,
errorMessage: errors
}]);
};
this.styleLintOptions.testingFramework = this._testGenerator;

var toBeLinted = [ this.app.trees.app ];
let toBeLinted = [ this.app.trees.app ];
if (this.styleLintOptions.includePaths) {
toBeLinted.push.apply(toBeLinted, this.styleLintOptions.includePaths);
}

var linted = toBeLinted.map(function(tree) {
var filteredTreeToBeLinted = new Funnel(tree, {
let linted = toBeLinted.map(function(tree) {
let filteredTreeToBeLinted = new Funnel(tree, {
exclude: ['**/*.js']
});
return StyleLinter.create(filteredTreeToBeLinted, this.styleLintOptions)
Expand Down
13 changes: 8 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ember-cli-stylelint",
"version": "1.4.0",
"version": "2.0.0",
"description": "StyleLint addon for ember applications.",
"repository": {
"type": "git",
Expand Down Expand Up @@ -29,7 +29,7 @@
"broccoli": "^0.16.9",
"broccoli-asset-rev": "^2.4.5",
"chai": "^3.5.0",
"ember-cli": "~2.18.0",
"ember-cli": "~3.0.1",
"ember-cli-content-security-policy": "^0.4.0",
"ember-cli-dependency-checker": "^2.0.0",
"ember-cli-eslint": "^4.2.1",
Expand All @@ -43,8 +43,11 @@
"ember-disable-prototype-extensions": "^1.1.2",
"ember-export-application-global": "^2.0.0",
"ember-load-initializers": "^1.0.0",
"ember-maybe-import-regenerator": "^0.1.6",
"ember-resolver": "^4.0.0",
"ember-source": "~2.18.0",
"ember-source": "~3.0.0",
"ember-source-channel-url": "^1.0.1",
"ember-try": "^0.2.23",
"eslint-plugin-ember": "^5.0.0",
"eslint-plugin-node": "^5.2.1",
"loader.js": "^4.2.3",
Expand All @@ -65,10 +68,10 @@
"css-lint"
],
"dependencies": {
"ember-cli-babel": "^6.7.1",
"broccoli-funnel": "^1.1.0",
"broccoli-merge-trees": "^1.2.1",
"broccoli-stylelint": "^1.4.0",
"broccoli-stylelint": "^2.0.0",
"ember-cli-babel": "^6.7.1",
"js-string-escape": "^1.0.1"
},
"ember-addon": {
Expand Down
5 changes: 4 additions & 1 deletion testem.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ module.exports = {
Chrome: {
mode: 'ci',
args: [
// --no-sandbox is needed when running Chrome inside a container
process.env.TRAVIS ? '--no-sandbox' : null,

'--disable-gpu',
'--headless',
'--remote-debugging-port=0',
'--window-size=1440,900'
]
].filter(Boolean)
}
}
};
22 changes: 16 additions & 6 deletions tests/dummy/config/targets.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
'use strict';

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';

if (isCI || isProduction) {
browsers.push('ie 11');
}

module.exports = {
browsers: [
'ie 9',
'last 1 Chrome versions',
'last 1 Firefox versions',
'last 1 Safari versions'
]
browsers
};
Empty file added tests/helpers/.gitkeep
Empty file.
5 changes: 0 additions & 5 deletions tests/helpers/destroy-app.js

This file was deleted.

21 changes: 0 additions & 21 deletions tests/helpers/module-for-acceptance.js

This file was deleted.

0 comments on commit 13e77b5

Please sign in to comment.