зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1265082 - ESLint jobs are apparently hitting the network r=me,dustin,pbro,jryans
So a few changes here: - node_modules is downloaded using tooltool so that we dont need to rely on external infrastructure. - We have a npm-shrinkwrap.json file that version locks all of our node packages. - eslint, eslint-plugin-mozilla etc. are now all installed locally. In reality this means that we don't hit the network and we don't force users into installing global packages. ./mach eslint --setup has also been improved. We install packages locally and display the path of the user's eslint binary (useful for configuring editors). eslint-plugin-mozilla has been moved from testing/eslint-plugin-mozilla to /testing/eslint/eslint-plugin-mozilla. The node_modules directory for eslint and other plugins is located in testing/eslint/. MozReview-Commit-ID: 4SFSxzka6BS --HG-- rename : testing/eslint-plugin-mozilla/LICENSE => testing/eslint/eslint-plugin-mozilla/LICENSE rename : testing/eslint-plugin-mozilla/docs/balanced-listeners.rst => testing/eslint/eslint-plugin-mozilla/docs/balanced-listeners.rst rename : testing/eslint-plugin-mozilla/docs/import-browserjs-globals.rst => testing/eslint/eslint-plugin-mozilla/docs/import-browserjs-globals.rst rename : testing/eslint-plugin-mozilla/docs/import-globals.rst => testing/eslint/eslint-plugin-mozilla/docs/import-globals.rst rename : testing/eslint-plugin-mozilla/docs/import-headjs-globals.rst => testing/eslint/eslint-plugin-mozilla/docs/import-headjs-globals.rst rename : testing/eslint-plugin-mozilla/docs/index.rst => testing/eslint/eslint-plugin-mozilla/docs/index.rst rename : testing/eslint-plugin-mozilla/docs/mark-test-function-used.rst => testing/eslint/eslint-plugin-mozilla/docs/mark-test-function-used.rst rename : testing/eslint-plugin-mozilla/docs/no-aArgs.rst => testing/eslint/eslint-plugin-mozilla/docs/no-aArgs.rst rename : testing/eslint-plugin-mozilla/docs/no-cpows-in-tests.rst => testing/eslint/eslint-plugin-mozilla/docs/no-cpows-in-tests.rst rename : testing/eslint-plugin-mozilla/docs/reject-importGlobalProperties.rst => testing/eslint/eslint-plugin-mozilla/docs/reject-importGlobalProperties.rst rename : testing/eslint-plugin-mozilla/docs/var-only-at-top-level.rst => testing/eslint/eslint-plugin-mozilla/docs/var-only-at-top-level.rst rename : testing/eslint-plugin-mozilla/lib/globals.js => testing/eslint/eslint-plugin-mozilla/lib/globals.js rename : testing/eslint-plugin-mozilla/lib/helpers.js => testing/eslint/eslint-plugin-mozilla/lib/helpers.js rename : testing/eslint-plugin-mozilla/lib/index.js => testing/eslint/eslint-plugin-mozilla/lib/index.js rename : testing/eslint-plugin-mozilla/lib/processors/xbl-bindings.js => testing/eslint/eslint-plugin-mozilla/lib/processors/xbl-bindings.js rename : testing/eslint-plugin-mozilla/lib/rules/.eslintrc => testing/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc rename : testing/eslint-plugin-mozilla/lib/rules/balanced-listeners.js => testing/eslint/eslint-plugin-mozilla/lib/rules/balanced-listeners.js rename : testing/eslint-plugin-mozilla/lib/rules/import-browserjs-globals.js => testing/eslint/eslint-plugin-mozilla/lib/rules/import-browserjs-globals.js rename : testing/eslint-plugin-mozilla/lib/rules/import-globals.js => testing/eslint/eslint-plugin-mozilla/lib/rules/import-globals.js rename : testing/eslint-plugin-mozilla/lib/rules/import-headjs-globals.js => testing/eslint/eslint-plugin-mozilla/lib/rules/import-headjs-globals.js rename : testing/eslint-plugin-mozilla/lib/rules/mark-test-function-used.js => testing/eslint/eslint-plugin-mozilla/lib/rules/mark-test-function-used.js rename : testing/eslint-plugin-mozilla/lib/rules/no-aArgs.js => testing/eslint/eslint-plugin-mozilla/lib/rules/no-aArgs.js rename : testing/eslint-plugin-mozilla/lib/rules/no-cpows-in-tests.js => testing/eslint/eslint-plugin-mozilla/lib/rules/no-cpows-in-tests.js rename : testing/eslint-plugin-mozilla/lib/rules/reject-importGlobalProperties.js => testing/eslint/eslint-plugin-mozilla/lib/rules/reject-importGlobalProperties.js rename : testing/eslint-plugin-mozilla/lib/rules/var-only-at-top-level.js => testing/eslint/eslint-plugin-mozilla/lib/rules/var-only-at-top-level.js rename : testing/eslint-plugin-mozilla/moz.build => testing/eslint/eslint-plugin-mozilla/moz.build rename : testing/eslint-plugin-mozilla/package.json => testing/eslint/eslint-plugin-mozilla/package.json extra : rebase_source : cf689f6cc170b9a22018c981a768f545f952e019
This commit is contained in:
Родитель
ca6ba48e39
Коммит
7b575a75a0
|
@ -100,8 +100,8 @@ testing/mozharness/logs/
|
|||
testing/mozharness/.coverage
|
||||
testing/mozharness/nosetests.xml
|
||||
|
||||
# Ignore node_modules from eslint-plugin-mozilla
|
||||
testing/eslint-plugin-mozilla/node_modules/
|
||||
# Ignore node_modules
|
||||
testing/eslint/node_modules/
|
||||
|
||||
# Ignore talos virtualenv and tp5n files.
|
||||
# The tp5n set is supposed to be decompressed at
|
||||
|
|
|
@ -116,8 +116,8 @@ GPATH
|
|||
# Ignore tox generated dir
|
||||
.tox/
|
||||
|
||||
# Ignore node_modules from eslint-plugin-mozilla
|
||||
^testing/eslint-plugin-mozilla/node_modules/
|
||||
# Ignore node_modules
|
||||
^testing/eslint/node_modules/
|
||||
|
||||
# Ignore talos virtualenv and tp5n files.
|
||||
# The tp5n set is supposed to be decompressed at
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import __main__
|
||||
import argparse
|
||||
import logging
|
||||
import mozpack.path as mozpath
|
||||
|
@ -233,7 +234,7 @@ class MachCommands(MachCommandBase):
|
|||
npmPath = self.getNodeOrNpmPath("npm")
|
||||
if npmPath:
|
||||
try:
|
||||
output = subprocess.check_output([npmPath, "bin", "-g"],
|
||||
output = subprocess.check_output([npmPath, "bin"],
|
||||
stderr=subprocess.STDOUT)
|
||||
if output:
|
||||
base = output.split("\n")[0].strip()
|
||||
|
@ -285,40 +286,55 @@ class MachCommands(MachCommandBase):
|
|||
guide you through an interactive wizard helping you configure
|
||||
eslint for optimal use on Mozilla projects.
|
||||
"""
|
||||
orig_cwd = os.getcwd()
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
root = self.get_project_root()
|
||||
module_path = root + "/testing/eslint"
|
||||
|
||||
# npm sometimes fails to respect cwd when it is run using check_call so
|
||||
# we manually switch folders here instead.
|
||||
os.chdir(module_path)
|
||||
|
||||
npmPath = self.getNodeOrNpmPath("npm")
|
||||
if not npmPath:
|
||||
return 1
|
||||
|
||||
# eslint-plugin-mozilla should **never** be installed (linked) globally.
|
||||
# Let's unlink it just in case.
|
||||
self.callProcess("remove-eslint-plugin-mozilla",
|
||||
[npmPath, "unlink", "eslint-plugin-mozilla"])
|
||||
|
||||
# Install eslint.
|
||||
# Note that that's the version currently compatible with the mozilla
|
||||
# eslint plugin.
|
||||
success = self.callProcess("eslint",
|
||||
[npmPath, "install", "eslint@%s" % ESLINT_VERSION, "-g"])
|
||||
[npmPath, "install", "eslint@2.9.0"])
|
||||
if not success:
|
||||
return 1
|
||||
|
||||
# Install eslint-plugin-mozilla.
|
||||
success = self.callProcess("eslint-plugin-mozilla",
|
||||
[npmPath, "link"],
|
||||
"testing/eslint-plugin-mozilla")
|
||||
[npmPath, "install", os.path.join(module_path, "eslint-plugin-mozilla")])
|
||||
if not success:
|
||||
return 1
|
||||
|
||||
# Install eslint-plugin-html.
|
||||
success = self.callProcess("eslint-plugin-html",
|
||||
[npmPath, "install", "eslint-plugin-html@1.4.0", "-g"])
|
||||
[npmPath, "install", "eslint-plugin-html@1.4.0"])
|
||||
if not success:
|
||||
return 1
|
||||
|
||||
# Install eslint-plugin-react.
|
||||
success = self.callProcess("eslint-plugin-react",
|
||||
[npmPath, "install", "eslint-plugin-react@4.2.3", "-g"])
|
||||
[npmPath, "install", "eslint-plugin-react@4.2.3"])
|
||||
if not success:
|
||||
return 1
|
||||
|
||||
print("\nESLint and approved plugins installed successfully!")
|
||||
print("\nNOTE: Your local eslint binary is at %s/node_modules/.bin/eslint\n" % module_path)
|
||||
|
||||
os.chdir(orig_cwd)
|
||||
|
||||
def callProcess(self, name, cmd, cwd=None):
|
||||
print("\nInstalling %s using \"%s\"..." % (name, " ".join(cmd)))
|
||||
|
@ -399,3 +415,7 @@ class MachCommands(MachCommandBase):
|
|||
return True
|
||||
except (subprocess.CalledProcessError, OSError):
|
||||
return False
|
||||
|
||||
def get_project_root(self):
|
||||
fullpath = os.path.abspath(sys.modules['__main__'].__file__)
|
||||
return os.path.dirname(fullpath)
|
||||
|
|
|
@ -6,9 +6,11 @@ WORKDIR /home/worker
|
|||
|
||||
# install necessary npm packages
|
||||
RUN npm install -g taskcluster-vcs@2.3.12
|
||||
RUN npm install -g eslint@2.9.0
|
||||
RUN npm install -g eslint-plugin-html@1.4.0
|
||||
RUN npm install -g eslint-plugin-react@4.2.3
|
||||
|
||||
# Install tooltool directly from github.
|
||||
RUN mkdir /build
|
||||
ADD https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py /build/tooltool.py
|
||||
RUN chmod +rx /build/tooltool.py
|
||||
|
||||
# Set variable normally configured at login, by the shells parent process, these
|
||||
# are taken from GNU su manual
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
[
|
||||
{
|
||||
"size": 2218185,
|
||||
"visibility": "public",
|
||||
"digest": "ea0065d8986ceffb2870fbc8489c1c2e06afc859df4d93ce8ea87c5accb10822a30e16dbde72c19c9a03fa434f136969089467e629a18c3e6d8601645436fff9",
|
||||
"algorithm": "sha512",
|
||||
"filename": "eslint.tar.gz"
|
||||
}
|
||||
]
|
|
@ -0,0 +1,704 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"acorn": {
|
||||
"version": "3.1.0",
|
||||
"from": "acorn@>=3.1.0 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-3.1.0.tgz"
|
||||
},
|
||||
"acorn-jsx": {
|
||||
"version": "3.0.1",
|
||||
"from": "acorn-jsx@>=3.0.0 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"
|
||||
},
|
||||
"ansi-escapes": {
|
||||
"version": "1.4.0",
|
||||
"from": "ansi-escapes@>=1.1.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz"
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.0.0",
|
||||
"from": "ansi-regex@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "2.2.1",
|
||||
"from": "ansi-styles@>=2.2.1 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
|
||||
},
|
||||
"argparse": {
|
||||
"version": "1.0.7",
|
||||
"from": "argparse@>=1.0.7 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz"
|
||||
},
|
||||
"array-union": {
|
||||
"version": "1.0.1",
|
||||
"from": "array-union@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.1.tgz"
|
||||
},
|
||||
"array-uniq": {
|
||||
"version": "1.0.2",
|
||||
"from": "array-uniq@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz"
|
||||
},
|
||||
"arrify": {
|
||||
"version": "1.0.1",
|
||||
"from": "arrify@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "0.4.1",
|
||||
"from": "balanced-match@>=0.4.1 <0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz"
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.3.5",
|
||||
"from": "bluebird@>=3.1.1 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.5.tgz"
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.4",
|
||||
"from": "brace-expansion@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz"
|
||||
},
|
||||
"caller-path": {
|
||||
"version": "0.1.0",
|
||||
"from": "caller-path@>=0.1.0 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz"
|
||||
},
|
||||
"callsites": {
|
||||
"version": "0.2.0",
|
||||
"from": "callsites@>=0.2.0 <0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"from": "chalk@>=1.1.3 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
|
||||
},
|
||||
"cli-cursor": {
|
||||
"version": "1.0.2",
|
||||
"from": "cli-cursor@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz"
|
||||
},
|
||||
"cli-width": {
|
||||
"version": "2.1.0",
|
||||
"from": "cli-width@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz"
|
||||
},
|
||||
"code-point-at": {
|
||||
"version": "1.0.0",
|
||||
"from": "code-point-at@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz"
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"from": "concat-map@0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.5.1",
|
||||
"from": "concat-stream@>=1.4.6 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz"
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"from": "core-util-is@>=1.0.0 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
||||
},
|
||||
"d": {
|
||||
"version": "0.1.1",
|
||||
"from": "d@>=0.1.1 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz"
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.2.0",
|
||||
"from": "debug@>=2.1.1 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
|
||||
},
|
||||
"deep-is": {
|
||||
"version": "0.1.3",
|
||||
"from": "deep-is@>=0.1.3 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
|
||||
},
|
||||
"del": {
|
||||
"version": "2.2.0",
|
||||
"from": "del@>=2.0.2 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/del/-/del-2.2.0.tgz"
|
||||
},
|
||||
"doctrine": {
|
||||
"version": "1.2.1",
|
||||
"from": "doctrine@>=1.2.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.1.tgz",
|
||||
"dependencies": {
|
||||
"esutils": {
|
||||
"version": "1.1.6",
|
||||
"from": "esutils@>=1.1.6 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "0.1.0",
|
||||
"from": "dom-serializer@>=0.0.0 <1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
|
||||
"dependencies": {
|
||||
"domelementtype": {
|
||||
"version": "1.1.3",
|
||||
"from": "domelementtype@>=1.1.1 <1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "1.3.0",
|
||||
"from": "domelementtype@>=1.3.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"
|
||||
},
|
||||
"domhandler": {
|
||||
"version": "2.3.0",
|
||||
"from": "domhandler@>=2.3.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz"
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.5.1",
|
||||
"from": "domutils@>=1.5.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz"
|
||||
},
|
||||
"entities": {
|
||||
"version": "1.1.1",
|
||||
"from": "entities@>=1.1.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"
|
||||
},
|
||||
"es5-ext": {
|
||||
"version": "0.10.11",
|
||||
"from": "es5-ext@>=0.10.8 <0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz"
|
||||
},
|
||||
"es6-iterator": {
|
||||
"version": "2.0.0",
|
||||
"from": "es6-iterator@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz"
|
||||
},
|
||||
"es6-map": {
|
||||
"version": "0.1.3",
|
||||
"from": "es6-map@>=0.1.3 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.3.tgz"
|
||||
},
|
||||
"es6-set": {
|
||||
"version": "0.1.4",
|
||||
"from": "es6-set@>=0.1.3 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz"
|
||||
},
|
||||
"es6-symbol": {
|
||||
"version": "3.0.2",
|
||||
"from": "es6-symbol@>=3.0.1 <3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz"
|
||||
},
|
||||
"es6-weak-map": {
|
||||
"version": "2.0.1",
|
||||
"from": "es6-weak-map@>=2.0.1 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz"
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"from": "escape-string-regexp@>=1.0.2 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
|
||||
},
|
||||
"escope": {
|
||||
"version": "3.6.0",
|
||||
"from": "escope@>=3.6.0 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz"
|
||||
},
|
||||
"eslint": {
|
||||
"version": "2.9.0",
|
||||
"from": "eslint@2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-2.9.0.tgz"
|
||||
},
|
||||
"eslint-plugin-html": {
|
||||
"version": "1.4.0",
|
||||
"from": "eslint-plugin-html@1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-1.4.0.tgz"
|
||||
},
|
||||
"eslint-plugin-mozilla": {
|
||||
"version": "0.0.3",
|
||||
"from": "eslint-plugin-mozilla",
|
||||
"resolved": "file:eslint-plugin-mozilla",
|
||||
"dependencies": {
|
||||
"espree": {
|
||||
"version": "2.2.5",
|
||||
"from": "espree@>=2.2.4 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"eslint-plugin-react": {
|
||||
"version": "4.2.3",
|
||||
"from": "eslint-plugin-react@4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-4.2.3.tgz"
|
||||
},
|
||||
"espree": {
|
||||
"version": "3.1.4",
|
||||
"from": "espree@3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz"
|
||||
},
|
||||
"esprima": {
|
||||
"version": "2.7.2",
|
||||
"from": "esprima@>=2.6.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz"
|
||||
},
|
||||
"esrecurse": {
|
||||
"version": "4.1.0",
|
||||
"from": "esrecurse@>=4.1.0 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
|
||||
"dependencies": {
|
||||
"estraverse": {
|
||||
"version": "4.1.1",
|
||||
"from": "estraverse@>=4.1.0 <4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"estraverse": {
|
||||
"version": "4.2.0",
|
||||
"from": "estraverse@>=4.2.0 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
|
||||
},
|
||||
"esutils": {
|
||||
"version": "2.0.2",
|
||||
"from": "esutils@>=2.0.2 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
|
||||
},
|
||||
"event-emitter": {
|
||||
"version": "0.3.4",
|
||||
"from": "event-emitter@>=0.3.4 <0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz"
|
||||
},
|
||||
"exit-hook": {
|
||||
"version": "1.1.1",
|
||||
"from": "exit-hook@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz"
|
||||
},
|
||||
"fast-levenshtein": {
|
||||
"version": "1.1.3",
|
||||
"from": "fast-levenshtein@>=1.1.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.3.tgz"
|
||||
},
|
||||
"figures": {
|
||||
"version": "1.5.0",
|
||||
"from": "figures@>=1.3.5 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-1.5.0.tgz"
|
||||
},
|
||||
"file-entry-cache": {
|
||||
"version": "1.2.4",
|
||||
"from": "file-entry-cache@>=1.1.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.2.4.tgz"
|
||||
},
|
||||
"flat-cache": {
|
||||
"version": "1.0.10",
|
||||
"from": "flat-cache@>=1.0.9 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz"
|
||||
},
|
||||
"generate-function": {
|
||||
"version": "2.0.0",
|
||||
"from": "generate-function@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
|
||||
},
|
||||
"generate-object-property": {
|
||||
"version": "1.2.0",
|
||||
"from": "generate-object-property@>=1.1.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.0.3",
|
||||
"from": "glob@>=7.0.3 <8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz"
|
||||
},
|
||||
"globals": {
|
||||
"version": "9.6.0",
|
||||
"from": "globals@>=9.2.0 <10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-9.6.0.tgz"
|
||||
},
|
||||
"globby": {
|
||||
"version": "4.0.0",
|
||||
"from": "globby@>=4.0.0 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/globby/-/globby-4.0.0.tgz",
|
||||
"dependencies": {
|
||||
"glob": {
|
||||
"version": "6.0.4",
|
||||
"from": "glob@>=6.0.1 <7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.1.4",
|
||||
"from": "graceful-fs@>=4.1.2 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
|
||||
},
|
||||
"has-ansi": {
|
||||
"version": "2.0.0",
|
||||
"from": "has-ansi@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.9.0",
|
||||
"from": "htmlparser2@>=3.8.2 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.0.tgz"
|
||||
},
|
||||
"ignore": {
|
||||
"version": "3.1.2",
|
||||
"from": "ignore@>=3.1.2 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.2.tgz"
|
||||
},
|
||||
"imurmurhash": {
|
||||
"version": "0.1.4",
|
||||
"from": "imurmurhash@>=0.1.4 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.4",
|
||||
"from": "inflight@>=1.0.4 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.1",
|
||||
"from": "inherits@>=2.0.1 <2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
|
||||
},
|
||||
"inquirer": {
|
||||
"version": "0.12.0",
|
||||
"from": "inquirer@>=0.12.0 <0.13.0",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz"
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
|
||||
},
|
||||
"is-my-json-valid": {
|
||||
"version": "2.13.1",
|
||||
"from": "is-my-json-valid@>=2.10.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz"
|
||||
},
|
||||
"is-path-cwd": {
|
||||
"version": "1.0.0",
|
||||
"from": "is-path-cwd@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz"
|
||||
},
|
||||
"is-path-in-cwd": {
|
||||
"version": "1.0.0",
|
||||
"from": "is-path-in-cwd@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz"
|
||||
},
|
||||
"is-path-inside": {
|
||||
"version": "1.0.0",
|
||||
"from": "is-path-inside@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz"
|
||||
},
|
||||
"is-property": {
|
||||
"version": "1.0.2",
|
||||
"from": "is-property@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
|
||||
},
|
||||
"is-resolvable": {
|
||||
"version": "1.0.0",
|
||||
"from": "is-resolvable@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz"
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"from": "isarray@>=1.0.0 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.6.0",
|
||||
"from": "js-yaml@>=3.5.1 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.0.tgz"
|
||||
},
|
||||
"json-stable-stringify": {
|
||||
"version": "1.0.1",
|
||||
"from": "json-stable-stringify@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
|
||||
},
|
||||
"jsonify": {
|
||||
"version": "0.0.0",
|
||||
"from": "jsonify@>=0.0.0 <0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
|
||||
},
|
||||
"jsonpointer": {
|
||||
"version": "2.0.0",
|
||||
"from": "jsonpointer@2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
|
||||
},
|
||||
"levn": {
|
||||
"version": "0.3.0",
|
||||
"from": "levn@>=0.3.0 <0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.12.0",
|
||||
"from": "lodash@>=4.0.0 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.12.0.tgz"
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.0",
|
||||
"from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz"
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"from": "minimist@0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"from": "mkdirp@>=0.5.0 <0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
|
||||
},
|
||||
"ms": {
|
||||
"version": "0.7.1",
|
||||
"from": "ms@0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
|
||||
},
|
||||
"mute-stream": {
|
||||
"version": "0.0.5",
|
||||
"from": "mute-stream@0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
|
||||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.0",
|
||||
"from": "number-is-nan@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.0",
|
||||
"from": "object-assign@>=4.0.1 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
|
||||
},
|
||||
"once": {
|
||||
"version": "1.3.3",
|
||||
"from": "once@>=1.3.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
|
||||
},
|
||||
"onetime": {
|
||||
"version": "1.1.0",
|
||||
"from": "onetime@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz"
|
||||
},
|
||||
"optionator": {
|
||||
"version": "0.8.1",
|
||||
"from": "optionator@>=0.8.1 <0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz"
|
||||
},
|
||||
"os-homedir": {
|
||||
"version": "1.0.1",
|
||||
"from": "os-homedir@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz"
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.0",
|
||||
"from": "path-is-absolute@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
|
||||
},
|
||||
"path-is-inside": {
|
||||
"version": "1.0.1",
|
||||
"from": "path-is-inside@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
|
||||
},
|
||||
"pify": {
|
||||
"version": "2.3.0",
|
||||
"from": "pify@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
|
||||
},
|
||||
"pinkie": {
|
||||
"version": "2.0.4",
|
||||
"from": "pinkie@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
|
||||
},
|
||||
"pinkie-promise": {
|
||||
"version": "2.0.1",
|
||||
"from": "pinkie-promise@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
|
||||
},
|
||||
"pluralize": {
|
||||
"version": "1.2.1",
|
||||
"from": "pluralize@>=1.2.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz"
|
||||
},
|
||||
"prelude-ls": {
|
||||
"version": "1.1.2",
|
||||
"from": "prelude-ls@>=1.1.2 <1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "1.0.7",
|
||||
"from": "process-nextick-args@>=1.0.6 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
|
||||
},
|
||||
"progress": {
|
||||
"version": "1.1.8",
|
||||
"from": "progress@>=1.1.8 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz"
|
||||
},
|
||||
"read-json-sync": {
|
||||
"version": "1.1.1",
|
||||
"from": "read-json-sync@>=1.1.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/read-json-sync/-/read-json-sync-1.1.1.tgz"
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.0.6",
|
||||
"from": "readable-stream@>=2.0.0 <2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
|
||||
},
|
||||
"readline2": {
|
||||
"version": "1.0.1",
|
||||
"from": "readline2@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz"
|
||||
},
|
||||
"require-uncached": {
|
||||
"version": "1.0.2",
|
||||
"from": "require-uncached@>=1.0.2 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz"
|
||||
},
|
||||
"resolve-from": {
|
||||
"version": "1.0.1",
|
||||
"from": "resolve-from@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz"
|
||||
},
|
||||
"restore-cursor": {
|
||||
"version": "1.0.1",
|
||||
"from": "restore-cursor@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz"
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.5.2",
|
||||
"from": "rimraf@>=2.2.8 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz"
|
||||
},
|
||||
"run-async": {
|
||||
"version": "0.1.0",
|
||||
"from": "run-async@>=0.1.0 <0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz"
|
||||
},
|
||||
"rx-lite": {
|
||||
"version": "3.1.2",
|
||||
"from": "rx-lite@>=3.1.2 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz"
|
||||
},
|
||||
"sax": {
|
||||
"version": "1.2.1",
|
||||
"from": "sax@>=1.1.4 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"
|
||||
},
|
||||
"shelljs": {
|
||||
"version": "0.6.0",
|
||||
"from": "shelljs@>=0.6.0 <0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.0.tgz"
|
||||
},
|
||||
"slice-ansi": {
|
||||
"version": "0.0.4",
|
||||
"from": "slice-ansi@0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz"
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"from": "sprintf-js@>=1.0.2 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"from": "string_decoder@>=0.10.0 <0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
|
||||
},
|
||||
"string-width": {
|
||||
"version": "1.0.1",
|
||||
"from": "string-width@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz"
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"from": "strip-ansi@>=3.0.0 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
|
||||
},
|
||||
"strip-json-comments": {
|
||||
"version": "1.0.4",
|
||||
"from": "strip-json-comments@>=1.0.1 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "2.0.0",
|
||||
"from": "supports-color@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
|
||||
},
|
||||
"table": {
|
||||
"version": "3.7.8",
|
||||
"from": "table@>=3.7.8 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-3.7.8.tgz"
|
||||
},
|
||||
"text-table": {
|
||||
"version": "0.2.0",
|
||||
"from": "text-table@>=0.2.0 <0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"from": "through@>=2.3.6 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
|
||||
},
|
||||
"tryit": {
|
||||
"version": "1.0.2",
|
||||
"from": "tryit@>=1.0.1 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz"
|
||||
},
|
||||
"tv4": {
|
||||
"version": "1.2.7",
|
||||
"from": "tv4@>=1.2.7 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz"
|
||||
},
|
||||
"type-check": {
|
||||
"version": "0.3.2",
|
||||
"from": "type-check@>=0.3.2 <0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
"from": "typedarray@>=0.0.5 <0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
|
||||
},
|
||||
"user-home": {
|
||||
"version": "2.0.0",
|
||||
"from": "user-home@>=2.0.0 <3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz"
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"from": "util-deprecate@>=1.0.1 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "1.0.0",
|
||||
"from": "wordwrap@>=1.0.0 <1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.1",
|
||||
"from": "wrappy@>=1.0.0 <2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
|
||||
},
|
||||
"write": {
|
||||
"version": "0.2.1",
|
||||
"from": "write@>=0.2.1 <0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz"
|
||||
},
|
||||
"xregexp": {
|
||||
"version": "3.1.0",
|
||||
"from": "xregexp@>=3.0.0 <4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.1.0.tgz"
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.1",
|
||||
"from": "xtend@>=4.0.0 <5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
#!/bin/sh
|
||||
# Force the scripts working directory to be projdir/testing/eslint.
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd $DIR
|
||||
|
||||
echo "To complete this script you will need the following tokens from https://api.pub.build.mozilla.org/tokenauth/"
|
||||
echo " - tooltool.upload.public"
|
||||
echo " - tooltool.download.public"
|
||||
echo ""
|
||||
read -p "Are these tokens visible at the above URL (y/n)?" choice
|
||||
case "$choice" in
|
||||
y|Y )
|
||||
echo ""
|
||||
echo "1. Go to https://api.pub.build.mozilla.org/"
|
||||
echo "2. Log In using your Mozilla LDAP account."
|
||||
echo "3. Click on \"Tokens.\""
|
||||
echo "4. Issue a user token with the permissions tooltool.upload.public and tooltool.download.public."
|
||||
echo ""
|
||||
echo "When you click issue you will be presented with a long string. Paste the string into a temporary file called ~/.tooltool-token."
|
||||
echo ""
|
||||
read -rsp $'Press any key to continue...\n' -n 1
|
||||
;;
|
||||
n|N )
|
||||
echo ""
|
||||
echo "You will need to contact somebody that has these permissions... people most likely to have these permissions are members of the releng, ateam, a sheriff or mratcliffe@mozilla.com."
|
||||
exit 1
|
||||
;;
|
||||
* )
|
||||
echo ""
|
||||
echo "Invalid input."
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo "Removing node_modules and npm_shrinkwrap.json..."
|
||||
rm -rf node_modules/
|
||||
rm npm-shrinkwrap.json
|
||||
|
||||
echo "Installing eslint and dependencies..."
|
||||
../../mach eslint --setup
|
||||
|
||||
echo "Creating npm shrinkwrap..."
|
||||
npm shrinkwrap
|
||||
|
||||
echo "Creating eslint.tar.gz..."
|
||||
tar cvfz eslint.tar.gz node_modules
|
||||
|
||||
echo "Downloading tooltool..."
|
||||
wget https://raw.githubusercontent.com/mozilla/build-tooltool/master/tooltool.py
|
||||
chmod +x tooltool.py
|
||||
|
||||
echo "Adding eslint.tar.gz to tooltool..."
|
||||
rm manifest.tt
|
||||
./tooltool.py add --visibility public eslint.tar.gz
|
||||
|
||||
echo "Uploading eslint.tar.gz to tooltool..."
|
||||
./tooltool.py upload --authentication-file=~/.tooltool-token --message "node_modules folder update for testing/eslint"
|
||||
|
||||
echo "Cleaning up..."
|
||||
rm eslint.tar.gz
|
||||
rm tooltool.py
|
||||
|
||||
echo ""
|
||||
echo "Update complete, please commit and check in your changes."
|
|
@ -393,7 +393,7 @@ tasks:
|
|||
- '**/.eslintignore'
|
||||
- '**/*eslintrc*'
|
||||
# The plugin implementing custom checks.
|
||||
- 'testing/eslint-plugin-mozilla/**'
|
||||
- 'testing/eslint/eslint-plugin-mozilla/**'
|
||||
# Other misc lint related files.
|
||||
- 'tools/lint/**'
|
||||
android-api-15-gradle-dependencies:
|
||||
|
|
|
@ -22,9 +22,13 @@ task:
|
|||
- -cx
|
||||
- >
|
||||
tc-vcs checkout ./gecko {{base_repository}} {{head_repository}} {{head_rev}} {{head_ref}} &&
|
||||
cd gecko &&
|
||||
npm link testing/eslint-plugin-mozilla &&
|
||||
eslint --plugin html --ext [.js,.jsm,.jsx,.xml,.html] -f tools/lint/eslint-formatter .
|
||||
cd gecko/testing/eslint &&
|
||||
/build/tooltool.py fetch -m manifest.tt &&
|
||||
tar xvfz eslint.tar.gz &&
|
||||
rm eslint.tar.gz &&
|
||||
cd ../.. &&
|
||||
testing/eslint/node_modules/.bin/eslint --plugin html --ext [.js,.jsm,.jsx,.xml,.html] -f tools/lint/eslint-formatter .
|
||||
|
||||
extra:
|
||||
locations:
|
||||
build: null
|
||||
|
|
Загрузка…
Ссылка в новой задаче