diff --git a/node_modules/babel-preset-babili/.npmignore b/node_modules/babel-preset-babili/.npmignore new file mode 100644 index 00000000000..22250660e4c --- /dev/null +++ b/node_modules/babel-preset-babili/.npmignore @@ -0,0 +1,4 @@ +src +__tests__ +node_modules +*.log diff --git a/node_modules/babel-preset-babili/README.md b/node_modules/babel-preset-babili/README.md new file mode 100644 index 00000000000..76d0c72281a --- /dev/null +++ b/node_modules/babel-preset-babili/README.md @@ -0,0 +1,165 @@ +# babel-preset-babili + +Babel preset for all minify plugins. + ++ [Install](#install) ++ [Usage](#usage) ++ [Options](#options) + +## Install + +```sh +npm install --save-dev babel-preset-babili +``` + +## Usage + +### Via `.babelrc` (Recommended) + +**.babelrc** + +```json +{ + "presets": ["babili"] +} +``` + +or pass in options - + +```json +{ + "presets": [["babili", { + "mangle": { + "blacklist": ["MyCustomError"] + }, + "unsafe": { + "typeConstructors": false + }, + "keepFnName": true + }]] +} +``` + +### Via CLI + +```sh +babel script.js --presets babili +``` + +### Via Node API + +```javascript +require("babel-core").transform("code", { + presets: ["babili"] +}); +``` + +## Options + +Two types of options: + +1. 1-1 mapping with plugin +2. The same option passed to multiple plugins + +#### 1-1 mapping with plugin + ++ `false` - disable plugin ++ `true` - enable plugin ++ `{ ...pluginOpts }` - enable plugin and pass pluginOpts to plugin + +OptionName | Plugin | DefaultValue +---------- | ------ | ------------ +booleans | [transform-minify-booleans][booleans] | true +builtIns | [minify-builtins][builtIns] | true +consecutiveAdds | [transform-inline-consecutive-adds][consecutiveAdds] | true +deadcode | [minify-dead-code-elimination][deadcode] | true +evaluate | [minify-constant-folding][evaluate] | true +flipComparisons | [minify-flip-comparisons][flipComparisons] | true +guards | [minify-guarded-expressions][guards] | true +infinity | [minify-infinity][infinity] | true +mangle | [minify-mangle-names][mangle] | true +memberExpressions | [transform-member-expression-literals][memberExpressions] | true +mergeVars | [transform-merge-sibling-variables][mergeVars] | true +numericLiterals | [minify-numeric-literals][numericLiterals] | true +propertyLiterals | [transform-property-literals][propertyLiterals] | true +regexpConstructors | [transform-regexp-constructors][regexpConstructors] | true +removeConsole | [transform-remove-console][removeConsole] | false +removeDebugger | [transform-remove-debugger][removeDebugger] | false +removeUndefined | [transform-remove-undefined][removeUndefined] | true +replace | [minify-replace][replace] | true +simplify | [minify-simplify][simplify] | true +simplifyComparisons | [transform-simplify-comparison-operators][simplifyComparisons] | true +typeConstructors | [minify-type-constructors][typeConstructors] | true +undefinedToVoid | [transform-undefined-to-void][undefinedToVoid] | true + +#### The same option passed to multiple plugins + ++ When multiple plugins require the same option, it's easier to declare it in one place. These options are passed on to two or more plugins. + +OptionName | Plugins +---------- | ------- +keepFnName | Passed to [mangle][mangle] & [deadcode][deadcode] +keepClassName | Passed to [mangle][mangle] & [deadcode][deadcode] + +**Examples** + +```json +{ + "presets": [["babili", { + "evaluate": false, + "mangle": true + }]] +} +``` + +```json +{ + "presets": [["babili", { + "mangle": { + "blacklist": ["ParserError", "NetworkError"] + } + }]] +} +``` + +```json +{ + "presets": [["babili", { + "keepFnName": true + }]] +} +// is the same as +{ + "presets": [["babili", { + "mangle": { + "keepFnName": true + }, + "deadcode": { + "keepFnName": true + } + }]] +} +``` + +[booleans]: ../../packages/babel-plugin-transform-minify-booleans +[builtIns]: ../../packages/babel-plugin-minify-builtins +[consecutiveAdds]: ../../packages/babel-plugin-transform-inline-consecutive-adds +[deadcode]: ../../packages/babel-plugin-minify-dead-code-elimination +[evaluate]: ../../packages/babel-plugin-minify-constant-folding +[flipComparisons]: ../../packages/babel-plugin-minify-flip-comparisons +[guards]: ../../packages/babel-plugin-minify-guarded-expressions +[infinity]: ../../packages/babel-plugin-minify-infinity +[mangle]: ../../packages/babel-plugin-minify-mangle-names +[memberExpressions]: ../../packages/babel-plugin-transform-member-expression-literals +[mergeVars]: ../../packages/babel-plugin-transform-merge-sibling-variables +[numericLiterals]: ../../packages/babel-plugin-minify-numeric-literals +[propertyLiterals]: ../../packages/babel-plugin-transform-property-literals +[regexpConstructors]: ../../packages/babel-plugin-transform-regexp-constructors +[removeConsole]: ../../packages/babel-plugin-transform-remove-console +[removeDebugger]: ../../packages/babel-plugin-transform-remove-debugger +[removeUndefined]: ../../packages/babel-plugin-transform-remove-undefined +[replace]: ../../packages/babel-plugin-minify-replace +[simplify]: ../../packages/babel-plugin-minify-simplify +[simplifyComparisons]: ../../packages/babel-plugin-transform-simplify-comparison-operators +[typeConstructors]: ../../packages/babel-plugin-minify-type-constructors +[undefinedToVoid]: ../../packages/babel-plugin-transform-undefined-to-void diff --git a/node_modules/babel-preset-babili/lib/index.js b/node_modules/babel-preset-babili/lib/index.js new file mode 100644 index 00000000000..8e5bc6d25bc --- /dev/null +++ b/node_modules/babel-preset-babili/lib/index.js @@ -0,0 +1,145 @@ +"use strict"; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +var isPlainObject = require("lodash.isplainobject"); + +// the flat plugin map +// This is to prevent dynamic requires - require('babel-plugin-' + name); +// as it suffers during bundling of this code with webpack/browserify +// sorted by option name +// prettier-ignore +var PLUGINS = [ +// [optionname, plugin, default], +["booleans", require("babel-plugin-transform-minify-booleans"), true], ["builtIns", require("babel-plugin-minify-builtins"), true], ["consecutiveAdds", require("babel-plugin-transform-inline-consecutive-adds"), true], ["deadcode", require("babel-plugin-minify-dead-code-elimination"), true], ["evaluate", require("babel-plugin-minify-constant-folding"), true], ["flipComparisons", require("babel-plugin-minify-flip-comparisons"), true], ["guards", require("babel-plugin-minify-guarded-expressions"), true], ["infinity", require("babel-plugin-minify-infinity"), true], ["mangle", require("babel-plugin-minify-mangle-names"), true], ["memberExpressions", require("babel-plugin-transform-member-expression-literals"), true], ["mergeVars", require("babel-plugin-transform-merge-sibling-variables"), true], ["numericLiterals", require("babel-plugin-minify-numeric-literals"), true], ["propertyLiterals", require("babel-plugin-transform-property-literals"), true], ["regexpConstructors", require("babel-plugin-transform-regexp-constructors"), true], ["removeConsole", require("babel-plugin-transform-remove-console"), false], ["removeDebugger", require("babel-plugin-transform-remove-debugger"), false], ["removeUndefined", require("babel-plugin-transform-remove-undefined"), true], ["replace", require("babel-plugin-minify-replace"), true], ["simplify", require("babel-plugin-minify-simplify"), true], ["simplifyComparisons", require("babel-plugin-transform-simplify-comparison-operators"), true], ["typeConstructors", require("babel-plugin-minify-type-constructors"), true], ["undefinedToVoid", require("babel-plugin-transform-undefined-to-void"), true]]; + +var PROXIES = { + keepFnName: ["mangle", "deadcode"], + keepClassName: ["mangle", "deadcode"] +}; + +module.exports = preset; + +function preset(context) { + var _opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var opts = isPlainObject(_opts) ? _opts : {}; + + // validate options + var validOptions = [].concat(_toConsumableArray(PLUGINS.map(function (p) { + return p[0]; + })), _toConsumableArray(Object.keys(PROXIES))); + for (var name in opts) { + if (validOptions.indexOf(name) < 0) { + throw new Error(`Invalid option "${name}"`); + } + } + + // build a plugins map from the plugin table above + var pluginsMap = PLUGINS.reduce(function (acc, _ref) { + var _ref2 = _slicedToArray(_ref, 3), + name = _ref2[0], + plugin = _ref2[1], + defaultValue = _ref2[2]; + + return Object.assign(acc, { + [name]: { + plugin, + options: null, + enabled: defaultValue + } + }); + }, {}); + + // handle plugins and their options + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = PLUGINS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ref3 = _step.value; + + var _ref4 = _slicedToArray(_ref3, 1); + + var _name = _ref4[0]; + + if (isPlainObject(opts[_name])) { + pluginsMap[_name].options = opts[_name]; + } else if (opts[_name] !== void 0) { + pluginsMap[_name].enabled = !!opts[_name]; + } + } + + // handle proxies + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + for (var proxyname in PROXIES) { + if (opts[proxyname] !== void 0) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = PROXIES[proxyname][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var to = _step2.value; + + if (!pluginsMap[to].options) { + pluginsMap[to].options = {}; + } + if (!hop(pluginsMap[to].options, proxyname)) { + pluginsMap[to].options[proxyname] = opts[proxyname]; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } + + // get the array of plugins + var plugins = Object.keys(pluginsMap).map(function (name) { + return pluginsMap[name]; + }).filter(function (plugin) { + return plugin.enabled; + }).map(function (plugin) { + return plugin.options ? [plugin.plugin, plugin.options] : plugin.plugin; + }); + + return { + minified: true, + comments: false, + presets: [{ plugins }], + passPerPreset: true + }; +} + +function hop(o, key) { + return Object.prototype.hasOwnProperty.call(o, key); +} \ No newline at end of file diff --git a/node_modules/babel-preset-babili/lib/options-manager.js b/node_modules/babel-preset-babili/lib/options-manager.js new file mode 100644 index 00000000000..9f51fe49fc5 --- /dev/null +++ b/node_modules/babel-preset-babili/lib/options-manager.js @@ -0,0 +1,309 @@ +"use strict"; + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +var isPlainObject = require("lodash.isplainobject"); + +/** + * Options Manager + * + * Input Options: Object + * Output: Array of plugins enabled with their options + * + * Handles multiple types of input option keys + * + * 1. boolean and object values + * { mangle: true } // should enable mangler + * { mangle: { blacklist: ["foo"] } } // should enabled mangler + * // and pass obj to mangle plugin + * + * 2. group + * { unsafe: true } // should enable all plugins under unsafe + * { unsafe: { flip: false } } // should disable flip-comparisons plugin + * // and other plugins should take their defaults + * { unsafe: { simplify: {multipass: true}}} // should pass obj to simplify + * // other plugins take defaults + * + * 3. same option passed on to multiple plugins + * { keepFnames: false } // should be passed on to mangle & dce + * // without disturbing their own options + */ + +module.exports = { + option, + proxy, + group, + generate, + resolveOptions, + generateResult +}; + +/** + * Generate the plugin list from option tree and inputOpts + */ +function generate(optionTree, inputOpts) { + return generateResult(resolveOptions(optionTree, inputOpts)); +} + +/** + * Generate plugin list from the resolvedOptionTree + * where resolvedOptionTree = for every node, node.resolved = true; + */ +function generateResult(resolvedOpts) { + var options = resolvedOpts.children; + var result = []; + + for (var i = 0; i < options.length; i++) { + var _option = options[i]; + + switch (_option.type) { + case "option": + if (_option.resolvedValue) { + result.push(_option.resolvedValue); + } + break; + case "group": + result.push.apply(result, _toConsumableArray(generateResult(_option))); + break; + } + } + + return result; +} + +/** + * Traverses input @param{optionTree} and adds resolvedValue + * calculated from @param{inputOpts} for each Node in the tree + */ +function resolveOptions(optionTree) { + var inputOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var options = optionTree.children; + + // a queue to resolve proxies at the end after all options groups are resolved + var proxiesToResolve = []; + + for (var i = 0; i < options.length; i++) { + var _option2 = options[i]; + switch (_option2.type) { + case "option": + resolveTypeOption(_option2, inputOpts); + break; + + case "group": + resolveTypeGroup(_option2, inputOpts); + break; + + case "proxy": + if (!hop(inputOpts, _option2.name)) { + break; + } + proxiesToResolve.push(_option2); + break; + + default: + throw new TypeError("Option type not supported - " + _option2.type); + } + } + + // resolve proxies + for (var _i = 0; _i < proxiesToResolve.length; _i++) { + var _proxy = proxiesToResolve[_i]; + for (var j = 0; j < _proxy.to.length; j++) { + var _option3 = _proxy.to[j]; + switch (_option3.type) { + case "option": + resolveTypeProxyToOption(_proxy, _option3, inputOpts); + break; + + case "group": + case "proxy": + throw new Error(`proxy option cannot proxy to group/proxy. ${_proxy.name} proxied to ${_option3.name}`); + + default: + throw new Error("Unsupported option type ${option.name}"); + } + } + } + + // return the same tree after modifications + return optionTree; +} + +/** + * Resolve the type - simple option using the @param{inputOpts} + */ +function resolveTypeOption(option, inputOpts) { + option.resolved = true; + + // option does NOT exist in inputOpts + if (!hop(inputOpts, option.name)) { + // default value + option.resolvedValue = option.defaultValue ? option.resolvingValue : null; + return; + } + + // Object + // { mangle: { blacklist: ["foo", "bar"] } } + if (isPlainObject(inputOpts[option.name])) { + option.resolvedValue = [option.resolvingValue, inputOpts[option.name]]; + return; + } + + // any other truthy value, just enables the plugin + // { mangle: true } + if (inputOpts[option.name]) { + option.resolvedValue = option.resolvingValue; + return; + } + + // disabled + option.resolvedValue = null; +} + +/** + * Resolve the group using @param{inputOpts} + */ +function resolveTypeGroup(option, inputOpts) { + option.resolved = true; + + // option does NOT exist in inputOpts + if (!hop(inputOpts, option.name)) { + var _newInputOpts = option.children.filter(function (opt) { + return opt.type !== "proxy"; + }).reduce(function (acc, cur) { + var value = void 0; + switch (option.defaultValue) { + case "all": + value = true; + break; + case "some": + value = cur.defaultValue; + break; + case "none": + value = false; + break; + default: + throw new Error(`Unsupported defaultValue - ${option.defaultValue} for option ${option.name}`); + } + return Object.assign({}, acc, { + [cur.name]: value + }); + }, {}); + + // recurse + resolveOptions(option, _newInputOpts); + return; + } + + // has individual options for items in group + // { unsafe: { flipComparisons: true } } + if (isPlainObject(inputOpts[option.name])) { + resolveOptions(option, inputOpts[option.name]); + return; + } + + // else + // { unsafe: } + var newInputOpts = option.children.filter(function (opt) { + return opt.type !== "proxy"; + }).reduce(function (acc, cur) { + return Object.assign({}, acc, { + // if the input is truthy, enable all, else disable all + [cur.name]: !!inputOpts[option.name] + }); + }, {}); + resolveOptions(option, newInputOpts); +} + +/** + * Resolve proxies and update the already resolved Options + */ +function resolveTypeProxyToOption(proxy, option, inputOpts) { + if (!option.resolved) { + throw new Error("Proxies cannot be applied before the original option is resolved"); + } + + // option is disabled + if (!option.resolvedValue) { + return; + } + + // option doesn't contain any option on its own + if (option.resolvedValue === option.resolvingValue) { + option.resolvedValue = [option.resolvedValue, { + [proxy.name]: inputOpts[proxy.name] + }]; + } else if (Array.isArray(option.resolvedValue) && option.resolvedValue.length === 2) { + // option already has its own set of options to be passed to plugins + // proxies should not override + if (!hop(option.resolvedValue[1], proxy.name)) { + option.resolvedValue = [option.resolvingValue, Object.assign({}, option.resolvedValue[1], { + [proxy.name]: inputOpts[proxy.name] + })]; + } + } else { + // plugin is invalid + throw new Error(`Invalid resolved value for option ${option.name}`); + } +} + +// create an option of type simple option +function option(name, resolvingValue) { + var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + + assertName(name); + if (!resolvingValue) { + // as plugins are truthy values + throw new Error("Only truthy resolving values are supported"); + } + return { + type: "option", + name, + resolvingValue, + defaultValue + }; +} + +// create an option of type proxy +function proxy(name, to) { + assertName(name); + assertArray(name, "to", to); + return { + type: "proxy", + name, + to + }; +} + +// create an option of type - group of options +function group(name, children) { + var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "some"; + + assertName(name); + assertArray(name, "children", children); + return { + type: "group", + name, + children: children.filter(function (x) { + return !!x; + }), + defaultValue + }; +} + +function hop(o, key) { + return Object.hasOwnProperty.call(o, key); +} + +function assertArray(name, prop, arr) { + if (!Array.isArray(arr)) { + throw new Error(`Expected ${prop} to be an array in option ${name}`); + } +} + +function assertName(name) { + if (!name) { + throw new Error("Invalid option name " + name); + } +} \ No newline at end of file diff --git a/node_modules/babel-preset-babili/package.json b/node_modules/babel-preset-babili/package.json new file mode 100644 index 00000000000..362271278aa --- /dev/null +++ b/node_modules/babel-preset-babili/package.json @@ -0,0 +1,71 @@ +{ + "_from": "babel-preset-babili@0.1.4", + "_id": "babel-preset-babili@0.1.4", + "_inBundle": false, + "_integrity": "sha1-rZ1mUQAvW8PwfKswB4EWf1RyS/I=", + "_location": "/babel-preset-babili", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "babel-preset-babili@0.1.4", + "name": "babel-preset-babili", + "escapedName": "babel-preset-babili", + "rawSpec": "0.1.4", + "saveSpec": null, + "fetchSpec": "0.1.4" + }, + "_requiredBy": [ + "/node-titanium-sdk" + ], + "_resolved": "https://registry.npmjs.org/babel-preset-babili/-/babel-preset-babili-0.1.4.tgz", + "_shasum": "ad9d6651002f5bc3f07cab300781167f54724bf2", + "_spec": "babel-preset-babili@0.1.4", + "_where": "/Users/chris/appc/titanium_mobile", + "author": { + "name": "amasad" + }, + "bugs": { + "url": "https://github.com/babel/babili/issues" + }, + "bundleDependencies": false, + "dependencies": { + "babel-plugin-minify-builtins": "^0.1.3", + "babel-plugin-minify-constant-folding": "^0.1.3", + "babel-plugin-minify-dead-code-elimination": "^0.1.7", + "babel-plugin-minify-flip-comparisons": "^0.1.2", + "babel-plugin-minify-guarded-expressions": "^0.1.2", + "babel-plugin-minify-infinity": "^0.1.2", + "babel-plugin-minify-mangle-names": "^0.1.3", + "babel-plugin-minify-numeric-literals": "^0.1.1", + "babel-plugin-minify-replace": "^0.1.2", + "babel-plugin-minify-simplify": "^0.1.2", + "babel-plugin-minify-type-constructors": "^0.1.2", + "babel-plugin-transform-inline-consecutive-adds": "^0.1.2", + "babel-plugin-transform-member-expression-literals": "^6.8.4", + "babel-plugin-transform-merge-sibling-variables": "^6.8.5", + "babel-plugin-transform-minify-booleans": "^6.8.2", + "babel-plugin-transform-property-literals": "^6.8.4", + "babel-plugin-transform-regexp-constructors": "^0.1.1", + "babel-plugin-transform-remove-console": "^6.8.4", + "babel-plugin-transform-remove-debugger": "^6.8.4", + "babel-plugin-transform-remove-undefined": "^0.1.2", + "babel-plugin-transform-simplify-comparison-operators": "^6.8.4", + "babel-plugin-transform-undefined-to-void": "^6.8.2", + "lodash.isplainobject": "^4.0.6" + }, + "deprecated": false, + "description": "Babel preset for all minify plugins.", + "homepage": "https://github.com/babel/babili#readme", + "keywords": [ + "babel-preset" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "babel-preset-babili", + "repository": { + "type": "git", + "url": "https://github.com/babel/babili/tree/master/packages/babel-preset-babili" + }, + "version": "0.1.4" +} diff --git a/node_modules/ioslib/lib/simulator.js b/node_modules/ioslib/lib/simulator.js index 8d6d942a197..df40954b128 100644 --- a/node_modules/ioslib/lib/simulator.js +++ b/node_modules/ioslib/lib/simulator.js @@ -210,13 +210,11 @@ function detect(options, callback) { if (runtime) { runtime.versions = [ runtime.version ]; } - } else { + } else if (xc.simRuntimes[plist.runtime]) { runtime.versions = [ runtime.version ]; - if (xc.simRuntimes[plist.runtime]) { - var ver = xc.simRuntimes[plist.runtime].version; - if (ver !== runtime.version) { - runtime.versions.push(ver); - } + var ver = xc.simRuntimes[plist.runtime].version; + if (ver !== runtime.version) { + runtime.versions.push(ver); } } diff --git a/node_modules/ioslib/package.json b/node_modules/ioslib/package.json index 16bf1d214cb..83d4012f7d2 100644 --- a/node_modules/ioslib/package.json +++ b/node_modules/ioslib/package.json @@ -1,29 +1,26 @@ { - "_from": "ioslib@1.4.8", - "_id": "ioslib@1.4.8", + "_from": "ioslib@1.4.7", + "_id": "ioslib@1.4.7", "_inBundle": false, - "_integrity": "sha1-B+H+dYnZOjSnVlDW9aQoMcGHn4c=", + "_integrity": "sha1-e0QCA+FYsLM4PuJYuwBm3hNOulk=", "_location": "/ioslib", - "_phantomChildren": { - "lodash": "4.17.4" - }, + "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "ioslib@1.4.8", + "raw": "ioslib@1.4.7", "name": "ioslib", "escapedName": "ioslib", - "rawSpec": "1.4.8", + "rawSpec": "1.4.7", "saveSpec": null, - "fetchSpec": "1.4.8" + "fetchSpec": "1.4.7" }, "_requiredBy": [ - "#USER", "/" ], - "_resolved": "https://registry.npmjs.org/ioslib/-/ioslib-1.4.8.tgz", - "_shasum": "07e1fe7589d93a34a75650d6f5a42831c1879f87", - "_spec": "ioslib@1.4.8", + "_resolved": "https://registry.npmjs.org/ioslib/-/ioslib-1.4.7.tgz", + "_shasum": "7b440203e158b0b3383ee258bb0066de134eba59", + "_spec": "ioslib@1.4.7", "_where": "/Users/chris/appc/titanium_mobile", "author": { "name": "Appcelerator, Inc.", @@ -88,5 +85,5 @@ "test-teams": "mocha --require test/init --reporter spec --check-leaks test/test-teams", "test-xcode": "mocha --require test/init --reporter spec --check-leaks test/test-xcode" }, - "version": "1.4.8" + "version": "1.4.7" } diff --git a/node_modules/node-titanium-sdk/node_modules/async/package.json b/node_modules/node-titanium-sdk/node_modules/async/package.json index b26a6840654..da29d5c2ef7 100644 --- a/node_modules/node-titanium-sdk/node_modules/async/package.json +++ b/node_modules/node-titanium-sdk/node_modules/async/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", "_shasum": "843190fd6b7357a0b9e1c956edddd5ec8462b54d", "_spec": "async@^2.4.1", - "_where": "C:\\Users\\gmathews\\github\\titanium_mobile\\node_modules\\node-titanium-sdk", + "_where": "/Users/chris/appc/titanium_mobile/node_modules/node-titanium-sdk", "author": { "name": "Caolan McMahon" }, diff --git a/node_modules/node-titanium-sdk/package.json b/node_modules/node-titanium-sdk/package.json index f3b9617b69a..d62fa79eb9f 100644 --- a/node_modules/node-titanium-sdk/package.json +++ b/node_modules/node-titanium-sdk/package.json @@ -44,7 +44,7 @@ "_resolved": "https://registry.npmjs.org/node-titanium-sdk/-/node-titanium-sdk-0.3.2.tgz", "_shasum": "a878a949f088c60f32f77ca12c12720563278c1d", "_spec": "node-titanium-sdk@0.3.2", - "_where": "C:\\Users\\gmathews\\github\\titanium_mobile", + "_where": "/Users/chris/appc/titanium_mobile", "author": { "name": "Appcelerator, Inc.", "email": "info@appcelerator.com" diff --git a/package.json b/package.json index 38398ce173e..263c11c94f9 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "markdown": "0.5.0", "moment": "2.18.1", "node-appc": "0.2.43", - "node-titanium-sdk": "0.3.2", + "node-titanium-sdk": "^0.3.2", "node-uuid": "1.4.8", "pngjs": "3.0.1", "request": "2.81.0",