JezK
Edit File: workspace-resolver.js
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; function _classCallCheck2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); _classCallCheck2 = function _classCallCheck2() { return data; }; return data; } function _createClass2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); _createClass2 = function _createClass2() { return data; }; return data; } function _assertThisInitialized2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); _assertThisInitialized2 = function _assertThisInitialized2() { return data; }; return data; } function _inherits2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); _inherits2 = function _inherits2() { return data; }; return data; } function _possibleConstructorReturn2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); _possibleConstructorReturn2 = function _possibleConstructorReturn2() { return data; }; return data; } function _getPrototypeOf2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); _getPrototypeOf2 = function _getPrototypeOf2() { return data; }; return data; } function _defineProperty2() { var data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); _defineProperty2 = function _defineProperty2() { return data; }; return data; } function _packageRequest() { var data = _interopRequireDefault(require("../../package-request.js")); _packageRequest = function _packageRequest() { return data; }; return data; } function _baseResolver() { var data = _interopRequireDefault(require("../base-resolver.js")); _baseResolver = function _baseResolver() { return data; }; return data; } function _workspaceLayout() { var data = _interopRequireDefault(require("../../workspace-layout.js")); _workspaceLayout = function _workspaceLayout() { return data; }; return data; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2()["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2()["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2()["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2()["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var invariant = require('invariant'); var WorkspaceResolver = /*#__PURE__*/function (_BaseResolver) { (0, _inherits2()["default"])(WorkspaceResolver, _BaseResolver); var _super = _createSuper(WorkspaceResolver); function WorkspaceResolver(request, fragment, workspaceLayout) { var _this; (0, _classCallCheck2()["default"])(this, WorkspaceResolver); _this = _super.call(this, request, fragment); (0, _defineProperty2()["default"])((0, _assertThisInitialized2()["default"])(_this), "workspaceLayout", void 0); _this.workspaceLayout = workspaceLayout; return _this; } (0, _createClass2()["default"])(WorkspaceResolver, [{ key: "resolve", value: function resolve(downloadedManifest) { var workspace = this.workspaceLayout.getManifestByPattern(this.request.pattern); invariant(workspace, 'expected workspace'); var manifest = workspace.manifest, loc = workspace.loc; if (manifest._remote && manifest._remote.registryRemote) { return Promise.resolve(manifest); //already downloaded } var registry = manifest._registry; invariant(registry, 'expected reference'); var hash = ''; var registryRemote; if (downloadedManifest && manifest.version === downloadedManifest.version) { registryRemote = downloadedManifest._remote; invariant(registryRemote, 'missing remote info'); hash = registryRemote.hash; //override any local changes to manifest Object.keys(manifest).forEach(function (k) { return k.startsWith('_') || delete manifest[k]; }); Object.assign(manifest, downloadedManifest); } else if (manifest._remote && manifest._remote.hash) { invariant(workspace.manifest._remote, 'missing remote info'); registryRemote = workspace.manifest._remote.registryRemote; hash = manifest._remote.hash; } if (registryRemote) { registryRemote = _objectSpread({}, registryRemote); } manifest._remote = Object.assign(manifest._remote || {}, { type: 'workspace', registryRemote: registryRemote, registry: registry, hash: hash, reference: loc }); manifest._uid = manifest.version; return Promise.resolve(manifest); } }], [{ key: "isWorkspace", value: function isWorkspace(pattern, workspaceLayout) { return !!workspaceLayout && !!workspaceLayout.getManifestByPattern(pattern); } }]); return WorkspaceResolver; }(_baseResolver()["default"]); exports["default"] = WorkspaceResolver; //# sourceMappingURL=workspace-resolver.js.map