12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655 |
- (function webpackUniversalModuleDefinition(root, factory) {
- if(typeof exports === 'object' && typeof module === 'object')
- module.exports = factory();
- else if(typeof define === 'function' && define.amd)
- define([], factory);
- else if(typeof exports === 'object')
- exports["tauri"] = factory();
- else
- root["tauri"] = factory();
- })(this, function() {
- return /******/ (() => { // webpackBootstrap
- /******/ var __webpack_modules__ = ({
- /***/ "../cli.rs/Cargo.toml":
- /*!****************************!*\
- !*** ../cli.rs/Cargo.toml ***!
- \****************************/
- /***/ ((module) => {
- module.exports = {
- "workspace": {},
- "package": {
- "name": "tauri-cli",
- "version": "1.0.0-beta.5",
- "authors": [
- "Tauri Programme within The Commons Conservancy"
- ],
- "edition": "2018",
- "categories": [
- "gui",
- "web-programming"
- ],
- "license": "Apache-2.0 OR MIT",
- "homepage": "https://tauri.studio",
- "repository": "https://github.com/tauri-apps/tauri",
- "description": "Command line interface for building Tauri apps",
- "include": [
- "src/",
- "/templates",
- "MergeModules/",
- "*.json",
- "*.rs"
- ]
- },
- "bin": [
- {
- "name": "cargo-tauri",
- "path": "src/main.rs"
- }
- ],
- "dependencies": {
- "clap": {
- "version": "3.0.0-beta.2",
- "features": [
- "yaml"
- ]
- },
- "anyhow": "1.0",
- "tauri-bundler": {
- "version": "1.0.0-beta.3",
- "path": "../bundler"
- },
- "colored": "2.0",
- "once_cell": "1.8",
- "serde": {
- "version": "1.0",
- "features": [
- "derive"
- ]
- },
- "serde_json": "1.0",
- "serde_with": "1.9",
- "notify": "4.0",
- "shared_child": "0.3",
- "toml_edit": "0.2",
- "json-patch": "0.2",
- "schemars": "0.8",
- "toml": "0.5",
- "valico": "3.6",
- "handlebars": "4.1",
- "include_dir": "0.6",
- "minisign": "0.6",
- "base64": "0.13.0",
- "ureq": "2.1",
- "os_info": "3.0",
- "semver": "1.0",
- "regex": "1.5",
- "lazy_static": "1",
- "libc": "0.2",
- "terminal_size": "0.1",
- "unicode-width": "0.1",
- "tempfile": "3",
- "zeroize": "1.3"
- },
- "target": {
- "cfg(windows)": {
- "dependencies": {
- "winapi": {
- "version": "0.3",
- "features": [
- "winbase",
- "winuser",
- "consoleapi",
- "processenv",
- "wincon"
- ]
- },
- "encode_unicode": "0.3"
- }
- },
- "cfg(target_os = \"linux\")": {
- "dependencies": {
- "heck": "0.3"
- }
- }
- },
- "build-dependencies": {
- "schemars": "0.8",
- "serde": {
- "version": "1.0",
- "features": [
- "derive"
- ]
- },
- "serde_json": "1.0",
- "serde_with": "1.9"
- }
- }
- /***/ }),
- /***/ "./src/api/dependency-manager/cargo-crates.ts":
- /*!****************************************************!*\
- !*** ./src/api/dependency-manager/cargo-crates.ts ***!
- \****************************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
- to[j] = from[i];
- return to;
- };
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.update = exports.install = void 0;
- var spawn_1 = __webpack_require__(/*! ./../../helpers/spawn */ "./src/helpers/spawn.ts");
- var types_1 = __webpack_require__(/*! ./types */ "./src/api/dependency-manager/types.ts");
- var util_1 = __webpack_require__(/*! ./util */ "./src/api/dependency-manager/util.ts");
- var logger_1 = __importDefault(__webpack_require__(/*! ../../helpers/logger */ "./src/helpers/logger.ts"));
- var app_paths_1 = __webpack_require__(/*! ../../helpers/app-paths */ "./src/helpers/app-paths.ts");
- var fs_1 = __webpack_require__(/*! fs */ "fs");
- var toml_1 = __importDefault(__webpack_require__(/*! @tauri-apps/toml */ "@tauri-apps/toml"));
- var inquirer_1 = __importDefault(__webpack_require__(/*! inquirer */ "inquirer"));
- var log = logger_1.default('dependency:crates');
- var dependencies = ['tauri'];
- function readToml(tomlPath) {
- if (fs_1.existsSync(tomlPath)) {
- var manifest = fs_1.readFileSync(tomlPath).toString();
- return toml_1.default.parse(manifest);
- }
- return null;
- }
- function dependencyDefinition(version) {
- return { version: version.substring(0, version.lastIndexOf('.')) };
- }
- function manageDependencies(managementType) {
- return __awaiter(this, void 0, void 0, function () {
- var installedDeps, updatedDeps, result, manifest, lockPath, lock, _loop_1, _i, dependencies_1, dependency;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- installedDeps = [];
- updatedDeps = [];
- result = new Map();
- manifest = readToml(app_paths_1.resolve.tauri('Cargo.toml'));
- if (manifest === null) {
- log('Cargo.toml not found. Skipping crates check...');
- return [2 /*return*/, result];
- }
- lockPath = app_paths_1.resolve.tauri('Cargo.lock');
- if (!fs_1.existsSync(lockPath)) {
- spawn_1.spawnSync('cargo', ['generate-lockfile'], app_paths_1.tauriDir);
- }
- lock = readToml(lockPath);
- _loop_1 = function (dependency) {
- var lockPackages, manifestDep, currentVersion, latestVersion, latestVersion, inquired;
- return __generator(this, function (_b) {
- switch (_b.label) {
- case 0:
- lockPackages = lock
- ? lock.package.filter(function (pkg) { return pkg.name === dependency; })
- : [];
- manifestDep = manifest.dependencies[dependency];
- currentVersion = lockPackages.length === 1
- ? lockPackages[0].version
- : typeof manifestDep === 'string'
- ? manifestDep
- : manifestDep === null || manifestDep === void 0 ? void 0 : manifestDep.version;
- if (!(currentVersion === undefined)) return [3 /*break*/, 1];
- log("Installing " + dependency + "...");
- latestVersion = util_1.getCrateLatestVersion(dependency);
- if (latestVersion !== null) {
- // eslint-disable-next-line security/detect-object-injection
- manifest.dependencies[dependency] = dependencyDefinition(latestVersion);
- }
- installedDeps.push(dependency);
- return [3 /*break*/, 6];
- case 1:
- if (!(managementType === types_1.ManagementType.Update)) return [3 /*break*/, 5];
- latestVersion = util_1.getCrateLatestVersion(dependency);
- if (!(latestVersion !== null && util_1.semverLt(currentVersion, latestVersion))) return [3 /*break*/, 3];
- return [4 /*yield*/, inquirer_1.default.prompt([
- {
- type: 'confirm',
- name: 'answer',
- message: "[CRATES] \"" + dependency + "\" latest version is " + latestVersion + ". Do you want to update?",
- default: false
- }
- ])];
- case 2:
- inquired = (_b.sent());
- if (inquired.answer) {
- log("Updating " + dependency + "...");
- // eslint-disable-next-line security/detect-object-injection
- manifest.dependencies[dependency] =
- dependencyDefinition(latestVersion);
- updatedDeps.push(dependency);
- }
- return [3 /*break*/, 4];
- case 3:
- log("\"" + dependency + "\" is up to date");
- _b.label = 4;
- case 4: return [3 /*break*/, 6];
- case 5:
- log("\"" + dependency + "\" is already installed");
- _b.label = 6;
- case 6: return [2 /*return*/];
- }
- });
- };
- _i = 0, dependencies_1 = dependencies;
- _a.label = 1;
- case 1:
- if (!(_i < dependencies_1.length)) return [3 /*break*/, 4];
- dependency = dependencies_1[_i];
- return [5 /*yield**/, _loop_1(dependency)];
- case 2:
- _a.sent();
- _a.label = 3;
- case 3:
- _i++;
- return [3 /*break*/, 1];
- case 4:
- if (installedDeps.length || updatedDeps.length) {
- fs_1.writeFileSync(app_paths_1.resolve.tauri('Cargo.toml'), toml_1.default.stringify(manifest));
- }
- if (updatedDeps.length) {
- if (!fs_1.existsSync(app_paths_1.resolve.tauri('Cargo.lock'))) {
- spawn_1.spawnSync('cargo', ['generate-lockfile'], app_paths_1.tauriDir);
- }
- spawn_1.spawnSync('cargo', __spreadArray([
- 'update',
- '--aggressive'
- ], updatedDeps.reduce(function (initialValue, dep) { return __spreadArray(__spreadArray([], initialValue), ['-p', dep]); }, [])), app_paths_1.tauriDir);
- }
- result.set(types_1.ManagementType.Install, installedDeps);
- result.set(types_1.ManagementType.Update, updatedDeps);
- return [2 /*return*/, result];
- }
- });
- });
- }
- function install() {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Install)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.install = install;
- function update() {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Update)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.update = update;
- /***/ }),
- /***/ "./src/api/dependency-manager/index.ts":
- /*!*********************************************!*\
- !*** ./src/api/dependency-manager/index.ts ***!
- \*********************************************/
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- 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 __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;
- };
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- var logger_1 = __importDefault(__webpack_require__(/*! ../../helpers/logger */ "./src/helpers/logger.ts"));
- var rust = __importStar(__webpack_require__(/*! ./rust */ "./src/api/dependency-manager/rust.ts"));
- var cargoCrates = __importStar(__webpack_require__(/*! ./cargo-crates */ "./src/api/dependency-manager/cargo-crates.ts"));
- var npmPackages = __importStar(__webpack_require__(/*! ./npm-packages */ "./src/api/dependency-manager/npm-packages.ts"));
- var log = logger_1.default('dependency:manager');
- module.exports = {
- installDependencies: function () {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- log('Installing missing dependencies...');
- return [4 /*yield*/, rust.install()];
- case 1:
- _a.sent();
- return [4 /*yield*/, cargoCrates.install()];
- case 2:
- _a.sent();
- return [4 /*yield*/, npmPackages.install()];
- case 3:
- _a.sent();
- return [2 /*return*/];
- }
- });
- });
- },
- updateDependencies: function () {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- log('Updating dependencies...');
- return [4 /*yield*/, rust.update()];
- case 1:
- _a.sent();
- return [4 /*yield*/, cargoCrates.update()];
- case 2:
- _a.sent();
- return [4 /*yield*/, npmPackages.update()];
- case 3:
- _a.sent();
- return [2 /*return*/];
- }
- });
- });
- }
- };
- /***/ }),
- /***/ "./src/api/dependency-manager/managers/index.ts":
- /*!******************************************************!*\
- !*** ./src/api/dependency-manager/managers/index.ts ***!
- \******************************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "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 __exportStar = (this && this.__exportStar) || function(m, exports) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- __exportStar(__webpack_require__(/*! ./yarn-manager */ "./src/api/dependency-manager/managers/yarn-manager.ts"), exports);
- __exportStar(__webpack_require__(/*! ./npm-manager */ "./src/api/dependency-manager/managers/npm-manager.ts"), exports);
- __exportStar(__webpack_require__(/*! ./pnpm-manager */ "./src/api/dependency-manager/managers/pnpm-manager.ts"), exports);
- __exportStar(__webpack_require__(/*! ./types */ "./src/api/dependency-manager/managers/types.ts"), exports);
- /***/ }),
- /***/ "./src/api/dependency-manager/managers/npm-manager.ts":
- /*!************************************************************!*\
- !*** ./src/api/dependency-manager/managers/npm-manager.ts ***!
- \************************************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- "use strict";
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.NpmManager = void 0;
- var cross_spawn_1 = __webpack_require__(/*! cross-spawn */ "cross-spawn");
- var spawn_1 = __webpack_require__(/*! ../../../helpers/spawn */ "./src/helpers/spawn.ts");
- var app_paths_1 = __webpack_require__(/*! ../../../helpers/app-paths */ "./src/helpers/app-paths.ts");
- var NpmManager = /** @class */ (function () {
- function NpmManager() {
- this.type = 'npm';
- }
- NpmManager.prototype.installPackage = function (packageName) {
- spawn_1.spawnSync('npm', ['install', packageName], app_paths_1.appDir);
- };
- NpmManager.prototype.installDevPackage = function (packageName) {
- spawn_1.spawnSync('npm', ['install', packageName, '--save-dev'], app_paths_1.appDir);
- };
- NpmManager.prototype.updatePackage = function (packageName) {
- spawn_1.spawnSync('npm', ['install', packageName + "@latest"], app_paths_1.appDir);
- };
- NpmManager.prototype.getPackageVersion = function (packageName) {
- var child = cross_spawn_1.sync('npm', ['list', packageName, 'version', '--depth', '0'], {
- cwd: app_paths_1.appDir
- });
- var output = String(child.output[1]);
- // eslint-disable-next-line security/detect-non-literal-regexp
- var matches = new RegExp(packageName + '@(\\S+)', 'g').exec(output);
- if (matches === null || matches === void 0 ? void 0 : matches[1]) {
- return matches[1];
- }
- else {
- return null;
- }
- };
- NpmManager.prototype.getLatestVersion = function (packageName) {
- var child = cross_spawn_1.sync('npm', ['show', packageName, 'version'], {
- cwd: app_paths_1.appDir
- });
- return String(child.output[1]).replace('\n', '');
- };
- return NpmManager;
- }());
- exports.NpmManager = NpmManager;
- /***/ }),
- /***/ "./src/api/dependency-manager/managers/pnpm-manager.ts":
- /*!*************************************************************!*\
- !*** ./src/api/dependency-manager/managers/pnpm-manager.ts ***!
- \*************************************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- "use strict";
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.PnpmManager = void 0;
- var cross_spawn_1 = __webpack_require__(/*! cross-spawn */ "cross-spawn");
- var spawn_1 = __webpack_require__(/*! ../../../helpers/spawn */ "./src/helpers/spawn.ts");
- var app_paths_1 = __webpack_require__(/*! ../../../helpers/app-paths */ "./src/helpers/app-paths.ts");
- var PnpmManager = /** @class */ (function () {
- function PnpmManager() {
- this.type = 'pnpm';
- }
- PnpmManager.prototype.installPackage = function (packageName) {
- spawn_1.spawnSync('pnpm', ['add', packageName], app_paths_1.appDir);
- };
- PnpmManager.prototype.installDevPackage = function (packageName) {
- spawn_1.spawnSync('pnpm', ['add', packageName, '--save-dev'], app_paths_1.appDir);
- };
- PnpmManager.prototype.updatePackage = function (packageName) {
- spawn_1.spawnSync('pnpm', ['add', packageName + "@latest"], app_paths_1.appDir);
- };
- PnpmManager.prototype.getPackageVersion = function (packageName) {
- var child = cross_spawn_1.sync('pnpm', ['list', packageName, 'version', '--depth', '0'], {
- cwd: app_paths_1.appDir
- });
- var output = String(child.output[1]);
- // eslint-disable-next-line security/detect-non-literal-regexp
- var matches = new RegExp(packageName + ' (\\S+)', 'g').exec(output);
- if (matches === null || matches === void 0 ? void 0 : matches[1]) {
- return matches[1];
- }
- else {
- return null;
- }
- };
- PnpmManager.prototype.getLatestVersion = function (packageName) {
- var child = cross_spawn_1.sync('pnpm', ['info', packageName, 'version'], {
- cwd: app_paths_1.appDir
- });
- return String(child.output[1]).replace('\n', '');
- };
- return PnpmManager;
- }());
- exports.PnpmManager = PnpmManager;
- /***/ }),
- /***/ "./src/api/dependency-manager/managers/types.ts":
- /*!******************************************************!*\
- !*** ./src/api/dependency-manager/managers/types.ts ***!
- \******************************************************/
- /***/ ((__unused_webpack_module, exports) => {
- "use strict";
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- /***/ }),
- /***/ "./src/api/dependency-manager/managers/yarn-manager.ts":
- /*!*************************************************************!*\
- !*** ./src/api/dependency-manager/managers/yarn-manager.ts ***!
- \*************************************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- "use strict";
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.YarnManager = void 0;
- var cross_spawn_1 = __webpack_require__(/*! cross-spawn */ "cross-spawn");
- var spawn_1 = __webpack_require__(/*! ../../../helpers/spawn */ "./src/helpers/spawn.ts");
- var app_paths_1 = __webpack_require__(/*! ../../../helpers/app-paths */ "./src/helpers/app-paths.ts");
- var YarnManager = /** @class */ (function () {
- function YarnManager() {
- this.type = 'yarn';
- }
- YarnManager.prototype.installPackage = function (packageName) {
- spawn_1.spawnSync('yarn', ['add', packageName], app_paths_1.appDir);
- };
- YarnManager.prototype.installDevPackage = function (packageName) {
- spawn_1.spawnSync('yarn', ['add', packageName, '--dev'], app_paths_1.appDir);
- };
- YarnManager.prototype.updatePackage = function (packageName) {
- spawn_1.spawnSync('yarn', ['upgrade', packageName, '--latest'], app_paths_1.appDir);
- };
- YarnManager.prototype.getPackageVersion = function (packageName) {
- var child = cross_spawn_1.sync('yarn', ['list', '--pattern', packageName, '--depth', '0'], { cwd: app_paths_1.appDir });
- var output = String(child.output[1]);
- // eslint-disable-next-line security/detect-non-literal-regexp
- var matches = new RegExp(packageName + '@(\\S+)', 'g').exec(output);
- if (matches === null || matches === void 0 ? void 0 : matches[1]) {
- return matches[1];
- }
- else {
- return null;
- }
- };
- YarnManager.prototype.getLatestVersion = function (packageName) {
- var child = cross_spawn_1.sync('yarn', ['info', packageName, 'version', '--json'], { cwd: app_paths_1.appDir });
- var output = String(child.output[1]);
- var packageJson = JSON.parse(output);
- return packageJson.data;
- };
- return YarnManager;
- }());
- exports.YarnManager = YarnManager;
- /***/ }),
- /***/ "./src/api/dependency-manager/npm-packages.ts":
- /*!****************************************************!*\
- !*** ./src/api/dependency-manager/npm-packages.ts ***!
- \****************************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.update = exports.installTheseDev = exports.installThese = exports.install = void 0;
- var types_1 = __webpack_require__(/*! ./types */ "./src/api/dependency-manager/types.ts");
- var util_1 = __webpack_require__(/*! ./util */ "./src/api/dependency-manager/util.ts");
- var logger_1 = __importDefault(__webpack_require__(/*! ../../helpers/logger */ "./src/helpers/logger.ts"));
- var app_paths_1 = __webpack_require__(/*! ../../helpers/app-paths */ "./src/helpers/app-paths.ts");
- var inquirer_1 = __importDefault(__webpack_require__(/*! inquirer */ "inquirer"));
- var fs_1 = __webpack_require__(/*! fs */ "fs");
- var cross_spawn_1 = __webpack_require__(/*! cross-spawn */ "cross-spawn");
- var log = logger_1.default('dependency:npm-packages');
- function manageDependencies(managementType, dependencies) {
- var _a, _b, _c;
- return __awaiter(this, void 0, void 0, function () {
- var installedDeps, updatedDeps, npmChild, yarnChild, pnpmChild, _i, dependencies_1, dependency, currentVersion, packageManager, prefix, inquired, latestVersion, inquired, result;
- return __generator(this, function (_d) {
- switch (_d.label) {
- case 0:
- installedDeps = [];
- updatedDeps = [];
- npmChild = cross_spawn_1.sync('npm', ['--version']);
- yarnChild = cross_spawn_1.sync('yarn', ['--version']);
- pnpmChild = cross_spawn_1.sync('pnpm', ['--version']);
- if (((_a = npmChild.status) !== null && _a !== void 0 ? _a : npmChild.error) &&
- ((_b = yarnChild.status) !== null && _b !== void 0 ? _b : yarnChild.error) &&
- ((_c = pnpmChild.status) !== null && _c !== void 0 ? _c : pnpmChild.error)) {
- throw new Error('must have installed one of the following package managers `npm`, `yarn`, `pnpm` to manage dependenices');
- }
- if (!fs_1.existsSync(app_paths_1.resolve.app('package.json'))) return [3 /*break*/, 10];
- _i = 0, dependencies_1 = dependencies;
- _d.label = 1;
- case 1:
- if (!(_i < dependencies_1.length)) return [3 /*break*/, 10];
- dependency = dependencies_1[_i];
- currentVersion = util_1.getNpmPackageVersion(dependency);
- packageManager = util_1.getManager().type.toUpperCase();
- if (!(currentVersion === null)) return [3 /*break*/, 4];
- log("Installing " + dependency + "...");
- if (!(managementType === types_1.ManagementType.Install ||
- managementType === types_1.ManagementType.InstallDev)) return [3 /*break*/, 3];
- prefix = managementType === types_1.ManagementType.InstallDev
- ? ' as dev-dependency'
- : '';
- return [4 /*yield*/, inquirer_1.default.prompt([
- {
- type: 'confirm',
- name: 'answer',
- message: "[" + packageManager + "]: \"Do you want to install " + dependency + prefix + "?\"",
- default: false
- }
- ])];
- case 2:
- inquired = _d.sent();
- if (inquired.answer) {
- if (managementType === types_1.ManagementType.Install) {
- util_1.installNpmPackage(dependency);
- }
- else if (managementType === types_1.ManagementType.InstallDev) {
- util_1.installNpmDevPackage(dependency);
- }
- installedDeps.push(dependency);
- }
- _d.label = 3;
- case 3: return [3 /*break*/, 9];
- case 4:
- if (!(managementType === types_1.ManagementType.Update)) return [3 /*break*/, 8];
- latestVersion = util_1.getNpmLatestVersion(dependency);
- if (!util_1.semverLt(currentVersion, latestVersion)) return [3 /*break*/, 6];
- return [4 /*yield*/, inquirer_1.default.prompt([
- {
- type: 'confirm',
- name: 'answer',
- message: "[" + packageManager + "]: \"" + dependency + "\" latest version is " + latestVersion + ". Do you want to update?",
- default: false
- }
- ])];
- case 5:
- inquired = _d.sent();
- if (inquired.answer) {
- log("Updating " + dependency + "...");
- util_1.updateNpmPackage(dependency);
- updatedDeps.push(dependency);
- }
- return [3 /*break*/, 7];
- case 6:
- log("\"" + dependency + "\" is up to date");
- _d.label = 7;
- case 7: return [3 /*break*/, 9];
- case 8:
- log("\"" + dependency + "\" is already installed");
- _d.label = 9;
- case 9:
- _i++;
- return [3 /*break*/, 1];
- case 10:
- result = new Map();
- result.set(types_1.ManagementType.Install, installedDeps);
- result.set(types_1.ManagementType.Update, updatedDeps);
- return [2 /*return*/, result];
- }
- });
- });
- }
- var dependencies = ['@tauri-apps/api', '@tauri-apps/cli'];
- function install() {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Install, dependencies)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.install = install;
- function installThese(dependencies) {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Install, dependencies)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.installThese = installThese;
- function installTheseDev(dependencies) {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.InstallDev, dependencies)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.installTheseDev = installTheseDev;
- function update() {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Update, dependencies)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.update = update;
- /***/ }),
- /***/ "./src/api/dependency-manager/rust.ts":
- /*!********************************************!*\
- !*** ./src/api/dependency-manager/rust.ts ***!
- \********************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.update = exports.install = void 0;
- var types_1 = __webpack_require__(/*! ./types */ "./src/api/dependency-manager/types.ts");
- var spawn_1 = __webpack_require__(/*! ../../helpers/spawn */ "./src/helpers/spawn.ts");
- var get_script_version_1 = __importDefault(__webpack_require__(/*! ../../helpers/get-script-version */ "./src/helpers/get-script-version.ts"));
- var download_binary_1 = __webpack_require__(/*! ../../helpers/download-binary */ "./src/helpers/download-binary.ts");
- var logger_1 = __importDefault(__webpack_require__(/*! ../../helpers/logger */ "./src/helpers/logger.ts"));
- var fs_1 = __webpack_require__(/*! fs */ "fs");
- var path_1 = __webpack_require__(/*! path */ "path");
- var os_1 = __webpack_require__(/*! os */ "os");
- var https_1 = __importDefault(__webpack_require__(/*! https */ "https"));
- var log = logger_1.default('dependency:rust');
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- function download(url, dest) {
- return __awaiter(this, void 0, void 0, function () {
- var file;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- file = fs_1.createWriteStream(dest);
- return [4 /*yield*/, new Promise(function (resolve, reject) {
- https_1.default
- .get(url, function (response) {
- response.pipe(file);
- file.on('finish', function () {
- file.close();
- resolve();
- });
- })
- .on('error', function (err) {
- fs_1.unlinkSync(dest);
- reject(err.message);
- });
- })];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- function installRustup() {
- return __awaiter(this, void 0, void 0, function () {
- var assetName, rustupPath;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- assetName = os_1.platform() === 'win32' ? 'rustup-init.exe' : 'rustup-init.sh';
- rustupPath = path_1.resolve(__dirname, "../../bin/" + assetName);
- if (!!fs_1.existsSync(rustupPath)) return [3 /*break*/, 2];
- return [4 /*yield*/, download_binary_1.downloadRustup()];
- case 1:
- _a.sent();
- _a.label = 2;
- case 2:
- if (os_1.platform() === 'win32') {
- return [2 /*return*/, spawn_1.spawnSync('powershell', ['-NoProfile', rustupPath], process.cwd())];
- }
- return [2 /*return*/, spawn_1.spawnSync('/bin/sh', [rustupPath], process.cwd())];
- }
- });
- });
- }
- function manageDependencies(managementType) {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- if (!(get_script_version_1.default('rustup') === null)) return [3 /*break*/, 2];
- log('Installing rustup...');
- return [4 /*yield*/, installRustup()];
- case 1:
- _a.sent();
- _a.label = 2;
- case 2:
- if (managementType === types_1.ManagementType.Update) {
- spawn_1.spawnSync('rustup', ['update'], process.cwd());
- }
- return [2 /*return*/];
- }
- });
- });
- }
- function install() {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Install)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.install = install;
- function update() {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, manageDependencies(types_1.ManagementType.Update)];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.update = update;
- /***/ }),
- /***/ "./src/api/dependency-manager/types.ts":
- /*!*********************************************!*\
- !*** ./src/api/dependency-manager/types.ts ***!
- \*********************************************/
- /***/ ((__unused_webpack_module, exports) => {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.ManagementType = void 0;
- var ManagementType;
- (function (ManagementType) {
- ManagementType[ManagementType["Install"] = 0] = "Install";
- ManagementType[ManagementType["InstallDev"] = 1] = "InstallDev";
- ManagementType[ManagementType["Update"] = 2] = "Update";
- })(ManagementType = exports.ManagementType || (exports.ManagementType = {}));
- /***/ }),
- /***/ "./src/api/dependency-manager/util.ts":
- /*!********************************************!*\
- !*** ./src/api/dependency-manager/util.ts ***!
- \********************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.semverLt = exports.padVersion = exports.updateNpmPackage = exports.installNpmDevPackage = exports.installNpmPackage = exports.getNpmPackageVersion = exports.getNpmLatestVersion = exports.getCrateLatestVersion = exports.getManager = void 0;
- var cross_spawn_1 = __webpack_require__(/*! cross-spawn */ "cross-spawn");
- var app_paths_1 = __webpack_require__(/*! ../../helpers/app-paths */ "./src/helpers/app-paths.ts");
- var fs_1 = __webpack_require__(/*! fs */ "fs");
- // import semver from 'semver'
- var managers_1 = __webpack_require__(/*! ./managers */ "./src/api/dependency-manager/managers/index.ts");
- var getManager = function () {
- if (fs_1.existsSync(app_paths_1.resolve.app('yarn.lock'))) {
- return new managers_1.YarnManager();
- }
- else if (fs_1.existsSync(app_paths_1.resolve.app('pnpm-lock.yaml'))) {
- return new managers_1.PnpmManager();
- }
- else {
- return new managers_1.NpmManager();
- }
- };
- exports.getManager = getManager;
- function getCrateLatestVersion(crateName) {
- var child = cross_spawn_1.sync('cargo', ['search', crateName, '--limit', '1']);
- var output = String(child.output[1]);
- // eslint-disable-next-line security/detect-non-literal-regexp
- var matches = new RegExp(crateName + ' = "(\\S+)"', 'g').exec(output);
- if (matches === null || matches === void 0 ? void 0 : matches[1]) {
- return matches[1];
- }
- else {
- return null;
- }
- }
- exports.getCrateLatestVersion = getCrateLatestVersion;
- function getNpmLatestVersion(packageName) {
- return getManager().getLatestVersion(packageName);
- }
- exports.getNpmLatestVersion = getNpmLatestVersion;
- function getNpmPackageVersion(packageName) {
- return getManager().getPackageVersion(packageName);
- }
- exports.getNpmPackageVersion = getNpmPackageVersion;
- function installNpmPackage(packageName) {
- return getManager().installPackage(packageName);
- }
- exports.installNpmPackage = installNpmPackage;
- function installNpmDevPackage(packageName) {
- return getManager().installDevPackage(packageName);
- }
- exports.installNpmDevPackage = installNpmDevPackage;
- function updateNpmPackage(packageName) {
- return getManager().updatePackage(packageName);
- }
- exports.updateNpmPackage = updateNpmPackage;
- function padVersion(version) {
- var _a;
- var count = ((_a = version.match(/\./g)) !== null && _a !== void 0 ? _a : []).length;
- while (count < 2) {
- count++;
- version += '.0';
- }
- return version;
- }
- exports.padVersion = padVersion;
- function semverLt(first, second) {
- return first !== second;
- // TODO: When version 1.0.0 is released this code should work again
- // return semver.lt(padVersion(first), padVersion(second))
- }
- exports.semverLt = semverLt;
- /***/ }),
- /***/ "./src/helpers/app-paths.ts":
- /*!**********************************!*\
- !*** ./src/helpers/app-paths.ts ***!
- \**********************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.resolve = exports.tauriDir = exports.appDir = void 0;
- var fs_1 = __webpack_require__(/*! fs */ "fs");
- var path_1 = __webpack_require__(/*! path */ "path");
- var logger_1 = __importDefault(__webpack_require__(/*! ./logger */ "./src/helpers/logger.ts"));
- var chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk"));
- var warn = logger_1.default('tauri', chalk_1.default.red);
- function resolvePath(basePath, dir) {
- return dir && path_1.isAbsolute(dir) ? dir : path_1.resolve(basePath, dir);
- }
- var getAppDir = function () {
- var dir = process.cwd();
- var count = 0;
- // only go up three folders max
- while (dir.length > 0 && !dir.endsWith(path_1.sep) && count <= 2) {
- if (fs_1.existsSync(path_1.join(dir, 'src-tauri', 'tauri.conf.json'))) {
- return dir;
- }
- count++;
- dir = path_1.normalize(path_1.join(dir, '..'));
- }
- warn("Couldn't find recognize the current folder as a part of a Tauri project");
- process.exit(1);
- };
- var appDir = getAppDir();
- exports.appDir = appDir;
- var tauriDir = path_1.resolve(appDir, 'src-tauri');
- exports.tauriDir = tauriDir;
- var resolveDir = {
- app: function (dir) { return resolvePath(appDir, dir); },
- tauri: function (dir) { return resolvePath(tauriDir, dir); }
- };
- exports.resolve = resolveDir;
- /***/ }),
- /***/ "./src/helpers/download-binary.ts":
- /*!****************************************!*\
- !*** ./src/helpers/download-binary.ts ***!
- \****************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.downloadRustup = exports.downloadCli = void 0;
- var stream_1 = __importDefault(__webpack_require__(/*! stream */ "stream"));
- var util_1 = __webpack_require__(/*! util */ "util");
- var fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
- var got_1 = __importDefault(__webpack_require__(/*! got */ "got"));
- var path_1 = __importDefault(__webpack_require__(/*! path */ "path"));
- var pipeline = util_1.promisify(stream_1.default.pipeline);
- // Webpack reads the file at build-time, so this becomes a static var
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access
- var tauriCliManifest = __webpack_require__(/*! ../../../cli.rs/Cargo.toml */ "../cli.rs/Cargo.toml");
- var downloads = {};
- function downloadBinaryRelease(tag, asset, outPath) {
- return __awaiter(this, void 0, void 0, function () {
- var url, removeDownloadedCliIfNeeded;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- url = "https://github.com/tauri-apps/binary-releases/releases/download/" + tag + "/" + asset;
- removeDownloadedCliIfNeeded = function () {
- try {
- if (!(url in downloads)) {
- // eslint-disable-next-line security/detect-non-literal-fs-filename
- fs_1.default.unlinkSync(outPath);
- }
- }
- finally {
- process.exit();
- }
- };
- // on exit, we remove the `tauri-cli` file if the download didn't complete
- process.on('exit', removeDownloadedCliIfNeeded);
- process.on('SIGINT', removeDownloadedCliIfNeeded);
- process.on('SIGTERM', removeDownloadedCliIfNeeded);
- process.on('SIGHUP', removeDownloadedCliIfNeeded);
- process.on('SIGBREAK', removeDownloadedCliIfNeeded);
- // TODO: Check hash of download
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, security/detect-non-literal-fs-filename
- return [4 /*yield*/, pipeline(got_1.default.stream(url), fs_1.default.createWriteStream(outPath)).catch(function (e) {
- try {
- // eslint-disable-next-line security/detect-non-literal-fs-filename
- fs_1.default.unlinkSync(outPath);
- }
- catch (_a) { }
- throw e;
- })
- // eslint-disable-next-line security/detect-object-injection
- ];
- case 1:
- // TODO: Check hash of download
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, security/detect-non-literal-fs-filename
- _a.sent();
- // eslint-disable-next-line security/detect-object-injection
- downloads[url] = true;
- // eslint-disable-next-line security/detect-non-literal-fs-filename
- fs_1.default.chmodSync(outPath, 448);
- console.log('Download Complete');
- return [2 /*return*/];
- }
- });
- });
- }
- function downloadCli() {
- return __awaiter(this, void 0, void 0, function () {
- var version, platform, extension, outPath;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- version = tauriCliManifest.package.version;
- platform = process.platform;
- if (platform === 'win32') {
- platform = 'windows';
- }
- else if (platform === 'linux') {
- platform = 'linux';
- }
- else if (platform === 'darwin') {
- platform = 'macos';
- }
- else {
- throw Error('Unsupported platform');
- }
- extension = platform === 'windows' ? '.exe' : '';
- outPath = path_1.default.join(__dirname, "../../bin/tauri-cli" + extension);
- console.log('Downloading Rust CLI...');
- return [4 /*yield*/, downloadBinaryRelease("tauri-cli-v" + version, "tauri-cli_" + platform + extension, outPath)];
- case 1:
- _a.sent();
- return [2 /*return*/];
- }
- });
- });
- }
- exports.downloadCli = downloadCli;
- function downloadRustup() {
- return __awaiter(this, void 0, void 0, function () {
- var assetName;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- assetName = process.platform === 'win32' ? 'rustup-init.exe' : 'rustup-init.sh';
- console.log('Downloading Rustup...');
- return [4 /*yield*/, downloadBinaryRelease('rustup', assetName, path_1.default.join(__dirname, "../../bin/" + assetName))];
- case 1: return [2 /*return*/, _a.sent()];
- }
- });
- });
- }
- exports.downloadRustup = downloadRustup;
- /***/ }),
- /***/ "./src/helpers/get-script-version.ts":
- /*!*******************************************!*\
- !*** ./src/helpers/get-script-version.ts ***!
- \*******************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
- to[j] = from[i];
- return to;
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- var cross_spawn_1 = __webpack_require__(/*! cross-spawn */ "cross-spawn");
- function getVersion(command, args) {
- if (args === void 0) { args = []; }
- try {
- var child = cross_spawn_1.sync(command, __spreadArray(__spreadArray([], args), ['--version']));
- if (child.status === 0) {
- var output = String(child.output[1]);
- return output.replace(/\n/g, '');
- }
- return null;
- }
- catch (err) {
- return null;
- }
- }
- exports.default = getVersion;
- /***/ }),
- /***/ "./src/helpers/logger.ts":
- /*!*******************************!*\
- !*** ./src/helpers/logger.ts ***!
- \*******************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- var chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk"));
- var ms_1 = __importDefault(__webpack_require__(/*! ms */ "ms"));
- var prevTime;
- exports.default = (function (banner, color) {
- if (color === void 0) { color = chalk_1.default.green; }
- return function (msg) {
- var curr = +new Date();
- var diff = curr - (prevTime || curr);
- prevTime = curr;
- if (msg) {
- console.log(
- // TODO: proper typings for color and banner
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-call
- " " + color(String(banner)) + " " + msg + " " + chalk_1.default.green("+" + ms_1.default(diff)));
- }
- else {
- console.log();
- }
- };
- });
- /***/ }),
- /***/ "./src/helpers/spawn.ts":
- /*!******************************!*\
- !*** ./src/helpers/spawn.ts ***!
- \******************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- "use strict";
- // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
- // SPDX-License-Identifier: Apache-2.0
- // SPDX-License-Identifier: MIT
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", ({ value: true }));
- exports.spawnSync = exports.spawn = void 0;
- var cross_spawn_1 = __importDefault(__webpack_require__(/*! cross-spawn */ "cross-spawn"));
- var logger_1 = __importDefault(__webpack_require__(/*! ./logger */ "./src/helpers/logger.ts"));
- var chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk"));
- var log = logger_1.default('app:spawn');
- var warn = logger_1.default('app:spawn', chalk_1.default.red);
- /*
- Returns pid, takes onClose
- */
- var spawn = function (cmd, params, cwd, onClose) {
- var _a;
- log("Running \"" + cmd + " " + params.join(' ') + "\"");
- log();
- // TODO: move to execa?
- var runner = cross_spawn_1.default(cmd, params, {
- stdio: 'inherit',
- cwd: cwd,
- env: process.env
- });
- runner.on('close', function (code) {
- var _a;
- log();
- if (code) {
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
- log("Command \"" + cmd + "\" failed with exit code: " + code);
- }
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
- onClose && onClose(code !== null && code !== void 0 ? code : 0, (_a = runner.pid) !== null && _a !== void 0 ? _a : 0);
- });
- return (_a = runner.pid) !== null && _a !== void 0 ? _a : 0;
- };
- exports.spawn = spawn;
- /*
- Returns nothing, takes onFail
- */
- var spawnSync = function (cmd, params, cwd, onFail) {
- log("[sync] Running \"" + cmd + " " + params.join(' ') + "\"");
- log();
- var runner = cross_spawn_1.default.sync(cmd, params, {
- stdio: 'inherit',
- cwd: cwd
- });
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
- if (runner.status || runner.error) {
- warn();
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
- warn("\u26A0\uFE0F Command \"" + cmd + "\" failed with exit code: " + runner.status);
- if (runner.status === null) {
- warn("\u26A0\uFE0F Please globally install \"" + cmd + "\"");
- }
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
- onFail && onFail();
- process.exit(1);
- }
- };
- exports.spawnSync = spawnSync;
- /***/ }),
- /***/ "@tauri-apps/toml":
- /*!***********************************!*\
- !*** external "@tauri-apps/toml" ***!
- \***********************************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("@tauri-apps/toml");;
- /***/ }),
- /***/ "chalk":
- /*!************************!*\
- !*** external "chalk" ***!
- \************************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("chalk");;
- /***/ }),
- /***/ "cross-spawn":
- /*!******************************!*\
- !*** external "cross-spawn" ***!
- \******************************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("cross-spawn");;
- /***/ }),
- /***/ "fs":
- /*!*********************!*\
- !*** external "fs" ***!
- \*********************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("fs");;
- /***/ }),
- /***/ "got":
- /*!**********************!*\
- !*** external "got" ***!
- \**********************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("got");;
- /***/ }),
- /***/ "https":
- /*!************************!*\
- !*** external "https" ***!
- \************************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("https");;
- /***/ }),
- /***/ "inquirer":
- /*!***************************!*\
- !*** external "inquirer" ***!
- \***************************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("inquirer");;
- /***/ }),
- /***/ "ms":
- /*!*********************!*\
- !*** external "ms" ***!
- \*********************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("ms");;
- /***/ }),
- /***/ "os":
- /*!*********************!*\
- !*** external "os" ***!
- \*********************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("os");;
- /***/ }),
- /***/ "path":
- /*!***********************!*\
- !*** external "path" ***!
- \***********************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("path");;
- /***/ }),
- /***/ "stream":
- /*!*************************!*\
- !*** external "stream" ***!
- \*************************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("stream");;
- /***/ }),
- /***/ "util":
- /*!***********************!*\
- !*** external "util" ***!
- \***********************/
- /***/ ((module) => {
- "use strict";
- module.exports = require("util");;
- /***/ })
- /******/ });
- /************************************************************************/
- /******/ // The module cache
- /******/ var __webpack_module_cache__ = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/ // Check if module is in cache
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
- /******/ if (cachedModule !== undefined) {
- /******/ return cachedModule.exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = __webpack_module_cache__[moduleId] = {
- /******/ // no module.id needed
- /******/ // no module.loaded needed
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /************************************************************************/
- /******/
- /******/ // startup
- /******/ // Load entry module and return exports
- /******/ // This entry module is referenced by other modules so it can't be inlined
- /******/ var __webpack_exports__ = __webpack_require__("./src/api/dependency-manager/index.ts");
- /******/
- /******/ return __webpack_exports__;
- /******/ })()
- ;
- });
- //# sourceMappingURL=dependency-manager.js.map
|