diff --git a/.bowerrc b/.bowerrc deleted file mode 100644 index 959e169..0000000 --- a/.bowerrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "directory": "bower_components", - "analytics": false -} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..fbfc364 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,13 @@ +module.exports = { + root: true, + parserOptions: { + ecmaVersion: 6, + sourceType: 'module' + }, + extends: 'eslint:recommended', + env: { + browser: true + }, + rules: { + } +}; diff --git a/.gitignore b/.gitignore index 86fceae..5ad14dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. +# See https://help.github.com/ignore-files/ for more about ignoring files. # compiled output /dist @@ -13,5 +13,5 @@ /connect.lock /coverage/* /libpeerconnection.log -npm-debug.log +npm-debug.log* testem.log diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 08096ef..0000000 --- a/.jshintrc +++ /dev/null @@ -1,32 +0,0 @@ -{ - "predef": [ - "document", - "window", - "-Promise" - ], - "browser": true, - "boss": true, - "curly": true, - "debug": false, - "devel": true, - "eqeqeq": true, - "evil": true, - "forin": false, - "immed": false, - "laxbreak": false, - "newcap": true, - "noarg": true, - "noempty": false, - "nonew": false, - "nomen": false, - "onevar": false, - "plusplus": false, - "regexp": false, - "undef": true, - "sub": true, - "strict": false, - "white": false, - "eqnull": true, - "esnext": true, - "unused": true -} diff --git a/.npmignore b/.npmignore index a28e4ab..cbaee83 100644 --- a/.npmignore +++ b/.npmignore @@ -1,13 +1,15 @@ -bower_components/ -tests/ -tmp/ - +/bower_components +/config/ember-try.js +/dist +/tests +/tmp +**/.gitkeep .bowerrc .editorconfig .ember-cli -.travis.yml -.npmignore -**/.gitkeep -bower.json -Brocfile.js -testem.json +.gitignore +.eslintrc.js +.watchmanconfig +circle.yml +ember-cli-build.js +testem.js diff --git a/.travis.yml b/.travis.yml index 70a305e..be16b6a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,19 @@ --- language: node_js node_js: - - "0.12" + - "6" sudo: false cache: - directories: - - node_modules + yarn: true before_install: - - "npm config set spin false" - - "npm install -g npm@^2" + - curl -o- -L https://yarnpkg.com/install.sh | bash + - export PATH=$HOME/.yarn/bin:$PATH install: - - npm install -g bower - - npm install - - bower install + - yarn install --no-lockfile script: - - npm test + - yarn test diff --git a/.watchmanconfig b/.watchmanconfig new file mode 100644 index 0000000..e7834e3 --- /dev/null +++ b/.watchmanconfig @@ -0,0 +1,3 @@ +{ + "ignore_dirs": ["tmp", "dist"] +} diff --git a/Brocfile.js b/Brocfile.js deleted file mode 100644 index 042a64d..0000000 --- a/Brocfile.js +++ /dev/null @@ -1,21 +0,0 @@ -/* jshint node: true */ -/* global require, module */ - -var EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); - -var app = new EmberAddon(); - -// Use `app.import` to add additional libraries to the generated -// output files. -// -// If you need to use different assets in different -// environments, specify an object as the first parameter. That -// object's keys should be the environment name and the values -// should be the asset to use in that environment. -// -// If the library that you are including contains AMD or ES6 -// modules that you would like to import into your application -// please specify an object with the list of modules as keys -// along with the exports of each module as its value. - -module.exports = app.toTree(); diff --git a/README.md b/README.md index ca2ef64..369f492 100644 --- a/README.md +++ b/README.md @@ -60,8 +60,12 @@ The path to the directory you'd like the project to be built in to. None -## Running Tests +## Tests -- `npm test` +* yarn test + +## Why `ember test` doesn't work + +Since this is a node-only ember-cli addon, we use mocha for testing and this package does not include many files and devDependencies which are part of ember-cli's typical `ember test` processes. [1]: https://ember-cli-deploy.github.io/ember-cli-deploy/plugins/ "Plugin Documentation" diff --git a/addon/.gitkeep b/addon/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/.gitkeep b/app/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/bin/prepare-release b/bin/prepare-release deleted file mode 100755 index 290a6b3..0000000 --- a/bin/prepare-release +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -rm -rf node_modules && \ -rm -rf ./ember-cli-deploy-build*.tgz && \ -npm cache clear && \ -npm i --no-optional && \ -npm link --no-optional && \ -npm pack diff --git a/bower.json b/bower.json deleted file mode 100644 index dfa0b25..0000000 --- a/bower.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "ember-cli-deploy-build", - "dependencies": { - "ember": "1.11.1", - "ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3", - "ember-cli-test-loader": "ember-cli-test-loader#0.1.3", - "ember-data": "1.0.0-beta.16.1", - "ember-load-initializers": "ember-cli/ember-load-initializers#0.1.4", - "ember-qunit": "0.3.1", - "ember-qunit-notifications": "0.0.7", - "ember-resolver": "~0.1.15", - "jquery": "^1.11.1", - "loader.js": "ember-cli/loader.js#3.2.0", - "qunit": "~1.17.1" - } -} \ No newline at end of file diff --git a/circle.yml b/circle.yml deleted file mode 100644 index f76ae3f..0000000 --- a/circle.yml +++ /dev/null @@ -1,10 +0,0 @@ -machine: - node: - version: 0.12.0 - -dependencies: - pre: - - npm install -g bower - override: - - npm i - - bower i diff --git a/config/environment.js b/config/environment.js index 0dfaed4..012a412 100644 --- a/config/environment.js +++ b/config/environment.js @@ -1,3 +1,4 @@ +/* eslint-env node */ 'use strict'; module.exports = function(/* environment, appConfig */) { diff --git a/ember-cli-build.js b/ember-cli-build.js new file mode 100644 index 0000000..5e6f037 --- /dev/null +++ b/ember-cli-build.js @@ -0,0 +1,17 @@ +/* eslint-env node */ +const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); + +module.exports = function(defaults) { + var app = new EmberAddon(defaults, { + // Add options here + }); + + /* + This build file specifies the options for the dummy test app of this + addon, located in `/tests/dummy` + This build file does *not* influence how the addon or the app using it + behave. You most likely want to be modifying `./index.js` or app's build file + */ + + return app.toTree(); +}; diff --git a/index.js b/index.js index f1fbbb1..9b593b8 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,7 @@ -/* jshint node: true */ +/*eslint-env node*/ 'use strict'; -var Promise = require('ember-cli/lib/ext/promise'); +var RSVP = require('rsvp'); var glob = require('glob'); var DeployPluginBase = require('ember-cli-deploy-plugin'); var path = require('path'); @@ -17,7 +17,7 @@ module.exports = { outputPath: 'tmp' + path.sep + 'deploy-dist' }, - build: function(context) { + build: function(/* context */) { var self = this; var outputPath = this.readConfig('outputPath'); var buildEnv = this.readConfig('environment'); @@ -46,7 +46,7 @@ module.exports = { }) .catch(function(error) { self.log('build failed', { color: 'red' }); - return Promise.reject(error); + return RSVP.reject(error); }); }, _logSuccess: function(outputPath) { @@ -60,7 +60,7 @@ module.exports = { } self.log('build ok', { verbose: true }); - return Promise.resolve(files); + return RSVP.resolve(files); } }); return new DeployPlugin(); diff --git a/package.json b/package.json index 4c454e7..8fd6f69 100644 --- a/package.json +++ b/package.json @@ -7,49 +7,40 @@ "test": "tests" }, "scripts": { - "start": "ember server", - "build": "ember build", - "test": "node tests/runner.js" + "test": "node tests/runner.js && ./node_modules/.bin/eslint index.js tests/**/*.js" }, "repository": "https://github.com/ember-cli-deploy/ember-cli-deploy-build", "engines": { - "node": ">= 0.10.0" + "node": ">= 4" }, "author": "Aaron Chambers and the ember-cli-deploy team", "license": "MIT", + "dependencies": { + "chalk": "^1.0.0", + "ember-cli-deploy-plugin": "^0.2.1", + "glob": "^7.1.1", + "rsvp": "^3.5.0" + }, "devDependencies": { - "broccoli-asset-rev": "^2.0.2", - "chai": "^2.2.0", - "chai-as-promised": "^5.0.0", - "ember-cli": "0.2.3", - "ember-cli-app-version": "0.3.3", - "ember-cli-content-security-policy": "0.4.0", - "ember-cli-dependency-checker": "0.0.8", - "ember-cli-htmlbars": "0.7.4", - "ember-cli-ic-ajax": "0.1.1", - "ember-cli-inject-live-reload": "^1.3.0", - "ember-cli-qunit": "0.3.10", - "ember-cli-release": "1.0.0-beta.1", - "ember-cli-uglify": "1.0.1", - "ember-data": "1.0.0-beta.16.1", - "ember-disable-prototype-extensions": "^1.0.0", - "ember-export-application-global": "^1.0.2", - "ember-try": "0.0.4", + "chai-as-promised": "^6.0.0", + "chai": "^3.5.0", + "ember-cli-babel": "^5.2.4", + "ember-cli-htmlbars": "^1.2.0", + "ember-cli-release": "^1.0.0-beta.2", + "ember-cli-shims": "^1.0.2", + "ember-cli": "^2.12.0", + "ember-source": "^2.12.0", + "eslint": "^3.18.0", "github": "^0.2.4", - "mocha": "^2.2.4", + "glob": "^7.1.1", + "loader.js": "^4.2.3", + "mocha": "^3.2.0", "multiline": "^1.0.2" }, "keywords": [ "ember-addon", "ember-cli-deploy-plugin" ], - "dependencies": { - "chalk": "^1.0.0", - "ember-cli-babel": "^5.0.0", - "ember-cli-deploy-plugin": "^0.2.1", - "glob": "^5.0.5", - "rsvp": "^3.0.18" - }, "ember-addon": { "configPath": "tests/dummy/config" } diff --git a/testem.json b/testem.json deleted file mode 100644 index 42a4ddb..0000000 --- a/testem.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "framework": "qunit", - "test_page": "tests/index.html?hidepassed", - "launch_in_ci": [ - "PhantomJS" - ], - "launch_in_dev": [ - "PhantomJS", - "Chrome" - ] -} diff --git a/tests/.eslintrc.js b/tests/.eslintrc.js new file mode 100644 index 0000000..6bf4dfb --- /dev/null +++ b/tests/.eslintrc.js @@ -0,0 +1,10 @@ +module.exports = { + globals: { + "describe": true, + "beforeEach": true, + "it": true + }, + env: { + embertest: true + } +}; diff --git a/tests/.jshintrc b/tests/.jshintrc deleted file mode 100644 index b4c0312..0000000 --- a/tests/.jshintrc +++ /dev/null @@ -1,57 +0,0 @@ -{ - "predef": [ - "document", - "window", - "location", - "setTimeout", - "$", - "-Promise", - "define", - "console", - "visit", - "exists", - "fillIn", - "click", - "keyEvent", - "triggerEvent", - "find", - "findWithAssert", - "wait", - "DS", - "andThen", - "currentURL", - "currentPath", - "currentRouteName", - "require", - "describe", - "before", - "beforeEach", - "it", - "process" - ], - "node": false, - "browser": false, - "boss": true, - "curly": false, - "debug": false, - "devel": false, - "eqeqeq": true, - "evil": true, - "forin": false, - "immed": false, - "laxbreak": false, - "newcap": true, - "noarg": true, - "noempty": false, - "nonew": false, - "nomen": false, - "onevar": false, - "plusplus": false, - "regexp": false, - "undef": true, - "sub": true, - "strict": false, - "white": false, - "eqnull": true, - "esnext": true -} diff --git a/tests/dummy/app/app.js b/tests/dummy/app/app.js index 8d66b95..831ad61 100644 --- a/tests/dummy/app/app.js +++ b/tests/dummy/app/app.js @@ -1,16 +1,16 @@ import Ember from 'ember'; -import Resolver from 'ember/resolver'; -import loadInitializers from 'ember/load-initializers'; +import Resolver from './resolver'; +import loadInitializers from 'ember-load-initializers'; import config from './config/environment'; -var App; +let App; Ember.MODEL_FACTORY_INJECTIONS = true; App = Ember.Application.extend({ modulePrefix: config.modulePrefix, podModulePrefix: config.podModulePrefix, - Resolver: Resolver + Resolver }); loadInitializers(App, config.modulePrefix); diff --git a/tests/dummy/app/index.html b/tests/dummy/app/index.html index 1c49d36..5120bd7 100644 --- a/tests/dummy/app/index.html +++ b/tests/dummy/app/index.html @@ -7,19 +7,19 @@ - {{content-for 'head'}} + {{content-for "head"}} - - + + - {{content-for 'head-footer'}} + {{content-for "head-footer"}}
- {{content-for 'body'}} + {{content-for "body"}} - - + + - {{content-for 'body-footer'}} + {{content-for "body-footer"}}