diff --git a/.travis.yml b/.travis.yml index 5f9dabd7d7..cc13890478 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,11 @@ before_install: - git remote set-branches origin master && git fetch - git checkout master - git checkout - -- npm install -g npm +# On 0.12, we want to test with the default version of npm, otherwise +# upgrade to the latest. +- if [[ ${TRAVIS_NODE_VERSION:0:1} -gt "0" ]]; then + npm install -g npm; + fi script: - COVERAGE=y npm test # Run changelog-lint but only on newer versions of Node (because of syntax errors) diff --git a/README.md b/README.md index c447a7e544..60ae6f0ced 100644 --- a/README.md +++ b/README.md @@ -19,24 +19,13 @@ cross-platform way. Initially, it will provide a streamlined experience for deve ## Installation from npm -First, make sure your `npm` is up to date. -You will need npm greater than version `3.0.0`: - - npm install --global npm - -If you're on Windows, you will also need to -[follow these instructions](https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows) -after upgrading npm. - -Install `web-ext`: - npm install --global web-ext ## Installation from source You'll need: * [Node.js](https://nodejs.org/en/), 0.12 or higher -* [npm](https://www.npmjs.com/), 3.0.0 or higher +* [npm](https://www.npmjs.com/), 3.0.0 or higher is recommended Optionally, you may like: * [nvm](https://github.com/creationix/nvm), which helps manage node versions @@ -46,10 +35,6 @@ you may need to uninstall it first: npm uninstall --global web-ext -Make sure `npm` is up to date: - - npm install --global npm - Change into the source and install all dependencies: git clone https://github.com/mozilla/web-ext.git diff --git a/package.json b/package.json index d650c0b96a..28a5e49208 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "minimatch": "3.0.2", "mz": "2.4.0", "node-firefox-connect": "1.2.0", - "sign-addon": "0.1.1", + "sign-addon": "0.1.2", "source-map-support": "0.4.2", "stream-to-promise": "2.1.1", "tmp": "0.0.28", diff --git a/src/cmd/sign.js b/src/cmd/sign.js index 1e6ed2aee8..be845a1060 100644 --- a/src/cmd/sign.js +++ b/src/cmd/sign.js @@ -1,6 +1,6 @@ /* @flow */ import path from 'path'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {signAddon as defaultAddonSigner} from '../util/es6-modules'; import defaultBuilder from './build'; diff --git a/src/firefox/index.js b/src/firefox/index.js index 74487b6de7..18c6a845a0 100644 --- a/src/firefox/index.js +++ b/src/firefox/index.js @@ -5,7 +5,7 @@ import defaultFxRunner from 'fx-runner/lib/run'; import FirefoxProfile, {copyFromUserProfile as defaultUserProfileCopier} from 'firefox-profile'; import streamToPromise from 'stream-to-promise'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import isDirectory from '../util/is-directory'; import {promisify} from '../util/es6-modules'; diff --git a/src/util/artifacts.js b/src/util/artifacts.js index ca06f01d12..f1e2bae53f 100644 --- a/src/util/artifacts.js +++ b/src/util/artifacts.js @@ -1,5 +1,5 @@ /* @flow */ -import fs from 'mz/fs'; +import {fs} from 'mz'; import {WebExtError, onlyErrorsWithCode} from '../errors'; import {createLogger} from './logger'; diff --git a/src/util/is-directory.js b/src/util/is-directory.js index c91809a544..37e07427df 100644 --- a/src/util/is-directory.js +++ b/src/util/is-directory.js @@ -1,5 +1,5 @@ /* @flow */ -import fs from 'mz/fs'; +import {fs} from 'mz'; import {onlyErrorsWithCode} from '../errors'; diff --git a/src/util/manifest.js b/src/util/manifest.js index 9f0fba5bce..6183cbfd5f 100644 --- a/src/util/manifest.js +++ b/src/util/manifest.js @@ -1,7 +1,7 @@ /* @flow */ import path from 'path'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {InvalidManifest} from '../errors'; import {createLogger} from './logger'; diff --git a/tests/test-cmd/test.build.js b/tests/test-cmd/test.build.js index 43edd08883..96962c0db6 100644 --- a/tests/test-cmd/test.build.js +++ b/tests/test-cmd/test.build.js @@ -1,5 +1,5 @@ /* @flow */ -import fs from 'mz/fs'; +import {fs} from 'mz'; import path from 'path'; import {it, describe} from 'mocha'; import {assert} from 'chai'; diff --git a/tests/test-cmd/test.sign.js b/tests/test-cmd/test.sign.js index 9c0f029c94..02d036157e 100644 --- a/tests/test-cmd/test.sign.js +++ b/tests/test-cmd/test.sign.js @@ -1,7 +1,7 @@ /* @flow */ import path from 'path'; import copyDir from 'copy-dir'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {describe, it} from 'mocha'; import {assert} from 'chai'; import sinon from 'sinon'; diff --git a/tests/test-firefox/test.firefox.js b/tests/test-firefox/test.firefox.js index 3917e27594..383e1e3030 100644 --- a/tests/test-firefox/test.firefox.js +++ b/tests/test-firefox/test.firefox.js @@ -8,7 +8,7 @@ import FirefoxProfile from 'firefox-profile'; import * as firefox from '../../src/firefox'; import {onlyInstancesOf, WebExtError} from '../../src/errors'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {withTempDir} from '../../src/util/temp-dir'; import {TCPConnectError, fixturePath, fake, makeSureItFails} from '../helpers'; import {basicManifest, manifestWithoutApps} from '../test-util/test.manifest'; diff --git a/tests/test-util/test.artifacts.js b/tests/test-util/test.artifacts.js index 29132a0638..99ddca158c 100644 --- a/tests/test-util/test.artifacts.js +++ b/tests/test-util/test.artifacts.js @@ -2,7 +2,7 @@ import path from 'path'; import {it, describe} from 'mocha'; import {assert} from 'chai'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {onlyInstancesOf, WebExtError} from '../../src/errors'; import {withTempDir} from '../../src/util/temp-dir'; diff --git a/tests/test-util/test.is-directory.js b/tests/test-util/test.is-directory.js index 3cc3e83e9b..fd7562e896 100644 --- a/tests/test-util/test.is-directory.js +++ b/tests/test-util/test.is-directory.js @@ -1,6 +1,6 @@ /* @flow */ import path from 'path'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {assert} from 'chai'; import {describe, it} from 'mocha'; diff --git a/tests/test-util/test.manifest.js b/tests/test-util/test.manifest.js index 3962533905..74c19c6baf 100644 --- a/tests/test-util/test.manifest.js +++ b/tests/test-util/test.manifest.js @@ -5,7 +5,7 @@ import {assert} from 'chai'; import deepcopy from 'deepcopy'; import {onlyInstancesOf, InvalidManifest} from '../../src/errors'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import getValidatedManifest, {getManifestId} from '../../src/util/manifest'; import {withTempDir} from '../../src/util/temp-dir'; import {makeSureItFails} from '../helpers'; diff --git a/tests/test-util/test.temp-dir.js b/tests/test-util/test.temp-dir.js index 1ce05a3480..ff0b233cb9 100644 --- a/tests/test-util/test.temp-dir.js +++ b/tests/test-util/test.temp-dir.js @@ -1,6 +1,6 @@ /* @flow */ import {describe, it} from 'mocha'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import {assert} from 'chai'; import {withTempDir, TempDir} from '../../src/util/temp-dir'; diff --git a/tests/test.program.js b/tests/test.program.js index 4f177ab320..d7b1ced0f8 100644 --- a/tests/test.program.js +++ b/tests/test.program.js @@ -1,7 +1,7 @@ /* @flow */ import {describe, it} from 'mocha'; import path from 'path'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import sinon from 'sinon'; import {assert} from 'chai'; import {spy} from 'sinon'; diff --git a/tests/test.watcher.js b/tests/test.watcher.js index 7e51f2be0d..3fae0c9930 100644 --- a/tests/test.watcher.js +++ b/tests/test.watcher.js @@ -1,7 +1,7 @@ /* @flow */ import path from 'path'; import {it, describe} from 'mocha'; -import fs from 'mz/fs'; +import {fs} from 'mz'; import sinon from 'sinon'; import {assert} from 'chai';