diff --git a/CHANGELOG.md b/CHANGELOG.md index 75b8dff..6b5288c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +# [0.5.0](https://github.com/Pure-D/atom-ide-d/compare/v0.4.0...v0.5.0) (2021-07-19) + + +### Bug Fixes + +* build the package with Parcel - require Atom 1.52 and above ([1ca7344](https://github.com/Pure-D/atom-ide-d/commit/1ca73444d1de58c576d8e4f2429b204a275b4789)) +* lazy-load fs-extra and semver ([d722a35](https://github.com/Pure-D/atom-ide-d/commit/d722a354c10c2779f492cbb6d57ac2d9e869c264)) +* lazy-load package-deps ([60746f7](https://github.com/Pure-D/atom-ide-d/commit/60746f78e9f55b33f1e7c37f07a47c8957c2abab)) +* update atom-languageclient ([02a16b9](https://github.com/Pure-D/atom-ide-d/commit/02a16b9be2948fa0dece323c270eb451e157f4da)) + + +### Features + +* update the bundled serve-d and dcd ([2b312a8](https://github.com/Pure-D/atom-ide-d/commit/2b312a86835b032d60dfe628a1dc84651ab89cb8)) + # [0.4.0](https://github.com/Pure-D/atom-ide-d/compare/v0.3.0...v0.4.0) (2021-06-02) diff --git a/dist/atom-package-deps.7b276538.js b/dist/atom-package-deps.7b276538.js new file mode 100644 index 0000000..d8f00f6 --- /dev/null +++ b/dist/atom-package-deps.7b276538.js @@ -0,0 +1,700 @@ +var $bxJ0E$os = require("os"); +var $bxJ0E$child_process = require("child_process"); +var $bxJ0E$fs = require("fs"); +var $bxJ0E$path = require("path"); + +var $parcel$global = +typeof globalThis !== 'undefined' + ? globalThis + : typeof self !== 'undefined' + ? self + : typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var parcelRequire = $parcel$global["parcelRequireaf25"]; +parcelRequire.register("lLugl", function(module, exports) { +'use strict'; +Object.defineProperty(module.exports, '__esModule', { + value: true +}); + + + + +function $0416cc3b067b74fe$var$_interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : { + 'default': e + }; +} +var $0416cc3b067b74fe$var$os__default = /*#__PURE__*/ $0416cc3b067b74fe$var$_interopDefaultLegacy($bxJ0E$os); +var $0416cc3b067b74fe$var$fs__default = /*#__PURE__*/ $0416cc3b067b74fe$var$_interopDefaultLegacy($bxJ0E$fs); +var $0416cc3b067b74fe$var$path__default = /*#__PURE__*/ $0416cc3b067b74fe$var$_interopDefaultLegacy($bxJ0E$path); +var $0416cc3b067b74fe$var$indentString = (string, count = 1, options)=>{ + options = { + indent: ' ', + includeEmptyLines: false, + ...options + }; + if (typeof string !== 'string') throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof string}\``); + if (typeof count !== 'number') throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof count}\``); + if (typeof options.indent !== 'string') throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\``); + if (count === 0) return string; + const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; + return string.replace(regex, options.indent.repeat(count)); +}; +const $0416cc3b067b74fe$var$extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/; +const $0416cc3b067b74fe$var$pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/; +const $0416cc3b067b74fe$var$homeDir = typeof $0416cc3b067b74fe$var$os__default['default'].homedir === 'undefined' ? '' : $0416cc3b067b74fe$var$os__default['default'].homedir(); +var $0416cc3b067b74fe$var$cleanStack = (stack, options)=>{ + options = Object.assign({ + pretty: false + }, options); + return stack.replace(/\\/g, '/').split('\n').filter((line)=>{ + const pathMatches = line.match($0416cc3b067b74fe$var$extractPathRegex); + if (pathMatches === null || !pathMatches[1]) return true; + const match = pathMatches[1]; + // Electron + if (match.includes('.app/Contents/Resources/electron.asar') || match.includes('.app/Contents/Resources/default_app.asar')) return false; + return !$0416cc3b067b74fe$var$pathRegex.test(match); + }).filter((line)=>line.trim() !== '' + ).map((line)=>{ + if (options.pretty) return line.replace($0416cc3b067b74fe$var$extractPathRegex, (m, p1)=>m.replace(p1, p1.replace($0416cc3b067b74fe$var$homeDir, '~')) + ); + return line; + }).join('\n'); +}; +const $0416cc3b067b74fe$var$cleanInternalStack = (stack)=>stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, '') +; +class $0416cc3b067b74fe$var$AggregateError extends Error { + constructor(errors){ + if (!Array.isArray(errors)) throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); + errors = [ + ...errors + ].map((error)=>{ + if (error instanceof Error) return error; + if (error !== null && typeof error === 'object') // Handle plain error objects with message property and/or possibly other metadata + return Object.assign(new Error(error.message), error); + return new Error(error); + }); + let message = errors.map((error)=>{ + // The `stack` property is not standardized, so we can't assume it exists + return typeof error.stack === 'string' ? $0416cc3b067b74fe$var$cleanInternalStack($0416cc3b067b74fe$var$cleanStack(error.stack)) : String(error); + }).join('\n'); + message = '\n' + $0416cc3b067b74fe$var$indentString(message, 4); + super(message); + this.name = 'AggregateError'; + Object.defineProperty(this, '_errors', { + value: errors + }); + } + *[Symbol.iterator]() { + for (const error of this._errors)yield error; + } +} +var $0416cc3b067b74fe$var$aggregateError = $0416cc3b067b74fe$var$AggregateError; +var $0416cc3b067b74fe$var$pMap = async (iterable, mapper, { concurrency: concurrency = Infinity , stopOnError: stopOnError = true } = { +})=>{ + return new Promise((resolve, reject)=>{ + if (typeof mapper !== 'function') throw new TypeError('Mapper function is required'); + if (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`); + const result = []; + const errors1 = []; + const iterator = iterable[Symbol.iterator](); + let isRejected = false; + let isIterableDone = false; + let resolvingCount = 0; + let currentIndex = 0; + const next = ()=>{ + if (isRejected) return; + const nextItem = iterator.next(); + const index = currentIndex; + currentIndex++; + if (nextItem.done) { + isIterableDone = true; + if (resolvingCount === 0) { + if (!stopOnError && errors1.length !== 0) reject(new $0416cc3b067b74fe$var$aggregateError(errors1)); + else resolve(result); + } + return; + } + resolvingCount++; + (async ()=>{ + try { + const element = await nextItem.value; + result[index] = await mapper(element, index); + resolvingCount--; + next(); + } catch (error) { + if (stopOnError) { + isRejected = true; + reject(error); + } else { + errors1.push(error); + resolvingCount--; + next(); + } + } + })(); + }; + for(let i = 0; i < concurrency; i++){ + next(); + if (isIterableDone) break; + } + }); +}; +const $0416cc3b067b74fe$var$pMap$1 = (iterable, mapper, options)=>new Promise((resolve, reject)=>{ + options = Object.assign({ + concurrency: Infinity + }, options); + if (typeof mapper !== 'function') throw new TypeError('Mapper function is required'); + const { concurrency: concurrency } = options; + if (!(typeof concurrency === 'number' && concurrency >= 1)) throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`); + const ret = []; + const iterator = iterable[Symbol.iterator](); + let isRejected = false; + let isIterableDone = false; + let resolvingCount = 0; + let currentIndex = 0; + const next = ()=>{ + if (isRejected) return; + const nextItem = iterator.next(); + const i = currentIndex; + currentIndex++; + if (nextItem.done) { + isIterableDone = true; + if (resolvingCount === 0) resolve(ret); + return; + } + resolvingCount++; + Promise.resolve(nextItem.value).then((element)=>mapper(element, i) + ).then((value)=>{ + ret[i] = value; + resolvingCount--; + next(); + }, (error)=>{ + isRejected = true; + reject(error); + }); + }; + for(let i = 0; i < concurrency; i++){ + next(); + if (isIterableDone) break; + } + }) +; +var $0416cc3b067b74fe$var$pMap_1 = $0416cc3b067b74fe$var$pMap$1; +// TODO: Remove this for the next major release +var $0416cc3b067b74fe$var$_default = $0416cc3b067b74fe$var$pMap$1; +$0416cc3b067b74fe$var$pMap_1.default = $0416cc3b067b74fe$var$_default; +const $0416cc3b067b74fe$var$pFilter = async (iterable, filterer, options)=>{ + const values = await $0416cc3b067b74fe$var$pMap_1(iterable, (element, index)=>Promise.all([ + filterer(element, index), + element + ]) + , options); + return values.filter((value)=>Boolean(value[0]) + ).map((value)=>value[1] + ); +}; +var $0416cc3b067b74fe$var$pFilter_1 = $0416cc3b067b74fe$var$pFilter; +// TODO: Remove this for the next major release +var $0416cc3b067b74fe$var$_default$1 = $0416cc3b067b74fe$var$pFilter; +$0416cc3b067b74fe$var$pFilter_1.default = $0416cc3b067b74fe$var$_default$1; +const $0416cc3b067b74fe$var$IS_ATOM = typeof atom !== 'undefined'; +const $0416cc3b067b74fe$var$IS_DEV = typeof atom !== 'undefined' && (atom.inDevMode() || atom.inSpecMode()); +const $0416cc3b067b74fe$var$IGNORED_CONFIG_NAME = 'atom-package-deps.ignored'; +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ /** + * Module variables. + * @private + */ var $0416cc3b067b74fe$var$matchHtmlRegExp = /["'&<>]/; +/** + * Module exports. + * @public + */ var $0416cc3b067b74fe$var$escapeHtml_1 = $0416cc3b067b74fe$var$escapeHtml; +/** + * Escape special characters in the given string of html. + * + * @param {string} string The string to escape for inserting into HTML + * @return {string} + * @public + */ function $0416cc3b067b74fe$var$escapeHtml(string) { + var str = '' + string; + var match = $0416cc3b067b74fe$var$matchHtmlRegExp.exec(str); + if (!match) return str; + var escape; + var html = ''; + var index = 0; + var lastIndex = 0; + for(index = match.index; index < str.length; index++){ + switch(str.charCodeAt(index)){ + case 34: + escape = '"'; + break; + case 38: + escape = '&'; + break; + case 39: + escape = '''; + break; + case 60: + escape = '<'; + break; + case 62: + escape = '>'; + break; + default: + continue; + } + if (lastIndex !== index) html += str.substring(lastIndex, index); + lastIndex = index + 1; + html += escape; + } + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; +} +async function $0416cc3b067b74fe$var$spawnInternal(command, args, options) { + const spawnedProcess = $bxJ0E$child_process.spawn(command, args, options); + const promise = new Promise((resolve, reject)=>{ + const output = { + stdout: spawnedProcess.stdout ? [] : null, + stderr: spawnedProcess.stderr ? [] : null + }; + spawnedProcess.on('error', reject); + if (spawnedProcess.stdout) spawnedProcess.stdout.on('data', function(chunk) { + output.stdout.push(chunk); + if (options.handleStdout) options.handleStdout(chunk); + }); + if (spawnedProcess.stderr) spawnedProcess.stderr.on('data', function(chunk) { + output.stderr.push(chunk); + if (options.handleStderr) options.handleStderr(chunk); + }); + spawnedProcess.on('close', (code)=>{ + let outputStdout = null; + if (output.stdout != null) outputStdout = options.encoding === null || options.encoding === 'buffer' ? Buffer.concat(output.stdout) : output.stdout.join(''); + let outputStderr = null; + if (output.stderr != null) outputStderr = options.encoding === null || options.encoding === 'buffer' ? Buffer.concat(output.stderr) : output.stderr.join(''); + resolve({ + exitCode: code, + stdout: outputStdout, + stderr: outputStderr + }); + }); + }); + options.handleChildProcess(spawnedProcess); + return promise; +} +function $0416cc3b067b74fe$var$spawn(command, args, options) { + let spawnedProcess; + const promise = $0416cc3b067b74fe$var$spawnInternal(command, args, { + ...options, + handleChildProcess (_spawnedProcess) { + spawnedProcess = _spawnedProcess; + } + }); + promise.kill = function(signal) { + // TODO: kill all subprocesses on windows with wmic? + return spawnedProcess.kill(signal); + }; + return promise; +} +var $0416cc3b067b74fe$var$semverCompare = function cmp(a, b) { + var pa = a.split('.'); + var pb = b.split('.'); + for(var i = 0; i < 3; i++){ + var na = Number(pa[i]); + var nb = Number(pb[i]); + if (na > nb) return 1; + if (nb > na) return -1; + if (!isNaN(na) && isNaN(nb)) return 1; + if (isNaN(na) && !isNaN(nb)) return -1; + } + return 0; +}; +async function $0416cc3b067b74fe$var$getDependencies(packageName) { + const packageModule = atom.packages.getLoadedPackage(packageName); + const packageDependencies = packageModule && packageModule.metadata['package-deps']; + return Array.isArray(packageDependencies) ? packageDependencies : []; +} +async function $0416cc3b067b74fe$var$resolveDependencyPath(packageName) { + return atom.packages.resolvePackagePath(packageName); +} +async function $0416cc3b067b74fe$var$getInstalledDependencyVersion(dependency) { + var _packageModule$metada; + const packageModule = atom.packages.getLoadedPackage(dependency.name); + return packageModule == null ? null : (_packageModule$metada = packageModule.metadata.version) !== null && _packageModule$metada !== void 0 ? _packageModule$metada : null; +} +async function $0416cc3b067b74fe$var$getDependencies$1(packageName) { + let packageStats = null; + try { + packageStats = await $0416cc3b067b74fe$var$fs__default['default'].promises.stat(packageName); + } catch (_) { + } + if (packageStats == null || !packageStats.isDirectory()) throw new Error(`[Package-Deps] Expected packageName to be a readable directory in Node.js invocation`); + let parsed = null; + try { + const contents = await $0416cc3b067b74fe$var$fs__default['default'].promises.readFile($0416cc3b067b74fe$var$path__default['default'].join(packageName, 'package.json'), 'utf8'); + parsed = JSON.parse(contents); + } catch (_) { + } + const packageDependencies = parsed == null || typeof parsed !== 'object' ? [] : parsed['package-deps']; + return Array.isArray(packageDependencies) ? packageDependencies : []; +} +async function $0416cc3b067b74fe$var$resolveDependencyPath$1(packageName) { + var _process$env$ATOM_HOM; + const packageDirectory = $0416cc3b067b74fe$var$path__default['default'].join((_process$env$ATOM_HOM = process.env.ATOM_HOME) !== null && _process$env$ATOM_HOM !== void 0 ? _process$env$ATOM_HOM : $0416cc3b067b74fe$var$path__default['default'].join($0416cc3b067b74fe$var$os__default['default'].homedir(), '.atom'), 'packages', packageName); + try { + await $0416cc3b067b74fe$var$fs__default['default'].promises.access(packageDirectory, $0416cc3b067b74fe$var$fs__default['default'].constants.R_OK); + return packageDirectory; + } catch (_) { + return null; + } +} +async function $0416cc3b067b74fe$var$getInstalledDependencyVersion$1(dependency) { + var _manifest$version, _manifest; + const { directory: directory } = dependency; + if (directory == null) // Not possible to get version without resolved directory in Node.js version + return null; + let manifest = null; + try { + manifest = JSON.parse(await $0416cc3b067b74fe$var$fs__default['default'].promises.readFile($0416cc3b067b74fe$var$path__default['default'].join(directory, 'package.json'), 'utf8')); + } catch (_) { + return null; + } + return (_manifest$version = (_manifest = manifest) === null || _manifest === void 0 ? void 0 : _manifest.version) !== null && _manifest$version !== void 0 ? _manifest$version : null; +} +/** + * Internal helpers + */ async function $0416cc3b067b74fe$var$getInstalledDependencyVersion$2(dependency) { + if ($0416cc3b067b74fe$var$IS_ATOM) { + const atomPackageVersion = await $0416cc3b067b74fe$var$getInstalledDependencyVersion(dependency); + if (atomPackageVersion) return atomPackageVersion; + // If the package isn't activated, it won't be loaded, so fallback to reading manifest file instead + } + return $0416cc3b067b74fe$var$getInstalledDependencyVersion$1(dependency); +} +/** + * Exported helpers + */ const $0416cc3b067b74fe$var$resolveDependencyPath$2 = $0416cc3b067b74fe$var$IS_ATOM ? $0416cc3b067b74fe$var$resolveDependencyPath : $0416cc3b067b74fe$var$resolveDependencyPath$1; +function $0416cc3b067b74fe$var$invariant(condition, message1) { + if (!condition) throw new Error(message1 !== null && message1 !== void 0 ? message1 : 'Invariant violation'); +} +async function $0416cc3b067b74fe$var$getDependencies$2(name) { + const dependencies = await ($0416cc3b067b74fe$var$IS_ATOM ? $0416cc3b067b74fe$var$getDependencies(name) : $0416cc3b067b74fe$var$getDependencies$1(name)); + if ($0416cc3b067b74fe$var$IS_DEV) { + $0416cc3b067b74fe$var$invariant(Array.isArray(dependencies), `Dependencies for ${name} are not a valid array`); + dependencies.forEach((item, index)=>{ + if (Array.isArray(item)) { + item.forEach((subitem, subindex)=>{ + const invalidMessage = `Dependency#${index}#${subindex} for ${name} is invalid`; + $0416cc3b067b74fe$var$invariant(typeof subitem.name === 'string' && subitem.name.length > 0, invalidMessage); + $0416cc3b067b74fe$var$invariant(subitem.minimumVersion == null || typeof subitem.minimumVersion === 'string' && subitem.minimumVersion.length > 0, invalidMessage); + }); + $0416cc3b067b74fe$var$invariant(item.length > 0, `Dependency#${index} for ${name} has no group items`); + } else { + const invalidMessage = `Dependency#${index} for ${name} is invalid`; + $0416cc3b067b74fe$var$invariant(typeof item.name === 'string' && item.name.length > 0, invalidMessage); + $0416cc3b067b74fe$var$invariant(item.minimumVersion == null || typeof item.minimumVersion === 'string' && item.minimumVersion.length > 0, invalidMessage); + } + }); + } + return dependencies; +} +async function $0416cc3b067b74fe$var$shouldInstallDependency(dependency) { + if (dependency.directory == null) // Not installed, so install + return true; + if (dependency.minimumVersion == null) // Already installed and no version defined, so skip + return false; + const version = await $0416cc3b067b74fe$var$getInstalledDependencyVersion$2(dependency); + if (version == null) // Unable to get current version, so install + return true; + return $0416cc3b067b74fe$var$semverCompare(dependency.minimumVersion, version) === 1; +} +function $0416cc3b067b74fe$var$isPackageIgnored(name) { + var _atom$config$get; + if (!$0416cc3b067b74fe$var$IS_ATOM) // Never ignored in CLI + return false; + const ignoredPackages = (_atom$config$get = atom.config.get($0416cc3b067b74fe$var$IGNORED_CONFIG_NAME)) !== null && _atom$config$get !== void 0 ? _atom$config$get : []; + if (ignoredPackages.includes(name)) return true; + return false; +} +function $0416cc3b067b74fe$var$markPackageAsIgnored(name) { + var _atom$config$get2; + if (!$0416cc3b067b74fe$var$IS_ATOM) // No op in CLI + return; + const ignoredPackages = new Set((_atom$config$get2 = atom.config.get($0416cc3b067b74fe$var$IGNORED_CONFIG_NAME)) !== null && _atom$config$get2 !== void 0 ? _atom$config$get2 : []); + ignoredPackages.add(name); + atom.config.set($0416cc3b067b74fe$var$IGNORED_CONFIG_NAME, Array.from(ignoredPackages)); +} +const $0416cc3b067b74fe$var$INSTALL_VALID_TICKS = new Set([ + '✓', + 'done' +]); +const $0416cc3b067b74fe$var$INSTALL_VALIDATION_REGEXP = /(?:Installing|Moving) (.*?) to .* (.*)/; // Example success output: Uninstalling linter-ui-default ✓ +async function $0416cc3b067b74fe$var$installPackage(dependency) { + const apmPath = $0416cc3b067b74fe$var$IS_ATOM ? `"${atom.packages.getApmPath()}"` : 'apm'; + const { stdout: stdout , stderr: stderr } = await $0416cc3b067b74fe$var$spawn(apmPath, [ + 'install', + dependency.name, + '--production', + '--color', + 'false' + ], { + shell: true + }); + const match = $0416cc3b067b74fe$var$INSTALL_VALIDATION_REGEXP.exec(stdout.trim()); + if (match != null && $0416cc3b067b74fe$var$INSTALL_VALID_TICKS.has(match[2])) // Installation complete and verified + return; + const error = new Error(`Error installing dependency: ${dependency.name}`); + error.stack = stderr.trim(); + throw error; +} +async function $0416cc3b067b74fe$var$getResolvedDependency(item) { + // string entry + if (typeof item === 'string') return { + name: item, + directory: await $0416cc3b067b74fe$var$resolveDependencyPath$2(item) + }; + if ('name' in item) return { + ...item, + directory: await $0416cc3b067b74fe$var$resolveDependencyPath$2(item.name) + }; + console.error(`This package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`, { + entry: item + }); + throw Error(`The package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`); +} +let $0416cc3b067b74fe$var$showResetInstruction = true; +function $0416cc3b067b74fe$var$confirmPackagesToInstall({ packageName: packageName , dependencies: dependencies }) { + return new Promise((resolve)=>{ + const ungroupedDependencies = dependencies.filter((item)=>!Array.isArray(item) + ); + const groupedDependencies = dependencies.filter((item)=>Array.isArray(item) + ); + const skipGroups = groupedDependencies.length === 0; + const detail = skipGroups ? ungroupedDependencies.map((item)=>item.name + ).join(', ') : 'Something went wrong. Check your developer console'; + const groupChoices = groupedDependencies.map((item)=>item[0] + ); // If Atom "notifications" package is disabled output a warning in case no other notifications package is installed. + if (atom.packages.isPackageDisabled('notifications')) console.warn(`Enable notifications to install dependencies for ${packageName}`); + const notification = atom.notifications.addInfo(`${packageName} needs to install dependencies`, { + dismissable: true, + icon: 'cloud-download', + detail: detail, + description: `Install dependenc${dependencies.length === 1 ? 'y' : 'ies'}?`, + buttons: [ + { + text: 'Yes', + onDidClick: ()=>{ + if (skipGroups) resolve(ungroupedDependencies); + else resolve(ungroupedDependencies.concat(groupChoices)); + notification.dismiss(); + } + }, + { + text: 'No Thanks', + onDidClick: ()=>{ + notification.dismiss(); + } + }, + { + text: 'Never', + onDidClick: ()=>{ + $0416cc3b067b74fe$var$markPackageAsIgnored(packageName); + if ($0416cc3b067b74fe$var$showResetInstruction) { + $0416cc3b067b74fe$var$showResetInstruction = false; + atom.notifications.addInfo('How to reset package-deps memory', { + dismissable: true, + description: "To modify the list of ignored files invoke 'Application: Open Your Config' and change the 'atom-package-deps' section" + }); + } + notification.dismiss(); + } + } + ] + }); + notification.onDidDismiss(()=>resolve([]) + ); + if (skipGroups) return; + // Handle groups + try { + var _notificationView$ele; + const notificationView = atom.views.getView(notification); + const notificationElement = (_notificationView$ele = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele !== void 0 ? _notificationView$ele : null; + if (notificationElement == null) throw new Error('Unable to get notification element from view'); + const notificationContent = notificationElement.querySelector('.detail-content'); + if (notificationContent == null) throw new Error('Content detail container not found inside the notification'); + // Clear the contents and add some skel + notificationContent.innerHTML = ''; // Add list of ungroup dependencies to the top of the notification + if (ungroupedDependencies.length > 0) { + const ungroupedLine = document.createElement('div'); + ungroupedLine.innerHTML = `Packages without choices:
`; + notificationContent.appendChild(ungroupedLine); + } // Create a label line for groups + const groupLabelLine = document.createElement('div'); + groupLabelLine.innerHTML = `Packages with choices:`; + notificationContent.appendChild(groupLabelLine); // Create one line per group with a select inside + const groupedList = document.createElement('ul'); + groupedDependencies.forEach((item, index)=>{ + const listItem = document.createElement('li'); + const select = document.createElement('select'); + select.innerHTML = item.map((subitem)=>`` + ).join('\n'); + select.addEventListener('change', ()=>{ + // Change the selected value for this index for resolve to use + const subitem = item.find((entry)=>entry.name === select.value + ); + if (subitem != null) groupChoices[index] = subitem; + }); + listItem.style.marginTop = '5px'; + listItem.appendChild(select); + groupedList.appendChild(listItem); + }); + notificationContent.appendChild(groupedList); + } catch (err) { + console.error('[Package-Deps] Error during showing package choices to user', err); + } + }); +} +function $0416cc3b067b74fe$var$getView({ packageName: packageName , dependencies: dependencies }) { + const failed = []; + const notification = atom.notifications.addInfo(`Installing ${packageName} dependencies`, { + detail: `Installing ${dependencies.map((item)=>item.name + ).join(', ')}`, + dismissable: true + }); + const progress = document.createElement('progress'); + progress.max = dependencies.length; + progress.style.width = '100%'; + try { + var _notificationView$ele2; + const notificationView = atom.views.getView(notification); + const notificationElement = (_notificationView$ele2 = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele2 !== void 0 ? _notificationView$ele2 : null; + if (notificationElement == null) throw new Error('Unable to get notification element from view'); + const notificationContent = notificationElement.querySelector('.detail-content'); + if (notificationContent == null) throw new Error('Content detail container not found inside the notification'); + notificationContent.appendChild(progress); + } catch (err) { + console.error('[Package-Deps] Error during showing installation progress to user', err); + } + return { + handleFailure ({ dependency: dependency , error: error }) { + var _error$stack; + failed.push(dependency.name); + progress.value += 1; + console.error(`[Package-Deps] Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error); + }, + handleDependencyInstalled (dependency) { + progress.value += 1; + }, + handleComplete () { + notification.dismiss(); + if (failed.length > 0) atom.notifications.addWarning(`Failed to install ${packageName} dependencies`, { + detail: `These packages were not installed, check your console\nfor more info.\n${failed.join('\n')}`, + dismissable: true + }); + else atom.notifications.addSuccess(`Installed ${packageName} dependencies`, { + detail: `Installed ${dependencies.map((item)=>item.name + ).join(', ')}` + }); + Promise.all(dependencies.map((item)=>{ + if (!failed.includes(item.name)) return atom.packages.activatePackage(item.name); + return null; + })).catch((err)=>{ + console.error(`[Package-Deps] Error activating installed packages for ${packageName}`, err); + }); + } + }; +} +async function $0416cc3b067b74fe$var$confirmPackagesToInstall$1({ dependencies: dependencies }) { + // No user interaction on the CLI. Install the first (aka "default" choice) package + return dependencies.map((item)=>Array.isArray(item) ? item[0] : item + ); +} +function $0416cc3b067b74fe$var$getView$1({ dependencies: dependencies }) { + let failed = false; + console.log(`Installing dependencies:\n${dependencies.map((item)=>` - ${item.name}` + ).join('\n')}`); + return { + handleFailure ({ dependency: dependency , error: error }) { + var _error$stack; + failed = true; + console.error(`Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error); + }, + handleDependencyInstalled (dependency) { + console.log('Successfully installed', dependency.name); + }, + handleComplete () { + console.log('Installation complete'); + if (failed) // Fail the invocation + process.exitCode = 1; + } + }; +} +const $0416cc3b067b74fe$var$getView$2 = $0416cc3b067b74fe$var$IS_ATOM ? $0416cc3b067b74fe$var$getView : $0416cc3b067b74fe$var$getView$1; +const $0416cc3b067b74fe$var$confirmPackagesToInstall$2 = $0416cc3b067b74fe$var$IS_ATOM ? $0416cc3b067b74fe$var$confirmPackagesToInstall : $0416cc3b067b74fe$var$confirmPackagesToInstall$1; +async function $0416cc3b067b74fe$var$install(packageName, hideUserPrompt = false) { + $0416cc3b067b74fe$var$invariant(typeof packageName === 'string' && packageName.length > 0, '[Package-Deps] Package name is required'); + if ($0416cc3b067b74fe$var$isPackageIgnored(packageName)) // User ignored this package + return; + // Get list of relevant dependencies + const dependencies = await $0416cc3b067b74fe$var$getDependencies$2(packageName); + if (dependencies.length === 0) // Short-circuit + return; + // Resolve directories of relevant dependencies + const resolvedDependencies = await Promise.all(dependencies.map(async (item)=>{ + if (Array.isArray(item)) return Promise.all(item.map($0416cc3b067b74fe$var$getResolvedDependency)); + return $0416cc3b067b74fe$var$getResolvedDependency(item); + })); // Filter out already installed, in range dependencies + // If one dependency from a group is already installed, whole group is ignored + const dependenciesToInstall = await $0416cc3b067b74fe$var$pFilter_1(resolvedDependencies, async function(item) { + if (Array.isArray(item)) return (await Promise.all(item.map((subitem)=>$0416cc3b067b74fe$var$shouldInstallDependency(subitem) + ))).every(Boolean); + return $0416cc3b067b74fe$var$shouldInstallDependency(item); + }); + if (dependenciesToInstall.length === 0) // Short-circuit if all have been skipped + return; + let chosenDependencies; + if (!hideUserPrompt) chosenDependencies = await $0416cc3b067b74fe$var$confirmPackagesToInstall$2({ + packageName: packageName, + dependencies: dependenciesToInstall + }); + else // prompt-less installation + chosenDependencies = dependenciesToInstall.map((dep)=>{ + if (Array.isArray(dep)) return dep[0]; + return dep; + }); + if (chosenDependencies.length === 0) // Short-circuit if user interaction cancelled all + return; + const view = $0416cc3b067b74fe$var$getView$2({ + packageName: packageName, + dependencies: chosenDependencies + }); + await $0416cc3b067b74fe$var$pMap(chosenDependencies, async function(dependency) { + try { + await $0416cc3b067b74fe$var$installPackage(dependency); + view.handleDependencyInstalled(dependency); + } catch (err) { + view.handleFailure({ + dependency: dependency, + error: err + }); + } + }, { + concurrency: 2 + }); + view.handleComplete(); +} +module.exports.install = $0416cc3b067b74fe$var$install; + +}); + + +//# sourceMappingURL=atom-package-deps.7b276538.js.map diff --git a/dist/atom-package-deps.7b276538.js.map b/dist/atom-package-deps.7b276538.js.map new file mode 100644 index 0000000..bdee13b --- /dev/null +++ b/dist/atom-package-deps.7b276538.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["node_modules/atom-package-deps/lib/index.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar os = require('os');\nvar child_process = require('child_process');\nvar fs = require('fs');\nvar path = require('path');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar os__default = /*#__PURE__*/_interopDefaultLegacy(os);\nvar fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);\nvar path__default = /*#__PURE__*/_interopDefaultLegacy(path);\n\nvar indentString = (string, count = 1, options) => {\n\toptions = {\n\t\tindent: ' ',\n\t\tincludeEmptyLines: false,\n\t\t...options\n\t};\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (typeof options.indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof options.indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = options.includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, options.indent.repeat(count));\n};\n\nconst extractPathRegex = /\\s+at.*(?:\\(|\\s)(.*)\\)?/;\nconst pathRegex = /^(?:(?:(?:node|(?:internal\\/[\\w/]*|.*node_modules\\/(?:babel-polyfill|pirates)\\/.*)?\\w+)\\.js:\\d+:\\d+)|native)/;\nconst homeDir = typeof os__default['default'].homedir === 'undefined' ? '' : os__default['default'].homedir();\n\nvar cleanStack = (stack, options) => {\n\toptions = Object.assign({pretty: false}, options);\n\n\treturn stack.replace(/\\\\/g, '/')\n\t\t.split('\\n')\n\t\t.filter(line => {\n\t\t\tconst pathMatches = line.match(extractPathRegex);\n\t\t\tif (pathMatches === null || !pathMatches[1]) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst match = pathMatches[1];\n\n\t\t\t// Electron\n\t\t\tif (\n\t\t\t\tmatch.includes('.app/Contents/Resources/electron.asar') ||\n\t\t\t\tmatch.includes('.app/Contents/Resources/default_app.asar')\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !pathRegex.test(match);\n\t\t})\n\t\t.filter(line => line.trim() !== '')\n\t\t.map(line => {\n\t\t\tif (options.pretty) {\n\t\t\t\treturn line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, '~')));\n\t\t\t}\n\n\t\t\treturn line;\n\t\t})\n\t\t.join('\\n');\n};\n\nconst cleanInternalStack = stack => stack.replace(/\\s+at .*aggregate-error\\/index.js:\\d+:\\d+\\)?/g, '');\n\nclass AggregateError extends Error {\n\tconstructor(errors) {\n\t\tif (!Array.isArray(errors)) {\n\t\t\tthrow new TypeError(`Expected input to be an Array, got ${typeof errors}`);\n\t\t}\n\n\t\terrors = [...errors].map(error => {\n\t\t\tif (error instanceof Error) {\n\t\t\t\treturn error;\n\t\t\t}\n\n\t\t\tif (error !== null && typeof error === 'object') {\n\t\t\t\t// Handle plain error objects with message property and/or possibly other metadata\n\t\t\t\treturn Object.assign(new Error(error.message), error);\n\t\t\t}\n\n\t\t\treturn new Error(error);\n\t\t});\n\n\t\tlet message = errors\n\t\t\t.map(error => {\n\t\t\t\t// The `stack` property is not standardized, so we can't assume it exists\n\t\t\t\treturn typeof error.stack === 'string' ? cleanInternalStack(cleanStack(error.stack)) : String(error);\n\t\t\t})\n\t\t\t.join('\\n');\n\t\tmessage = '\\n' + indentString(message, 4);\n\t\tsuper(message);\n\n\t\tthis.name = 'AggregateError';\n\n\t\tObject.defineProperty(this, '_errors', {value: errors});\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const error of this._errors) {\n\t\t\tyield error;\n\t\t}\n\t}\n}\n\nvar aggregateError = AggregateError;\n\nvar pMap = async (\n\titerable,\n\tmapper,\n\t{\n\t\tconcurrency = Infinity,\n\t\tstopOnError = true\n\t} = {}\n) => {\n\treturn new Promise((resolve, reject) => {\n\t\tif (typeof mapper !== 'function') {\n\t\t\tthrow new TypeError('Mapper function is required');\n\t\t}\n\n\t\tif (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) {\n\t\t\tthrow new TypeError(`Expected \\`concurrency\\` to be an integer from 1 and up or \\`Infinity\\`, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t\t}\n\n\t\tconst result = [];\n\t\tconst errors = [];\n\t\tconst iterator = iterable[Symbol.iterator]();\n\t\tlet isRejected = false;\n\t\tlet isIterableDone = false;\n\t\tlet resolvingCount = 0;\n\t\tlet currentIndex = 0;\n\n\t\tconst next = () => {\n\t\t\tif (isRejected) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextItem = iterator.next();\n\t\t\tconst index = currentIndex;\n\t\t\tcurrentIndex++;\n\n\t\t\tif (nextItem.done) {\n\t\t\t\tisIterableDone = true;\n\n\t\t\t\tif (resolvingCount === 0) {\n\t\t\t\t\tif (!stopOnError && errors.length !== 0) {\n\t\t\t\t\t\treject(new aggregateError(errors));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(result);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolvingCount++;\n\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst element = await nextItem.value;\n\t\t\t\t\tresult[index] = await mapper(element, index);\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (stopOnError) {\n\t\t\t\t\t\tisRejected = true;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrors.push(error);\n\t\t\t\t\t\tresolvingCount--;\n\t\t\t\t\t\tnext();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t};\n\n\t\tfor (let i = 0; i < concurrency; i++) {\n\t\t\tnext();\n\n\t\t\tif (isIterableDone) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n};\n\nconst pMap$1 = (iterable, mapper, options) => new Promise((resolve, reject) => {\n\toptions = Object.assign({\n\t\tconcurrency: Infinity\n\t}, options);\n\n\tif (typeof mapper !== 'function') {\n\t\tthrow new TypeError('Mapper function is required');\n\t}\n\n\tconst {concurrency} = options;\n\n\tif (!(typeof concurrency === 'number' && concurrency >= 1)) {\n\t\tthrow new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${concurrency}\\` (${typeof concurrency})`);\n\t}\n\n\tconst ret = [];\n\tconst iterator = iterable[Symbol.iterator]();\n\tlet isRejected = false;\n\tlet isIterableDone = false;\n\tlet resolvingCount = 0;\n\tlet currentIndex = 0;\n\n\tconst next = () => {\n\t\tif (isRejected) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItem = iterator.next();\n\t\tconst i = currentIndex;\n\t\tcurrentIndex++;\n\n\t\tif (nextItem.done) {\n\t\t\tisIterableDone = true;\n\n\t\t\tif (resolvingCount === 0) {\n\t\t\t\tresolve(ret);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tresolvingCount++;\n\n\t\tPromise.resolve(nextItem.value)\n\t\t\t.then(element => mapper(element, i))\n\t\t\t.then(\n\t\t\t\tvalue => {\n\t\t\t\t\tret[i] = value;\n\t\t\t\t\tresolvingCount--;\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terror => {\n\t\t\t\t\tisRejected = true;\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t);\n\t};\n\n\tfor (let i = 0; i < concurrency; i++) {\n\t\tnext();\n\n\t\tif (isIterableDone) {\n\t\t\tbreak;\n\t\t}\n\t}\n});\n\nvar pMap_1 = pMap$1;\n// TODO: Remove this for the next major release\nvar _default = pMap$1;\npMap_1.default = _default;\n\nconst pFilter = async (iterable, filterer, options) => {\n\tconst values = await pMap_1(\n\t\titerable,\n\t\t(element, index) => Promise.all([filterer(element, index), element]),\n\t\toptions\n\t);\n\treturn values.filter(value => Boolean(value[0])).map(value => value[1]);\n};\n\nvar pFilter_1 = pFilter;\n// TODO: Remove this for the next major release\nvar _default$1 = pFilter;\npFilter_1.default = _default$1;\n\nconst IS_ATOM = typeof atom !== 'undefined';\nconst IS_DEV = typeof atom !== 'undefined' && (atom.inDevMode() || atom.inSpecMode());\nconst IGNORED_CONFIG_NAME = 'atom-package-deps.ignored';\n\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nvar escapeHtml_1 = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n\nasync function spawnInternal(command, args, options) {\n const spawnedProcess = child_process.spawn(command, args, options);\n const promise = new Promise((resolve, reject) => {\n const output = {\n stdout: spawnedProcess.stdout ? [] : null,\n stderr: spawnedProcess.stderr ? [] : null,\n };\n spawnedProcess.on('error', reject);\n if (spawnedProcess.stdout) {\n spawnedProcess.stdout.on('data', function (chunk) {\n output.stdout.push(chunk);\n if (options.handleStdout) {\n options.handleStdout(chunk);\n }\n });\n }\n if (spawnedProcess.stderr) {\n spawnedProcess.stderr.on('data', function (chunk) {\n output.stderr.push(chunk);\n if (options.handleStderr) {\n options.handleStderr(chunk);\n }\n });\n }\n spawnedProcess.on('close', code => {\n let outputStdout = null;\n if (output.stdout != null) {\n outputStdout =\n options.encoding === null || options.encoding === 'buffer'\n ? Buffer.concat(output.stdout)\n : output.stdout.join('');\n }\n let outputStderr = null;\n if (output.stderr != null) {\n outputStderr =\n options.encoding === null || options.encoding === 'buffer'\n ? Buffer.concat(output.stderr)\n : output.stderr.join('');\n }\n resolve({\n exitCode: code,\n stdout: outputStdout,\n stderr: outputStderr,\n });\n });\n });\n options.handleChildProcess(spawnedProcess);\n return promise;\n}\nfunction spawn(command, args, options) {\n let spawnedProcess;\n const promise = spawnInternal(command, args, {\n ...options,\n handleChildProcess(_spawnedProcess) {\n spawnedProcess = _spawnedProcess;\n },\n });\n promise.kill = function (signal) {\n // TODO: kill all subprocesses on windows with wmic?\n return spawnedProcess.kill(signal);\n };\n return promise;\n}\n\nvar semverCompare = function cmp (a, b) {\n var pa = a.split('.');\n var pb = b.split('.');\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n return 0;\n};\n\nasync function getDependencies(packageName) {\n const packageModule = atom.packages.getLoadedPackage(packageName);\n const packageDependencies = packageModule && packageModule.metadata['package-deps'];\n return Array.isArray(packageDependencies) ? packageDependencies : [];\n}\nasync function resolveDependencyPath(packageName) {\n return atom.packages.resolvePackagePath(packageName);\n}\nasync function getInstalledDependencyVersion(dependency) {\n var _packageModule$metada;\n\n const packageModule = atom.packages.getLoadedPackage(dependency.name);\n return packageModule == null ? null : (_packageModule$metada = packageModule.metadata.version) !== null && _packageModule$metada !== void 0 ? _packageModule$metada : null;\n}\n\nasync function getDependencies$1(packageName) {\n let packageStats = null;\n\n try {\n packageStats = await fs__default['default'].promises.stat(packageName);\n } catch (_) {// No Op\n }\n\n if (packageStats == null || !packageStats.isDirectory()) {\n throw new Error(`[Package-Deps] Expected packageName to be a readable directory in Node.js invocation`);\n }\n\n let parsed = null;\n\n try {\n const contents = await fs__default['default'].promises.readFile(path__default['default'].join(packageName, 'package.json'), 'utf8');\n parsed = JSON.parse(contents);\n } catch (_) {// Ignore JSON read errors and such\n }\n\n const packageDependencies = parsed == null || typeof parsed !== 'object' ? [] : parsed['package-deps'];\n return Array.isArray(packageDependencies) ? packageDependencies : [];\n}\nasync function resolveDependencyPath$1(packageName) {\n var _process$env$ATOM_HOM;\n\n const packageDirectory = path__default['default'].join((_process$env$ATOM_HOM = process.env.ATOM_HOME) !== null && _process$env$ATOM_HOM !== void 0 ? _process$env$ATOM_HOM : path__default['default'].join(os__default['default'].homedir(), '.atom'), 'packages', packageName);\n\n try {\n await fs__default['default'].promises.access(packageDirectory, fs__default['default'].constants.R_OK);\n return packageDirectory;\n } catch (_) {\n return null;\n }\n}\nasync function getInstalledDependencyVersion$1(dependency) {\n var _manifest$version, _manifest;\n\n const {\n directory\n } = dependency;\n\n if (directory == null) {\n // Not possible to get version without resolved directory in Node.js version\n return null;\n }\n\n let manifest = null;\n\n try {\n manifest = JSON.parse(await fs__default['default'].promises.readFile(path__default['default'].join(directory, 'package.json'), 'utf8'));\n } catch (_) {\n return null;\n }\n\n return (_manifest$version = (_manifest = manifest) === null || _manifest === void 0 ? void 0 : _manifest.version) !== null && _manifest$version !== void 0 ? _manifest$version : null;\n}\n\n/**\n * Internal helpers\n */\n\nasync function getInstalledDependencyVersion$2(dependency) {\n if (IS_ATOM) {\n const atomPackageVersion = await getInstalledDependencyVersion(dependency);\n\n if (atomPackageVersion) {\n return atomPackageVersion;\n } // If the package isn't activated, it won't be loaded, so fallback to reading manifest file instead\n\n }\n\n return getInstalledDependencyVersion$1(dependency);\n}\n/**\n * Exported helpers\n */\n\n\nconst resolveDependencyPath$2 = IS_ATOM ? resolveDependencyPath : resolveDependencyPath$1;\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(message !== null && message !== void 0 ? message : 'Invariant violation');\n }\n}\nasync function getDependencies$2(name) {\n const dependencies = await (IS_ATOM ? getDependencies(name) : getDependencies$1(name));\n\n if (IS_DEV) {\n invariant(Array.isArray(dependencies), `Dependencies for ${name} are not a valid array`);\n dependencies.forEach((item, index) => {\n if (Array.isArray(item)) {\n item.forEach((subitem, subindex) => {\n const invalidMessage = `Dependency#${index}#${subindex} for ${name} is invalid`;\n invariant(typeof subitem.name === 'string' && subitem.name.length > 0, invalidMessage);\n invariant(subitem.minimumVersion == null || typeof subitem.minimumVersion === 'string' && subitem.minimumVersion.length > 0, invalidMessage);\n });\n invariant(item.length > 0, `Dependency#${index} for ${name} has no group items`);\n } else {\n const invalidMessage = `Dependency#${index} for ${name} is invalid`;\n invariant(typeof item.name === 'string' && item.name.length > 0, invalidMessage);\n invariant(item.minimumVersion == null || typeof item.minimumVersion === 'string' && item.minimumVersion.length > 0, invalidMessage);\n }\n });\n }\n\n return dependencies;\n}\nasync function shouldInstallDependency(dependency) {\n if (dependency.directory == null) {\n // Not installed, so install\n return true;\n }\n\n if (dependency.minimumVersion == null) {\n // Already installed and no version defined, so skip\n return false;\n }\n\n const version = await getInstalledDependencyVersion$2(dependency);\n\n if (version == null) {\n // Unable to get current version, so install\n return true;\n }\n\n return semverCompare(dependency.minimumVersion, version) === 1;\n}\nfunction isPackageIgnored(name) {\n var _atom$config$get;\n\n if (!IS_ATOM) {\n // Never ignored in CLI\n return false;\n }\n\n const ignoredPackages = (_atom$config$get = atom.config.get(IGNORED_CONFIG_NAME)) !== null && _atom$config$get !== void 0 ? _atom$config$get : [];\n\n if (ignoredPackages.includes(name)) {\n return true;\n }\n\n return false;\n}\nfunction markPackageAsIgnored(name) {\n var _atom$config$get2;\n\n if (!IS_ATOM) {\n // No op in CLI\n return;\n }\n\n const ignoredPackages = new Set((_atom$config$get2 = atom.config.get(IGNORED_CONFIG_NAME)) !== null && _atom$config$get2 !== void 0 ? _atom$config$get2 : []);\n ignoredPackages.add(name);\n atom.config.set(IGNORED_CONFIG_NAME, Array.from(ignoredPackages));\n}\nconst INSTALL_VALID_TICKS = new Set(['✓', 'done']);\nconst INSTALL_VALIDATION_REGEXP = /(?:Installing|Moving) (.*?) to .* (.*)/; // Example success output: Uninstalling linter-ui-default ✓\n\nasync function installPackage(dependency) {\n const apmPath = IS_ATOM ? `\"${atom.packages.getApmPath()}\"` : 'apm';\n const {\n stdout,\n stderr\n } = await spawn(apmPath, ['install', dependency.name, '--production', '--color', 'false'], {\n shell: true\n });\n const match = INSTALL_VALIDATION_REGEXP.exec(stdout.trim());\n\n if (match != null && INSTALL_VALID_TICKS.has(match[2])) {\n // Installation complete and verified\n return;\n }\n\n const error = new Error(`Error installing dependency: ${dependency.name}`);\n error.stack = stderr.trim();\n throw error;\n}\nasync function getResolvedDependency(item) {\n // string entry\n if (typeof item === 'string') {\n return {\n name: item,\n directory: await resolveDependencyPath$2(item)\n };\n }\n\n if ('name' in item) {\n return { ...item,\n directory: await resolveDependencyPath$2(item.name)\n };\n }\n\n console.error(`This package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`, {\n entry: item\n });\n throw Error(`The package-deps entry is not valid. Please see https://github.com/steelbrain/package-deps#how-it-works`);\n}\n\nlet showResetInstruction = true;\nfunction confirmPackagesToInstall({\n packageName,\n dependencies\n}) {\n return new Promise(resolve => {\n const ungroupedDependencies = dependencies.filter(item => !Array.isArray(item));\n const groupedDependencies = dependencies.filter(item => Array.isArray(item));\n const skipGroups = groupedDependencies.length === 0;\n const detail = skipGroups ? ungroupedDependencies.map(item => item.name).join(', ') : 'Something went wrong. Check your developer console';\n const groupChoices = groupedDependencies.map(item => item[0]); // If Atom \"notifications\" package is disabled output a warning in case no other notifications package is installed.\n\n if (atom.packages.isPackageDisabled('notifications')) {\n console.warn(`Enable notifications to install dependencies for ${packageName}`);\n }\n\n const notification = atom.notifications.addInfo(`${packageName} needs to install dependencies`, {\n dismissable: true,\n icon: 'cloud-download',\n detail,\n description: `Install dependenc${dependencies.length === 1 ? 'y' : 'ies'}?`,\n buttons: [{\n text: 'Yes',\n onDidClick: () => {\n if (skipGroups) {\n resolve(ungroupedDependencies);\n } else {\n resolve(ungroupedDependencies.concat(groupChoices));\n }\n\n notification.dismiss();\n }\n }, {\n text: 'No Thanks',\n onDidClick: () => {\n notification.dismiss();\n }\n }, {\n text: 'Never',\n onDidClick: () => {\n markPackageAsIgnored(packageName);\n\n if (showResetInstruction) {\n showResetInstruction = false;\n atom.notifications.addInfo('How to reset package-deps memory', {\n dismissable: true,\n description: \"To modify the list of ignored files invoke 'Application: Open Your Config' and change the 'atom-package-deps' section\"\n });\n }\n\n notification.dismiss();\n }\n }]\n });\n notification.onDidDismiss(() => resolve([]));\n\n if (skipGroups) {\n return;\n } // Handle groups\n\n\n try {\n var _notificationView$ele;\n\n const notificationView = atom.views.getView(notification);\n const notificationElement = (_notificationView$ele = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele !== void 0 ? _notificationView$ele : null;\n\n if (notificationElement == null) {\n throw new Error('Unable to get notification element from view');\n }\n\n const notificationContent = notificationElement.querySelector('.detail-content');\n\n if (notificationContent == null) {\n throw new Error('Content detail container not found inside the notification');\n } // Clear the contents and add some skel\n\n\n notificationContent.innerHTML = ''; // Add list of ungroup dependencies to the top of the notification\n\n if (ungroupedDependencies.length > 0) {\n const ungroupedLine = document.createElement('div');\n ungroupedLine.innerHTML = `Packages without choices:
`;\n notificationContent.appendChild(ungroupedLine);\n } // Create a label line for groups\n\n\n const groupLabelLine = document.createElement('div');\n groupLabelLine.innerHTML = `Packages with choices:`;\n notificationContent.appendChild(groupLabelLine); // Create one line per group with a select inside\n\n const groupedList = document.createElement('ul');\n groupedDependencies.forEach((item, index) => {\n const listItem = document.createElement('li');\n const select = document.createElement('select');\n select.innerHTML = item.map(subitem => ``).join('\\n');\n select.addEventListener('change', () => {\n // Change the selected value for this index for resolve to use\n const subitem = item.find(entry => entry.name === select.value);\n\n if (subitem != null) {\n groupChoices[index] = subitem;\n }\n });\n listItem.style.marginTop = '5px';\n listItem.appendChild(select);\n groupedList.appendChild(listItem);\n });\n notificationContent.appendChild(groupedList);\n } catch (err) {\n console.error('[Package-Deps] Error during showing package choices to user', err);\n }\n });\n}\nfunction getView({\n packageName,\n dependencies\n}) {\n const failed = [];\n const notification = atom.notifications.addInfo(`Installing ${packageName} dependencies`, {\n detail: `Installing ${dependencies.map(item => item.name).join(', ')}`,\n dismissable: true\n });\n const progress = document.createElement('progress');\n progress.max = dependencies.length;\n progress.style.width = '100%';\n\n try {\n var _notificationView$ele2;\n\n const notificationView = atom.views.getView(notification);\n const notificationElement = (_notificationView$ele2 = notificationView === null || notificationView === void 0 ? void 0 : notificationView.element) !== null && _notificationView$ele2 !== void 0 ? _notificationView$ele2 : null;\n\n if (notificationElement == null) {\n throw new Error('Unable to get notification element from view');\n }\n\n const notificationContent = notificationElement.querySelector('.detail-content');\n\n if (notificationContent == null) {\n throw new Error('Content detail container not found inside the notification');\n }\n\n notificationContent.appendChild(progress);\n } catch (err) {\n console.error('[Package-Deps] Error during showing installation progress to user', err);\n }\n\n return {\n handleFailure({\n dependency,\n error\n }) {\n var _error$stack;\n\n failed.push(dependency.name);\n progress.value += 1;\n console.error(`[Package-Deps] Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error);\n },\n\n handleDependencyInstalled(dependency) {\n progress.value += 1;\n },\n\n handleComplete() {\n notification.dismiss();\n\n if (failed.length > 0) {\n atom.notifications.addWarning(`Failed to install ${packageName} dependencies`, {\n detail: `These packages were not installed, check your console\\nfor more info.\\n${failed.join('\\n')}`,\n dismissable: true\n });\n } else {\n atom.notifications.addSuccess(`Installed ${packageName} dependencies`, {\n detail: `Installed ${dependencies.map(item => item.name).join(', ')}`\n });\n }\n\n Promise.all(dependencies.map(item => {\n if (!failed.includes(item.name)) {\n return atom.packages.activatePackage(item.name);\n }\n\n return null;\n })).catch(err => {\n console.error(`[Package-Deps] Error activating installed packages for ${packageName}`, err);\n });\n }\n\n };\n}\n\nasync function confirmPackagesToInstall$1({\n dependencies\n}) {\n // No user interaction on the CLI. Install the first (aka \"default\" choice) package\n return dependencies.map(item => Array.isArray(item) ? item[0] : item);\n}\nfunction getView$1({\n dependencies\n}) {\n let failed = false;\n console.log(`Installing dependencies:\\n${dependencies.map(item => ` - ${item.name}`).join('\\n')}`);\n return {\n handleFailure({\n dependency,\n error\n }) {\n var _error$stack;\n\n failed = true;\n console.error(`Unable to install ${dependency.name}, Error:`, (_error$stack = error === null || error === void 0 ? void 0 : error.stack) !== null && _error$stack !== void 0 ? _error$stack : error);\n },\n\n handleDependencyInstalled(dependency) {\n console.log('Successfully installed', dependency.name);\n },\n\n handleComplete() {\n console.log('Installation complete');\n\n if (failed) {\n // Fail the invocation\n process.exitCode = 1;\n }\n }\n\n };\n}\n\nconst getView$2 = IS_ATOM ? getView : getView$1;\nconst confirmPackagesToInstall$2 = IS_ATOM ? confirmPackagesToInstall : confirmPackagesToInstall$1;\n\nasync function install(packageName, hideUserPrompt = false) {\n invariant(typeof packageName === 'string' && packageName.length > 0, '[Package-Deps] Package name is required');\n\n if (isPackageIgnored(packageName)) {\n // User ignored this package\n return;\n } // Get list of relevant dependencies\n\n\n const dependencies = await getDependencies$2(packageName);\n\n if (dependencies.length === 0) {\n // Short-circuit\n return;\n } // Resolve directories of relevant dependencies\n\n\n const resolvedDependencies = await Promise.all(dependencies.map(async item => {\n if (Array.isArray(item)) {\n return Promise.all(item.map(getResolvedDependency));\n }\n\n return getResolvedDependency(item);\n })); // Filter out already installed, in range dependencies\n // If one dependency from a group is already installed, whole group is ignored\n\n const dependenciesToInstall = await pFilter_1(resolvedDependencies, async function (item) {\n if (Array.isArray(item)) {\n return (await Promise.all(item.map(subitem => shouldInstallDependency(subitem)))).every(Boolean);\n }\n\n return shouldInstallDependency(item);\n });\n\n if (dependenciesToInstall.length === 0) {\n // Short-circuit if all have been skipped\n return;\n }\n\n let chosenDependencies;\n\n if (!hideUserPrompt) {\n chosenDependencies = await confirmPackagesToInstall$2({\n packageName,\n dependencies: dependenciesToInstall\n });\n } else {\n // prompt-less installation\n chosenDependencies = dependenciesToInstall.map(dep => {\n if (Array.isArray(dep)) {\n return dep[0];\n }\n\n return dep;\n });\n }\n\n if (chosenDependencies.length === 0) {\n // Short-circuit if user interaction cancelled all\n return;\n }\n\n const view = getView$2({\n packageName,\n dependencies: chosenDependencies\n });\n await pMap(chosenDependencies, async function (dependency) {\n try {\n await installPackage(dependency);\n view.handleDependencyInstalled(dependency);\n } catch (err) {\n view.handleFailure({\n dependency,\n error: err\n });\n }\n }, {\n concurrency: 2\n });\n view.handleComplete();\n}\n\nexports.install = install;\n"],"names":[],"version":3,"file":"atom-package-deps.7b276538.js.map"} \ No newline at end of file diff --git a/dist/compare.1b61c4a6.js b/dist/compare.1b61c4a6.js new file mode 100644 index 0000000..6dcca5b --- /dev/null +++ b/dist/compare.1b61c4a6.js @@ -0,0 +1,407 @@ +var $parcel$global = +typeof globalThis !== 'undefined' + ? globalThis + : typeof self !== 'undefined' + ? self + : typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var parcelRequire = $parcel$global["parcelRequireaf25"]; +parcelRequire.register("atHBZ", function(module, exports) { + +var $iF8hd = parcelRequire("iF8hd"); +const $7a0e712f6befb3cf$var$compare = (a, b, loose)=>new $iF8hd(a, loose).compare(new $iF8hd(b, loose)) +; +module.exports = $7a0e712f6befb3cf$var$compare; + +}); +parcelRequire.register("iF8hd", function(module, exports) { + +var $4wayy = parcelRequire("4wayy"); + +var $h06VS = parcelRequire("h06VS"); +var $d96279e9d25c83cb$require$MAX_LENGTH = $h06VS.MAX_LENGTH; +var $d96279e9d25c83cb$require$MAX_SAFE_INTEGER = $h06VS.MAX_SAFE_INTEGER; + +var $kqvfO = parcelRequire("kqvfO"); +var $d96279e9d25c83cb$require$re = $kqvfO.re; +var $d96279e9d25c83cb$require$t = $kqvfO.t; + +var $lOrTB = parcelRequire("lOrTB"); + +var $1tH2l = parcelRequire("1tH2l"); +var $d96279e9d25c83cb$require$compareIdentifiers = $1tH2l.compareIdentifiers; +class $d96279e9d25c83cb$var$SemVer { + constructor(version, options){ + options = $lOrTB(options); + if (version instanceof $d96279e9d25c83cb$var$SemVer) { + if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) return version; + else version = version.version; + } else if (typeof version !== 'string') throw new TypeError(`Invalid Version: ${version}`); + if (version.length > $d96279e9d25c83cb$require$MAX_LENGTH) throw new TypeError(`version is longer than ${$d96279e9d25c83cb$require$MAX_LENGTH} characters`); + $4wayy('SemVer', version, options); + this.options = options; + this.loose = !!options.loose; + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease; + const m = version.trim().match(options.loose ? $d96279e9d25c83cb$require$re[$d96279e9d25c83cb$require$t.LOOSE] : $d96279e9d25c83cb$require$re[$d96279e9d25c83cb$require$t.FULL]); + if (!m) throw new TypeError(`Invalid Version: ${version}`); + this.raw = version; + // these are actually numbers + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + if (this.major > $d96279e9d25c83cb$require$MAX_SAFE_INTEGER || this.major < 0) throw new TypeError('Invalid major version'); + if (this.minor > $d96279e9d25c83cb$require$MAX_SAFE_INTEGER || this.minor < 0) throw new TypeError('Invalid minor version'); + if (this.patch > $d96279e9d25c83cb$require$MAX_SAFE_INTEGER || this.patch < 0) throw new TypeError('Invalid patch version'); + // numberify any prerelease numeric ids + if (!m[4]) this.prerelease = []; + else this.prerelease = m[4].split('.').map((id)=>{ + if (/^[0-9]+$/.test(id)) { + const num = +id; + if (num >= 0 && num < $d96279e9d25c83cb$require$MAX_SAFE_INTEGER) return num; + } + return id; + }); + this.build = m[5] ? m[5].split('.') : []; + this.format(); + } + format() { + this.version = `${this.major}.${this.minor}.${this.patch}`; + if (this.prerelease.length) this.version += `-${this.prerelease.join('.')}`; + return this.version; + } + toString() { + return this.version; + } + compare(other) { + $4wayy('SemVer.compare', this.version, this.options, other); + if (!(other instanceof $d96279e9d25c83cb$var$SemVer)) { + if (typeof other === 'string' && other === this.version) return 0; + other = new $d96279e9d25c83cb$var$SemVer(other, this.options); + } + if (other.version === this.version) return 0; + return this.compareMain(other) || this.comparePre(other); + } + compareMain(other) { + if (!(other instanceof $d96279e9d25c83cb$var$SemVer)) other = new $d96279e9d25c83cb$var$SemVer(other, this.options); + return $d96279e9d25c83cb$require$compareIdentifiers(this.major, other.major) || $d96279e9d25c83cb$require$compareIdentifiers(this.minor, other.minor) || $d96279e9d25c83cb$require$compareIdentifiers(this.patch, other.patch); + } + comparePre(other) { + if (!(other instanceof $d96279e9d25c83cb$var$SemVer)) other = new $d96279e9d25c83cb$var$SemVer(other, this.options); + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) return -1; + else if (!this.prerelease.length && other.prerelease.length) return 1; + else if (!this.prerelease.length && !other.prerelease.length) return 0; + let i = 0; + do { + const a = this.prerelease[i]; + const b = other.prerelease[i]; + $4wayy('prerelease compare', i, a, b); + if (a === undefined && b === undefined) return 0; + else if (b === undefined) return 1; + else if (a === undefined) return -1; + else if (a === b) continue; + else return $d96279e9d25c83cb$require$compareIdentifiers(a, b); + }while (++i) + } + compareBuild(other) { + if (!(other instanceof $d96279e9d25c83cb$var$SemVer)) other = new $d96279e9d25c83cb$var$SemVer(other, this.options); + let i = 0; + do { + const a = this.build[i]; + const b = other.build[i]; + $4wayy('prerelease compare', i, a, b); + if (a === undefined && b === undefined) return 0; + else if (b === undefined) return 1; + else if (a === undefined) return -1; + else if (a === b) continue; + else return $d96279e9d25c83cb$require$compareIdentifiers(a, b); + }while (++i) + } + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc(release, identifier) { + switch(release){ + case 'premajor': + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc('pre', identifier); + break; + case 'preminor': + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc('pre', identifier); + break; + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0; + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) this.inc('patch', identifier); + this.inc('pre', identifier); + break; + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) this.major++; + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) this.minor++; + this.patch = 0; + this.prerelease = []; + break; + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) this.patch++; + this.prerelease = []; + break; + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) this.prerelease = [ + 0 + ]; + else { + let i = this.prerelease.length; + while((--i) >= 0)if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++; + i = -2; + } + if (i === -1) // didn't increment anything + this.prerelease.push(0); + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) this.prerelease = [ + identifier, + 0 + ]; + } else this.prerelease = [ + identifier, + 0 + ]; + } + break; + default: + throw new Error(`invalid increment argument: ${release}`); + } + this.format(); + this.raw = this.version; + return this; + } +} +module.exports = $d96279e9d25c83cb$var$SemVer; + +}); +parcelRequire.register("4wayy", function(module, exports) { +const $34a256de890f0069$var$debug = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args)=>console.error('SEMVER', ...args) + : ()=>{ +}; +module.exports = $34a256de890f0069$var$debug; + +}); + +parcelRequire.register("h06VS", function(module, exports) { +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const $c607d06a94bd88a6$var$SEMVER_SPEC_VERSION = '2.0.0'; +const $c607d06a94bd88a6$var$MAX_LENGTH = 256; +const $c607d06a94bd88a6$var$MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ 9007199254740991; +// Max safe segment length for coercion. +const $c607d06a94bd88a6$var$MAX_SAFE_COMPONENT_LENGTH = 16; +module.exports = { + SEMVER_SPEC_VERSION: $c607d06a94bd88a6$var$SEMVER_SPEC_VERSION, + MAX_LENGTH: $c607d06a94bd88a6$var$MAX_LENGTH, + MAX_SAFE_INTEGER: $c607d06a94bd88a6$var$MAX_SAFE_INTEGER, + MAX_SAFE_COMPONENT_LENGTH: $c607d06a94bd88a6$var$MAX_SAFE_COMPONENT_LENGTH +}; + +}); + +parcelRequire.register("kqvfO", function(module, exports) { + +var $h06VS = parcelRequire("h06VS"); +var $edee7abef69a2797$require$MAX_SAFE_COMPONENT_LENGTH = $h06VS.MAX_SAFE_COMPONENT_LENGTH; + +var $4wayy = parcelRequire("4wayy"); +exports = module.exports = { +}; +// The actual regexps go on exports.re +const re = exports.re = []; +const src = exports.src = []; +const t = exports.t = { +}; +let R = 0; +const createToken = (name, value, isGlobal)=>{ + const index = R++; + $4wayy(index, value); + t[name] = index; + src[index] = value; + re[index] = new RegExp(value, isGlobal ? 'g' : undefined); +}; +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*'); +createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. +createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*'); +// ## Main Version +// Three dot-separated numeric identifiers. +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`); +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`); +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. +createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. +createToken('FULLPLAIN', `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); +createToken('FULL', `^${src[t.FULLPLAIN]}$`); +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`); +createToken('GTLT', '((?:<|>)?=?)'); +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`); +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`); +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCE', `${"(^|[^\\d])(\\d{1,"}${$edee7abef69a2797$require$MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${$edee7abef69a2797$require$MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${$edee7abef69a2797$require$MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:$|[^\\d])`); +createToken('COERCERTL', src[t.COERCE], true); +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)'); +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true); +exports.tildeTrimReplace = '$1~'; +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)'); +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true); +exports.caretTrimReplace = '$1^'; +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); +exports.comparatorTrimReplace = '$1$2$3'; +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`); +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`); +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*'); +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$'); +createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$'); + +}); + +parcelRequire.register("lOrTB", function(module, exports) { +// parse out just the options we care about so we always get a consistent +// obj with keys in a consistent order. +const $fe13e80942fc0071$var$opts = [ + 'includePrerelease', + 'loose', + 'rtl' +]; +const $fe13e80942fc0071$var$parseOptions = (options)=>!options ? { + } : typeof options !== 'object' ? { + loose: true + } : $fe13e80942fc0071$var$opts.filter((k)=>options[k] + ).reduce((options1, k)=>{ + options1[k] = true; + return options1; + }, { + }) +; +module.exports = $fe13e80942fc0071$var$parseOptions; + +}); + +parcelRequire.register("1tH2l", function(module, exports) { +const $1139e21768676268$var$numeric = /^[0-9]+$/; +const $1139e21768676268$var$compareIdentifiers = (a, b)=>{ + const anum = $1139e21768676268$var$numeric.test(a); + const bnum = $1139e21768676268$var$numeric.test(b); + if (anum && bnum) { + a = +a; + b = +b; + } + return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; +}; +const $1139e21768676268$var$rcompareIdentifiers = (a, b)=>$1139e21768676268$var$compareIdentifiers(b, a) +; +module.exports = { + compareIdentifiers: $1139e21768676268$var$compareIdentifiers, + rcompareIdentifiers: $1139e21768676268$var$rcompareIdentifiers +}; + +}); + + + + +//# sourceMappingURL=compare.1b61c4a6.js.map diff --git a/dist/compare.1b61c4a6.js.map b/dist/compare.1b61c4a6.js.map new file mode 100644 index 0000000..84d43be --- /dev/null +++ b/dist/compare.1b61c4a6.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["node_modules/semver/functions/compare.js","node_modules/semver/classes/semver.js","node_modules/semver/internal/debug.js","node_modules/semver/internal/constants.js","node_modules/semver/internal/re.js","node_modules/semver/internal/parse-options.js","node_modules/semver/internal/identifiers.js"],"sourcesContent":["const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n"],"names":[],"version":3,"file":"compare.1b61c4a6.js.map"} \ No newline at end of file diff --git a/dist/darwin-x64/GNUSparseFile.0/dcd-client b/dist/darwin-x64/GNUSparseFile.0/dcd-client deleted file mode 100755 index b2b2fdc..0000000 Binary files a/dist/darwin-x64/GNUSparseFile.0/dcd-client and /dev/null differ diff --git a/dist/darwin-x64/GNUSparseFile.0/dcd-server b/dist/darwin-x64/GNUSparseFile.0/dcd-server deleted file mode 100755 index 95d6ab4..0000000 Binary files a/dist/darwin-x64/GNUSparseFile.0/dcd-server and /dev/null differ diff --git a/dist/darwin-x64/dcd-client b/dist/darwin-x64/dcd-client new file mode 100755 index 0000000..acc641d Binary files /dev/null and b/dist/darwin-x64/dcd-client differ diff --git a/dist/darwin-x64/dcd-server b/dist/darwin-x64/dcd-server new file mode 100755 index 0000000..4a656b9 Binary files /dev/null and b/dist/darwin-x64/dcd-server differ diff --git a/dist/darwin-x64/serve-d b/dist/darwin-x64/serve-d index 19a99aa..22e00a4 100755 Binary files a/dist/darwin-x64/serve-d and b/dist/darwin-x64/serve-d differ diff --git a/dist/ide-d.d.ts b/dist/ide-d.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/dist/ide-d.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/ide-d.js b/dist/ide-d.js index b30d6af..45b6dd9 100644 --- a/dist/ide-d.js +++ b/dist/ide-d.js @@ -1,36 +1,75 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; +var $aa30k$atomlanguageclient = require("atom-languageclient"); + +var $parcel$global = +typeof globalThis !== 'undefined' + ? globalThis + : typeof self !== 'undefined' + ? self + : typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var $parcel$modules = {}; +var $parcel$inits = {}; + +var parcelRequire = $parcel$global["parcelRequireaf25"]; +if (parcelRequire == null) { + parcelRequire = function(id) { + if (id in $parcel$modules) { + return $parcel$modules[id].exports; + } + if (id in $parcel$inits) { + let init = $parcel$inits[id]; + delete $parcel$inits[id]; + let module = {id: id, exports: {}}; + $parcel$modules[id] = module; + init.call(module.exports, module, module.exports); + return module.exports; + } + var err = new Error("Cannot find module '" + id + "'"); + err.code = 'MODULE_NOT_FOUND'; + throw err; + }; + + parcelRequire.register = function register(id, init) { + $parcel$inits[id] = init; + }; + + $parcel$global["parcelRequireaf25"] = parcelRequire; +} + +parcelRequire.register("a8LAl", function(module, exports) { +module.exports = Promise.resolve(require("./atom-package-deps.7b276538.js")).then(()=>parcelRequire('lLugl') +); + +}); + + +parcelRequire.register("4lHpq", function(module, exports) { +module.exports = Promise.resolve(require("./installation.6c1a001e.js")).then(()=>parcelRequire('k0amS') +); + }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const atom_languageclient_1 = require("atom-languageclient"); -class DLanguageClient extends atom_languageclient_1.AutoLanguageClient { - activate() { + + +class $ac7603b3a1549a05$var$DLanguageClient extends $aa30k$atomlanguageclient.AutoLanguageClient { + async activate() { super.activate(); if (!atom.packages.isPackageLoaded("atom-ide-base")) { - require("atom-package-deps").install("ide-d", true); + // install if not installed + // eslint-disable-next-line @typescript-eslint/no-var-requires + await (await (parcelRequire("a8LAl"))).install("ide-d", true); + // enable if disabled atom.packages.enablePackage("atom-ide-base"); atom.notifications.addSuccess("ide-d: atom-ide-base was installed and enabled..."); } } - getGrammarScopes() { - return ["source.d", "D"]; + /* eslint-disable class-methods-use-this */ getGrammarScopes() { + return [ + "source.d", + "D" + ]; } getLanguageName() { return "D"; @@ -41,14 +80,20 @@ class DLanguageClient extends atom_languageclient_1.AutoLanguageClient { getConnectionType() { return "stdio"; } - async startServerProcess(projectPath) { - const { installServeD } = await Promise.resolve().then(() => __importStar(require("./installation"))); + /* eslint-enable class-methods-use-this */ async startServerProcess(projectPath) { + // import only when a D file is opened. + const { installServeD: installServeD } = await (parcelRequire("4lHpq")); const serveDPath = await installServeD(); - const serveD = super.spawn(serveDPath, ["--require", "workspaces"], { - cwd: projectPath, + const serveD = super.spawn(serveDPath, [ + "--require", + "workspaces" + ], { + cwd: projectPath }); return serveD; } } -module.exports = new DLanguageClient(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlLWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRlLWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQXdEO0FBRXhELE1BQU0sZUFBZ0IsU0FBUSx3Q0FBa0I7SUFDOUMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFHbkQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUVuRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQTtZQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxtREFBbUQsQ0FBQyxDQUFBO1NBQ25GO0lBQ0gsQ0FBQztJQUdELGdCQUFnQjtRQUNkLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUNELGVBQWU7UUFDYixPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7SUFDRCxhQUFhO1FBQ1gsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFHRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBbUI7UUFFMUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLHdEQUFhLGdCQUFnQixHQUFDLENBQUE7UUFFeEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxhQUFhLEVBQUUsQ0FBQTtRQUV4QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRTtZQUNsRSxHQUFHLEVBQUUsV0FBVztTQUNqQixDQUFDLENBQUE7UUFFRixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dG9MYW5ndWFnZUNsaWVudCB9IGZyb20gXCJhdG9tLWxhbmd1YWdlY2xpZW50XCJcblxuY2xhc3MgRExhbmd1YWdlQ2xpZW50IGV4dGVuZHMgQXV0b0xhbmd1YWdlQ2xpZW50IHtcbiAgYWN0aXZhdGUoKSB7XG4gICAgc3VwZXIuYWN0aXZhdGUoKVxuICAgIGlmICghYXRvbS5wYWNrYWdlcy5pc1BhY2thZ2VMb2FkZWQoXCJhdG9tLWlkZS1iYXNlXCIpKSB7XG4gICAgICAvLyBpbnN0YWxsIGlmIG5vdCBpbnN0YWxsZWRcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgICByZXF1aXJlKFwiYXRvbS1wYWNrYWdlLWRlcHNcIikuaW5zdGFsbChcImlkZS1kXCIsIHRydWUpXG4gICAgICAvLyBlbmFibGUgaWYgZGlzYWJsZWRcbiAgICAgIGF0b20ucGFja2FnZXMuZW5hYmxlUGFja2FnZShcImF0b20taWRlLWJhc2VcIilcbiAgICAgIGF0b20ubm90aWZpY2F0aW9ucy5hZGRTdWNjZXNzKFwiaWRlLWQ6IGF0b20taWRlLWJhc2Ugd2FzIGluc3RhbGxlZCBhbmQgZW5hYmxlZC4uLlwiKVxuICAgIH1cbiAgfVxuXG4gIC8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cbiAgZ2V0R3JhbW1hclNjb3BlcygpIHtcbiAgICByZXR1cm4gW1wic291cmNlLmRcIiwgXCJEXCJdXG4gIH1cbiAgZ2V0TGFuZ3VhZ2VOYW1lKCkge1xuICAgIHJldHVybiBcIkRcIlxuICB9XG4gIGdldFNlcnZlck5hbWUoKSB7XG4gICAgcmV0dXJuIFwic2VydmUtZFwiXG4gIH1cblxuICBnZXRDb25uZWN0aW9uVHlwZSgpOiBcInN0ZGlvXCIge1xuICAgIHJldHVybiBcInN0ZGlvXCJcbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cblxuICBhc3luYyBzdGFydFNlcnZlclByb2Nlc3MocHJvamVjdFBhdGg6IHN0cmluZykge1xuICAgIC8vIGltcG9ydCBvbmx5IHdoZW4gYSBEIGZpbGUgaXMgb3BlbmVkLlxuICAgIGNvbnN0IHsgaW5zdGFsbFNlcnZlRCB9ID0gYXdhaXQgaW1wb3J0KFwiLi9pbnN0YWxsYXRpb25cIilcblxuICAgIGNvbnN0IHNlcnZlRFBhdGggPSBhd2FpdCBpbnN0YWxsU2VydmVEKClcblxuICAgIGNvbnN0IHNlcnZlRCA9IHN1cGVyLnNwYXduKHNlcnZlRFBhdGgsIFtcIi0tcmVxdWlyZVwiLCBcIndvcmtzcGFjZXNcIl0sIHtcbiAgICAgIGN3ZDogcHJvamVjdFBhdGgsXG4gICAgfSlcblxuICAgIHJldHVybiBzZXJ2ZURcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG5ldyBETGFuZ3VhZ2VDbGllbnQoKVxuIl19 \ No newline at end of file +module.exports = new $ac7603b3a1549a05$var$DLanguageClient(); + + +//# sourceMappingURL=ide-d.js.map diff --git a/dist/ide-d.js.map b/dist/ide-d.js.map new file mode 100644 index 0000000..071cc0e --- /dev/null +++ b/dist/ide-d.js.map @@ -0,0 +1 @@ +{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,cAAc,GAAI,OAAO,CAAC,OAAO,UAAqB,gDAAuD,IAAI,IAAI,KAAO,aAAa,EAAC,KAAO;;;;;;;ACAjJ,cAAc,GAAI,OAAO,CAAC,OAAO,UAAqB,2CAAkD,IAAI,IAAI,KAAO,aAAa,EAAC,KAAO;;;;;;MFEtI,qCAAe,SAAS,4CAAkB;UACxC,QAAQ,GAAG,CAAC;QAChB,KAAK,CAAC,QAAQ;QACd,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAC,aAAe,IAAG,CAAC;YACpD,EAA2B,AAA3B,yBAA2B;YAC3B,EAA8D,AAA9D,4DAA8D;yBACjD,wBAA2B,EAAE,OAAO,EAAC,KAAO,GAAE,IAAI;YAC/D,EAAqB,AAArB,mBAAqB;YACrB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAC,aAAe;YAC3C,IAAI,CAAC,aAAa,CAAC,UAAU,EAAC,iDAAmD;QACnF,CAAC;IACH,CAAC;IAED,EAA2C,AAA3C,uCAA2C,AAA3C,EAA2C,CAC3C,gBAAgB,GAAG,CAAC;;aACV,QAAU;aAAE,CAAG;;IACzB,CAAC;IACD,eAAe,GAAG,CAAC;gBACV,CAAG;IACZ,CAAC;IACD,aAAa,GAAG,CAAC;gBACR,OAAS;IAClB,CAAC;IAED,iBAAiB,GAAY,CAAC;gBACrB,KAAO;IAChB,CAAC;IACD,EAA0C,AAA1C,sCAA0C,AAA1C,EAA0C,OAEpC,kBAAkB,CAAC,WAAmB,EAAE,CAAC;QAC7C,EAAuC,AAAvC,qCAAuC;QACvC,KAAK,kBAAG,aAAa,YAAW,wBAAwB;QAExD,KAAK,CAAC,UAAU,SAAS,aAAa;QAEtC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU;aAAG,SAAW;aAAE,UAAY;;YAC/D,GAAG,EAAE,WAAW;;eAGX,MAAM;IACf,CAAC;;AAGH,cAAc,GAAG,GAAG,CAAC,qCAAe","sources":["src/ide-d.ts","node_modules/@parcel/runtime-js/lib/runtime-757437068710879e.js","node_modules/@parcel/runtime-js/lib/runtime-f9e853773e43e8f4.js"],"sourcesContent":["import { AutoLanguageClient } from \"atom-languageclient\"\n\nclass DLanguageClient extends AutoLanguageClient {\n async activate() {\n super.activate()\n if (!atom.packages.isPackageLoaded(\"atom-ide-base\")) {\n // install if not installed\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n await (await import(\"atom-package-deps\")).install(\"ide-d\", true)\n // enable if disabled\n atom.packages.enablePackage(\"atom-ide-base\")\n atom.notifications.addSuccess(\"ide-d: atom-ide-base was installed and enabled...\")\n }\n }\n\n /* eslint-disable class-methods-use-this */\n getGrammarScopes() {\n return [\"source.d\", \"D\"]\n }\n getLanguageName() {\n return \"D\"\n }\n getServerName() {\n return \"serve-d\"\n }\n\n getConnectionType(): \"stdio\" {\n return \"stdio\"\n }\n /* eslint-enable class-methods-use-this */\n\n async startServerProcess(projectPath: string) {\n // import only when a D file is opened.\n const { installServeD } = await import(\"./installation\")\n\n const serveDPath = await installServeD()\n\n const serveD = super.spawn(serveDPath, [\"--require\", \"workspaces\"], {\n cwd: projectPath,\n })\n\n return serveD\n }\n}\n\nmodule.exports = new DLanguageClient()\n","module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"atom-package-deps.7b276538.js\"))).then(() => parcelRequire('lLugl'));","module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"installation.6c1a001e.js\"))).then(() => parcelRequire('k0amS'));"],"names":[],"version":3,"file":"ide-d.js.map"} \ No newline at end of file diff --git a/dist/installation.6c1a001e.js b/dist/installation.6c1a001e.js new file mode 100644 index 0000000..5becbbd --- /dev/null +++ b/dist/installation.6c1a001e.js @@ -0,0 +1,2717 @@ +var $h8yOX$path = require("path"); +var $h8yOX$child_process = require("child_process"); +var $h8yOX$util = require("util"); +var $h8yOX$fs = require("fs"); +var $h8yOX$assert = require("assert"); +var $h8yOX$constants = require("constants"); +var $h8yOX$stream = require("stream"); + +function $parcel$export(e, n, v, s) { + Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); +} +var $parcel$global = +typeof globalThis !== 'undefined' + ? globalThis + : typeof self !== 'undefined' + ? self + : typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : {}; +var parcelRequire = $parcel$global["parcelRequireaf25"]; +parcelRequire.register("k0amS", function(module, exports) { + +$parcel$export(module.exports, "installServeD", () => $908aa6dcbfe54cf9$export$5109a6445e36b1c); + +var $5WtqB = parcelRequire("5WtqB"); + + + +const $908aa6dcbfe54cf9$var$execFile = $h8yOX$util.promisify($h8yOX$child_process.execFile); +async function $908aa6dcbfe54cf9$var$getCodeDBinFolder() { + const home = process.env.HOME; + if (typeof home === "string" && home !== "" && process.platform === "linux") { + if (await $5WtqB.pathExists($h8yOX$path.join(home, ".local", "share"))) return $h8yOX$path.join(home, ".local", "share", "code-d", "bin"); + else return $h8yOX$path.join(home, ".code-d", "bin"); + } else if (process.platform === "win32") { + const appdata = process.env.APPDATA; + if (typeof appdata === "string" && appdata !== "") return $h8yOX$path.join(appdata, "code-d", "bin"); + } else if (typeof home === "string" && home !== "") return $h8yOX$path.join(home, ".code-d", "bin"); + return ""; +} +function $908aa6dcbfe54cf9$var$isServeDInstalled(serveDPath) { + return $5WtqB.pathExists(serveDPath); +} +/** Get the version of serve-d */ async function $908aa6dcbfe54cf9$var$getServeDVersion(file) { + try { + var ref; + const output = (await $908aa6dcbfe54cf9$var$execFile(file, [ + "--version" + ])).stderr; + const version = (ref = output.match(/v(\d\S*)\s/)) === null || ref === void 0 ? void 0 : ref[1]; + return version; + } catch (e) { + console.error(e); + return undefined; + } +} + +/** Check if the given serve-d is up to date against the target version */ async function $908aa6dcbfe54cf9$var$isServeDUpToDate(givenFile, targetFile) { + const semverCompare = (await (parcelRequire("8SceC"))).default; + const [givenVersion, targetVersion] = await Promise.all([ + $908aa6dcbfe54cf9$var$getServeDVersion(givenFile), + $908aa6dcbfe54cf9$var$getServeDVersion(targetFile) + ]); + if (typeof givenVersion === "string" && typeof targetVersion === "string" && givenVersion !== "" && targetVersion !== "") return semverCompare(givenVersion, targetVersion) !== -1; + else // assume given version is old + return false; +} + +async function $908aa6dcbfe54cf9$var$copyServeD(bundledServerFolder, codeDBinFolder) { + const { copy: copy } = await Promise.resolve((parcelRequire("5WtqB"))); + atom.notifications.addInfo("Installing/Updating D servers..."); + // copy the whole served folder + await copy(bundledServerFolder, codeDBinFolder, { + overwrite: true + }); + atom.notifications.addSuccess("D servers was installed/updated"); +} +async function $908aa6dcbfe54cf9$export$5109a6445e36b1c() { + const distFolder = $h8yOX$path.join($h8yOX$path.dirname(__dirname), "dist"); + const exeExtention = process.platform === "win32" ? ".exe" : ""; + const serveDExeFileName = `serve-d${exeExtention}`; + const bundledServerFolder = $h8yOX$path.join(distFolder, `${process.platform}-${process.arch}`); + const codeDBinFolder = await $908aa6dcbfe54cf9$var$getCodeDBinFolder(); + const serveDPath = $h8yOX$path.join(codeDBinFolder, serveDExeFileName); + if (bundledServerFolder) { + const bundledServeDPath = $h8yOX$path.join(bundledServerFolder, serveDExeFileName); + if (!await $908aa6dcbfe54cf9$var$isServeDInstalled(serveDPath) || !await $908aa6dcbfe54cf9$var$isServeDUpToDate(serveDPath, bundledServeDPath)) await $908aa6dcbfe54cf9$var$copyServeD(bundledServerFolder, codeDBinFolder); + } else if (!await $908aa6dcbfe54cf9$var$isServeDInstalled(serveDPath)) atom.notifications.addError(`serve-d binary is not available for ${process.platform}.\n Please built it from the source, place it under ${codeDBinFolder}, and restart Atom.`); + return serveDPath; +} + +}); +parcelRequire.register("5WtqB", function(module, exports) { +'use strict'; + + + + + + + + + + + + +module.exports = { + // Export promiseified graceful-fs: + ...(parcelRequire("h7EPZ")), + // Export extra methods: + ...(parcelRequire("gySiv")), + ...(parcelRequire("6GZp3")), + ...(parcelRequire("lEyvM")), + ...(parcelRequire("6bgEx")), + ...(parcelRequire("hXbg4")), + ...(parcelRequire("7xD7Q")), + ...(parcelRequire("28kQ1")), + ...(parcelRequire("fX234")), + ...(parcelRequire("6rjNo")), + ...(parcelRequire("gNg0Y")), + ...(parcelRequire("608Ux")) +}; + +}); +parcelRequire.register("h7EPZ", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $c772c49bda0ab61b$require$u = $faHg1.fromCallback; + +var $9f6yx = parcelRequire("9f6yx"); +const $c772c49bda0ab61b$var$api = [ + 'access', + 'appendFile', + 'chmod', + 'chown', + 'close', + 'copyFile', + 'fchmod', + 'fchown', + 'fdatasync', + 'fstat', + 'fsync', + 'ftruncate', + 'futimes', + 'lchmod', + 'lchown', + 'link', + 'lstat', + 'mkdir', + 'mkdtemp', + 'open', + 'opendir', + 'readdir', + 'readFile', + 'readlink', + 'realpath', + 'rename', + 'rm', + 'rmdir', + 'stat', + 'symlink', + 'truncate', + 'unlink', + 'utimes', + 'writeFile' +].filter((key)=>{ + // Some commands are not available on some systems. Ex: + // fs.opendir was added in Node.js v12.12.0 + // fs.rm was added in Node.js v14.14.0 + // fs.lchown is not available on at least some Linux + return typeof $9f6yx[key] === 'function'; +}); +// Export cloned fs: +Object.assign(module.exports, $9f6yx); +// Universalify async methods: +$c772c49bda0ab61b$var$api.forEach((method)=>{ + module.exports[method] = $c772c49bda0ab61b$require$u($9f6yx[method]); +}); +module.exports.realpath.native = $c772c49bda0ab61b$require$u($9f6yx.realpath.native); +// We differ from mz/fs in that we still ship the old, broken, fs.exists() +// since we are a drop-in replacement for the native module +module.exports.exists = function(filename, callback) { + if (typeof callback === 'function') return $9f6yx.exists(filename, callback); + return new Promise((resolve)=>{ + return $9f6yx.exists(filename, resolve); + }); +}; +// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args +module.exports.read = function(fd, buffer, offset, length, position, callback) { + if (typeof callback === 'function') return $9f6yx.read(fd, buffer, offset, length, position, callback); + return new Promise((resolve, reject)=>{ + $9f6yx.read(fd, buffer, offset, length, position, (err, bytesRead, buffer1)=>{ + if (err) return reject(err); + resolve({ + bytesRead: bytesRead, + buffer: buffer1 + }); + }); + }); +}; +// Function signature can be +// fs.write(fd, buffer[, offset[, length[, position]]], callback) +// OR +// fs.write(fd, string[, position[, encoding]], callback) +// We need to handle both cases, so we use ...args +module.exports.write = function(fd, buffer, ...args) { + if (typeof args[args.length - 1] === 'function') return $9f6yx.write(fd, buffer, ...args); + return new Promise((resolve, reject)=>{ + $9f6yx.write(fd, buffer, ...args, (err, bytesWritten, buffer1)=>{ + if (err) return reject(err); + resolve({ + bytesWritten: bytesWritten, + buffer: buffer1 + }); + }); + }); +}; +// fs.writev only available in Node v12.9.0+ +if (typeof $9f6yx.writev === 'function') // Function signature is +// s.writev(fd, buffers[, position], callback) +// We need to handle the optional arg, so we use ...args +module.exports.writev = function(fd, buffers, ...args) { + if (typeof args[args.length - 1] === 'function') return $9f6yx.writev(fd, buffers, ...args); + return new Promise((resolve, reject)=>{ + $9f6yx.writev(fd, buffers, ...args, (err, bytesWritten, buffers1)=>{ + if (err) return reject(err); + resolve({ + bytesWritten: bytesWritten, + buffers: buffers1 + }); + }); + }); +}; + +}); +parcelRequire.register("faHg1", function(module, exports) { + +$parcel$export(module.exports, "fromCallback", () => $b0b95839bd782608$export$d438632cc166431c, (v) => $b0b95839bd782608$export$d438632cc166431c = v); +$parcel$export(module.exports, "fromPromise", () => $b0b95839bd782608$export$f280bca05896a427, (v) => $b0b95839bd782608$export$f280bca05896a427 = v); +var $b0b95839bd782608$export$f280bca05896a427; +var $b0b95839bd782608$export$d438632cc166431c; +'use strict'; +$b0b95839bd782608$export$d438632cc166431c = function(fn) { + return Object.defineProperty(function(...args) { + if (typeof args[args.length - 1] === 'function') fn.apply(this, args); + else return new Promise((resolve, reject)=>{ + fn.call(this, ...args, (err, res)=>err != null ? reject(err) : resolve(res) + ); + }); + }, 'name', { + value: fn.name + }); +}; +$b0b95839bd782608$export$f280bca05896a427 = function(fn) { + return Object.defineProperty(function(...args) { + const cb = args[args.length - 1]; + if (typeof cb !== 'function') return fn.apply(this, args); + else fn.apply(this, args.slice(0, -1)).then((r)=>cb(null, r) + , cb); + }, 'name', { + value: fn.name + }); +}; + +}); + +parcelRequire.register("9f6yx", function(module, exports) { + + +var $2CPKD = parcelRequire("2CPKD"); + +var $94I5P = parcelRequire("94I5P"); + +var $cyORG = parcelRequire("cyORG"); + +/* istanbul ignore next - node 0.x polyfill */ var $6baa99a533e6f947$var$gracefulQueue; +var $6baa99a533e6f947$var$previousSymbol; +/* istanbul ignore else - node 0.x polyfill */ if (typeof Symbol === 'function' && typeof Symbol.for === 'function') { + $6baa99a533e6f947$var$gracefulQueue = Symbol.for('graceful-fs.queue'); + // This is used in testing by future versions + $6baa99a533e6f947$var$previousSymbol = Symbol.for('graceful-fs.previous'); +} else { + $6baa99a533e6f947$var$gracefulQueue = '___graceful-fs.queue'; + $6baa99a533e6f947$var$previousSymbol = '___graceful-fs.previous'; +} +function $6baa99a533e6f947$var$noop() { +} +function $6baa99a533e6f947$var$publishQueue(context, queue) { + Object.defineProperty(context, $6baa99a533e6f947$var$gracefulQueue, { + get: function() { + return queue; + } + }); +} +var $6baa99a533e6f947$var$debug = $6baa99a533e6f947$var$noop; +if ($h8yOX$util.debuglog) $6baa99a533e6f947$var$debug = $h8yOX$util.debuglog('gfs4'); +else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) $6baa99a533e6f947$var$debug = function() { + var m = $h8yOX$util.format.apply($h8yOX$util, arguments); + m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: '); + console.error(m); +}; + +// Once time initialization +if (!$h8yOX$fs[$6baa99a533e6f947$var$gracefulQueue]) { + // This queue can be shared by multiple loaded instances + var $6baa99a533e6f947$var$queue = $parcel$global[$6baa99a533e6f947$var$gracefulQueue] || []; + $6baa99a533e6f947$var$publishQueue($h8yOX$fs, $6baa99a533e6f947$var$queue); + // Patch fs.close/closeSync to shared queue version, because we need + // to retry() whenever a close happens *anywhere* in the program. + // This is essential when multiple graceful-fs instances are + // in play at the same time. + $h8yOX$fs.close = (function(fs$close) { + function close(fd, cb) { + return fs$close.call($h8yOX$fs, fd, function(err) { + // This function uses the graceful-fs shared queue + if (!err) $6baa99a533e6f947$var$retry(); + if (typeof cb === 'function') cb.apply(this, arguments); + }); + } + Object.defineProperty(close, $6baa99a533e6f947$var$previousSymbol, { + value: fs$close + }); + return close; + })($h8yOX$fs.close); + $h8yOX$fs.closeSync = (function(fs$closeSync) { + function closeSync(fd) { + // This function uses the graceful-fs shared queue + fs$closeSync.apply($h8yOX$fs, arguments); + $6baa99a533e6f947$var$retry(); + } + Object.defineProperty(closeSync, $6baa99a533e6f947$var$previousSymbol, { + value: fs$closeSync + }); + return closeSync; + })($h8yOX$fs.closeSync); + if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) process.on('exit', function() { + $6baa99a533e6f947$var$debug($h8yOX$fs[$6baa99a533e6f947$var$gracefulQueue]); + $h8yOX$assert.equal($h8yOX$fs[$6baa99a533e6f947$var$gracefulQueue].length, 0); + }); +} +if (!$parcel$global[$6baa99a533e6f947$var$gracefulQueue]) $6baa99a533e6f947$var$publishQueue($parcel$global, $h8yOX$fs[$6baa99a533e6f947$var$gracefulQueue]); +module.exports = $6baa99a533e6f947$var$patch($cyORG($h8yOX$fs)); +if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !$h8yOX$fs.__patched) { + module.exports = $6baa99a533e6f947$var$patch($h8yOX$fs); + $h8yOX$fs.__patched = true; +} +function $6baa99a533e6f947$var$patch(fs) { + // Everything that references the open() function needs to be in here + $2CPKD(fs); + fs.gracefulify = $6baa99a533e6f947$var$patch; + fs.createReadStream = createReadStream; + fs.createWriteStream = createWriteStream; + var fs$readFile = fs.readFile; + fs.readFile = readFile; + function readFile(path, options, cb) { + if (typeof options === 'function') cb = options, options = null; + function go$readFile(path1, options1, cb1) { + return fs$readFile(path1, options1, function(err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) $6baa99a533e6f947$var$enqueue([ + go$readFile, + [ + path1, + options1, + cb1 + ] + ]); + else { + if (typeof cb1 === 'function') cb1.apply(this, arguments); + $6baa99a533e6f947$var$retry(); + } + }); + } + return go$readFile(path, options, cb); + } + var fs$writeFile = fs.writeFile; + fs.writeFile = writeFile; + function writeFile(path, data, options, cb) { + if (typeof options === 'function') cb = options, options = null; + function go$writeFile(path1, data1, options1, cb1) { + return fs$writeFile(path1, data1, options1, function(err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) $6baa99a533e6f947$var$enqueue([ + go$writeFile, + [ + path1, + data1, + options1, + cb1 + ] + ]); + else { + if (typeof cb1 === 'function') cb1.apply(this, arguments); + $6baa99a533e6f947$var$retry(); + } + }); + } + return go$writeFile(path, data, options, cb); + } + var fs$appendFile = fs.appendFile; + if (fs$appendFile) fs.appendFile = appendFile; + function appendFile(path, data, options, cb) { + if (typeof options === 'function') cb = options, options = null; + function go$appendFile(path1, data1, options1, cb1) { + return fs$appendFile(path1, data1, options1, function(err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) $6baa99a533e6f947$var$enqueue([ + go$appendFile, + [ + path1, + data1, + options1, + cb1 + ] + ]); + else { + if (typeof cb1 === 'function') cb1.apply(this, arguments); + $6baa99a533e6f947$var$retry(); + } + }); + } + return go$appendFile(path, data, options, cb); + } + var fs$copyFile = fs.copyFile; + if (fs$copyFile) fs.copyFile = copyFile; + function copyFile(src, dest, flags, cb) { + if (typeof flags === 'function') { + cb = flags; + flags = 0; + } + return fs$copyFile(src, dest, flags, function(err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) $6baa99a533e6f947$var$enqueue([ + fs$copyFile, + [ + src, + dest, + flags, + cb + ] + ]); + else { + if (typeof cb === 'function') cb.apply(this, arguments); + $6baa99a533e6f947$var$retry(); + } + }); + } + var fs$readdir = fs.readdir; + fs.readdir = readdir; + function readdir(path, options, cb) { + var args = [ + path + ]; + if (typeof options !== 'function') args.push(options); + else cb = options; + args.push(go$readdir$cb); + function go$readdir$cb(err, files) { + if (files && files.sort) files.sort(); + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) $6baa99a533e6f947$var$enqueue([ + go$readdir, + [ + args + ] + ]); + else { + if (typeof cb === 'function') cb.apply(this, arguments); + $6baa99a533e6f947$var$retry(); + } + } + return go$readdir(args); + } + function go$readdir(args) { + return fs$readdir.apply(fs, args); + } + if (process.version.substr(0, 4) === 'v0.8') { + var legStreams = $94I5P(fs); + ReadStream = legStreams.ReadStream; + WriteStream = legStreams.WriteStream; + } + var fs$ReadStream = fs.ReadStream; + if (fs$ReadStream) { + ReadStream.prototype = Object.create(fs$ReadStream.prototype); + ReadStream.prototype.open = ReadStream$open; + } + var fs$WriteStream = fs.WriteStream; + if (fs$WriteStream) { + WriteStream.prototype = Object.create(fs$WriteStream.prototype); + WriteStream.prototype.open = WriteStream$open; + } + Object.defineProperty(fs, 'ReadStream', { + get: function() { + return ReadStream; + }, + set: function(val) { + ReadStream = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(fs, 'WriteStream', { + get: function() { + return WriteStream; + }, + set: function(val) { + WriteStream = val; + }, + enumerable: true, + configurable: true + }); + // legacy names + var FileReadStream = ReadStream; + Object.defineProperty(fs, 'FileReadStream', { + get: function() { + return FileReadStream; + }, + set: function(val) { + FileReadStream = val; + }, + enumerable: true, + configurable: true + }); + var FileWriteStream = WriteStream; + Object.defineProperty(fs, 'FileWriteStream', { + get: function() { + return FileWriteStream; + }, + set: function(val) { + FileWriteStream = val; + }, + enumerable: true, + configurable: true + }); + function ReadStream(path, options) { + if (this instanceof ReadStream) return fs$ReadStream.apply(this, arguments), this; + else return ReadStream.apply(Object.create(ReadStream.prototype), arguments); + } + function ReadStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + if (that.autoClose) that.destroy(); + that.emit('error', err); + } else { + that.fd = fd; + that.emit('open', fd); + that.read(); + } + }); + } + function WriteStream(path, options) { + if (this instanceof WriteStream) return fs$WriteStream.apply(this, arguments), this; + else return WriteStream.apply(Object.create(WriteStream.prototype), arguments); + } + function WriteStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + that.destroy(); + that.emit('error', err); + } else { + that.fd = fd; + that.emit('open', fd); + } + }); + } + function createReadStream(path, options) { + return new fs.ReadStream(path, options); + } + function createWriteStream(path, options) { + return new fs.WriteStream(path, options); + } + var fs$open = fs.open; + fs.open = open; + function open(path, flags, mode, cb) { + if (typeof mode === 'function') cb = mode, mode = null; + function go$open(path1, flags1, mode1, cb1) { + return fs$open(path1, flags1, mode1, function(err, fd) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) $6baa99a533e6f947$var$enqueue([ + go$open, + [ + path1, + flags1, + mode1, + cb1 + ] + ]); + else { + if (typeof cb1 === 'function') cb1.apply(this, arguments); + $6baa99a533e6f947$var$retry(); + } + }); + } + return go$open(path, flags, mode, cb); + } + return fs; +} +function $6baa99a533e6f947$var$enqueue(elem) { + $6baa99a533e6f947$var$debug('ENQUEUE', elem[0].name, elem[1]); + $h8yOX$fs[$6baa99a533e6f947$var$gracefulQueue].push(elem); +} +function $6baa99a533e6f947$var$retry() { + var elem = $h8yOX$fs[$6baa99a533e6f947$var$gracefulQueue].shift(); + if (elem) { + $6baa99a533e6f947$var$debug('RETRY', elem[0].name, elem[1]); + elem[0].apply(null, elem[1]); + } +} + +}); +parcelRequire.register("2CPKD", function(module, exports) { + +var $1e97461496ea8a27$var$origCwd = process.cwd; +var $1e97461496ea8a27$var$cwd = null; +var $1e97461496ea8a27$var$platform = process.env.GRACEFUL_FS_PLATFORM || process.platform; +process.cwd = function() { + if (!$1e97461496ea8a27$var$cwd) $1e97461496ea8a27$var$cwd = $1e97461496ea8a27$var$origCwd.call(process); + return $1e97461496ea8a27$var$cwd; +}; +try { + process.cwd(); +} catch (er) { +} +// This check is needed until node.js 12 is required +if (typeof process.chdir === 'function') { + var $1e97461496ea8a27$var$chdir = process.chdir; + process.chdir = function(d) { + $1e97461496ea8a27$var$cwd = null; + $1e97461496ea8a27$var$chdir.call(process, d); + }; + if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, $1e97461496ea8a27$var$chdir); +} +module.exports = $1e97461496ea8a27$var$patch; +function $1e97461496ea8a27$var$patch(fs) { + // (re-)implement some things that are known busted or missing. + // lchmod, broken prior to 0.6.2 + // back-port the fix here. + if ($h8yOX$constants.hasOwnProperty('O_SYMLINK') && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) patchLchmod(fs); + // lutimes implementation, or no-op + if (!fs.lutimes) patchLutimes(fs); + // https://github.com/isaacs/node-graceful-fs/issues/4 + // Chown should not fail on einval or eperm if non-root. + // It should not fail on enosys ever, as this just indicates + // that a fs doesn't support the intended operation. + fs.chown = chownFix(fs.chown); + fs.fchown = chownFix(fs.fchown); + fs.lchown = chownFix(fs.lchown); + fs.chmod = chmodFix(fs.chmod); + fs.fchmod = chmodFix(fs.fchmod); + fs.lchmod = chmodFix(fs.lchmod); + fs.chownSync = chownFixSync(fs.chownSync); + fs.fchownSync = chownFixSync(fs.fchownSync); + fs.lchownSync = chownFixSync(fs.lchownSync); + fs.chmodSync = chmodFixSync(fs.chmodSync); + fs.fchmodSync = chmodFixSync(fs.fchmodSync); + fs.lchmodSync = chmodFixSync(fs.lchmodSync); + fs.stat = statFix(fs.stat); + fs.fstat = statFix(fs.fstat); + fs.lstat = statFix(fs.lstat); + fs.statSync = statFixSync(fs.statSync); + fs.fstatSync = statFixSync(fs.fstatSync); + fs.lstatSync = statFixSync(fs.lstatSync); + // if lchmod/lchown do not exist, then make them no-ops + if (!fs.lchmod) { + fs.lchmod = function(path, mode, cb) { + if (cb) process.nextTick(cb); + }; + fs.lchmodSync = function() { + }; + } + if (!fs.lchown) { + fs.lchown = function(path, uid, gid, cb) { + if (cb) process.nextTick(cb); + }; + fs.lchownSync = function() { + }; + } + // on Windows, A/V software can lock the directory, causing this + // to fail with an EACCES or EPERM if the directory contains newly + // created files. Try again on failure, for up to 60 seconds. + // Set the timeout this long because some Windows Anti-Virus, such as Parity + // bit9, may lock files for up to a minute, causing npm package install + // failures. Also, take care to yield the scheduler. Windows scheduling gives + // CPU to a busy looping process, which can cause the program causing the lock + // contention to be starved of CPU by node, so the contention doesn't resolve. + if ($1e97461496ea8a27$var$platform === "win32") fs.rename = (function(fs$rename) { + return function(from, to, cb) { + var start = Date.now(); + var backoff = 0; + fs$rename(from, to, function CB(er) { + if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 60000) { + setTimeout(function() { + fs.stat(to, function(stater, st) { + if (stater && stater.code === "ENOENT") fs$rename(from, to, CB); + else cb(er); + }); + }, backoff); + if (backoff < 100) backoff += 10; + return; + } + if (cb) cb(er); + }); + }; + })(fs.rename); + // if read() returns EAGAIN, then just try it again. + fs.read = (function(fs$read) { + function read(fd, buffer, offset, length, position, callback_) { + var callback; + if (callback_ && typeof callback_ === 'function') { + var eagCounter = 0; + callback = function(er, _, __) { + if (er && er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter++; + return fs$read.call(fs, fd, buffer, offset, length, position, callback); + } + callback_.apply(this, arguments); + }; + } + return fs$read.call(fs, fd, buffer, offset, length, position, callback); + } + // This ensures `util.promisify` works as it does for native `fs.read`. + if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read); + return read; + })(fs.read); + fs.readSync = (function(fs$readSync) { + return function(fd, buffer, offset, length, position) { + var eagCounter = 0; + while(true)try { + return fs$readSync.call(fs, fd, buffer, offset, length, position); + } catch (er) { + if (er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter++; + continue; + } + throw er; + } + }; + })(fs.readSync); + function patchLchmod(fs1) { + fs1.lchmod = function(path, mode, callback) { + fs1.open(path, $h8yOX$constants.O_WRONLY | $h8yOX$constants.O_SYMLINK, mode, function(err, fd) { + if (err) { + if (callback) callback(err); + return; + } + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + fs1.fchmod(fd, mode, function(err1) { + fs1.close(fd, function(err2) { + if (callback) callback(err1 || err2); + }); + }); + }); + }; + fs1.lchmodSync = function(path, mode) { + var fd = fs1.openSync(path, $h8yOX$constants.O_WRONLY | $h8yOX$constants.O_SYMLINK, mode); + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + var threw = true; + var ret; + try { + ret = fs1.fchmodSync(fd, mode); + threw = false; + } finally{ + if (threw) try { + fs1.closeSync(fd); + } catch (er) { + } + else fs1.closeSync(fd); + } + return ret; + }; + } + function patchLutimes(fs1) { + if ($h8yOX$constants.hasOwnProperty("O_SYMLINK")) { + fs1.lutimes = function(path, at, mt, cb) { + fs1.open(path, $h8yOX$constants.O_SYMLINK, function(er, fd) { + if (er) { + if (cb) cb(er); + return; + } + fs1.futimes(fd, at, mt, function(er1) { + fs1.close(fd, function(er2) { + if (cb) cb(er1 || er2); + }); + }); + }); + }; + fs1.lutimesSync = function(path, at, mt) { + var fd = fs1.openSync(path, $h8yOX$constants.O_SYMLINK); + var ret; + var threw = true; + try { + ret = fs1.futimesSync(fd, at, mt); + threw = false; + } finally{ + if (threw) try { + fs1.closeSync(fd); + } catch (er) { + } + else fs1.closeSync(fd); + } + return ret; + }; + } else { + fs1.lutimes = function(_a, _b, _c, cb) { + if (cb) process.nextTick(cb); + }; + fs1.lutimesSync = function() { + }; + } + } + function chmodFix(orig) { + if (!orig) return orig; + return function(target, mode, cb) { + return orig.call(fs, target, mode, function(er) { + if (chownErOk(er)) er = null; + if (cb) cb.apply(this, arguments); + }); + }; + } + function chmodFixSync(orig) { + if (!orig) return orig; + return function(target, mode) { + try { + return orig.call(fs, target, mode); + } catch (er) { + if (!chownErOk(er)) throw er; + } + }; + } + function chownFix(orig) { + if (!orig) return orig; + return function(target, uid, gid, cb) { + return orig.call(fs, target, uid, gid, function(er) { + if (chownErOk(er)) er = null; + if (cb) cb.apply(this, arguments); + }); + }; + } + function chownFixSync(orig) { + if (!orig) return orig; + return function(target, uid, gid) { + try { + return orig.call(fs, target, uid, gid); + } catch (er) { + if (!chownErOk(er)) throw er; + } + }; + } + function statFix(orig) { + if (!orig) return orig; + // Older versions of Node erroneously returned signed integers for + // uid + gid. + return function(target, options, cb) { + if (typeof options === 'function') { + cb = options; + options = null; + } + function callback(er, stats) { + if (stats) { + if (stats.uid < 0) stats.uid += 4294967296; + if (stats.gid < 0) stats.gid += 4294967296; + } + if (cb) cb.apply(this, arguments); + } + return options ? orig.call(fs, target, options, callback) : orig.call(fs, target, callback); + }; + } + function statFixSync(orig) { + if (!orig) return orig; + // Older versions of Node erroneously returned signed integers for + // uid + gid. + return function(target, options) { + var stats = options ? orig.call(fs, target, options) : orig.call(fs, target); + if (stats.uid < 0) stats.uid += 4294967296; + if (stats.gid < 0) stats.gid += 4294967296; + return stats; + }; + } + // ENOSYS means that the fs doesn't support the op. Just ignore + // that, because it doesn't matter. + // + // if there's no getuid, or if getuid() is something other + // than 0, and the error is EINVAL or EPERM, then just ignore + // it. + // + // This specific case is a silent failure in cp, install, tar, + // and most other unix tools that manage permissions. + // + // When running as root, or if other types of errors are + // encountered, then it's strict. + function chownErOk(er) { + if (!er) return true; + if (er.code === "ENOSYS") return true; + var nonroot = !process.getuid || process.getuid() !== 0; + if (nonroot) { + if (er.code === "EINVAL" || er.code === "EPERM") return true; + } + return false; + } +} + +}); + +parcelRequire.register("94I5P", function(module, exports) { + +var $69b6b0bbebb36264$require$Stream = $h8yOX$stream.Stream; +module.exports = $69b6b0bbebb36264$var$legacy; +function $69b6b0bbebb36264$var$legacy(fs) { + function ReadStream(path, options) { + if (!(this instanceof ReadStream)) return new ReadStream(path, options); + $69b6b0bbebb36264$require$Stream.call(this); + var self = this; + this.path = path; + this.fd = null; + this.readable = true; + this.paused = false; + this.flags = 'r'; + this.mode = 438; /*=0666*/ + this.bufferSize = 65536; + options = options || { + }; + // Mixin options into this + var keys = Object.keys(options); + for(var index = 0, length = keys.length; index < length; index++){ + var key = keys[index]; + this[key] = options[key]; + } + if (this.encoding) this.setEncoding(this.encoding); + if (this.start !== undefined) { + if ('number' !== typeof this.start) { + throw TypeError('start must be a Number'); + } + if (this.end === undefined) { + this.end = Infinity; + } else if ('number' !== typeof this.end) { + throw TypeError('end must be a Number'); + } + if (this.start > this.end) { + throw new Error('start must be <= end'); + } + this.pos = this.start; + } + if (this.fd !== null) { + process.nextTick(function() { + self._read(); + }); + return; + } + fs.open(this.path, this.flags, this.mode, function(err, fd) { + if (err) { + self.emit('error', err); + self.readable = false; + return; + } + self.fd = fd; + self.emit('open', fd); + self._read(); + }); + } + function WriteStream(path, options) { + if (!(this instanceof WriteStream)) return new WriteStream(path, options); + $69b6b0bbebb36264$require$Stream.call(this); + this.path = path; + this.fd = null; + this.writable = true; + this.flags = 'w'; + this.encoding = 'binary'; + this.mode = 438; /*=0666*/ + this.bytesWritten = 0; + options = options || { + }; + // Mixin options into this + var keys = Object.keys(options); + for(var index = 0, length = keys.length; index < length; index++){ + var key = keys[index]; + this[key] = options[key]; + } + if (this.start !== undefined) { + if ('number' !== typeof this.start) { + throw TypeError('start must be a Number'); + } + if (this.start < 0) { + throw new Error('start must be >= zero'); + } + this.pos = this.start; + } + this.busy = false; + this._queue = []; + if (this.fd === null) { + this._open = fs.open; + this._queue.push([ + this._open, + this.path, + this.flags, + this.mode, + undefined + ]); + this.flush(); + } + } + return { + ReadStream: ReadStream, + WriteStream: WriteStream + }; +} + +}); + +parcelRequire.register("cyORG", function(module, exports) { +'use strict'; +module.exports = $92501db799dc546c$var$clone; +var $92501db799dc546c$var$getPrototypeOf = Object.getPrototypeOf || function(obj) { + return obj.__proto__; +}; +function $92501db799dc546c$var$clone(obj) { + if (obj === null || typeof obj !== 'object') return obj; + if (obj instanceof Object) var copy = { + __proto__: $92501db799dc546c$var$getPrototypeOf(obj) + }; + else var copy = Object.create(null); + Object.getOwnPropertyNames(obj).forEach(function(key) { + Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)); + }); + return copy; +} + +}); + + + +parcelRequire.register("gySiv", function(module, exports) { +'use strict'; + +module.exports = { + copySync: (parcelRequire("b2fve")) +}; + +}); +parcelRequire.register("b2fve", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); + + +var $7xD7Q = parcelRequire("7xD7Q"); +var $808be8249dc19633$require$mkdirsSync = $7xD7Q.mkdirsSync; + +var $f11ZI = parcelRequire("f11ZI"); +var $808be8249dc19633$require$utimesMillisSync = $f11ZI.utimesMillisSync; + +var $c2Ond = parcelRequire("c2Ond"); +function $808be8249dc19633$var$copySync(src, dest, opts) { + if (typeof opts === 'function') opts = { + filter: opts + }; + opts = opts || { + }; + opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now + ; + opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber + ; + // Warn about using preserveTimestamps on 32-bit node + if (opts.preserveTimestamps && process.arch === 'ia32') console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`); + const { srcStat: srcStat , destStat: destStat } = $c2Ond.checkPathsSync(src, dest, 'copy', opts); + $c2Ond.checkParentPathsSync(src, srcStat, dest, 'copy'); + return $808be8249dc19633$var$handleFilterAndCopy(destStat, src, dest, opts); +} +function $808be8249dc19633$var$handleFilterAndCopy(destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) return; + const destParent = $h8yOX$path.dirname(dest); + if (!$9f6yx.existsSync(destParent)) $808be8249dc19633$require$mkdirsSync(destParent); + return $808be8249dc19633$var$getStats(destStat, src, dest, opts); +} +function $808be8249dc19633$var$startCopy(destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) return; + return $808be8249dc19633$var$getStats(destStat, src, dest, opts); +} +function $808be8249dc19633$var$getStats(destStat, src, dest, opts) { + const statSync = opts.dereference ? $9f6yx.statSync : $9f6yx.lstatSync; + const srcStat = statSync(src); + if (srcStat.isDirectory()) return $808be8249dc19633$var$onDir(srcStat, destStat, src, dest, opts); + else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return $808be8249dc19633$var$onFile(srcStat, destStat, src, dest, opts); + else if (srcStat.isSymbolicLink()) return $808be8249dc19633$var$onLink(destStat, src, dest, opts); + else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`); + else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`); + throw new Error(`Unknown file: ${src}`); +} +function $808be8249dc19633$var$onFile(srcStat, destStat, src, dest, opts) { + if (!destStat) return $808be8249dc19633$var$copyFile(srcStat, src, dest, opts); + return $808be8249dc19633$var$mayCopyFile(srcStat, src, dest, opts); +} +function $808be8249dc19633$var$mayCopyFile(srcStat, src, dest, opts) { + if (opts.overwrite) { + $9f6yx.unlinkSync(dest); + return $808be8249dc19633$var$copyFile(srcStat, src, dest, opts); + } else if (opts.errorOnExist) throw new Error(`'${dest}' already exists`); +} +function $808be8249dc19633$var$copyFile(srcStat, src, dest, opts) { + $9f6yx.copyFileSync(src, dest); + if (opts.preserveTimestamps) $808be8249dc19633$var$handleTimestamps(srcStat.mode, src, dest); + return $808be8249dc19633$var$setDestMode(dest, srcStat.mode); +} +function $808be8249dc19633$var$handleTimestamps(srcMode, src, dest) { + // Make sure the file is writable before setting the timestamp + // otherwise open fails with EPERM when invoked with 'r+' + // (through utimes call) + if ($808be8249dc19633$var$fileIsNotWritable(srcMode)) $808be8249dc19633$var$makeFileWritable(dest, srcMode); + return $808be8249dc19633$var$setDestTimestamps(src, dest); +} +function $808be8249dc19633$var$fileIsNotWritable(srcMode) { + return (srcMode & 128) === 0; +} +function $808be8249dc19633$var$makeFileWritable(dest, srcMode) { + return $808be8249dc19633$var$setDestMode(dest, srcMode | 128); +} +function $808be8249dc19633$var$setDestMode(dest, srcMode) { + return $9f6yx.chmodSync(dest, srcMode); +} +function $808be8249dc19633$var$setDestTimestamps(src, dest) { + // The initial srcStat.atime cannot be trusted + // because it is modified by the read(2) system call + // (See https://nodejs.org/api/fs.html#fs_stat_time_values) + const updatedSrcStat = $9f6yx.statSync(src); + return $808be8249dc19633$require$utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime); +} +function $808be8249dc19633$var$onDir(srcStat, destStat, src, dest, opts) { + if (!destStat) return $808be8249dc19633$var$mkDirAndCopy(srcStat.mode, src, dest, opts); + return $808be8249dc19633$var$copyDir(src, dest, opts); +} +function $808be8249dc19633$var$mkDirAndCopy(srcMode, src, dest, opts) { + $9f6yx.mkdirSync(dest); + $808be8249dc19633$var$copyDir(src, dest, opts); + return $808be8249dc19633$var$setDestMode(dest, srcMode); +} +function $808be8249dc19633$var$copyDir(src, dest, opts) { + $9f6yx.readdirSync(src).forEach((item)=>$808be8249dc19633$var$copyDirItem(item, src, dest, opts) + ); +} +function $808be8249dc19633$var$copyDirItem(item, src, dest, opts) { + const srcItem = $h8yOX$path.join(src, item); + const destItem = $h8yOX$path.join(dest, item); + const { destStat: destStat } = $c2Ond.checkPathsSync(srcItem, destItem, 'copy', opts); + return $808be8249dc19633$var$startCopy(destStat, srcItem, destItem, opts); +} +function $808be8249dc19633$var$onLink(destStat, src, dest, opts) { + let resolvedSrc = $9f6yx.readlinkSync(src); + if (opts.dereference) resolvedSrc = $h8yOX$path.resolve(process.cwd(), resolvedSrc); + if (!destStat) return $9f6yx.symlinkSync(resolvedSrc, dest); + else { + let resolvedDest; + try { + resolvedDest = $9f6yx.readlinkSync(dest); + } catch (err) { + // dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return $9f6yx.symlinkSync(resolvedSrc, dest); + throw err; + } + if (opts.dereference) resolvedDest = $h8yOX$path.resolve(process.cwd(), resolvedDest); + if ($c2Ond.isSrcSubdir(resolvedSrc, resolvedDest)) throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); + // prevent copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + if ($9f6yx.statSync(dest).isDirectory() && $c2Ond.isSrcSubdir(resolvedDest, resolvedSrc)) throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); + return $808be8249dc19633$var$copyLink(resolvedSrc, dest); + } +} +function $808be8249dc19633$var$copyLink(resolvedSrc, dest) { + $9f6yx.unlinkSync(dest); + return $9f6yx.symlinkSync(resolvedSrc, dest); +} +module.exports = $808be8249dc19633$var$copySync; + +}); +parcelRequire.register("7xD7Q", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $57d9f6f9d75b89b3$require$u = $faHg1.fromPromise; + +var $7Brwk = parcelRequire("7Brwk"); +var $57d9f6f9d75b89b3$require$_makeDir = $7Brwk.makeDir; +var $57d9f6f9d75b89b3$require$makeDirSync = $7Brwk.makeDirSync; +const $57d9f6f9d75b89b3$var$makeDir = $57d9f6f9d75b89b3$require$u($57d9f6f9d75b89b3$require$_makeDir); +module.exports = { + mkdirs: $57d9f6f9d75b89b3$var$makeDir, + mkdirsSync: $57d9f6f9d75b89b3$require$makeDirSync, + // alias + mkdirp: $57d9f6f9d75b89b3$var$makeDir, + mkdirpSync: $57d9f6f9d75b89b3$require$makeDirSync, + ensureDir: $57d9f6f9d75b89b3$var$makeDir, + ensureDirSync: $57d9f6f9d75b89b3$require$makeDirSync +}; + +}); +parcelRequire.register("7Brwk", function(module, exports) { + +$parcel$export(module.exports, "makeDirSync", () => $589156154858e472$export$625153d8bbae2cbd, (v) => $589156154858e472$export$625153d8bbae2cbd = v); +$parcel$export(module.exports, "makeDir", () => $589156154858e472$export$8e31fb5575eb7e8a, (v) => $589156154858e472$export$8e31fb5575eb7e8a = v); +var $589156154858e472$export$8e31fb5575eb7e8a; +var $589156154858e472$export$625153d8bbae2cbd; +'use strict'; + +var $h7EPZ = parcelRequire("h7EPZ"); + +var $9CRF7 = parcelRequire("9CRF7"); +var $589156154858e472$require$checkPath = $9CRF7.checkPath; +const $589156154858e472$var$getMode = (options)=>{ + const defaults = { + mode: 511 + }; + if (typeof options === 'number') return options; + return ({ + ...defaults, + ...options + }).mode; +}; +$589156154858e472$export$8e31fb5575eb7e8a = async (dir, options)=>{ + $589156154858e472$require$checkPath(dir); + return $h7EPZ.mkdir(dir, { + mode: $589156154858e472$var$getMode(options), + recursive: true + }); +}; +$589156154858e472$export$625153d8bbae2cbd = (dir, options)=>{ + $589156154858e472$require$checkPath(dir); + return $h7EPZ.mkdirSync(dir, { + mode: $589156154858e472$var$getMode(options), + recursive: true + }); +}; + +}); +parcelRequire.register("9CRF7", function(module, exports) { + +$parcel$export(module.exports, "checkPath", () => $702149dbae49c5fd$export$147090cb1098a1ae, (v) => $702149dbae49c5fd$export$147090cb1098a1ae = v); +// Adapted from https://github.com/sindresorhus/make-dir +// Copyright (c) Sindre Sorhus (sindresorhus.com) +// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +var $702149dbae49c5fd$export$147090cb1098a1ae; +'use strict'; + +// https://github.com/nodejs/node/issues/8987 +// https://github.com/libuv/libuv/pull/1088 +$702149dbae49c5fd$export$147090cb1098a1ae = function checkPath(pth) { + if (process.platform === 'win32') { + const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace($h8yOX$path.parse(pth).root, '')); + if (pathHasInvalidWinCharacters) { + const error = new Error(`Path contains invalid characters: ${pth}`); + error.code = 'EINVAL'; + throw error; + } + } +}; + +}); + + + +parcelRequire.register("f11ZI", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); +function $aee87f0c41c626c1$var$utimesMillis(path, atime, mtime, callback) { + // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback) + $9f6yx.open(path, 'r+', (err, fd)=>{ + if (err) return callback(err); + $9f6yx.futimes(fd, atime, mtime, (futimesErr)=>{ + $9f6yx.close(fd, (closeErr)=>{ + if (callback) callback(futimesErr || closeErr); + }); + }); + }); +} +function $aee87f0c41c626c1$var$utimesMillisSync(path, atime, mtime) { + const fd = $9f6yx.openSync(path, 'r+'); + $9f6yx.futimesSync(fd, atime, mtime); + return $9f6yx.closeSync(fd); +} +module.exports = { + utimesMillis: $aee87f0c41c626c1$var$utimesMillis, + utimesMillisSync: $aee87f0c41c626c1$var$utimesMillisSync +}; + +}); + +parcelRequire.register("c2Ond", function(module, exports) { +'use strict'; + +var $h7EPZ = parcelRequire("h7EPZ"); + + +function $8c4cbf0f25ee0fa3$var$getStats(src, dest, opts) { + const statFunc = opts.dereference ? (file)=>$h7EPZ.stat(file, { + bigint: true + }) + : (file)=>$h7EPZ.lstat(file, { + bigint: true + }) + ; + return Promise.all([ + statFunc(src), + statFunc(dest).catch((err)=>{ + if (err.code === 'ENOENT') return null; + throw err; + }) + ]).then(([srcStat, destStat])=>({ + srcStat: srcStat, + destStat: destStat + }) + ); +} +function $8c4cbf0f25ee0fa3$var$getStatsSync(src, dest, opts) { + let destStat; + const statFunc = opts.dereference ? (file)=>$h7EPZ.statSync(file, { + bigint: true + }) + : (file)=>$h7EPZ.lstatSync(file, { + bigint: true + }) + ; + const srcStat = statFunc(src); + try { + destStat = statFunc(dest); + } catch (err) { + if (err.code === 'ENOENT') return { + srcStat: srcStat, + destStat: null + }; + throw err; + } + return { + srcStat: srcStat, + destStat: destStat + }; +} +function $8c4cbf0f25ee0fa3$var$checkPaths(src, dest, funcName, opts, cb) { + $h8yOX$util.callbackify($8c4cbf0f25ee0fa3$var$getStats)(src, dest, opts, (err, stats)=>{ + if (err) return cb(err); + const { srcStat: srcStat , destStat: destStat } = stats; + if (destStat) { + if ($8c4cbf0f25ee0fa3$var$areIdentical(srcStat, destStat)) { + const srcBaseName = $h8yOX$path.basename(src); + const destBaseName = $h8yOX$path.basename(dest); + if (funcName === 'move' && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) return cb(null, { + srcStat: srcStat, + destStat: destStat, + isChangingCase: true + }); + return cb(new Error('Source and destination must not be the same.')); + } + if (srcStat.isDirectory() && !destStat.isDirectory()) return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)); + if (!srcStat.isDirectory() && destStat.isDirectory()) return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)); + } + if (srcStat.isDirectory() && $8c4cbf0f25ee0fa3$var$isSrcSubdir(src, dest)) return cb(new Error($8c4cbf0f25ee0fa3$var$errMsg(src, dest, funcName))); + return cb(null, { + srcStat: srcStat, + destStat: destStat + }); + }); +} +function $8c4cbf0f25ee0fa3$var$checkPathsSync(src, dest, funcName, opts) { + const { srcStat: srcStat , destStat: destStat } = $8c4cbf0f25ee0fa3$var$getStatsSync(src, dest, opts); + if (destStat) { + if ($8c4cbf0f25ee0fa3$var$areIdentical(srcStat, destStat)) { + const srcBaseName = $h8yOX$path.basename(src); + const destBaseName = $h8yOX$path.basename(dest); + if (funcName === 'move' && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) return { + srcStat: srcStat, + destStat: destStat, + isChangingCase: true + }; + throw new Error('Source and destination must not be the same.'); + } + if (srcStat.isDirectory() && !destStat.isDirectory()) throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); + if (!srcStat.isDirectory() && destStat.isDirectory()) throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`); + } + if (srcStat.isDirectory() && $8c4cbf0f25ee0fa3$var$isSrcSubdir(src, dest)) throw new Error($8c4cbf0f25ee0fa3$var$errMsg(src, dest, funcName)); + return { + srcStat: srcStat, + destStat: destStat + }; +} +// recursively check if dest parent is a subdirectory of src. +// It works for all file types including symlinks since it +// checks the src and dest inodes. It starts from the deepest +// parent and stops once it reaches the src parent or the root path. +function $8c4cbf0f25ee0fa3$var$checkParentPaths(src, srcStat, dest, funcName, cb) { + const srcParent = $h8yOX$path.resolve($h8yOX$path.dirname(src)); + const destParent = $h8yOX$path.resolve($h8yOX$path.dirname(dest)); + if (destParent === srcParent || destParent === $h8yOX$path.parse(destParent).root) return cb(); + $h7EPZ.stat(destParent, { + bigint: true + }, (err, destStat)=>{ + if (err) { + if (err.code === 'ENOENT') return cb(); + return cb(err); + } + if ($8c4cbf0f25ee0fa3$var$areIdentical(srcStat, destStat)) return cb(new Error($8c4cbf0f25ee0fa3$var$errMsg(src, dest, funcName))); + return $8c4cbf0f25ee0fa3$var$checkParentPaths(src, srcStat, destParent, funcName, cb); + }); +} +function $8c4cbf0f25ee0fa3$var$checkParentPathsSync(src, srcStat, dest, funcName) { + const srcParent = $h8yOX$path.resolve($h8yOX$path.dirname(src)); + const destParent = $h8yOX$path.resolve($h8yOX$path.dirname(dest)); + if (destParent === srcParent || destParent === $h8yOX$path.parse(destParent).root) return; + let destStat; + try { + destStat = $h7EPZ.statSync(destParent, { + bigint: true + }); + } catch (err) { + if (err.code === 'ENOENT') return; + throw err; + } + if ($8c4cbf0f25ee0fa3$var$areIdentical(srcStat, destStat)) throw new Error($8c4cbf0f25ee0fa3$var$errMsg(src, dest, funcName)); + return $8c4cbf0f25ee0fa3$var$checkParentPathsSync(src, srcStat, destParent, funcName); +} +function $8c4cbf0f25ee0fa3$var$areIdentical(srcStat, destStat) { + return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev; +} +// return true if dest is a subdir of src, otherwise false. +// It only checks the path strings. +function $8c4cbf0f25ee0fa3$var$isSrcSubdir(src, dest) { + const srcArr = $h8yOX$path.resolve(src).split($h8yOX$path.sep).filter((i)=>i + ); + const destArr = $h8yOX$path.resolve(dest).split($h8yOX$path.sep).filter((i)=>i + ); + return srcArr.reduce((acc, cur, i)=>acc && destArr[i] === cur + , true); +} +function $8c4cbf0f25ee0fa3$var$errMsg(src, dest, funcName) { + return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`; +} +module.exports = { + checkPaths: $8c4cbf0f25ee0fa3$var$checkPaths, + checkPathsSync: $8c4cbf0f25ee0fa3$var$checkPathsSync, + checkParentPaths: $8c4cbf0f25ee0fa3$var$checkParentPaths, + checkParentPathsSync: $8c4cbf0f25ee0fa3$var$checkParentPathsSync, + isSrcSubdir: $8c4cbf0f25ee0fa3$var$isSrcSubdir, + areIdentical: $8c4cbf0f25ee0fa3$var$areIdentical +}; + +}); + + + +parcelRequire.register("6GZp3", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $4df64bb90cb6f8c8$require$u = $faHg1.fromCallback; + +module.exports = { + copy: $4df64bb90cb6f8c8$require$u((parcelRequire("d6zq3"))) +}; + +}); +parcelRequire.register("d6zq3", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); + + +var $7xD7Q = parcelRequire("7xD7Q"); +var $98a74f712a0eba6d$require$mkdirs = $7xD7Q.mkdirs; + +var $gNg0Y = parcelRequire("gNg0Y"); +var $98a74f712a0eba6d$require$pathExists = $gNg0Y.pathExists; + +var $f11ZI = parcelRequire("f11ZI"); +var $98a74f712a0eba6d$require$utimesMillis = $f11ZI.utimesMillis; + +var $c2Ond = parcelRequire("c2Ond"); +function $98a74f712a0eba6d$var$copy(src, dest, opts, cb) { + if (typeof opts === 'function' && !cb) { + cb = opts; + opts = { + }; + } else if (typeof opts === 'function') opts = { + filter: opts + }; + cb = cb || function() { + }; + opts = opts || { + }; + opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now + ; + opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber + ; + // Warn about using preserveTimestamps on 32-bit node + if (opts.preserveTimestamps && process.arch === 'ia32') console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`); + $c2Ond.checkPaths(src, dest, 'copy', opts, (err, stats)=>{ + if (err) return cb(err); + const { srcStat: srcStat , destStat: destStat } = stats; + $c2Ond.checkParentPaths(src, srcStat, dest, 'copy', (err1)=>{ + if (err1) return cb(err1); + if (opts.filter) return $98a74f712a0eba6d$var$handleFilter($98a74f712a0eba6d$var$checkParentDir, destStat, src, dest, opts, cb); + return $98a74f712a0eba6d$var$checkParentDir(destStat, src, dest, opts, cb); + }); + }); +} +function $98a74f712a0eba6d$var$checkParentDir(destStat, src, dest, opts, cb) { + const destParent = $h8yOX$path.dirname(dest); + $98a74f712a0eba6d$require$pathExists(destParent, (err, dirExists)=>{ + if (err) return cb(err); + if (dirExists) return $98a74f712a0eba6d$var$getStats(destStat, src, dest, opts, cb); + $98a74f712a0eba6d$require$mkdirs(destParent, (err1)=>{ + if (err1) return cb(err1); + return $98a74f712a0eba6d$var$getStats(destStat, src, dest, opts, cb); + }); + }); +} +function $98a74f712a0eba6d$var$handleFilter(onInclude, destStat, src, dest, opts, cb) { + Promise.resolve(opts.filter(src, dest)).then((include)=>{ + if (include) return onInclude(destStat, src, dest, opts, cb); + return cb(); + }, (error)=>cb(error) + ); +} +function $98a74f712a0eba6d$var$startCopy(destStat, src, dest, opts, cb) { + if (opts.filter) return $98a74f712a0eba6d$var$handleFilter($98a74f712a0eba6d$var$getStats, destStat, src, dest, opts, cb); + return $98a74f712a0eba6d$var$getStats(destStat, src, dest, opts, cb); +} +function $98a74f712a0eba6d$var$getStats(destStat, src, dest, opts, cb) { + const stat = opts.dereference ? $9f6yx.stat : $9f6yx.lstat; + stat(src, (err, srcStat)=>{ + if (err) return cb(err); + if (srcStat.isDirectory()) return $98a74f712a0eba6d$var$onDir(srcStat, destStat, src, dest, opts, cb); + else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return $98a74f712a0eba6d$var$onFile(srcStat, destStat, src, dest, opts, cb); + else if (srcStat.isSymbolicLink()) return $98a74f712a0eba6d$var$onLink(destStat, src, dest, opts, cb); + else if (srcStat.isSocket()) return cb(new Error(`Cannot copy a socket file: ${src}`)); + else if (srcStat.isFIFO()) return cb(new Error(`Cannot copy a FIFO pipe: ${src}`)); + return cb(new Error(`Unknown file: ${src}`)); + }); +} +function $98a74f712a0eba6d$var$onFile(srcStat, destStat, src, dest, opts, cb) { + if (!destStat) return $98a74f712a0eba6d$var$copyFile(srcStat, src, dest, opts, cb); + return $98a74f712a0eba6d$var$mayCopyFile(srcStat, src, dest, opts, cb); +} +function $98a74f712a0eba6d$var$mayCopyFile(srcStat, src, dest, opts, cb) { + if (opts.overwrite) $9f6yx.unlink(dest, (err)=>{ + if (err) return cb(err); + return $98a74f712a0eba6d$var$copyFile(srcStat, src, dest, opts, cb); + }); + else if (opts.errorOnExist) return cb(new Error(`'${dest}' already exists`)); + else return cb(); +} +function $98a74f712a0eba6d$var$copyFile(srcStat, src, dest, opts, cb) { + $9f6yx.copyFile(src, dest, (err)=>{ + if (err) return cb(err); + if (opts.preserveTimestamps) return $98a74f712a0eba6d$var$handleTimestampsAndMode(srcStat.mode, src, dest, cb); + return $98a74f712a0eba6d$var$setDestMode(dest, srcStat.mode, cb); + }); +} +function $98a74f712a0eba6d$var$handleTimestampsAndMode(srcMode, src, dest, cb) { + // Make sure the file is writable before setting the timestamp + // otherwise open fails with EPERM when invoked with 'r+' + // (through utimes call) + if ($98a74f712a0eba6d$var$fileIsNotWritable(srcMode)) return $98a74f712a0eba6d$var$makeFileWritable(dest, srcMode, (err)=>{ + if (err) return cb(err); + return $98a74f712a0eba6d$var$setDestTimestampsAndMode(srcMode, src, dest, cb); + }); + return $98a74f712a0eba6d$var$setDestTimestampsAndMode(srcMode, src, dest, cb); +} +function $98a74f712a0eba6d$var$fileIsNotWritable(srcMode) { + return (srcMode & 128) === 0; +} +function $98a74f712a0eba6d$var$makeFileWritable(dest, srcMode, cb) { + return $98a74f712a0eba6d$var$setDestMode(dest, srcMode | 128, cb); +} +function $98a74f712a0eba6d$var$setDestTimestampsAndMode(srcMode, src, dest, cb) { + $98a74f712a0eba6d$var$setDestTimestamps(src, dest, (err)=>{ + if (err) return cb(err); + return $98a74f712a0eba6d$var$setDestMode(dest, srcMode, cb); + }); +} +function $98a74f712a0eba6d$var$setDestMode(dest, srcMode, cb) { + return $9f6yx.chmod(dest, srcMode, cb); +} +function $98a74f712a0eba6d$var$setDestTimestamps(src, dest, cb) { + // The initial srcStat.atime cannot be trusted + // because it is modified by the read(2) system call + // (See https://nodejs.org/api/fs.html#fs_stat_time_values) + $9f6yx.stat(src, (err, updatedSrcStat)=>{ + if (err) return cb(err); + return $98a74f712a0eba6d$require$utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb); + }); +} +function $98a74f712a0eba6d$var$onDir(srcStat, destStat, src, dest, opts, cb) { + if (!destStat) return $98a74f712a0eba6d$var$mkDirAndCopy(srcStat.mode, src, dest, opts, cb); + return $98a74f712a0eba6d$var$copyDir(src, dest, opts, cb); +} +function $98a74f712a0eba6d$var$mkDirAndCopy(srcMode, src, dest, opts, cb) { + $9f6yx.mkdir(dest, (err)=>{ + if (err) return cb(err); + $98a74f712a0eba6d$var$copyDir(src, dest, opts, (err1)=>{ + if (err1) return cb(err1); + return $98a74f712a0eba6d$var$setDestMode(dest, srcMode, cb); + }); + }); +} +function $98a74f712a0eba6d$var$copyDir(src, dest, opts, cb) { + $9f6yx.readdir(src, (err, items)=>{ + if (err) return cb(err); + return $98a74f712a0eba6d$var$copyDirItems(items, src, dest, opts, cb); + }); +} +function $98a74f712a0eba6d$var$copyDirItems(items, src, dest, opts, cb) { + const item = items.pop(); + if (!item) return cb(); + return $98a74f712a0eba6d$var$copyDirItem(items, item, src, dest, opts, cb); +} +function $98a74f712a0eba6d$var$copyDirItem(items, item, src, dest, opts, cb) { + const srcItem = $h8yOX$path.join(src, item); + const destItem = $h8yOX$path.join(dest, item); + $c2Ond.checkPaths(srcItem, destItem, 'copy', opts, (err, stats)=>{ + if (err) return cb(err); + const { destStat: destStat } = stats; + $98a74f712a0eba6d$var$startCopy(destStat, srcItem, destItem, opts, (err1)=>{ + if (err1) return cb(err1); + return $98a74f712a0eba6d$var$copyDirItems(items, src, dest, opts, cb); + }); + }); +} +function $98a74f712a0eba6d$var$onLink(destStat, src, dest, opts, cb) { + $9f6yx.readlink(src, (err, resolvedSrc)=>{ + if (err) return cb(err); + if (opts.dereference) resolvedSrc = $h8yOX$path.resolve(process.cwd(), resolvedSrc); + if (!destStat) return $9f6yx.symlink(resolvedSrc, dest, cb); + else $9f6yx.readlink(dest, (err1, resolvedDest)=>{ + if (err1) { + // dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + if (err1.code === 'EINVAL' || err1.code === 'UNKNOWN') return $9f6yx.symlink(resolvedSrc, dest, cb); + return cb(err1); + } + if (opts.dereference) resolvedDest = $h8yOX$path.resolve(process.cwd(), resolvedDest); + if ($c2Ond.isSrcSubdir(resolvedSrc, resolvedDest)) return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)); + // do not copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + if (destStat.isDirectory() && $c2Ond.isSrcSubdir(resolvedDest, resolvedSrc)) return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)); + return $98a74f712a0eba6d$var$copyLink(resolvedSrc, dest, cb); + }); + }); +} +function $98a74f712a0eba6d$var$copyLink(resolvedSrc, dest, cb) { + $9f6yx.unlink(dest, (err)=>{ + if (err) return cb(err); + return $9f6yx.symlink(resolvedSrc, dest, cb); + }); +} +module.exports = $98a74f712a0eba6d$var$copy; + +}); +parcelRequire.register("gNg0Y", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $c39da5255b7babfd$require$u = $faHg1.fromPromise; + +var $h7EPZ = parcelRequire("h7EPZ"); +function $c39da5255b7babfd$var$pathExists(path) { + return $h7EPZ.access(path).then(()=>true + ).catch(()=>false + ); +} +module.exports = { + pathExists: $c39da5255b7babfd$require$u($c39da5255b7babfd$var$pathExists), + pathExistsSync: $h7EPZ.existsSync +}; + +}); + + + +parcelRequire.register("lEyvM", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $fc381ab012947875$require$u = $faHg1.fromPromise; + +var $h7EPZ = parcelRequire("h7EPZ"); + + +var $7xD7Q = parcelRequire("7xD7Q"); + +var $608Ux = parcelRequire("608Ux"); +const $fc381ab012947875$var$emptyDir = $fc381ab012947875$require$u(async function emptyDir(dir) { + let items; + try { + items = await $h7EPZ.readdir(dir); + } catch { + return $7xD7Q.mkdirs(dir); + } + return Promise.all(items.map((item)=>$608Ux.remove($h8yOX$path.join(dir, item)) + )); +}); +function $fc381ab012947875$var$emptyDirSync(dir) { + let items; + try { + items = $h7EPZ.readdirSync(dir); + } catch { + return $7xD7Q.mkdirsSync(dir); + } + items.forEach((item)=>{ + item = $h8yOX$path.join(dir, item); + $608Ux.removeSync(item); + }); +} +module.exports = { + emptyDirSync: $fc381ab012947875$var$emptyDirSync, + emptydirSync: $fc381ab012947875$var$emptyDirSync, + emptyDir: $fc381ab012947875$var$emptyDir, + emptydir: $fc381ab012947875$var$emptyDir +}; + +}); +parcelRequire.register("608Ux", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); + +var $faHg1 = parcelRequire("faHg1"); +var $45e9a7b52a6dd80f$require$u = $faHg1.fromCallback; + +var $iMRz6 = parcelRequire("iMRz6"); +function $45e9a7b52a6dd80f$var$remove(path, callback) { + // Node 14.14.0+ + if ($9f6yx.rm) return $9f6yx.rm(path, { + recursive: true, + force: true + }, callback); + $iMRz6(path, callback); +} +function $45e9a7b52a6dd80f$var$removeSync(path) { + // Node 14.14.0+ + if ($9f6yx.rmSync) return $9f6yx.rmSync(path, { + recursive: true, + force: true + }); + $iMRz6.sync(path); +} +module.exports = { + remove: $45e9a7b52a6dd80f$require$u($45e9a7b52a6dd80f$var$remove), + removeSync: $45e9a7b52a6dd80f$var$removeSync +}; + +}); +parcelRequire.register("iMRz6", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); + + +const $dad64298bbcd3451$var$isWindows = process.platform === 'win32'; +function $dad64298bbcd3451$var$defaults(options) { + const methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ]; + methods.forEach((m)=>{ + options[m] = options[m] || $9f6yx[m]; + m = m + 'Sync'; + options[m] = options[m] || $9f6yx[m]; + }); + options.maxBusyTries = options.maxBusyTries || 3; +} +function $dad64298bbcd3451$var$rimraf(p, options, cb) { + let busyTries = 0; + if (typeof options === 'function') { + cb = options; + options = { + }; + } + $h8yOX$assert(p, 'rimraf: missing path'); + $h8yOX$assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string'); + $h8yOX$assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required'); + $h8yOX$assert(options, 'rimraf: invalid options argument provided'); + $h8yOX$assert.strictEqual(typeof options, 'object', 'rimraf: options should be object'); + $dad64298bbcd3451$var$defaults(options); + $dad64298bbcd3451$var$rimraf_(p, options, function CB(er) { + if (er) { + if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') && busyTries < options.maxBusyTries) { + busyTries++; + const time = busyTries * 100; + // try again, with the same exact callback as this one. + return setTimeout(()=>$dad64298bbcd3451$var$rimraf_(p, options, CB) + , time); + } + // already gone + if (er.code === 'ENOENT') er = null; + } + cb(er); + }); +} +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +function $dad64298bbcd3451$var$rimraf_(p, options, cb) { + $h8yOX$assert(p); + $h8yOX$assert(options); + $h8yOX$assert(typeof cb === 'function'); + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, (er, st)=>{ + if (er && er.code === 'ENOENT') return cb(null); + // Windows can EPERM on stat. Life is suffering. + if (er && er.code === 'EPERM' && $dad64298bbcd3451$var$isWindows) return $dad64298bbcd3451$var$fixWinEPERM(p, options, er, cb); + if (st && st.isDirectory()) return $dad64298bbcd3451$var$rmdir(p, options, er, cb); + options.unlink(p, (er1)=>{ + if (er1) { + if (er1.code === 'ENOENT') return cb(null); + if (er1.code === 'EPERM') return $dad64298bbcd3451$var$isWindows ? $dad64298bbcd3451$var$fixWinEPERM(p, options, er1, cb) : $dad64298bbcd3451$var$rmdir(p, options, er1, cb); + if (er1.code === 'EISDIR') return $dad64298bbcd3451$var$rmdir(p, options, er1, cb); + } + return cb(er1); + }); + }); +} +function $dad64298bbcd3451$var$fixWinEPERM(p, options, er, cb) { + $h8yOX$assert(p); + $h8yOX$assert(options); + $h8yOX$assert(typeof cb === 'function'); + options.chmod(p, 438, (er2)=>{ + if (er2) cb(er2.code === 'ENOENT' ? null : er); + else options.stat(p, (er3, stats)=>{ + if (er3) cb(er3.code === 'ENOENT' ? null : er); + else if (stats.isDirectory()) $dad64298bbcd3451$var$rmdir(p, options, er, cb); + else options.unlink(p, cb); + }); + }); +} +function $dad64298bbcd3451$var$fixWinEPERMSync(p, options, er) { + let stats; + $h8yOX$assert(p); + $h8yOX$assert(options); + try { + options.chmodSync(p, 438); + } catch (er2) { + if (er2.code === 'ENOENT') return; + else throw er; + } + try { + stats = options.statSync(p); + } catch (er3) { + if (er3.code === 'ENOENT') return; + else throw er; + } + if (stats.isDirectory()) $dad64298bbcd3451$var$rmdirSync(p, options, er); + else options.unlinkSync(p); +} +function $dad64298bbcd3451$var$rmdir(p, options, originalEr, cb) { + $h8yOX$assert(p); + $h8yOX$assert(options); + $h8yOX$assert(typeof cb === 'function'); + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, (er)=>{ + if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) $dad64298bbcd3451$var$rmkids(p, options, cb); + else if (er && er.code === 'ENOTDIR') cb(originalEr); + else cb(er); + }); +} +function $dad64298bbcd3451$var$rmkids(p, options, cb) { + $h8yOX$assert(p); + $h8yOX$assert(options); + $h8yOX$assert(typeof cb === 'function'); + options.readdir(p, (er, files)=>{ + if (er) return cb(er); + let n = files.length; + let errState; + if (n === 0) return options.rmdir(p, cb); + files.forEach((f)=>{ + $dad64298bbcd3451$var$rimraf($h8yOX$path.join(p, f), options, (er1)=>{ + if (errState) return; + if (er1) return cb(errState = er1); + if ((--n) === 0) options.rmdir(p, cb); + }); + }); + }); +} +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +function $dad64298bbcd3451$var$rimrafSync(p, options) { + let st; + options = options || { + }; + $dad64298bbcd3451$var$defaults(options); + $h8yOX$assert(p, 'rimraf: missing path'); + $h8yOX$assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string'); + $h8yOX$assert(options, 'rimraf: missing options'); + $h8yOX$assert.strictEqual(typeof options, 'object', 'rimraf: options should be object'); + try { + st = options.lstatSync(p); + } catch (er) { + if (er.code === 'ENOENT') return; + // Windows can EPERM on stat. Life is suffering. + if (er.code === 'EPERM' && $dad64298bbcd3451$var$isWindows) $dad64298bbcd3451$var$fixWinEPERMSync(p, options, er); + } + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) $dad64298bbcd3451$var$rmdirSync(p, options, null); + else options.unlinkSync(p); + } catch (er) { + if (er.code === 'ENOENT') return; + else if (er.code === 'EPERM') return $dad64298bbcd3451$var$isWindows ? $dad64298bbcd3451$var$fixWinEPERMSync(p, options, er) : $dad64298bbcd3451$var$rmdirSync(p, options, er); + else if (er.code !== 'EISDIR') throw er; + $dad64298bbcd3451$var$rmdirSync(p, options, er); + } +} +function $dad64298bbcd3451$var$rmdirSync(p, options, originalEr) { + $h8yOX$assert(p); + $h8yOX$assert(options); + try { + options.rmdirSync(p); + } catch (er) { + if (er.code === 'ENOTDIR') throw originalEr; + else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') $dad64298bbcd3451$var$rmkidsSync(p, options); + else if (er.code !== 'ENOENT') throw er; + } +} +function $dad64298bbcd3451$var$rmkidsSync(p, options) { + $h8yOX$assert(p); + $h8yOX$assert(options); + options.readdirSync(p).forEach((f)=>$dad64298bbcd3451$var$rimrafSync($h8yOX$path.join(p, f), options) + ); + if ($dad64298bbcd3451$var$isWindows) { + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + const startTime = Date.now(); + do try { + const ret = options.rmdirSync(p, options); + return ret; + } catch { + } + while (Date.now() - startTime < 500) // give up after 500ms + } else { + const ret = options.rmdirSync(p, options); + return ret; + } +} +module.exports = $dad64298bbcd3451$var$rimraf; +$dad64298bbcd3451$var$rimraf.sync = $dad64298bbcd3451$var$rimrafSync; + +}); + + + +parcelRequire.register("6bgEx", function(module, exports) { +'use strict'; + +var $dprBB = parcelRequire("dprBB"); + +var $i3z0L = parcelRequire("i3z0L"); + +var $9NJuo = parcelRequire("9NJuo"); +module.exports = { + // file + createFile: $dprBB.createFile, + createFileSync: $dprBB.createFileSync, + ensureFile: $dprBB.createFile, + ensureFileSync: $dprBB.createFileSync, + // link + createLink: $i3z0L.createLink, + createLinkSync: $i3z0L.createLinkSync, + ensureLink: $i3z0L.createLink, + ensureLinkSync: $i3z0L.createLinkSync, + // symlink + createSymlink: $9NJuo.createSymlink, + createSymlinkSync: $9NJuo.createSymlinkSync, + ensureSymlink: $9NJuo.createSymlink, + ensureSymlinkSync: $9NJuo.createSymlinkSync +}; + +}); +parcelRequire.register("dprBB", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $9c330606b7d82f38$require$u = $faHg1.fromCallback; + + +var $9f6yx = parcelRequire("9f6yx"); + +var $7xD7Q = parcelRequire("7xD7Q"); +function $9c330606b7d82f38$var$createFile(file, callback) { + function makeFile() { + $9f6yx.writeFile(file, '', (err)=>{ + if (err) return callback(err); + callback(); + }); + } + $9f6yx.stat(file, (err, stats)=>{ + if (!err && stats.isFile()) return callback(); + const dir = $h8yOX$path.dirname(file); + $9f6yx.stat(dir, (err1, stats1)=>{ + if (err1) { + // if the directory doesn't exist, make it + if (err1.code === 'ENOENT') return $7xD7Q.mkdirs(dir, (err2)=>{ + if (err2) return callback(err2); + makeFile(); + }); + return callback(err1); + } + if (stats1.isDirectory()) makeFile(); + else // parent is not a directory + // This is just to cause an internal ENOTDIR error to be thrown + $9f6yx.readdir(dir, (err2)=>{ + if (err2) return callback(err2); + }); + }); + }); +} +function $9c330606b7d82f38$var$createFileSync(file) { + let stats; + try { + stats = $9f6yx.statSync(file); + } catch { + } + if (stats && stats.isFile()) return; + const dir = $h8yOX$path.dirname(file); + try { + if (!$9f6yx.statSync(dir).isDirectory()) // parent is not a directory + // This is just to cause an internal ENOTDIR error to be thrown + $9f6yx.readdirSync(dir); + } catch (err) { + // If the stat call above failed because the directory doesn't exist, create it + if (err && err.code === 'ENOENT') $7xD7Q.mkdirsSync(dir); + else throw err; + } + $9f6yx.writeFileSync(file, ''); +} +module.exports = { + createFile: $9c330606b7d82f38$require$u($9c330606b7d82f38$var$createFile), + createFileSync: $9c330606b7d82f38$var$createFileSync +}; + +}); + +parcelRequire.register("i3z0L", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $d253aa519a0249fd$require$u = $faHg1.fromCallback; + + +var $9f6yx = parcelRequire("9f6yx"); + +var $7xD7Q = parcelRequire("7xD7Q"); + +var $gNg0Y = parcelRequire("gNg0Y"); +var $d253aa519a0249fd$require$pathExists = $gNg0Y.pathExists; + +var $c2Ond = parcelRequire("c2Ond"); +var $d253aa519a0249fd$require$areIdentical = $c2Ond.areIdentical; +function $d253aa519a0249fd$var$createLink(srcpath, dstpath, callback) { + function makeLink(srcpath1, dstpath1) { + $9f6yx.link(srcpath1, dstpath1, (err)=>{ + if (err) return callback(err); + callback(null); + }); + } + $9f6yx.lstat(dstpath, (_, dstStat)=>{ + $9f6yx.lstat(srcpath, (err, srcStat)=>{ + if (err) { + err.message = err.message.replace('lstat', 'ensureLink'); + return callback(err); + } + if (dstStat && $d253aa519a0249fd$require$areIdentical(srcStat, dstStat)) return callback(null); + const dir = $h8yOX$path.dirname(dstpath); + $d253aa519a0249fd$require$pathExists(dir, (err1, dirExists)=>{ + if (err1) return callback(err1); + if (dirExists) return makeLink(srcpath, dstpath); + $7xD7Q.mkdirs(dir, (err2)=>{ + if (err2) return callback(err2); + makeLink(srcpath, dstpath); + }); + }); + }); + }); +} +function $d253aa519a0249fd$var$createLinkSync(srcpath, dstpath) { + let dstStat; + try { + dstStat = $9f6yx.lstatSync(dstpath); + } catch { + } + try { + const srcStat = $9f6yx.lstatSync(srcpath); + if (dstStat && $d253aa519a0249fd$require$areIdentical(srcStat, dstStat)) return; + } catch (err) { + err.message = err.message.replace('lstat', 'ensureLink'); + throw err; + } + const dir = $h8yOX$path.dirname(dstpath); + const dirExists = $9f6yx.existsSync(dir); + if (dirExists) return $9f6yx.linkSync(srcpath, dstpath); + $7xD7Q.mkdirsSync(dir); + return $9f6yx.linkSync(srcpath, dstpath); +} +module.exports = { + createLink: $d253aa519a0249fd$require$u($d253aa519a0249fd$var$createLink), + createLinkSync: $d253aa519a0249fd$var$createLinkSync +}; + +}); + +parcelRequire.register("9NJuo", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $722bf9e300fff468$require$u = $faHg1.fromCallback; + + +var $h7EPZ = parcelRequire("h7EPZ"); + +var $7xD7Q = parcelRequire("7xD7Q"); +const $722bf9e300fff468$var$mkdirs = $7xD7Q.mkdirs; +const $722bf9e300fff468$var$mkdirsSync = $7xD7Q.mkdirsSync; + +var $gmFsL = parcelRequire("gmFsL"); +const $722bf9e300fff468$var$symlinkPaths = $gmFsL.symlinkPaths; +const $722bf9e300fff468$var$symlinkPathsSync = $gmFsL.symlinkPathsSync; + +var $emGGQ = parcelRequire("emGGQ"); +const $722bf9e300fff468$var$symlinkType = $emGGQ.symlinkType; +const $722bf9e300fff468$var$symlinkTypeSync = $emGGQ.symlinkTypeSync; + +var $gNg0Y = parcelRequire("gNg0Y"); +var $722bf9e300fff468$require$pathExists = $gNg0Y.pathExists; + +var $c2Ond = parcelRequire("c2Ond"); +var $722bf9e300fff468$require$areIdentical = $c2Ond.areIdentical; +function $722bf9e300fff468$var$createSymlink(srcpath, dstpath, type, callback) { + callback = typeof type === 'function' ? type : callback; + type = typeof type === 'function' ? false : type; + $h7EPZ.lstat(dstpath, (err, stats)=>{ + if (!err && stats.isSymbolicLink()) Promise.all([ + $h7EPZ.stat(srcpath), + $h7EPZ.stat(dstpath) + ]).then(([srcStat, dstStat])=>{ + if ($722bf9e300fff468$require$areIdentical(srcStat, dstStat)) return callback(null); + $722bf9e300fff468$var$_createSymlink(srcpath, dstpath, type, callback); + }); + else $722bf9e300fff468$var$_createSymlink(srcpath, dstpath, type, callback); + }); +} +function $722bf9e300fff468$var$_createSymlink(srcpath, dstpath, type, callback) { + $722bf9e300fff468$var$symlinkPaths(srcpath, dstpath, (err, relative)=>{ + if (err) return callback(err); + srcpath = relative.toDst; + $722bf9e300fff468$var$symlinkType(relative.toCwd, type, (err1, type1)=>{ + if (err1) return callback(err1); + const dir = $h8yOX$path.dirname(dstpath); + $722bf9e300fff468$require$pathExists(dir, (err2, dirExists)=>{ + if (err2) return callback(err2); + if (dirExists) return $h7EPZ.symlink(srcpath, dstpath, type1, callback); + $722bf9e300fff468$var$mkdirs(dir, (err3)=>{ + if (err3) return callback(err3); + $h7EPZ.symlink(srcpath, dstpath, type1, callback); + }); + }); + }); + }); +} +function $722bf9e300fff468$var$createSymlinkSync(srcpath, dstpath, type) { + let stats; + try { + stats = $h7EPZ.lstatSync(dstpath); + } catch { + } + if (stats && stats.isSymbolicLink()) { + const srcStat = $h7EPZ.statSync(srcpath); + const dstStat = $h7EPZ.statSync(dstpath); + if ($722bf9e300fff468$require$areIdentical(srcStat, dstStat)) return; + } + const relative = $722bf9e300fff468$var$symlinkPathsSync(srcpath, dstpath); + srcpath = relative.toDst; + type = $722bf9e300fff468$var$symlinkTypeSync(relative.toCwd, type); + const dir = $h8yOX$path.dirname(dstpath); + const exists = $h7EPZ.existsSync(dir); + if (exists) return $h7EPZ.symlinkSync(srcpath, dstpath, type); + $722bf9e300fff468$var$mkdirsSync(dir); + return $h7EPZ.symlinkSync(srcpath, dstpath, type); +} +module.exports = { + createSymlink: $722bf9e300fff468$require$u($722bf9e300fff468$var$createSymlink), + createSymlinkSync: $722bf9e300fff468$var$createSymlinkSync +}; + +}); +parcelRequire.register("gmFsL", function(module, exports) { +'use strict'; + + +var $9f6yx = parcelRequire("9f6yx"); + +var $gNg0Y = parcelRequire("gNg0Y"); +var $be9edd149e778baf$require$pathExists = $gNg0Y.pathExists; +/** + * Function that returns two types of paths, one relative to symlink, and one + * relative to the current working directory. Checks if path is absolute or + * relative. If the path is relative, this function checks if the path is + * relative to symlink or relative to current working directory. This is an + * initiative to find a smarter `srcpath` to supply when building symlinks. + * This allows you to determine which path to use out of one of three possible + * types of source paths. The first is an absolute path. This is detected by + * `path.isAbsolute()`. When an absolute path is provided, it is checked to + * see if it exists. If it does it's used, if not an error is returned + * (callback)/ thrown (sync). The other two options for `srcpath` are a + * relative url. By default Node's `fs.symlink` works by creating a symlink + * using `dstpath` and expects the `srcpath` to be relative to the newly + * created symlink. If you provide a `srcpath` that does not exist on the file + * system it results in a broken symlink. To minimize this, the function + * checks to see if the 'relative to symlink' source file exists, and if it + * does it will use it. If it does not, it checks if there's a file that + * exists that is relative to the current working directory, if does its used. + * This preserves the expectations of the original fs.symlink spec and adds + * the ability to pass in `relative to current working direcotry` paths. + */ function $be9edd149e778baf$var$symlinkPaths(srcpath, dstpath, callback) { + if ($h8yOX$path.isAbsolute(srcpath)) return $9f6yx.lstat(srcpath, (err)=>{ + if (err) { + err.message = err.message.replace('lstat', 'ensureSymlink'); + return callback(err); + } + return callback(null, { + toCwd: srcpath, + toDst: srcpath + }); + }); + else { + const dstdir = $h8yOX$path.dirname(dstpath); + const relativeToDst = $h8yOX$path.join(dstdir, srcpath); + return $be9edd149e778baf$require$pathExists(relativeToDst, (err, exists)=>{ + if (err) return callback(err); + if (exists) return callback(null, { + toCwd: relativeToDst, + toDst: srcpath + }); + else return $9f6yx.lstat(srcpath, (err1)=>{ + if (err1) { + err1.message = err1.message.replace('lstat', 'ensureSymlink'); + return callback(err1); + } + return callback(null, { + toCwd: srcpath, + toDst: $h8yOX$path.relative(dstdir, srcpath) + }); + }); + }); + } +} +function $be9edd149e778baf$var$symlinkPathsSync(srcpath, dstpath) { + let exists; + if ($h8yOX$path.isAbsolute(srcpath)) { + exists = $9f6yx.existsSync(srcpath); + if (!exists) throw new Error('absolute srcpath does not exist'); + return { + toCwd: srcpath, + toDst: srcpath + }; + } else { + const dstdir = $h8yOX$path.dirname(dstpath); + const relativeToDst = $h8yOX$path.join(dstdir, srcpath); + exists = $9f6yx.existsSync(relativeToDst); + if (exists) return { + toCwd: relativeToDst, + toDst: srcpath + }; + else { + exists = $9f6yx.existsSync(srcpath); + if (!exists) throw new Error('relative srcpath does not exist'); + return { + toCwd: srcpath, + toDst: $h8yOX$path.relative(dstdir, srcpath) + }; + } + } +} +module.exports = { + symlinkPaths: $be9edd149e778baf$var$symlinkPaths, + symlinkPathsSync: $be9edd149e778baf$var$symlinkPathsSync +}; + +}); + +parcelRequire.register("emGGQ", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); +function $a7543c2382fb2ecd$var$symlinkType(srcpath, type, callback) { + callback = typeof type === 'function' ? type : callback; + type = typeof type === 'function' ? false : type; + if (type) return callback(null, type); + $9f6yx.lstat(srcpath, (err, stats)=>{ + if (err) return callback(null, 'file'); + type = stats && stats.isDirectory() ? 'dir' : 'file'; + callback(null, type); + }); +} +function $a7543c2382fb2ecd$var$symlinkTypeSync(srcpath, type) { + let stats; + if (type) return type; + try { + stats = $9f6yx.lstatSync(srcpath); + } catch { + return 'file'; + } + return stats && stats.isDirectory() ? 'dir' : 'file'; +} +module.exports = { + symlinkType: $a7543c2382fb2ecd$var$symlinkType, + symlinkTypeSync: $a7543c2382fb2ecd$var$symlinkTypeSync +}; + +}); + + + +parcelRequire.register("hXbg4", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $d120adfe0eba183a$require$u = $faHg1.fromPromise; + +var $gZoQd = parcelRequire("gZoQd"); + +$gZoQd.outputJson = $d120adfe0eba183a$require$u((parcelRequire("jK6HR"))); + +$gZoQd.outputJsonSync = (parcelRequire("5p0aS")); +// aliases +$gZoQd.outputJSON = $gZoQd.outputJson; +$gZoQd.outputJSONSync = $gZoQd.outputJsonSync; +$gZoQd.writeJSON = $gZoQd.writeJson; +$gZoQd.writeJSONSync = $gZoQd.writeJsonSync; +$gZoQd.readJSON = $gZoQd.readJson; +$gZoQd.readJSONSync = $gZoQd.readJsonSync; +module.exports = $gZoQd; + +}); +parcelRequire.register("gZoQd", function(module, exports) { +'use strict'; + +var $jVPH7 = parcelRequire("jVPH7"); +module.exports = { + // jsonfile exports + readJson: $jVPH7.readFile, + readJsonSync: $jVPH7.readFileSync, + writeJson: $jVPH7.writeFile, + writeJsonSync: $jVPH7.writeFileSync +}; + +}); +parcelRequire.register("jVPH7", function(module, exports) { +let $e82b70a419db6c4e$var$_fs; + + +try { + $e82b70a419db6c4e$var$_fs = (parcelRequire("9f6yx")); +} catch (_) { + $e82b70a419db6c4e$var$_fs = $h8yOX$fs; +} + +var $faHg1 = parcelRequire("faHg1"); + +var $dbAHD = parcelRequire("dbAHD"); +var $e82b70a419db6c4e$require$stripBom = $dbAHD.stripBom; +var $e82b70a419db6c4e$require$stringify = $dbAHD.stringify; +async function $e82b70a419db6c4e$var$_readFile(file, options = { +}) { + if (typeof options === 'string') options = { + encoding: options + }; + const fs = options.fs || $e82b70a419db6c4e$var$_fs; + const shouldThrow = 'throws' in options ? options.throws : true; + let data = await $faHg1.fromCallback(fs.readFile)(file, options); + data = $e82b70a419db6c4e$require$stripBom(data); + let obj; + try { + obj = JSON.parse(data, options ? options.reviver : null); + } catch (err) { + if (shouldThrow) { + err.message = `${file}: ${err.message}`; + throw err; + } else return null; + } + return obj; +} +const $e82b70a419db6c4e$var$readFile = $faHg1.fromPromise($e82b70a419db6c4e$var$_readFile); +function $e82b70a419db6c4e$var$readFileSync(file, options = { +}) { + if (typeof options === 'string') options = { + encoding: options + }; + const fs = options.fs || $e82b70a419db6c4e$var$_fs; + const shouldThrow = 'throws' in options ? options.throws : true; + try { + let content = fs.readFileSync(file, options); + content = $e82b70a419db6c4e$require$stripBom(content); + return JSON.parse(content, options.reviver); + } catch (err) { + if (shouldThrow) { + err.message = `${file}: ${err.message}`; + throw err; + } else return null; + } +} +async function $e82b70a419db6c4e$var$_writeFile(file, obj, options = { +}) { + const fs = options.fs || $e82b70a419db6c4e$var$_fs; + const str = $e82b70a419db6c4e$require$stringify(obj, options); + await $faHg1.fromCallback(fs.writeFile)(file, str, options); +} +const $e82b70a419db6c4e$var$writeFile = $faHg1.fromPromise($e82b70a419db6c4e$var$_writeFile); +function $e82b70a419db6c4e$var$writeFileSync(file, obj, options = { +}) { + const fs = options.fs || $e82b70a419db6c4e$var$_fs; + const str = $e82b70a419db6c4e$require$stringify(obj, options); + // not sure if fs.writeFileSync returns anything, but just in case + return fs.writeFileSync(file, str, options); +} +const $e82b70a419db6c4e$var$jsonfile = { + readFile: $e82b70a419db6c4e$var$readFile, + readFileSync: $e82b70a419db6c4e$var$readFileSync, + writeFile: $e82b70a419db6c4e$var$writeFile, + writeFileSync: $e82b70a419db6c4e$var$writeFileSync +}; +module.exports = $e82b70a419db6c4e$var$jsonfile; + +}); +parcelRequire.register("dbAHD", function(module, exports) { +function $9998c5ddb97e04d6$var$stringify(obj, { EOL: EOL = '\n' , finalEOL: finalEOL = true , replacer: replacer = null , spaces: spaces } = { +}) { + const EOF = finalEOL ? EOL : ''; + const str = JSON.stringify(obj, replacer, spaces); + return str.replace(/\n/g, EOL) + EOF; +} +function $9998c5ddb97e04d6$var$stripBom(content) { + // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified + if (Buffer.isBuffer(content)) content = content.toString('utf8'); + return content.replace(/^\uFEFF/, ''); +} +module.exports = { + stringify: $9998c5ddb97e04d6$var$stringify, + stripBom: $9998c5ddb97e04d6$var$stripBom +}; + +}); + + + +parcelRequire.register("jK6HR", function(module, exports) { +'use strict'; + +var $dbAHD = parcelRequire("dbAHD"); +var $e5f783f5c8939405$require$stringify = $dbAHD.stringify; + +var $6rjNo = parcelRequire("6rjNo"); +var $e5f783f5c8939405$require$outputFile = $6rjNo.outputFile; +async function $e5f783f5c8939405$var$outputJson(file, data, options = { +}) { + const str = $e5f783f5c8939405$require$stringify(data, options); + await $e5f783f5c8939405$require$outputFile(file, str, options); +} +module.exports = $e5f783f5c8939405$var$outputJson; + +}); +parcelRequire.register("6rjNo", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $4b049eb8fcd76477$require$u = $faHg1.fromCallback; + +var $9f6yx = parcelRequire("9f6yx"); + + +var $7xD7Q = parcelRequire("7xD7Q"); + +var $gNg0Y = parcelRequire("gNg0Y"); +var $4b049eb8fcd76477$require$pathExists = $gNg0Y.pathExists; +function $4b049eb8fcd76477$var$outputFile(file, data, encoding, callback) { + if (typeof encoding === 'function') { + callback = encoding; + encoding = 'utf8'; + } + const dir = $h8yOX$path.dirname(file); + $4b049eb8fcd76477$require$pathExists(dir, (err, itDoes)=>{ + if (err) return callback(err); + if (itDoes) return $9f6yx.writeFile(file, data, encoding, callback); + $7xD7Q.mkdirs(dir, (err1)=>{ + if (err1) return callback(err1); + $9f6yx.writeFile(file, data, encoding, callback); + }); + }); +} +function $4b049eb8fcd76477$var$outputFileSync(file, ...args) { + const dir = $h8yOX$path.dirname(file); + if ($9f6yx.existsSync(dir)) return $9f6yx.writeFileSync(file, ...args); + $7xD7Q.mkdirsSync(dir); + $9f6yx.writeFileSync(file, ...args); +} +module.exports = { + outputFile: $4b049eb8fcd76477$require$u($4b049eb8fcd76477$var$outputFile), + outputFileSync: $4b049eb8fcd76477$var$outputFileSync +}; + +}); + + +parcelRequire.register("5p0aS", function(module, exports) { +'use strict'; + +var $dbAHD = parcelRequire("dbAHD"); +var $3eef6c2df6b61c45$require$stringify = $dbAHD.stringify; + +var $6rjNo = parcelRequire("6rjNo"); +var $3eef6c2df6b61c45$require$outputFileSync = $6rjNo.outputFileSync; +function $3eef6c2df6b61c45$var$outputJsonSync(file, data, options) { + const str = $3eef6c2df6b61c45$require$stringify(data, options); + $3eef6c2df6b61c45$require$outputFileSync(file, str, options); +} +module.exports = $3eef6c2df6b61c45$var$outputJsonSync; + +}); + + +parcelRequire.register("28kQ1", function(module, exports) { +'use strict'; + +module.exports = { + moveSync: (parcelRequire("9EV2N")) +}; + +}); +parcelRequire.register("9EV2N", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); + + +var $gySiv = parcelRequire("gySiv"); +var $708419431db6e1d6$require$copySync = $gySiv.copySync; + +var $608Ux = parcelRequire("608Ux"); +var $708419431db6e1d6$require$removeSync = $608Ux.removeSync; + +var $7xD7Q = parcelRequire("7xD7Q"); +var $708419431db6e1d6$require$mkdirpSync = $7xD7Q.mkdirpSync; + +var $c2Ond = parcelRequire("c2Ond"); +function $708419431db6e1d6$var$moveSync(src, dest, opts) { + opts = opts || { + }; + const overwrite = opts.overwrite || opts.clobber || false; + const { srcStat: srcStat , isChangingCase: isChangingCase = false } = $c2Ond.checkPathsSync(src, dest, 'move', opts); + $c2Ond.checkParentPathsSync(src, srcStat, dest, 'move'); + if (!$708419431db6e1d6$var$isParentRoot(dest)) $708419431db6e1d6$require$mkdirpSync($h8yOX$path.dirname(dest)); + return $708419431db6e1d6$var$doRename(src, dest, overwrite, isChangingCase); +} +function $708419431db6e1d6$var$isParentRoot(dest) { + const parent = $h8yOX$path.dirname(dest); + const parsedPath = $h8yOX$path.parse(parent); + return parsedPath.root === parent; +} +function $708419431db6e1d6$var$doRename(src, dest, overwrite, isChangingCase) { + if (isChangingCase) return $708419431db6e1d6$var$rename(src, dest, overwrite); + if (overwrite) { + $708419431db6e1d6$require$removeSync(dest); + return $708419431db6e1d6$var$rename(src, dest, overwrite); + } + if ($9f6yx.existsSync(dest)) throw new Error('dest already exists.'); + return $708419431db6e1d6$var$rename(src, dest, overwrite); +} +function $708419431db6e1d6$var$rename(src, dest, overwrite) { + try { + $9f6yx.renameSync(src, dest); + } catch (err) { + if (err.code !== 'EXDEV') throw err; + return $708419431db6e1d6$var$moveAcrossDevice(src, dest, overwrite); + } +} +function $708419431db6e1d6$var$moveAcrossDevice(src, dest, overwrite) { + const opts = { + overwrite: overwrite, + errorOnExist: true + }; + $708419431db6e1d6$require$copySync(src, dest, opts); + return $708419431db6e1d6$require$removeSync(src); +} +module.exports = $708419431db6e1d6$var$moveSync; + +}); + + +parcelRequire.register("fX234", function(module, exports) { +'use strict'; + +var $faHg1 = parcelRequire("faHg1"); +var $b9cdf484caa196a9$require$u = $faHg1.fromCallback; + +module.exports = { + move: $b9cdf484caa196a9$require$u((parcelRequire("7wexc"))) +}; + +}); +parcelRequire.register("7wexc", function(module, exports) { +'use strict'; + +var $9f6yx = parcelRequire("9f6yx"); + + +var $6GZp3 = parcelRequire("6GZp3"); +var $0169a872d6ba0a26$require$copy = $6GZp3.copy; + +var $608Ux = parcelRequire("608Ux"); +var $0169a872d6ba0a26$require$remove = $608Ux.remove; + +var $7xD7Q = parcelRequire("7xD7Q"); +var $0169a872d6ba0a26$require$mkdirp = $7xD7Q.mkdirp; + +var $gNg0Y = parcelRequire("gNg0Y"); +var $0169a872d6ba0a26$require$pathExists = $gNg0Y.pathExists; + +var $c2Ond = parcelRequire("c2Ond"); +function $0169a872d6ba0a26$var$move(src, dest, opts, cb) { + if (typeof opts === 'function') { + cb = opts; + opts = { + }; + } + const overwrite = opts.overwrite || opts.clobber || false; + $c2Ond.checkPaths(src, dest, 'move', opts, (err, stats)=>{ + if (err) return cb(err); + const { srcStat: srcStat , isChangingCase: isChangingCase = false } = stats; + $c2Ond.checkParentPaths(src, srcStat, dest, 'move', (err1)=>{ + if (err1) return cb(err1); + if ($0169a872d6ba0a26$var$isParentRoot(dest)) return $0169a872d6ba0a26$var$doRename(src, dest, overwrite, isChangingCase, cb); + $0169a872d6ba0a26$require$mkdirp($h8yOX$path.dirname(dest), (err2)=>{ + if (err2) return cb(err2); + return $0169a872d6ba0a26$var$doRename(src, dest, overwrite, isChangingCase, cb); + }); + }); + }); +} +function $0169a872d6ba0a26$var$isParentRoot(dest) { + const parent = $h8yOX$path.dirname(dest); + const parsedPath = $h8yOX$path.parse(parent); + return parsedPath.root === parent; +} +function $0169a872d6ba0a26$var$doRename(src, dest, overwrite, isChangingCase, cb) { + if (isChangingCase) return $0169a872d6ba0a26$var$rename(src, dest, overwrite, cb); + if (overwrite) return $0169a872d6ba0a26$require$remove(dest, (err)=>{ + if (err) return cb(err); + return $0169a872d6ba0a26$var$rename(src, dest, overwrite, cb); + }); + $0169a872d6ba0a26$require$pathExists(dest, (err, destExists)=>{ + if (err) return cb(err); + if (destExists) return cb(new Error('dest already exists.')); + return $0169a872d6ba0a26$var$rename(src, dest, overwrite, cb); + }); +} +function $0169a872d6ba0a26$var$rename(src, dest, overwrite, cb) { + $9f6yx.rename(src, dest, (err)=>{ + if (!err) return cb(); + if (err.code !== 'EXDEV') return cb(err); + return $0169a872d6ba0a26$var$moveAcrossDevice(src, dest, overwrite, cb); + }); +} +function $0169a872d6ba0a26$var$moveAcrossDevice(src, dest, overwrite, cb) { + const opts = { + overwrite: overwrite, + errorOnExist: true + }; + $0169a872d6ba0a26$require$copy(src, dest, opts, (err)=>{ + if (err) return cb(err); + return $0169a872d6ba0a26$require$remove(src, cb); + }); +} +module.exports = $0169a872d6ba0a26$var$move; + +}); + + + +parcelRequire.register("8SceC", function(module, exports) { +module.exports = Promise.resolve(require("./compare.1b61c4a6.js")).then(()=>parcelRequire('atHBZ') +); + +}); + + + +//# sourceMappingURL=installation.6c1a001e.js.map diff --git a/dist/installation.6c1a001e.js.map b/dist/installation.6c1a001e.js.map new file mode 100644 index 0000000..0a7c457 --- /dev/null +++ b/dist/installation.6c1a001e.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["src/installation.ts","node_modules/fs-extra/lib/index.js","node_modules/fs-extra/lib/fs/index.js","node_modules/universalify/index.js","node_modules/graceful-fs/graceful-fs.js","node_modules/graceful-fs/polyfills.js","node_modules/graceful-fs/legacy-streams.js","node_modules/graceful-fs/clone.js","node_modules/fs-extra/lib/copy-sync/index.js","node_modules/fs-extra/lib/copy-sync/copy-sync.js","node_modules/fs-extra/lib/mkdirs/index.js","node_modules/fs-extra/lib/mkdirs/make-dir.js","node_modules/fs-extra/lib/mkdirs/utils.js","node_modules/fs-extra/lib/util/utimes.js","node_modules/fs-extra/lib/util/stat.js","node_modules/fs-extra/lib/copy/index.js","node_modules/fs-extra/lib/copy/copy.js","node_modules/fs-extra/lib/path-exists/index.js","node_modules/fs-extra/lib/empty/index.js","node_modules/fs-extra/lib/remove/index.js","node_modules/fs-extra/lib/remove/rimraf.js","node_modules/fs-extra/lib/ensure/index.js","node_modules/fs-extra/lib/ensure/file.js","node_modules/fs-extra/lib/ensure/link.js","node_modules/fs-extra/lib/ensure/symlink.js","node_modules/fs-extra/lib/ensure/symlink-paths.js","node_modules/fs-extra/lib/ensure/symlink-type.js","node_modules/fs-extra/lib/json/index.js","node_modules/fs-extra/lib/json/jsonfile.js","node_modules/jsonfile/index.js","node_modules/jsonfile/utils.js","node_modules/fs-extra/lib/json/output-json.js","node_modules/fs-extra/lib/output/index.js","node_modules/fs-extra/lib/json/output-json-sync.js","node_modules/fs-extra/lib/move-sync/index.js","node_modules/fs-extra/lib/move-sync/move-sync.js","node_modules/fs-extra/lib/move/index.js","node_modules/fs-extra/lib/move/move.js","node_modules/@parcel/runtime-js/lib/runtime-a0d7f65b7c75d453.js"],"sourcesContent":["import { pathExists } from \"fs-extra\"\nimport { join, dirname } from \"path\"\n\nimport { execFile as execFileRaw } from \"child_process\"\nimport { promisify } from \"util\"\nconst execFile = promisify(execFileRaw)\n\nasync function getCodeDBinFolder() {\n const home = process.env.HOME\n if (typeof home === \"string\" && home !== \"\" && process.platform === \"linux\") {\n if (await pathExists(join(home, \".local\", \"share\"))) {\n return join(home, \".local\", \"share\", \"code-d\", \"bin\")\n } else {\n return join(home, \".code-d\", \"bin\")\n }\n } else if (process.platform === \"win32\") {\n const appdata = process.env.APPDATA\n if (typeof appdata === \"string\" && appdata !== \"\") {\n return join(appdata, \"code-d\", \"bin\")\n }\n } else if (typeof home === \"string\" && home !== \"\") {\n return join(home, \".code-d\", \"bin\")\n }\n return \"\"\n}\n\nfunction isServeDInstalled(serveDPath: string) {\n return pathExists(serveDPath)\n}\n\n/** Get the version of serve-d */\nasync function getServeDVersion(file: string) {\n try {\n const output = (await execFile(file, [\"--version\"])).stderr\n const version = output.match(/v(\\d\\S*)\\s/)?.[1]\n return version\n } catch (e) {\n console.error(e)\n return undefined\n }\n}\n\n/** Check if the given serve-d is up to date against the target version */\nasync function isServeDUpToDate(givenFile: string, targetFile: string) {\n const semverCompare = (await import(\"semver/functions/compare\")).default\n const [givenVersion, targetVersion] = await Promise.all([getServeDVersion(givenFile), getServeDVersion(targetFile)])\n if (\n typeof givenVersion === \"string\" &&\n typeof targetVersion === \"string\" &&\n givenVersion !== \"\" &&\n targetVersion !== \"\"\n ) {\n return semverCompare(givenVersion, targetVersion) !== -1\n } else {\n // assume given version is old\n return false\n }\n}\n\nasync function copyServeD(bundledServerFolder: string, codeDBinFolder: string) {\n const { copy } = await import(\"fs-extra\")\n atom.notifications.addInfo(\"Installing/Updating D servers...\")\n // copy the whole served folder\n await copy(bundledServerFolder, codeDBinFolder, { overwrite: true })\n atom.notifications.addSuccess(\"D servers was installed/updated\")\n}\n\nexport async function installServeD() {\n const distFolder = join(dirname(__dirname), \"dist\")\n\n const exeExtention = process.platform === \"win32\" ? \".exe\" : \"\"\n const serveDExeFileName = `serve-d${exeExtention}`\n\n const bundledServerFolder = join(distFolder, `${process.platform}-${process.arch}`)\n\n const codeDBinFolder = await getCodeDBinFolder()\n const serveDPath = join(codeDBinFolder, serveDExeFileName)\n\n if (bundledServerFolder) {\n const bundledServeDPath = join(bundledServerFolder, serveDExeFileName)\n if (!(await isServeDInstalled(serveDPath)) || !(await isServeDUpToDate(serveDPath, bundledServeDPath))) {\n await copyServeD(bundledServerFolder, codeDBinFolder)\n }\n } else {\n if (!(await isServeDInstalled(serveDPath))) {\n atom.notifications.addError(\n `serve-d binary is not available for ${process.platform}.\n Please built it from the source, place it under ${codeDBinFolder}, and restart Atom.`\n )\n }\n }\n return serveDPath\n}\n","'use strict'\n\nmodule.exports = {\n // Export promiseified graceful-fs:\n ...require('./fs'),\n // Export extra methods:\n ...require('./copy-sync'),\n ...require('./copy'),\n ...require('./empty'),\n ...require('./ensure'),\n ...require('./json'),\n ...require('./mkdirs'),\n ...require('./move-sync'),\n ...require('./move'),\n ...require('./output'),\n ...require('./path-exists'),\n ...require('./remove')\n}\n","'use strict'\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rm',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.opendir was added in Node.js v12.12.0\n // fs.rm was added in Node.js v14.14.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export cloned fs:\nObject.assign(exports, fs)\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\nexports.realpath.native = u(fs.realpath.native)\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// fs.writev only available in Node v12.9.0+\nif (typeof fs.writev === 'function') {\n // Function signature is\n // s.writev(fd, buffers[, position], callback)\n // We need to handle the optional arg, so we use ...args\n exports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n }\n}\n","'use strict'\n\nexports.fromCallback = function (fn) {\n return Object.defineProperty(function (...args) {\n if (typeof args[args.length - 1] === 'function') fn.apply(this, args)\n else {\n return new Promise((resolve, reject) => {\n fn.call(\n this,\n ...args,\n (err, res) => (err != null) ? reject(err) : resolve(res)\n )\n })\n }\n }, 'name', { value: fn.name })\n}\n\nexports.fromPromise = function (fn) {\n return Object.defineProperty(function (...args) {\n const cb = args[args.length - 1]\n if (typeof cb !== 'function') return fn.apply(this, args)\n else fn.apply(this, args.slice(0, -1)).then(r => cb(null, r), cb)\n }, 'name', { value: fn.name })\n}\n","var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar clone = require('./clone.js')\n\nvar util = require('util')\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n retry()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n retry()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n require('assert').equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([fs$copyFile, [src, dest, flags, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n var args = [path]\n if (typeof options !== 'function') {\n args.push(options)\n } else {\n cb = options\n }\n args.push(go$readdir$cb)\n\n return go$readdir(args)\n\n function go$readdir$cb (err, files) {\n if (files && files.sort)\n files.sort()\n\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [args]])\n\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n }\n }\n\n function go$readdir (args) {\n return fs$readdir.apply(fs, args)\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n}\n\nfunction retry () {\n var elem = fs[gracefulQueue].shift()\n if (elem) {\n debug('RETRY', elem[0].name, elem[1])\n elem[0].apply(null, elem[1])\n }\n}\n","var constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n","var Stream = require('stream').Stream\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n","'use strict'\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n","'use strict'\n\nmodule.exports = {\n copySync: require('./copy-sync')\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirsSync = require('../mkdirs').mkdirsSync\nconst utimesMillisSync = require('../util/utimes').utimesMillisSync\nconst stat = require('../util/stat')\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return getStats(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`)\n else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`)\n throw new Error(`Unknown file: ${src}`)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy', opts)\n return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n","'use strict'\nconst u = require('universalify').fromPromise\nconst { makeDir: _makeDir, makeDirSync } = require('./make-dir')\nconst makeDir = u(_makeDir)\n\nmodule.exports = {\n mkdirs: makeDir,\n mkdirsSync: makeDirSync,\n // alias\n mkdirp: makeDir,\n mkdirpSync: makeDirSync,\n ensureDir: makeDir,\n ensureDirSync: makeDirSync\n}\n","'use strict'\nconst fs = require('../fs')\nconst { checkPath } = require('./utils')\n\nconst getMode = options => {\n const defaults = { mode: 0o777 }\n if (typeof options === 'number') return options\n return ({ ...defaults, ...options }).mode\n}\n\nmodule.exports.makeDir = async (dir, options) => {\n checkPath(dir)\n\n return fs.mkdir(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n\nmodule.exports.makeDirSync = (dir, options) => {\n checkPath(dir)\n\n return fs.mkdirSync(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n","// Adapted from https://github.com/sindresorhus/make-dir\n// Copyright (c) Sindre Sorhus (sindresorhus.com)\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict'\nconst path = require('path')\n\n// https://github.com/nodejs/node/issues/8987\n// https://github.com/libuv/libuv/pull/1088\nmodule.exports.checkPath = function checkPath (pth) {\n if (process.platform === 'win32') {\n const pathHasInvalidWinCharacters = /[<>:\"|?*]/.test(pth.replace(path.parse(pth).root, ''))\n\n if (pathHasInvalidWinCharacters) {\n const error = new Error(`Path contains invalid characters: ${pth}`)\n error.code = 'EINVAL'\n throw error\n }\n }\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n","'use strict'\n\nconst fs = require('../fs')\nconst path = require('path')\nconst util = require('util')\n\nfunction getStats (src, dest, opts) {\n const statFunc = opts.dereference\n ? (file) => fs.stat(file, { bigint: true })\n : (file) => fs.lstat(file, { bigint: true })\n return Promise.all([\n statFunc(src),\n statFunc(dest).catch(err => {\n if (err.code === 'ENOENT') return null\n throw err\n })\n ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))\n}\n\nfunction getStatsSync (src, dest, opts) {\n let destStat\n const statFunc = opts.dereference\n ? (file) => fs.statSync(file, { bigint: true })\n : (file) => fs.lstatSync(file, { bigint: true })\n const srcStat = statFunc(src)\n try {\n destStat = statFunc(dest)\n } catch (err) {\n if (err.code === 'ENOENT') return { srcStat, destStat: null }\n throw err\n }\n return { srcStat, destStat }\n}\n\nfunction checkPaths (src, dest, funcName, opts, cb) {\n util.callbackify(getStats)(src, dest, opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return cb(null, { srcStat, destStat, isChangingCase: true })\n }\n return cb(new Error('Source and destination must not be the same.'))\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`))\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return cb(null, { srcStat, destStat })\n })\n}\n\nfunction checkPathsSync (src, dest, funcName, opts) {\n const { srcStat, destStat } = getStatsSync(src, dest, opts)\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return { srcStat, destStat, isChangingCase: true }\n }\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nfunction checkParentPaths (src, srcStat, dest, funcName, cb) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()\n fs.stat(destParent, { bigint: true }, (err, destStat) => {\n if (err) {\n if (err.code === 'ENOENT') return cb()\n return cb(err)\n }\n if (areIdentical(srcStat, destStat)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return checkParentPaths(src, srcStat, destParent, funcName, cb)\n })\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n let destStat\n try {\n destStat = fs.statSync(destParent, { bigint: true })\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\nfunction areIdentical (srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)\n}\n\nfunction errMsg (src, dest, funcName) {\n return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n checkPaths,\n checkPathsSync,\n checkParentPaths,\n checkParentPathsSync,\n isSrcSubdir,\n areIdentical\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n copy: u(require('./copy'))\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdirs = require('../mkdirs').mkdirs\nconst pathExists = require('../path-exists').pathExists\nconst utimesMillis = require('../util/utimes').utimesMillis\nconst stat = require('../util/stat')\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\\n\n see https://github.com/jprichardson/node-fs-extra/issues/269`)\n }\n\n stat.checkPaths(src, dest, 'copy', opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n return checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return getStats(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return getStats(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n Promise.resolve(opts.filter(src, dest)).then(include => {\n if (include) return onInclude(destStat, src, dest, opts, cb)\n return cb()\n }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n else if (srcStat.isSocket()) return cb(new Error(`Cannot copy a socket file: ${src}`))\n else if (srcStat.isFIFO()) return cb(new Error(`Cannot copy a FIFO pipe: ${src}`))\n return cb(new Error(`Unknown file: ${src}`))\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n stat.checkPaths(srcItem, destItem, 'copy', opts, (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n startCopy(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n","'use strict'\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\n\nfunction pathExists (path) {\n return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n pathExists: u(pathExists),\n pathExistsSync: fs.existsSync\n}\n","'use strict'\n\nconst u = require('universalify').fromPromise\nconst fs = require('../fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst remove = require('../remove')\n\nconst emptyDir = u(async function emptyDir (dir) {\n let items\n try {\n items = await fs.readdir(dir)\n } catch {\n return mkdir.mkdirs(dir)\n }\n\n return Promise.all(items.map(item => remove.remove(path.join(dir, item))))\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst u = require('universalify').fromCallback\nconst rimraf = require('./rimraf')\n\nfunction remove (path, callback) {\n // Node 14.14.0+\n if (fs.rm) return fs.rm(path, { recursive: true, force: true }, callback)\n rimraf(path, callback)\n}\n\nfunction removeSync (path) {\n // Node 14.14.0+\n if (fs.rmSync) return fs.rmSync(path, { recursive: true, force: true })\n rimraf.sync(path)\n}\n\nmodule.exports = {\n remove: u(remove),\n removeSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst assert = require('assert')\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n const methods = [\n 'unlink',\n 'chmod',\n 'stat',\n 'lstat',\n 'rmdir',\n 'readdir'\n ]\n methods.forEach(m => {\n options[m] = options[m] || fs[m]\n m = m + 'Sync'\n options[m] = options[m] || fs[m]\n })\n\n options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n let busyTries = 0\n\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n assert(options, 'rimraf: invalid options argument provided')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n defaults(options)\n\n rimraf_(p, options, function CB (er) {\n if (er) {\n if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n busyTries < options.maxBusyTries) {\n busyTries++\n const time = busyTries * 100\n // try again, with the same exact callback as this one.\n return setTimeout(() => rimraf_(p, options, CB), time)\n }\n\n // already gone\n if (er.code === 'ENOENT') er = null\n }\n\n cb(er)\n })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong. However, there\n// are likely far more normal files in the world than directories. This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow. But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // sunos lets the root user unlink directories, which is... weird.\n // so we have to lstat here and make sure it's not a dir.\n options.lstat(p, (er, st) => {\n if (er && er.code === 'ENOENT') {\n return cb(null)\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er && er.code === 'EPERM' && isWindows) {\n return fixWinEPERM(p, options, er, cb)\n }\n\n if (st && st.isDirectory()) {\n return rmdir(p, options, er, cb)\n }\n\n options.unlink(p, er => {\n if (er) {\n if (er.code === 'ENOENT') {\n return cb(null)\n }\n if (er.code === 'EPERM') {\n return (isWindows)\n ? fixWinEPERM(p, options, er, cb)\n : rmdir(p, options, er, cb)\n }\n if (er.code === 'EISDIR') {\n return rmdir(p, options, er, cb)\n }\n }\n return cb(er)\n })\n })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.chmod(p, 0o666, er2 => {\n if (er2) {\n cb(er2.code === 'ENOENT' ? null : er)\n } else {\n options.stat(p, (er3, stats) => {\n if (er3) {\n cb(er3.code === 'ENOENT' ? null : er)\n } else if (stats.isDirectory()) {\n rmdir(p, options, er, cb)\n } else {\n options.unlink(p, cb)\n }\n })\n }\n })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n let stats\n\n assert(p)\n assert(options)\n\n try {\n options.chmodSync(p, 0o666)\n } catch (er2) {\n if (er2.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n try {\n stats = options.statSync(p)\n } catch (er3) {\n if (er3.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n if (stats.isDirectory()) {\n rmdirSync(p, options, er)\n } else {\n options.unlinkSync(p)\n }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n // if we guessed wrong, and it's not a directory, then\n // raise the original error.\n options.rmdir(p, er => {\n if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n rmkids(p, options, cb)\n } else if (er && er.code === 'ENOTDIR') {\n cb(originalEr)\n } else {\n cb(er)\n }\n })\n}\n\nfunction rmkids (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.readdir(p, (er, files) => {\n if (er) return cb(er)\n\n let n = files.length\n let errState\n\n if (n === 0) return options.rmdir(p, cb)\n\n files.forEach(f => {\n rimraf(path.join(p, f), options, er => {\n if (errState) {\n return\n }\n if (er) return cb(errState = er)\n if (--n === 0) {\n options.rmdir(p, cb)\n }\n })\n })\n })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n let st\n\n options = options || {}\n defaults(options)\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert(options, 'rimraf: missing options')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n try {\n st = options.lstatSync(p)\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er.code === 'EPERM' && isWindows) {\n fixWinEPERMSync(p, options, er)\n }\n }\n\n try {\n // sunos lets the root user unlink directories, which is... weird.\n if (st && st.isDirectory()) {\n rmdirSync(p, options, null)\n } else {\n options.unlinkSync(p)\n }\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n } else if (er.code === 'EPERM') {\n return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n } else if (er.code !== 'EISDIR') {\n throw er\n }\n rmdirSync(p, options, er)\n }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n assert(p)\n assert(options)\n\n try {\n options.rmdirSync(p)\n } catch (er) {\n if (er.code === 'ENOTDIR') {\n throw originalEr\n } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n rmkidsSync(p, options)\n } else if (er.code !== 'ENOENT') {\n throw er\n }\n }\n}\n\nfunction rmkidsSync (p, options) {\n assert(p)\n assert(options)\n options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n if (isWindows) {\n // We only end up here once we got ENOTEMPTY at least once, and\n // at this point, we are guaranteed to have removed all the kids.\n // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n // try really hard to delete stuff on windows, because it has a\n // PROFOUNDLY annoying habit of not closing handles promptly when\n // files are deleted, resulting in spurious ENOTEMPTY errors.\n const startTime = Date.now()\n do {\n try {\n const ret = options.rmdirSync(p, options)\n return ret\n } catch {}\n } while (Date.now() - startTime < 500) // give up after 500ms\n } else {\n const ret = options.rmdirSync(p, options)\n return ret\n }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n","'use strict'\n\nconst file = require('./file')\nconst link = require('./link')\nconst symlink = require('./symlink')\n\nmodule.exports = {\n // file\n createFile: file.createFile,\n createFileSync: file.createFileSync,\n ensureFile: file.createFile,\n ensureFileSync: file.createFileSync,\n // link\n createLink: link.createLink,\n createLinkSync: link.createLinkSync,\n ensureLink: link.createLink,\n ensureLinkSync: link.createLinkSync,\n // symlink\n createSymlink: symlink.createSymlink,\n createSymlinkSync: symlink.createSymlinkSync,\n ensureSymlink: symlink.createSymlink,\n ensureSymlinkSync: symlink.createSymlinkSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\nconst { areIdentical } = require('../util/stat')\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n fs.lstat(dstpath, (_, dstStat) => {\n fs.lstat(srcpath, (err, srcStat) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n if (dstStat && areIdentical(srcStat, dstStat)) return callback(null)\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n let dstStat\n try {\n dstStat = fs.lstatSync(dstpath)\n } catch {}\n\n try {\n const srcStat = fs.lstatSync(srcpath)\n if (dstStat && areIdentical(srcStat, dstStat)) return\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst path = require('path')\nconst fs = require('../fs')\nconst _mkdirs = require('../mkdirs')\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = require('./symlink-paths')\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = require('./symlink-type')\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = require('../path-exists').pathExists\n\nconst { areIdentical } = require('../util/stat')\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n fs.lstat(dstpath, (err, stats) => {\n if (!err && stats.isSymbolicLink()) {\n Promise.all([\n fs.stat(srcpath),\n fs.stat(dstpath)\n ]).then(([srcStat, dstStat]) => {\n if (areIdentical(srcStat, dstStat)) return callback(null)\n _createSymlink(srcpath, dstpath, type, callback)\n })\n } else _createSymlink(srcpath, dstpath, type, callback)\n })\n}\n\nfunction _createSymlink (srcpath, dstpath, type, callback) {\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n let stats\n try {\n stats = fs.lstatSync(dstpath)\n } catch {}\n if (stats && stats.isSymbolicLink()) {\n const srcStat = fs.statSync(srcpath)\n const dstStat = fs.statSync(dstpath)\n if (areIdentical(srcStat, dstStat)) return\n }\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n","'use strict'\n\nconst path = require('path')\nconst fs = require('graceful-fs')\nconst pathExists = require('../path-exists').pathExists\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n","'use strict'\n\nconst u = require('universalify').fromPromise\nconst jsonFile = require('./jsonfile')\n\njsonFile.outputJson = u(require('./output-json'))\njsonFile.outputJsonSync = require('./output-json-sync')\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n","'use strict'\n\nconst jsonFile = require('jsonfile')\n\nmodule.exports = {\n // jsonfile exports\n readJson: jsonFile.readFile,\n readJsonSync: jsonFile.readFileSync,\n writeJson: jsonFile.writeFile,\n writeJsonSync: jsonFile.writeFileSync\n}\n","let _fs\ntry {\n _fs = require('graceful-fs')\n} catch (_) {\n _fs = require('fs')\n}\nconst universalify = require('universalify')\nconst { stringify, stripBom } = require('./utils')\n\nasync function _readFile (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n let data = await universalify.fromCallback(fs.readFile)(file, options)\n\n data = stripBom(data)\n\n let obj\n try {\n obj = JSON.parse(data, options ? options.reviver : null)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n\n return obj\n}\n\nconst readFile = universalify.fromPromise(_readFile)\n\nfunction readFileSync (file, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n const fs = options.fs || _fs\n\n const shouldThrow = 'throws' in options ? options.throws : true\n\n try {\n let content = fs.readFileSync(file, options)\n content = stripBom(content)\n return JSON.parse(content, options.reviver)\n } catch (err) {\n if (shouldThrow) {\n err.message = `${file}: ${err.message}`\n throw err\n } else {\n return null\n }\n }\n}\n\nasync function _writeFile (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n\n await universalify.fromCallback(fs.writeFile)(file, str, options)\n}\n\nconst writeFile = universalify.fromPromise(_writeFile)\n\nfunction writeFileSync (file, obj, options = {}) {\n const fs = options.fs || _fs\n\n const str = stringify(obj, options)\n // not sure if fs.writeFileSync returns anything, but just in case\n return fs.writeFileSync(file, str, options)\n}\n\nconst jsonfile = {\n readFile,\n readFileSync,\n writeFile,\n writeFileSync\n}\n\nmodule.exports = jsonfile\n","function stringify (obj, { EOL = '\\n', finalEOL = true, replacer = null, spaces } = {}) {\n const EOF = finalEOL ? EOL : ''\n const str = JSON.stringify(obj, replacer, spaces)\n\n return str.replace(/\\n/g, EOL) + EOF\n}\n\nfunction stripBom (content) {\n // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified\n if (Buffer.isBuffer(content)) content = content.toString('utf8')\n return content.replace(/^\\uFEFF/, '')\n}\n\nmodule.exports = { stringify, stripBom }\n","'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFile } = require('../output')\n\nasync function outputJson (file, data, options = {}) {\n const str = stringify(data, options)\n\n await outputFile(file, str, options)\n}\n\nmodule.exports = outputJson\n","'use strict'\n\nconst u = require('universalify').fromCallback\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst mkdir = require('../mkdirs')\nconst pathExists = require('../path-exists').pathExists\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\n}\n","'use strict'\n\nconst { stringify } = require('jsonfile/utils')\nconst { outputFileSync } = require('../output')\n\nfunction outputJsonSync (file, data, options) {\n const str = stringify(data, options)\n\n outputFileSync(file, str, options)\n}\n\nmodule.exports = outputJsonSync\n","'use strict'\n\nmodule.exports = {\n moveSync: require('./move-sync')\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copySync = require('../copy-sync').copySync\nconst removeSync = require('../remove').removeSync\nconst mkdirpSync = require('../mkdirs').mkdirpSync\nconst stat = require('../util/stat')\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, 'move', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n if (!isParentRoot(dest)) mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite, isChangingCase)\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase) {\n if (isChangingCase) return rename(src, dest, overwrite)\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n","'use strict'\n\nconst u = require('universalify').fromCallback\nmodule.exports = {\n move: u(require('./move'))\n}\n","'use strict'\n\nconst fs = require('graceful-fs')\nconst path = require('path')\nconst copy = require('../copy').copy\nconst remove = require('../remove').remove\nconst mkdirp = require('../mkdirs').mkdirp\nconst pathExists = require('../path-exists').pathExists\nconst stat = require('../util/stat')\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, isChangingCase = false } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n if (isParentRoot(dest)) return doRename(src, dest, overwrite, isChangingCase, cb)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, isChangingCase, cb)\n })\n })\n })\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase, cb) {\n if (isChangingCase) return rename(src, dest, overwrite, cb)\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n","module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"compare.1b61c4a6.js\"))).then(() => parcelRequire('atHBZ'));"],"names":[],"version":3,"file":"installation.6c1a001e.js.map"} \ No newline at end of file diff --git a/dist/installation.d.ts b/dist/installation.d.ts deleted file mode 100644 index 5b3ccee..0000000 --- a/dist/installation.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function isServeDUpToDate(givenFile: string, targetFile: string): Promise; -export declare function installServeD(): Promise; diff --git a/dist/installation.js b/dist/installation.js deleted file mode 100644 index 5da89b8..0000000 --- a/dist/installation.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.installServeD = exports.isServeDUpToDate = void 0; -const fs_extra_1 = require("fs-extra"); -const path_1 = require("path"); -const compare_1 = __importDefault(require("semver/functions/compare")); -const child_process_1 = require("child_process"); -const util_1 = require("util"); -const execFile = util_1.promisify(child_process_1.execFile); -async function getCodeDBinFolder() { - const home = process.env.HOME; - if (typeof home === "string" && home !== "" && process.platform === "linux") { - if (await fs_extra_1.pathExists(path_1.join(home, ".local", "share"))) { - return path_1.join(home, ".local", "share", "code-d", "bin"); - } - else { - return path_1.join(home, ".code-d", "bin"); - } - } - else if (process.platform === "win32") { - const appdata = process.env.APPDATA; - if (typeof appdata === "string" && appdata !== "") { - return path_1.join(appdata, "code-d", "bin"); - } - } - else if (typeof home === "string" && home !== "") { - return path_1.join(home, ".code-d", "bin"); - } - return ""; -} -function isServeDInstalled(serveDPath) { - return fs_extra_1.pathExists(serveDPath); -} -async function getServeDVersion(file) { - var _a; - try { - const output = (await execFile(file, ["--version"])).stderr; - const version = (_a = output.match(/v(\d\S*)\s/)) === null || _a === void 0 ? void 0 : _a[1]; - return version; - } - catch (e) { - console.error(e); - return undefined; - } -} -async function isServeDUpToDate(givenFile, targetFile) { - const [givenVersion, targetVersion] = await Promise.all([getServeDVersion(givenFile), getServeDVersion(targetFile)]); - if (typeof givenVersion === "string" && - typeof targetVersion === "string" && - givenVersion !== "" && - targetVersion !== "") { - return compare_1.default(givenVersion, targetVersion) !== -1; - } - else { - return false; - } -} -exports.isServeDUpToDate = isServeDUpToDate; -async function copyServeD(bundledServerFolder, codeDBinFolder) { - atom.notifications.addInfo("Installing D servers..."); - await fs_extra_1.copy(bundledServerFolder, codeDBinFolder, { overwrite: true }); - atom.notifications.addSuccess("D servers was installed"); -} -async function installServeD() { - const distFolder = path_1.join(path_1.dirname(__dirname), "dist"); - const exeExtention = process.platform === "win32" ? ".exe" : ""; - const serveDExeFileName = `serve-d${exeExtention}`; - const bundledServerFolder = path_1.join(distFolder, `${process.platform}-${process.arch}`); - const codeDBinFolder = await getCodeDBinFolder(); - const serveDPath = path_1.join(codeDBinFolder, serveDExeFileName); - if (bundledServerFolder) { - const bundledServeDPath = path_1.join(bundledServerFolder, serveDExeFileName); - if (!(await isServeDInstalled(serveDPath)) || !(await isServeDUpToDate(serveDPath, bundledServeDPath))) { - await copyServeD(bundledServerFolder, codeDBinFolder); - } - } - else { - if (!(await isServeDInstalled(serveDPath))) { - atom.notifications.addError(`serve-d binary is not available for ${process.platform}. - Please built it from the source, place it under ${codeDBinFolder}, and restart Atom.`); - } - } - return serveDPath; -} -exports.installServeD = installServeD; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luc3RhbGxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1Q0FBMkM7QUFDM0MsK0JBQW9DO0FBQ3BDLHVFQUFvRDtBQUVwRCxpREFBdUQ7QUFDdkQsK0JBQWdDO0FBQ2hDLE1BQU0sUUFBUSxHQUFHLGdCQUFTLENBQUMsd0JBQVcsQ0FBQyxDQUFBO0FBRXZDLEtBQUssVUFBVSxpQkFBaUI7SUFDOUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUE7SUFDN0IsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLEVBQUUsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtRQUMzRSxJQUFJLE1BQU0scUJBQVUsQ0FBQyxXQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sV0FBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQTtTQUN0RDthQUFNO1lBQ0wsT0FBTyxXQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQTtTQUNwQztLQUNGO1NBQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtRQUN2QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQTtRQUNuQyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ2pELE9BQU8sV0FBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUE7U0FDdEM7S0FDRjtTQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7UUFDbEQsT0FB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QyxDQUFBO1NBQ3REO0tBQ0Y7U0FBTTtRQUNMLElBQUksQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDekIsdUNBQXVDLE9BQU8sQ0FBQyxRQUFROzBEQUNMLGNBQWMscUJBQXFCLENBQ3RGLENBQUE7U0FDRjtLQUNGO0lBQ0QsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQztBQXpCRCxzQ0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3B5LCBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCB7IGpvaW4sIGRpcm5hbWUgfSBmcm9tIFwicGF0aFwiXG5pbXBvcnQgc2VtdmVyQ29tcGFyZSBmcm9tIFwic2VtdmVyL2Z1bmN0aW9ucy9jb21wYXJlXCJcblxuaW1wb3J0IHsgZXhlY0ZpbGUgYXMgZXhlY0ZpbGVSYXcgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tIFwidXRpbFwiXG5jb25zdCBleGVjRmlsZSA9IHByb21pc2lmeShleGVjRmlsZVJhdylcblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q29kZURCaW5Gb2xkZXIoKSB7XG4gIGNvbnN0IGhvbWUgPSBwcm9jZXNzLmVudi5IT01FXG4gIGlmICh0eXBlb2YgaG9tZSA9PT0gXCJzdHJpbmdcIiAmJiBob21lICE9PSBcIlwiICYmIHByb2Nlc3MucGxhdGZvcm0gPT09IFwibGludXhcIikge1xuICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKGpvaW4oaG9tZSwgXCIubG9jYWxcIiwgXCJzaGFyZVwiKSkpIHtcbiAgICAgIHJldHVybiBqb2luKGhvbWUsIFwiLmxvY2FsXCIsIFwic2hhcmVcIiwgXCJjb2RlLWRcIiwgXCJiaW5cIilcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGpvaW4oaG9tZSwgXCIuY29kZS1kXCIsIFwiYmluXCIpXG4gICAgfVxuICB9IGVsc2UgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09IFwid2luMzJcIikge1xuICAgIGNvbnN0IGFwcGRhdGEgPSBwcm9jZXNzLmVudi5BUFBEQVRBXG4gICAgaWYgKHR5cGVvZiBhcHBkYXRhID09PSBcInN0cmluZ1wiICYmIGFwcGRhdGEgIT09IFwiXCIpIHtcbiAgICAgIHJldHVybiBqb2luKGFwcGRhdGEsIFwiY29kZS1kXCIsIFwiYmluXCIpXG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVvZiBob21lID09PSBcInN0cmluZ1wiICYmIGhvbWUgIT09IFwiXCIpIHtcbiAgICByZXR1cm4gam9pbihob21lLCBcIi5jb2RlLWRcIiwgXCJiaW5cIilcbiAgfVxuICByZXR1cm4gXCJcIlxufVxuXG5mdW5jdGlvbiBpc1NlcnZlREluc3RhbGxlZChzZXJ2ZURQYXRoOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHBhdGhFeGlzdHMoc2VydmVEUGF0aClcbn1cblxuLyoqIEdldCB0aGUgdmVyc2lvbiBvZiBzZXJ2ZS1kICovXG5hc3luYyBmdW5jdGlvbiBnZXRTZXJ2ZURWZXJzaW9uKGZpbGU6IHN0cmluZykge1xuICB0cnkge1xuICAgIGNvbnN0IG91dHB1dCA9IChhd2FpdCBleGVjRmlsZShmaWxlLCBbXCItLXZlcnNpb25cIl0pKS5zdGRlcnJcbiAgICBjb25zdCB2ZXJzaW9uID0gb3V0cHV0Lm1hdGNoKC92KFxcZFxcUyopXFxzLyk/LlsxXVxuICAgIHJldHVybiB2ZXJzaW9uXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGUpXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbi8qKiBDaGVjayBpZiB0aGUgZ2l2ZW4gc2VydmUtZCBpcyB1cCB0byBkYXRlIGFnYWluc3QgdGhlIHRhcmdldCB2ZXJzaW9uICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNTZXJ2ZURVcFRvRGF0ZShnaXZlbkZpbGU6IHN0cmluZywgdGFyZ2V0RmlsZTogc3RyaW5nKSB7XG4gIGNvbnN0IFtnaXZlblZlcnNpb24sIHRhcmdldFZlcnNpb25dID0gYXdhaXQgUHJvbWlzZS5hbGwoW2dldFNlcnZlRFZlcnNpb24oZ2l2ZW5GaWxlKSwgZ2V0U2VydmVEVmVyc2lvbih0YXJnZXRGaWxlKV0pXG4gIGlmIChcbiAgICB0eXBlb2YgZ2l2ZW5WZXJzaW9uID09PSBcInN0cmluZ1wiICYmXG4gICAgdHlwZW9mIHRhcmdldFZlcnNpb24gPT09IFwic3RyaW5nXCIgJiZcbiAgICBnaXZlblZlcnNpb24gIT09IFwiXCIgJiZcbiAgICB0YXJnZXRWZXJzaW9uICE9PSBcIlwiXG4gICkge1xuICAgIHJldHVybiBzZW12ZXJDb21wYXJlKGdpdmVuVmVyc2lvbiwgdGFyZ2V0VmVyc2lvbikgIT09IC0xXG4gIH0gZWxzZSB7XG4gICAgLy8gYXNzdW1lIGdpdmVuIHZlcnNpb24gaXMgb2xkXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY29weVNlcnZlRChidW5kbGVkU2VydmVyRm9sZGVyOiBzdHJpbmcsIGNvZGVEQmluRm9sZGVyOiBzdHJpbmcpIHtcbiAgYXRvbS5ub3RpZmljYXRpb25zLmFkZEluZm8oXCJJbnN0YWxsaW5nIEQgc2VydmVycy4uLlwiKVxuICAvLyBjb3B5IHRoZSB3aG9sZSBzZXJ2ZWQgZm9sZGVyXG4gIGF3YWl0IGNvcHkoYnVuZGxlZFNlcnZlckZvbGRlciwgY29kZURCaW5Gb2xkZXIsIHsgb3ZlcndyaXRlOiB0cnVlIH0pXG4gIGF0b20ubm90aWZpY2F0aW9ucy5hZGRTdWNjZXNzKFwiRCBzZXJ2ZXJzIHdhcyBpbnN0YWxsZWRcIilcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluc3RhbGxTZXJ2ZUQoKSB7XG4gIGNvbnN0IGRpc3RGb2xkZXIgPSBqb2luKGRpcm5hbWUoX19kaXJuYW1lKSwgXCJkaXN0XCIpXG5cbiAgY29uc3QgZXhlRXh0ZW50aW9uID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gXCIuZXhlXCIgOiBcIlwiXG4gIGNvbnN0IHNlcnZlREV4ZUZpbGVOYW1lID0gYHNlcnZlLWQke2V4ZUV4dGVudGlvbn1gXG5cbiAgY29uc3QgYnVuZGxlZFNlcnZlckZvbGRlciA9IGpvaW4oZGlzdEZvbGRlciwgYCR7cHJvY2Vzcy5wbGF0Zm9ybX0tJHtwcm9jZXNzLmFyY2h9YClcblxuICBjb25zdCBjb2RlREJpbkZvbGRlciA9IGF3YWl0IGdldENvZGVEQmluRm9sZGVyKClcbiAgY29uc3Qgc2VydmVEUGF0aCA9IGpvaW4oY29kZURCaW5Gb2xkZXIsIHNlcnZlREV4ZUZpbGVOYW1lKVxuXG4gIGlmIChidW5kbGVkU2VydmVyRm9sZGVyKSB7XG4gICAgY29uc3QgYnVuZGxlZFNlcnZlRFBhdGggPSBqb2luKGJ1bmRsZWRTZXJ2ZXJGb2xkZXIsIHNlcnZlREV4ZUZpbGVOYW1lKVxuICAgIGlmICghKGF3YWl0IGlzU2VydmVESW5zdGFsbGVkKHNlcnZlRFBhdGgpKSB8fCAhKGF3YWl0IGlzU2VydmVEVXBUb0RhdGUoc2VydmVEUGF0aCwgYnVuZGxlZFNlcnZlRFBhdGgpKSkge1xuICAgICAgYXdhaXQgY29weVNlcnZlRChidW5kbGVkU2VydmVyRm9sZGVyLCBjb2RlREJpbkZvbGRlcilcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKCEoYXdhaXQgaXNTZXJ2ZURJbnN0YWxsZWQoc2VydmVEUGF0aCkpKSB7XG4gICAgICBhdG9tLm5vdGlmaWNhdGlvbnMuYWRkRXJyb3IoXG4gICAgICAgIGBzZXJ2ZS1kIGJpbmFyeSBpcyBub3QgYXZhaWxhYmxlIGZvciAke3Byb2Nlc3MucGxhdGZvcm19LlxuICAgICAgICBQbGVhc2UgYnVpbHQgaXQgZnJvbSB0aGUgc291cmNlLCBwbGFjZSBpdCB1bmRlciAke2NvZGVEQmluRm9sZGVyfSwgYW5kIHJlc3RhcnQgQXRvbS5gXG4gICAgICApXG4gICAgfVxuICB9XG4gIHJldHVybiBzZXJ2ZURQYXRoXG59XG4iXX0= \ No newline at end of file diff --git a/dist/linux-x64/dcd-client b/dist/linux-x64/dcd-client index 940791d..0159545 100755 Binary files a/dist/linux-x64/dcd-client and b/dist/linux-x64/dcd-client differ diff --git a/dist/linux-x64/dcd-server b/dist/linux-x64/dcd-server index 394c682..e9f3136 100755 Binary files a/dist/linux-x64/dcd-server and b/dist/linux-x64/dcd-server differ diff --git a/dist/linux-x64/serve-d b/dist/linux-x64/serve-d index 638926a..3ad552d 100755 Binary files a/dist/linux-x64/serve-d and b/dist/linux-x64/serve-d differ diff --git a/dist/tsconfig.tsbuildinfo b/dist/tsconfig.tsbuildinfo deleted file mode 100644 index a84d5e3..0000000 --- a/dist/tsconfig.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostic_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/util/types.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/ts3.6/base.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/base.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/atom/src/atom-environment.d.ts","../node_modules/@types/atom/src/text-editor-element.d.ts","../node_modules/@types/atom/dependencies/event-kit/index.d.ts","../node_modules/@types/atom/dependencies/first-mate/src/grammar.d.ts","../node_modules/@types/atom/dependencies/first-mate/src/first-mate.d.ts","../node_modules/@types/atom/dependencies/first-mate/index.d.ts","../node_modules/@types/atom/dependencies/pathwatcher/src/file.d.ts","../node_modules/@types/atom/dependencies/pathwatcher/src/directory.d.ts","../node_modules/@types/atom/dependencies/pathwatcher/src/main.d.ts","../node_modules/@types/atom/dependencies/pathwatcher/index.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/display-marker.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/display-marker-layer.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/helpers.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/marker.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/marker-layer.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/point.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/range.d.ts","../node_modules/@types/atom/dependencies/text-buffer/src/text-buffer.d.ts","../node_modules/@types/atom/dependencies/text-buffer/index.d.ts","../node_modules/@types/atom/src/buffered-node-process.d.ts","../node_modules/@types/atom/src/buffered-process.d.ts","../node_modules/@types/atom/src/clipboard.d.ts","../node_modules/@types/atom/src/color.d.ts","../node_modules/@types/atom/src/command-registry.d.ts","../node_modules/@types/atom/src/config.d.ts","../node_modules/@types/atom/src/config-schema.d.ts","../node_modules/@types/atom/src/context-menu-manager.d.ts","../node_modules/@types/atom/src/cursor.d.ts","../node_modules/@types/atom/src/decoration.d.ts","../node_modules/@types/atom/src/deserializer-manager.d.ts","../node_modules/@types/atom/src/dock.d.ts","../node_modules/@types/atom/src/get-window-load-settings.d.ts","../node_modules/@types/atom/src/git-repository.d.ts","../node_modules/@types/atom/src/grammar-registry.d.ts","../node_modules/@types/atom/src/gutter.d.ts","../node_modules/@types/atom/src/history-manager.d.ts","../node_modules/@types/atom/src/keymap-extensions.d.ts","../node_modules/@types/atom/src/layer-decoration.d.ts","../node_modules/@types/atom/src/menu-manager.d.ts","../node_modules/@types/atom/src/notification.d.ts","../node_modules/@types/atom/src/notification-manager.d.ts","../node_modules/@types/atom/src/other-types.d.ts","../node_modules/@types/atom/src/package.d.ts","../node_modules/@types/atom/src/package-manager.d.ts","../node_modules/@types/atom/src/pane.d.ts","../node_modules/@types/atom/src/panel.d.ts","../node_modules/@types/atom/src/path-watcher.d.ts","../node_modules/@types/atom/src/project.d.ts","../node_modules/@types/atom/src/scope-descriptor.d.ts","../node_modules/@types/atom/src/selection.d.ts","../node_modules/@types/atom/src/style-manager.d.ts","../node_modules/@types/atom/src/task.d.ts","../node_modules/@types/atom/src/text-editor.d.ts","../node_modules/@types/atom/src/text-editor-component.d.ts","../node_modules/@types/atom/src/text-editor-registry.d.ts","../node_modules/@types/atom/src/theme-manager.d.ts","../node_modules/@types/atom/src/tooltip.d.ts","../node_modules/@types/atom/src/tooltip-manager.d.ts","../node_modules/@types/atom/src/view-registry.d.ts","../node_modules/@types/atom/src/workspace.d.ts","../node_modules/@types/atom/src/workspace-center.d.ts","../node_modules/@types/atom/index.d.ts","../node_modules/atom-languageclient/typings/atom/index.d.ts","../node_modules/atom-ide-base/types-packages/uri.d.ts","../node_modules/atom-ide-base/types-packages/busy-signal.d.ts","../node_modules/@types/atom/linter/config.d.ts","../node_modules/@types/atom/linter/index.d.ts","../node_modules/atom-ide-base/types-packages/code-actions.d.ts","../node_modules/atom-ide-base/types-packages/code-highlight.d.ts","../node_modules/atom-ide-base/types-packages/datatip.d.ts","../node_modules/atom-ide-base/types-packages/definitions.d.ts","../node_modules/atom-ide-base/types-packages/find-references.d.ts","../node_modules/atom-ide-base/types-packages/hyperclick.d.ts","../node_modules/atom-ide-base/types-packages/outline.d.ts","../node_modules/atom-ide-base/types-packages/sig-help.d.ts","../node_modules/@types/trusted-types/index.d.ts","../node_modules/@types/dompurify/index.d.ts","../node_modules/atom-ide-base/types-packages/markdown-service.d.ts","../node_modules/atom-ide-base/types-packages/text-edit.d.ts","../node_modules/atom-ide-base/types-packages/code-format.d.ts","../node_modules/atom-ide-base/types-packages/refactor.d.ts","../node_modules/atom-ide-base/types-packages/console.d.ts","../node_modules/atom-ide-base/types-packages/main.d.ts","../node_modules/atom-languageclient/typings/atom-ide/index.d.ts","../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../node_modules/vscode-jsonrpc/lib/common/messageReader.d.ts","../node_modules/vscode-jsonrpc/lib/common/messageWriter.d.ts","../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../node_modules/atom-languageclient/build/lib/logger.d.ts","../node_modules/atom-languageclient/build/lib/languageclient.d.ts","../node_modules/atom-languageclient/build/lib/utils.d.ts","../node_modules/atom-languageclient/build/lib/server-manager.d.ts","../node_modules/@types/atom/autocomplete-plus/config.d.ts","../node_modules/@types/atom/autocomplete-plus/index.d.ts","../node_modules/atom-languageclient/build/lib/types/autocomplete-extended.d.ts","../node_modules/atom-languageclient/build/lib/adapters/autocomplete-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/datatip-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/definition-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/find-references-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/linter-push-v2-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/logging-console-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/outline-view-adapter.d.ts","../node_modules/atom-languageclient/build/lib/adapters/signature-help-adapter.d.ts","../node_modules/atom-languageclient/build/lib/auto-languageclient.d.ts","../node_modules/atom-languageclient/build/lib/convert.d.ts","../node_modules/atom-languageclient/build/lib/download-file.d.ts","../node_modules/atom-languageclient/build/lib/adapters/command-execution-adapter.d.ts","../node_modules/atom-languageclient/build/lib/main.d.ts","../node_modules/@types/fs-extra/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../src/installation.ts","../src/ide-d.ts","../node_modules/@types/keyv/index.d.ts","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/@types/responselike/index.d.ts","../node_modules/@types/cacheable-request/index.d.ts","../node_modules/@types/decompress/index.d.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/glob/index.d.ts","../node_modules/@types/jasmine/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/@types/mdast/index.d.ts","../node_modules/@types/prop-types/index.d.ts","../node_modules/@types/react/global.d.ts","../node_modules/csstype/index.d.ts","../node_modules/@types/scheduler/tracing.d.ts","../node_modules/@types/react/index.d.ts","../node_modules/@types/react-dom/index.d.ts","../node_modules/@types/rimraf/index.d.ts","../node_modules/@types/scheduler/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"41a44aa1929121f5c3124733b5ca9c59717a092b899b3771cc983939ae99eeb2","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","297f4ea4e4a5161a6627bc65c83040a91e0792e92bdc4764e24650831cc9867c","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","5375c30f03b01e610f7370e40ccf3ade1d96de99e9a9a9a0cb0f96fc98aefb71","797a9d37eb1f76143311c3f0a186ce5c0d8735e94c0ca08ff8712a876c9b4f9e","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"bd30510d2d803f453e10604277088a46327f5f0b6aa2b957306c458d7428f8f7","214cf066391a5a651001ebcee2c21ee4d45e8124579d271c59d7c2343bb9d29a","d28c8598067b15c7643558b936e68caefe5d171d0e629e19e2aa6ca870bb4b00","15543feaed3ce6b96bc0508f3e3f8b8f729fae62d0609bddacd483145e71c594","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","6ea59cf5479f3fad5db2caa4513d8d06d6cfee8d8df69e7a040c9b5b7f25f39c","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","c5d34a331269919942dea53f6aa53a9ae20306ce44f3aacf2c22c6ae6dad8a37",{"version":"dd3f82b87fa256e7c5a66c9b8ddcc9b53275b3531c10a769722c5103a30a97e9","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","f6ea38ddcee37ec1bebde700e3a4d85040bf2d239600c877ecefd9b265066b24","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","1a63584d6605d1d5b5fd5c4fa2dc2fa5a2134aa775fcfd95fbdb705971c9ca29","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","f49709e8c096b05aca0674d39f471aa05261de7c756df9abdf4a53ed0fa98901","baca27d1de400e027cdc70217ca73e414002baef5798aa24a921097c20066fa1","75b9229192e6da08f6e06daa2b9243c251e14f179dfcc9cc9bf02dd70eabeb48","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","0431a29ecc5bb615e6d6d1709941bdf16e708f760099d017f5408a1e68e2d248","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","1288f8ee930c03fd535824f8fe852375ec7181d73e4c1f445b82b414c95c5bbe","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","30368d3789ec56ef3006c5f2115bd00faa21471aed6cbe6fec54a5683e5497ed","538743c4a70f32d2f6af137ff44a043c49dc8da6ebe2ad5e7da60cc953630e29","d2104c54b34158356c4c17dd37c7dd29e1c7dc4c77d9077e921f37d0b0f5cb87","8989b83d1d34dc4ef1100cbcc0f983f69d63118aeca3de5947e1c431ccd21ccc","35c935b77ca1da8fbf901931e0d8f25bff1cdedc9cbc01d98180cb496c445c21","3d1ffbc8fc8790ce6eef1e4ce1e79bfd5e9d0bc7d4f7cac0e95c54a7e1141875","128307a9785a229de861f811864e872ccc7b98da7953f6a67168addf64164fae","79d8197c490b07c732957dfc053b0a1bceaeba6cca9d3de6ce784d6b949fca4b","a49b47dfb004f10f3b23bb790de0c74667dfd053f7eda02ac831c351c7875498","5af3737dddb6e952a498672892404be1105ec2751b09467fbb5fd4b95efbd99b","9a1aef5196a946220a7ef874a7bc7424efef78d23ba8ff20df281b36ef62837a","3e587a8ba8dccc8217a1dfe64ca76e132ed54fdcc794765d090e0aa0147aad67","4d6e6619818eca8ab323f7b2199d9f2b324492bbf8e28dd29e3be90eb3530e8e","05d99f695e6424963c16f8a990e2fd0b703a8079baa1445ef2915fe525efc85b","acf2768b45d187b81284aa4f8e716413ce8776a90a72e755403faba08eef7dbe","8acaecb37a96026cb6d1ddb3ca4ddb32722890d18f35bc6e019dc9703dd72529","88d9da0dab92c994d171a7999ca48974be8f99c041622a78d0b1f3ff27588fc1","dc172eb5106eefa395d091bdb0d8b1963a86aae82a6a7192c1910e7f11083ccd","edaf342a2f1528da49e69e479132a88102b8d9866b129bdcf1e59d86cbd6341f","2cb11a971470a03e828df7520b3153e514bfc5065597d0690a0439f7a5e4284a","839f9c729f3bfd673257683bb86879ba1c3f8b41f01c2a6a33295ebf14927ab5","9b37c5e6e6c985efb20425b725034100d4240afe789b2ea7c5760ab6205ab645","4d74b98b593856085848bde7d83f400ad2fe5a2c36ac9dfe863f96ac206ae55d","27656836bf9547d24ed317c044fe1a3feeb58aff8433ba7813d50e8f69088034","e42db4296d48fa63531ac389627d0577a0dd6f6491b47fd7398b17ff6abd2f6c","bddc0d81daa46345e19c159cbc90638380b24e8d6ddd89d1542c6d9e31ebeddc","a204b31c3672914ff68bb20bfdaae933bf7f8f943687c371b0fd32a3482fc5d4","aeed82530b6398bccd5920a2d4c19011102927c19ce0682dc94f70ecd457a4bb","c129f26b2f8b768c7fc6c5edfd7353599d2fa9fbd19c9175192a608d687ca9a4","41507092ec15c44f72df77d95847b87dccff5f9cce4a11ff6a6f0270f3df3e74","ef048a1d0f1a5f33453b2481987a0f5011e158b757fe4f4def16a2a31efd4623","0534a685ecb1022ec62f19fe7252137f652dde0d86404723e021ed714d44c442","0be9967f0df1fd5673b743b218dde9378b8d0aa0e4a8f364f567b0bd3f004d27","867d4bc564691a35170c6620b658d0f745229a3cc30016e08520181bb1a7f1d3","429c0ccb47f85fab9f0096859a31f2bc20e2b8a814022cd71f6e5cc88ee550f1","060abd605f5f3a963d04ce8a5242f751294d4ad135ad349751089e7c29aec0d0","6c83ec67f9e4afb6ca82b7be9548cc004e8d9ef6ac6aa29b2a6846cb9e5adb5d","23782509c8247596fc3cd2080fc4491e548e1b4587939b68eb4e390eca48b971","f50fa063598d47694feba8f4d91f9fcac813b2c6fdaa5981c6ff466952faaf48","69977ff2a9fb72635702a1d7bf86fab73cf5184d45921f27affac20bb0c3ceae","5a4381be6da0f0383519663bb25660e094c9fc7cb658bf60a2cc221ffa8c7cda","b193ed7441b78595000bcd07c92bfa1b36493910579f1c33daafe42a90600537","e0196a20e6956f17ecf8f04188d34e4b3102e2b6f068b68fdfcecdefaa506e7a","e3d78def8d4e6bb8397b25068fdae6eac9d181a75c78dcf20227a251ee00bce3","0d70c986f1a71c38bf3c3c6b54425c4ba624642231ea8471a21adcd69ecbdd4d","13508efda3383aae203a1a8b5b90b79f99fea1920b65db9ff4a39538934b6c10","3a46c481fc512cce568b39ab364bb02ec588fc276240caf34e015444a5fd26d2","9098640c076d1bdbe6daf7b48d08bb2200ac28cce6db7d08118ae676a99406c9","b64113de8d7989a04f8f94e2c125ac426b9a5797fc2245bf70b96e25c1a06d76","7916e7c886d2088f3a9cad90c7967426d23a92930baf4f9e3b027cb904bc5c09","833a669fdba855086b045a3021b9b51040bd46c565a44f5cae5393cf1e8093b8","c6e2264465eb2e8cb2e12b67adc878e3a397efd6328e550b0a1a5bffabcad66d","048f40812b2a786d92fc8db2f174d35fa64581859cef090087a0f392d4010a3d","b130b6175f23bb5d9e5006ea959b78db664fe4f01abb377258e789c49c4c7cfd","2163bfddb0e1569e330731191e593feb3582cd0d27518993b6970aa8d62016ed","d302ecc0b3d2c60e6408fd2469e726967c7114d5f89b97d82f316feb8557c69d","4782235ebc38ab1dada9c9bb80ee43982f076c6d420bb0772c40fe615901889c","8f3a97edf479a690f731502f11179ec8264e11876a2b5b960a8ed64201392d86","fe9b9da3ace303035d4492d77bfed0260b3d50a04e0fbb128f6c47dcc97e8618","26062553cec8ef883a3617e98d29b395419287e48f4102105a2ee80c1997bac1","13972f1ccb5602c28eba0b02e7f6012f9eaaa0a1d56fb091996a33d67df5b3f0","f2b32e966e35467d563af676842b4e0718f1cd634f2dfdce3972ae101e5a8564",{"version":"00ef4a4324556eab6e45809e757354899d1ded0f5b2134465ee10e450f9c8d61","affectsGlobalScope":true},"22da94e69bfd63aaad7e49345e467497f1a2984ee03499b5ff6b2c07119d0ad2","56e9508f9d3e8c96d3a3f1658371293e8bc04f814da40ab3fde1b41edce4c5dd","5a322435cefe415e1a9d2c73c27e191b4114aefed2b1a49ef1e175708461d2d3","e149341309d7f08a73ade2b661a2f127ba560b7ea1780e85acfe3cdcb3d92be0","4f873a462f3653de5ac9ac1dc5a8e3c124efb25990972db81b8abee3ebae3f0a","3fa688d7d75a12a6ba2c9b4720c42a8bae33d54f11dc3f6b700debe93bc70e6e","87dd41b85c6a3d3325a8b3ab428c9c1f76bc6d1b651c879fa97d59223451cdcd","481cfd5d6497706efc11bdebbdbace30075d5f898cdd41f8970f061cfe40a967","e1306cd9eab6c0b3a5b488e9798b350244bbe7327d4ca845d982e1d6a1826a1a","e0081090f7862a7c3017f72d44ee8e2a28573b65c9f739006867e69b8ecef980","ab168fc1219e2fbd709090fd102b12610e1c1a7e0615097f5d9ff19ca442fa12","9821433ffadcd2a35d5eecbb6b17a55629ef7237c3473fe2e73ee4923f8c64ec","1fa32cdf99c6edc163d4b24059f066800a7ad0c000c43f660c1cead431de5853",{"version":"8e21d8ac0b66ff00edcdb504c6b6cb8ff639d30397e4715b362bedc3fb461929","affectsGlobalScope":true},"207be99e8d7364b5c6893fd4454ab323da7ec9bfc6e75ad02faedf1b7037f302","0b5c66f11b459e6a588221ad4974b7a7dcc1ee606a3de28516b9bfd57a5a4d73","bfe6237b2761c335b61c7fe90fa3e451e582d5ff1109b9225f1e188dd59efd57","a494399a814393efdcd4066904822d0292e7b999bca3fc91478b0f4bad64967b","74e89ad35934a9146c55e67657e23447a56f06ee0273eb44ddf0d248e9d67fcd","3077b10aeb84262b97adbd643e603ee5db682f2fdb8ea7b61fbc44bf3513462c","397996b87ee1d1979b610ebff6140f7e3da356cac2b9952f87fe727544e082b2","09f76a48059a37261b51245f8309fdadfa32dc388d4016f0fca96197deb1bdd1",{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true},"58bdd5fd93f39bae19f34924ad304608ee37b6c6b357a57823ddfd2585a56d0f","f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","b61ebe734dabd3ca10247807bfa4585ed51c889282e5decd152eea86daea7383","41a35a21d3c9c0450229cf41be783285f3c01edd84039a41ffd162d42a93a576","ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","9686c9ade71de53d81ee3e41ff7450d08bd08fff4f545af39e37eeda228745d6","78fbf5d1265bdca3b2e54323d63678e3f73fecf70c05d988966a683da4cdf2f8","37c0fd48eb043fdc395435716585587815f63afc66159588db8ed6c25a5f0636","7cd0faa5800c730d5e9387a5ad312732d95d0a3bd5a67e266721f36ae1068a91","03a931e4fb1e8b851a171b246a8aeba575fcdecde60c914b23f472af5beb29b0","a337b9716b16c46e80a8810209cb162d32af16c6c93b331edcc01cdce5d82eba","f22230ec7c2b08a8f8dc110bacd30c910701cb7347b3129b9cf12f6e28130656","73623979b2b6f47b9af0efea985d91197a3c3303466ed786163757f0aa6b45bc","ad91f5cc45805d17ac94b01428f82b182c6ff0ebe6343d72fd298945478d203d","df4ba08679bfd850b787d662118aae3c4741dcaa661cf8689a768dab462cfd90","4acc4bccbdec774c58992a87f3ac2731f9d38c821520d06b4d53911898d0e3ec","94d6422d3c3faf923fbdff1ce7457a25f9b0b55e8a2fe0fefa8bfa7a89cf6676","1c775cb43c5edae0a7b4a5e543c07baab07f751e5cccc60a22c5bc3f6e38309c","0eef4cf077011e3d1839dfb93ab894cd611cf552c26eb995c822e8d9b71d93a1","f356e7999affebf5745d8ffdf0cb70426bc966da461166408099e4dac35e98c2","254265a792bdf31050dc2524733465d3ace0b179779e1ff8a97b2752a9b56656","1b85664bf562d2d216d71b940d8097600b4ed626f67528c868ced65dbe7288e6","7891c7290f213b63911a1391b3dfe08c9bfa54d401f28e167d0c57553eee80c0","707db20cf8a4ee166e63861c0a7d355b44595555e0248565479e745f6c1034d0","2a9788e7789f4ab603d4d3982fe5a98ff51b699b8ec4653fceb3192e147337dc","5bee6b675b1a0ece9d5082d438e923f112343685d4bc54b20a4dfbed09dbe323","ebd7209e5b648af7b6e3677280368b3c8ccef579a27c2386f7f5d376f1e14533","60f5fe888f5364424f9cdf43eef013cdcd6827cbec1d6d20fa191f5ebe827afd","aca0e55a2961b519f8857517e2cdf6085f024bb10c6961e120c80b76569fc4d7","26245b1b8452c300347a31b37a052c3244a36393dec03facfa4b31a8d8687184","f75b50d516af4f375d1dc1bd134cac147b97b9f65a75ea2a496bc0999c6b2ecc","ea0b22f918dbb16846852463af0769673b3d210ca4a163bff060070fab208f9d","4c172f5ee314eb1684397a7f49a8f58bb38a71b4c522382343c2d026e0dda7b9","7305324e1f037c1d220ba88c19d2bf1eb255a9294b05c143b162f9009b7171ea","cd715ad1bdab30da9b91b985780d5b9696262d0e9fe5f390a7e6468b828a751c","d21a01533cbd8e4fd8ca51ddb3e7ca1f9b958bcd22bd98f3ba9f2739b90f47a1","d61ad6f785c38b6968502c0dff39b5a22c4a5719d57fbb6859fc4a539f5a53e8","c45b9748e5c55fcabd6c5b21f23032a14912ac1b70292c10c858bf4cd97aca39","379924e5e557060e15c967de4b23019e775d8b7c43d7566173b3dd9f202df01e","4bd5830cd7219629bd334b319234e54a75942d6d49513a1f01dcdf34bff51b57","4a47fb3ea69234208970f9ab49d205e3a210a554dbec97114b39e8925fd364b8","dd45edb68d09684a62bc97a86b769ae88011ce987173bd1d498e22649785994d","5d98f170700d484adfd9c79a199d7a48034759ec7bd3c78d522a255b843adc1a","6487c3ee95650d497c14e1327b361d33d1eda7fbb37898f5ea36d400aa1304d5","984d53711637b2aa53a9749e12a66543bc55ac5e3edbd40b1da20fe536a6ee35","06b6fd2fe15057b1c080a979040a0caa949c964562cba1924a774ac51a5f6ef7","792b4c67b49312c7ee28c200b69d52c5fb81670bc1448191f65d1ad5d6bfa129","23cfbd0326c598562a67d32ddcdee0f5b441c12986308b0056ef265ae2a44765","d9e5b5db153cc91e779bd5be296b00db4208ee75763b19959364ebbeb4cb1e08","400d7e0a7e5d201ddff329efa53e656491a3a94469a36d1f00c332bb5bc90e81","8d01c38ccb9af3a4035a68818799e5ef32ccc8cf70bdb83e181e1921d7ad32f6","d9e55d93aa33fad61bd5c63800972d00ba8879ec5d29f6f3bce67d16d86abc33","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","c544d81603149987796b24cca297c965db427b84b2580fb27e52fb37ddc1f470","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","9eb2875a1e4c583066af7d6194ea8162191b2756e5d87ccb3c562fdf74d06869","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","058b8dd97b7c67b6bf33e7bda7b1e247b019b675d4b6449d14ac002091a8b4f8","89c8a7b88c378663a8124664f2d9b8c2887e186b55aa066edf6d67177ca1aa04","5a30ba65ad753eb2ef65355dbb3011b28b192cb9df2ef0b5f595b51ca7faf353","5192f9a6469f849e0863616b668fde54bcd6704394b4bfbd115691865f66d761","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","0123340327efb174818f4b78bf6a9b12f8470754e6afac9e4d32a2ad27521f7b","9795e0a3a45d5b6f1a791ee54b7c8b58bc931e8900966cea2dff9c5bae56073b","5890be29879d02424b7654f40592915189034948f7a18c5ad121c006d4e92811","0ab49086f10c75a1cb3b18bffe799dae021774146d8a2d5a4bb42dda67b64f9b","81c77839e152b8f715ec67b0a8b910bcc2d6cf916794c3519f8798c40efd12ac","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","464843c00fb3dd4735b28255c5c9fe713f16b8e47a3db09ba1647687440f7aef","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","03d2e70c34640b553ed580286eb234835695ea1e473d837a4ced672648d453cd","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","d93ae9d87e1a477cac236500f6e3235c7ab0df2dfffca8ca83e46a71621cf3a0","1f1253806d587752089ec0c69314945d155a00a8ffb9eee31fb68eec89148693","9e7f7ac4d964992cf1b77612ca07e5695821881aa1a9acb0ef0509f192a5ea23","0bf440ab914e79e890cb15e5ffacb5e18bec678338b3eab069a5829d3d5c96e3","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","73c05cca1bb5aa8e93efd089af51643b7ff005e47064a0e624a74ee20480a2eb","fb32fb9b2a2c9cfccae34a6383834030ea9ebab2e46964ab6e876fe2b9ca2f42","95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2","393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0",{"version":"24e62aa12d1d969b2d5860749e820b72facc9a8d74e26ccb09890c6e63f03b49","affectsGlobalScope":true},"3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76","a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"09f93eb1a5f70b195569f58a3d7852d64e3b293d773cd35f332079efc75ded56","affectsGlobalScope":true},"f5bef21d79a0083d52769b9d0a549e69bc523449719aca12144cd7d55fc29c11","ad23ef9834b5b8819ca9da91e9d534514d47d31d33fa384d82697c7b9502572c","3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5","3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26"],"options":{"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":false,"inlineSourceMap":true,"inlineSources":true,"jsx":2,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","removeComments":true,"strictNullChecks":true,"target":5},"fileIdsList":[[106,142,146],[142,200],[85],[84],[142],[89],[87,142],[44,88,142],[87,88],[98],[98,142],[44,91,92,93,94,95,96,97,98,142],[80,81,82,83,86,90,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],[106,142,200],[142,146],[33,142],[142,146,200],[43,46,68,80,259,260,261],[80],[156],[44,80],[43,80,264],[43,80],[269],[78],[77,78],[43,44,51,60],[33,43,51],[69],[37,44,52],[60,65],[40,43,51],[41],[40],[43],[43,45,60,68],[43,44],[51,60,68],[43,44,46,51,60,65,68],[46,65,68],[79],[68],[40,43,60],[53],[31],[67],[58,69,72],[43,61],[60],[63],[51],[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],[57],[70],[37,43,45,54,60,68,72],[275],[271,272,273,274],[46,60,80],[44,80,265],[217,255],[217,240,255],[255],[217],[217,241,255],[217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,256],[241,255],[43,60,80],[144],[142,147],[142,159],[142,144],[144,145,148,149,150,151,152,153,154,155,158,159,160,161,162],[157],[142,144,159],[142,197,199,201,202],[197,215],[142,163,197],[147,197],[163,197],[142,163,197,199],[33,51,80,142,147,164,196,197,198,199,201,203,204,205,206,207,208,209,210],[43,80,175,195,196],[143,164,196,198,207,211,212,213,214],[33,80,142,196,197,198],[201],[142,175],[163],[105,120,133,142,147],[165,166,167,168,169,171,172,173,174],[167,168],[166,167,168,169,172,173],[166,171],[167],[166,168,170,171,175],[166,168,170,171],[167,170],[175,176,177,193,194],[175,177],[175],[175,176,177,193],[175,177,193],[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192],[175,176,177],[177,193],[215,257],[33,53,69,216,256]],"referencedMap":[[200,1],[201,2],[86,3],[85,4],[84,5],[90,6],[88,7],[87,8],[89,9],[99,10],[92,11],[91,11],[93,10],[95,11],[94,11],[97,10],[98,12],[142,13],[146,14],[147,15],[81,5],[100,5],[101,16],[104,5],[106,17],[105,5],[107,5],[108,5],[109,5],[110,5],[111,5],[113,5],[114,5],[115,5],[116,5],[117,5],[118,5],[119,5],[121,5],[120,5],[122,5],[124,5],[123,5],[125,5],[126,5],[127,5],[128,5],[130,5],[131,5],[132,5],[134,5],[82,5],[135,5],[133,5],[136,5],[138,5],[139,5],[141,5],[140,5],[262,18],[263,19],[157,20],[216,21],[265,22],[259,23],[270,24],[29,25],[79,26],[33,27],[34,28],[35,29],[36,30],[37,31],[38,32],[40,33],[41,34],[42,35],[43,35],[44,36],[45,37],[46,38],[47,39],[48,40],[80,41],[49,35],[50,42],[51,43],[53,44],[54,45],[55,46],[58,35],[59,47],[60,48],[61,49],[64,50],[65,51],[77,52],[67,51],[68,53],[69,54],[71,49],[73,55],[74,49],[276,56],[275,57],[261,58],[277,59],[240,60],[241,61],[217,62],[220,62],[238,60],[239,60],[229,63],[228,63],[256,60],[222,60],[234,60],[232,60],[236,60],[221,60],[233,60],[237,60],[223,60],[224,60],[235,60],[218,60],[225,60],[226,60],[227,60],[231,60],[242,64],[230,60],[219,60],[255,65],[249,64],[251,66],[250,64],[243,64],[244,64],[246,64],[248,64],[252,66],[253,66],[245,66],[247,66],[279,67],[145,68],[148,69],[160,70],[149,5],[150,5],[151,71],[152,71],[153,5],[163,72],[158,73],[154,5],[161,74],[155,5],[159,5],[203,75],[214,76],[204,77],[205,77],[206,77],[207,78],[208,79],[209,77],[210,80],[211,81],[212,77],[197,82],[215,83],[199,84],[202,85],[198,86],[164,87],[143,88],[175,89],[169,90],[174,91],[170,92],[168,93],[172,94],[173,95],[171,96],[195,97],[194,98],[177,99],[187,100],[182,100],[181,101],[193,102],[184,100],[191,103],[183,100],[178,100],[190,100],[192,104],[186,103],[185,100],[188,100],[189,103],[179,100],[180,98],[258,105],[257,106]],"exportedModulesMap":[[200,1],[201,2],[86,3],[85,4],[84,5],[90,6],[88,7],[87,8],[89,9],[99,10],[92,11],[91,11],[93,10],[95,11],[94,11],[97,10],[98,12],[142,13],[146,14],[147,15],[81,5],[100,5],[101,16],[104,5],[106,17],[105,5],[107,5],[108,5],[109,5],[110,5],[111,5],[113,5],[114,5],[115,5],[116,5],[117,5],[118,5],[119,5],[121,5],[120,5],[122,5],[124,5],[123,5],[125,5],[126,5],[127,5],[128,5],[130,5],[131,5],[132,5],[134,5],[82,5],[135,5],[133,5],[136,5],[138,5],[139,5],[141,5],[140,5],[262,18],[263,19],[157,20],[216,21],[265,22],[259,23],[270,24],[29,25],[79,26],[33,27],[34,28],[35,29],[36,30],[37,31],[38,32],[40,33],[41,34],[42,35],[43,35],[44,36],[45,37],[46,38],[47,39],[48,40],[80,41],[49,35],[50,42],[51,43],[53,44],[54,45],[55,46],[58,35],[59,47],[60,48],[61,49],[64,50],[65,51],[77,52],[67,51],[68,53],[69,54],[71,49],[73,55],[74,49],[276,56],[275,57],[261,58],[277,59],[240,60],[241,61],[217,62],[220,62],[238,60],[239,60],[229,63],[228,63],[256,60],[222,60],[234,60],[232,60],[236,60],[221,60],[233,60],[237,60],[223,60],[224,60],[235,60],[218,60],[225,60],[226,60],[227,60],[231,60],[242,64],[230,60],[219,60],[255,65],[249,64],[251,66],[250,64],[243,64],[244,64],[246,64],[248,64],[252,66],[253,66],[245,66],[247,66],[279,67],[145,68],[148,69],[160,70],[149,5],[150,5],[151,71],[152,71],[153,5],[163,72],[158,73],[154,5],[161,74],[155,5],[159,5],[203,75],[214,76],[204,77],[205,77],[206,77],[207,78],[208,79],[209,77],[210,80],[211,81],[212,77],[197,82],[215,83],[199,84],[202,85],[198,86],[164,87],[143,88],[175,89],[169,90],[174,91],[170,92],[168,93],[172,94],[173,95],[171,96],[195,97],[194,98],[177,99],[187,100],[182,100],[181,101],[193,102],[184,100],[191,103],[183,100],[178,100],[190,100],[192,104],[186,103],[185,100],[188,100],[189,103],[179,100],[180,98],[258,105],[257,106]],"semanticDiagnosticsPerFile":[200,201,83,86,85,84,90,88,87,89,99,92,91,93,95,94,96,97,98,142,146,147,81,100,101,102,103,104,106,105,107,108,109,110,111,112,113,114,115,116,117,118,119,121,120,122,124,123,125,126,127,128,129,130,131,132,134,82,135,133,136,138,137,139,141,140,262,263,157,216,265,260,266,267,268,259,270,264,78,29,31,79,32,33,34,35,36,37,38,39,40,41,42,43,44,45,30,75,46,47,48,80,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,77,67,68,69,70,71,72,76,73,74,271,276,272,275,261,277,278,274,240,241,217,220,238,239,229,228,256,222,234,232,236,221,233,237,223,224,235,218,225,226,227,231,242,230,219,255,254,249,251,250,243,244,246,248,252,253,245,247,156,269,279,145,148,160,149,162,150,151,152,153,163,158,154,161,155,159,144,203,214,204,205,206,207,208,209,210,211,212,213,197,196,215,199,202,198,164,143,273,6,8,7,2,9,10,11,12,13,14,15,16,3,4,20,17,18,19,21,22,23,5,24,25,26,27,1,28,175,169,174,167,170,168,172,173,166,171,165,195,194,177,187,182,181,193,184,191,183,178,190,192,186,185,188,189,179,180,176,258,257]},"version":"4.3.2"} \ No newline at end of file diff --git a/dist/win32-ia32/dcd-client.exe b/dist/win32-ia32/dcd-client.exe index 08aa05f..41272c8 100644 Binary files a/dist/win32-ia32/dcd-client.exe and b/dist/win32-ia32/dcd-client.exe differ diff --git a/dist/win32-ia32/dcd-server.exe b/dist/win32-ia32/dcd-server.exe index 77d16a8..0a4c3fb 100644 Binary files a/dist/win32-ia32/dcd-server.exe and b/dist/win32-ia32/dcd-server.exe differ diff --git a/dist/win32-ia32/serve-d.exe b/dist/win32-ia32/serve-d.exe index eb87434..d0b7583 100644 Binary files a/dist/win32-ia32/serve-d.exe and b/dist/win32-ia32/serve-d.exe differ diff --git a/dist/win32-x64/dcd-client.exe b/dist/win32-x64/dcd-client.exe index 7bac8ea..d9038b7 100644 Binary files a/dist/win32-x64/dcd-client.exe and b/dist/win32-x64/dcd-client.exe differ diff --git a/dist/win32-x64/dcd-server.exe b/dist/win32-x64/dcd-server.exe index f8b00c9..257e4dc 100644 Binary files a/dist/win32-x64/dcd-server.exe and b/dist/win32-x64/dcd-server.exe differ diff --git a/dist/win32-x64/serve-d.exe b/dist/win32-x64/serve-d.exe index fac9673..9c4211f 100644 Binary files a/dist/win32-x64/serve-d.exe and b/dist/win32-x64/serve-d.exe differ diff --git a/package.json b/package.json index 3d44f99..c9cff90 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ide-d", "main": "./dist/ide-d.js", - "version": "0.4.0", + "version": "0.5.0", "description": "D language and IDE support for Atom", "keywords": [ "d",